laura is hosted by Hepforge, IPPP Durham
Laura++  v2r2p1
A maximum likelihood fitting package for performing Dalitz-plot analysis.

Define a Dalitz plot according to the isobar model. More...

#include <LauSimpleFitModel.hh>

Inheritance diagram for LauSimpleFitModel:
LauAbsFitModel LauFitObject

Public Member Functions

 LauSimpleFitModel (LauAbsDPDynamics *sigDPModel)
 Constructor. More...
 
virtual ~LauSimpleFitModel ()
 Destructor. More...
 
virtual void setNSigEvents (LauParameter *nSigEvents)
 Set the signal event yield. More...
 
virtual void setNBkgndEvents (LauParameter *nBkgndEvents)
 Set the background event yield(s) More...
 
void setBkgndDPModel (const TString &bkgndClass, LauAbsBkgndDPModel *bkgndModel)
 Set the background DP models. More...
 
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. More...
 
void splitSignalComponent (const Double_t scfFrac, const Bool_t fixed)
 Split the signal component into well reconstructed and mis-reconstructed parts. More...
 
Bool_t useSCF () const
 Determine whether we are splitting the signal into TM and SCF parts. More...
 
Bool_t useSCFHist () const
 Determine whether the SCF fraction is DP-dependent. More...
 
Bool_t smearSCFDP () const
 Determine if we are smearing the SCF DP PDF. More...
 
void setSignalPdf (LauAbsPdf *pdf)
 Set the signal PDF for a given variable. More...
 
void setSCFPdf (LauAbsPdf *pdf)
 Set the SCF PDF for a given variable. More...
 
void setBkgndPdf (const TString &bkgndClass, LauAbsPdf *pdf)
 Set the background PDF. More...
 
void embedSignal (const TString &fileName, const TString &treeName, Bool_t reuseEventsWithinEnsemble, Bool_t reuseEventsWithinExperiment=kFALSE, Bool_t useReweighting=kFALSE)
 Embed full simulation events for the signal, rather than generating toy from the PDFs. More...
 
void embedBkgnd (const TString &bkgndClass, 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. More...
 
virtual void setAmpCoeffSet (LauAbsCoeffSet *coeffSet)
 Set the DP amplitude coefficients. More...
 
virtual void weightEvents (const TString &dataFileName, const TString &dataTreeName)
 Weight events based on the DP model. More...
 
- Public Member Functions inherited from LauAbsFitModel
 LauAbsFitModel ()
 Constructor. More...
 
virtual ~LauAbsFitModel ()
 Destructor. More...
 
Bool_t useDP () const
 Is the Dalitz plot term in the likelihood. More...
 
void useDP (Bool_t usingDP)
 Switch on/off the Dalitz plot term in the Likelihood (allows fits to other quantities, e.g. B mass) More...
 
Bool_t doSFit () const
 Return the flag to store the status of using an sFit or not. More...
 
void doSFit (const TString &sWeightBranchName, Double_t scaleFactor=1.0)
 Do an sFit (use sWeights to isolate signal decays rather than using background histograms) More...
 
Bool_t doEMLFit () const
 Determine whether an extended maximum likelihood fit it being performed. More...
 
void doEMLFit (Bool_t emlFit)
 Choice to perform an extended maximum likelihood fit. More...
 
virtual Bool_t twoStageFit () const
 Determine whether the two-stage fit is enabled. More...
 
virtual void twoStageFit (Bool_t doTwoStageFit)
 Turn on or off the two stage fit. More...
 
Bool_t useAsymmFitErrors () const
 Determine whether calculation of asymmetric errors is enabled. More...
 
void useAsymmFitErrors (Bool_t useAsymmErrors)
 Turn on or off the computation of asymmetric errors (e.g. MINOS routine in Minuit) More...
 
Bool_t doPoissonSmearing () const
 Determine whether Poisson smearing is enabled for the toy MC generation. More...
 
void doPoissonSmearing (Bool_t poissonSmear)
 Turn Poisson smearing (for the toy MC generation) on or off. More...
 
Bool_t enableEmbedding () const
 Determine whether embedding of events is enabled in the generation. More...
 
void enableEmbedding (Bool_t enable)
 Turn on or off embedding of events in the generation. More...
 
virtual void withinAsymErrorCalc (Bool_t inAsymErrCalc)
 Mark that the fit is calculating asymmetric errors. More...
 
Bool_t writeLatexTable () const
 Determine whether writing out of the latex table is enabled. More...
 
void writeLatexTable (Bool_t writeTable)
 Turn on or off the writing out of the latex table. More...
 
void writeSPlotData (const TString &fileName, const TString &treeName, Bool_t storeDPEfficiency, const TString &verbosity="q")
 Set up the sPlot ntuple. More...
 
Bool_t writeSPlotData () const
 Determine whether the sPlot data is to be written out. More...
 
Bool_t storeDPEff () const
 Determine whether the efficiency information should be stored in the sPlot ntuple. More...
 
Bool_t useRandomInitFitPars () const
 Determine whether the initial values of the fit parameters, in particular the isobar coefficient parameters, are to be randomised. More...
 
void useRandomInitFitPars (Bool_t boolean)
 Randomise the initial values of the fit parameters, in particular the isobar coefficient parameters. More...
 
void setNExpts (UInt_t nExperiments, UInt_t firstExperiment=0)
 Set the number of experiments and the first experiment. More...
 
UInt_t eventsPerExpt () const
 Obtain the total number of events in the current experiment. More...
 
UInt_t nExpt () const
 Obtain the number of experiments. More...
 
UInt_t firstExpt () const
 Obtain the number of the first experiment. More...
 
UInt_t iExpt () const
 Obtain the number of the current experiment. More...
 
virtual void setBkgndClassNames (const std::vector< TString > &names)
 Setup the background class names. More...
 
UInt_t nBkgndClasses () const
 Returns the number of background classes. More...
 
void compareFitData (UInt_t toyMCScale=10, const TString &mcFileName="fitToyMC.root", const TString &tableFileName="fitToyMCTable.tex", Bool_t poissonSmearing=kTRUE)
 Specify that a toy MC sample should be created for a successful fit to an experiment. More...
 
void run (const TString &applicationCode, const TString &dataFileName, const TString &dataTreeName, const TString &histFileName, const TString &tableFileName="")
 Start the toy generation / fitting. More...
 
void runSlave (const TString &dataFileName, const TString &dataTreeName, const TString &histFileName, const TString &tableFileName="", const TString &addressMaster="localhost", const UInt_t portMaster=9090)
 Start the slave process for simultaneous fitting. More...
 
virtual void setParsFromMinuit (Double_t *par, Int_t npar)
 This function sets the parameter values from Minuit. More...
 
Double_t getTotNegLogLikelihood ()
 Calculates the total negative log-likelihood. More...
 
virtual void addConstraint (const TString &formula, const std::vector< TString > &pars, const Double_t mean, const Double_t width)
 Store constraint information for fit parameters. More...
 
- Public Member Functions inherited from LauFitObject
virtual ~LauFitObject ()
 Destructor. More...
 

Protected Types

typedef std::map< TString,
std::pair< Int_t, Double_t > > 
LauGenInfo
 Define a map to be used to store a category name and numbers. More...
 
typedef std::vector
< LauAbsBkgndDPModel * > 
LauBkgndDPModelList
 Typedef for a vector of background DP models. More...
 
typedef std::vector< LauPdfListLauBkgndPdfsList
 Typedef for a vector of background PDFs. More...
 
typedef std::vector
< LauParameter * > 
LauBkgndYieldList
 Typedef for a vector of background yields. More...
 
typedef std::vector
< LauEmbeddedData * > 
LauBkgndEmbDataList
 Typedef for a vector of embedded data objects. More...
 
typedef std::vector< Bool_t > LauBkgndReuseEventsList
 Typedef for a vector of booleans to flag if events are reused. More...
 
- Protected Types inherited from LauAbsFitModel
typedef std::vector< LauAbsPdf * > LauPdfList
 List of Pdfs. More...
 
typedef std::vector
< LauParameter * > 
LauParameterPList
 List of parameter pointers. More...
 
typedef std::vector
< LauAbsRValue * > 
LauAbsRValuePList
 List of parameter pointers. More...
 
typedef std::vector< LauParameterLauParameterList
 List of parameters. More...
 
typedef std::map< UInt_t, TString > LauBkgndClassMap
 A type to store background classes. More...
 

Protected Member Functions

virtual void initialise ()
 Initialise the fit. More...
 
virtual void initialiseDPModels ()
 Initialise the signal DP model. More...
 
virtual void updateCoeffs ()
 Update the coefficients. More...
 
virtual Bool_t genExpt ()
 Toy MC generation and fitting overloaded functions. More...
 
virtual void propagateParUpdates ()
 Calculate things that depend on the fit parameters after they have been updated by Minuit. More...
 
virtual void cacheInputFitVars ()
 Read in the input fit data variables, e.g. m13Sq and m23Sq. More...
 
virtual void checkInitFitParams ()
 Check the initial fit parameters. More...
 
virtual void finaliseFitResults (const TString &tablePrefixName)
 Get the fit results and store them. More...
 
virtual void printFitFractions (std::ostream &output)
 Print the fit fractions, total DP rate and mean efficiency. More...
 
virtual void writeOutTable (const TString &outputFile)
 Write the fit results in latex table format. More...
 
virtual void storePerEvtLlhds ()
 Store the per event likelihood values. More...
 
virtual Double_t getTotEvtLikelihood (UInt_t iEvt)
 Get the total likelihood for each event. More...
 
virtual void getEvtDPLikelihood (UInt_t iEvt)
 Calculate the signal and background likelihoods for the DP for a given event. More...
 
virtual Double_t getEvtSCFDPLikelihood (UInt_t iEvt)
 Calculate the SCF likelihood for the DP for a given event. More...
 
virtual void getEvtExtraLikelihoods (UInt_t iEvt)
 Determine the signal and background likelihood for the extra variables for a given event. More...
 
virtual Double_t getEventSum () const
 Get the total number of events. More...
 
void setSignalDPParameters ()
 Set the fit parameters for the DP model. More...
 
void setExtraPdfParameters ()
 Set the fit parameters for the extra PDFs. More...
 
void setFitNEvents ()
 Set the initial yields. More...
 
void setExtraNtupleVars ()
 Set-up other parameters that are derived from the fit results, e.g. fit fractions. More...
 
void randomiseInitFitPars ()
 Randomise the initial fit parameters. More...
 
virtual void setupBkgndVectors ()
 Define the length of the background vectors. More...
 
LauGenInfo eventsToGenerate ()
 Determine the number of events to generate for each hypothesis. More...
 
Bool_t generateSignalEvent ()
 Generate signal event. More...
 
Bool_t generateBkgndEvent (UInt_t bkgndID)
 Generate background event. More...
 
void setupGenNtupleBranches ()
 Setup the required ntuple branches. More...
 
void setDPBranchValues ()
 Store all of the DP information. More...
 
void generateExtraPdfValues (LauPdfList *extraPdfs, LauEmbeddedData *embeddedData)
 Generate from the extra PDFs. More...
 
void addSPlotNtupleBranches (const LauPdfList *extraPdfs, const TString &prefix)
 Add sPlot branches for the extra PDFs. More...
 
Double_t setSPlotNtupleBranchValues (LauPdfList *extraPdfs, const TString &prefix, UInt_t iEvt)
 Set the branches for the sPlot ntuple with extra PDFs. More...
 
void updateSigEvents ()
 Update the signal events after Minuit sets background parameters. More...
 
virtual void setupSPlotNtupleBranches ()
 Add branches to store experiment number and the event number within the experiment. More...
 
virtual LauSPlot::NameSet variableNames () const
 Returns the names of all variables in the fit. More...
 
virtual LauSPlot::NumbMap freeSpeciesNames () const
 Returns the names and yields of species that are free in the fit. More...
 
virtual LauSPlot::NumbMap fixdSpeciesNames () const
 Returns the names and yields of species that are fixed in the fit. More...
 
virtual LauSPlot::TwoDMap twodimPDFs () const
 Returns the species and variables for all 2D PDFs in the fit. More...
 
virtual Bool_t splitSignal () const
 Check if the signal is split into well-reconstructed and mis-reconstructed types. More...
 
virtual Bool_t scfDPSmear () const
 Check if the mis-reconstructed signal is to be smeared in the DP. More...
 
void appendBinCentres (LauFitDataTree *inputData)
 Append fake data points to the inputData for each bin in the SCF smearing matrix. More...
 
- Protected Member Functions inherited from LauAbsFitModel
void initSockets ()
 Initialise socket connections for the slaves. More...
 
void clearFitParVectors ()
 Clear the vectors containing fit parameters. More...
 
void clearExtraVarVectors ()
 Clear the vectors containing extra ntuple variables. More...
 
virtual void generate (const TString &dataFileName, const TString &dataTreeName, const TString &histFileName, const TString &tableFileNameBase)
 Generate toy MC. More...
 
void fit (const TString &dataFileName, const TString &dataTreeName, const TString &histFileName, const TString &tableFileNameBase)
 Perform the total fit. More...
 
void fitSlave (const TString &dataFileName, const TString &dataTreeName, const TString &histFileName, const TString &tableFileNameBase)
 Slaves required when performing a simultaneous fit. More...
 
void fitExpt ()
 Routine to perform the actual fit for a given experiment. More...
 
Bool_t runMinimisation ()
 Routine to perform the minimisation. More...
 
void createFitToyMC (const TString &mcFileName, const TString &tableFileName)
 Create a toy MC sample from the fitted parameters. More...
 
Bool_t cacheFitData (const TString &dataFileName, const TString &dataTreeName)
 Store variables from the input file into the internal data storage. More...
 
virtual void cacheInputSWeights ()
 Cache the value of the sWeights to be used in the sFit. More...
 
Double_t getLogLikelihood (UInt_t iStart, UInt_t iEnd)
 Calculate the sum of the log-likelihood over the specified events. More...
 
Double_t getLogLikelihoodPenalty ()
 Calculate the penalty terms to the log likelihood from Gaussian constraints. More...
 
virtual void printEventInfo (UInt_t iEvt) const
 Prints the values of all the fit variables for the specified event - useful for diagnostics. More...
 
virtual void printVarsInfo () const
 Same as printEventInfo, but printing out the values of the variables in the fit. More...
 
virtual void writeOutAllFitResults ()
 Write out any fit results. More...
 
virtual void calculateSPlotData ()
 Calculate the sPlot data. More...
 
void setGenValues ()
 Make sure all parameters hold their genValue as the current value. More...
 
Bool_t validBkgndClass (const TString &className) const
 Check if the given background class is in the list. More...
 
UInt_t bkgndClassID (const TString &className) const
 The number assigned to a background class. More...
 
const TString & bkgndClassName (UInt_t classID) const
 Get the name of a background class from the number. More...
 
void eventsPerExpt (UInt_t nEvents)
 Set the number of events in the current experiment. More...
 
virtual void addGenNtupleIntegerBranch (const TString &name)
 Add a branch to the gen tree for storing an integer. More...
 
virtual void addGenNtupleDoubleBranch (const TString &name)
 Add a branch to the gen tree for storing a double. More...
 
virtual void setGenNtupleIntegerBranchValue (const TString &name, Int_t value)
 Set the value of an integer branch in the gen tree. More...
 
virtual void setGenNtupleDoubleBranchValue (const TString &name, Double_t value)
 Set the value of a double branch in the gen tree. More...
 
virtual Int_t getGenNtupleIntegerBranchValue (const TString &name) const
 Get the value of an integer branch in the gen tree. More...
 
virtual Double_t getGenNtupleDoubleBranchValue (const TString &name) const
 Get the value of a double branch in the gen tree. More...
 
virtual void fillGenNtupleBranches ()
 Fill the gen tuple branches. More...
 
virtual void addSPlotNtupleIntegerBranch (const TString &name)
 Add a branch to the sPlot tree for storing an integer. More...
 
virtual void addSPlotNtupleDoubleBranch (const TString &name)
 Add a branch to the sPlot tree for storing a double. More...
 
virtual void setSPlotNtupleIntegerBranchValue (const TString &name, Int_t value)
 Set the value of an integer branch in the sPlot tree. More...
 
virtual void setSPlotNtupleDoubleBranchValue (const TString &name, Double_t value)
 Set the value of a double branch in the sPlot tree. More...
 
virtual void fillSPlotNtupleBranches ()
 Fill the sPlot tuple. More...
 
UInt_t addFitParameters (LauPdfList &pdfList)
 Add parameters of the PDFs in the list to the list of all fit parameters. More...
 
void addConParameters ()
 Add parameters to the list of Gaussian constrained parameters. More...
 
void printFitParameters (const LauPdfList &pdfList, std::ostream &fout) const
 Print the fit parameters for all PDFs in the list. More...
 
void updateFitParameters (LauPdfList &pdfList)
 Update the fit parameters for all PDFs in the list. More...
 
void cacheInfo (LauPdfList &pdfList, const LauFitDataTree &theData)
 Have all PDFs in the list cache the data. More...
 
Double_t prodPdfValue (LauPdfList &pdfList, UInt_t iEvt)
 Calculate the product of the per-event likelihoods of the PDFs in the list. More...
 
Bool_t pdfsDependOnDP () const
 Do any of the PDFs have a dependence on the DP? More...
 
void pdfsDependOnDP (Bool_t dependOnDP)
 Do any of the PDFs have a dependence on the DP? More...
 
const LauParameterPListfitPars () const
 Access the fit variables. More...
 
LauParameterPListfitPars ()
 
const LauParameterListextraPars () const
 Access the extra variables. More...
 
LauParameterListextraPars ()
 
const LauAbsRValuePListconPars () const
 Access the Gaussian constrained variables. More...
 
LauAbsRValuePListconPars ()
 
const LauFitNtuplefitNtuple () const
 Access the fit ntuple. More...
 
LauFitNtuplefitNtuple ()
 
const LauGenNtuplegenNtuple () const
 Access the gen ntuple. More...
 
LauGenNtuplegenNtuple ()
 
const LauGenNtuplesPlotNtuple () const
 Access the sPlot ntuple. More...
 
LauGenNtuplesPlotNtuple ()
 
const LauFitDataTreefitData () const
 Access the data store. More...
 
LauFitDataTreefitData ()
 
Double_t nll () const
 Access the current NLL value. More...
 
Int_t fitStatus () const
 Access the fit status information. More...
 
const TMatrixD & covarianceMatrix () const
 Access the fit covariance matrix. More...
 
- Protected Member Functions inherited from LauFitObject
 LauFitObject ()
 Constructor. More...
 

Private Attributes

LauAbsDPDynamicssigDPModel_
 The signal Dalitz plot model. More...
 
LauBkgndDPModelList bkgndDPModels_
 The background Dalitz Plot model. More...
 
LauKinematicskinematics_
 The Dalitz plot kinematics object. More...
 
LauPdfList signalPdfs_
 The signal PDFs. More...
 
LauPdfList scfPdfs_
 The SCF PDFs. More...
 
LauBkgndPdfsList bkgndPdfs_
 The background PDFs. More...
 
Bool_t usingBkgnd_
 Background boolean. More...
 
UInt_t nSigComp_
 Number of signal components. More...
 
UInt_t nSigDPPar_
 Number of signal DP parameters. More...
 
UInt_t nExtraPdfPar_
 Number of extra PDF parameters. More...
 
UInt_t nNormPar_
 Number of normalisation parameters (i.e. yields) More...
 
std::vector< LauAbsCoeffSet * > coeffPars_
 Magnitudes and Phases. More...
 
LauParArray fitFrac_
 Fit fractions. More...
 
LauParArray fitFracEffUnCorr_
 Fit fractions (uncorrected for the efficiency) More...
 
LauParameter meanEff_
 The mean efficiency. More...
 
LauParameter dpRate_
 The average DP rate. More...
 
LauParametersignalEvents_
 Signal yield. More...
 
LauBkgndYieldList bkgndEvents_
 Background yield(s) More...
 
Bool_t useSCF_
 Is the signal split into TM and SCF. More...
 
Bool_t useSCFHist_
 Is the SCF fraction DP-dependent. More...
 
LauParameter scfFrac_
 The (global) SCF fraction parameter. More...
 
LauEffModelscfFracHist_
 The histogram giving the DP-dependence of the SCF fraction. More...
 
LauScfMapscfMap_
 The smearing matrix for the SCF DP PDF. More...
 
std::vector< Double_t > recoSCFFracs_
 The cached values of the SCF fraction for each event. More...
 
std::vector< Double_t > fakeSCFFracs_
 The cached values of the SCF fraction for each bin centre. More...
 
std::vector< Double_t > recoJacobians_
 The cached values of the sqDP jacobians for each event. More...
 
std::vector< Double_t > fakeJacobians_
 The cached values of the sqDP jacobians for each true bin. More...
 
Bool_t compareFitData_
 Run choice variables. More...
 
std::vector< LauComplexcoeffs_
 The complex coefficients. More...
 
LauEmbeddedDatasignalTree_
 The signal event tree. More...
 
LauBkgndEmbDataList bkgndTree_
 The background event tree. More...
 
Bool_t reuseSignal_
 Boolean to reuse signal events. More...
 
Bool_t useReweighting_
 Boolean to use reweighting. More...
 
LauBkgndReuseEventsList reuseBkgnd_
 Vector of booleans to reuse background events. More...
 
Double_t sigDPLike_
 Signal likelihood value. More...
 
Double_t scfDPLike_
 SCF likelihood value. More...
 
std::vector< Double_t > bkgndDPLike_
 Background likelihood value(s) More...
 
Double_t sigExtraLike_
 Signal likelihood from extra PDFs. More...
 
Double_t scfExtraLike_
 SCF likelihood from extra PDFs. More...
 
std::vector< Double_t > bkgndExtraLike_
 Background likelihood value(s) from extra PDFs. More...
 
Double_t sigTotalLike_
 Total signal likelihood. More...
 
Double_t scfTotalLike_
 Total SCF likelihood. More...
 
std::vector< Double_t > bkgndTotalLike_
 Total background likelihood(s) More...
 

Detailed Description

Define a Dalitz plot according to the isobar model.

A class that allows the user to define a three-body B meson Dalitz plot according to the isobar model, i.e. defining a set of resonances that have complex amplitudes that can interfere with each other.

Definition at line 44 of file LauSimpleFitModel.hh.

Member Typedef Documentation

Typedef for a vector of background DP models.

Definition at line 169 of file LauSimpleFitModel.hh.

Typedef for a vector of embedded data objects.

Definition at line 178 of file LauSimpleFitModel.hh.

typedef std::vector<LauPdfList> LauSimpleFitModel::LauBkgndPdfsList
protected

Typedef for a vector of background PDFs.

Definition at line 172 of file LauSimpleFitModel.hh.

typedef std::vector<Bool_t> LauSimpleFitModel::LauBkgndReuseEventsList
protected

Typedef for a vector of booleans to flag if events are reused.

Definition at line 181 of file LauSimpleFitModel.hh.

typedef std::vector<LauParameter*> LauSimpleFitModel::LauBkgndYieldList
protected

Typedef for a vector of background yields.

Definition at line 175 of file LauSimpleFitModel.hh.

typedef std::map< TString, std::pair<Int_t,Double_t> > LauSimpleFitModel::LauGenInfo
protected

Define a map to be used to store a category name and numbers.

Definition at line 166 of file LauSimpleFitModel.hh.

Constructor & Destructor Documentation

LauSimpleFitModel::LauSimpleFitModel ( LauAbsDPDynamics sigDPModel)
explicit

Constructor.

Parameters
[in]sigDPModelthe signal DP model

Definition at line 46 of file LauSimpleFitModel.cc.

LauSimpleFitModel::~LauSimpleFitModel ( )
virtual

Destructor.

Definition at line 76 of file LauSimpleFitModel.cc.

Member Function Documentation

void LauSimpleFitModel::addSPlotNtupleBranches ( const LauPdfList extraPdfs,
const TString &  prefix 
)
protected

Add sPlot branches for the extra PDFs.

Parameters
[in]extraPdfsthe list of extra PDFs
[in]prefixthe list of prefixes for the branch names

Definition at line 1603 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::appendBinCentres ( LauFitDataTree inputData)
protected

Append fake data points to the inputData for each bin in the SCF smearing matrix.

We'll be caching the DP amplitudes and efficiencies of the centres of the true bins. To do so, we attach some fake points at the end of inputData, the number of the entry minus the total number of events corresponding to the number of the histogram for that given true bin in the LauScfMap object. (What this means is that when Laura is provided with the LauScfMap object by the user, it's the latter who has to make sure that it contains the right number of histograms and in exactly the right order!)

Parameters
[in]inputDatathe fit data

Definition at line 1303 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::cacheInputFitVars ( )
protectedvirtual

Read in the input fit data variables, e.g. m13Sq and m23Sq.

Implements LauAbsFitModel.

Definition at line 1246 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::checkInitFitParams ( )
protectedvirtual

Check the initial fit parameters.

Implements LauAbsFitModel.

Definition at line 768 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::embedBkgnd ( const TString &  bkgndClass,
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.

Parameters
[in]bkgndClassthe name of the background class
[in]fileNamethe name of the file containing the events
[in]treeNamethe name of the tree
[in]reuseEventsWithinEnsemble
[in]reuseEventsWithinExperiment

Definition at line 1971 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::embedSignal ( const TString &  fileName,
const TString &  treeName,
Bool_t  reuseEventsWithinEnsemble,
Bool_t  reuseEventsWithinExperiment = kFALSE,
Bool_t  useReweighting = kFALSE 
)

Embed full simulation events for the signal, rather than generating toy from the PDFs.

Parameters
[in]fileNamethe name of the file containing the events
[in]treeNamethe name of the tree
[in]reuseEventsWithinEnsemble
[in]reuseEventsWithinExperiment
[in]useReweighting

Definition at line 1940 of file LauSimpleFitModel.cc.

LauSimpleFitModel::LauGenInfo LauSimpleFitModel::eventsToGenerate ( )
protected

Determine the number of events to generate for each hypothesis.

Definition at line 790 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::finaliseFitResults ( const TString &  tablePrefixName)
protectedvirtual

Get the fit results and store them.

Parameters
[in]tablePrefixNameprefix for the name of the output file

Implements LauAbsFitModel.

Definition at line 547 of file LauSimpleFitModel.cc.

LauSPlot::NumbMap LauSimpleFitModel::fixdSpeciesNames ( ) const
protectedvirtual

Returns the names and yields of species that are fixed in the fit.

Implements LauAbsFitModel.

Definition at line 1747 of file LauSimpleFitModel.cc.

LauSPlot::NumbMap LauSimpleFitModel::freeSpeciesNames ( ) const
protectedvirtual

Returns the names and yields of species that are free in the fit.

Implements LauAbsFitModel.

Definition at line 1728 of file LauSimpleFitModel.cc.

Bool_t LauSimpleFitModel::generateBkgndEvent ( UInt_t  bkgndID)
protected

Generate background event.

Parameters
[in]bkgndIDID number of the background class

Definition at line 1089 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::generateExtraPdfValues ( LauPdfList extraPdfs,
LauEmbeddedData embeddedData 
)
protected

Generate from the extra PDFs.

Parameters
[in]extraPdfsthe list of extra PDFs
[in]embeddedDatathe embedded data sample

Definition at line 1185 of file LauSimpleFitModel.cc.

Bool_t LauSimpleFitModel::generateSignalEvent ( )
protected

Generate signal event.

Definition at line 961 of file LauSimpleFitModel.cc.

Bool_t LauSimpleFitModel::genExpt ( )
protectedvirtual

Toy MC generation and fitting overloaded functions.

Implements LauAbsFitModel.

Definition at line 829 of file LauSimpleFitModel.cc.

Double_t LauSimpleFitModel::getEventSum ( ) const
protectedvirtual

Get the total number of events.

Returns
the total number of events

Implements LauAbsFitModel.

Definition at line 1383 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::getEvtDPLikelihood ( UInt_t  iEvt)
protectedvirtual

Calculate the signal and background likelihoods for the DP for a given event.

Parameters
[in]iEvtthe event number

Definition at line 1393 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::getEvtExtraLikelihoods ( UInt_t  iEvt)
protectedvirtual

Determine the signal and background likelihood for the extra variables for a given event.

Parameters
[in]iEvtthe event number

Definition at line 1493 of file LauSimpleFitModel.cc.

Double_t LauSimpleFitModel::getEvtSCFDPLikelihood ( UInt_t  iEvt)
protectedvirtual

Calculate the SCF likelihood for the DP for a given event.

Parameters
[in]iEvtthe event number

Definition at line 1438 of file LauSimpleFitModel.cc.

Double_t LauSimpleFitModel::getTotEvtLikelihood ( UInt_t  iEvt)
protectedvirtual

Get the total likelihood for each event.

Parameters
[in]iEvtthe event number

Implements LauAbsFitModel.

Definition at line 1346 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::initialise ( )
protectedvirtual

Initialise the fit.

Implements LauAbsFitModel.

Definition at line 267 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::initialiseDPModels ( )
protectedvirtual

Initialise the signal DP model.

Implements LauAbsFitModel.

Definition at line 372 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::printFitFractions ( std::ostream &  output)
protectedvirtual

Print the fit fractions, total DP rate and mean efficiency.

Parameters
[out]outputthe stream to which to print

Definition at line 680 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::propagateParUpdates ( )
protectedvirtual

Calculate things that depend on the fit parameters after they have been updated by Minuit.

Implements LauAbsFitModel.

Definition at line 1207 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::randomiseInitFitPars ( )
protected

Randomise the initial fit parameters.

Definition at line 780 of file LauSimpleFitModel.cc.

virtual Bool_t LauSimpleFitModel::scfDPSmear ( ) const
inlineprotectedvirtual

Check if the mis-reconstructed signal is to be smeared in the DP.

Implements LauAbsFitModel.

Definition at line 338 of file LauSimpleFitModel.hh.

void LauSimpleFitModel::setAmpCoeffSet ( LauAbsCoeffSet coeffSet)
virtual

Set the DP amplitude coefficients.

Parameters
[in]coeffSetthe set of coefficients

Implements LauAbsFitModel.

Definition at line 239 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setBkgndDPModel ( const TString &  bkgndClass,
LauAbsBkgndDPModel bkgndModel 
)

Set the background DP models.

Parameters
[in]bkgndClassthe name of the background class
[in]bkgndModelthe DP model of the background

Definition at line 181 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setBkgndPdf ( const TString &  bkgndClass,
LauAbsPdf pdf 
)

Set the background PDF.

Parameters
[in]bkgndClassthe name of the background class
[in]pdfthe PDF to be added to the background model

Definition at line 219 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setDPBranchValues ( )
protected

Store all of the DP information.

Definition at line 1167 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setExtraNtupleVars ( )
protected

Set-up other parameters that are derived from the fit results, e.g. fit fractions.

Definition at line 483 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setExtraPdfParameters ( )
protected

Set the fit parameters for the extra PDFs.

Definition at line 416 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setFitNEvents ( )
protected

Set the initial yields.

Definition at line 438 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setNBkgndEvents ( LauParameter nBkgndEvents)
virtual

Set the background event yield(s)

The name of the parameter must be that of the corresponding background category (so that it can be correctly assigned)

Parameters
[in]nBkgndEventscontains the name, yield and option to fix the background yield

Implements LauAbsFitModel.

Definition at line 118 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setNSigEvents ( LauParameter nSigEvents)
virtual

Set the signal event yield.

Parameters
[in]nSigEventscontains the signal yield and boolean to fix it or not

Implements LauAbsFitModel.

Definition at line 98 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setSCFPdf ( LauAbsPdf pdf)

Set the SCF PDF for a given variable.

Parameters
[in]pdfthe PDF to be added to the SCF model

Definition at line 210 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setSignalDPParameters ( )
protected

Set the fit parameters for the DP model.

Definition at line 384 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setSignalPdf ( LauAbsPdf pdf)

Set the signal PDF for a given variable.

Parameters
[in]pdfthe PDF to be added to the signal model

Definition at line 201 of file LauSimpleFitModel.cc.

Double_t LauSimpleFitModel::setSPlotNtupleBranchValues ( LauPdfList extraPdfs,
const TString &  prefix,
UInt_t  iEvt 
)
protected

Set the branches for the sPlot ntuple with extra PDFs.

Parameters
[in]extraPdfsthe list of extra PDFs
[in]prefixthe list of prefixes for the branch names
[in]iEvtthe event number

Definition at line 1651 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setupBkgndVectors ( )
protectedvirtual

Define the length of the background vectors.

Implements LauAbsFitModel.

Definition at line 85 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setupGenNtupleBranches ( )
protectedvirtual

Setup the required ntuple branches.

Implements LauAbsFitModel.

Definition at line 1126 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::setupSPlotNtupleBranches ( )
protectedvirtual

Add branches to store experiment number and the event number within the experiment.

Implements LauAbsFitModel.

Definition at line 1536 of file LauSimpleFitModel.cc.

Bool_t LauSimpleFitModel::smearSCFDP ( ) const
inline

Determine if we are smearing the SCF DP PDF.

Definition at line 107 of file LauSimpleFitModel.hh.

virtual Bool_t LauSimpleFitModel::splitSignal ( ) const
inlineprotectedvirtual

Check if the signal is split into well-reconstructed and mis-reconstructed types.

Implements LauAbsFitModel.

Definition at line 335 of file LauSimpleFitModel.hh.

void LauSimpleFitModel::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.

The nomenclature used here is TM (truth-matched) and SCF (self cross feed) In this option, the SCF fraction is DP-dependent Can also optionally provide a smearing matrix to smear the SCF DP PDF

Parameters
[in]dpHistothe DP histogram of the SCF fraction value
[in]upperHalfwhether this histogram is only in the upper half of a symmetric DP
[in]fluctuateBinswhether the bins on the histogram should be varied in accordance with their uncertainties (for evaluation of systematic uncertainties)
[in]scfMapthe (optional) smearing matrix

Definition at line 144 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::splitSignalComponent ( const Double_t  scfFrac,
const Bool_t  fixed 
)

Split the signal component into well reconstructed and mis-reconstructed parts.

The nomenclature used here is TM (truth-matched) and SCF (self cross feed) In this option, the SCF fraction is a single global number

Parameters
[in]scfFracthe SCF fraction value
[in]fixedwhether the SCF fraction is fixed or floated in the fit

Definition at line 166 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::storePerEvtLlhds ( )
protectedvirtual

Store the per event likelihood values.

Implements LauAbsFitModel.

Definition at line 1828 of file LauSimpleFitModel.cc.

LauSPlot::TwoDMap LauSimpleFitModel::twodimPDFs ( ) const
protectedvirtual

Returns the species and variables for all 2D PDFs in the fit.

Implements LauAbsFitModel.

Definition at line 1766 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::updateCoeffs ( )
protectedvirtual

Update the coefficients.

Implements LauAbsFitModel.

Definition at line 1527 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::updateSigEvents ( )
protected

Update the signal events after Minuit sets background parameters.

Definition at line 1221 of file LauSimpleFitModel.cc.

Bool_t LauSimpleFitModel::useSCF ( ) const
inline

Determine whether we are splitting the signal into TM and SCF parts.

Definition at line 101 of file LauSimpleFitModel.hh.

Bool_t LauSimpleFitModel::useSCFHist ( ) const
inline

Determine whether the SCF fraction is DP-dependent.

Definition at line 104 of file LauSimpleFitModel.hh.

LauSPlot::NameSet LauSimpleFitModel::variableNames ( ) const
protectedvirtual

Returns the names of all variables in the fit.

Implements LauAbsFitModel.

Definition at line 1708 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::weightEvents ( const TString &  dataFileName,
const TString &  dataTreeName 
)
virtual

Weight events based on the DP model.

Parameters
[in]dataFileNamethe name of the data file
[in]dataTreeNamethe name of the data tree

Implements LauAbsFitModel.

Definition at line 2008 of file LauSimpleFitModel.cc.

void LauSimpleFitModel::writeOutTable ( const TString &  outputFile)
protectedvirtual

Write the fit results in latex table format.

Parameters
[in]outputFilethe name of the output file

Implements LauAbsFitModel.

Definition at line 690 of file LauSimpleFitModel.cc.

Member Data Documentation

std::vector<Double_t> LauSimpleFitModel::bkgndDPLike_
private

Background likelihood value(s)

Definition at line 465 of file LauSimpleFitModel.hh.

LauBkgndDPModelList LauSimpleFitModel::bkgndDPModels_
private

The background Dalitz Plot model.

Definition at line 358 of file LauSimpleFitModel.hh.

LauBkgndYieldList LauSimpleFitModel::bkgndEvents_
private

Background yield(s)

Definition at line 406 of file LauSimpleFitModel.hh.

std::vector<Double_t> LauSimpleFitModel::bkgndExtraLike_
private

Background likelihood value(s) from extra PDFs.

Definition at line 474 of file LauSimpleFitModel.hh.

LauBkgndPdfsList LauSimpleFitModel::bkgndPdfs_
private

The background PDFs.

Definition at line 370 of file LauSimpleFitModel.hh.

std::vector<Double_t> LauSimpleFitModel::bkgndTotalLike_
private

Total background likelihood(s)

Definition at line 483 of file LauSimpleFitModel.hh.

LauBkgndEmbDataList LauSimpleFitModel::bkgndTree_
private

The background event tree.

Definition at line 447 of file LauSimpleFitModel.hh.

std::vector<LauAbsCoeffSet*> LauSimpleFitModel::coeffPars_
private

Magnitudes and Phases.

Definition at line 388 of file LauSimpleFitModel.hh.

std::vector<LauComplex> LauSimpleFitModel::coeffs_
private

The complex coefficients.

Definition at line 439 of file LauSimpleFitModel.hh.

Bool_t LauSimpleFitModel::compareFitData_
private

Run choice variables.

Definition at line 436 of file LauSimpleFitModel.hh.

LauParameter LauSimpleFitModel::dpRate_
private

The average DP rate.

Definition at line 400 of file LauSimpleFitModel.hh.

std::vector<Double_t> LauSimpleFitModel::fakeJacobians_
private

The cached values of the sqDP jacobians for each true bin.

Definition at line 433 of file LauSimpleFitModel.hh.

std::vector<Double_t> LauSimpleFitModel::fakeSCFFracs_
private

The cached values of the SCF fraction for each bin centre.

Definition at line 427 of file LauSimpleFitModel.hh.

LauParArray LauSimpleFitModel::fitFrac_
private

Fit fractions.

Definition at line 391 of file LauSimpleFitModel.hh.

LauParArray LauSimpleFitModel::fitFracEffUnCorr_
private

Fit fractions (uncorrected for the efficiency)

Definition at line 394 of file LauSimpleFitModel.hh.

LauKinematics* LauSimpleFitModel::kinematics_
private

The Dalitz plot kinematics object.

Definition at line 361 of file LauSimpleFitModel.hh.

LauParameter LauSimpleFitModel::meanEff_
private

The mean efficiency.

Definition at line 397 of file LauSimpleFitModel.hh.

UInt_t LauSimpleFitModel::nExtraPdfPar_
private

Number of extra PDF parameters.

Definition at line 382 of file LauSimpleFitModel.hh.

UInt_t LauSimpleFitModel::nNormPar_
private

Number of normalisation parameters (i.e. yields)

Definition at line 385 of file LauSimpleFitModel.hh.

UInt_t LauSimpleFitModel::nSigComp_
private

Number of signal components.

Definition at line 376 of file LauSimpleFitModel.hh.

UInt_t LauSimpleFitModel::nSigDPPar_
private

Number of signal DP parameters.

Definition at line 379 of file LauSimpleFitModel.hh.

std::vector<Double_t> LauSimpleFitModel::recoJacobians_
private

The cached values of the sqDP jacobians for each event.

Definition at line 430 of file LauSimpleFitModel.hh.

std::vector<Double_t> LauSimpleFitModel::recoSCFFracs_
private

The cached values of the SCF fraction for each event.

Definition at line 424 of file LauSimpleFitModel.hh.

LauBkgndReuseEventsList LauSimpleFitModel::reuseBkgnd_
private

Vector of booleans to reuse background events.

Definition at line 456 of file LauSimpleFitModel.hh.

Bool_t LauSimpleFitModel::reuseSignal_
private

Boolean to reuse signal events.

Definition at line 450 of file LauSimpleFitModel.hh.

Double_t LauSimpleFitModel::scfDPLike_
private

SCF likelihood value.

Definition at line 462 of file LauSimpleFitModel.hh.

Double_t LauSimpleFitModel::scfExtraLike_
private

SCF likelihood from extra PDFs.

Definition at line 471 of file LauSimpleFitModel.hh.

LauParameter LauSimpleFitModel::scfFrac_
private

The (global) SCF fraction parameter.

Definition at line 415 of file LauSimpleFitModel.hh.

LauEffModel* LauSimpleFitModel::scfFracHist_
private

The histogram giving the DP-dependence of the SCF fraction.

Definition at line 418 of file LauSimpleFitModel.hh.

LauScfMap* LauSimpleFitModel::scfMap_
private

The smearing matrix for the SCF DP PDF.

Definition at line 421 of file LauSimpleFitModel.hh.

LauPdfList LauSimpleFitModel::scfPdfs_
private

The SCF PDFs.

Definition at line 367 of file LauSimpleFitModel.hh.

Double_t LauSimpleFitModel::scfTotalLike_
private

Total SCF likelihood.

Definition at line 480 of file LauSimpleFitModel.hh.

Double_t LauSimpleFitModel::sigDPLike_
private

Signal likelihood value.

Definition at line 459 of file LauSimpleFitModel.hh.

LauAbsDPDynamics* LauSimpleFitModel::sigDPModel_
private

The signal Dalitz plot model.

Definition at line 355 of file LauSimpleFitModel.hh.

Double_t LauSimpleFitModel::sigExtraLike_
private

Signal likelihood from extra PDFs.

Definition at line 468 of file LauSimpleFitModel.hh.

LauParameter* LauSimpleFitModel::signalEvents_
private

Signal yield.

Definition at line 403 of file LauSimpleFitModel.hh.

LauPdfList LauSimpleFitModel::signalPdfs_
private

The signal PDFs.

Definition at line 364 of file LauSimpleFitModel.hh.

LauEmbeddedData* LauSimpleFitModel::signalTree_
private

The signal event tree.

Definition at line 444 of file LauSimpleFitModel.hh.

Double_t LauSimpleFitModel::sigTotalLike_
private

Total signal likelihood.

Definition at line 477 of file LauSimpleFitModel.hh.

Bool_t LauSimpleFitModel::useReweighting_
private

Boolean to use reweighting.

Definition at line 453 of file LauSimpleFitModel.hh.

Bool_t LauSimpleFitModel::useSCF_
private

Is the signal split into TM and SCF.

Definition at line 409 of file LauSimpleFitModel.hh.

Bool_t LauSimpleFitModel::useSCFHist_
private

Is the SCF fraction DP-dependent.

Definition at line 412 of file LauSimpleFitModel.hh.

Bool_t LauSimpleFitModel::usingBkgnd_
private

Background boolean.

Definition at line 373 of file LauSimpleFitModel.hh.


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