laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauCPFitModel.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2004 University of Warwick
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 */
17 
18 /*
19 Laura++ package authors:
20 John Back
21 Paul Harrison
22 Thomas Latham
23 */
24 
40 #ifndef LAU_CP_FIT_MODEL
41 #define LAU_CP_FIT_MODEL
42 
43 #include "LauAbsFitModel.hh"
44 #include "LauComplex.hh"
45 #include "LauParameter.hh"
46 
47 #include "TString.h"
48 
49 #include <vector>
50 
51 class TH2;
52 class LauAbsBkgndDPModel;
53 class LauAbsCoeffSet;
54 class LauIsobarDynamics;
55 class LauAbsPdf;
56 class LauEffModel;
57 class LauEmbeddedData;
58 class LauKinematics;
59 class LauScfMap;
60 
61 class LauCPFitModel : public LauAbsFitModel {
62 
63  public:
65 
72  LauIsobarDynamics* posModel,
73  Bool_t tagged = kTRUE,
74  const TString& tagVarName = "charge" );
75 
77  virtual ~LauCPFitModel();
78 
80 
83  virtual void setNSigEvents( LauParameter* nSigEvents );
84 
86 
91  virtual void setNSigEvents( LauParameter* nSigEvents,
92  LauParameter* sigAsym,
93  Bool_t forceAsym = kFALSE );
94 
96 
101  virtual void setNBkgndEvents( LauAbsRValue* nBkgndEvents );
102 
104 
110  virtual void setNBkgndEvents( LauAbsRValue* nBkgndEvents, LauAbsRValue* bkgndAsym );
111 
113 
118  void setBkgndDPModels( const TString& bkgndClass,
119  LauAbsBkgndDPModel* negModel,
120  LauAbsBkgndDPModel* posModel );
121 
123 
133  void splitSignalComponent( const TH2* dpHisto,
134  const Bool_t upperHalf = kFALSE,
135  const Bool_t fluctuateBins = kFALSE,
136  LauScfMap* scfMap = 0 );
137 
139 
146  void splitSignalComponent( const Double_t scfFrac, const Bool_t fixed );
147 
149  Bool_t useSCF() const { return useSCF_; }
150 
152  Bool_t useSCFHist() const { return useSCFHist_; }
153 
155  Bool_t smearSCFDP() const { return ( scfMap_ != 0 ); }
156 
157  // Set the DeltaE and mES models, i.e. give us the PDFs
159 
163  void setSignalPdfs( LauAbsPdf* negPdf, LauAbsPdf* posPdf );
164 
166 
170  void setSCFPdfs( LauAbsPdf* negPdf, LauAbsPdf* posPdf );
171 
173 
178  void setBkgndPdfs( const TString& bkgndClass, LauAbsPdf* negPdf, LauAbsPdf* posPdf );
179 
181 
188  void embedNegSignal( const TString& fileName,
189  const TString& treeName,
190  Bool_t reuseEventsWithinEnsemble,
191  Bool_t reuseEventsWithinExperiment = kFALSE,
192  Bool_t useReweighting = kFALSE );
193 
195 
202  void embedNegBkgnd( const TString& bgClass,
203  const TString& fileName,
204  const TString& treeName,
205  Bool_t reuseEventsWithinEnsemble,
206  Bool_t reuseEventsWithinExperiment = kFALSE );
207 
209 
216  void embedPosSignal( const TString& fileName,
217  const TString& treeName,
218  Bool_t reuseEventsWithinEnsemble,
219  Bool_t reuseEventsWithinExperiment = kFALSE,
220  Bool_t useReweighting = kFALSE );
221 
223 
230  void embedPosBkgnd( const TString& bgClass,
231  const TString& fileName,
232  const TString& treeName,
233  Bool_t reuseEventsWithinEnsemble,
234  Bool_t reuseEventsWithinExperiment = kFALSE );
235 
237 
244  virtual void setAmpCoeffSet( LauAbsCoeffSet* coeffSet );
245 
247 
254  virtual std::map<TString, LauComplex> getDPAmps( const Double_t m13Sq, const Double_t m23Sq );
255 
257 
264  virtual std::map<TString, Double_t> getDPLikelihoods( const Double_t m13Sq, const Double_t m23Sq );
265 
266  protected:
268  typedef std::map<std::pair<TString, Int_t>, std::pair<Int_t, Double_t>> LauGenInfo;
269 
271  typedef std::vector<LauAbsBkgndDPModel*> LauBkgndDPModelList;
272 
274  typedef std::vector<LauPdfPList> LauBkgndPdfsList;
275 
277  typedef std::vector<LauAbsRValue*> LauBkgndYieldList;
278 
280  typedef std::vector<LauEmbeddedData*> LauBkgndEmbDataList;
281 
283  typedef std::vector<Bool_t> LauBkgndReuseEventsList;
284 
286 
290  virtual void weightEvents( const TString& dataFileName, const TString& dataTreeName );
291 
293  virtual void initialise();
294 
296  virtual void initialiseDPModels();
297 
299  virtual void recalculateNormalisation();
300 
302  virtual void updateCoeffs();
303 
305  virtual Bool_t genExpt();
306 
308  virtual void propagateParUpdates();
309 
311  virtual void cacheInputFitVars();
312 
314  virtual void checkInitFitParams();
315 
317 
320  virtual void finaliseFitResults( const TString& tablePrefixName );
321 
323 
326  virtual void printFitFractions( std::ostream& output );
327 
329 
332  virtual void printAsymmetries( std::ostream& output );
333 
335 
338  virtual void writeOutTable( const TString& outputFile );
339 
341 
344  virtual void savePDFPlots( const TString& label );
345 
347 
351  virtual void savePDFPlotsWave( const TString& label, const Int_t& spin );
352 
354  virtual void storePerEvtLlhds();
355 
356  // Methods to do with calculating the likelihood functions
357  // and manipulating the fitting parameters.
359 
362  virtual Double_t getTotEvtLikelihood( UInt_t iEvt );
363 
365 
368  virtual void getEvtDPLikelihood( UInt_t iEvt );
369 
371 
374  virtual Double_t getEvtSCFDPLikelihood( UInt_t iEvt );
375 
377 
380  virtual void getEvtExtraLikelihoods( UInt_t iEvt );
381 
383 
386  virtual Double_t getEventSum() const;
387 
389  void setSignalDPParameters();
390 
392  void setExtraPdfParameters();
393 
395  void setFitNEvents();
396 
398  void setExtraNtupleVars();
399 
401  void randomiseInitFitPars();
402 
404 
407  void calcExtraFractions( Bool_t initValues = kFALSE );
408 
410 
413  void calcAsymmetries( Bool_t initValues = kFALSE );
414 
416  virtual void setupBkgndVectors();
417 
419  std::pair<LauGenInfo, Bool_t> eventsToGenerate();
420 
422  Bool_t generateSignalEvent();
423 
425 
428  Bool_t generateBkgndEvent( UInt_t bgID );
429 
431  void setupGenNtupleBranches();
432 
434  void setDPBranchValues();
435 
437 
441  void generateExtraPdfValues( LauPdfPList* extraPdfs, LauEmbeddedData* embeddedData );
442 
444 
447  Bool_t storeSignalMCMatch( LauEmbeddedData* embeddedData );
448 
450 
454  void addSPlotNtupleBranches( const LauPdfPList* extraPdfs, const TString& prefix );
455 
457 
462  Double_t setSPlotNtupleBranchValues( LauPdfPList* extraPdfs, const TString& prefix, UInt_t iEvt );
463 
465  void updateSigEvents();
466 
468  virtual void setupSPlotNtupleBranches();
469 
471  virtual LauSPlot::NameSet variableNames() const;
472 
474  virtual LauSPlot::NumbMap freeSpeciesNames() const;
475 
477  virtual LauSPlot::NumbMap fixdSpeciesNames() const;
478 
480  virtual LauSPlot::TwoDMap twodimPDFs() const;
481 
483  virtual Bool_t splitSignal() const { return this->useSCF(); }
484 
486  virtual Bool_t scfDPSmear() const { return ( scfMap_ != 0 ); }
487 
489 
499  void appendBinCentres( LauFitDataTree* inputData );
500 
503 
506 
508 
512  Double_t getParamFromTree( TTree& tree, const TString& name );
513 
515 
520  void fixParam( LauParameter* param, const Double_t val, const Bool_t fix );
521 
523 
526  void fixParams( std::vector<LauParameter*>& params );
527 
528  private:
531 
534 
537 
540 
543 
546 
549 
552 
555 
558 
561 
564 
567 
570 
572  Bool_t usingBkgnd_;
573 
575  UInt_t nSigComp_;
576 
578  UInt_t nSigDPPar_;
579 
582 
584  UInt_t nNormPar_;
585 
587  std::vector<LauAbsCoeffSet*> coeffPars_;
588 
591 
594 
597 
600 
603 
606 
608  std::vector<LauParameter> fitFracAsymm_;
609 
611  std::vector<LauParameter> acp_;
612 
615 
618 
621 
624 
627 
630 
632  Bool_t forceAsym_;
633 
636 
639 
641  const Bool_t tagged_;
642 
644  const TString tagVarName_;
645 
648 
650  std::vector<Int_t> evtCharges_;
651 
653  Bool_t useSCF_;
654 
656  Bool_t useSCFHist_;
657 
660 
663 
666 
668  std::vector<Double_t> recoSCFFracs_;
669 
671  std::vector<Double_t> fakeSCFFracs_;
672 
674  std::vector<Double_t> recoJacobians_;
675 
677  std::vector<Double_t> fakeJacobians_;
678 
681 
683  TString negParent_;
684 
686  TString posParent_;
687 
689  std::vector<LauComplex> negCoeffs_;
690 
692  std::vector<LauComplex> posCoeffs_;
693 
694  // Embedding full simulation events
695 
698 
701 
704 
707 
709  Bool_t reuseSignal_;
710 
713 
716 
719 
720  // Likelihood values
722  Double_t sigDPLike_;
723 
725  Double_t scfDPLike_;
726 
728  std::vector<Double_t> bkgndDPLike_;
729 
731  Double_t sigExtraLike_;
732 
734  Double_t scfExtraLike_;
735 
737  std::vector<Double_t> bkgndExtraLike_;
738 
740  Double_t sigTotalLike_;
741 
743  Double_t scfTotalLike_;
744 
746  std::vector<Double_t> bkgndTotalLike_;
747 
748  ClassDef( LauCPFitModel, 0 ) // CP fit/ToyMC model
749 };
750 
751 #endif
TString posParent_
Name of the parent particle.
virtual Double_t getTotEvtLikelihood(UInt_t iEvt)
Get the total likelihood for each event.
virtual void getEvtDPLikelihood(UInt_t iEvt)
Calculate the signal and background likelihoods for the DP for a given event.
File containing declaration of LauAbsFitModel class.
void setDPBranchValues()
Store all of the DP information.
LauBkgndYieldList bkgndAsym_
Background asymmetries(s)
Double_t scfTotalLike_
Total SCF likelihood.
void setExtraNtupleVars()
Set-up other parameters that are derived from the fit results, e.g. fit fractions.
void embedPosSignal(const TString &fileName, const TString &treeName, Bool_t reuseEventsWithinEnsemble, Bool_t reuseEventsWithinExperiment=kFALSE, Bool_t useReweighting=kFALSE)
Embed full simulation events for the B+ signal, rather than generating toy from the PDFs.
Class for defining the abstract interface for complex coefficient classes.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:49
LauEffModel * scfFracHist_
The histogram giving the DP-dependence of the SCF fraction.
virtual void storePerEvtLlhds()
Store the per event likelihood values.
Bool_t compareFitData_
Run choice variables.
virtual void cacheInputFitVars()
Read in the input fit data variables, e.g. m13Sq and m23Sq.
LauBkgndPdfsList posBkgndPdfs_
The B+ background PDFs.
virtual Bool_t genExpt()
Toy MC generation and fitting overloaded functions.
Bool_t useSCFHist() const
Determine whether the SCF fraction is DP-dependent.
virtual void printAsymmetries(std::ostream &output)
Print the asymmetries.
virtual void setupSPlotNtupleBranches()
Add branches to store experiment number and the event number within the experiment.
LauKinematics * negKinematics_
The B- Dalitz plot kinematics object.
virtual void getEvtExtraLikelihoods(UInt_t iEvt)
Determine the signal and background likelihood for the extra variables for a given event.
The abstract interface for a background Dalitz plot model.
virtual void writeOutTable(const TString &outputFile)
Write the fit results in latex table format.
LauParameter posMeanEff_
The mean efficiency for B+ model.
std::vector< Double_t > fakeJacobians_
The cached values of the sqDP jacobians for each true bin.
LauParArray negFitFracEffUnCorr_
Fit B- fractions (uncorrected for the efficiency)
LauCPFitModel(LauIsobarDynamics *negModel, LauIsobarDynamics *posModel, Bool_t tagged=kTRUE, const TString &tagVarName="charge")
Constructor.
void setBkgndPdfs(const TString &bkgndClass, LauAbsPdf *negPdf, LauAbsPdf *posPdf)
Set the background PDFs.
UInt_t nNormPar_
Number of normalisation parameters (yields, asymmetries)
Bool_t useSCFHist_
Is the SCF fraction DP-dependent.
Class for defining a CP fit model.
void setBkgndDPModels(const TString &bkgndClass, LauAbsBkgndDPModel *negModel, LauAbsBkgndDPModel *posModel)
Set the background DP models.
File containing declaration of LauParameter class.
LauIsobarDynamics * negSigModel_
The B- signal Dalitz plot model.
void generateExtraPdfValues(LauPdfPList *extraPdfs, LauEmbeddedData *embeddedData)
Generate from the extra PDFs.
std::vector< Int_t > evtCharges_
Vector to store event charges.
void calcExtraFractions(Bool_t initValues=kFALSE)
Calculate the CP-conserving and CP-violating fit fractions.
Bool_t smearSCFDP() const
Determine if we are smearing the SCF DP PDF.
Double_t scfExtraLike_
SCF likelihood from extra PDFs.
LauParArray negFitFrac_
The B- fit fractions.
UInt_t nSigDPPar_
Number of signal DP parameters.
void setupGenNtupleBranches()
Setup the required ntuple branches.
std::vector< LauComplex > negCoeffs_
The complex coefficients for B-.
virtual void setupBkgndVectors()
Define the length of the background vectors.
LauCPFitModel & operator=(const LauCPFitModel &rhs)
Copy assignment operator (not implemented)
TString negParent_
Name of the parent particle.
void fixParams(std::vector< LauParameter * > &params)
Set a vector of LauParameters according to the specified method.
std::pair< LauGenInfo, Bool_t > eventsToGenerate()
Determine the number of events to generate for each hypothesis.
std::vector< Double_t > fakeSCFFracs_
The cached values of the SCF fraction for each bin centre.
LauParameter * signalAsym_
Signal asymmetry.
void embedNegSignal(const TString &fileName, const TString &treeName, Bool_t reuseEventsWithinEnsemble, Bool_t reuseEventsWithinExperiment=kFALSE, Bool_t useReweighting=kFALSE)
Embed full simulation events for the B- signal, rather than generating toy from the PDFs.
virtual void checkInitFitParams()
Check the initial fit parameters.
std::vector< LauAbsRValue * > LauBkgndYieldList
Typedef for a vector of background yields.
LauParArray CPVFitFrac_
The CP violating fit fraction.
Bool_t usingBkgnd_
Background boolean.
std::set< TString > NameSet
Type to store names, e.g. of the discriminating/control variables.
Definition: LauSPlot.hh:72
virtual void printFitFractions(std::ostream &output)
Print the fit fractions, total DP rate and mean efficiency.
const TString tagVarName_
Event charge.
Class to store the input fit variables.
std::vector< LauPdfPList > LauBkgndPdfsList
Typedef for a vector of background PDFs.
LauPdfPList negSignalPdfs_
The B- signal PDFs.
virtual void setNBkgndEvents(LauAbsRValue *nBkgndEvents)
Set the background event yield(s)
Class that implements the efficiency description across the signal Dalitz plot.
Definition: LauEffModel.hh:50
LauBkgndPdfsList negBkgndPdfs_
The B- background PDFs.
Bool_t usePosReweighting_
Boolean to use reweighting for B+.
std::vector< Double_t > recoSCFFracs_
The cached values of the SCF fraction for each event.
std::vector< Double_t > bkgndExtraLike_
Background likelihood value(s) from extra PDFs.
Double_t getParamFromTree(TTree &tree, const TString &name)
Retrieve a named parameter from a TTree.
std::vector< LauAbsBkgndDPModel * > LauBkgndDPModelList
Typedef for a vector of background DP models.
LauParArray posFitFrac_
The B+ fit fractions.
LauParameter posDPRate_
The average DP rate for B+.
Bool_t useNegReweighting_
Boolean to use reweighting for B-.
LauEmbeddedData * negSignalTree_
The B- signal event tree.
void setSignalDPParameters()
Set the fit parameters for the DP model.
Bool_t reuseSignal_
Boolean to reuse signal events.
std::map< TString, Double_t > NumbMap
Type to associate a category name with a double precision number, e.g. a yield or PDF value for a giv...
Definition: LauSPlot.hh:75
virtual ~LauCPFitModel()
Destructor.
File containing declaration of LauComplex class.
void appendBinCentres(LauFitDataTree *inputData)
Append fake data points to the inputData for each bin in the SCF smearing matrix.
LauIsobarDynamics * getNegSigModel()
Retrieve the signal DP model for the B-.
virtual void setAmpCoeffSet(LauAbsCoeffSet *coeffSet)
Set the DP amplitude coefficients.
virtual void recalculateNormalisation()
Recalculate Normalization the signal DP models.
std::vector< LauParameter > acp_
A_CP parameter.
LauPdfPList negScfPdfs_
The B- SCF PDFs.
std::vector< Double_t > recoJacobians_
The cached values of the sqDP jacobians for each event.
std::vector< Bool_t > LauBkgndReuseEventsList
Typedef for a vector of booleans to flag if events are reused.
void embedNegBkgnd(const TString &bgClass, const TString &fileName, const TString &treeName, Bool_t reuseEventsWithinEnsemble, Bool_t reuseEventsWithinExperiment=kFALSE)
Embed full simulation events for the given background class, rather than generating toy from the PDFs...
UInt_t nExtraPdfPar_
Number of extra PDF parameters.
virtual Bool_t splitSignal() const
Check if the signal is split into well-reconstructed and mis-reconstructed types.
std::vector< std::vector< LauParameter > > LauParArray
Type to define an array of parameters.
LauBkgndDPModelList posBkgndDPModels_
The B+ background Dalitz plot models.
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:54
virtual void weightEvents(const TString &dataFileName, const TString &dataTreeName)
Weight events based on the DP model.
LauParameter negDPRate_
The average DP rate for B-.
std::vector< LauEmbeddedData * > LauBkgndEmbDataList
Typedef for a vector of embedded data objects.
LauParArray posFitFracEffUnCorr_
Fit B+ fractions (uncorrected for the efficiency)
virtual LauSPlot::TwoDMap twodimPDFs() const
Returns the species and variables for all 2D PDFs in the fit.
LauScfMap * scfMap_
The smearing matrix for the SCF DP PDF.
void embedPosBkgnd(const TString &bgClass, const TString &fileName, const TString &treeName, Bool_t reuseEventsWithinEnsemble, Bool_t reuseEventsWithinExperiment=kFALSE)
Embed full simulation events for the given background class, rather than generating toy from the PDFs...
Pure abstract base class for defining a parameter containing an R value.
Definition: LauAbsRValue.hh:45
LauEmbeddedData * posSignalTree_
The B+ signal event tree.
void calcAsymmetries(Bool_t initValues=kFALSE)
Calculate the CP asymmetries.
LauPdfPList posScfPdfs_
The B+ SCF PDFs.
virtual void initialise()
Initialise the fit.
Double_t sigTotalLike_
Total signal likelihood.
virtual void initialiseDPModels()
Initialise the signal DP models.
Class for representing the 4D smearing matrix for mis-reconstructed signal (self cross feed)
Definition: LauScfMap.hh:45
virtual LauSPlot::NumbMap freeSpeciesNames() const
Returns the names and yields of species that are free in the fit.
std::vector< LauParameter > fitFracAsymm_
The fit fraction asymmetries.
LauKinematics * posKinematics_
The B+ Dalitz plot kinematics object.
void fixParam(LauParameter *param, const Double_t val, const Bool_t fix)
Set a LauParameter to a given value.
virtual void savePDFPlotsWave(const TString &label, const Int_t &spin)
Save the pdf Plots for the sum of resonances of a given spin.
virtual void savePDFPlots(const TString &label)
Save the pdf Plots for all the resonances.
void randomiseInitFitPars()
Randomise the initial fit parameters.
void setSignalPdfs(LauAbsPdf *negPdf, LauAbsPdf *posPdf)
Set the signal PDFs.
virtual Bool_t scfDPSmear() const
Check if the mis-reconstructed signal is to be smeared in the DP.
Bool_t generateSignalEvent()
Generate signal event.
void addSPlotNtupleBranches(const LauPdfPList *extraPdfs, const TString &prefix)
Add sPlot branches for the extra PDFs.
const Bool_t tagged_
IS the analysis tagged?
virtual void propagateParUpdates()
Calculate things that depend on the fit parameters after they have been updated by Minuit.
virtual std::map< TString, LauComplex > getDPAmps(const Double_t m13Sq, const Double_t m23Sq)
Calculate the DP amplitude(s) for a given DP position.
Bool_t storeSignalMCMatch(LauEmbeddedData *embeddedData)
Store the MC truth info on the TM/SCF nature of the embedded signal event.
std::vector< LauAbsCoeffSet * > coeffPars_
Magnitudes and Phases.
Double_t scfDPLike_
SCF DP likelihood value.
Double_t setSPlotNtupleBranchValues(LauPdfPList *extraPdfs, const TString &prefix, UInt_t iEvt)
Set the branches for the sPlot ntuple with extra PDFs.
LauCPFitModel(const LauCPFitModel &rhs)
Copy constructor (not implemented)
virtual Double_t getEventSum() const
Get the total number of events.
virtual Double_t getEvtSCFDPLikelihood(UInt_t iEvt)
Calculate the SCF likelihood for the DP for a given event.
LauBkgndYieldList bkgndEvents_
Background yield(s)
LauParameter * signalEvents_
Signal yield.
Bool_t forceAsym_
Option to force an asymmetry.
LauBkgndDPModelList negBkgndDPModels_
The B- background Dalitz plot models.
std::map< std::pair< TString, Int_t >, std::pair< Int_t, Double_t > > LauGenInfo
Define a map to be used to store a category name and numbers.
virtual void setNSigEvents(LauParameter *nSigEvents)
Set the signal event yield.
Class for calculating 3-body kinematic quantities.
Bool_t generateBkgndEvent(UInt_t bgID)
Generate background event.
void setExtraPdfParameters()
Set the fit parameters for the extra PDFs.
virtual LauSPlot::NumbMap fixdSpeciesNames() const
Returns the names and yields of species that are fixed in the fit.
virtual void updateCoeffs()
Update the coefficients.
void setSCFPdfs(LauAbsPdf *negPdf, LauAbsPdf *posPdf)
Set the SCF PDF for a given variable.
LauParameter negMeanEff_
The mean efficiency for B- model.
Double_t sigExtraLike_
Signal likelihood from extra PDFs.
Bool_t useSCF() const
Determine whether we are splitting the signal into TM and SCF parts.
std::vector< LauComplex > posCoeffs_
The complex coefficients for B+.
void updateSigEvents()
Update the signal events after Minuit sets background parameters.
std::multimap< TString, std::pair< TString, TString > > TwoDMap
Type to associate the name of the species that have 2D PDFs with the names of the two variables invol...
Definition: LauSPlot.hh:81
LauIsobarDynamics * getPosSigModel()
Retrieve the signal DP model for the B+.
std::vector< Double_t > bkgndTotalLike_
Total background likelihood(s)
Class to store the data for embedding in toy experiments.
LauBkgndEmbDataList posBkgndTree_
The B+ background event tree.
LauParameter scfFrac_
The (global) SCF fraction parameter.
Int_t curEvtCharge_
Current event charge.
Class for defining signal dynamics using the isobar model.
void splitSignalComponent(const TH2 *dpHisto, const Bool_t upperHalf=kFALSE, const Bool_t fluctuateBins=kFALSE, LauScfMap *scfMap=0)
Split the signal component into well-reconstructed and mis-reconstructed parts.
void setFitNEvents()
Set the initial yields.
LauIsobarDynamics * posSigModel_
The B+ signal Dalitz plot model.
virtual LauSPlot::NameSet variableNames() const
Returns the names of all variables in the fit.
UInt_t nSigComp_
Number of signal components.
Double_t sigDPLike_
Signal DP likelihood value.
Bool_t useSCF_
Is the signal split into TM and SCF.
std::vector< Double_t > bkgndDPLike_
Background DP likelihood value(s)
LauBkgndReuseEventsList reuseBkgnd_
Vector of booleans to reuse background events.
LauBkgndEmbDataList negBkgndTree_
The B- background event tree.
Abstract interface to the fitting and toy MC model.
virtual std::map< TString, Double_t > getDPLikelihoods(const Double_t m13Sq, const Double_t m23Sq)
Calculate the DP likelihood(s) for a given DP position.
LauParArray CPCFitFrac_
The CP conserving fit fraction.
LauPdfPList posSignalPdfs_
The B+ signal PDFs.
std::vector< LauAbsPdf * > LauPdfPList
List of Pdfs.
virtual void finaliseFitResults(const TString &tablePrefixName)
Get the fit results and store them.