MINT2
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
HadronicParameters::Bin Class Reference

Hadronic parameters in a bin of phase space. More...

#include <HadronicParameters.h>

Public Member Functions

 Bin (double, double, const std::complex< double > &, double, double, const std::complex< double > &, double norm=1., double normbar=1., double sumw=1., double sumw2=1.)
 Initialise from predetermined parameters. More...
 
 Bin ()
 Initialise an empty bin. More...
 
 Bin (const std::string &, unsigned, const std::string &fname="")
 Initialise from a config file. More...
 
void add (const EventBinInfo &, const EventBinInfo &, double weight=1.)
 Add a DalitzEvent and its conjugate. More...
 
double Fplus () const
 Get the magnitude sq in the favoured region. More...
 
double Fminus () const
 Get the magnitude sq in the suppressed region. More...
 
std::complex< double > Xplus () const
 Get the cross term for the favoured region. More...
 
std::complex< double > Xminus () const
 Get the cross term for the suppressed region. More...
 
double Fbarplus () const
 Get the magnitude sq in the favoured region, for the CP-conjugate decay. More...
 
double Fbarminus () const
 Get the magnitude sq in the suppressed region, for the CP-conjugate decay. More...
 
std::complex< double > Xbarplus () const
 Get the cross term for the favoured region, for the CP-conjugate decay. More...
 
std::complex< double > Xbarminus () const
 Get the cross term for the suppressed region, for the CP-conjugate decay. More...
 
double getNorm () const
 Get the normalisation. More...
 
void setNorm (double)
 Set the normalisation. More...
 
double getNormBar () const
 Get the normalisation, for the CP-conjugate decay. More...
 
void setNormBar (double)
 Set the normalisation, for the CP-conjugate decay. More...
 
void Print (const std::string &name, unsigned, std::ostream &os=std::cout) const
 Print the parameters. More...
 
double R (double, double, double, const std::complex< double > &, const std::complex< double > &) const
 Get expected ratio of events (suppressed)/(favoured) at the given time for the given mixing parameters. More...
 
double Rbar (double, double, double, const std::complex< double > &, const std::complex< double > &) const
 

Static Public Member Functions

static std::string getName (const std::string &, unsigned)
 Get the name string. More...
 

Private Member Functions

double _R (double, double, double, const std::complex< double > &, const std::complex< double > &, double, double, const std::complex< double > &, const std::complex< double > &) const
 Get the expected ratio of events (suppressed)/(favoured) at the given time for the given mixing parameters. More...
 

Private Attributes

double m_Fplus
 Magnitude sq. in the favoured region. More...
 
double m_Fminus
 Magnitude sq. in the suppressed region. More...
 
std::complex< double > m_X
 Cross term. More...
 
double m_Fbarplus
 Magnitude sq. in the favoured region, for the CP-conjugate decay. More...
 
double m_Fbarminus
 Magnitude sq. in the suppressed region, for the CP-conjugate decay. More...
 
std::complex< double > m_Xbar
 Cross term, for the CP-conjugate decay. More...
 
double m_sumw
 Sum of weights. More...
 
double m_sumw2
 Sum of weights sq. More...
 
double m_norm
 The normalisation scale. - Are there potentially issues with having different normalisation for D0 and D0bar? More...
 
double m_normBar
 The normalisation scale for the CP-conjugate decay. More...
 

Detailed Description

Hadronic parameters in a bin of phase space.

Definition at line 78 of file HadronicParameters.h.

Constructor & Destructor Documentation

◆ Bin() [1/3]

HadronicParameters::Bin::Bin ( double  ,
double  ,
const std::complex< double > &  ,
double  ,
double  ,
const std::complex< double > &  ,
double  norm = 1.,
double  normbar = 1.,
double  sumw = 1.,
double  sumw2 = 1. 
)

Initialise from predetermined parameters.

◆ Bin() [2/3]

HadronicParameters::Bin::Bin ( )

Initialise an empty bin.

Definition at line 165 of file HadronicParameters.cpp.

165  :
166  m_Fplus(0.),
167  m_Fminus(0.),
168  m_X(0., 0.),
169  m_Fbarplus(0.),
170  m_Fbarminus(0.),
171  m_Xbar(0., 0.),
172  m_sumw(0.),
173  m_sumw2(0.),
174  m_norm(1.),
175  m_normBar(1.)
176 {}
std::complex< double > m_Xbar
Cross term, for the CP-conjugate decay.
std::complex< double > m_X
Cross term.
double m_Fbarminus
Magnitude sq. in the suppressed region, for the CP-conjugate decay.
double m_normBar
The normalisation scale for the CP-conjugate decay.
double m_Fminus
Magnitude sq. in the suppressed region.
double m_norm
The normalisation scale. - Are there potentially issues with having different normalisation for D0 an...
double m_sumw
Sum of weights.
double m_sumw2
Sum of weights sq.
double m_Fbarplus
Magnitude sq. in the favoured region, for the CP-conjugate decay.
double m_Fplus
Magnitude sq. in the favoured region.

◆ Bin() [3/3]

HadronicParameters::Bin::Bin ( const std::string &  ,
unsigned  ,
const std::string &  fname = "" 
)

Initialise from a config file.

Member Function Documentation

◆ _R()

double HadronicParameters::Bin::_R ( double  ,
double  ,
double  ,
const std::complex< double > &  ,
const std::complex< double > &  ,
double  ,
double  ,
const std::complex< double > &  ,
const std::complex< double > &   
) const
private

Get the expected ratio of events (suppressed)/(favoured) at the given time for the given mixing parameters.

Definition at line 319 of file HadronicParameters.cpp.

322  {
323  t /= lifetime ;
324  t2 /= lifetime * lifetime ;
325  double r = _Fminus/_Fplus ;
326  double term1 = (1 + 0.25 * t2 * (zcp*zcp - dz*dz).real()) ;
327  double term2 = 0.25 * t2 * norm(sumz) ;
328  double term3 = sqrt(r) * t * (conj(X) * sumz).real() ;
329  double numerator = r * term1 + term2 + term3 ;
330  double term4 = sqrt(r) * t * (X * sumz).real() ;
331  double denominator = term1 + r * term2 + term4 ;
332  return numerator/denominator ;
333 }

◆ add()

void HadronicParameters::Bin::add ( const EventBinInfo evtPlus,
const EventBinInfo evtMinus,
double  weight = 1. 
)

Add a DalitzEvent and its conjugate.

Definition at line 221 of file HadronicParameters.cpp.

223  {
224  m_Fplus += evtPlus.F * weight ;
225  m_Fminus += evtMinus.F * weight ;
226  m_Fbarplus += evtMinus.Fbar * weight ;
227  m_Fbarminus += evtPlus.Fbar * weight ;
228  m_X += conj(evtPlus.amp) * evtPlus.ampBar * weight ;
229  m_Xbar += conj(evtMinus.ampBar) * evtMinus.amp * weight ;
230  m_sumw += weight ;
231  m_sumw2 += weight*weight ;
232 }
std::complex< double > m_Xbar
Cross term, for the CP-conjugate decay.
std::complex< double > m_X
Cross term.
double m_Fbarminus
Magnitude sq. in the suppressed region, for the CP-conjugate decay.
double m_Fminus
Magnitude sq. in the suppressed region.
double m_sumw
Sum of weights.
double m_sumw2
Sum of weights sq.
double m_Fbarplus
Magnitude sq. in the favoured region, for the CP-conjugate decay.
double m_Fplus
Magnitude sq. in the favoured region.

◆ Fbarminus()

double HadronicParameters::Bin::Fbarminus ( ) const

Get the magnitude sq in the suppressed region, for the CP-conjugate decay.

Definition at line 254 of file HadronicParameters.cpp.

254  {
255  return m_Fbarminus / m_sumw / m_normBar ;
256 }
double m_Fbarminus
Magnitude sq. in the suppressed region, for the CP-conjugate decay.
double m_normBar
The normalisation scale for the CP-conjugate decay.
double m_sumw
Sum of weights.

◆ Fbarplus()

double HadronicParameters::Bin::Fbarplus ( ) const

Get the magnitude sq in the favoured region, for the CP-conjugate decay.

Definition at line 250 of file HadronicParameters.cpp.

250  {
251  return m_Fbarplus / m_sumw / m_normBar ;
252 }
double m_normBar
The normalisation scale for the CP-conjugate decay.
double m_sumw
Sum of weights.
double m_Fbarplus
Magnitude sq. in the favoured region, for the CP-conjugate decay.

◆ Fminus()

double HadronicParameters::Bin::Fminus ( ) const

Get the magnitude sq in the suppressed region.

Definition at line 238 of file HadronicParameters.cpp.

238  {
239  return m_Fminus / m_sumw / m_norm ;
240 }
double m_Fminus
Magnitude sq. in the suppressed region.
double m_norm
The normalisation scale. - Are there potentially issues with having different normalisation for D0 an...
double m_sumw
Sum of weights.

◆ Fplus()

double HadronicParameters::Bin::Fplus ( ) const

Get the magnitude sq in the favoured region.

Definition at line 234 of file HadronicParameters.cpp.

234  {
235  return m_Fplus / m_sumw / m_norm ;
236 }
double m_norm
The normalisation scale. - Are there potentially issues with having different normalisation for D0 an...
double m_sumw
Sum of weights.
double m_Fplus
Magnitude sq. in the favoured region.

◆ getName()

string HadronicParameters::Bin::getName ( const std::string &  ,
unsigned   
)
static

Get the name string.

Definition at line 301 of file HadronicParameters.cpp.

301  {
302  ostringstream sstr ;
303  sstr << name << "_bin_" << number ;
304  return sstr.str() ;
305 }

◆ getNorm()

double HadronicParameters::Bin::getNorm ( ) const

Get the normalisation.

Definition at line 266 of file HadronicParameters.cpp.

266  {
267  return m_norm ;
268 }
double m_norm
The normalisation scale. - Are there potentially issues with having different normalisation for D0 an...

◆ getNormBar()

double HadronicParameters::Bin::getNormBar ( ) const

Get the normalisation, for the CP-conjugate decay.

Definition at line 274 of file HadronicParameters.cpp.

274  {
275  return m_normBar ;
276 }
double m_normBar
The normalisation scale for the CP-conjugate decay.

◆ Print()

void HadronicParameters::Bin::Print ( const std::string &  name,
unsigned  ,
std::ostream &  os = std::cout 
) const

Print the parameters.

Definition at line 282 of file HadronicParameters.cpp.

282  {
283  string name = getName(_name, number) ;
284  complex<double> Xp = Xplus() ;
285  complex<double> Xbarp = Xbarplus() ;
286  os.precision(16) ;
287  os << name << "_Fplus\t" << Fplus() << endl ;
288  os << name << "_Fminus\t" << Fminus() << endl ;
289  os << name << "_Xplus_Re\t" << Xp.real() << endl ;
290  os << name << "_Xplus_Im\t" << Xp.imag() << endl ;
291  os << name << "_Fbarplus\t" << Fbarplus() << endl ;
292  os << name << "_Fbarminus\t" << Fbarminus() << endl ;
293  os << name << "_Xbarplus_Re\t" << Xbarp.real() << endl ;
294  os << name << "_Xbarplus_Im\t" << Xbarp.imag() << endl ;
295  os << name << "_sumw\t" << m_sumw << endl ;
296  os << name << "_sumw2\t" << m_sumw2 << endl ;
297  os << name << "_norm\t" << m_norm << endl ;
298  os << name << "_normBar\t" << m_normBar << endl ;
299 }
double Fminus() const
Get the magnitude sq in the suppressed region.
std::complex< double > Xbarplus() const
Get the cross term for the favoured region, for the CP-conjugate decay.
double Fplus() const
Get the magnitude sq in the favoured region.
std::complex< double > Xplus() const
Get the cross term for the favoured region.
static std::string getName(const std::string &, unsigned)
Get the name string.
double m_normBar
The normalisation scale for the CP-conjugate decay.
double m_norm
The normalisation scale. - Are there potentially issues with having different normalisation for D0 an...
double m_sumw
Sum of weights.
double m_sumw2
Sum of weights sq.
double Fbarminus() const
Get the magnitude sq in the suppressed region, for the CP-conjugate decay.
double Fbarplus() const
Get the magnitude sq in the favoured region, for the CP-conjugate decay.

◆ R()

double HadronicParameters::Bin::R ( double  ,
double  ,
double  ,
const std::complex< double > &  ,
const std::complex< double > &   
) const

Get expected ratio of events (suppressed)/(favoured) at the given time for the given mixing parameters.

Definition at line 307 of file HadronicParameters.cpp.

308  {
309  complex<double> sumz(zcp + dz) ;
310  return _R(t, t2, lifetime, zcp, dz, Fplus(), Fminus(), Xplus(), sumz) ;
311 }
double Fminus() const
Get the magnitude sq in the suppressed region.
double Fplus() const
Get the magnitude sq in the favoured region.
std::complex< double > Xplus() const
Get the cross term for the favoured region.
double _R(double, double, double, const std::complex< double > &, const std::complex< double > &, double, double, const std::complex< double > &, const std::complex< double > &) const
Get the expected ratio of events (suppressed)/(favoured) at the given time for the given mixing param...

◆ Rbar()

double HadronicParameters::Bin::Rbar ( double  ,
double  ,
double  ,
const std::complex< double > &  ,
const std::complex< double > &   
) const

Get expected ratio of events (suppressed)/(favoured) at the given time for the given mixing parameters, for the CP-conjugate decay.

Definition at line 313 of file HadronicParameters.cpp.

314  {
315  complex<double> sumz(zcp - dz) ;
316  return _R(t, t2, lifetime, zcp, dz, Fbarplus(), Fbarminus(), Xbarplus(), sumz) ;
317 }
std::complex< double > Xbarplus() const
Get the cross term for the favoured region, for the CP-conjugate decay.
double Fbarminus() const
Get the magnitude sq in the suppressed region, for the CP-conjugate decay.
double Fbarplus() const
Get the magnitude sq in the favoured region, for the CP-conjugate decay.
double _R(double, double, double, const std::complex< double > &, const std::complex< double > &, double, double, const std::complex< double > &, const std::complex< double > &) const
Get the expected ratio of events (suppressed)/(favoured) at the given time for the given mixing param...

◆ setNorm()

void HadronicParameters::Bin::setNorm ( double  norm)

Set the normalisation.

Definition at line 270 of file HadronicParameters.cpp.

270  {
271  m_norm = norm ;
272 }
double m_norm
The normalisation scale. - Are there potentially issues with having different normalisation for D0 an...

◆ setNormBar()

void HadronicParameters::Bin::setNormBar ( double  norm)

Set the normalisation, for the CP-conjugate decay.

Definition at line 278 of file HadronicParameters.cpp.

278  {
279  m_normBar = norm ;
280 }
double m_normBar
The normalisation scale for the CP-conjugate decay.

◆ Xbarminus()

complex< double > HadronicParameters::Bin::Xbarminus ( ) const

Get the cross term for the suppressed region, for the CP-conjugate decay.

Definition at line 262 of file HadronicParameters.cpp.

262  {
263  return conj(Xbarplus()) ;
264 }
std::complex< double > Xbarplus() const
Get the cross term for the favoured region, for the CP-conjugate decay.

◆ Xbarplus()

complex< double > HadronicParameters::Bin::Xbarplus ( ) const

Get the cross term for the favoured region, for the CP-conjugate decay.

Definition at line 258 of file HadronicParameters.cpp.

258  {
259  return m_Xbar / m_sumw / sqrt(Fbarplus() * Fminus()) / m_normBar ;
260 }
double Fminus() const
Get the magnitude sq in the suppressed region.
std::complex< double > m_Xbar
Cross term, for the CP-conjugate decay.
double m_normBar
The normalisation scale for the CP-conjugate decay.
double m_sumw
Sum of weights.
double Fbarplus() const
Get the magnitude sq in the favoured region, for the CP-conjugate decay.

◆ Xminus()

complex< double > HadronicParameters::Bin::Xminus ( ) const

Get the cross term for the suppressed region.

Definition at line 246 of file HadronicParameters.cpp.

246  {
247  return conj(Xplus()) ;
248 }
std::complex< double > Xplus() const
Get the cross term for the favoured region.

◆ Xplus()

complex< double > HadronicParameters::Bin::Xplus ( ) const

Get the cross term for the favoured region.

Definition at line 242 of file HadronicParameters.cpp.

242  {
243  return m_X / m_sumw / sqrt(Fplus() * Fbarminus()) / m_norm ;
244 }
double Fplus() const
Get the magnitude sq in the favoured region.
std::complex< double > m_X
Cross term.
double m_norm
The normalisation scale. - Are there potentially issues with having different normalisation for D0 an...
double m_sumw
Sum of weights.
double Fbarminus() const
Get the magnitude sq in the suppressed region, for the CP-conjugate decay.

Member Data Documentation

◆ m_Fbarminus

double HadronicParameters::Bin::m_Fbarminus
private

Magnitude sq. in the suppressed region, for the CP-conjugate decay.

Definition at line 89 of file HadronicParameters.h.

◆ m_Fbarplus

double HadronicParameters::Bin::m_Fbarplus
private

Magnitude sq. in the favoured region, for the CP-conjugate decay.

Definition at line 87 of file HadronicParameters.h.

◆ m_Fminus

double HadronicParameters::Bin::m_Fminus
private

Magnitude sq. in the suppressed region.

Definition at line 83 of file HadronicParameters.h.

◆ m_Fplus

double HadronicParameters::Bin::m_Fplus
private

Magnitude sq. in the favoured region.

Definition at line 81 of file HadronicParameters.h.

◆ m_norm

double HadronicParameters::Bin::m_norm
private

The normalisation scale. - Are there potentially issues with having different normalisation for D0 and D0bar?

Definition at line 97 of file HadronicParameters.h.

◆ m_normBar

double HadronicParameters::Bin::m_normBar
private

The normalisation scale for the CP-conjugate decay.

Definition at line 99 of file HadronicParameters.h.

◆ m_sumw

double HadronicParameters::Bin::m_sumw
private

Sum of weights.

Definition at line 93 of file HadronicParameters.h.

◆ m_sumw2

double HadronicParameters::Bin::m_sumw2
private

Sum of weights sq.

Definition at line 95 of file HadronicParameters.h.

◆ m_X

std::complex<double> HadronicParameters::Bin::m_X
private

Cross term.

Definition at line 85 of file HadronicParameters.h.

◆ m_Xbar

std::complex<double> HadronicParameters::Bin::m_Xbar
private

Cross term, for the CP-conjugate decay.

Definition at line 91 of file HadronicParameters.h.


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