#include <NuMultiRunXFitAnalysis.h>
Public Member Functions | |
| NuMultiRunXFitAnalysis (std::vector< NuFDXFitConfig > &vFDConfig) | |
| virtual | ~NuMultiRunXFitAnalysis () |
| virtual double | operator() (const std::vector< double > &x) const |
| virtual double | Up () const |
| virtual void | PerformFit () |
Private Member Functions | |
| virtual void | ConfigureExtrapolators () |
| virtual void | SetupPars () |
| virtual void | SetupCPTPars () |
| virtual void | SetupTransitionPars () |
Private Attributes | |
| NuXFit::NuXAnalysis_t | fanalysisSetting |
| std::vector< NuXFitAnalysis * > | fvExtrapolators |
| std::vector< NuFDXFitConfig > | fvFDConfig |
| TFitterMinuit * | fFitter |
|
|
Definition at line 29 of file NuMultiRunXFitAnalysis.cxx. 00030 {
00031 fanalysisSetting = NuXFit::kUnknown;
00032
00033 fvFDConfig = vFDConfig;
00034
00035 fFitter = new TFitterMinuit();
00036 fFitter->CreateMinimizer();
00037 fFitter->SetMinuitFCN(this);
00038 }
|
|
|
Definition at line 77 of file NuMultiRunXFitAnalysis.cxx. 00078 {
00079 }
|
|
|
Definition at line 90 of file NuMultiRunXFitAnalysis.cxx. References NuXFitAnalysis::ConfigureForExternalFit(), fanalysisSetting, NuXFitAnalysis::FDDataPoT(), NuXFitAnalysis::FDMC(), NuXFitAnalysis::FDNuMuBarCCData(), NuXFitAnalysis::FDNuMuCCData(), fvExtrapolators, fvFDConfig, NuXFitAnalysis::NDFitBinningNuMuBarCC(), NuXFitAnalysis::NDFitBinningNuMuCC(), NuXFitAnalysis::NDFitResults(), and NuXFitAnalysis::WriteOutput(). Referenced by PerformFit(). 00091 {
00092 for (vector<NuFDXFitConfig>::iterator it = fvFDConfig.begin();
00093 it != fvFDConfig.end();
00094 ++it){
00095 NuXFitAnalysis* xAnal = new NuXFitAnalysis((*it).xmlConfig);
00096 xAnal->WriteOutput(false);
00097 xAnal->NDFitResults((*it).ndFitResults);
00098 xAnal->NDFitBinningNuMuCC((*it).ndFitBinsNuMuCC);
00099 xAnal->NDFitBinningNuMuBarCC((*it).ndFitBinsNuMuBarCC);
00100 xAnal->FDNuMuCCData(*(*it).fdNuMuCCData);
00101 xAnal->FDNuMuBarCCData(*(*it).fdNuMuBarCCData);
00102 xAnal->FDDataPoT((*it).fdDataPoT);
00103 xAnal->FDMC((*it).fdMCFileName);
00104 xAnal->ConfigureForExternalFit((*it).analSetting);
00105 fvExtrapolators.push_back(xAnal);
00106
00107 fanalysisSetting = (*it).analSetting;
00108 }
00109 }
|
|
|
Definition at line 42 of file NuMultiRunXFitAnalysis.cxx. References MSG. 00043 {
00044 static Int_t fitcounter = 0;
00045 if (!(fitcounter%50)){
00046 cout << "Minuit FD XFit call " << fitcounter << endl;
00047 }
00048 ++fitcounter;
00049 if (NuXFit::kCPT == fanalysisSetting){
00050 Double_t like = 0;
00051 for (vector<NuXFitAnalysis*>::const_iterator it = fvExtrapolators.begin();
00052 it != fvExtrapolators.end();
00053 ++it){
00054 (*it)->FillCPTFDPrediction(pars);
00055 like += (*it)->CalculateLikelihood();
00056 }
00057 return like;
00058 }
00059 else if(NuXFit::kTransition == fanalysisSetting){
00060 Double_t like = 0;
00061 for (vector<NuXFitAnalysis*>::const_iterator it = fvExtrapolators.begin();
00062 it != fvExtrapolators.end();
00063 ++it){
00064 (*it)->FillTransitionFDPrediction(pars);
00065 like += (*it)->CalculateLikelihood();
00066 }
00067 return like;
00068 }
00069 else{
00070 MSG("NuXFitAnalysis.cxx",Msg::kFatal)
00071 << "Incorrect analysis setting" << endl;
00072 return -1.0;
00073 }
00074 }
|
|
|
Definition at line 82 of file NuMultiRunXFitAnalysis.cxx. References ConfigureExtrapolators(), and fFitter. 00083 {
00084 this->ConfigureExtrapolators();
00085 fFitter->Minimize();
00086 fFitter->PrintResults(0,0);
00087 }
|
|
|
Definition at line 130 of file NuMultiRunXFitAnalysis.cxx. References fFitter. Referenced by SetupPars(). 00131 {
00132 fFitter->SetParameter(0,
00133 "Dm2",
00134 0.003,0.2,1.0,0.0);
00135 fFitter->SetParameter(1,
00136 "Sn2",
00137 1.0,0.2,1.0,0.0);
00138 fFitter->SetParameter(2,
00139 "Dm2Bar",
00140 0.003,0.2,1.0,0.0);
00141 fFitter->SetParameter(3,
00142 "Sn2Bar",
00143 1.0,0.2,1.0,0.0);
00144 }
|
|
|
Definition at line 112 of file NuMultiRunXFitAnalysis.cxx. References MSG, SetupCPTPars(), and SetupTransitionPars(). 00113 {
00114 if (NuXFit::kCPT == fanalysisSetting){
00115 this->SetupCPTPars();
00116 return;
00117 }
00118 else if (NuXFit::kTransition == fanalysisSetting){
00119 this->SetupTransitionPars();
00120 return;
00121 }
00122 else{
00123 MSG("NuXFitAnalysis.cxx",Msg::kFatal)
00124 << "Incorrect analysis setting" << endl;
00125 return;
00126 }
00127 }
|
|
|
Definition at line 147 of file NuMultiRunXFitAnalysis.cxx. References fFitter. Referenced by SetupPars(). 00148 {
00149 //Setup fit parameters
00150 fFitter->SetParameter(0,
00151 "transitionProb",
00152 0.0,0.2,1.0,0.0);
00153 }
|
|
|
Definition at line 55 of file NuMultiRunXFitAnalysis.h. 00055 {return 1.0;}//Chi2 errors; 0.5 for likelihood
|
|
|
Definition at line 60 of file NuMultiRunXFitAnalysis.h. Referenced by ConfigureExtrapolators(). |
|
|
Definition at line 63 of file NuMultiRunXFitAnalysis.h. Referenced by PerformFit(), SetupCPTPars(), and SetupTransitionPars(). |
|
|
Definition at line 61 of file NuMultiRunXFitAnalysis.h. Referenced by ConfigureExtrapolators(). |
|
|
Definition at line 62 of file NuMultiRunXFitAnalysis.h. Referenced by ConfigureExtrapolators(). |
1.3.9.1