|
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.
- Timestamp:
-
Feb 27, 2017, 10:29:49 AM (8 years ago)
- Author:
-
Clarence Wret
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v26
|
v27
|
|
115 | 115 | |
116 | 116 | |
117 | | = Compiling NUISANCE against NEUT = |
| 117 | == Compiling NUISANCE against NEUT == |
118 | 118 | Once you have a working NEUT installation and generated events (see [#point_compile above], you can link NUISANCE against NEUT. |
119 | 119 | |
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 === |
| 121 | To run NUISANCE with NEUT you'll need to provide environment variables `$NEUT_ROOT`, `$CERNLIB` and `$CERN_LEVEL`. |
| 122 | |
| 123 | When building, set the environment variables and specify `-DUSE_NEUT=1` when generating the makefiles with `cmake`. |
| 124 | |
| 125 | === Compiling === |
123 | 126 | |
124 | 127 | {{{ |
… |
… |
|
133 | 136 | }}} |
134 | 137 | |
135 | | For multiple generator support (e.g. NEUT and GENIE enabled), simply set the environment variables for the generators, and compile with |
| 138 | For multiple generator support (e.g. NEUT and GENIE enabled), set the environment variables for the other generators, and compile with |
136 | 139 | |
137 | 140 | {{{ |
… |
… |
|
142 | 145 | |
143 | 146 | |
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 === |
| 150 | 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. |
| 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 === |
| 155 | To read NEUT inputs the generator needs to be specified in the NUISANCE input card file when specifying a sample. e.g. for MiniBooNE CCQE |
149 | 156 | |
150 | 157 | {{{ |
… |
… |
|
153 | 160 | |
154 | 161 | |
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 == |
| 163 | NUISANCE has full support of running NEUT with its reweighting library. |
| 164 | |
| 165 | Users 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 === |
| 168 | To 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 |
160 | 169 | |
161 | 170 | {{{ |
… |
… |
|
165 | 174 | }}} |
166 | 175 | |
167 | | to compile the reweighting engine. |
168 | | |
169 | | == Running NUISANCE with NEUT !ReWeight == |
| 176 | to compile the reweighting engine on top of NEUT itself. |
| 177 | |
| 178 | === Running NUISANCE with NEUT !ReWeight === |
170 | 179 | {{{ |
171 | 180 | #!div class="important" |
… |
… |
|
173 | 182 | }}} |
174 | 183 | |
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: |
| 184 | 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]. |
| 185 | |
| 186 | The user specifies the parameter(s) and the range which should be varied in the card file as: |
178 | 187 | |
179 | 188 | {{{ |
… |
… |
|
183 | 192 | where `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. |
184 | 193 | |
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`). |
| 194 | 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. |
188 | 195 | |
189 | 196 | {{{ |
190 | 197 | #!div class="important" |
| 198 | '''The parameters:''' |
| 199 | |
| 200 | The 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 | |
191 | 202 | The 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. |
192 | 203 | |
… |
… |
|
204 | 215 | }}} |
205 | 216 | |
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 | |
| 222 | If 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. |
|