Public Member Functions | Private Attributes | Friends | List of all members
cmf::FakeUniverse Class Reference

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N20-12-03/CovarianceMatrixFit/dataProducts/FakeUniverse.h"

Public Member Functions

 FakeUniverse ()
 
 ~FakeUniverse ()
 
 FakeUniverse (cmf::Location const &loc, cmf::Spectrum &asimov, cmf::Spectrum &spect)
 
std::vector< float > const & AsimovSpectrum () const
 
std::vector< float > const & PoissonSpectrum () const
 
cmf::OscillationParameterMap const OscParMap () const
 

Private Attributes

std::vector< cmf::OscParfOscParVec
 the oscillation parameter values for this universe More...
 
cmf::Spectrum fAsimovSpectrum
 the average MC spectrum for the universe More...
 
cmf::Spectrum fPoissonSpectrum
 the fake data spectrum for the universe More...
 

Friends

std::ostream & operator<< (std::ostream &o, cmf::FakeUniverse const &fu)
 

Detailed Description

Definition at line 16 of file FakeUniverse.h.

Constructor & Destructor Documentation

cmf::FakeUniverse::FakeUniverse ( )

Definition at line 10 of file FakeUniverse.cxx.

11  {
12  }
cmf::FakeUniverse::~FakeUniverse ( )

Definition at line 52 of file FakeUniverse.cxx.

53  {
54  }
cmf::FakeUniverse::FakeUniverse ( cmf::Location const &  loc,
cmf::Spectrum asimov,
cmf::Spectrum spect 
)

Definition at line 15 of file FakeUniverse.cxx.

References fAsimovSpectrum, cmf::Location::FDLocation(), fOscParVec, and fPoissonSpectrum.

18  {
19  fAsimovSpectrum .swap(asimov);
20  fPoissonSpectrum.swap(spect);
21 
22  // fill the oscillation parameters for this universe, just use
23  // the FD values and ignore parameters we can't/don't measure, ie
24  // rho, L, Dmsq21, Th12
25 
26  // We want to order the oscillation parameters for future use according to
27  // which analysis the prediction is for:
28  // For three flavor analyses, order by Th23, Dmsq32, Th13, dCP
29  // For four flavor analyses, order by Th24, Dmsq41, Th34, Th23, Dmsq32
30 
31  std::vector<std::string> parOrder;
32  if(loc.FDLocation().find("Th24") != loc.FDLocation().end() ){
33  parOrder = std::vector<std::string>({"Th24", "Dmsq41", "Th34", "Th23", "Dmsq32"});
34  }
35  // look for an NSI parameter - this one needs to be fixed up
36  else if(loc.FDLocation().find("Eps_mumu") != loc.FDLocation().end()){
37  parOrder = std::vector<std::string>({"Eps_mumu", "Eps_ee", "Th23", "Dmsq32"});
38  }
39  else{
40  parOrder = std::vector<std::string>({"Th23", "Dmsq32", "Th13", "dCP"});
41  }
42 
43  for(auto const& itr : parOrder){
44  if(loc.FDLocation().count(itr) > 0)
45  fOscParVec.emplace_back(cmf::OscParm_t(loc.FDLocation().find(itr)->second.Key()),
46  float(loc.FDLocation().find(itr)->second.Value()));
47  }
48 
49  }
enum cmf::osc_params OscParm_t
cmf::Spectrum fPoissonSpectrum
the fake data spectrum for the universe
Definition: FakeUniverse.h:34
cmf::Spectrum fAsimovSpectrum
the average MC spectrum for the universe
Definition: FakeUniverse.h:33
std::vector< cmf::OscPar > fOscParVec
the oscillation parameter values for this universe
Definition: FakeUniverse.h:32

Member Function Documentation

std::vector< float > const & cmf::FakeUniverse::AsimovSpectrum ( ) const

Definition at line 83 of file FakeUniverse.cxx.

References fAsimovSpectrum.

Referenced by cmf::RandomUniverseUtility::MakeUniverseHistograms().

84  {
85  return fAsimovSpectrum;
86  }
cmf::Spectrum fAsimovSpectrum
the average MC spectrum for the universe
Definition: FakeUniverse.h:33
cmf::OscillationParameterMap const cmf::FakeUniverse::OscParMap ( ) const

Definition at line 95 of file FakeUniverse.cxx.

References fOscParVec.

Referenced by cmf::operator<<().

96  {
97  //loop over the far detector point and create an oscillation parameter map
99  for(auto const& itr : fOscParVec){
100  oscPars.emplace(itr.Param(), itr.Value());
101  }
102 
103  return std::move(oscPars);
104  }
std::map< cmf::OscParm_t, float > OscillationParameterMap
Definition: Constants.h:612
std::vector< cmf::OscPar > fOscParVec
the oscillation parameter values for this universe
Definition: FakeUniverse.h:32
std::vector< float > const & cmf::FakeUniverse::PoissonSpectrum ( ) const

Definition at line 89 of file FakeUniverse.cxx.

References fPoissonSpectrum.

Referenced by cmf::RandomUniverseUtility::MakeUniverseHistograms().

90  {
91  return fPoissonSpectrum;
92  }
cmf::Spectrum fPoissonSpectrum
the fake data spectrum for the universe
Definition: FakeUniverse.h:34

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  o,
cmf::FakeUniverse const &  fu 
)
friend

Definition at line 57 of file FakeUniverse.cxx.

58  {
59  o << "universe location ";
60 
61  for(auto const& itr : fu.OscParMap())
62  o << cmf::cOscParams_Strings[itr.first]
63  << " "
64  << itr.second
65  << " ";
66 
67  o << std::endl;
68 
69 // for(size_t b = 0; b < fu.AsimovSpectrum().size(); ++b){
70 // o << "fake universe spectrum bin "
71 // << b
72 // << " poisson: "
73 // << fu.PoissonSpectrum()[b]
74 // << " asimov: "
75 // << fu.AsimovSpectrum()[b]
76 // << "\n";
77 // }
78 
79  return o;
80  }
const std::string cOscParams_Strings[kNumOscParams]
Definition: Constants.h:257

Member Data Documentation

cmf::Spectrum cmf::FakeUniverse::fAsimovSpectrum
private

the average MC spectrum for the universe

Definition at line 33 of file FakeUniverse.h.

Referenced by AsimovSpectrum(), and FakeUniverse().

std::vector<cmf::OscPar> cmf::FakeUniverse::fOscParVec
private

the oscillation parameter values for this universe

Definition at line 32 of file FakeUniverse.h.

Referenced by FakeUniverse(), and OscParMap().

cmf::Spectrum cmf::FakeUniverse::fPoissonSpectrum
private

the fake data spectrum for the universe

Definition at line 34 of file FakeUniverse.h.

Referenced by FakeUniverse(), and PoissonSpectrum().


The documentation for this class was generated from the following files: