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

Class for defining a CP fit model. More...

#include <LauCPFitModel.hh>

Inheritance diagram for LauCPFitModel:
LauAbsFitModel LauSimFitTask LauFitObject

Public Member Functions

 LauCPFitModel (LauIsobarDynamics *negModel, LauIsobarDynamics *posModel, Bool_t tagged=kTRUE, const TString &tagVarName="charge")
 Constructor. More...
 
virtual ~LauCPFitModel ()
 Destructor.
 
virtual void setNSigEvents (LauParameter *nSigEvents)
 Set the signal event yield. More...
 
virtual void setNSigEvents (LauParameter *nSigEvents, LauParameter *sigAsym, Bool_t forceAsym=kFALSE)
 Set the signal event yield if there is an asymmetry. More...
 
virtual void setNBkgndEvents (LauAbsRValue *nBkgndEvents)
 Set the background event yield(s) More...
 
virtual void setNBkgndEvents (LauAbsRValue *nBkgndEvents, LauAbsRValue *bkgndAsym)
 Set the background event yield(s) More...
 
void setBkgndDPModels (const TString &bkgndClass, LauAbsBkgndDPModel *negModel, LauAbsBkgndDPModel *posModel)
 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.
 
Bool_t useSCFHist () const
 Determine whether the SCF fraction is DP-dependent.
 
Bool_t smearSCFDP () const
 Determine if we are smearing the SCF DP PDF.
 
void setSignalPdfs (LauAbsPdf *negPdf, LauAbsPdf *posPdf)
 Set the signal PDFs. More...
 
void setSCFPdfs (LauAbsPdf *negPdf, LauAbsPdf *posPdf)
 Set the SCF PDF for a given variable. More...
 
void setBkgndPdfs (const TString &bkgndClass, LauAbsPdf *negPdf, LauAbsPdf *posPdf)
 Set the background PDFs. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void setAmpCoeffSet (LauAbsCoeffSet *coeffSet)
 Set the DP amplitude coefficients. More...
 
virtual std::map< TString, LauComplexgetDPAmps (const Double_t m13Sq, const Double_t m23Sq)
 Calculate the DP amplitude(s) for a given DP position. More...
 
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. More...
 
- Public Member Functions inherited from LauAbsFitModel
 LauAbsFitModel ()
 Constructor.
 
virtual ~LauAbsFitModel ()
 Destructor.
 
Bool_t useDP () const
 Is the Dalitz plot term in the likelihood.
 
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.
 
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.
 
void doEMLFit (Bool_t emlFit)
 Choice to perform an extended maximum likelihood fit. More...
 
Bool_t doPoissonSmearing () const
 Determine whether Poisson smearing is enabled for the toy MC generation.
 
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.
 
void enableEmbedding (Bool_t enable)
 Turn on or off embedding of events in the generation. More...
 
Bool_t writeLatexTable () const
 Determine whether writing out of the latex table is enabled.
 
void writeLatexTable (Bool_t writeTable)
 Turn on or off the writing out of the latex table. More...
 
Bool_t saveFilePDF () const
 save files containing graphs of the resonance's PDFs
 
void saveFilePDF (Bool_t savePDF)
 Turn on or off the save of files containing graphs of the resonance's PDFs. 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.
 
Bool_t storeDPEff () const
 Determine whether the efficiency information should be stored in the sPlot ntuple.
 
Bool_t useRandomInitFitPars () const
 Determine whether the initial values of the fit parameters, in particular the isobar coefficient parameters, are to be randomised.
 
void useRandomInitFitPars (Bool_t boolean)
 Randomise the initial values of the fit parameters, in particular the isobar coefficient parameters.
 
virtual void setBkgndClassNames (const std::vector< TString > &names)
 Setup the background class names. More...
 
UInt_t nBkgndClasses () const
 Returns the number of background classes.
 
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...
 
virtual void setParsFromMinuit (Double_t *par, Int_t npar)
 This function sets the parameter values from Minuit. More...
 
virtual Double_t getTotNegLogLikelihood ()
 Calculates the total negative log-likelihood. More...
 
void setParametersFromFile (const TString &fileName, const TString &treeName, const Bool_t fix)
 Set model parameters from a file. More...
 
void setParametersFromMap (const std::map< TString, Double_t > &parameters, const Bool_t fix)
 Set model parameters from a given std::map. More...
 
void setNamedParameters (const TString &fileName, const TString &treeName, const std::set< TString > &parameters, const Bool_t fix)
 Set named model parameters from a file. More...
 
void setParametersFileFallback (const TString &fileName, const TString &treeName, const std::map< TString, Double_t > &parameters, const Bool_t fix)
 Set named model parameters from a given std::map, with fallback to those from a file. More...
 
- Public Member Functions inherited from LauSimFitTask
 LauSimFitTask ()
 Constructor.
 
virtual ~LauSimFitTask ()
 Destructor.
 
UInt_t nTasks () const
 Obtain the number of tasks.
 
UInt_t taskId () const
 Obtain the ID number of this task.
 
virtual void runTask (const TString &dataFileName, const TString &dataTreeName, const TString &histFileName, const TString &tableFileName="", const TString &addressCoordinator="localhost", const UInt_t portCoordinator=9090)
 Start the task process for simultaneous fitting. More...
 
- Public Member Functions inherited from LauFitObject
virtual ~LauFitObject ()=default
 Destructor.
 
void useAsymmFitErrors (Bool_t useAsymmErrors)
 Turn on or off the computation of asymmetric errors (e.g. MINOS routine in Minuit) More...
 
Bool_t useAsymmFitErrors () const
 Report whether or not calculation of asymmetric errors is enabled.
 
void twoStageFit (Bool_t doTwoStageFit)
 Turn on or off the two stage fit. More...
 
Bool_t twoStageFit () const
 Report whether the two-stage fit is enabled.
 
virtual void withinAsymErrorCalc (const Bool_t inAsymErrCalc)
 Mark that the fit is calculating asymmetric errors. More...
 
Bool_t withinAsymErrorCalc () const
 Query whether the fit is calculating the asymmetric errors. More...
 
void setNExpts (UInt_t nExperiments, UInt_t firstExperiment, Bool_t toyExpts)
 Set the number of experiments, the first experiment, and whether this is toy. More...
 
UInt_t eventsPerExpt () const
 Obtain the total number of events in the current experiment.
 
UInt_t nExpt () const
 Obtain the number of experiments.
 
UInt_t firstExpt () const
 Obtain the number of the first experiment.
 
UInt_t iExpt () const
 Obtain the number of the current experiment.
 
Bool_t toyExpts () const
 Obtain whether this is toy.
 
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...
 
void addFormulaConstraint (const TString &formula, const std::vector< TString > &pars, const Double_t mean, const Double_t width)
 Store constraint information for fit parameters. More...
 
void addMultiDimConstraint (const std::vector< TString > &pars, const TVectorD &means, const TMatrixD &covMat)
 Store n-dimensional constraint information for fit parameters. More...
 

Protected Types

typedef 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.
 
typedef std::vector< LauAbsBkgndDPModel * > LauBkgndDPModelList
 Typedef for a vector of background DP models.
 
typedef std::vector< LauPdfPListLauBkgndPdfsList
 Typedef for a vector of background PDFs.
 
typedef std::vector< LauAbsRValue * > LauBkgndYieldList
 Typedef for a vector of background yields.
 
typedef std::vector< LauEmbeddedData * > LauBkgndEmbDataList
 Typedef for a vector of embedded data objects.
 
typedef std::vector< Bool_t > LauBkgndReuseEventsList
 Typedef for a vector of booleans to flag if events are reused.
 
- Protected Types inherited from LauAbsFitModel
typedef std::vector< LauAbsPdf * > LauPdfPList
 List of Pdfs.
 
typedef std::vector< LauParameter * > LauParameterPList
 List of parameter pointers.
 
typedef std::vector< LauAbsRValue * > LauAbsRValuePList
 List of parameter pointers.
 
typedef std::set< LauParameter * > LauParameterPSet
 Set of parameter pointers.
 
typedef std::vector< LauParameterLauParameterList
 List of parameters.
 
typedef std::map< UInt_t, TString > LauBkgndClassMap
 A type to store background classes.
 
- Protected Types inherited from LauFitObject
enum  ConstraintType { ConstraintType::Formula, ConstraintType::MultDim }
 Enumeration of the different types of constraint. More...
 

Protected Member Functions

virtual void weightEvents (const TString &dataFileName, const TString &dataTreeName)
 Weight events based on the DP model. More...
 
virtual void initialise ()
 Initialise the fit.
 
virtual void initialiseDPModels ()
 Initialise the signal DP models.
 
virtual void recalculateNormalisation ()
 Recalculate Normalization the signal DP models.
 
virtual void updateCoeffs ()
 Update the coefficients.
 
virtual Bool_t genExpt ()
 Toy MC generation and fitting overloaded functions.
 
virtual void propagateParUpdates ()
 Calculate things that depend on the fit parameters after they have been updated by Minuit.
 
virtual void cacheInputFitVars ()
 Read in the input fit data variables, e.g. m13Sq and m23Sq.
 
virtual void checkInitFitParams ()
 Check the initial fit parameters.
 
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 printAsymmetries (std::ostream &output)
 Print the asymmetries. More...
 
virtual void writeOutTable (const TString &outputFile)
 Write the fit results in latex table format. More...
 
virtual void savePDFPlots (const TString &label)
 Save the pdf Plots for all the resonances. More...
 
virtual void savePDFPlotsWave (const TString &label, const Int_t &spin)
 Save the pdf Plots for the sum of resonances of a given spin. More...
 
virtual void storePerEvtLlhds ()
 Store the per event likelihood values.
 
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.
 
void setExtraPdfParameters ()
 Set the fit parameters for the extra PDFs.
 
void setFitNEvents ()
 Set the initial yields.
 
void setExtraNtupleVars ()
 Set-up other parameters that are derived from the fit results, e.g. fit fractions.
 
void randomiseInitFitPars ()
 Randomise the initial fit parameters.
 
void calcExtraFractions (Bool_t initValues=kFALSE)
 Calculate the CP-conserving and CP-violating fit fractions. More...
 
void calcAsymmetries (Bool_t initValues=kFALSE)
 Calculate the CP asymmetries. More...
 
virtual void setupBkgndVectors ()
 Define the length of the background vectors.
 
std::pair< LauGenInfo, Bool_t > eventsToGenerate ()
 Determine the number of events to generate for each hypothesis.
 
Bool_t generateSignalEvent ()
 Generate signal event.
 
Bool_t generateBkgndEvent (UInt_t bgID)
 Generate background event. More...
 
void setupGenNtupleBranches ()
 Setup the required ntuple branches.
 
void setDPBranchValues ()
 Store all of the DP information.
 
void generateExtraPdfValues (LauPdfPList *extraPdfs, LauEmbeddedData *embeddedData)
 Generate from the extra PDFs. More...
 
Bool_t storeSignalMCMatch (LauEmbeddedData *embeddedData)
 Store the MC truth info on the TM/SCF nature of the embedded signal event. More...
 
void addSPlotNtupleBranches (const LauPdfPList *extraPdfs, const TString &prefix)
 Add sPlot branches for the extra PDFs. More...
 
Double_t setSPlotNtupleBranchValues (LauPdfPList *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.
 
virtual void setupSPlotNtupleBranches ()
 Add branches to store experiment number and the event number within the experiment.
 
virtual LauSPlot::NameSet variableNames () const
 Returns the names of all variables in the fit.
 
virtual LauSPlot::NumbMap freeSpeciesNames () const
 Returns the names and yields of species that are free in the fit.
 
virtual LauSPlot::NumbMap fixdSpeciesNames () const
 Returns the names and yields of species that are fixed in the fit.
 
virtual LauSPlot::TwoDMap twodimPDFs () const
 Returns the species and variables for all 2D PDFs in the fit.
 
virtual Bool_t splitSignal () const
 Check if the signal is split into well-reconstructed and mis-reconstructed types.
 
virtual Bool_t scfDPSmear () const
 Check if the mis-reconstructed signal is to be smeared in the DP.
 
void appendBinCentres (LauFitDataTree *inputData)
 Append fake data points to the inputData for each bin in the SCF smearing matrix. More...
 
LauIsobarDynamicsgetNegSigModel ()
 Retrieve the signal DP model for the B-.
 
LauIsobarDynamicsgetPosSigModel ()
 Retrieve the signal DP model for the B+.
 
Double_t getParamFromTree (TTree &tree, const TString &name)
 Retrieve a named parameter from a TTree. More...
 
void fixParam (LauParameter *param, const Double_t val, const Bool_t fix)
 Set a LauParameter to a given value. More...
 
void fixParams (std::vector< LauParameter * > &params)
 Set a vector of LauParameters according to the specified method. More...
 
- Protected Member Functions inherited from LauAbsFitModel
void clearFitParVectors ()
 Clear the vectors containing fit parameters.
 
void clearExtraVarVectors ()
 Clear the vectors containing extra ntuple variables.
 
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 fitExpt ()
 Routine to perform the actual fit for a given experiment.
 
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...
 
virtual UInt_t readExperimentData ()
 Read in the data for the current experiment. More...
 
virtual Bool_t verifyFitData (const TString &dataFileName, const TString &dataTreeName)
 Open the input file and verify that all required variables are present. More...
 
virtual void cacheInputSWeights ()
 Cache the value of the sWeights to be used in the sFit.
 
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.
 
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.
 
virtual void setupResultsOutputs (const TString &histFileName, const TString &tableFileName)
 Setup saving of fit results to ntuple/LaTeX table etc. More...
 
virtual void prepareInitialParArray (TObjArray &array)
 Package the initial fit parameters for transmission to the coordinator. More...
 
virtual void finaliseExperiment (const LauAbsFitter::FitStatus &fitStat, const TObjArray *parsFromCoordinator, const TMatrixD *covMat, TObjArray &parsToCoordinator)
 Perform all finalisation actions. More...
 
virtual void calculateSPlotData ()
 Calculate the sPlot data.
 
void setGenValues ()
 Make sure all parameters hold their genValue as the current value.
 
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...
 
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.
 
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.
 
UInt_t addFitParameters (LauParameter *param, const Bool_t addFixed=kFALSE)
 Add the given parameter to the list of all fit parameters. More...
 
UInt_t addFitParameters (LauAbsRValue *param, const Bool_t addFixed=kFALSE)
 Add the given parameter(s) to the list of all fit parameters. More...
 
UInt_t addFitParameters (LauParameterPList &paramList, const Bool_t addFixed=kFALSE)
 Add the given parameter(s) to the list of all fit parameters. More...
 
UInt_t addFitParameters (LauAbsRValuePList &paramList, const Bool_t addFixed=kFALSE)
 Add the given parameter(s) to the list of all fit parameters. More...
 
UInt_t addFitParameters (LauPdfPList &pdfList, const Bool_t addFixed=kFALSE)
 Add parameters of the PDFs in the list to the list of all fit parameters. More...
 
UInt_t addResonanceParameters (LauParameter *param)
 Add the given parameter to the list of resonance parameters and the list of all fit parameters. More...
 
UInt_t addResonanceParameters (LauParameterPList &paramList)
 Add the given parameter(s) to the list of resonance parameters and the list of all fit parameters. More...
 
void addConParameters ()
 Add parameters to the list of Gaussian constrained parameters.
 
void printFitParameters (const LauPdfPList &pdfList, std::ostream &fout) const
 Print the fit parameters for all PDFs in the list. More...
 
void updateFitParameters (LauPdfPList &pdfList)
 Update the fit parameters for all PDFs in the list. More...
 
void cacheInfo (LauPdfPList &pdfList, const LauFitDataTree &theData)
 Have all PDFs in the list cache the data. More...
 
Double_t prodPdfValue (LauPdfPList &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
 Const access to the fit variables.
 
const LauParameterPSetresPars () const
 Const access the fit variables which affect the DP normalisation.
 
const LauParameterListextraPars () const
 Const access the extra variables.
 
LauParameterListextraPars ()
 Non-const access the extra variables.
 
const LauAbsRValuePListconPars () const
 Const access the Gaussian constrained variables.
 
const LauGenNtuplegenNtuple () const
 Const access the gen ntuple.
 
LauGenNtuplegenNtuple ()
 Access the gen ntuple.
 
const LauGenNtuplesPlotNtuple () const
 Const access the sPlot ntuple.
 
LauGenNtuplesPlotNtuple ()
 Access the sPlot ntuple.
 
const LauFitDataTreefitData () const
 Const access the data store.
 
LauFitDataTreefitData ()
 Access the data store.
 
- Protected Member Functions inherited from LauSimFitTask
const LauFitNtuplefitNtuple () const
 Const access to the fit ntuple.
 
LauFitNtuplefitNtuple ()
 Access to the fit ntuple.
 
void connectToCoordinator (const TString &addressCoordinator, const UInt_t portCoordinator)
 Establish the connection to the coordinator process. More...
 
void processCoordinatorRequests ()
 Listen for requests from the coordinator and act accordingly.
 
virtual void writeOutAllFitResults ()
 Write out any fit results.
 
- Protected Member Functions inherited from LauFitObject
 LauFitObject ()
 Constructor.
 
Bool_t checkRepetition (const std::vector< TString > &names, const ConstraintType conType)
 Check if parameters names for constraints have already been used elsewhere. More...
 
void generateConstraintMeans (std::vector< LauAbsRValue * > &conVars)
 Generate per-experiment mean for each Gaussian constraint. More...
 
const std::vector< FormulaConstraint > & formulaConstraints () const
 Const access to the formula constraints store.
 
std::vector< FormulaConstraint > & formulaConstraints ()
 Access to the formula constraints store.
 
const std::vector< MultiDimConstraint > & multiDimConstraints () const
 Const access to the ND constraints store.
 
std::vector< MultiDimConstraint > & multiDimConstraints ()
 Access to the ND constraints store.
 
const std::set< TString > & formulaConstrainedPars () const
 Const access to the parameter names used in formula constraints.
 
std::set< TString > & formulaConstrainedPars ()
 Access to the parameter names used in formula constraints.
 
const std::set< TString > & multiDimConstrainedPars () const
 Const access to the parameter names used in ND constraints.
 
std::set< TString > & multiDimConstrainedPars ()
 Access to the parameter names used in ND constraints.
 
void resetFitCounters ()
 Reset the good/bad fit counters.
 
void setCurrentExperiment (const UInt_t curExpt)
 Set the ID of the current experiment. More...
 
void startNewFit (const UInt_t nPars, const UInt_t nFreePars)
 Indicate the start of a new fit. More...
 
void eventsPerExpt (UInt_t nEvents)
 Set the number of events in the current experiment.
 
Double_t worstLogLike () const
 Access the worst log likelihood found so far.
 
void worstLogLike (const Double_t newWorstLogLike)
 Set a new value for the worst log likelihood. More...
 
void storeFitStatus (const LauAbsFitter::FitStatus &status, const TMatrixD &covMatrix)
 Store fit status information. More...
 
UInt_t nTotParams () const
 Access the total number of fit parameters.
 
UInt_t nFreeParams () const
 Access the total number of fit parameters.
 
const LauAbsFitter::FitStatusfitStatus () const
 Access the fit status information.
 
Double_t nll () const
 Access the current NLL value.
 
Double_t edm () const
 Access the current EDM value.
 
Int_t statusCode () const
 Access the fit status code.
 
const TMatrixD & covarianceMatrix () const
 Access the fit covariance matrix.
 
UInt_t numberOKFits () const
 Access the number of successful fits.
 
UInt_t numberBadFits () const
 Access the number of failed fits.
 

Private Member Functions

 LauCPFitModel (const LauCPFitModel &rhs)
 Copy constructor (not implemented)
 
LauCPFitModeloperator= (const LauCPFitModel &rhs)
 Copy assignment operator (not implemented)
 

Private Attributes

LauIsobarDynamicsnegSigModel_
 The B- signal Dalitz plot model.
 
LauIsobarDynamicsposSigModel_
 The B+ signal Dalitz plot model.
 
LauBkgndDPModelList negBkgndDPModels_
 The B- background Dalitz plot models.
 
LauBkgndDPModelList posBkgndDPModels_
 The B+ background Dalitz plot models.
 
LauKinematicsnegKinematics_
 The B- Dalitz plot kinematics object.
 
LauKinematicsposKinematics_
 The B+ Dalitz plot kinematics object.
 
LauPdfPList negSignalPdfs_
 The B- signal PDFs.
 
LauPdfPList posSignalPdfs_
 The B+ signal PDFs.
 
LauPdfPList negScfPdfs_
 The B- SCF PDFs.
 
LauPdfPList posScfPdfs_
 The B+ SCF PDFs.
 
LauBkgndPdfsList negBkgndPdfs_
 The B- background PDFs.
 
LauBkgndPdfsList posBkgndPdfs_
 The B+ background PDFs.
 
Bool_t usingBkgnd_
 Background boolean.
 
UInt_t nSigComp_
 Number of signal components.
 
UInt_t nSigDPPar_
 Number of signal DP parameters.
 
UInt_t nExtraPdfPar_
 Number of extra PDF parameters.
 
UInt_t nNormPar_
 Number of normalisation parameters (yields, asymmetries)
 
std::vector< LauAbsCoeffSet * > coeffPars_
 Magnitudes and Phases.
 
LauParArray negFitFrac_
 The B- fit fractions.
 
LauParArray posFitFrac_
 The B+ fit fractions.
 
LauParArray negFitFracEffUnCorr_
 Fit B- fractions (uncorrected for the efficiency)
 
LauParArray posFitFracEffUnCorr_
 Fit B+ fractions (uncorrected for the efficiency)
 
LauParArray CPVFitFrac_
 The CP violating fit fraction.
 
LauParArray CPCFitFrac_
 The CP conserving fit fraction.
 
std::vector< LauParameterfitFracAsymm_
 The fit fraction asymmetries.
 
std::vector< LauParameteracp_
 A_CP parameter.
 
LauParameter negMeanEff_
 The mean efficiency for B- model.
 
LauParameter posMeanEff_
 The mean efficiency for B+ model.
 
LauParameter negDPRate_
 The average DP rate for B-.
 
LauParameter posDPRate_
 The average DP rate for B+.
 
LauParametersignalEvents_
 Signal yield.
 
LauParametersignalAsym_
 Signal asymmetry.
 
Bool_t forceAsym_
 Option to force an asymmetry.
 
LauBkgndYieldList bkgndEvents_
 Background yield(s)
 
LauBkgndYieldList bkgndAsym_
 Background asymmetries(s)
 
const Bool_t tagged_
 IS the analysis tagged?
 
const TString tagVarName_
 Event charge.
 
Int_t curEvtCharge_
 Current event charge.
 
std::vector< Int_t > evtCharges_
 Vector to store event charges.
 
Bool_t useSCF_
 Is the signal split into TM and SCF.
 
Bool_t useSCFHist_
 Is the SCF fraction DP-dependent.
 
LauParameter scfFrac_
 The (global) SCF fraction parameter.
 
LauEffModelscfFracHist_
 The histogram giving the DP-dependence of the SCF fraction.
 
LauScfMapscfMap_
 The smearing matrix for the SCF DP PDF.
 
std::vector< Double_t > recoSCFFracs_
 The cached values of the SCF fraction for each event.
 
std::vector< Double_t > fakeSCFFracs_
 The cached values of the SCF fraction for each bin centre.
 
std::vector< Double_t > recoJacobians_
 The cached values of the sqDP jacobians for each event.
 
std::vector< Double_t > fakeJacobians_
 The cached values of the sqDP jacobians for each true bin.
 
Bool_t compareFitData_
 Run choice variables.
 
TString negParent_
 Name of the parent particle.
 
TString posParent_
 Name of the parent particle.
 
std::vector< LauComplexnegCoeffs_
 The complex coefficients for B-.
 
std::vector< LauComplexposCoeffs_
 The complex coefficients for B+.
 
LauEmbeddedDatanegSignalTree_
 The B- signal event tree.
 
LauEmbeddedDataposSignalTree_
 The B+ signal event tree.
 
LauBkgndEmbDataList negBkgndTree_
 The B- background event tree.
 
LauBkgndEmbDataList posBkgndTree_
 The B+ background event tree.
 
Bool_t reuseSignal_
 Boolean to reuse signal events.
 
Bool_t useNegReweighting_
 Boolean to use reweighting for B-.
 
Bool_t usePosReweighting_
 Boolean to use reweighting for B+.
 
LauBkgndReuseEventsList reuseBkgnd_
 Vector of booleans to reuse background events.
 
Double_t sigDPLike_
 Signal DP likelihood value.
 
Double_t scfDPLike_
 SCF DP likelihood value.
 
std::vector< Double_t > bkgndDPLike_
 Background DP likelihood value(s)
 
Double_t sigExtraLike_
 Signal likelihood from extra PDFs.
 
Double_t scfExtraLike_
 SCF likelihood from extra PDFs.
 
std::vector< Double_t > bkgndExtraLike_
 Background likelihood value(s) from extra PDFs.
 
Double_t sigTotalLike_
 Total signal likelihood.
 
Double_t scfTotalLike_
 Total SCF likelihood.
 
std::vector< Double_t > bkgndTotalLike_
 Total background likelihood(s)
 

Additional Inherited Members

- Protected Attributes inherited from LauAbsFitModel
TString fixParamFileName_
 Imported parameters file name.
 
TString fixParamTreeName_
 Imported parameters tree name.
 
std::map< TString, Double_t > fixParamMap_
 Map from imported parameter name to value.
 
std::set< TString > fixParamNames_
 Imported parameter names.
 
Bool_t fixParams_
 Whether to fix the loaded parameters (kTRUE) or leave them floating (kFALSE)
 
std::set< LauParameter * > allImportedFreeParams_
 The set of parameters that are imported (either from a file or by value) and not.
 

Detailed Description

Class for defining a CP fit model.

LauCPFitModel is a class that allows the user to define a three-body Dalitz plot according to the isobar model, i.e. defining a set of resonances that have complex amplitudes that can interfere with each other. It extends the LauSimpleFitModel in that it allows simultaneous fitting of two parent flavours simultaneously. By default, it assumes perfect tagging of those flavours but it can also be used in an untagged scenario.

Definition at line 61 of file LauCPFitModel.hh.

Constructor & Destructor Documentation

◆ LauCPFitModel()

LauCPFitModel::LauCPFitModel ( LauIsobarDynamics negModel,
LauIsobarDynamics posModel,
Bool_t  tagged = kTRUE,
const TString &  tagVarName = "charge" 
)

Constructor.

Parameters
[in]negModelDP model for the antiparticle
[in]posModelDP model for the particle
[in]taggedis the analysis tagged or untagged?
[in]tagVarNamethe variable name in the data tree that specifies the event tag

Definition at line 68 of file LauCPFitModel.cc.

Member Function Documentation

◆ addSPlotNtupleBranches()

void LauCPFitModel::addSPlotNtupleBranches ( const LauPdfPList 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 2685 of file LauCPFitModel.cc.

◆ appendBinCentres()

void LauCPFitModel::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 2285 of file LauCPFitModel.cc.

◆ calcAsymmetries()

void LauCPFitModel::calcAsymmetries ( Bool_t  initValues = kFALSE)
protected

Calculate the CP asymmetries.

Parameters
[in]initValuesis this before or after the fit

Definition at line 1073 of file LauCPFitModel.cc.

◆ calcExtraFractions()

void LauCPFitModel::calcExtraFractions ( Bool_t  initValues = kFALSE)
protected

Calculate the CP-conserving and CP-violating fit fractions.

Parameters
[in]initValuesis this before or after the fit

Definition at line 1020 of file LauCPFitModel.cc.

◆ embedNegBkgnd()

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

Parameters
[in]bgClassthe name of the background class
[in]fileNamethe name of the file containing the events
[in]treeNamethe name of the tree
[in]reuseEventsWithinEnsemblesample with replacement but only replace events once each experiment has been generated
[in]reuseEventsWithinExperimentsample with immediate replacement

Definition at line 3217 of file LauCPFitModel.cc.

◆ embedNegSignal()

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

Parameters
[in]fileNamethe name of the file containing the events
[in]treeNamethe name of the tree
[in]reuseEventsWithinEnsemblesample with replacement but only replace events once each experiment has been generated
[in]reuseEventsWithinExperimentsample with immediate replacement
[in]useReweightingperform an accept/reject routine using the configured signal amplitude model based on the MC-truth DP coordinate

Definition at line 3189 of file LauCPFitModel.cc.

◆ embedPosBkgnd()

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

Parameters
[in]bgClassthe name of the background class
[in]fileNamethe name of the file containing the events
[in]treeNamethe name of the tree
[in]reuseEventsWithinEnsemblesample with replacement but only replace events once each experiment has been generated
[in]reuseEventsWithinExperimentsample with immediate replacement

Definition at line 3282 of file LauCPFitModel.cc.

◆ embedPosSignal()

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

Parameters
[in]fileNamethe name of the file containing the events
[in]treeNamethe name of the tree
[in]reuseEventsWithinEnsemblesample with replacement but only replace events once each experiment has been generated
[in]reuseEventsWithinExperimentsample with immediate replacement
[in]useReweightingperform an accept/reject routine using the configured signal amplitude model based on the MC-truth DP coordinate

Definition at line 3254 of file LauCPFitModel.cc.

◆ finaliseFitResults()

void LauCPFitModel::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 1092 of file LauCPFitModel.cc.

◆ fixParam()

void LauCPFitModel::fixParam ( LauParameter param,
const Double_t  val,
const Bool_t  fix 
)
protected

Set a LauParameter to a given value.

Parameters
[in]parama pointer to the LauParameter to set
[in]valthe value to set
[in]fixwhether to fix the LauParameter or leave it floating

Definition at line 3712 of file LauCPFitModel.cc.

◆ fixParams()

void LauCPFitModel::fixParams ( std::vector< LauParameter * > &  params)
protected

Set a vector of LauParameters according to the specified method.

Parameters
[in]paramsthe vector of pointers to LauParameter to set values of

Definition at line 3731 of file LauCPFitModel.cc.

◆ generateBkgndEvent()

Bool_t LauCPFitModel::generateBkgndEvent ( UInt_t  bgID)
protected

Generate background event.

Parameters
[in]bgIDID number of the background class

Definition at line 1940 of file LauCPFitModel.cc.

◆ generateExtraPdfValues()

void LauCPFitModel::generateExtraPdfValues ( LauPdfPList extraPdfs,
LauEmbeddedData embeddedData 
)
protected

Generate from the extra PDFs.

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

Definition at line 2075 of file LauCPFitModel.cc.

◆ getDPAmps()

std::map< TString, LauComplex > LauCPFitModel::getDPAmps ( const Double_t  m13Sq,
const Double_t  m23Sq 
)
virtual

Calculate the DP amplitude(s) for a given DP position.

If not already done, this function will initialise the DP models

Parameters
[in]m13Sqthe invariant mass squared of children 1 and 3
[in]m23Sqthe invariant mass squared of children 2 and 3
Returns
a container of complex amplitudes, labelled to indicate to which component they belong

Implements LauAbsFitModel.

Definition at line 3110 of file LauCPFitModel.cc.

◆ getDPLikelihoods()

std::map< TString, Double_t > LauCPFitModel::getDPLikelihoods ( const Double_t  m13Sq,
const Double_t  m23Sq 
)
virtual

Calculate the DP likelihood(s) for a given DP position.

If not already done, this function will initialise the DP models

Parameters
[in]m13Sqthe invariant mass squared of children 1 and 3
[in]m23Sqthe invariant mass squared of children 2 and 3
Returns
a container of likelihood values, labelled to indicate to which component they belong

Implements LauAbsFitModel.

Definition at line 3134 of file LauCPFitModel.cc.

◆ getEventSum()

Double_t LauCPFitModel::getEventSum ( ) const
protectedvirtual

Get the total number of events.

Returns
the total number of events

Implements LauAbsFitModel.

Definition at line 2397 of file LauCPFitModel.cc.

◆ getEvtDPLikelihood()

void LauCPFitModel::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 2411 of file LauCPFitModel.cc.

◆ getEvtExtraLikelihoods()

void LauCPFitModel::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 2566 of file LauCPFitModel.cc.

◆ getEvtSCFDPLikelihood()

Double_t LauCPFitModel::getEvtSCFDPLikelihood ( UInt_t  iEvt)
protectedvirtual

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

Parameters
[in]iEvtthe event number

Definition at line 2495 of file LauCPFitModel.cc.

◆ getParamFromTree()

Double_t LauCPFitModel::getParamFromTree ( TTree &  tree,
const TString &  name 
)
protected

Retrieve a named parameter from a TTree.

Parameters
[in]treea reference to the tree from which to obtain the parameters
[in]namethe name of the parameter to retrive

Definition at line 3690 of file LauCPFitModel.cc.

◆ getTotEvtLikelihood()

Double_t LauCPFitModel::getTotEvtLikelihood ( UInt_t  iEvt)
protectedvirtual

Get the total likelihood for each event.

Parameters
[in]iEvtthe event number

Implements LauAbsFitModel.

Definition at line 2328 of file LauCPFitModel.cc.

◆ printAsymmetries()

void LauCPFitModel::printAsymmetries ( std::ostream &  output)
protectedvirtual

Print the asymmetries.

Parameters
[out]outputthe stream to which to print

Definition at line 1344 of file LauCPFitModel.cc.

◆ printFitFractions()

void LauCPFitModel::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 1317 of file LauCPFitModel.cc.

◆ savePDFPlots()

void LauCPFitModel::savePDFPlots ( const TString &  label)
protectedvirtual

Save the pdf Plots for all the resonances.

Parameters
[in]labelprefix for the file name to be saved

Implements LauAbsFitModel.

Definition at line 3437 of file LauCPFitModel.cc.

◆ savePDFPlotsWave()

void LauCPFitModel::savePDFPlotsWave ( const TString &  label,
const Int_t &  spin 
)
protectedvirtual

Save the pdf Plots for the sum of resonances of a given spin.

Parameters
[in]labelprefix for the file name to be saved
[in]spinspin of the wave to be saved

Implements LauAbsFitModel.

Definition at line 3568 of file LauCPFitModel.cc.

◆ setAmpCoeffSet()

void LauCPFitModel::setAmpCoeffSet ( LauAbsCoeffSet coeffSet)
virtual

Set the DP amplitude coefficients.

The name of the coeffSet must match the name of one of the resonances in the DP model for the antiparticle (the name of the conjugate state in the model for the particle will be automatically determined).

The supplied order of coefficients will be rearranged to match the order in which the resonances are stored in the dynamics, see LauIsobarDynamics::addResonance.

Parameters
[in]coeffSetthe set of coefficients

Implements LauAbsFitModel.

Definition at line 470 of file LauCPFitModel.cc.

◆ setBkgndDPModels()

void LauCPFitModel::setBkgndDPModels ( const TString &  bkgndClass,
LauAbsBkgndDPModel negModel,
LauAbsBkgndDPModel posModel 
)

Set the background DP models.

Parameters
[in]bkgndClassthe name of the background class
[in]negModelthe DP model of the B- background
[in]posModelthe DP model of the B+ background

Definition at line 359 of file LauCPFitModel.cc.

◆ setBkgndPdfs()

void LauCPFitModel::setBkgndPdfs ( const TString &  bkgndClass,
LauAbsPdf negPdf,
LauAbsPdf posPdf 
)

Set the background PDFs.

Parameters
[in]bkgndClassthe name of the background class
[in]negPdfthe PDF to be added to the B- background model
[in]posPdfthe PDF to be added to the B+ background model

Definition at line 433 of file LauCPFitModel.cc.

◆ setNBkgndEvents() [1/2]

void LauCPFitModel::setNBkgndEvents ( LauAbsRValue 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 yield of the background

Implements LauAbsFitModel.

Definition at line 220 of file LauCPFitModel.cc.

◆ setNBkgndEvents() [2/2]

void LauCPFitModel::setNBkgndEvents ( LauAbsRValue nBkgndEvents,
LauAbsRValue bkgndAsym 
)
virtual

Set the background event yield(s)

The names of the parameters must be that of the corresponding background category (so that they can be correctly assigned)

Parameters
[in]nBkgndEventscontains the name, yield and option to fix the yield of the background
[in]bkgndAsymcontains the background asymmetry and option to fix it

Definition at line 261 of file LauCPFitModel.cc.

◆ setNSigEvents() [1/2]

void LauCPFitModel::setNSigEvents ( LauParameter nSigEvents)
virtual

Set the signal event yield.

Parameters
[in]nSigEventscontains the signal yield and option to fix it

Implements LauAbsFitModel.

Definition at line 154 of file LauCPFitModel.cc.

◆ setNSigEvents() [2/2]

void LauCPFitModel::setNSigEvents ( LauParameter nSigEvents,
LauParameter sigAsym,
Bool_t  forceAsym = kFALSE 
)
virtual

Set the signal event yield if there is an asymmetry.

Parameters
[in]nSigEventscontains the signal yield and option to fix it
[in]sigAsymcontains the signal asymmetry and option to fix it
[in]forceAsymthe option to force there to be an asymmetry

Definition at line 184 of file LauCPFitModel.cc.

◆ setSCFPdfs()

void LauCPFitModel::setSCFPdfs ( LauAbsPdf negPdf,
LauAbsPdf posPdf 
)

Set the SCF PDF for a given variable.

Parameters
[in]negPdfthe PDF to be added to the B- signal model
[in]posPdfthe PDF to be added to the B+ signal model

Definition at line 409 of file LauCPFitModel.cc.

◆ setSignalPdfs()

void LauCPFitModel::setSignalPdfs ( LauAbsPdf negPdf,
LauAbsPdf posPdf 
)

Set the signal PDFs.

Parameters
[in]negPdfthe PDF to be added to the B- signal model
[in]posPdfthe PDF to be added to the B+ signal model

Definition at line 385 of file LauCPFitModel.cc.

◆ setSPlotNtupleBranchValues()

Double_t LauCPFitModel::setSPlotNtupleBranchValues ( LauPdfPList 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 2739 of file LauCPFitModel.cc.

◆ splitSignalComponent() [1/2]

void LauCPFitModel::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 341 of file LauCPFitModel.cc.

◆ splitSignalComponent() [2/2]

void LauCPFitModel::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]upperHalfboolean flag to specify that the supplied histogram contains only the upper half of a symmetric DP (or lower half if using square DP coordinates)
[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 313 of file LauCPFitModel.cc.

◆ storeSignalMCMatch()

Bool_t LauCPFitModel::storeSignalMCMatch ( LauEmbeddedData embeddedData)
protected

Store the MC truth info on the TM/SCF nature of the embedded signal event.

Parameters
[in]embeddedDatathe full simulation information

Definition at line 2115 of file LauCPFitModel.cc.

◆ weightEvents()

void LauCPFitModel::weightEvents ( const TString &  dataFileName,
const TString &  dataTreeName 
)
protectedvirtual

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 3319 of file LauCPFitModel.cc.

◆ writeOutTable()

void LauCPFitModel::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 1357 of file LauCPFitModel.cc.


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