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

|
||||||||||||||||||||
|
||||||||||||||||||||||||
|
|
Definition at line 87 of file NuMMRunTransition.cxx. References ResetCache(). 00088 {
00089 ResetCache();
00090 }
|
|
|
Pre-calculate much of the extrapolation. Most of the matrix method extrapolation does not depend on the oscillation parameters. This includes lots of complicated matrix multiplications and histogram divisions. This function seperates out this code, and is called from the constructor (as everything it needs should exist with a validly called constructor) Definition at line 140 of file NuMMRunTransition.cxx. References NuMMHelperCPT::BarBeamMatrix(), NuMMHelperCPT::BarXSecGraph(), NuMatrixSpectrum::Divide(), NuMMParameters::Dm2(), NuMMParameters::Dm2Bar(), NuMMHelperCPT::DoTaus(), NuMatrixSpectrum::ExtrapolateNDToFD(), NuMMHelperCPT::FDBarEfficiency(), NuMMHelperCPT::FDBarNCContamination(), NuMMHelperCPT::FDBarPurity(), NuMMHelperCPT::FDBarRecoVsTrue(), NuMMHelperCPT::FDNuEfficiency(), NuMMHelperCPT::FDNuNCContamination(), NuMMHelperCPT::FDNuPurity(), NuMMHelperCPT::FDNuRecoVsTrue(), NuMMHelperCPT::FDNuTauEfficiency(), NuMMHelperCPT::FDNuTauRecoVsTrue(), NuMMHelperCPT::FDTauBarEfficiency(), NuMMHelperCPT::FDTauBarRecoVsTrue(), NuMMHelperCPT::FDWrongSignBarEfficiency(), NuMMHelperCPT::FDWrongSignBarRecoVsTrue(), NuMMHelperCPT::FDWrongSignNuEfficiency(), NuMMHelperCPT::FDWrongSignNuRecoVsTrue(), NuMatrixSpectrum::InverseOscillate(), MSG, NuMatrixSpectrum::Multiply(), NuMMHelperCPT::NDBarEfficiency(), NuMMHelperCPT::NDBarPurity(), NuMMHelperCPT::NDBarRecoVsTrue(), NuMMHelperCPT::NDNuEfficiency(), NuMMHelperCPT::NDNuPurity(), NuMMHelperCPT::NDNuRecoVsTrue(), NuMMHelperCPT::NuBeamMatrix(), NuMMHelperCPT::NuXSecGraph(), NuMatrixSpectrum::Oscillate(), NuMatrixSpectrum::PoT(), PreCalcbarAppeared, PreCalcbarAppearedReco, PreCalcbarNCBackground, PreCalcbarPrediction, PreCalcbarPredictionReco, PreCalcnuAppeared, PreCalcnuAppearedReco, PreCalcnuNCBackground, PreCalcnuPrediction, PreCalcnuPredictionReco, PreCalcpotentialNuTaus, PreCalcpotentialNuTausReco, PreCalcpotentialTauBars, PreCalcpotentialTauBarsReco, PreCalcwrongSignNuBars, PreCalcwrongSignNuBarsReco, PreCalcwrongSignNuMus, PreCalcwrongSignNuMusReco, NuMatrixSpectrum::RecoToTrue(), ResetCache(), NuMatrixSpectrum::ResetPoT(), NuMatrixSpectrum::SetName(), NuMMParameters::Sn2(), NuMMParameters::Sn2Bar(), NuMatrixSpectrum::TrueToReco(), NuMMHelperCPT::XSecGraphNuTaus(), and NuMMHelperCPT::XSecGraphTauBars(). Referenced by MakeFDPred(), MakeFDPredNuBar(), MakeFDPredNuMu(), and TrueComponents(). 00141 {
00142 // Only cache once.
00143 if (fCached) return;
00144
00145 ResetCache();
00146
00147 if (!fQuietMode)
00148 MSG("NuMMRunTransitions",Msg::kInfo) << "Pre-calculating static extrapolation variables..." << endl;
00149
00150 // Caching variables, to reduce the workload of each step of the fitter
00151 // Initialise these the way they would be before
00152 PreCalcnuPrediction = new NuMatrixSpectrum(*fndNuData);
00153 PreCalcbarPrediction = new NuMatrixSpectrum(*fndBarData);
00154
00155 // Be lazy and just alias the pointers to references so can keep
00156 // the code the same
00157 NuMatrixSpectrum &nuPrediction = *PreCalcnuPrediction;
00158 NuMatrixSpectrum &barPrediction = *PreCalcbarPrediction;
00159
00160
00161 // Now we have prepared the extrapolation variables, calculate them
00162 // Get the neutrinos to the FD
00163 nuPrediction.Multiply(fHelper->NDNuPurity());
00164 nuPrediction.RecoToTrue(fHelper->NDNuRecoVsTrue());
00165 nuPrediction.Divide(fHelper->NDNuEfficiency());
00166 nuPrediction.Divide(fHelper->NuXSecGraph());
00167 nuPrediction.Divide(fndNuData->PoT());
00168 nuPrediction.Divide(fNDFidMass);
00169 nuPrediction.ExtrapolateNDToFD(fHelper->NuBeamMatrix());
00170 nuPrediction.Multiply(fFDFidMass);
00171 nuPrediction.Multiply(ffdNuData->PoT());
00172 // Reset the spectrum to the new PoT
00173 nuPrediction.ResetPoT(ffdNuData->PoT());
00174
00175 //Get the antineutrinos to the FD
00176 barPrediction.Multiply(fHelper->NDBarPurity());
00177 barPrediction.RecoToTrue(fHelper->NDBarRecoVsTrue());
00178 barPrediction.Divide(fHelper->NDBarEfficiency());
00179 barPrediction.Divide(fHelper->BarXSecGraph());
00180 barPrediction.Divide(fndBarData->PoT());
00181 barPrediction.Divide(fNDFidMass);
00182 barPrediction.ExtrapolateNDToFD(fHelper->BarBeamMatrix());
00183 barPrediction.Multiply(fFDFidMass);
00184 barPrediction.Multiply(ffdBarData->PoT());
00185 // Reset the spectrum to the new PoT
00186 barPrediction.ResetPoT(ffdBarData->PoT());
00187
00188 PreCalcpotentialNuTaus = new NuMatrixSpectrum(nuPrediction);
00189 PreCalcpotentialTauBars = new NuMatrixSpectrum(barPrediction);
00190 // Create and link to the Tau components, before we include the
00191 // cross section in the predictions (tau Xsec is different)
00192 NuMatrixSpectrum &potentialNuTaus = *PreCalcpotentialNuTaus;
00193 NuMatrixSpectrum &potentialTauBars = *PreCalcpotentialTauBars;
00194
00195 if (fHelper->DoTaus()) {
00196 //Get the taus (ignoring any wrong-sign taubars)
00197 potentialNuTaus.Multiply(fHelper->XSecGraphNuTaus());
00198 potentialNuTaus.Multiply(fHelper->FDNuTauEfficiency());
00199 potentialNuTaus.InverseOscillate(pars.Dm2(),pars.Sn2());
00200
00201 //Get the taubars (ignoring any wrong-sign taus)
00202 potentialTauBars.Multiply(fHelper->XSecGraphTauBars());
00203 potentialTauBars.Multiply(fHelper->FDTauBarEfficiency());
00204 potentialTauBars.InverseOscillate(pars.Dm2Bar(),pars.Sn2Bar());
00205 }
00206 else {
00207 PreCalcpotentialNuTaus->Multiply(0.0);
00208 PreCalcpotentialTauBars->Multiply(0.0);
00209 }
00210
00211 // Create and link to the appeared components, before we include the
00212 // cross section in the predictions (Xsec is different)
00213 PreCalcnuAppeared = new NuMatrixSpectrum(barPrediction);
00214 PreCalcbarAppeared = new NuMatrixSpectrum(nuPrediction);
00215 NuMatrixSpectrum &appearedNuMus = *PreCalcnuAppeared;
00216 NuMatrixSpectrum &appearedNuBars = *PreCalcbarAppeared;
00217 appearedNuMus.SetName("Appeared_NuMus");
00218 appearedNuBars.SetName("Appeared_NuMuBars");
00219
00220 // Apply the appeared cross-sectinos, efficiencies, true to reco
00221 appearedNuMus.Multiply(fHelper->NuXSecGraph());
00222 appearedNuMus.InverseOscillate(pars.Dm2Bar(),pars.Sn2Bar());
00223 appearedNuMus.Multiply(fHelper->FDNuEfficiency());
00224
00225 appearedNuBars.Multiply(fHelper->BarXSecGraph());
00226 appearedNuBars.InverseOscillate(pars.Dm2(),pars.Sn2());
00227 appearedNuBars.Multiply(fHelper->FDBarEfficiency());
00228
00229
00230 // Now do the main spectrum, xsecs
00231 nuPrediction.Multiply(fHelper->NuXSecGraph());
00232 barPrediction.Multiply(fHelper->BarXSecGraph());
00233
00234
00235 // Now build the NC Spectrum, after the cross section calculation!
00236 PreCalcnuNCBackground = new NuMatrixSpectrum(*PreCalcnuPrediction);;
00237 PreCalcbarNCBackground = new NuMatrixSpectrum(*PreCalcbarPrediction);
00238 NuMatrixSpectrum &nuNCBackground = *PreCalcnuNCBackground;
00239 NuMatrixSpectrum &barNCBackground = *PreCalcbarNCBackground;
00240
00241
00242 //Get the neutrino NC background
00243 nuNCBackground.Multiply(fHelper->FDNuEfficiency());
00244 nuNCBackground.TrueToReco(fHelper->FDNuRecoVsTrue());
00245 nuNCBackground.Divide(fHelper->FDNuPurity());
00246 nuNCBackground.Multiply(fHelper->FDNuNCContamination());
00247
00248 //Get the antineutrino NC background
00249 barNCBackground.Multiply(fHelper->FDBarEfficiency());
00250 barNCBackground.TrueToReco(fHelper->FDBarRecoVsTrue());
00251 barNCBackground.Divide(fHelper->FDBarPurity());
00252 barNCBackground.Multiply(fHelper->FDBarNCContamination());
00253
00254
00255
00256 // Now build the wrong sign spectrum
00257 PreCalcwrongSignNuMus = new NuMatrixSpectrum(*PreCalcnuPrediction);
00258 PreCalcwrongSignNuBars = new NuMatrixSpectrum(*PreCalcbarPrediction);
00259 NuMatrixSpectrum &wrongSignNuMus = *PreCalcwrongSignNuMus;
00260 NuMatrixSpectrum &wrongSignNuBars = *PreCalcwrongSignNuBars;
00261
00262 // Do the Neutrino background for the antineutrino spectrum
00263 wrongSignNuMus.Multiply(fHelper->FDWrongSignNuEfficiency());
00264 wrongSignNuMus.Oscillate(pars.Dm2(),pars.Sn2());
00265
00266 // Do the Antineutrino background for the neutrino spectrum
00267 wrongSignNuBars.Multiply(fHelper->FDWrongSignBarEfficiency());
00268 wrongSignNuBars.Oscillate(pars.Dm2Bar(),pars.Sn2Bar());
00269
00270
00271 // Now apply oscillations, efficeicnies to the main spectrum
00272 nuPrediction.Oscillate(pars.Dm2(),pars.Sn2());
00273 nuPrediction.Multiply(fHelper->FDNuEfficiency());
00274
00275 barPrediction.Oscillate(pars.Dm2Bar(),pars.Sn2Bar());
00276 barPrediction.Multiply(fHelper->FDBarEfficiency());
00277
00278
00279 // If we have precalculated the wrong sign oscillations,
00280 // then we need to recalculate them next time we are given
00281 // the oscilaltion parameters. Reset the flags used to
00282 // control this
00283 //fDoneWsNeutrinos = fDoneWsAntineutrinos = false;
00284
00285 nuPrediction.SetName("NuMus");
00286 barPrediction.SetName("NuMuBars");
00287
00288 potentialNuTaus.SetName("NuTaus");
00289 potentialTauBars.SetName("NuTauBars");
00290
00291 wrongSignNuMus.SetName("WrongSign_NuMus");
00292 wrongSignNuBars.SetName("WrongSign_NuMuBars");
00293
00294 nuNCBackground.SetName("NC_NuMus");
00295 barNCBackground.SetName("NC_NuMuBars");
00296
00297 // Now perform all the Reco To True's for the Reco prediction
00298 PreCalcnuPredictionReco = new NuMatrixSpectrum(*PreCalcnuPrediction);
00299 PreCalcbarPredictionReco = new NuMatrixSpectrum(*PreCalcbarPrediction);
00300 PreCalcnuPredictionReco->TrueToReco(fHelper->FDNuRecoVsTrue());
00301 PreCalcbarPredictionReco->TrueToReco(fHelper->FDBarRecoVsTrue());
00302
00303 if (fHelper->DoTaus()) {
00304 PreCalcpotentialNuTausReco = new NuMatrixSpectrum(*PreCalcpotentialNuTaus);
00305 PreCalcpotentialTauBarsReco = new NuMatrixSpectrum(*PreCalcpotentialTauBars);
00306 PreCalcpotentialNuTausReco->TrueToReco(fHelper->FDNuTauRecoVsTrue());
00307 PreCalcpotentialTauBarsReco->TrueToReco(fHelper->FDTauBarRecoVsTrue());
00308 }
00309
00310 PreCalcnuAppearedReco = new NuMatrixSpectrum(*PreCalcnuAppeared);
00311 PreCalcbarAppearedReco = new NuMatrixSpectrum(*PreCalcbarAppeared);
00312 PreCalcnuAppearedReco->TrueToReco(fHelper->FDNuRecoVsTrue());
00313 PreCalcbarAppearedReco->TrueToReco(fHelper->FDBarRecoVsTrue());
00314
00315 PreCalcwrongSignNuMusReco = new NuMatrixSpectrum(*PreCalcwrongSignNuMus);
00316 PreCalcwrongSignNuBarsReco = new NuMatrixSpectrum(*PreCalcwrongSignNuBars);
00317 PreCalcwrongSignNuMusReco->TrueToReco(fHelper->FDWrongSignNuRecoVsTrue());
00318 PreCalcwrongSignNuBarsReco->TrueToReco(fHelper->FDWrongSignBarRecoVsTrue());
00319
00320 fCached = true;
00321
00322 // Disable this output for now - this process should be fast anyway!
00323 if (!fQuietMode)
00324 cout << "Extrapolation variables cached..." << endl;
00325 }
|
|
|
Implements NuMMRun. Definition at line 847 of file NuMMRunTransition.cxx. References MakeFDPred(), MakeFDPredNuBar(), MakeFDPredNuMu(), NuMatrixSpectrum::Spectrum(), and NuMMRun::StatsLikelihood(). 00848 {
00849 // Generate a prediction
00850 const pair<NuMatrixSpectrum,NuMatrixSpectrum> predictions =
00851 this->MakeFDPred(pars);
00852 Double_t like = 0;
00853 // Now, only count a likelihood for components we want - this is just
00854 // a constant offset, but should help speed things up a little.
00855 if (fPredictNeutrinos) {
00856 NuMatrixSpectrum* nuPrediction = MakeFDPredNuMu(pars);
00857 like += this->StatsLikelihood(nuPrediction->Spectrum(),
00858 ffdNuData->Spectrum());
00859 delete nuPrediction;
00860 }
00861 if (fPredictAntiNeutrinos) {
00862 NuMatrixSpectrum* barPrediction = MakeFDPredNuBar(pars);
00863 like += this->StatsLikelihood(barPrediction->Spectrum(),
00864 ffdBarData->Spectrum());
00865 delete barPrediction;
00866 }
00867 return like;
00868 }
|
|
|
Return a pair (NQ,PQ) of NuMatrixSpectra of the far detector prediction with oscillation parameters described in pars. Pure virtual.
Implements NuMMRunNuBar. Definition at line 583 of file NuMMRunTransition.cxx. References NuMatrixSpectrum::Add(), CacheExtrapolation(), NuMMParameters::Dm2(), NuMMParameters::Dm2Bar(), NuMMHelperCPT::DoTaus(), NuMatrixSpectrum::Multiply(), PreCalcbarAppearedReco, PreCalcbarNCBackground, PreCalcbarPredictionReco, PreCalcnuAppearedReco, PreCalcnuNCBackground, PreCalcnuPredictionReco, PreCalcpotentialNuTausReco, PreCalcpotentialTauBarsReco, PreCalcwrongSignNuBarsReco, PreCalcwrongSignNuMusReco, NuMMParameters::Sn2(), NuMMParameters::Sn2Bar(), NuMatrixSpectrum::Spectrum(), and NuMMParameters::TransitionProb(). Referenced by ComparePredWithData(). 00584 {
00585 if (!fQuietMode) {
00586 cout << "sn2: " << pars.Sn2() << "; dm2: " << pars.Dm2()
00587 << "; sn2bar: " << pars.Sn2Bar() << "; dm2bar: " << pars.Dm2Bar()
00588 << "; alpha: " << pars.TransitionProb()
00589 << endl;
00590 }
00591
00592 CacheExtrapolation(pars);
00593
00595 // For all neutrinos
00596
00597 // Make copies of the prepared extrapolation variables, so that
00598 // we can alter them locally with the oscillation parameters
00599 NuMatrixSpectrum nuPrediction(*PreCalcnuPredictionReco);
00600 NuMatrixSpectrum barPrediction(*PreCalcbarPredictionReco);
00601
00602 NuMatrixSpectrum potentialNuTaus(*PreCalcpotentialNuTausReco);
00603 NuMatrixSpectrum potentialTauBars(*PreCalcpotentialTauBarsReco);
00604
00605 NuMatrixSpectrum appearedNuMus(*PreCalcnuAppearedReco);
00606 NuMatrixSpectrum appearedNuBars(*PreCalcbarAppearedReco);
00607
00608 NuMatrixSpectrum wrongSignNuMus(*PreCalcwrongSignNuMusReco);
00609 NuMatrixSpectrum wrongSignNuBars(*PreCalcwrongSignNuBarsReco);
00610
00611 NuMatrixSpectrum nuNCBackground(*PreCalcnuNCBackground);
00612 NuMatrixSpectrum barNCBackground(*PreCalcbarNCBackground);
00613
00614
00616 // Processes for neutrinos
00617
00618 if (fPredictNeutrinos) {
00619 // Apply alpha
00620 if (fHelper->DoTaus()) potentialNuTaus.Multiply(1.-pars.TransitionProb());
00621 appearedNuMus.Multiply(pars.TransitionProb());
00622
00623 //Add everything together
00624 nuPrediction.Add(appearedNuMus);
00625 if (fHelper->DoTaus()) nuPrediction.Add(potentialNuTaus);
00626 nuPrediction.Add(wrongSignNuBars);
00627 nuPrediction.Add(nuNCBackground);
00628 } else {
00629 // Scale the histogram to zero, so as not to confuse people
00630 // if they look at the spectrum with neutrinos turned off
00631 nuPrediction.Spectrum()->Scale(0);
00632 }
00633
00635 // Processes for Antineutrinos
00636
00637 if (fPredictAntiNeutrinos) {
00638 if (fHelper->DoTaus()) potentialTauBars.Multiply(1.-pars.TransitionProb());
00639 appearedNuBars.Multiply(pars.TransitionProb());
00640
00641 //Add everything together
00642 barPrediction.Add(appearedNuBars);
00643 if (fHelper->DoTaus()) barPrediction.Add(potentialTauBars);
00644 barPrediction.Add(wrongSignNuMus);
00645 barPrediction.Add(barNCBackground);
00646 } else {
00647 // Scale the histogram to zero, so as not to confuse people
00648 barPrediction.Spectrum()->Scale(0);
00649 }
00650
00651 pair<NuMatrixSpectrum,NuMatrixSpectrum> predictions(nuPrediction,barPrediction);
00652 return predictions;
00653 }
|
|
|
Get just the NuMuBar component of the prediction with oscillations parameters pars.
Reimplemented from NuMMRunNuBar. Definition at line 704 of file NuMMRunTransition.cxx. References NuMatrixSpectrum::Add(), CacheExtrapolation(), NuMMParameters::Dm2(), NuMMParameters::Dm2Bar(), NuMMHelperCPT::DoTaus(), NuMatrixSpectrum::Multiply(), PreCalcbarAppearedReco, PreCalcbarNCBackground, PreCalcbarPredictionReco, PreCalcpotentialTauBarsReco, PreCalcwrongSignNuMusReco, NuMMParameters::Sn2(), NuMMParameters::Sn2Bar(), NuMatrixSpectrum::Spectrum(), and NuMMParameters::TransitionProb(). Referenced by ComparePredWithData(). 00705 {
00706 if (!fQuietMode) {
00707 cout << "sn2: " << pars.Sn2() << "; dm2: " << pars.Dm2()
00708 << "; sn2bar: " << pars.Sn2Bar() << "; dm2bar: " << pars.Dm2Bar()
00709 << "; alpha: " << pars.TransitionProb()
00710 << endl;
00711 }
00712
00713 CacheExtrapolation(pars);
00714
00716 // For all neutrinos
00717
00718 // Make copies of the prepared extrapolation variables, so that
00719 // we can alter them locally with the oscillation parameters
00720 NuMatrixSpectrum *barPrediction = new NuMatrixSpectrum(*PreCalcbarPredictionReco);
00721
00722 NuMatrixSpectrum potentialTauBars(*PreCalcpotentialTauBarsReco);
00723 NuMatrixSpectrum appearedNuBars(*PreCalcbarAppearedReco);
00724 NuMatrixSpectrum wrongSignNuMus(*PreCalcwrongSignNuMusReco);
00725 NuMatrixSpectrum barNCBackground(*PreCalcbarNCBackground);
00726
00728 // Processes for Antineutrinos
00729
00730 if (fPredictAntiNeutrinos) {
00731 if (fHelper->DoTaus()) potentialTauBars.Multiply(1.-pars.TransitionProb());
00732 appearedNuBars.Multiply(pars.TransitionProb());
00733
00734 //Add everything together
00735 barPrediction->Add(appearedNuBars);
00736 if (fHelper->DoTaus()) barPrediction->Add(potentialTauBars);
00737 barPrediction->Add(wrongSignNuMus);
00738 barPrediction->Add(barNCBackground);
00739 } else {
00740 // Scale the histogram to zero, so as not to confuse people
00741 barPrediction->Spectrum()->Scale(0);
00742 }
00743
00744 return barPrediction;
00745 }
|
|
|
Get just the NuMu component of the prediction with oscillations parameters pars.
Reimplemented from NuMMRunNuBar. Definition at line 656 of file NuMMRunTransition.cxx. References NuMatrixSpectrum::Add(), CacheExtrapolation(), NuMMParameters::Dm2(), NuMMParameters::Dm2Bar(), NuMMHelperCPT::DoTaus(), NuMatrixSpectrum::Multiply(), PreCalcnuAppearedReco, PreCalcnuNCBackground, PreCalcnuPredictionReco, PreCalcpotentialNuTausReco, PreCalcwrongSignNuBarsReco, NuMMParameters::Sn2(), NuMMParameters::Sn2Bar(), NuMatrixSpectrum::Spectrum(), and NuMMParameters::TransitionProb(). Referenced by ComparePredWithData(). 00657 {
00658 if (!fQuietMode) {
00659 cout << "sn2: " << pars.Sn2() << "; dm2: " << pars.Dm2()
00660 << "; sn2bar: " << pars.Sn2Bar() << "; dm2bar: " << pars.Dm2Bar()
00661 << "; alpha: " << pars.TransitionProb()
00662 << endl;
00663 }
00664
00665 CacheExtrapolation(pars);
00666
00668 // For all neutrinos
00669
00670 // Make copies of the prepared extrapolation variables, so that
00671 // we can alter them locally with the oscillation parameters
00672 NuMatrixSpectrum *nuPrediction = new NuMatrixSpectrum(*PreCalcnuPredictionReco);
00673
00674 NuMatrixSpectrum potentialNuTaus(*PreCalcpotentialNuTausReco);
00675 NuMatrixSpectrum appearedNuMus(*PreCalcnuAppearedReco);
00676 NuMatrixSpectrum wrongSignNuBars(*PreCalcwrongSignNuBarsReco);
00677 NuMatrixSpectrum nuNCBackground(*PreCalcnuNCBackground);
00678
00679
00681 // Processes for neutrinos
00682
00683 if (fPredictNeutrinos) {
00684 // Apply alpha
00685 if (fHelper->DoTaus()) potentialNuTaus.Multiply(1.-pars.TransitionProb());
00686 appearedNuMus.Multiply(pars.TransitionProb());
00687
00688 //Add everything together
00689 nuPrediction->Add(appearedNuMus);
00690 if (fHelper->DoTaus()) nuPrediction->Add(potentialNuTaus);
00691 nuPrediction->Add(wrongSignNuBars);
00692 nuPrediction->Add(nuNCBackground);
00693 } else {
00694 // Scale the histogram to zero, so as not to confuse people
00695 // if they look at the spectrum with neutrinos turned off
00696 nuPrediction->Spectrum()->Scale(0);
00697 }
00698
00699 return nuPrediction;
00700 }
|
|
|
Definition at line 41 of file NuMMRunTransition.h. References fPredictAntiNeutrinos. 00041 {fPredictAntiNeutrinos = predict;}
|
|
|
Will the (anti)neutrino prediction be calculated?
Definition at line 40 of file NuMMRunTransition.h. References fPredictNeutrinos. 00040 {fPredictNeutrinos = predict;}
|
|
|
Definition at line 94 of file NuMMRunTransition.cxx. References PreCalcbarAppeared, PreCalcbarAppearedReco, PreCalcbarNCBackground, PreCalcbarPrediction, PreCalcbarPredictionReco, PreCalcnuAppeared, PreCalcnuAppearedReco, PreCalcnuNCBackground, PreCalcnuPrediction, PreCalcnuPredictionReco, PreCalcpotentialNuTaus, PreCalcpotentialNuTausReco, PreCalcpotentialTauBars, PreCalcpotentialTauBarsReco, PreCalcwrongSignNuBars, PreCalcwrongSignNuBarsReco, PreCalcwrongSignNuMus, and PreCalcwrongSignNuMusReco. Referenced by CacheExtrapolation(), and ~NuMMRunTransition(). 00095 {
00096 // delete the precalculated MM spectra we previously created
00097 if (PreCalcnuPrediction) delete PreCalcnuPrediction;
00098 if (PreCalcbarPrediction) delete PreCalcbarPrediction;
00099
00100 if (PreCalcnuAppeared) delete PreCalcnuAppeared;
00101 if (PreCalcbarAppeared) delete PreCalcbarAppeared;
00102
00103 if (PreCalcpotentialNuTaus) delete PreCalcpotentialNuTaus;
00104 if (PreCalcpotentialTauBars)delete PreCalcpotentialTauBars;
00105
00106 if (PreCalcnuNCBackground) delete PreCalcnuNCBackground;
00107 if (PreCalcbarNCBackground) delete PreCalcbarNCBackground;
00108
00109 if (PreCalcwrongSignNuMus) delete PreCalcwrongSignNuMus;
00110 if (PreCalcwrongSignNuBars) delete PreCalcwrongSignNuBars;
00111
00112 if (PreCalcnuPredictionReco) delete PreCalcnuPredictionReco;
00113 if (PreCalcbarPredictionReco) delete PreCalcbarPredictionReco;
00114
00115 if (PreCalcnuAppearedReco) delete PreCalcnuAppearedReco;
00116 if (PreCalcbarAppearedReco) delete PreCalcbarAppearedReco;
00117
00118 if (PreCalcpotentialNuTausReco) delete PreCalcpotentialNuTausReco;
00119 if (PreCalcpotentialTauBarsReco)delete PreCalcpotentialTauBarsReco;
00120
00121 if (PreCalcwrongSignNuMusReco) delete PreCalcwrongSignNuMusReco;
00122 if (PreCalcwrongSignNuBarsReco) delete PreCalcwrongSignNuBarsReco;
00123
00124 PreCalcnuPrediction = PreCalcbarPrediction = 0;
00125 PreCalcnuAppeared = PreCalcbarAppeared = 0;
00126 PreCalcpotentialNuTaus= PreCalcpotentialTauBars = 0;
00127 PreCalcnuNCBackground = PreCalcbarNCBackground = 0;
00128 PreCalcwrongSignNuMus = PreCalcwrongSignNuBars = 0;
00129
00130 PreCalcnuPredictionReco = PreCalcbarPredictionReco = 0;
00131 PreCalcnuAppearedReco = PreCalcbarAppearedReco = 0;
00132 PreCalcpotentialNuTausReco= PreCalcpotentialTauBarsReco = 0;
00133 PreCalcwrongSignNuMusReco = PreCalcwrongSignNuBarsReco = 0;
00134
00135 fCached = false;
00136 }
|
|
||||||||||||
|
Definition at line 750 of file NuMMRunTransition.cxx. References CacheExtrapolation(), NuMMParameters::Dm2(), NuMMParameters::Dm2Bar(), MSG, NuMatrixSpectrum::Multiply(), PreCalcbarAppeared, PreCalcbarNCBackground, PreCalcbarPrediction, PreCalcnuAppeared, PreCalcnuNCBackground, PreCalcnuPrediction, PreCalcpotentialNuTaus, PreCalcpotentialTauBars, PreCalcwrongSignNuBars, PreCalcwrongSignNuMus, s(), NuMatrixSpectrum::SetName(), NuMMParameters::Sn2(), NuMMParameters::Sn2Bar(), NuMatrixSpectrum::Spectrum(), and NuMMParameters::TransitionProb(). 00751 {
00752 if (!fQuietMode) {
00753 cout << "sn2: " << pars.Sn2() << "; dm2: " << pars.Dm2()
00754 << "; sn2bar: " << pars.Sn2Bar() << "; dm2bar: " << pars.Dm2Bar()
00755 << "; alpha: " << pars.TransitionProb()
00756 << endl;
00757 }
00758
00759 // Request NQ spectrum, but no NuBar Predictions OR
00760 // Request PQ spectrum, but no NuMu Predictions
00761 if ( (s < 0 && !fPredictNeutrinos) ||
00762 (s > 0 && !fPredictAntiNeutrinos) ) {
00763 NuMatrixSpectrum blank(*PreCalcnuPrediction);
00764 blank.SetName("Blank");
00765 blank.Spectrum()->Scale(0);
00766 return blank;
00767 }
00768
00769 CacheExtrapolation(pars);
00770
00771
00772 if (s == kSignalPQ) {
00773 if (!fQuietMode) cout << "Getting kSignalPQ" << endl;
00774 NuMatrixSpectrum barPrediction(*PreCalcbarPrediction);
00775 if (!fQuietMode) cout << "Returning kSignalPQ" << endl;
00776 return barPrediction;
00777 }
00778 else if (s == kSignalNQ) {
00779 if (!fQuietMode) cout << "Getting kSignalNQ" << endl;
00780 NuMatrixSpectrum nuPrediction(*PreCalcnuPrediction);
00781 if (!fQuietMode) cout << "Returning kSignalNQ" << endl;
00782 return nuPrediction;
00783 }
00784 else if (s == kWrongSignPQ) {
00785 if (!fQuietMode) cout << "Getting kWrongSignPQ" << endl;
00786 NuMatrixSpectrum wrongSignNuMus(*PreCalcwrongSignNuMus);
00787 if (!fQuietMode) cout << "Returning kWrongSignPQ" << endl;
00788 return wrongSignNuMus;
00789 }
00790 else if (s == kWrongSignNQ) {
00791 if (!fQuietMode) cout << "Getting kWrongSignNQ" << endl;
00792 NuMatrixSpectrum wrongSignNuBars(*PreCalcwrongSignNuBars);
00793 if (!fQuietMode) cout << "Returning kWrongSignNQ" << endl;
00794 return wrongSignNuBars;
00795 }
00796 else if (s == kNCPQ) {
00797 if (!fQuietMode) cout << "Getting kNCPQ" << endl;
00798 NuMatrixSpectrum barNCBackground(*PreCalcbarNCBackground);
00799 if (!fQuietMode) cout << "Returning kNCPQ" << endl;
00800 return barNCBackground;
00801 }
00802 else if (s == kNCNQ) {
00803 if (!fQuietMode) cout << "Getting kNCNQ" << endl;
00804 NuMatrixSpectrum nuNCBackground(*PreCalcnuNCBackground);
00805 if (!fQuietMode) cout << "Returning kNCNQ" << endl;
00806 return nuNCBackground;
00807 }
00808 else if (s == kTauPQ) {
00809 if (!fQuietMode) cout << "Getting kTauPQ" << endl;
00810 NuMatrixSpectrum potentialTauBars(*PreCalcpotentialTauBars);
00811 potentialTauBars.Multiply(1.-pars.TransitionProb());
00812 if (!fQuietMode) cout << "Returning kTauPQ" << endl;
00813 return potentialTauBars;
00814 }
00815 else if (s == kTauNQ) {
00816 if (!fQuietMode) cout << "Getting kTauNQ" << endl;
00817 NuMatrixSpectrum potentialNuTaus(*PreCalcpotentialNuTaus);
00818 potentialNuTaus.Multiply(1.-pars.TransitionProb());
00819 if (!fQuietMode) cout << "Returning kTauNQ" << endl;
00820 return potentialNuTaus;
00821 }
00822 else if (s == kAppearedPQ) {
00823 if (!fQuietMode) cout << "Getting kAppearedPQ" << endl;
00824 NuMatrixSpectrum appearedNuBars(*PreCalcbarAppeared);
00825 appearedNuBars.Multiply(pars.TransitionProb());
00826 if (!fQuietMode) cout << "Returning kAppearedPQ" << endl;
00827 return appearedNuBars;
00828 }
00829 else if (s == kAppearedNQ) {
00830 if (!fQuietMode) cout << "Getting kAppearedNQ" << endl;
00831 NuMatrixSpectrum appearedNuMus(*PreCalcnuAppeared);
00832 appearedNuMus.Multiply(pars.TransitionProb());
00833 if (!fQuietMode) cout << "Returning kAppearedNQ" << endl;
00834 return appearedNuMus;
00835 }
00836 else {
00837 MSG("NuMMRunTransitions",Msg::kWarning) << "Requested unknown prediction #" << s << ", returning blank." << endl;
00838 NuMatrixSpectrum blank(*PreCalcnuPrediction);
00839 blank.SetName("Blank");
00840 blank.Spectrum()->Scale(0);
00841 return blank;
00842 }
00843 }
|
|
|
Implements NuMMRun. Definition at line 330 of file NuMMRunTransition.cxx. References NuMatrixSpectrum::Add(), NuMMHelperCPT::BarBeamMatrix(), NuMMHelperCPT::BarXSecGraph(), NuMatrixSpectrum::Divide(), NuMMParameters::Dm2(), NuMMParameters::Dm2Bar(), NuMMHelperCPT::DoTaus(), NuMatrixSpectrum::ExtrapolateNDToFD(), NuMMHelperCPT::FDBarEfficiency(), NuMMHelperCPT::FDBarNCContamination(), NuMMHelperCPT::FDBarPurity(), NuMMHelperCPT::FDBarRecoVsTrue(), NuMMHelperCPT::FDNuEfficiency(), NuMMHelperCPT::FDNuNCContamination(), NuMMHelperCPT::FDNuPurity(), NuMMHelperCPT::FDNuRecoVsTrue(), NuMMHelperCPT::FDNuTauEfficiency(), NuMMHelperCPT::FDNuTauRecoVsTrue(), NuMMHelperCPT::FDTauBarEfficiency(), NuMMHelperCPT::FDTauBarRecoVsTrue(), NuMMHelperCPT::FDWrongSignBarEfficiency(), NuMMHelperCPT::FDWrongSignBarRecoVsTrue(), NuMMHelperCPT::FDWrongSignNuEfficiency(), NuMMHelperCPT::FDWrongSignNuRecoVsTrue(), NuMatrixSpectrum::InverseOscillate(), NuMatrixSpectrum::Multiply(), NuMMHelperCPT::NDBarEfficiency(), NuMMHelperCPT::NDBarPurity(), NuMMHelperCPT::NDBarRecoVsTrue(), NuMMHelperCPT::NDNuEfficiency(), NuMMHelperCPT::NDNuPurity(), NuMMHelperCPT::NDNuRecoVsTrue(), NuMMHelperCPT::NuBeamMatrix(), NuMMHelperCPT::NuXSecGraph(), NuMatrixSpectrum::Oscillate(), NuMatrixSpectrum::PoT(), NuMatrixSpectrum::RecoToTrue(), NuMatrixSpectrum::SetName(), NuMatrixSpectrum::SetTitle(), NuMMParameters::Sn2(), NuMMParameters::Sn2Bar(), NuMatrixSpectrum::Spectrum(), NuMMParameters::TransitionProb(), NuMatrixSpectrum::TrueToReco(), NuMMHelperCPT::XSecGraphNuTaus(), and NuMMHelperCPT::XSecGraphTauBars(). 00331 {
00332 //Set up a vector to push the histograms into.
00333 vector<TH1D> vHistos;
00334
00335 //Put the ND data in the vector:
00336 TH1D hNDNuData(*(fndNuData->Spectrum()));
00337 hNDNuData.SetName("ndDataNQ");
00338 hNDNuData.SetTitle("ndDataNQ");
00339 vHistos.push_back(*(new TH1D(hNDNuData)));
00340 TH1D hNDBarData(*(fndBarData->Spectrum()));
00341 hNDBarData.SetName("ndDataPQ");
00342 hNDBarData.SetTitle("ndDataPQ");
00343 vHistos.push_back(*(new TH1D(hNDBarData)));
00344
00345 //cout << "sn2: " << pars.Sn2() << "; dm2: " << pars.Dm2()
00346 // << "; sn2bar: " << pars.Sn2Bar() << "; dm2bar: " << pars.Dm2Bar()
00347 // << "; Prob: " << pars.TransitionProb()
00348 // << endl;
00349 //Get the neutrinos to the FD
00350 NuMatrixSpectrum nuPrediction(*fndNuData);
00351 nuPrediction.Multiply(fHelper->NDNuPurity());
00352 nuPrediction.RecoToTrue(fHelper->NDNuRecoVsTrue());
00353 nuPrediction.Divide(fHelper->NDNuEfficiency());
00354 nuPrediction.Divide(fHelper->NuXSecGraph());
00355 nuPrediction.Divide(fndNuData->PoT());
00356 nuPrediction.Divide(fNDFidMass);
00357 nuPrediction.ExtrapolateNDToFD(fHelper->NuBeamMatrix());
00358 nuPrediction.Multiply(fFDFidMass);
00359 nuPrediction.Multiply(ffdNuData->PoT());
00360
00361 //Get the antineutrinos to the FD
00362 NuMatrixSpectrum barPrediction(*fndBarData);
00363 barPrediction.Multiply(fHelper->NDBarPurity());
00364 barPrediction.RecoToTrue(fHelper->NDBarRecoVsTrue());
00365 barPrediction.Divide(fHelper->NDBarEfficiency());
00366 barPrediction.Divide(fHelper->BarXSecGraph());
00367 barPrediction.Divide(fndBarData->PoT());
00368 barPrediction.Divide(fNDFidMass);
00369 barPrediction.ExtrapolateNDToFD(fHelper->BarBeamMatrix());
00370 barPrediction.Multiply(fFDFidMass);
00371 barPrediction.Multiply(ffdBarData->PoT());
00372
00373 NuMatrixSpectrum potentialNuTaus(nuPrediction);
00374 NuMatrixSpectrum potentialTauBars(barPrediction);
00375 if (fHelper->DoTaus()) {
00376 //Get the taus (ignoring any wrong-sign taubars)
00377 potentialNuTaus.Multiply(fHelper->XSecGraphNuTaus());
00378 potentialNuTaus.Multiply(fHelper->FDNuTauEfficiency());
00379 potentialNuTaus.InverseOscillate(pars.Dm2(),pars.Sn2());
00380 potentialNuTaus.TrueToReco(fHelper->FDNuTauRecoVsTrue());
00381 //Get the taubars (ignoring any wrong-sign taus)
00382 potentialTauBars.Multiply(fHelper->XSecGraphTauBars());
00383 potentialTauBars.Multiply(fHelper->FDTauBarEfficiency());
00384 potentialTauBars.InverseOscillate(pars.Dm2Bar(),pars.Sn2Bar());
00385 potentialTauBars.TrueToReco(fHelper->FDTauBarRecoVsTrue());
00386 }
00387 else {
00388 potentialNuTaus.Multiply(0.0);
00389 potentialTauBars.Multiply(0.0);
00390 }
00391
00392 //Get the transitioned neutrinos (they're now antineutrinos)
00393 NuMatrixSpectrum appearedNuBars(nuPrediction);
00394 TH1D hRawAppearPQ(*(appearedNuBars.Spectrum()));
00395 hRawAppearPQ.SetName("hRawAppearPQ");
00396 vHistos.push_back(hRawAppearPQ);
00397
00398 appearedNuBars.Multiply(fHelper->BarXSecGraph());
00399 TH1D hTrueEffAppearPQ(*(appearedNuBars.Spectrum()));
00400 hTrueEffAppearPQ.SetName("hTrueEffAppearPQ");
00401 vHistos.push_back(hTrueEffAppearPQ);
00402
00403 appearedNuBars.Multiply(fHelper->FDBarEfficiency());
00404 TH1D hTrueAppearPQ(*(appearedNuBars.Spectrum()));
00405 hTrueAppearPQ.SetName("hTrueAppearPQ");
00406 vHistos.push_back(hTrueAppearPQ);
00407
00408 appearedNuBars.InverseOscillate(pars.Dm2(),pars.Sn2());
00409 appearedNuBars.Multiply(pars.TransitionProb());
00410 TH1D hTrueTransitionPQ(*(appearedNuBars.Spectrum()));
00411 hTrueTransitionPQ.SetName("hTrueTransitionPQ");
00412 vHistos.push_back(hTrueTransitionPQ);
00413
00414 appearedNuBars.TrueToReco(fHelper->FDBarRecoVsTrue());
00415 TH1D hRecoAppearPQ(*(appearedNuBars.Spectrum()));
00416 hRecoAppearPQ.SetName("hRecoAppearPQ");
00417 vHistos.push_back(hRecoAppearPQ);
00418
00419 //Get the transitioned antineutrinos (they're now neutrinos)
00420 NuMatrixSpectrum appearedNuMus(barPrediction);
00421 TH1D hRawAppearNQ(*(appearedNuMus.Spectrum()));
00422 hRawAppearNQ.SetName("hRawAppearNQ");
00423 vHistos.push_back(hRawAppearNQ);
00424
00425 appearedNuMus.Multiply(fHelper->NuXSecGraph());
00426 TH1D hTrueEffAppearNQ(*(appearedNuMus.Spectrum()));
00427 hTrueEffAppearNQ.SetName("hTrueEffAppearNQ");
00428 vHistos.push_back(hTrueEffAppearNQ);
00429
00430 appearedNuMus.Multiply(fHelper->FDNuEfficiency());
00431 TH1D hTrueAppearNQ(*(appearedNuMus.Spectrum()));
00432 hTrueAppearNQ.SetName("hTrueAppearNQ");
00433 vHistos.push_back(hTrueAppearNQ);
00434
00435 appearedNuMus.InverseOscillate(pars.Dm2(),pars.Sn2());
00436 appearedNuMus.Multiply(pars.TransitionProb());
00437 TH1D hTrueTransitionNQ(*(appearedNuMus.Spectrum()));
00438 hTrueTransitionNQ.SetName("hTrueTransitionNQ");
00439 vHistos.push_back(hTrueTransitionNQ);
00440
00441 appearedNuMus.TrueToReco(fHelper->FDNuRecoVsTrue());
00442 TH1D hRecoAppearNQ(*(appearedNuMus.Spectrum()));
00443 hRecoAppearNQ.SetName("hRecoAppearNQ");
00444 vHistos.push_back(hRecoAppearNQ);
00445
00446
00447 //Cross sections
00448 nuPrediction.Multiply(fHelper->NuXSecGraph());
00449 barPrediction.Multiply(fHelper->BarXSecGraph());
00450
00451 // True NuMus (flux x sigma)
00452 TH1D hTrueNuMus(*(nuPrediction.Spectrum()));
00453 hTrueNuMus.SetName("hTrueNuMus");
00454 vHistos.push_back(hTrueNuMus);
00455
00456 // True NuBars (flux x sigma)
00457 TH1D hTrueNuBars(*(barPrediction.Spectrum()));
00458 hTrueNuBars.SetName("hTrueNuBars");
00459 vHistos.push_back(hTrueNuBars);
00460
00461 //Get the neutrino NC background
00462 NuMatrixSpectrum nuNCBackground(nuPrediction);
00463 nuNCBackground.Multiply(fHelper->FDNuEfficiency());
00464 nuNCBackground.TrueToReco(fHelper->FDNuRecoVsTrue());
00465 nuNCBackground.Divide(fHelper->FDNuPurity());
00466 nuNCBackground.Multiply(fHelper->FDNuNCContamination());
00467
00468 //Get the antineutrino NC background
00469 NuMatrixSpectrum barNCBackground(barPrediction);
00470 barNCBackground.Multiply(fHelper->FDBarEfficiency());
00471 barNCBackground.TrueToReco(fHelper->FDBarRecoVsTrue());
00472 barNCBackground.Divide(fHelper->FDBarPurity());
00473 barNCBackground.Multiply(fHelper->FDBarNCContamination());
00474
00475 //Get the wrong-sign neutrino background for the antineutrino
00476 //prediction
00477 NuMatrixSpectrum wrongSignNuMus(nuPrediction);
00478 wrongSignNuMus.Multiply(fHelper->FDWrongSignNuEfficiency());
00479 wrongSignNuMus.Oscillate(pars.Dm2(),pars.Sn2());
00480
00481 //Get the wrong-sign antineutrino background for the neutrino
00482 //prediction
00483 NuMatrixSpectrum wrongSignNuBars(barPrediction);
00484 wrongSignNuBars.Multiply(fHelper->FDWrongSignBarEfficiency());
00485 wrongSignNuBars.Oscillate(pars.Dm2Bar(),pars.Sn2Bar());
00486
00487
00488 TH1D hFDWrongSignPQ(*(wrongSignNuBars.Spectrum()));
00489 hFDWrongSignPQ.SetName("fdWrongSignPQ");
00490 vHistos.push_back(hFDWrongSignPQ);
00491
00492 TH1D hFDWrongSignNQ(*(wrongSignNuMus.Spectrum()));
00493 hFDWrongSignNQ.SetName("fdWrongSignNQ");
00494 vHistos.push_back(hFDWrongSignNQ);
00495
00496 // Do the truetoreco seperately so that we can write out the histos first
00497 wrongSignNuBars.TrueToReco(fHelper->FDWrongSignBarRecoVsTrue());
00498 wrongSignNuMus.TrueToReco(fHelper->FDWrongSignNuRecoVsTrue());
00499
00500 //Oscillations
00501 nuPrediction.Oscillate(pars.Dm2(),pars.Sn2());
00502 barPrediction.Oscillate(pars.Dm2Bar(),pars.Sn2Bar());
00503 //Efficiencies
00504 nuPrediction.Multiply(fHelper->FDNuEfficiency());
00505 barPrediction.Multiply(fHelper->FDBarEfficiency());
00506
00507 //True to reco
00508 nuPrediction.TrueToReco(fHelper->FDNuRecoVsTrue());
00509 barPrediction.TrueToReco(fHelper->FDBarRecoVsTrue());
00510
00511 // Dump out the prediction spectrum before adding in the backgrounds
00512 TH1D hFDNoBackNQ(*(nuPrediction.Spectrum()));
00513 hFDNoBackNQ.SetName("fdBasePredictionNQ");
00514 vHistos.push_back(hFDNoBackNQ);
00515
00516 TH1D hFDNoBackPQ(*(barPrediction.Spectrum()));
00517 hFDNoBackPQ.SetName("fdBasePredictionPQ");
00518 vHistos.push_back(hFDNoBackPQ);
00519
00520 //Add in backgrounds
00521 nuPrediction.Add(wrongSignNuBars);
00522 barPrediction.Add(wrongSignNuMus);
00523 nuPrediction.Add(nuNCBackground);
00524 if (fHelper->DoTaus()) nuPrediction.Add(potentialNuTaus);
00525 barPrediction.Add(barNCBackground);
00526 if (fHelper->DoTaus()) barPrediction.Add(potentialTauBars);
00527
00528
00529 TH1D hFDPredictionNoTransNQ(*(nuPrediction.Spectrum()));
00530 hFDPredictionNoTransNQ.SetName("fdPredictionNoTransNQ");
00531 vHistos.push_back(hFDPredictionNoTransNQ);
00532
00533 TH1D hFDPredictionNoTransPQ(*(barPrediction.Spectrum()));
00534 hFDPredictionNoTransPQ.SetName("fdPredictionNoTransPQ");
00535 vHistos.push_back(hFDPredictionNoTransPQ);
00536
00537
00538
00539 //Add in transitions
00540 nuPrediction.Add(appearedNuMus);
00541 barPrediction.Add(appearedNuBars);
00542
00543 //Put the componants of the predictions in the vector
00544
00545 TH1D hFDPredictionNQ(*(nuPrediction.Spectrum()));
00546 hFDPredictionNQ.SetName("fdPredictionNQ");
00547 vHistos.push_back(hFDPredictionNQ);
00548
00549 TH1D hFDPredictionPQ(*(barPrediction.Spectrum()));
00550 hFDPredictionPQ.SetName("fdPredictionPQ");
00551 vHistos.push_back(hFDPredictionPQ);
00552
00553 TH1D hFDNCNQ(*(nuNCBackground.Spectrum()));
00554 hFDNCNQ.SetName("fdNCNQ");
00555 vHistos.push_back(hFDNCNQ);
00556
00557 TH1D hFDNCPQ(*(barNCBackground.Spectrum()));
00558 hFDNCPQ.SetName("fdNCPQ");
00559 vHistos.push_back(hFDNCPQ);
00560
00561 if (fHelper->DoTaus()) {
00562 TH1D hFDTausNQ(*(potentialNuTaus.Spectrum()));
00563 hFDTausNQ.SetName("fdTausNQ");
00564 vHistos.push_back(hFDTausNQ);
00565
00566 TH1D hFDTausPQ(*(potentialTauBars.Spectrum()));
00567 hFDTausPQ.SetName("fdTausPQ");
00568 vHistos.push_back(hFDTausPQ);
00569 }
00570
00571 TH1D hFDDataNQ(*(ffdNuData->Spectrum()));
00572 hFDDataNQ.SetName("fdDataNQ");
00573 vHistos.push_back(hFDDataNQ);
00574
00575 TH1D hFDDataPQ(*(ffdBarData->Spectrum()));
00576 hFDDataPQ.SetName("fdDataPQ");
00577 vHistos.push_back(hFDDataPQ);
00578
00579 return vHistos;
00580 }
|
|
|
Controls antineutrino component of prediction.
Definition at line 91 of file NuMMRunTransition.h. Referenced by PredictNuBars(). |
|
|
Controls neutrino component of prediction.
Definition at line 89 of file NuMMRunTransition.h. Referenced by PredictNus(). |
|
|
Definition at line 64 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 66 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuBar(), NuMMRunTransition(), and ResetCache(). |
|
|
Definition at line 77 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuBar(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 58 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 60 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuBar(), NuMMRunTransition(), and ResetCache(). |
|
|
Definition at line 63 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 65 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuMu(), NuMMRunTransition(), and ResetCache(). |
|
|
Definition at line 76 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuMu(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 57 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 59 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuMu(), NuMMRunTransition(), and ResetCache(). |
|
|
Definition at line 70 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 72 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuMu(), NuMMRunTransition(), and ResetCache(). |
|
|
Definition at line 71 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 73 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuBar(), NuMMRunTransition(), and ResetCache(). |
|
|
Definition at line 83 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 85 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuMu(), NuMMRunTransition(), and ResetCache(). |
|
|
Definition at line 82 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), NuMMRunTransition(), ResetCache(), and TrueComponents(). |
|
|
Definition at line 84 of file NuMMRunTransition.h. Referenced by CacheExtrapolation(), MakeFDPred(), MakeFDPredNuBar(), NuMMRunTransition(), and ResetCache(). |
1.3.9.1