MINT2
BinFlipChi2.h
Go to the documentation of this file.
1 #ifndef __BINFLIPCHI2_H__
2 #define __BINFLIPCHI2_H__
3 
4 #include <Mint/Minimisable.h>
6 #include <Mint/TimeBinning.h>
7 #include <string>
9 #include <Mint/counted_ptr.h>
10 #include <complex>
11 #include <Mint/FitParameter.h>
12 #include <utility>
13 #include <TH2D.h>
14 
15 class BinFlipChi2Base;
16 
18  friend class BinFlipChi2Base;
19  public :
20  BinFlipParSet(double, double, double, double,
21  double, double, double, double,
22  unsigned long blindingSeed = 0, double zBlindRange = 0., double deltazBlindRange = 0.) ;
23  BinFlipParSet(const std::string&) ;
28  void fixZeroCPV() ;
29  std::complex<double> zcp() const ;
30  std::complex<double> deltaz() const ;
31  static std::pair<std::complex<double>, std::complex<double> > fromXY(double, double, double, double) ;
32  private:
33  std::complex<double> unblindZcp() const ;
34  std::complex<double> unblindDeltaz() const ;
35 } ;
36 
38  public :
40  virtual void parametersChanged() override ;
41  TH2D scan2D(unsigned, unsigned, float nSigmaRange = 5., unsigned nBins = 300,
42  bool zeroCentre = true, float scale = 1.) ;
44  protected :
46  std::complex<double> m_zcp ;
47  std::complex<double> m_dz ;
48 } ;
49 
50 class BinFlipChi2 : public BinFlipChi2Base {
51  public :
53  BinFlipChi2(BinFlipParSet*, const std::string&, const std::string&, const std::string& fname = "") ;
54 
55  virtual double getVal() override ;
56  std::deque<std::deque<TH1F> > plotsVsTime(const std::string&) const ;
57  void savePlotsVsTime(const std::string&, TFile&) const ;
58 
59  private :
62  double m_lifetime ;
63 
64  void checkPhaseBinning() const ;
65  void init() ;
66 } ;
67 
69  public :
70  typedef std::deque<BinFlipChi2*> BinFlippers ;
73 
74  virtual double getVal() override ;
75  virtual void parametersChanged() override ;
76  private :
78 } ;
79 
80 #endif
void fixZeroCPV()
Definition: BinFlipChi2.cpp:38
std::deque< std::deque< TH1F > > plotsVsTime(const std::string &) const
virtual void parametersChanged() override
Definition: BinFlipChi2.cpp:77
BinFlipParSet(double, double, double, double, double, double, double, double, unsigned long blindingSeed=0, double zBlindRange=0., double deltazBlindRange=0.)
Definition: BinFlipChi2.cpp:17
BinFlipParSet * m_fitPars
Definition: BinFlipChi2.h:45
TH2D scan2D(unsigned, unsigned, float nSigmaRange=5., unsigned nBins=300, bool zeroCentre=true, float scale=1.)
Definition: BinFlipChi2.cpp:82
std::complex< double > unblindDeltaz() const
Definition: BinFlipChi2.cpp:57
TimeBinning m_timeBinning
Definition: BinFlipChi2.h:61
BinFlippers m_flippers
Definition: BinFlipChi2.h:77
std::complex< double > m_zcp
Definition: BinFlipChi2.h:46
double m_lifetime
Definition: BinFlipChi2.h:62
virtual double getVal() override
void savePlotsVsTime(const std::string &, TFile &) const
BinFlipChi2Base(BinFlipParSet *)
Definition: BinFlipChi2.cpp:70
std::complex< double > unblindZcp() const
Definition: BinFlipChi2.cpp:53
BinFlipChi2(BinFlipParSet *, const HadronicParameters &, const TimeBinning &)
MINT::FitParameter zcp_Re
Definition: BinFlipChi2.h:24
static std::pair< std::complex< double >, std::complex< double > > fromXY(double, double, double, double)
Definition: BinFlipChi2.cpp:61
virtual void parametersChanged() override
MINT::FitParameter deltaz_Re
Definition: BinFlipChi2.h:26
BinFlipChi2Simul(BinFlipChi2 *, BinFlipChi2 *)
std::complex< double > deltaz() const
Definition: BinFlipChi2.cpp:49
MINT::FitParameter zcp_Im
Definition: BinFlipChi2.h:25
std::complex< double > zcp() const
Definition: BinFlipChi2.cpp:45
void checkPhaseBinning() const
BinFlipParSet * getBinFlipParSet()
std::complex< double > m_dz
Definition: BinFlipChi2.h:47
virtual double getVal() override
MINT::FitParameter deltaz_Im
Definition: BinFlipChi2.h:27
HadronicParameters m_hadronicPars
Definition: BinFlipChi2.h:60
std::deque< BinFlipChi2 * > BinFlippers
Definition: BinFlipChi2.h:70