MaCh3  2.4.2
Reference Guide
OscProcessor.h
Go to the documentation of this file.
1 #pragma once
2 
3 // MaCh3 includes
6 
10 class OscProcessor : public MCMCProcessor {
11  public:
14  OscProcessor(const std::string &InputFile);
16  virtual ~OscProcessor();
17 
22 
26  void MakePiePlot();
27 
28  protected:
31  void LoadAdditionalInfo() override;
32 
36  void MakeJarlskogPlot(const std::unique_ptr<TH1D>& jarl,
37  const std::unique_ptr<TH1D>& jarl_flatsindcp,
38  const std::unique_ptr<TH1D>& jarl_NH,
39  const std::unique_ptr<TH1D>& jarl_NH_flatsindcp,
40  const std::unique_ptr<TH1D>& jarl_IH,
41  const std::unique_ptr<TH1D>& jarl_IH_flatsindcp);
42 
50  double CalcJarlskog(const double s2th13, const double s2th23, const double s2th12, const double dcp) const;
52  double SamplePriorForParam(const int paramIndex,
53  const std::unique_ptr<TRandom3>& randGen,
54  const std::vector<double>& FlatBounds) const;
55 
58 
60  bool OscEnabled;
61 
63  std::string Sin2Theta13Name;
65  std::string Sin2Theta12Name;
67  std::string Sin2Theta23Name;
69  std::string DeltaCPName;
71  std::string DeltaM2_23Name;
72 
83 };
Class responsible for processing MCMC chains, performing diagnostics, generating plots,...
Definition: MCMCProcessor.h:58
This class extends MCMC and allow specialised for Oscillation parameters analysis which require speci...
Definition: OscProcessor.h:10
double SamplePriorForParam(const int paramIndex, const std::unique_ptr< TRandom3 > &randGen, const std::vector< double > &FlatBounds) const
Draw Prior value.
int DeltaCPIndex
Index of in the parameter list.
Definition: OscProcessor.h:80
double CalcJarlskog(const double s2th13, const double s2th23, const double s2th12, const double dcp) const
Calculate Jarlskog Invariant using oscillation parameters.
std::string Sin2Theta13Name
Name of the parameter representing .
Definition: OscProcessor.h:63
std::string Sin2Theta12Name
Name of the parameter representing .
Definition: OscProcessor.h:65
int Sin2Theta12Index
Index of in the parameter list.
Definition: OscProcessor.h:76
OscProcessor(const std::string &InputFile)
Constructs an OscProcessor object with the specified input file and options.
int DeltaM2_23Index
Index of in the parameter list.
Definition: OscProcessor.h:82
std::string DeltaCPName
Name of the parameter representing (the CP-violating phase).
Definition: OscProcessor.h:69
bool PlotJarlskog
Will plot Jarlskog Invariant using information in the chain.
Definition: OscProcessor.h:57
int Sin2Theta13Index
Index of in the parameter list.
Definition: OscProcessor.h:74
std::string Sin2Theta23Name
Name of the parameter representing .
Definition: OscProcessor.h:67
void LoadAdditionalInfo() override
Read the Osc cov file and get the input central values and errors Here we allow Jarlskog Shenanigans.
void MakeJarlskogPlot(const std::unique_ptr< TH1D > &jarl, const std::unique_ptr< TH1D > &jarl_flatsindcp, const std::unique_ptr< TH1D > &jarl_NH, const std::unique_ptr< TH1D > &jarl_NH_flatsindcp, const std::unique_ptr< TH1D > &jarl_IH, const std::unique_ptr< TH1D > &jarl_IH_flatsindcp)
Perform Jarlskog Plotting.
int Sin2Theta23Index
Index of in the parameter list.
Definition: OscProcessor.h:78
virtual ~OscProcessor()
Destroys the OscProcessor object.
std::string DeltaM2_23Name
Name of the parameter representing (mass-squared difference).
Definition: OscProcessor.h:71
bool OscEnabled
Will plot Jarlskog Invariant using information in the chain.
Definition: OscProcessor.h:60
void MakePiePlot()
Make fancy Pie plot for delta CP.
void PerformJarlskogAnalysis()
Perform Several Jarlskog Plotting.