- Sample Name (for card file) | Src Location | Brief |
- ANL Measurements | ---- | ---- |
- "ANL_CCQE_Evt_1DQ2_nu" | ANL/ANL_CCQE_Evt_1DQ2_nu.h | See "ANL_CCQE_Evt_1DQ2_PRL31" |
- "ANL_CCQE_Evt_1DQ2_PRL31" | ANL/ANL_CCQE_Evt_1DQ2_nu.h | ANL CCQE 1DEnu on Free Neutrons (PRL.31.3404) |
- "ANL_CCQE_Evt_1DQ2_PRD16" | ANL/ANL_CCQE_Evt_1DQ2_nu.h | ANL CCQE 1DEnu on Free Neutrons (PRL.00.0000) |
- "ANL_CCQE_Evt_1DQ2_PRD84" | ANL/ANL_CCQE_Evt_1DQ2_nu.h | ANL CCQE 1DEnu on Free Neutrons (PRL.00.0000) |
- BNL Measurements | ---- | ---- |
- FNAL Measurements | ---- | ---- |
- BEBC Measurements | ---- | ---- |
- K2K Measurements | ---- | ---- |
- T2K Measurements | ---- | ---- |
- MINERvA Measurements | ---- | ---- |
- "MINERvA_CCQE_XSec_1DQ2_nu" | MINERvA/MINERvA_CCQE_XSec_1DQ2_nu.h | CCQE Corrected Measurement on CH |
- MiniBooNE Measurements | ---- | ---- |
-
-
-*/
\ No newline at end of file
diff --git a/doc_old/statisticalmethods.dox b/doc_old/statisticalmethods.dox
deleted file mode 100644
index 26d548e..0000000
--- a/doc_old/statisticalmethods.dox
+++ /dev/null
@@ -1,56 +0,0 @@
-/*!
-\page statisticalmethods Statistical Methods
-
-
-Currently by default the fitter uses a Pearsons \chi^{2} minimization method to calculate the best fit model prediction and it's errors. At each stage in the fit the MC sample is updated given some parameter choice and a test statistic calculated. ROOT's Math Minimizer libraries are used to converge on the best choice of parameters that produce the minimum \chi^{2}. It is important to point out that this method can result in local minimums appearing to be the best fit prediction, more detail is given on this in the fit routines section.
-
-\section statisticalmethods_metrix Test Statistic
-
-The \chi^{2} definition varies from sample to sample given the fit options provided in the fit card file and the compatible fit types for that sample.
-
-Below are the calculations and code example from StatUtils that produces the \chi^{2} test statistic. The fitter translates 2D histograms into 1D histograms using provided bin mapping functions.
-
-- Uncorrelated \chi^{2} Calculation
-Uses just the uncorrelated bin errors from the bin errors.
-
-\code
-Double_t StatUtils::GetChi2FromDiag(TH1D* data, TH1D* mc, TH1I* mask);
-\endcode
-
-- Correlated chi2 Calculation
-Uses just the uncorrelated bin errors from the bin errors.
-Note: For the MiniBooNE datasets the uncorrelated bin errors give the shape-only error for th
-at bin.
-
-\code
-Double_t StatUtils::GetChi2FromCov(TH1D* data, TH1D* mc, TMatrixDSym* invcov, TH1I* mask);
-\endcode
-
-
-- Event rate Chi2 Calculation
-Uses histograms where bin contents are just event rate entries. Handles binmoial distribution.
-
-\code
-Double_t StatUtils::GetChi2FromEventRate(TH1D* data, TH1D* mc, TH1I* mask);
-\endcode
-
-
-- There are a few placeholders in StatUtils that allow different likelihood calculations to be added if required.
-
-
-\section statisticalmethods_err Errors
-The errors are determined by variations in the parameters away from the best fit point that increase the test statistic by some error limit. The error limit is defined in FCN's UP command, which is set to 1.0 Default for \chi^{2} fits. We assume gaussian errors in the fit which results in symetric error bands, there is no support at the moment to use MINOS to determine assymetric errors as this increases the time taken to perform the fit.
-
-
-\section statisticalmethods_pull Pull Terms
-Results from other fits can be included in the 'chi2 calculation by adding penalty terms and allowing those parameteres to float. This assumes gaussian distributions of those parameters which is sometimes not ideal. For example the FSI parameters are non-gaussian so instead there is an option to include a chi2 response from pion nucleon fits by the FSI task force.
-
-
-\section statisticalmethods_pgof PGoF Calculations
-The purpose of PGoF Fits is to evaluate disagreements between datasets within the confines of the mdoel being tested.
-
-
-
-
-
-*/
\ No newline at end of file
diff --git a/doc_old/tutorial.dox b/doc_old/tutorial.dox
deleted file mode 100644
index 2ca5afd..0000000
--- a/doc_old/tutorial.dox
+++ /dev/null
@@ -1,26 +0,0 @@
-/*!
-\page tutorial Fitter Tutorials
-
-There are multiple ways to run the fitter depending on what outputs are needed. The following descriptions will guide you through relatively simple fits. Please feel free to email me if there is something undocumented here that you need to use the fitter for and I will try my best to add documentation.
-
-
-\section tutlist Tutorials
-
-
-- \ref tutorial_inputs
-- \ref tutorial_dialtuning
-- \ref tutorial_fitroutines
-- \ref tutorial_binsplines
-- \ref tutorial_eventsplines
-- \ref tutorial_comparisons
-- \ref tutorial_prevresults
-- \ref tutorial_configoptions
-- \ref tutorial_plottinglimits
-- \ref tutorial_pullterms
-- \ref tutorial_plottingerrors
-- \ref tutorial_pgof
-- \ref tutorial_binmasking
-- \ref tutorial_fakedatastudies
-- \ref tutorial_parrallel
-
-*/
\ No newline at end of file
diff --git a/doc_old/tutorial_dialtuning.dox b/doc_old/tutorial_dialtuning.dox
deleted file mode 100644
index 100637c..0000000
--- a/doc_old/tutorial_dialtuning.dox
+++ /dev/null
@@ -1,108 +0,0 @@
-/*!
- \page tutorial_dialtuning Dial Tuning
-
-The main purpose of the fitter is to allow ReWeight dials to be quickly tuned to datasets. In this tutorial
-we go through how to include dials in a simple fit and define their state.
-
-\section tutorial_dialtuning_parcard Extending the Fit Card
-First, copy the fit card from the previous tutorial using the sample definition given there.
-
-Now we want to add in a NEUT ReWeight dials, so a quick grep of the NEUT systematics file will return what the dial names are.
-Below is a shortened output. Some dials (especially ones that are discontinous) cannot be used with the fitter so check what little
-notes there are inside the RW functions themselves when including new dials.
-
-\code
-$ grep case $NEUT_REWEIGHT/NSyst.h
-case ( kXSecTwkDial_NormNCEL ) : return "NormNCEL"; break;
-//case ( kXSecTwkDial_NormNCELenu ) : return "NormNCELenu"; break;
-case ( kXSecTwkDial_MaNCEL ) : return "MaNCEL"; break;
-case ( kXSecTwkDial_MaNCELshape ) : return "MaNCELshape"; break;
-case ( kXSecTwkDial_1overMaNCEL2 ) : return "1overMaNCEL2"; break;
-case ( kXSecTwkDial_AxlFFNCEL ) : return "AxlFFNCEL"; break;
-case ( kXSecTwkDial_VecFFNCEL ) : return "VecFFNCEL"; break;
-//case ( kXSecTwkDial_VecFFNCELshape ) : return "VecFFNCELshape"; break;
-//case ( kXSecTwkDial_EtaNCEL ) : return "EtaNCEL"; break;
-case ( kXSecTwkDial_NormCCQE ) : return "NormCCQE"; break;
-//case ( kXSecTwkDial_NormCCQEenu ) : return "NormCCQEenu"; break;
-case ( kXSecTwkDial_MaCCQE ) : return "MaCCQE"; break;
-\endcode
-
-So lets say we want to include two modifications to the MC. Firstly, we want to scale down the CCQE normalisation by a fixed 10%. Then we want to vary the axial mass freely in the fit between 0.8 and 1.4 GeV and try to converge on a best fit for this dial. To figure out what values we need to include in the card file we must determine the 1-sigma uncertainty on these parameters.
-
-Again a grep will do the trick for the 1-sigma uncertainty:
-\code
-$ grep NormCCQE $NEUT_REWEIGHT/NSystUncertainty.cc
- this->SetUncertainty( kXSecTwkDial_NormCCQE, 0.15, 0.15);
-
-$ grep NormCCQE $NEUT_REWEIGHT/NSystUncertainty.cc
- this->SetUncertainty( kXSecTwkDial_MaCCQE, 0.165289256, 0.165289256);
-\endcode
-
-Unfortunately the default values for these parameters is a bit more akward to find. These are given in each of the RW objects in the NEUT_REWEIGHT folder. For the purpose of this excerices we just explicitly state them here.
-\code
-Nominal MaCCQE = 1.21 GeV/c^2
-Nominal NormCCQE = 1.0
-\endcode
-
-
-We must then convert the true values we have for the nominal and limits into 1-sigma dial values using the following equation.
-\code
-true.value = nominal.value * ( 1.0 + sig.err * dial.value)
-
-dial.value = ( (true.value / nominal.value) - 1.0 ) / sig.err
-\endcode
-
-To finally include these dials the following lines should be added to the fit card with the neut_parameter identifier.
-
-\code
-# ident --------- Parameter --- Nom. ---- Low. ---- Upp. --- Stp. --- State ----
-neut_parameter NormCCQE -0.10 -1.00 1.00 1.0 FIX
-neut_parameter MaCCQE 0.00 -2.11 0.98 1.0 FREE
-\endcode
-
-Alternative parameter types can be supplied for each of the different generators. These are:
-- neut_parameter -> NEUT
-- nuwro_parameter -> NuWro (Make sure you have built with NuWro AND NuWroReWeight)
-- genie_parameter -> GENIE
-- niwg_parameter -> NIWG
-- custom_parameter -> Custom dials that can be added to FitWeight if required. Currently a placeholder.
-
-
-The nominal value should always be within the lower and upper limits otherwise ROOT's minimizer libraries will complain. The step size seems to currently be ignored by most of the libraries but it is used by the PlotLimits and GridScan function so it is best to choose something reasonable just to be safe.
-
-\section tutorial_dialtuning_absolute Using absolute dial values
-
-There has recently been a modification to FitBase to allow dials to be shown in the fit card in terms of true values provided a conversion function is given in the card file contained in FitBase.
-If you want to use this method, you should also provide the state "ABS" in the card file. So for example the MaCCQE dial line would become.
-
-\code
-# ident --------- Parameter --- Nom. ---- Low. ---- Upp. --- Stp. --- State ----
-neut_parameter MaCCQE 0.0 0.8 1.4 0.4 FREE/ABS
-\endcode
-
-Alternative parameter types can be supplied for each of the different generators. These are:
-- neut_parameter -> NEUT
-- nuwro_parameter -> NuWro (Make sure you have built with NuWro AND NuWroReWeight)
-- genie_parameter -> GENIE
-- niwg_parameter -> NIWG
-- custom_parameter -> Custom dials that can be added to FitWeight if required. Currently a placeholder.
-
-
-\section tutorial_dialtuning_runfit Running the Fit
-Once you have written the fit card it should be as simple as running the minimizer again.
-
-\code
-ExtFit_minimizer.exe -c fittertutorial2.card -o fittertutorial2.root
-\endcode
-
-The finished fit should produce the following output table for each parameter involved.
-
-
-
-The specified output root file should also contain MC histograms for the best fit point.
-
-
-
-There are cases where strong parameter correlations and bumpy chi2 spaces will mean the fit has problems converging. As a general guide fitting 4 parameters will usually take around 400 reconfigures. If it takes significantly longer than this (3x) then you may be having trouble. Alternative fit routines are available to try and fix problems like this. See \ref tutorial_fitroutines for more information.
-
-*/
\ No newline at end of file
diff --git a/doc_old/tutorial_inputs.dox b/doc_old/tutorial_inputs.dox
deleted file mode 100644
index 54433b2..0000000
--- a/doc_old/tutorial_inputs.dox
+++ /dev/null
@@ -1,149 +0,0 @@
-/*!
- \page tutorial_inputs Fitting Input Card
-
-
-To determine what samples need to be loaded and the location of the event files to be read the fitter parses a premade input fit card which contains everything piece of information for the fit.
-This tutorial details how to load a simple sample of events from each of the generators and compare them against each other.
-
-\section fitcards The Fit Card
-
-For this very simple case so all that is required in the fit card is a single line to read in which sample we want to plot. For a list of samples see \ref samplelist.
-We want a set of Monte Carlo events to make the data/MC comparison so first you will need to generate this in Neut and NuWro seperately. No explicit tutorial is given for this, but please see \ref generators for tips on what generator output format the events need to be in.
-
-Once we have a set of events create a fit card "fittertutorial1.card" in the current directory and include the "MiniBooNE_CCQE_XSec_1DQ2_nu" sample as follows.
-
-\code
-# Identifier - Sample Name ----------------- Type - Events File Name ------------------- Normalisation
-sample MiniBooNE_CCQE_XSec_1DQ2_nu FIX /path/to/miniboone_ccqe_events.root 1.0
-\endcode
-
-- The "sample" argument lets the fitter know we want to include a new sample in this fit. Multiple samples can be included if required assuming they are uncorrelated by creating multiple sample lines in the fit card.
-
-- The Sample Name is a simple string identifier that lets the fitter know which dataset comparison should be performed, for a list of samples see \ref samplelist.
-
-- The sample Type is used to specify any other options required to describe how this sample is handled. Common examples are "FIX - fix this samples overall normalisation", "SHAPE - normalise MC to data before doing calculations", "DIAG - use only uncorrelated bin errors", "NORM - Add a normalisation penalty term to the fit". Some samples have extra possible fit types so it is worth checking the doxygen documentation for a sample before using it.
-
-- The events file name is just simply the directory to the MC events you want to use for this fit. In the case of joint datasets that require multiple input MC files, the path to each can be provided in this field by passing a semi-colon seperated list, e.g. "/path/to/miniboone_ccqe_events1.root;/path/to/miniboone_ccqe_events2.root".
-
-- The normalisation term is used to float the overall normalisation of this sample. The fitter will complain and scale the samples to 0.0 if you forget to include this!
-
-
-\section fittingrun Running a Fit
-Once we have a sample card produced it is possible to run a default Migrad fit by passing this fit card to the minimizer.
-
-\code
-ExtFit_minimizer.exe -c fittertutorial1.card -o fittertutorial1_output.root
-\endcode
-
-Since we have not included any MC ReWeight dials to be minimized yet this should run relatively quickly, requiring only a single reconfigure.
-The final output should look as follows:
-\code
-[LOG Fitter]: Making the minimizerFCN
-[LOG Minmzr]: Initializing Samples
-[LOG Minmzr]: MINERvA_CCQE_XSec_1DQ2_nu
-[LOG Fitter]: Running Routine: Migrad
-[LOG Fitter]: Fixed Param: MINERvA_CCQE_XSec_1DQ2_nu_norm
-[LOG Fitter]: Setup Minimizer: 1(NDim) 0(NFree)
-[LOG Minmzr]: Reconfiguring all samples in series
-[LOG Minmzr]: Iteration = 1
-[LOG Minmzr]: Time taken for this reconfigure: 40
-[LOG Fitter]: Current Stat = 47.8123
-[LOG Fitter]: Minimizer State:
-[LOG Fitter]: # Parameter = Value +- Error Units (Sigma Variation)
-[LOG Fitter]: 0 . MINERvA_CCQE_XSec_1DQ2_nu_norm = 1 Frac. (Fixed)
-
-[LOG Fitter]: Running Routine: FixAtLim
-[LOG Fitter]: Minimizer State:
-[LOG Fitter]: # Parameter = Value +- Error Units (Sigma Variation)
-[LOG Fitter]: 0 . MINERvA_CCQE_XSec_1DQ2_nu_norm = 1 Frac. (Fixed)
-
-Error in