MaCh3  2.2.3
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 
23  protected:
26  void LoadAdditionalInfo() override;
27 
31  void MakeJarlskogPlot(const std::unique_ptr<TH1D>& jarl,
32  const std::unique_ptr<TH1D>& jarl_flatsindcp,
33  const std::unique_ptr<TH1D>& jarl_NH,
34  const std::unique_ptr<TH1D>& jarl_NH_flatsindcp,
35  const std::unique_ptr<TH1D>& jarl_IH,
36  const std::unique_ptr<TH1D>& jarl_IH_flatsindcp);
37 
45  double CalcJarlskog(const double s2th13, const double s2th23, const double s2th12, const double dcp) const;
47  double SamplePriorForParam(const int paramIndex,
48  const std::unique_ptr<TRandom3>& randGen,
49  const std::vector<double>& FlatBounds) const;
50 
53 
55  bool OscEnabled;
56 
58  std::string Sin2Theta13Name;
60  std::string Sin2Theta12Name;
62  std::string Sin2Theta23Name;
64  std::string DeltaCPName;
66  std::string DeltaM2_23Name;
67 
78 };
Class responsible for processing MCMC chains, performing diagnostics, generating plots,...
Definition: MCMCProcessor.h:61
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:75
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:58
std::string Sin2Theta12Name
Name of the parameter representing .
Definition: OscProcessor.h:60
int Sin2Theta12Index
Index of in the parameter list.
Definition: OscProcessor.h:71
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:77
std::string DeltaCPName
Name of the parameter representing (the CP-violating phase).
Definition: OscProcessor.h:64
bool PlotJarlskog
Will plot Jarlskog Invariant using information in the chain.
Definition: OscProcessor.h:52
int Sin2Theta13Index
Index of in the parameter list.
Definition: OscProcessor.h:69
std::string Sin2Theta23Name
Name of the parameter representing .
Definition: OscProcessor.h:62
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:73
virtual ~OscProcessor()
Destroys the OscProcessor object.
std::string DeltaM2_23Name
Name of the parameter representing (mass-squared difference).
Definition: OscProcessor.h:66
bool OscEnabled
Will plot Jarlskog Invariant using information in the chain.
Definition: OscProcessor.h:55
void PerformJarlskogAnalysis()
Perform Several Jarlskog Plotting.