#include <NuMMRunCCTutorial.h>
Inheritance diagram for NuMMRunCCTutorial:

Public Member Functions | |
| NuMMRunCCTutorial (NuMMHelperPRL *helper, NuMatrixSpectrum *ndData, NuMatrixSpectrum *fdData) | |
| virtual const Double_t | ComparePredWithData (const NuMMParameters &pars) |
| virtual const NuMatrixSpectrum | MakeFDPred (const NuMMParameters &pars) |
| virtual const std::vector< TH1D > | WriteFDPredHistos (const NuMMParameters &pars) const |
Private Attributes | |
| NuMatrixSpectrum * | fNDData |
| NuMatrixSpectrum * | fFDData |
| NuMMHelperPRL * | fHelper |
|
||||||||||||||||
|
Definition at line 16 of file NuMMRunCCTutorial.cxx. 00019 : NuMMRun() 00020 { 00021 fHelper = helper; 00022 fNDData = ndData; 00023 fFDData = fdData; 00024 }
|
|
|
Implements NuMMRun. Definition at line 188 of file NuMMRunCCTutorial.cxx. 00189 {
00190 NuMatrixSpectrum prediction(this->MakeFDPred(pars));
00191 return this->StatsLikelihood(prediction.Spectrum(),
00192 fFDData->Spectrum());
00193 }
|
|
|
Definition at line 112 of file NuMMRunCCTutorial.cxx. References NuMatrixSpectrum::Add(), NuMMHelperPRL::BeamMatrix(), count, NuMatrixSpectrum::DecayCC(), NuMatrixSpectrum::Decohere(), NuMatrixSpectrum::Divide(), NuMMParameters::Dm2(), NuMatrixSpectrum::ExtrapolateNDToFD(), NuMMHelperPRL::FDEfficiency(), NuMMHelperPRL::FDPurity(), NuMMHelperPRL::FDRecoVsTrue(), NuMMHelperPRL::FDTauEfficiency(), NuMMHelperPRL::FDTauRecoVsTrue(), fFDData, fHelper, fNDData, NuMatrixSpectrum::InverseOscillate(), NuMatrixSpectrum::Multiply(), NuMMParameters::NCBackgroundScale(), NuMMHelperPRL::NDEfficiency(), NuMMHelperPRL::NDPurity(), NuMMHelperPRL::NDRecoVsTrue(), NuMMParameters::Normalisation(), NuMatrixSpectrum::Oscillate(), NuMatrixSpectrum::PoT(), NuMatrixSpectrum::RecoToTrue(), NuMMParameters::ShwEnScale(), NuMMParameters::Sn2(), NuMatrixSpectrum::Subtract(), NuMatrixSpectrum::TrueToReco(), NuMMHelperPRL::XSecGraph(), and NuMMHelperPRL::XSecGraphTaus(). 00113 {
00114 static Int_t count=0;
00115 if ((!(count%3)) && (!fQuietMode)){
00116 cout << "8sn2: " << pars.Sn2() << "; dm2: " << pars.Dm2()
00117 << "; norm: " << pars.Normalisation()
00118 << "; NCBack: " << pars.NCBackgroundScale()
00119 << "; ShwEn: " << pars.ShwEnScale() << endl;
00120 }
00121
00122 NuMatrixSpectrum prediction(*fNDData);
00123
00124 NuMatrixSpectrum signal(prediction);
00125 signal.Multiply(fHelper->NDPurity());
00126 NuMatrixSpectrum background(prediction);
00127 background.Subtract(signal);
00128 background.Multiply(pars.NCBackgroundScale());
00129 prediction.Subtract(background);
00130
00131 prediction.RecoToTrue(fHelper->NDRecoVsTrue());
00132 prediction.Divide(fHelper->NDEfficiency());
00133 prediction.Divide(fHelper->XSecGraph());
00134 prediction.Divide(fNDData->PoT());
00135 prediction.Divide(fNDFidMass);
00136 prediction.ExtrapolateNDToFD(fHelper->BeamMatrix());
00137 prediction.Multiply(fFDFidMass);
00138 prediction.Multiply(fFDData->PoT());
00139
00140 NuMatrixSpectrum potentialTaus(prediction);
00141 potentialTaus.Multiply(fHelper->XSecGraphTaus());
00142 potentialTaus.Multiply(fHelper->FDTauEfficiency());
00143
00144 prediction.Multiply(fHelper->XSecGraph());
00145 prediction.Multiply(fHelper->FDEfficiency());
00146
00147 NuMatrixSpectrum unoscTrueSpectrum(prediction);
00148 unoscTrueSpectrum.TrueToReco(fHelper->FDRecoVsTrue());
00149 NuMatrixSpectrum ncBackground(unoscTrueSpectrum);
00150 ncBackground.Divide(fHelper->FDPurity());
00151 ncBackground.Subtract(unoscTrueSpectrum);
00152 ncBackground.Multiply(pars.NCBackgroundScale());
00153
00154 potentialTaus.InverseOscillate(pars.Dm2(),pars.Sn2());
00155 potentialTaus.TrueToReco(fHelper->FDTauRecoVsTrue());
00156
00157
00158 if (0==fDisappearanceModel){
00159 prediction.Oscillate(pars.Dm2(),pars.Sn2());
00160 }
00161 else if (1==fDisappearanceModel){
00162 prediction.DecayCC(pars.Dm2(),pars.Sn2());
00163 }
00164 else if (2==fDisappearanceModel){
00165 prediction.Decohere(pars.Dm2(),pars.Sn2());
00166 }
00167 else{
00168 cout << "Badly configured disappearance model. "
00169 << "Oscillating as that's probably what you want, "
00170 << "but not including taus."
00171 << endl;
00172 prediction.Oscillate(pars.Dm2(),pars.Sn2());
00173 }
00174 prediction.TrueToReco(fHelper->FDRecoVsTrue());
00175 prediction.Add(ncBackground);
00176 if (0==fDisappearanceModel){
00177 prediction.Add(potentialTaus);
00178 }
00179
00180 ++count;
00181
00182 return prediction;
00183
00184 }
|
|
|
Implements NuMMRun. Definition at line 28 of file NuMMRunCCTutorial.cxx. References NuMatrixSpectrum::Add(), NuMatrixSpectrum::DecayCC(), NuMatrixSpectrum::Decohere(), NuMatrixSpectrum::Divide(), NuMMParameters::Dm2(), NuMatrixSpectrum::ExtrapolateNDToFD(), NuMatrixSpectrum::InverseOscillate(), NuMatrixSpectrum::Multiply(), NuMMParameters::NCBackgroundScale(), NuMatrixSpectrum::Oscillate(), NuMatrixSpectrum::RecoToTrue(), NuMatrixSpectrum::SetName(), NuMMParameters::Sn2(), NuMatrixSpectrum::Spectrum(), NuMatrixSpectrum::Subtract(), and NuMatrixSpectrum::TrueToReco(). 00029 {
00030 vector<TH1D> vHistos;
00031 TH1D hNDData(*(fNDData->Spectrum()));
00032 hNDData.SetName("ndData");
00033 hNDData.SetTitle("ndData");
00034 vHistos.push_back(*(new TH1D(hNDData)));
00035
00036 NuMatrixSpectrum prediction(*(fNDData->Spectrum()));
00037
00038 NuMatrixSpectrum signal(prediction);
00039 signal.Multiply(fHelper->NDPurity());
00040 NuMatrixSpectrum background(prediction);
00041 background.Subtract(signal);
00042 background.Multiply(pars.NCBackgroundScale());
00043 prediction.Subtract(background);
00044
00045 prediction.RecoToTrue(fHelper->NDRecoVsTrue());
00046 prediction.Divide(fHelper->NDEfficiency());
00047 prediction.Divide(fHelper->XSecGraph());
00048 prediction.Divide(fNDData->PoT());
00049 prediction.Divide(fNDFidMass);
00050 prediction.ExtrapolateNDToFD(fHelper->BeamMatrix());
00051 prediction.Multiply(fFDFidMass);
00052 prediction.Multiply(fFDData->PoT());
00053
00054 NuMatrixSpectrum potentialTaus(prediction);
00055 potentialTaus.Multiply(fHelper->XSecGraphTaus());
00056 potentialTaus.Multiply(fHelper->FDTauEfficiency());
00057
00058 prediction.Multiply(fHelper->XSecGraph());
00059 prediction.Multiply(fHelper->FDEfficiency());
00060
00061 NuMatrixSpectrum unoscTrueSpectrum(prediction);
00062 unoscTrueSpectrum.TrueToReco(fHelper->FDRecoVsTrue());
00063 NuMatrixSpectrum ncBackground(unoscTrueSpectrum);
00064 ncBackground.Divide(fHelper->FDPurity());
00065 ncBackground.Subtract(unoscTrueSpectrum);
00066 ncBackground.Multiply(pars.NCBackgroundScale());
00067
00068 potentialTaus.InverseOscillate(pars.Dm2(),pars.Sn2());
00069 potentialTaus.TrueToReco(fHelper->FDTauRecoVsTrue());
00070
00071 if (0==fDisappearanceModel){
00072 prediction.Oscillate(pars.Dm2(),pars.Sn2());
00073 }
00074 else if (1==fDisappearanceModel){
00075 prediction.DecayCC(pars.Dm2(),pars.Sn2());
00076 }
00077 else if (2==fDisappearanceModel){
00078 prediction.Decohere(pars.Dm2(),pars.Sn2());
00079 }
00080 else{
00081 cout << "Badly configured disappearance model. "
00082 << "Oscillating as that's probably what you want."
00083 << endl;
00084 prediction.Oscillate(pars.Dm2(),pars.Sn2());
00085 }
00086 prediction.TrueToReco(fHelper->FDRecoVsTrue());
00087 prediction.Add(ncBackground);
00088 if (0==fDisappearanceModel && (!fFakeDataStudy)){
00089 prediction.Add(potentialTaus);
00090 }
00091
00092 TH1D hFDPrediction(*(prediction.Spectrum()));
00093 hFDPrediction.SetName("fdPrediction");
00094 vHistos.push_back(hFDPrediction);
00095
00096 TH1D hFDTaus(*(potentialTaus.Spectrum()));
00097 hFDTaus.SetName("fdTaus");
00098 vHistos.push_back(hFDTaus);
00099
00100 TH1D hFDNCBackground(*(ncBackground.Spectrum()));
00101 hFDNCBackground.SetName("fdNCBackground");
00102 vHistos.push_back(hFDNCBackground);
00103
00104 TH1D fdData(*(fFDData->Spectrum()));
00105 hFDNCBackground.SetName("fdData");
00106 vHistos.push_back(fdData);
00107
00108 return vHistos;
00109 }
|
|
|
Reimplemented from NuMMRun. Definition at line 26 of file NuMMRunCCTutorial.h. Referenced by MakeFDPred(). |
|
|
Reimplemented from NuMMRun. Definition at line 27 of file NuMMRunCCTutorial.h. Referenced by MakeFDPred(). |
|
|
Reimplemented from NuMMRun. Definition at line 25 of file NuMMRunCCTutorial.h. Referenced by MakeFDPred(). |
1.3.9.1