nuisance is hosted by Hepforge, IPPP Durham
close Warning: Can't synchronize with repository "(default)" ("(default)" is not readable or not a Git repository.). Look in the Trac log for more information.

Changes between Version 26 and Version 27 of HowToNeut


Ignore:
Timestamp:
Feb 27, 2017, 10:29:49 AM (7 years ago)
Author:
Clarence Wret
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HowToNeut

    v26 v27  
    115115
    116116
    117 = Compiling NUISANCE against NEUT =
     117== Compiling NUISANCE against NEUT ==
    118118Once you have a working NEUT installation and generated events (see [#point_compile above], you can link NUISANCE against NEUT.
    119119
    120 To run NUISANCE with NEUT you'll need to specify the `$NEUT_ROOT`, `$CERNLIB` and `$CERN_LEVEL` variables.
    121 
    122 When building, set the environment variables and specify `-DUSE_NEUT=1` when generating the makefiles with `cmake`. Do:
     120=== Environment variables ===
     121To run NUISANCE with NEUT you'll need to provide environment variables `$NEUT_ROOT`, `$CERNLIB` and `$CERN_LEVEL`.
     122
     123When building, set the environment variables and specify `-DUSE_NEUT=1` when generating the makefiles with `cmake`.
     124
     125=== Compiling ===
    123126
    124127{{{
     
    133136}}}
    134137
    135 For multiple generator support (e.g. NEUT and GENIE enabled), simply set the environment variables for the generators, and compile with
     138For multiple generator support (e.g. NEUT and GENIE enabled), set the environment variables for the other generators, and compile with
    136139
    137140{{{
     
    142145
    143146
    144 = NEUT inputs for NUISANCE =
    145 
    146 The output of `neutroot2`, contains a ROOT file containing `nevents` `neutvect` objects which has all the information about each event in it. This is read in by NUISANCE to generate predictions. `neutroot2` also saves the predicted flux (`flux_numu`) and event rate (`evtrt_numu`) predictions automatically into the output file so NUISANCE already has everything it needs.
    147 
    148 To read NEUT inputs the NEUT type just needs to be specified in the NUISANCE input card file, e.g. for MiniBooNE CCQE
     147== NEUT inputs for NUISANCE ==
     148
     149=== NEUT output required by NUISANCE ===
     150The output of `neutroot2`, contains a ROOT file containing `nevents` `neutvect` objects which has all the information about each event in it. This is read in by NUISANCE to generate predictions.
     151
     152`neutroot2` also saves the predicted flux (`flux_numu`) and event rate (`evtrt_numu`) predictions into the output file, which NUISANCE also uses to convert event rates into cross-sections.
     153
     154=== Using NEUT events with NUISANCE ===
     155To read NEUT inputs the generator needs to be specified in the NUISANCE input card file when specifying a sample. e.g. for MiniBooNE CCQE
    149156
    150157{{{
     
    153160
    154161
    155 = Using NEUT !ReWeight =
    156 NUISANCE has full support of running NEUT with its reweighting engine. We can generate error-bands, perform generator tunings to specific data-sets, and so on all through NUISANCE.
    157 
    158 == Compiling the reweight classes in NEUT ==
    159 To compile NEUT's reweighting engine, make sure you've got the main executables compiled (see [#point_compile above]), and
     162== Using NEUT !ReWeight with NUISANCE ==
     163NUISANCE has full support of running NEUT with its reweighting library.
     164
     165Users can generate error-bands, perform generator tunings to specific data-sets, and so on all through NUISANCE.
     166
     167=== Compiling the reweight classes in NEUT ===
     168To compile NEUT's reweighting engine, make sure you've got the main executables compiled (see [#point_compile above]), set your `$ROOTSYS` environment varaible and do
    160169
    161170{{{
     
    165174}}}
    166175
    167 to compile the reweighting engine.
    168 
    169 == Running NUISANCE with NEUT !ReWeight ==
     176to compile the reweighting engine on top of NEUT itself.
     177
     178=== Running NUISANCE with NEUT !ReWeight ===
    170179{{{
    171180#!div class="important"
     
    173182}}}
    174183
    175 The syntax for running NEUT with reweighting in NUISANCE is very similar to how it's done in [wiki:HowToGenie GENIE] and [wiki:HowToNuWro NuWro] too.
    176 
    177 The user specifies the parameter(s) and the range which should be varied as:
     184The syntax for running NEUT with reweighting in NUISANCE is very similar to how it's done in [wiki:HowToGenie GENIE] and [wiki:HowToNuWro NuWro].
     185
     186The user specifies the parameter(s) and the range which should be varied in the card file as:
    178187
    179188{{{
     
    183192where `MaCCQE` is the parameter to be varied, `0.0` is the starting values, `-4.0` is the minimum value, `4.0` is the maximum value, `1.0` is the step-size to take, and `FREE` means the parameter is free to vary in the minimisation.
    184193
    185 We can also specify `FIX` for the parameters if we want to reweight a systematic parameter to some value other than nominal and keep it there. This is useful for using best-fit parameter constraints from one experiment to predict another experiment (e.g. fit to MiniBooNE and predict MINERvA data, or fit to bubble-chamber data to predict T2K data).
    186 
    187 The whole list of parameters can be found in `$NEUT_ROOT/src/reweight/NSyst.h` and the `return`ed `std::string`s (e.g. `MaCCQE` and `CA5RES`).
     194We can also specify `FIX` for the parameters if we want to reweight a systematic parameter to some value other than nominal and keep it there.
    188195
    189196{{{
    190197#!div class="important"
     198'''The parameters:'''
     199
     200The whole list of tunable parameters can be found in `$NEUT_ROOT/src/reweight/NSyst.h`. The user specifies the `return`ed `std::string`s (e.g. `MaCCQE` and `CA5RES`) in the card file.
     201
    191202The starting, minimum, maximum and step values are all in units of 1-sigma uncertainties. So `-4.0` for the minimum means -4*1-sigma ranges, and `0.0` for the starting value means the nominal value nominal.
    192203
     
    204215}}}
    205216
    206 = Joint Flux Inputs =
    207 
    208 `neutroot2` does not yet natively support combined beams or targets so if you want to use the measurement classes that require this (e.g. MINERvA CC0pi nue+nuebar) you will have to setup a JOINT input. See [wiki:HowToJointInput this] for more information on how to achieve this.
    209 
    210 
    211 
     217
     218== Joint Flux Inputs ==
     219
     220`neutroot2` does not natively support combined beams or targets.
     221
     222If you want to use measurement classes that require this (e.g. MINERvA CC0pi nue+nuebar) you will have to setup a JOINT input. See [wiki:HowToJointInput this] for more information on how this can be done.