MINT2
Public Member Functions | Protected Attributes | List of all members
FullAmpsPdfFlexiFastCPV Class Reference
Inheritance diagram for FullAmpsPdfFlexiFastCPV:
MINT::PdfBase< IDalitzEvent > IDalitzPdf MINT::IPdf< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent > MINT::IPdf< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent >

Public Member Functions

void parametersChanged ()
 
void beginFit ()
 
void endFit ()
 
void printIntegralVals ()
 
double getValForGeneration (IDalitzEvent &evt)
 
void getSmearedTime (double &t, double &dt, TRandom3 &r)
 
double un_normalised_noPs (IDalitzEvent &evt)
 
virtual double getVal (IDalitzEvent &evt)
 
virtual double getVal_withPs (IDalitzEvent &evt)
 
virtual double getVal_noPs (IDalitzEvent &evt)
 
virtual double getVal (IDalitzEvent *evt)
 
virtual double getVal_withPs (IDalitzEvent *evt)
 
virtual double getVal_noPs (IDalitzEvent *evt)
 
virtual DalitzHistoSet histoSet ()
 
void doFinalStatsAndSaveForAmp12 (MINT::Minimiser *min=0, const std::string &fname="FitAmpResults", const std::string &fnameROOT="fitFractions")
 
 FullAmpsPdfFlexiFastCPV (AmpsPdfFlexiFast *amps1, AmpsPdfFlexiFast *amps2, AmpsPdfFlexiFast *ampsSum, MINT::FitParameter &r, MINT::FitParameter &delta, MINT::FitParameter &gamma, MINT::FitParameter &tau, MINT::FitParameter &dGamma, MINT::FitParameter &dm, MINT::FitParameter &eff_tag, MINT::FitParameter &w)
 
- Public Member Functions inherited from MINT::PdfBase< IDalitzEvent >
 PdfBase ()
 
 PdfBase (const PdfBase< IDalitzEvent > &)
 
virtual double RealVal (IDalitzEvent &evt)
 
virtual double getNewVal (IDalitzEvent &evt)
 
virtual ~PdfBase ()
 
- Public Member Functions inherited from MINT::IPdf< IDalitzEvent >
virtual void Gradient (IDalitzEvent &evt, std::vector< double > &grad, MINT::MinuitParameterSet *mps)
 
virtual bool useAnalyticGradient ()
 
- Public Member Functions inherited from MINT::IReturnRealForEvent< IDalitzEvent >
virtual ~IReturnRealForEvent ()
 

Protected Attributes

AmpsPdfFlexiFast_amps1
 
AmpsPdfFlexiFast_amps2
 
AmpsPdfFlexiFast_ampsSum
 
FitParameter_r
 
FitParameter_delta
 
FitParameter_gamma
 
FitParameter_tau
 
FitParameter_dGamma
 
FitParameter_dm
 
FitParameter_eff_tag
 
FitParameter_w
 
RooRealVar * _r_t
 
RooRealVar * _r_dt
 
RooCategory * _r_q
 
RooRealVar * _r_mistag
 
RooCategory * _r_f
 
RooRealVar * _r_scale_mean_dt
 
RooRealVar * _r_scale_sigma_dt
 
RooAbsPdf * _pdf_sigma_t
 
RooAbsPdf * _pdf_omega_os
 
RooAbsPdf * _pdf_omega_ss
 
RooCubicSplineFun_spline
 
RooGaussEfficiencyModel_efficiency
 
NamedParameter< double > _min_TAU
 
NamedParameter< double > _max_TAU
 
DecRateCoeff_Bd_cos_coeff
 
DecRateCoeff_Bd_cosh_coeff
 
DecRateCoeff_Bd_sin_coeff
 
DecRateCoeff_Bd_sinh_coeff
 
double _intA
 
double _intAbar
 
complex< double > _intAAbar
 

Additional Inherited Members

- Protected Member Functions inherited from MINT::IReturnRealForEvent< IDalitzEvent >
 IReturnRealForEvent ()
 

Detailed Description

Definition at line 249 of file BsDsKpipi_TD_ampFit.cpp.

Constructor & Destructor Documentation

◆ FullAmpsPdfFlexiFastCPV()

FullAmpsPdfFlexiFastCPV::FullAmpsPdfFlexiFastCPV ( AmpsPdfFlexiFast amps1,
AmpsPdfFlexiFast amps2,
AmpsPdfFlexiFast ampsSum,
MINT::FitParameter r,
MINT::FitParameter delta,
MINT::FitParameter gamma,
MINT::FitParameter tau,
MINT::FitParameter dGamma,
MINT::FitParameter dm,
MINT::FitParameter eff_tag,
MINT::FitParameter w 
)
inline

Definition at line 486 of file BsDsKpipi_TD_ampFit.cpp.

488  :
489  _amps1(amps1),_amps2(amps2),_ampsSum(ampsSum),_r(r),_delta(delta),_gamma(gamma),_tau(tau),_dGamma(dGamma),_dm(dm),_eff_tag(eff_tag),_w(w),
490  _intA(-1),_intAbar(-1),_intAAbar(-1),_min_TAU("min_TAU", 0.4), _max_TAU("max_TAU", 10.)
491  {
492  // Init B2DX parameters
493  _r_t = new RooRealVar("t", "time", _min_TAU, _max_TAU);
494  _r_dt = new RooRealVar("dt", "per-candidate time resolution estimate",0., 0.25);
495  _r_mistag = new RooRealVar("mistag", "mistag",0.);
496  _r_f = new RooCategory("qf", "qf");
497  _r_f->defineType("h+", +1);
498  _r_f->defineType("h-", -1);
499  _r_f->setRange("Range_p","h+");
500  _r_f->setRange("Range_m","h-");
501  _r_q = new RooCategory("qt", "qt");
502  _r_q->defineType("B+", +1);
503  _r_q->defineType("B-", -1) ;
504  _r_q->defineType("untagged", 0);
505 
506  _cosh_coeff = new DecRateCoeff_Bd("cosh_coeff",
507  "cosh_coeff",
509  *_r_f,
510  RooRealConstant::value(1.),
511  RooRealConstant::value(1.),
512  *_r_q,
513  *_r_mistag,
514  RooRealConstant::value(0.),
515  RooRealConstant::value(1.),
516  RooRealConstant::value(0.),
517  RooRealConstant::value(0.),
518  RooRealConstant::value(0.),
519  RooRealConstant::value(_eff_tag),
520  RooRealConstant::value(0.),
521  RooRealConstant::value(0.),
522  RooRealConstant::value(0.));
523 
524  _cos_coeff = new DecRateCoeff_Bd("cos_coeff",
525  "cos_coeff",
527  *_r_f,
528  RooRealConstant::value(1.),
529  RooRealConstant::value(-1.),
530  *_r_q,
531  *_r_mistag,
532  RooRealConstant::value(0.),
533  RooRealConstant::value(1.),
534  RooRealConstant::value(0.),
535  RooRealConstant::value(0.),
536  RooRealConstant::value(0.),
537  RooRealConstant::value(_eff_tag),
538  RooRealConstant::value(0.),
539  RooRealConstant::value(0.),
540  RooRealConstant::value(0.));
541 
542  _sinh_coeff = new DecRateCoeff_Bd("sinh_coeff",
543  "sinh_coeff",
545  *_r_f,
546  RooRealConstant::value(-2.),
547  RooRealConstant::value(-2.),
548  *_r_q,
549  *_r_mistag,
550  RooRealConstant::value(0.),
551  RooRealConstant::value(1.),
552  RooRealConstant::value(0.),
553  RooRealConstant::value(0.),
554  RooRealConstant::value(0.),
555  RooRealConstant::value(_eff_tag),
556  RooRealConstant::value(0.),
557  RooRealConstant::value(0.),
558  RooRealConstant::value(0.));
559 
560  _sin_coeff = new DecRateCoeff_Bd("sin_coeff",
561  "sin_coeff",
563  *_r_f,
564  RooRealConstant::value(2.),
565  RooRealConstant::value(-2.),
566  *_r_q,
567  *_r_mistag,
568  RooRealConstant::value(0.),
569  RooRealConstant::value(1.),
570  RooRealConstant::value(0.),
571  RooRealConstant::value(0.),
572  RooRealConstant::value(0.),
573  RooRealConstant::value(_eff_tag),
574  RooRealConstant::value(0.),
575  RooRealConstant::value(0.),
576  RooRealConstant::value(0.));
577 
578  _r_scale_mean_dt = new RooRealVar("scale_mean_dt", "scale_mean_dt", 0);
579  _r_scale_sigma_dt = new RooRealVar("scale_sigma_dt", "scale_sigma_dt", 1.2);
580 
581  //SPLINE KNOTS
582  NamedParameter<double> knot_positions("knot_positions", 0.5, 1., 1.5, 2., 3., 6., 9.5);
583  vector<double> myBinning = knot_positions.getVector();
584 
585  NamedParameter<double> knot_values("knot_values", 0.38,0.63,0.86,1.05,1.14,1.24,1.22);
586  vector<double> values = knot_values.getVector() ;
587 
588  //SPLINE COEFFICIENTS
589  RooArgList tacc_list;
590  for(int i= 0; i< values.size(); i++){
591  tacc_list.add(*(new RooRealVar(("coeff_"+anythingToString(i)).c_str(), ("coeff_"+anythingToString(i)).c_str(), values[i], 0.0, 10.0)));
592  }
593  tacc_list.add(*(new RooRealVar(("coeff_"+anythingToString((int)values.size())).c_str(), ("coeff_"+anythingToString((int)values.size())).c_str(), 1.0)));
594 
595  RooFormulaVar* coeff_last = new RooFormulaVar(("coeff_"+anythingToString((int)values.size()+1)).c_str(),("coeff_"+anythingToString((int)values.size()+1)).c_str(), "@0 + ((@0-@1)/(@2-@3)) * (@4 - @2)", RooArgList(RooRealConstant::value(1.0), *tacc_list.find(("coeff_"+anythingToString((int)values.size()-1)).c_str()) , RooRealConstant::value(myBinning[myBinning.size()-1]), RooRealConstant::value(myBinning[myBinning.size()-2]), RooRealConstant::value(_r_t->getMax()) ));
596 
597  tacc_list.add(*coeff_last);
598 
599  //CUBIC SPLINE FUNCTION
600  _spline = new RooCubicSplineFun("splinePdf", "splinePdf", *_r_t, myBinning, tacc_list);
601  _efficiency = new RooGaussEfficiencyModel("resmodel", "resmodel", *_r_t, *_spline, RooRealConstant::value(0.), *_r_dt, *_r_scale_mean_dt, *_r_scale_sigma_dt );
602 
603  // Plot acceptance
604  TH1F *h_spline = new TH1F("", "", 100, _min_TAU, _max_TAU);
605  for (int i = 1; i<=h_spline->GetNbinsX(); i++) {
606  _r_t->setVal(h_spline->GetXaxis()->GetBinCenter(i));
607  h_spline->SetBinContent(i,_spline->getVal());
608  }
609 
610  TCanvas* c = new TCanvas();
611  h_spline->SetLineColor(kRed);
612  h_spline->Draw("histc");
613  c->Print("spline.eps");
614  c->Print("spline.pdf");
615 
616  // Init pdf for sigma_t
617  _pdf_sigma_t = new RooGenericPdf("pdf_sigma_t","pow(7. / @1, 7) / 720. * pow(@0, 6) * exp(-7. * @0 / @1)",RooArgList(*_r_dt, RooRealConstant::value(0.04)));
618 
619  }
NamedParameter< double > _min_TAU
RooGaussEfficiencyModel * _efficiency
NamedParameter< double > _max_TAU
std::string anythingToString(const T &anything)
Definition: Utils.h:62
cosh/sinh/cos/sin coefficients in decay rate equations

Member Function Documentation

◆ beginFit()

void FullAmpsPdfFlexiFastCPV::beginFit ( )
inlinevirtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 301 of file BsDsKpipi_TD_ampFit.cpp.

◆ doFinalStatsAndSaveForAmp12()

void FullAmpsPdfFlexiFastCPV::doFinalStatsAndSaveForAmp12 ( MINT::Minimiser min = 0,
const std::string &  fname = "FitAmpResults",
const std::string &  fnameROOT = "fitFractions" 
)
inline

Definition at line 479 of file BsDsKpipi_TD_ampFit.cpp.

479  {
482  _amps1->doFinalStatsAndSave(min,((string)fname+".txt").c_str(),((string)fnameROOT+".root").c_str());
483  _amps2->doFinalStatsAndSave(min,((string)fname+"_CC.txt").c_str(),((string)fnameROOT+"_CC.root").c_str());
484  }
void doFinalStatsAndSave(MINT::Minimiser *min=0, const std::string &fname="FitAmpResults.txt", const std::string &fnameROOT="fitFractions.root")

◆ endFit()

void FullAmpsPdfFlexiFastCPV::endFit ( )
inlinevirtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 305 of file BsDsKpipi_TD_ampFit.cpp.

◆ getSmearedTime()

void FullAmpsPdfFlexiFastCPV::getSmearedTime ( double &  t,
double &  dt,
TRandom3 &  r 
)
inline

Definition at line 348 of file BsDsKpipi_TD_ampFit.cpp.

348  {
349  while(true){
350  t = r.Exp(_tau);
351  dt = r.Uniform(0.,0.25);
352  t = t + r.Gaus(0,_r_scale_sigma_dt->getVal()*dt);
353  if(_min_TAU< t && t < _max_TAU) return;
354  }
355  }
NamedParameter< double > _min_TAU
NamedParameter< double > _max_TAU

◆ getVal() [1/2]

virtual double FullAmpsPdfFlexiFastCPV::getVal ( IDalitzEvent evt)
inlinevirtual

Implements IDalitzPdf.

Definition at line 393 of file BsDsKpipi_TD_ampFit.cpp.

393  {
394 
395  const double val = un_normalised_noPs(evt);
396  double r = (double)_r; // * sqrt(_intA/_intAbar);
397  const double f = static_cast<double>((int)evt.getValueFromVector(4));
398 
399  const complex<double> phase_diff_m = polar((double)r,((double) _delta + (double)_gamma)/360.*2*pi);
400  const complex<double> int_interference_m = phase_diff_m * _intAAbar ;
401 
402  const complex<double> phase_diff_p = polar((double)r,((double) _delta -(double)_gamma)/360.*2*pi);
403  const complex<double> int_interference_p = phase_diff_p * _intAAbar ;
404 
405  const complex<double> phase_diff = polar((double)r,((double) _delta -(double)_gamma*f)/360.*2*pi);
406  const complex<double> int_interference = phase_diff * _intAAbar ;
407 
408  TString range = "";
409  //if(f == 1) range = "Range_p";
410  //else range = "Range_m";
411 
412 
413  if(_intA == -1 ){
414  cout << "AmpsPdfFlexiFastCPV:: _norm = -1, should not have happened." << endl;
415  throw "can't deal with that";
416  }
417 
420  //+ (int_interference_m.real() * _sinh_coeff->analyticalIntegral(1,"Range_m") + int_interference_p.real() * _sinh_coeff->analyticalIntegral(1,"Range_p")) * _efficiency->analyticalIntegral(sinhBasis,_tau,_dm,_dGamma)
421  //+ (int_interference_m.imag() * _sin_coeff->analyticalIntegral(1,"Range_m") + int_interference_p.imag() * _sin_coeff->analyticalIntegral(1,"Range_p")) * _efficiency->analyticalIntegral(sinBasis,_tau,_dm,_dGamma) ;
422  + int_interference.real()/2. * _sinh_coeff->analyticalIntegral(1,range) * _efficiency->analyticalIntegral(sinhBasis,_tau,_dm,_dGamma)
423  + int_interference.imag()/2. * _sin_coeff->analyticalIntegral(1,range) * _efficiency->analyticalIntegral(sinBasis,_tau,_dm,_dGamma) ;
424 
425  /*
426  const double t = (double) evt.getValueFromVector(0);
427  const double dt = (double) evt.getValueFromVector(1);
428  const double q = static_cast<double>((int)evt.getValueFromVector(2));
429  const double w = (double) evt.getValueFromVector(3);
430  cout << t << endl;
431  cout << dt << endl;
432  cout << q << endl;
433  cout << w << endl;
434  cout << f << endl << endl;
435 
436  cout << _cosh_coeff->evaluate() << endl;
437  cout << _cosh_coeff->analyticalIntegral(1) << endl;
438  cout << _cosh_coeff->analyticalIntegral(1,"Range_p") << endl;
439  cout << _cosh_coeff->analyticalIntegral(1,"Range_m") << endl << endl;
440 
441  cout << _cos_coeff->evaluate() << endl;
442  cout << _cos_coeff->analyticalIntegral(1) << endl;
443  cout << _cos_coeff->analyticalIntegral(1,"Range_p") << endl;
444  cout << _cos_coeff->analyticalIntegral(1,"Range_m") << endl << endl;
445 
446  cout << _sinh_coeff->evaluate() << endl;
447  cout << _sinh_coeff->analyticalIntegral(1) << endl;
448  cout << _sinh_coeff->analyticalIntegral(1,"Range_p") << endl;
449  cout << _sinh_coeff->analyticalIntegral(1,"Range_m") << endl << endl;
450 
451  cout << _sin_coeff->evaluate() << endl;
452  cout << _sin_coeff->analyticalIntegral(1) << endl;
453  cout << _sin_coeff->analyticalIntegral(1,"Range_p") << endl;
454  cout << _sin_coeff->analyticalIntegral(1,"Range_m") << endl << endl;
455 
456  throw "";
457  */
458  return val/norm*2.;
459  }
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
static const double pi
double un_normalised_noPs(IDalitzEvent &evt)
virtual Double_t analyticalIntegral(Int_t code, const char *rangeName) const
RooGaussEfficiencyModel * _efficiency
virtual double getValueFromVector(unsigned int i) const =0

◆ getVal() [2/2]

virtual double FullAmpsPdfFlexiFastCPV::getVal ( IDalitzEvent evt)
inlinevirtual

Implements IDalitzPdf.

Definition at line 464 of file BsDsKpipi_TD_ampFit.cpp.

464  {
465  if(0 == evt) return 0;
466  return getVal(*evt);
467  }
virtual double getVal(IDalitzEvent &evt)

◆ getVal_noPs() [1/2]

virtual double FullAmpsPdfFlexiFastCPV::getVal_noPs ( IDalitzEvent evt)
inlinevirtual

Implements IDalitzPdf.

Definition at line 462 of file BsDsKpipi_TD_ampFit.cpp.

462 {return getVal(evt);}
virtual double getVal(IDalitzEvent &evt)

◆ getVal_noPs() [2/2]

virtual double FullAmpsPdfFlexiFastCPV::getVal_noPs ( IDalitzEvent evt)
inlinevirtual

Implements IDalitzPdf.

Definition at line 472 of file BsDsKpipi_TD_ampFit.cpp.

472  {
473  if(0 == evt) return 0;
474  return getVal_noPs(*evt);
475  }
virtual double getVal_noPs(IDalitzEvent &evt)

◆ getVal_withPs() [1/2]

virtual double FullAmpsPdfFlexiFastCPV::getVal_withPs ( IDalitzEvent evt)
inlinevirtual

Implements IDalitzPdf.

Definition at line 461 of file BsDsKpipi_TD_ampFit.cpp.

461 {return getVal(evt);}
virtual double getVal(IDalitzEvent &evt)

◆ getVal_withPs() [2/2]

virtual double FullAmpsPdfFlexiFastCPV::getVal_withPs ( IDalitzEvent evt)
inlinevirtual

Implements IDalitzPdf.

Definition at line 468 of file BsDsKpipi_TD_ampFit.cpp.

468  {
469  if(0 == evt) return 0;
470  return getVal_withPs(*evt);
471  }
virtual double getVal_withPs(IDalitzEvent &evt)

◆ getValForGeneration()

double FullAmpsPdfFlexiFastCPV::getValForGeneration ( IDalitzEvent evt)
inline

Definition at line 317 of file BsDsKpipi_TD_ampFit.cpp.

317  {
318  const double t = (double) evt.getValueFromVector(0);
319  const double dt = (double) evt.getValueFromVector(1);
320  const double q = static_cast<double>((int)evt.getValueFromVector(2));
321  const double w = (double) evt.getValueFromVector(3);
322  const double f = static_cast<double>((int)evt.getValueFromVector(4));
323 
324  if(t < _min_TAU || t > _max_TAU )return 0.;
325  _r_t->setVal(t);
326  _r_dt->setVal(dt);
327  _r_q->setIndex(q);
328  _r_mistag->setVal(w);
329  _r_f->setIndex(f);
330 
331  double r = (double)_r; // * sqrt(_intA/_intAbar);
332  const complex<double> phase_diff = polar((double)r,((double) _delta -(double)_gamma*f)/360.*2*pi);
333 
334  const std::complex<double> amp = _amps1->ComplexVal_un_normalised_noPs(evt) ;
335  const std::complex<double> amp_bar = _amps2->ComplexVal_un_normalised_noPs(evt) * phase_diff;
336 
337  const double val = exp(-fabs(t)/(double)_tau) *
338  (
339  (norm(amp) + norm(amp_bar)) *cosh((double)_dGamma/2.*t) * _cosh_coeff->evaluate()
340  +(norm(amp) - norm(amp_bar)) *cos((double)_dm*t) * _cos_coeff->evaluate()
341  +real(amp_bar*conj(amp)) *sinh((double)_dGamma/2.*t) * _sinh_coeff->evaluate()
342  +imag(amp_bar*conj(amp)) *sin((double)_dm*t) * _sin_coeff->evaluate()
343  ) *_pdf_sigma_t->getVal()*_spline->getVal();
344 
345  return val;
346  }
static const double pi
Double_t evaluate() const
virtual double getValueFromVector(unsigned int i) const =0
NamedParameter< double > _max_TAU
std::complex< double > ComplexVal_un_normalised_noPs(IDalitzEvent &evt)

◆ histoSet()

virtual DalitzHistoSet FullAmpsPdfFlexiFastCPV::histoSet ( )
inlinevirtual

Implements IDalitzPdf.

Definition at line 477 of file BsDsKpipi_TD_ampFit.cpp.

477 {return _ampsSum->histoSet();}
virtual DalitzHistoSet histoSet() const

◆ parametersChanged()

void FullAmpsPdfFlexiFastCPV::parametersChanged ( )
inlinevirtual

◆ printIntegralVals()

void FullAmpsPdfFlexiFastCPV::printIntegralVals ( )
inline

Definition at line 310 of file BsDsKpipi_TD_ampFit.cpp.

310  {
311  cout << "intSum = " << _ampsSum->getIntegralValue() << endl;
312  cout << "intA = " << _intA << endl;
313  cout << "intAbar = " << _intAbar << endl;
314  cout << "intAAbar = " << _intAAbar.real() << endl;
315  }

◆ un_normalised_noPs()

double FullAmpsPdfFlexiFastCPV::un_normalised_noPs ( IDalitzEvent evt)
inline

Definition at line 357 of file BsDsKpipi_TD_ampFit.cpp.

357  {
358  const double t = (double) evt.getValueFromVector(0);
359  const double dt = (double) evt.getValueFromVector(1);
360  const double q = static_cast<double>((int)evt.getValueFromVector(2));
361  const double w = (double) evt.getValueFromVector(3);
362  const double f = static_cast<double>((int)evt.getValueFromVector(4));
363 
364  if(t < _min_TAU || t > _max_TAU )return 0.;
365  _r_t->setVal(t);
366  _r_dt->setVal(dt);
367  _r_q->setIndex(q);
368  _r_mistag->setVal(w);
369  _r_f->setIndex(f);
370 
371  double r = (double)_r; // * sqrt(_intA/_intAbar);
372  const complex<double> phase_diff = polar((double)r,((double) _delta -(double)_gamma*f)/360.*2*pi);
373 
374  const std::complex<double> amp = _amps1->ComplexVal_un_normalised_noPs(evt) ;
375  const std::complex<double> amp_bar = _amps2->ComplexVal_un_normalised_noPs(evt) * phase_diff;
376 
377  const double cosh_term = _efficiency->evaluate(coshBasis,_tau,_dm,_dGamma);
378  const double cos_term = _efficiency->evaluate(cosBasis,_tau,_dm,_dGamma);
379  const double sinh_term = _efficiency->evaluate(sinhBasis,_tau,_dm,_dGamma);
380  const double sin_term = _efficiency->evaluate(sinBasis,_tau,_dm,_dGamma);
381 
382  const double val =
383  (
384  (norm(amp) + norm(amp_bar)) *cosh_term * _cosh_coeff->evaluate()
385  + (norm(amp) - norm(amp_bar)) *cos_term * _cos_coeff->evaluate()
386  + real(amp_bar*conj(amp)) *sinh_term * _sinh_coeff->evaluate()
387  + imag(amp_bar*conj(amp)) *sin_term * _sin_coeff->evaluate()
388  )* _pdf_sigma_t->getVal();
389 
390  return val;
391  }
virtual Double_t evaluate(Int_t basisCodeInt, Double_t tau, Double_t omega, Double_t dGamma) const
static const double pi
Double_t evaluate() const
RooGaussEfficiencyModel * _efficiency
virtual double getValueFromVector(unsigned int i) const =0
NamedParameter< double > _max_TAU
std::complex< double > ComplexVal_un_normalised_noPs(IDalitzEvent &evt)

Member Data Documentation

◆ _amps1

AmpsPdfFlexiFast* FullAmpsPdfFlexiFastCPV::_amps1
protected

Definition at line 253 of file BsDsKpipi_TD_ampFit.cpp.

◆ _amps2

AmpsPdfFlexiFast* FullAmpsPdfFlexiFastCPV::_amps2
protected

Definition at line 254 of file BsDsKpipi_TD_ampFit.cpp.

◆ _ampsSum

AmpsPdfFlexiFast* FullAmpsPdfFlexiFastCPV::_ampsSum
protected

Definition at line 255 of file BsDsKpipi_TD_ampFit.cpp.

◆ _cos_coeff

DecRateCoeff_Bd* FullAmpsPdfFlexiFastCPV::_cos_coeff
protected

Definition at line 285 of file BsDsKpipi_TD_ampFit.cpp.

◆ _cosh_coeff

DecRateCoeff_Bd* FullAmpsPdfFlexiFastCPV::_cosh_coeff
protected

Definition at line 286 of file BsDsKpipi_TD_ampFit.cpp.

◆ _delta

FitParameter& FullAmpsPdfFlexiFastCPV::_delta
protected

Definition at line 258 of file BsDsKpipi_TD_ampFit.cpp.

◆ _dGamma

FitParameter& FullAmpsPdfFlexiFastCPV::_dGamma
protected

Definition at line 262 of file BsDsKpipi_TD_ampFit.cpp.

◆ _dm

FitParameter& FullAmpsPdfFlexiFastCPV::_dm
protected

Definition at line 263 of file BsDsKpipi_TD_ampFit.cpp.

◆ _eff_tag

FitParameter& FullAmpsPdfFlexiFastCPV::_eff_tag
protected

Definition at line 264 of file BsDsKpipi_TD_ampFit.cpp.

◆ _efficiency

RooGaussEfficiencyModel* FullAmpsPdfFlexiFastCPV::_efficiency
protected

Definition at line 281 of file BsDsKpipi_TD_ampFit.cpp.

◆ _gamma

FitParameter& FullAmpsPdfFlexiFastCPV::_gamma
protected

Definition at line 259 of file BsDsKpipi_TD_ampFit.cpp.

◆ _intA

double FullAmpsPdfFlexiFastCPV::_intA
protected

Definition at line 290 of file BsDsKpipi_TD_ampFit.cpp.

◆ _intAAbar

complex<double> FullAmpsPdfFlexiFastCPV::_intAAbar
protected

Definition at line 292 of file BsDsKpipi_TD_ampFit.cpp.

◆ _intAbar

double FullAmpsPdfFlexiFastCPV::_intAbar
protected

Definition at line 291 of file BsDsKpipi_TD_ampFit.cpp.

◆ _max_TAU

NamedParameter<double> FullAmpsPdfFlexiFastCPV::_max_TAU
protected

Definition at line 283 of file BsDsKpipi_TD_ampFit.cpp.

◆ _min_TAU

NamedParameter<double> FullAmpsPdfFlexiFastCPV::_min_TAU
protected

Definition at line 282 of file BsDsKpipi_TD_ampFit.cpp.

◆ _pdf_omega_os

RooAbsPdf* FullAmpsPdfFlexiFastCPV::_pdf_omega_os
protected

Definition at line 277 of file BsDsKpipi_TD_ampFit.cpp.

◆ _pdf_omega_ss

RooAbsPdf* FullAmpsPdfFlexiFastCPV::_pdf_omega_ss
protected

Definition at line 278 of file BsDsKpipi_TD_ampFit.cpp.

◆ _pdf_sigma_t

RooAbsPdf* FullAmpsPdfFlexiFastCPV::_pdf_sigma_t
protected

Definition at line 276 of file BsDsKpipi_TD_ampFit.cpp.

◆ _r

FitParameter& FullAmpsPdfFlexiFastCPV::_r
protected

Definition at line 257 of file BsDsKpipi_TD_ampFit.cpp.

◆ _r_dt

RooRealVar* FullAmpsPdfFlexiFastCPV::_r_dt
protected

Definition at line 269 of file BsDsKpipi_TD_ampFit.cpp.

◆ _r_f

RooCategory* FullAmpsPdfFlexiFastCPV::_r_f
protected

Definition at line 272 of file BsDsKpipi_TD_ampFit.cpp.

◆ _r_mistag

RooRealVar* FullAmpsPdfFlexiFastCPV::_r_mistag
protected

Definition at line 271 of file BsDsKpipi_TD_ampFit.cpp.

◆ _r_q

RooCategory* FullAmpsPdfFlexiFastCPV::_r_q
protected

Definition at line 270 of file BsDsKpipi_TD_ampFit.cpp.

◆ _r_scale_mean_dt

RooRealVar* FullAmpsPdfFlexiFastCPV::_r_scale_mean_dt
protected

Definition at line 274 of file BsDsKpipi_TD_ampFit.cpp.

◆ _r_scale_sigma_dt

RooRealVar* FullAmpsPdfFlexiFastCPV::_r_scale_sigma_dt
protected

Definition at line 275 of file BsDsKpipi_TD_ampFit.cpp.

◆ _r_t

RooRealVar* FullAmpsPdfFlexiFastCPV::_r_t
protected

Definition at line 268 of file BsDsKpipi_TD_ampFit.cpp.

◆ _sin_coeff

DecRateCoeff_Bd* FullAmpsPdfFlexiFastCPV::_sin_coeff
protected

Definition at line 287 of file BsDsKpipi_TD_ampFit.cpp.

◆ _sinh_coeff

DecRateCoeff_Bd* FullAmpsPdfFlexiFastCPV::_sinh_coeff
protected

Definition at line 288 of file BsDsKpipi_TD_ampFit.cpp.

◆ _spline

RooCubicSplineFun* FullAmpsPdfFlexiFastCPV::_spline
protected

Definition at line 280 of file BsDsKpipi_TD_ampFit.cpp.

◆ _tau

FitParameter& FullAmpsPdfFlexiFastCPV::_tau
protected

Definition at line 261 of file BsDsKpipi_TD_ampFit.cpp.

◆ _w

FitParameter& FullAmpsPdfFlexiFastCPV::_w
protected

Definition at line 265 of file BsDsKpipi_TD_ampFit.cpp.


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