All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ReactorExperiment.cxx
Go to the documentation of this file.
2 
4 
6 
7 #include "TDirectory.h"
8 #include "TH1.h"
9 #include "TObjString.h"
10 
11 #include <cassert>
12 
13 namespace ana
14 {
15  //----------------------------------------------------------------------
17  const SystShifts& /*syst*/) const
18  {
20  }
21 
22  //----------------------------------------------------------------------
23  void ReactorExperiment::SaveTo(TDirectory* dir) const
24  {
25  TDirectory* tmp = dir;
26 
27  dir->cd();
28  TObjString("ReactorExperiment").Write("type");
29 
30  TH1D params("", "", 2, 0, 2);
31  params.SetBinContent(1, fBestFit);
32  params.SetBinContent(2, fSigma);
33  params.Write("params");
34 
35  tmp->cd();
36  }
37 
38  //----------------------------------------------------------------------
39  std::unique_ptr<ReactorExperiment> ReactorExperiment::LoadFrom(TDirectory* dir)
40  {
41  TObjString* tag = (TObjString*)dir->Get("type");
42  assert(tag);
43  assert(tag->GetString() == "ReactorExperiment");
44 
45  TH1* params = (TH1*)dir->Get("params");
46  assert(params);
47 
48  const double bestFit = params->GetBinContent(1);
49  const double sigma = params->GetBinContent(2);
50 
51  return std::unique_ptr<ReactorExperiment>(new ReactorExperiment(bestFit,
52  sigma));
53  }
54 
55  //----------------------------------------------------------------------
57  {
58  // Daya Bay, Neutrino 2014:
59  // https://indico.fnal.gov/getFile.py/access?contribId=256&sessionId=15&resId=0&materialId=slides&confId=8022
60  return new ReactorExperiment(.084, .005);
61  }
62 
63  //----------------------------------------------------------------------
65  {
66  // Weighted average of
67  // Daya Bay: arXiv:1505.03456
68  // RENO: arXiv:1410.7987
69  // Double Chooz: 1406.7763
70  return new ReactorExperiment(.086, .005);
71  }
72 
73  //----------------------------------------------------------------------
75  {
76  // PDG website as of Jun 2016
77  return new ReactorExperiment(.085, .005);
78  }
79 
80  //----------------------------------------------------------------------
82  {
83  // http://pdg.lbl.gov/2017/tables/rpp2017-sum-leptons.pdf
84  // ssth13=0.021+/-0.0011 -> ss2th13=0.082+/-0.004
85  return new ReactorExperiment(.082, .004);
86  }
87 }
void SaveTo(TDirectory *dir) const override
Simple record of shifts applied to systematic parameters.
Definition: SystShifts.h:16
const ReactorExperiment * WorldReactorConstraint2015()
Weighted average of all experiments as of first nue paper writing.
process_name opflashCryoW ana
T sqr(T x)
More efficient square function than pow(x,2)
Definition: MathUtil.h:23
const ReactorExperiment * WorldReactorConstraint2016()
Updated value for SecondAna based on the latest PDG.
const ReactorExperiment * WorldReactorConstraint2017()
Reactor constraint from PDG 2017 update.
Very simple model allowing inclusion of reactor constraints.
static std::unique_ptr< ReactorExperiment > LoadFrom(TDirectory *dir)
tuple dir
Definition: dropbox.py:28
const ReactorExperiment * DayaBayConstraint2014()
A ReactorExperiment initialized with the Nu2014 Daya Bay constraints.
virtual double GetValue(const osc::IOscCalcAdjustable *osc) const
Definition: FitVars.cxx:24
const FitSinSq2Theta13 kFitSinSq2Theta13
Definition: FitVars.h:38
ReactorExperiment(double bestFit, double sigma)
virtual double ChiSq(osc::IOscCalcAdjustable *osc, const SystShifts &shift=SystShifts::Nominal()) const override