MINT2
Public Member Functions | Protected Attributes | List of all members
FullTimePdf Class Reference

#include <FullTimePdf.h>

Inheritance diagram for FullTimePdf:
MINT::PdfBase< IDalitzEvent > MINT::IPdf< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent > MINT::IReturnRealForEvent< IDalitzEvent >

Public Member Functions

void parametersChanged ()
 
void beginFit ()
 
void endFit ()
 
double un_normalised (IDalitzEvent &evt)
 
virtual double getVal (IDalitzEvent &evt)
 
double getNorm (IDalitzEvent &evt)
 
double getSampledPdfVal (IDalitzEvent &evt)
 
std::pair< double, double > getCalibratedMistag_OS (IDalitzEvent &evt)
 
std::pair< double, double > getCalibratedMistag_OS (double &eta_OS)
 
std::pair< double, double > getCalibratedMistag_OS (IDalitzEvent &evt, double &avg_eta_os, double &p0_os, double &p1_os, double &delta_p0_os, double &delta_p1_os)
 
std::pair< double, double > getCalibratedMistag_SS (IDalitzEvent &evt)
 
std::pair< double, double > getCalibratedMistag_SS (double &eta_SS)
 
std::pair< double, double > getCalibratedMistag_SS (IDalitzEvent &evt, double &avg_eta_ss, double &p0_ss, double &p1_ss, double &delta_p0_ss, double &delta_p1_ss)
 
std::pair< double, double > getCalibratedMistag (double eta, double avg_eta, double p0, double p1, double delta_p0, double delta_p1)
 
double getCalibratedResolution (double dt)
 
double getCalibratedResolution (double &dt, double &scale_sigma_dt, double &scale_sigma_2_dt)
 
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)
 
RooDataSet * sampleEvents (int N=10000)
 
void generateBkgToys (int N, DalitzEventList &eventListData)
 
DalitzEventList generateToysRooFit (int N=10000, int run=-1, int trigger=-1)
 
DalitzEventList generateToys (int N=10000, int run=-1, int trigger=-1)
 
void saveEventListToFile (DalitzEventList &eventList, string name="toys.root")
 
DalitzEvent generateWeightedEvent ()
 
TH1D * plotSpline ()
 
 FullTimePdf (const MINT::FitParameter &C, const MINT::FitParameter &D, const MINT::FitParameter &D_bar, const MINT::FitParameter &S, const MINT::FitParameter &S_bar, const MINT::FitParameter &k, const MINT::FitParameter &Gamma, const MINT::FitParameter &dGamma, const MINT::FitParameter &dm, const MINT::FitParameter &offset_sigma_dt, const MINT::FitParameter &scale_mean_dt, const MINT::FitParameter &scale_sigma_dt, const MINT::FitParameter &scale_sigma_2_dt, const MINT::FitParameter &c0, const MINT::FitParameter &c1, const MINT::FitParameter &c2, const MINT::FitParameter &c3, const MINT::FitParameter &c4, const MINT::FitParameter &c5, const MINT::FitParameter &c6, const MINT::FitParameter &c7, const MINT::FitParameter &c8, const MINT::FitParameter &c9, const MINT::FitParameter &p0_os, const MINT::FitParameter &p1_os, const MINT::FitParameter &delta_p0_os, const MINT::FitParameter &delta_p1_os, const MINT::FitParameter &avg_eta_os, const MINT::FitParameter &tageff_os, const MINT::FitParameter &tageff_asym_os, const MINT::FitParameter &p0_ss, const MINT::FitParameter &p1_ss, const MINT::FitParameter &delta_p0_ss, const MINT::FitParameter &delta_p1_ss, const MINT::FitParameter &avg_eta_ss, const MINT::FitParameter &tageff_ss, const MINT::FitParameter &tageff_asym_ss, const MINT::FitParameter &production_asym, const MINT::FitParameter &detection_asym, string marginalPdfsPrefix="")
 
- 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

const FitParameter_C
 fit parameters More...
 
const FitParameter_D
 
const FitParameter_D_bar
 
const FitParameter_S
 
const FitParameter_S_bar
 
const FitParameter_k
 
const MINT::FitParameter_Gamma
 
const MINT::FitParameter_dGamma
 
const MINT::FitParameter_dm
 
const MINT::FitParameter_offset_sigma_dt
 
const MINT::FitParameter_scale_mean_dt
 
const MINT::FitParameter_scale_sigma_dt
 
const MINT::FitParameter_scale_sigma_2_dt
 
const MINT::FitParameter_c0
 
const MINT::FitParameter_c1
 
const MINT::FitParameter_c2
 
const MINT::FitParameter_c3
 
const MINT::FitParameter_c4
 
const MINT::FitParameter_c5
 
const MINT::FitParameter_c6
 
const MINT::FitParameter_c7
 
const MINT::FitParameter_c8
 
const MINT::FitParameter_c9
 
const MINT::FitParameter_p0_os
 
const MINT::FitParameter_p1_os
 
const MINT::FitParameter_delta_p0_os
 
const MINT::FitParameter_delta_p1_os
 
const MINT::FitParameter_avg_eta_os
 
const MINT::FitParameter_tageff_os
 
const MINT::FitParameter_tageff_asym_os
 
const MINT::FitParameter_p0_ss
 
const MINT::FitParameter_p1_ss
 
const MINT::FitParameter_delta_p0_ss
 
const MINT::FitParameter_delta_p1_ss
 
const MINT::FitParameter_avg_eta_ss
 
const MINT::FitParameter_tageff_ss
 
const MINT::FitParameter_tageff_asym_ss
 
const MINT::FitParameter_production_asym
 
const MINT::FitParameter_detection_asym
 
string _marginalPdfsPrefix
 
TimePdfMaster_timePdfMaster
 
DalitzEventPattern _pat
 
NamedParameter< double > _min_TAU
 
NamedParameter< double > _max_TAU
 
NamedParameter< double > _min_TAUERR
 
NamedParameter< double > _max_TAUERR
 

Additional Inherited Members

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

Detailed Description

Definition at line 79 of file FullTimePdf.h.

Constructor & Destructor Documentation

◆ FullTimePdf()

FullTimePdf::FullTimePdf ( const MINT::FitParameter C,
const MINT::FitParameter D,
const MINT::FitParameter D_bar,
const MINT::FitParameter S,
const MINT::FitParameter S_bar,
const MINT::FitParameter k,
const MINT::FitParameter Gamma,
const MINT::FitParameter dGamma,
const MINT::FitParameter dm,
const MINT::FitParameter offset_sigma_dt,
const MINT::FitParameter scale_mean_dt,
const MINT::FitParameter scale_sigma_dt,
const MINT::FitParameter scale_sigma_2_dt,
const MINT::FitParameter c0,
const MINT::FitParameter c1,
const MINT::FitParameter c2,
const MINT::FitParameter c3,
const MINT::FitParameter c4,
const MINT::FitParameter c5,
const MINT::FitParameter c6,
const MINT::FitParameter c7,
const MINT::FitParameter c8,
const MINT::FitParameter c9,
const MINT::FitParameter p0_os,
const MINT::FitParameter p1_os,
const MINT::FitParameter delta_p0_os,
const MINT::FitParameter delta_p1_os,
const MINT::FitParameter avg_eta_os,
const MINT::FitParameter tageff_os,
const MINT::FitParameter tageff_asym_os,
const MINT::FitParameter p0_ss,
const MINT::FitParameter p1_ss,
const MINT::FitParameter delta_p0_ss,
const MINT::FitParameter delta_p1_ss,
const MINT::FitParameter avg_eta_ss,
const MINT::FitParameter tageff_ss,
const MINT::FitParameter tageff_asym_ss,
const MINT::FitParameter production_asym,
const MINT::FitParameter detection_asym,
string  marginalPdfsPrefix = "" 
)
inline

Definition at line 554 of file FullTimePdf.h.

567  :
568  _C(C),
569  _D(D),
570  _D_bar(D_bar),
571  _S(S),
572  _S_bar(S_bar),
573  _k(k),
574  _Gamma(Gamma),
575  _dGamma(dGamma),
576  _dm(dm),
577  _offset_sigma_dt(offset_sigma_dt),
578  _scale_mean_dt(scale_mean_dt),
579  _scale_sigma_dt(scale_sigma_dt),
580  _scale_sigma_2_dt(scale_sigma_2_dt),
581  _c0(c0),
582  _c1(c1),
583  _c2(c2),
584  _c3(c3),
585  _c4(c4),
586  _c5(c5),
587  _c6(c6),
588  _c7(c7),
589  _c8(c8),
590  _c9(c9),
591  _p0_os(p0_os),
592  _p1_os(p1_os),
593  _delta_p0_os(delta_p0_os),
594  _delta_p1_os(delta_p1_os),
595  _avg_eta_os(avg_eta_os),
596  _tageff_os(tageff_os),
597  _tageff_asym_os(tageff_asym_os),
598  _p0_ss(p0_ss),
599  _p1_ss(p1_ss),
600  _delta_p0_ss(delta_p0_ss),
601  _delta_p1_ss(delta_p1_ss),
602  _avg_eta_ss(avg_eta_ss),
603  _tageff_ss(tageff_ss),
604  _tageff_asym_ss(tageff_asym_ss),
605  _production_asym(production_asym),
606  _detection_asym(detection_asym),
607  _marginalPdfsPrefix(marginalPdfsPrefix),
608  _min_TAU("min_TAU", 0.4),
609  _max_TAU("max_TAU", 10.),
610  _min_TAUERR("min_TAUERR", 0.),
611  _max_TAUERR("max_TAUERR", 0.1)
612  {
615  ,_c0, _c1, _c2
616  ,_c3, _c4, _c5
617  ,_c6, _c7, _c8
618  ,_c9,
621  _p0_ss, p1_ss, _delta_p0_ss, _delta_p1_ss,
624 
626 
627  _timePdfMaster->setCP_coeff(1., 1.,
628  _C,-_C,
629  _k * _D, _k * _D_bar,
630  _k * _S, _k * _S_bar );
631 
632  NamedParameter<int> EventPattern("Event Pattern", 521, 321, 211, -211, 443);
633  _pat = DalitzEventPattern(EventPattern.getVector());
634  }
const MINT::FitParameter & _c2
Definition: FullTimePdf.h:101
const FitParameter & _D_bar
Definition: FullTimePdf.h:85
const MINT::FitParameter & _dGamma
Definition: FullTimePdf.h:91
const MINT::FitParameter & _p1_ss
Definition: FullTimePdf.h:119
const MINT::FitParameter & _scale_sigma_dt
Definition: FullTimePdf.h:96
const MINT::FitParameter & _tageff_asym_ss
Definition: FullTimePdf.h:124
NamedParameter< double > _min_TAUERR
Definition: FullTimePdf.h:138
NamedParameter< double > _max_TAU
Definition: FullTimePdf.h:137
const MINT::FitParameter & _c9
Definition: FullTimePdf.h:108
void setCP_coeff(double norm, double norm_bar, double C, double C_bar, double D, double D_bar, double S, double S_bar)
const FitParameter & _S_bar
Definition: FullTimePdf.h:87
const MINT::FitParameter & _tageff_ss
Definition: FullTimePdf.h:123
const MINT::FitParameter & _scale_sigma_2_dt
Definition: FullTimePdf.h:97
const FitParameter & _S
Definition: FullTimePdf.h:86
const MINT::FitParameter & _p0_ss
Definition: FullTimePdf.h:118
const MINT::FitParameter & _c8
Definition: FullTimePdf.h:107
const MINT::FitParameter & _tageff_asym_os
Definition: FullTimePdf.h:116
const MINT::FitParameter & _c0
Definition: FullTimePdf.h:99
void setAllFitParameters()
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
NamedParameter< double > _min_TAU
Definition: FullTimePdf.h:136
const MINT::FitParameter & _production_asym
Definition: FullTimePdf.h:126
const MINT::FitParameter & _c4
Definition: FullTimePdf.h:103
const MINT::FitParameter & _c5
Definition: FullTimePdf.h:104
const MINT::FitParameter & _avg_eta_os
Definition: FullTimePdf.h:114
const MINT::FitParameter & _tageff_os
Definition: FullTimePdf.h:115
const MINT::FitParameter & _c6
Definition: FullTimePdf.h:105
const FitParameter & _C
fit parameters
Definition: FullTimePdf.h:83
const MINT::FitParameter & _c7
Definition: FullTimePdf.h:106
const MINT::FitParameter & _c3
Definition: FullTimePdf.h:102
const MINT::FitParameter & _avg_eta_ss
Definition: FullTimePdf.h:122
const MINT::FitParameter & _dm
Definition: FullTimePdf.h:92
const MINT::FitParameter & _offset_sigma_dt
Definition: FullTimePdf.h:94
const FitParameter & _D
Definition: FullTimePdf.h:84
const MINT::FitParameter & _delta_p1_os
Definition: FullTimePdf.h:113
DalitzEventPattern _pat
Definition: FullTimePdf.h:133
NamedParameter< double > _max_TAUERR
Definition: FullTimePdf.h:139
const FitParameter & _k
Definition: FullTimePdf.h:88
const MINT::FitParameter & _detection_asym
Definition: FullTimePdf.h:127
const MINT::FitParameter & _delta_p1_ss
Definition: FullTimePdf.h:121
const MINT::FitParameter & _p1_os
Definition: FullTimePdf.h:111
const MINT::FitParameter & _c1
Definition: FullTimePdf.h:100
string _marginalPdfsPrefix
Definition: FullTimePdf.h:129
const MINT::FitParameter & _Gamma
Definition: FullTimePdf.h:90
const MINT::FitParameter & _delta_p0_os
Definition: FullTimePdf.h:112
const MINT::FitParameter & _p0_os
Definition: FullTimePdf.h:110
const MINT::FitParameter & _scale_mean_dt
Definition: FullTimePdf.h:95
const MINT::FitParameter & _delta_p0_ss
Definition: FullTimePdf.h:120

Member Function Documentation

◆ beginFit()

void FullTimePdf::beginFit ( )
inlinevirtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 144 of file FullTimePdf.h.

144  {
146  }
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
void listFitParDependencies()

◆ endFit()

void FullTimePdf::endFit ( )
inlinevirtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 147 of file FullTimePdf.h.

147  {
148  }

◆ generateBkgToys()

void FullTimePdf::generateBkgToys ( int  N,
DalitzEventList eventListData 
)
inline

Definition at line 276 of file FullTimePdf.h.

276  {
277 
278  DalitzEventList eventList,eventListDataSideband;
279 
280  for(int i=0; i< eventListData.size(); i++)
281  {
282  DalitzEvent evt = eventListData[i];
283  if(abs(evt.getValueFromVector(9) -5370) > 60)eventListDataSideband.Add(evt);
284  }
285  int N_sample = eventListDataSideband.size();
286 
287  vector<int> b_indices;
288  while( b_indices.size() < N )b_indices.push_back(TMath::Nint(gRandom->Uniform(0,N_sample)));
289  sort(b_indices.begin(), b_indices.end());
290 
291  TRandom3 rndm;
292  for(int i=0; i< N; i++)
293  {
294  DalitzEvent evt = eventListDataSideband[b_indices[i]];
295  eventList.Add(evt);
296  }
297  saveEventListToFile(eventList);
298  }
virtual double getValueFromVector(unsigned int i) const
virtual bool Add(const EVENT_TYPE &evt)
Definition: EventList.h:63
void saveEventListToFile(DalitzEventList &eventList, string name="toys.root")
Definition: FullTimePdf.h:397
virtual unsigned int size() const
Definition: EventList.h:59

◆ generateToys()

DalitzEventList FullTimePdf::generateToys ( int  N = 10000,
int  run = -1,
int  trigger = -1 
)
inline

Estimate max val

Safety check on the maxmimum generated height

Hit-and-miss

Definition at line 336 of file FullTimePdf.h.

336  {
337 
338  time_t startTime = time(0);
339 
340  cout << "Generating " << N << " events" << endl;
341  DalitzEventList eventList;
342 
344  vector<double> vals;
345  for(int i = 0; i < 100000; i++){
347  double val = getVal(evt)/evt.getGeneratorPdfRelativeToPhaseSpace(); //_timePdfMaster->get_marginalPdfs_product(evt);
348  vals.push_back(val);
349  }
350 
351  cout << "Now calculating maximum val " << vals.size() << endl;
352  double amax,pmax;
353  generalisedPareto_estimateMaximum(vals,0.999,amax,pmax);
354 
355  double pdf_max = 1.;
356  if(!TMath::IsNaN(pmax) && pmax > 0 && pmax < 100 * amax)pdf_max = pmax;
357  else if(!TMath::IsNaN(amax))pdf_max = amax;
358  // for safety
359  pdf_max *= 1.5;
360 
361  cout << "pdf_max " << pdf_max << endl;
362 
363  int N_gen = 0;
364  int N_tot = 0;
365  while(true){
367  double pdfVal = getVal(evt)/evt.getGeneratorPdfRelativeToPhaseSpace(); // /_timePdfMaster->get_marginalPdfs_product(evt);
368 
369  const double height = gRandom->Uniform(0,pdf_max);
370 
372  if( pdfVal > pdf_max ){
373  std::cout << "ERROR: PDF above determined maximum." << std::endl;
374  std::cout << pdfVal << " > " << pdf_max << std::endl;
375  pdf_max = pdf_max * 2.;
376  }
377 
379  if( height < pdfVal ) {
380  evt.setValueInVector(7, run);
381  evt.setValueInVector(8, trigger);
382  eventList.Add(evt);
383  N_gen++;
384  //if (0ul == (N_gen % 500ul)) cout << "Generated event " << N_gen << "/" << N << endl;
385  }
386  N_tot ++;
387  if(N_gen == N)break;
388  }
389 
390  cout << " Done. " << " Total time since start " << (time(0) - startTime)/60.0 << " min." << endl;
391  cout << "Generated " << N_gen << " events ! Efficiecy = " << (double)N_gen/(double)N_tot << endl;
392 
393 // saveEventListToFile(eventList);
394  return eventList;
395  }
virtual bool Add(const EVENT_TYPE &evt)
Definition: EventList.h:63
DalitzEvent generateWeightedEvent()
Definition: FullTimePdf.h:506
double generalisedPareto_estimateMaximum(const std::vector< double > &input, double CL=0.001)
virtual void setValueInVector(unsigned int i, double value)
virtual double getGeneratorPdfRelativeToPhaseSpace() const
virtual double getVal(IDalitzEvent &evt)
Definition: FullTimePdf.h:179

◆ generateToysRooFit()

DalitzEventList FullTimePdf::generateToysRooFit ( int  N = 10000,
int  run = -1,
int  trigger = -1 
)
inline

Definition at line 300 of file FullTimePdf.h.

300  {
301 
302  cout << "Generating " << N << " events" << endl;
303  DalitzEventList eventList;
304 
305  RooDataSet* sample = sampleEvents(N);
306 
307  for(int i = 0; i < sample->numEntries(); i++){
308 
309  RooArgSet* sample_set= (RooArgSet*)sample->get(i);
310 
311  double t_MC = ((RooRealVar*)sample_set->find("t"))->getVal() ;
312  double dt_MC = ((RooRealVar*)sample_set->find("dt"))->getVal() ;
313  double eta_OS_MC = ((RooRealVar*)sample_set->find("eta_OS"))->getVal() ;
314  double eta_SS_MC = ((RooRealVar*)sample_set->find("eta_SS"))->getVal() ;
315 
316  int f_MC = ((RooCategory*)sample_set->find("qf"))->getIndex() ;
317  int q_OS_MC = ((RooCategory*)sample_set->find("q_OS"))->getIndex() ;
318  int q_SS_MC = ((RooCategory*)sample_set->find("q_SS"))->getIndex() ;
319 
320  DalitzEvent evt(_pat,gRandom);
321  evt.setValueInVector(0, t_MC);
322  evt.setValueInVector(1, dt_MC);
323  evt.setValueInVector(2, f_MC);
324  evt.setValueInVector(3, q_OS_MC);
325  evt.setValueInVector(4, eta_OS_MC);
326  evt.setValueInVector(5, q_SS_MC);
327  evt.setValueInVector(6, eta_SS_MC);
328  evt.setValueInVector(7, run);
329  evt.setValueInVector(8, trigger);
330 
331  eventList.Add(evt);
332  }
333  return eventList;
334  }
virtual bool Add(const EVENT_TYPE &evt)
Definition: EventList.h:63
RooDataSet * sampleEvents(int N=10000)
Definition: FullTimePdf.h:272
virtual double getVal(IDalitzEvent &evt)
Definition: FullTimePdf.h:179
DalitzEventPattern _pat
Definition: FullTimePdf.h:133

◆ generateWeightedEvent()

DalitzEvent FullTimePdf::generateWeightedEvent ( )
inline

Definition at line 506 of file FullTimePdf.h.

506  {
507 
508  while(true){
509  double t_MC = gRandom->Exp(1./_Gamma);
510 // double t_MC = gRandom->Exp(1./_Gamma)+_min_TAU;
511  if(t_MC > _max_TAU || t_MC < _min_TAU)continue;
512 
513  DalitzEvent evt(_pat,gRandom);
514 
515  vector<double> marginal_vals = _timePdfMaster->getRandom_marginalVals();
516  double dt_MC = marginal_vals[0] ;
517  double eta_OS_MC = marginal_vals[1] ;
518  double eta_SS_MC = marginal_vals[2] ;
519 
520  int f_MC = (gRandom->Uniform() > 0.5) ? 1 : -1;
521 
522  // true flavor
523  int q_MC = (gRandom->Uniform() > 0.5) ? 1 : -1;
524 
525  int q_SS_MC = (gRandom->Uniform() > 2./3.) ? 0 : q_MC ;
526  int q_OS_MC = (gRandom->Uniform() > 2./3.) ? 0 : q_MC ;
527 
528  q_OS_MC = (gRandom->Uniform() < 0.5) ? - q_OS_MC : q_OS_MC;
529  q_SS_MC = (gRandom->Uniform() < 0.5) ? - q_SS_MC : q_SS_MC;
530 
531  eta_OS_MC = (q_OS_MC == 0) ? 0.5 : eta_OS_MC;
532  eta_SS_MC = (q_SS_MC == 0) ? 0.5 : eta_SS_MC;
533 
534  if(f_MC<0)evt.CP_conjugateYourself();
535  evt.setValueInVector(0, t_MC);
536  evt.setValueInVector(1, dt_MC);
537  evt.setValueInVector(2, f_MC);
538  evt.setValueInVector(3, q_OS_MC);
539  evt.setValueInVector(4, eta_OS_MC);
540  evt.setValueInVector(5, q_SS_MC);
541  evt.setValueInVector(6, eta_SS_MC);
542 
543  evt.setGeneratorPdfRelativeToPhaseSpace(_Gamma * exp(-t_MC*_Gamma) / ( ( exp(-_min_TAU*_Gamma) - exp(-_max_TAU * _Gamma) )));
544 // evt.setGeneratorPdfRelativeToPhaseSpace(_Gamma * ( exp(-t_MC*_Gamma) + _min_TAU ) / ( ( 1. - exp(-_max_TAU * _Gamma) ) + _Gamma * _min_TAU * ( _max_TAU - 0.)));
545 
546  return evt;
547  }
548  }
vector< double > getRandom_marginalVals()
NamedParameter< double > _max_TAU
Definition: FullTimePdf.h:137
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
NamedParameter< double > _min_TAU
Definition: FullTimePdf.h:136
DalitzEventPattern _pat
Definition: FullTimePdf.h:133
const MINT::FitParameter & _Gamma
Definition: FullTimePdf.h:90

◆ getCalibratedMistag()

std::pair<double, double> FullTimePdf::getCalibratedMistag ( double  eta,
double  avg_eta,
double  p0,
double  p1,
double  delta_p0,
double  delta_p1 
)
inline

Definition at line 244 of file FullTimePdf.h.

244  {
245  return _timePdfMaster->getCalibratedMistag(eta, avg_eta, p0, p1, delta_p0, delta_p1);
246  }
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
std::pair< double, double > getCalibratedMistag(double eta, double avg_eta, double p0, double p1, double delta_p0, double delta_p1)

◆ getCalibratedMistag_OS() [1/3]

std::pair<double, double> FullTimePdf::getCalibratedMistag_OS ( IDalitzEvent evt)
inline

Definition at line 220 of file FullTimePdf.h.

220  {
222  }
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
std::pair< double, double > getCalibratedMistag_OS(IDalitzEvent &evt)

◆ getCalibratedMistag_OS() [2/3]

std::pair<double, double> FullTimePdf::getCalibratedMistag_OS ( double &  eta_OS)
inline

Definition at line 224 of file FullTimePdf.h.

224  {
225  return _timePdfMaster->getCalibratedMistag_OS(eta_OS);
226  }
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
std::pair< double, double > getCalibratedMistag_OS(IDalitzEvent &evt)

◆ getCalibratedMistag_OS() [3/3]

std::pair<double, double> FullTimePdf::getCalibratedMistag_OS ( IDalitzEvent evt,
double &  avg_eta_os,
double &  p0_os,
double &  p1_os,
double &  delta_p0_os,
double &  delta_p1_os 
)
inline

Definition at line 228 of file FullTimePdf.h.

228  {
229  return _timePdfMaster->getCalibratedMistag_OS(evt, avg_eta_os, p0_os, p1_os, delta_p0_os, delta_p1_os);
230  }
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
std::pair< double, double > getCalibratedMistag_OS(IDalitzEvent &evt)

◆ getCalibratedMistag_SS() [1/3]

std::pair<double, double> FullTimePdf::getCalibratedMistag_SS ( IDalitzEvent evt)
inline

Definition at line 232 of file FullTimePdf.h.

232  {
234  }
std::pair< double, double > getCalibratedMistag_SS(IDalitzEvent &evt)
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132

◆ getCalibratedMistag_SS() [2/3]

std::pair<double, double> FullTimePdf::getCalibratedMistag_SS ( double &  eta_SS)
inline

Definition at line 236 of file FullTimePdf.h.

236  {
237  return _timePdfMaster->getCalibratedMistag_SS(eta_SS);
238  }
std::pair< double, double > getCalibratedMistag_SS(IDalitzEvent &evt)
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132

◆ getCalibratedMistag_SS() [3/3]

std::pair<double, double> FullTimePdf::getCalibratedMistag_SS ( IDalitzEvent evt,
double &  avg_eta_ss,
double &  p0_ss,
double &  p1_ss,
double &  delta_p0_ss,
double &  delta_p1_ss 
)
inline

Definition at line 240 of file FullTimePdf.h.

240  {
241  return _timePdfMaster->getCalibratedMistag_SS(evt, avg_eta_ss, p0_ss, p1_ss, delta_p0_ss, delta_p1_ss);
242  }
std::pair< double, double > getCalibratedMistag_SS(IDalitzEvent &evt)
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132

◆ getCalibratedResolution() [1/2]

double FullTimePdf::getCalibratedResolution ( double  dt)
inline

Definition at line 248 of file FullTimePdf.h.

248  {
250  }
double getCalibratedResolution(double &dt)
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132

◆ getCalibratedResolution() [2/2]

double FullTimePdf::getCalibratedResolution ( double &  dt,
double &  scale_sigma_dt,
double &  scale_sigma_2_dt 
)
inline

Definition at line 252 of file FullTimePdf.h.

252  {
253  return _timePdfMaster->getCalibratedResolution(dt,scale_sigma_dt,scale_sigma_2_dt);
254  }
double getCalibratedResolution(double &dt)
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132

◆ getNorm()

double FullTimePdf::getNorm ( IDalitzEvent evt)
inline

Definition at line 192 of file FullTimePdf.h.

192  {
193 
195 
196  // C,Cbar,D,Dbar,S,Sbar
198  1.,
199  _C,
200  -_C,
201  _k * _D,
202  _k * _D_bar,
203  _k * _S,
204  _k * _S_bar
205  );
206 
207  double norm =
212 
213  return norm;
214  }
const FitParameter & _D_bar
Definition: FullTimePdf.h:85
double get_cosh_term_Integral(IDalitzEvent &evt)
void setCP_coeff(double norm, double norm_bar, double C, double C_bar, double D, double D_bar, double S, double S_bar)
const FitParameter & _S_bar
Definition: FullTimePdf.h:87
const FitParameter & _S
Definition: FullTimePdf.h:86
double get_sinh_term_Integral(IDalitzEvent &evt)
double get_sin_term_Integral(IDalitzEvent &evt)
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
const FitParameter & _C
fit parameters
Definition: FullTimePdf.h:83
double get_cos_term_Integral(IDalitzEvent &evt)
const FitParameter & _D
Definition: FullTimePdf.h:84
const FitParameter & _k
Definition: FullTimePdf.h:88
void setAllObservablesAndFitParameters(IDalitzEvent &evt)

◆ getSampledPdfVal()

double FullTimePdf::getSampledPdfVal ( IDalitzEvent evt)
inline

Definition at line 216 of file FullTimePdf.h.

216  {
217  return _timePdfMaster->getSamplingPdfVal(evt);
218  }
double getSamplingPdfVal(IDalitzEvent &evt)
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132

◆ getVal() [1/2]

virtual double FullTimePdf::getVal ( IDalitzEvent evt)
inlinevirtual

Implements MINT::PdfBase< IDalitzEvent >.

Definition at line 179 of file FullTimePdf.h.

179  {
180 
181  double val = un_normalised(evt);
182 
183  double norm =
188 
189  return val/norm;
190  }
double un_normalised(IDalitzEvent &evt)
Definition: FullTimePdf.h:150
double get_cosh_term_Integral(IDalitzEvent &evt)
double get_sinh_term_Integral(IDalitzEvent &evt)
double get_sin_term_Integral(IDalitzEvent &evt)
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
double get_cos_term_Integral(IDalitzEvent &evt)

◆ getVal() [2/2]

virtual double FullTimePdf::getVal ( IDalitzEvent evt)
inlinevirtual

Definition at line 259 of file FullTimePdf.h.

259  {
260  if(0 == evt) return 0;
261  return getVal(*evt);
262  }
virtual double getVal(IDalitzEvent &evt)
Definition: FullTimePdf.h:179

◆ getVal_noPs() [1/2]

virtual double FullTimePdf::getVal_noPs ( IDalitzEvent evt)
inlinevirtual

Definition at line 257 of file FullTimePdf.h.

257 {return getVal(evt);}
virtual double getVal(IDalitzEvent &evt)
Definition: FullTimePdf.h:179

◆ getVal_noPs() [2/2]

virtual double FullTimePdf::getVal_noPs ( IDalitzEvent evt)
inlinevirtual

Definition at line 267 of file FullTimePdf.h.

267  {
268  if(0 == evt) return 0;
269  return getVal_noPs(*evt);
270  }
virtual double getVal_noPs(IDalitzEvent &evt)
Definition: FullTimePdf.h:257

◆ getVal_withPs() [1/2]

virtual double FullTimePdf::getVal_withPs ( IDalitzEvent evt)
inlinevirtual

Definition at line 256 of file FullTimePdf.h.

256 {return getVal(evt);}
virtual double getVal(IDalitzEvent &evt)
Definition: FullTimePdf.h:179

◆ getVal_withPs() [2/2]

virtual double FullTimePdf::getVal_withPs ( IDalitzEvent evt)
inlinevirtual

Definition at line 263 of file FullTimePdf.h.

263  {
264  if(0 == evt) return 0;
265  return getVal_withPs(*evt);
266  }
virtual double getVal_withPs(IDalitzEvent &evt)
Definition: FullTimePdf.h:256

◆ parametersChanged()

void FullTimePdf::parametersChanged ( )
inlinevirtual

Reimplemented from MINT::PdfBase< IDalitzEvent >.

Definition at line 142 of file FullTimePdf.h.

142  {
143  }

◆ plotSpline()

TH1D* FullTimePdf::plotSpline ( )
inline

Definition at line 550 of file FullTimePdf.h.

550  {
551  return _timePdfMaster->plotSpline();
552  }
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
TH1D * plotSpline()

◆ sampleEvents()

RooDataSet* FullTimePdf::sampleEvents ( int  N = 10000)
inline

Definition at line 272 of file FullTimePdf.h.

272  {
273  return _timePdfMaster->sampleEvents(N);
274  }
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
RooDataSet * sampleEvents(int N=10000)

◆ saveEventListToFile()

void FullTimePdf::saveEventListToFile ( DalitzEventList eventList,
string  name = "toys.root" 
)
inline

Definition at line 397 of file FullTimePdf.h.

397  {
398 
399  TFile* out = new TFile(name.c_str(),"RECREATE");
400  TTree* tree = new TTree("DecayTree","DecayTree");
401 
402  double t,dt;
403  int Ds_ID;
404  int q_OS,q,q_SS;
405  double eta_OS;
406  double eta_SS;
407  double sw,w;
408  int run,trigger;
409  int year;
410 
411  double K[4];
412  double pip[4];
413  double pim[4];
414  double Ds[4];
415  double mB;
416 
417  TBranch* br_mB = tree->Branch( "Bs_DTF_MM", &mB, "Bs_DTF_MM/D" );
418  TBranch* br_sw = tree->Branch( "N_Bs_sw", &sw, "N_Bs_sw/D" );
419  TBranch* br_w = tree->Branch( "weight", &w, "weight/D" );
420 
421  TBranch* br_t = tree->Branch( "Bs_BsDTF_TAU", &t, "Bs_BsDTF_TAU/D" );
422  TBranch* br_dt = tree->Branch( "Bs_BsDTF_TAUERR", &dt, "Bs_BsDTF_TAUERR/D" );
423 
424  TBranch* br_Ds_ID = tree->Branch("Ds_ID",&Ds_ID,"Ds_ID/I");
425 
426  TBranch* br_q_OS =tree->Branch("OS_Combination_DEC",&q_OS,"OS_Combination_DEC/I");
427  TBranch* br_eta_OS = tree->Branch("OS_Combination_PROB",&eta_OS,"OS_Combination_PROB/D");
428  TBranch* br_q_SS = tree->Branch("SS_Kaon_DEC",&q_SS,"SS_Kaon_DEC/I");
429  TBranch* br_eta_SS = tree->Branch("SS_Kaon_PROB",&eta_SS,"SS_Kaon_PROB/D");
430 
431  TBranch* br_run = tree->Branch("run",&run,"run/I");
432  TBranch* br_year = tree->Branch( "year", &year, "year/I" );
433  TBranch* br_trigger = tree->Branch("TriggerCat",&trigger,"TriggerCat/I");
434 
435  TBranch* br_K0 = tree->Branch("BsDTF_Kplus_PX",&K[0],"BsDTF_Kplus_PX/D");
436  TBranch* br_K1 =tree->Branch("BsDTF_Kplus_PY",&K[1],"BsDTF_Kplus_PY/D");
437  TBranch* br_K2 =tree->Branch("BsDTF_Kplus_PZ",&K[2],"BsDTF_Kplus_PZ/D");
438  TBranch* br_K3 =tree->Branch("BsDTF_Kplus_PE",&K[3],"BsDTF_Kplus_PE/D");
439 
440  TBranch* br_pip0 =tree->Branch("BsDTF_piplus_PX",&pip[0],"BsDTF_piplus_PX/D");
441  TBranch* br_pip1 =tree->Branch("BsDTF_piplus_PY",&pip[1],"BsDTF_piplus_PY/D");
442  TBranch* br_pip2 =tree->Branch("BsDTF_piplus_PZ",&pip[2],"BsDTF_piplus_PZ/D");
443  TBranch* br_pip3 =tree->Branch("BsDTF_piplus_PE",&pip[3],"BsDTF_piplus_PE/D");
444 
445  TBranch* br_pim0 =tree->Branch("BsDTF_piminus_PX",&pim[0],"BsDTF_piminus_PX/D");
446  TBranch* br_pim1 =tree->Branch("BsDTF_piminus_PY",&pim[1],"BsDTF_piminus_PY/D");
447  TBranch* br_pim2 =tree->Branch("BsDTF_piminus_PZ",&pim[2],"BsDTF_piminus_PZ/D");
448  TBranch* br_pim3 =tree->Branch("BsDTF_piminus_PE",&pim[3],"BsDTF_piminus_PE/D");
449 
450  TBranch* br_Ds0 =tree->Branch("BsDTF_Ds_PX",&Ds[0],"BsDTF_Ds_PX/D");
451  TBranch* br_Ds1 =tree->Branch("BsDTF_Ds_PY",&Ds[1],"BsDTF_Ds_PY/D");
452  TBranch* br_Ds2 =tree->Branch("BsDTF_Ds_PZ",&Ds[2],"BsDTF_Ds_PZ/D");
453  TBranch* br_Ds3 =tree->Branch("BsDTF_Ds_PE",&Ds[3],"BsDTF_Ds_PE/D");
454 
455  for(int i= 0; i < eventList.size(); i++){
456 
457  t = eventList[i].getValueFromVector(0);
458  dt = eventList[i].getValueFromVector(1);
459 
460  Ds_ID = - eventList[i].getValueFromVector(2);
461 
462  q_OS = eventList[i].getValueFromVector(3);
463  eta_OS = eventList[i].getValueFromVector(4);
464 
465  q_SS = eventList[i].getValueFromVector(5);
466  eta_SS = eventList[i].getValueFromVector(6);
467 
468  run = eventList[i].getValueFromVector(7);
469  if(run == 2) year = 16;
470  else if(run == 3) year = 17;
471  else year = 12;
472  trigger = eventList[i].getValueFromVector(8);
473 
474  mB = eventList[i].p(0).M(); //eventList[i].getValueFromVector(9);
475  sw = eventList[i].getWeight();
476  w = eventList[i].getWeight();
477 
478  Ds[0] = eventList[i].p(1).Px()/MeV;
479  Ds[1] = eventList[i].p(1).Py()/MeV;
480  Ds[2] = eventList[i].p(1).Pz()/MeV;
481  Ds[3] = eventList[i].p(1).E()/MeV;
482 
483  K[0] = eventList[i].p(2).Px()/MeV;
484  K[1] = eventList[i].p(2).Py()/MeV;
485  K[2] = eventList[i].p(2).Pz()/MeV;
486  K[3] = eventList[i].p(2).E()/MeV;
487 
488  pip[0] = eventList[i].p(3).Px()/MeV;
489  pip[1] = eventList[i].p(3).Py()/MeV;
490  pip[2] = eventList[i].p(3).Pz()/MeV;
491  pip[3] = eventList[i].p(3).E()/MeV;
492 
493  pim[0] = eventList[i].p(4).Px()/MeV;
494  pim[1] = eventList[i].p(4).Py()/MeV;
495  pim[2] = eventList[i].p(4).Pz()/MeV;
496  pim[3] = eventList[i].p(4).E()/MeV;
497 
498  tree->Fill();
499  }
500 
501  tree->Write();
502  out->Write();
503  out->Close();
504  }
static const double MeV
virtual unsigned int size() const
Definition: EventList.h:59

◆ un_normalised()

double FullTimePdf::un_normalised ( IDalitzEvent evt)
inline

Definition at line 150 of file FullTimePdf.h.

150  {
151 
152  //const double t = (double) evt.getValueFromVector(0);
153  //if(t < _min_TAU || t > _max_TAU )return 0.;
154 
156 
157  // C,Cbar,D,Dbar,S,Sbar
159  1.,
160  _C,
161  -_C,
162  _k * _D,
163  _k * _D_bar,
164  _k * _S,
165  _k * _S_bar
166  );
167 
168  double val =
169  (
174  );// * _timePdfMaster->get_marginalPdfs_product(evt);
175 
176  return val;
177  }
const FitParameter & _D_bar
Definition: FullTimePdf.h:85
void setCP_coeff(double norm, double norm_bar, double C, double C_bar, double D, double D_bar, double S, double S_bar)
const FitParameter & _S_bar
Definition: FullTimePdf.h:87
double get_cos_term_Val(IDalitzEvent &evt)
const FitParameter & _S
Definition: FullTimePdf.h:86
TimePdfMaster * _timePdfMaster
Definition: FullTimePdf.h:132
double get_sin_term_Val(IDalitzEvent &evt)
const FitParameter & _C
fit parameters
Definition: FullTimePdf.h:83
double get_cosh_term_Val(IDalitzEvent &evt)
double get_sinh_term_Val(IDalitzEvent &evt)
const FitParameter & _D
Definition: FullTimePdf.h:84
const FitParameter & _k
Definition: FullTimePdf.h:88
void setAllObservablesAndFitParameters(IDalitzEvent &evt)

Member Data Documentation

◆ _avg_eta_os

const MINT::FitParameter& FullTimePdf::_avg_eta_os
protected

Definition at line 114 of file FullTimePdf.h.

◆ _avg_eta_ss

const MINT::FitParameter& FullTimePdf::_avg_eta_ss
protected

Definition at line 122 of file FullTimePdf.h.

◆ _C

const FitParameter& FullTimePdf::_C
protected

fit parameters

Definition at line 83 of file FullTimePdf.h.

◆ _c0

const MINT::FitParameter& FullTimePdf::_c0
protected

Definition at line 99 of file FullTimePdf.h.

◆ _c1

const MINT::FitParameter& FullTimePdf::_c1
protected

Definition at line 100 of file FullTimePdf.h.

◆ _c2

const MINT::FitParameter& FullTimePdf::_c2
protected

Definition at line 101 of file FullTimePdf.h.

◆ _c3

const MINT::FitParameter& FullTimePdf::_c3
protected

Definition at line 102 of file FullTimePdf.h.

◆ _c4

const MINT::FitParameter& FullTimePdf::_c4
protected

Definition at line 103 of file FullTimePdf.h.

◆ _c5

const MINT::FitParameter& FullTimePdf::_c5
protected

Definition at line 104 of file FullTimePdf.h.

◆ _c6

const MINT::FitParameter& FullTimePdf::_c6
protected

Definition at line 105 of file FullTimePdf.h.

◆ _c7

const MINT::FitParameter& FullTimePdf::_c7
protected

Definition at line 106 of file FullTimePdf.h.

◆ _c8

const MINT::FitParameter& FullTimePdf::_c8
protected

Definition at line 107 of file FullTimePdf.h.

◆ _c9

const MINT::FitParameter& FullTimePdf::_c9
protected

Definition at line 108 of file FullTimePdf.h.

◆ _D

const FitParameter& FullTimePdf::_D
protected

Definition at line 84 of file FullTimePdf.h.

◆ _D_bar

const FitParameter& FullTimePdf::_D_bar
protected

Definition at line 85 of file FullTimePdf.h.

◆ _delta_p0_os

const MINT::FitParameter& FullTimePdf::_delta_p0_os
protected

Definition at line 112 of file FullTimePdf.h.

◆ _delta_p0_ss

const MINT::FitParameter& FullTimePdf::_delta_p0_ss
protected

Definition at line 120 of file FullTimePdf.h.

◆ _delta_p1_os

const MINT::FitParameter& FullTimePdf::_delta_p1_os
protected

Definition at line 113 of file FullTimePdf.h.

◆ _delta_p1_ss

const MINT::FitParameter& FullTimePdf::_delta_p1_ss
protected

Definition at line 121 of file FullTimePdf.h.

◆ _detection_asym

const MINT::FitParameter& FullTimePdf::_detection_asym
protected

Definition at line 127 of file FullTimePdf.h.

◆ _dGamma

const MINT::FitParameter& FullTimePdf::_dGamma
protected

Definition at line 91 of file FullTimePdf.h.

◆ _dm

const MINT::FitParameter& FullTimePdf::_dm
protected

Definition at line 92 of file FullTimePdf.h.

◆ _Gamma

const MINT::FitParameter& FullTimePdf::_Gamma
protected

Definition at line 90 of file FullTimePdf.h.

◆ _k

const FitParameter& FullTimePdf::_k
protected

Definition at line 88 of file FullTimePdf.h.

◆ _marginalPdfsPrefix

string FullTimePdf::_marginalPdfsPrefix
protected

Definition at line 129 of file FullTimePdf.h.

◆ _max_TAU

NamedParameter<double> FullTimePdf::_max_TAU
protected

Definition at line 137 of file FullTimePdf.h.

◆ _max_TAUERR

NamedParameter<double> FullTimePdf::_max_TAUERR
protected

Definition at line 139 of file FullTimePdf.h.

◆ _min_TAU

NamedParameter<double> FullTimePdf::_min_TAU
protected

Definition at line 136 of file FullTimePdf.h.

◆ _min_TAUERR

NamedParameter<double> FullTimePdf::_min_TAUERR
protected

Definition at line 138 of file FullTimePdf.h.

◆ _offset_sigma_dt

const MINT::FitParameter& FullTimePdf::_offset_sigma_dt
protected

Definition at line 94 of file FullTimePdf.h.

◆ _p0_os

const MINT::FitParameter& FullTimePdf::_p0_os
protected

Definition at line 110 of file FullTimePdf.h.

◆ _p0_ss

const MINT::FitParameter& FullTimePdf::_p0_ss
protected

Definition at line 118 of file FullTimePdf.h.

◆ _p1_os

const MINT::FitParameter& FullTimePdf::_p1_os
protected

Definition at line 111 of file FullTimePdf.h.

◆ _p1_ss

const MINT::FitParameter& FullTimePdf::_p1_ss
protected

Definition at line 119 of file FullTimePdf.h.

◆ _pat

DalitzEventPattern FullTimePdf::_pat
protected

Definition at line 133 of file FullTimePdf.h.

◆ _production_asym

const MINT::FitParameter& FullTimePdf::_production_asym
protected

Definition at line 126 of file FullTimePdf.h.

◆ _S

const FitParameter& FullTimePdf::_S
protected

Definition at line 86 of file FullTimePdf.h.

◆ _S_bar

const FitParameter& FullTimePdf::_S_bar
protected

Definition at line 87 of file FullTimePdf.h.

◆ _scale_mean_dt

const MINT::FitParameter& FullTimePdf::_scale_mean_dt
protected

Definition at line 95 of file FullTimePdf.h.

◆ _scale_sigma_2_dt

const MINT::FitParameter& FullTimePdf::_scale_sigma_2_dt
protected

Definition at line 97 of file FullTimePdf.h.

◆ _scale_sigma_dt

const MINT::FitParameter& FullTimePdf::_scale_sigma_dt
protected

Definition at line 96 of file FullTimePdf.h.

◆ _tageff_asym_os

const MINT::FitParameter& FullTimePdf::_tageff_asym_os
protected

Definition at line 116 of file FullTimePdf.h.

◆ _tageff_asym_ss

const MINT::FitParameter& FullTimePdf::_tageff_asym_ss
protected

Definition at line 124 of file FullTimePdf.h.

◆ _tageff_os

const MINT::FitParameter& FullTimePdf::_tageff_os
protected

Definition at line 115 of file FullTimePdf.h.

◆ _tageff_ss

const MINT::FitParameter& FullTimePdf::_tageff_ss
protected

Definition at line 123 of file FullTimePdf.h.

◆ _timePdfMaster

TimePdfMaster* FullTimePdf::_timePdfMaster
protected

Definition at line 132 of file FullTimePdf.h.


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