laura is hosted by Hepforge, IPPP Durham
Laura++  v3r5
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 LauSimFitSlave LauFitObject

Public Member Functions

 LauCPFitModel (LauIsobarDynamics *negModel, LauIsobarDynamics *posModel, Bool_t tagged=kTRUE, const TString &tagVarName="charge")
 Constructor. More...
 
virtual ~LauCPFitModel ()
 Destructor. More...
 
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. 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 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...
 
- 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...
 
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...
 
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...
 
Bool_t saveFilePDF () const
 save files containing graphs of the resonance's PDFs More...
 
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. 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...
 
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...
 
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 LauSimFitSlave
 LauSimFitSlave ()
 Constructor. More...
 
virtual ~LauSimFitSlave ()
 Destructor. More...
 
UInt_t nSlaves () const
 Obtain the number of slaves. More...
 
UInt_t slaveId () const
 Obtain the ID number of this slave. More...
 
virtual 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...
 
- Public Member Functions inherited from LauFitObject
virtual ~LauFitObject ()
 Destructor. More...
 
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. More...
 
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. More...
 
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=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 addConstraint (const TString &formula, const std::vector< TString > &pars, const Double_t mean, const Double_t width)
 Store 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. 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
< LauAbsRValue * > 
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::set< LauParameter * > LauParameterPSet
 Set 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 weightEvents (const TString &dataFileName, const TString &dataTreeName)
 Weight events based on the DP model. More...
 
virtual void initialise ()
 Initialise the fit. More...
 
virtual void initialiseDPModels ()
 Initialise the signal DP models. More...
 
virtual void recalculateNormalisation ()
 Recalculate Normalization the signal DP models. 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 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. 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...
 
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. More...
 
std::pair< LauGenInfo, Bool_t > eventsToGenerate ()
 Determine the number of events to generate for each hypothesis. More...
 
Bool_t generateSignalEvent ()
 Generate signal event. More...
 
Bool_t generateBkgndEvent (UInt_t bgID)
 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...
 
Bool_t storeSignalMCMatch (LauEmbeddedData *embeddedData)
 Store the MC truth info on the TM/SCF nature of the embedded signal event. 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...
 
LauIsobarDynamicsgetNegSigModel ()
 
LauIsobarDynamicsgetPosSigModel ()
 
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. 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 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...
 
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. 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 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 master. More...
 
virtual void finaliseExperiment (const LauAbsFitter::FitStatus &fitStat, const TObjArray *parsFromMaster, const TMatrixD *covMat, TObjArray &parsToMaster)
 Perform all finalisation actions. 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...
 
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
 Const access the fit variables. More...
 
LauParameterPListfitPars ()
 Access the fit variables. More...
 
const LauParameterPSetresPars () const
 Const access the fit variables which affect the DP normalisation. More...
 
LauParameterPSetresPars ()
 Access the fit variables which affect the DP normalisation. More...
 
const LauParameterListextraPars () const
 Const access the extra variables. More...
 
LauParameterListextraPars ()
 Access the extra variables. More...
 
const LauAbsRValuePListconPars () const
 Const access the Gaussian constrained variables. More...
 
LauAbsRValuePListconPars ()
 Access the Gaussian constrained variables. More...
 
const LauGenNtuplegenNtuple () const
 Const access the gen ntuple. More...
 
LauGenNtuplegenNtuple ()
 Access the gen ntuple. More...
 
const LauGenNtuplesPlotNtuple () const
 Const access the sPlot ntuple. More...
 
LauGenNtuplesPlotNtuple ()
 Access the sPlot ntuple. More...
 
const LauFitDataTreefitData () const
 Const access the data store. More...
 
LauFitDataTreefitData ()
 Access the data store. More...
 
- Protected Member Functions inherited from LauSimFitSlave
const LauFitNtuplefitNtuple () const
 Const access to the fit ntuple. More...
 
LauFitNtuplefitNtuple ()
 Access to the fit ntuple. More...
 
void connectToMaster (const TString &addressMaster, const UInt_t portMaster)
 Establish the connection to the master process. More...
 
void processMasterRequests ()
 Listen for requests from the master and act accordingly. More...
 
virtual void writeOutAllFitResults ()
 Write out any fit results. More...
 
- Protected Member Functions inherited from LauFitObject
 LauFitObject ()
 Constructor. More...
 
const std::vector
< StoreConstraints > & 
constraintsStore () const
 Const access to the constraints store. More...
 
std::vector< StoreConstraints > & constraintsStore ()
 Access to the constraints store. More...
 
void resetFitCounters ()
 Reset the good/bad fit counters. More...
 
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. More...
 
Double_t worstLogLike () const
 Access the worst log likelihood found so far. More...
 
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. More...
 
UInt_t nFreeParams () const
 Access the total number of fit parameters. More...
 
const LauAbsFitter::FitStatusfitStatus () const
 Access the fit status information. More...
 
Double_t nll () const
 Access the current NLL value. More...
 
Double_t edm () const
 Access the current EDM value. More...
 
Int_t statusCode () const
 Access the fit status code. More...
 
const TMatrixD & covarianceMatrix () const
 Access the fit covariance matrix. More...
 
UInt_t numberOKFits () const
 Access the number of successful fits. More...
 
UInt_t numberBadFits () const
 Access the number of failed fits. More...
 

Private Member Functions

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

Private Attributes

LauIsobarDynamicsnegSigModel_
 The B- signal Dalitz plot model. More...
 
LauIsobarDynamicsposSigModel_
 The B+ signal Dalitz plot model. More...
 
LauBkgndDPModelList negBkgndDPModels_
 The B- background Dalitz plot models. More...
 
LauBkgndDPModelList posBkgndDPModels_
 The B+ background Dalitz plot models. More...
 
LauKinematicsnegKinematics_
 The B- Dalitz plot kinematics object. More...
 
LauKinematicsposKinematics_
 The B+ Dalitz plot kinematics object. More...
 
LauPdfList negSignalPdfs_
 The B- signal PDFs. More...
 
LauPdfList posSignalPdfs_
 The B+ signal PDFs. More...
 
LauPdfList negScfPdfs_
 The B- SCF PDFs. More...
 
LauPdfList posScfPdfs_
 The B+ SCF PDFs. More...
 
LauBkgndPdfsList negBkgndPdfs_
 The B- background PDFs. More...
 
LauBkgndPdfsList posBkgndPdfs_
 The B+ 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 (yields, asymmetries) More...
 
std::vector< LauAbsCoeffSet * > coeffPars_
 Magnitudes and Phases. More...
 
LauParArray negFitFrac_
 The B- fit fractions. More...
 
LauParArray posFitFrac_
 The B+ fit fractions. More...
 
LauParArray negFitFracEffUnCorr_
 Fit B- fractions (uncorrected for the efficiency) More...
 
LauParArray posFitFracEffUnCorr_
 Fit B+ fractions (uncorrected for the efficiency) More...
 
LauParArray CPVFitFrac_
 The CP violating fit fraction. More...
 
LauParArray CPCFitFrac_
 The CP conserving fit fraction. More...
 
std::vector< LauParameterfitFracAsymm_
 The fit fraction asymmetries. More...
 
std::vector< LauParameteracp_
 A_CP parameter. More...
 
LauParameter negMeanEff_
 The mean efficiency for B- model. More...
 
LauParameter posMeanEff_
 The mean efficiency for B+ model. More...
 
LauParameter negDPRate_
 The average DP rate for B-. More...
 
LauParameter posDPRate_
 The average DP rate for B+. More...
 
LauParametersignalEvents_
 Signal yield. More...
 
LauParametersignalAsym_
 Signal asymmetry. More...
 
Bool_t forceAsym_
 Option to force an asymmetry. More...
 
LauBkgndYieldList bkgndEvents_
 Background yield(s) More...
 
LauBkgndYieldList bkgndAsym_
 Background asymmetries(s) More...
 
const Bool_t tagged_
 IS the analysis tagged? More...
 
const TString tagVarName_
 Event charge. More...
 
Int_t curEvtCharge_
 Current event charge. More...
 
std::vector< Int_t > evtCharges_
 Vector to store event charges. 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...
 
TString negParent_
 Name of the parent particle. More...
 
TString posParent_
 Name of the parent particle. More...
 
std::vector< LauComplexnegCoeffs_
 The complex coefficients for B-. More...
 
std::vector< LauComplexposCoeffs_
 The complex coefficients for B+. More...
 
LauEmbeddedDatanegSignalTree_
 The B- signal event tree. More...
 
LauEmbeddedDataposSignalTree_
 The B+ signal event tree. More...
 
LauBkgndEmbDataList negBkgndTree_
 The B- background event tree. More...
 
LauBkgndEmbDataList posBkgndTree_
 The B+ background event tree. More...
 
Bool_t reuseSignal_
 Boolean to reuse signal events. More...
 
Bool_t useNegReweighting_
 Boolean to use reweighting for B-. More...
 
Bool_t usePosReweighting_
 Boolean to use reweighting for B+. More...
 
LauBkgndReuseEventsList reuseBkgnd_
 Vector of booleans to reuse background events. More...
 
Double_t sigDPLike_
 Signal DP likelihood value. More...
 
Double_t scfDPLike_
 SCF DP likelihood value. More...
 
std::vector< Double_t > bkgndDPLike_
 Background DP 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...
 

Additional Inherited Members

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

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 62 of file LauCPFitModel.hh.

Member Typedef Documentation

typedef std::vector<LauAbsBkgndDPModel*> LauCPFitModel::LauBkgndDPModelList
protected

Typedef for a vector of background DP models.

Definition at line 232 of file LauCPFitModel.hh.

typedef std::vector<LauEmbeddedData*> LauCPFitModel::LauBkgndEmbDataList
protected

Typedef for a vector of embedded data objects.

Definition at line 241 of file LauCPFitModel.hh.

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

Typedef for a vector of background PDFs.

Definition at line 235 of file LauCPFitModel.hh.

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

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

Definition at line 244 of file LauCPFitModel.hh.

typedef std::vector<LauAbsRValue*> LauCPFitModel::LauBkgndYieldList
protected

Typedef for a vector of background yields.

Definition at line 238 of file LauCPFitModel.hh.

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

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

Definition at line 229 of file LauCPFitModel.hh.

Constructor & Destructor Documentation

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

LauCPFitModel::~LauCPFitModel ( )
virtual

Destructor.

Definition at line 110 of file LauCPFitModel.cc.

LauCPFitModel::LauCPFitModel ( const LauCPFitModel rhs)
private

Copy constructor (not implemented)

Member Function Documentation

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

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

void LauCPFitModel::cacheInputFitVars ( )
protectedvirtual

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

Implements LauAbsFitModel.

Definition at line 2046 of file LauCPFitModel.cc.

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

Calculate the CP asymmetries.

Parameters
[in]initValuesis this before or after the fit

Definition at line 998 of file LauCPFitModel.cc.

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

void LauCPFitModel::checkInitFitParams ( )
protectedvirtual

Check the initial fit parameters.

Implements LauAbsFitModel.

Definition at line 1376 of file LauCPFitModel.cc.

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

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

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

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

std::pair< LauCPFitModel::LauGenInfo, Bool_t > LauCPFitModel::eventsToGenerate ( )
protected

Determine the number of events to generate for each hypothesis.

Definition at line 1415 of file LauCPFitModel.cc.

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

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

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

Implements LauAbsFitModel.

Definition at line 2675 of file LauCPFitModel.cc.

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

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

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

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

Implements LauAbsFitModel.

Definition at line 2653 of file LauCPFitModel.cc.

Bool_t LauCPFitModel::generateBkgndEvent ( UInt_t  bgID)
protected

Generate background event.

Parameters
[in]bgIDID number of the background class

Definition at line 1810 of file LauCPFitModel.cc.

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

Bool_t LauCPFitModel::generateSignalEvent ( )
protected

Generate signal event.

Definition at line 1669 of file LauCPFitModel.cc.

Bool_t LauCPFitModel::genExpt ( )
protectedvirtual

Toy MC generation and fitting overloaded functions.

Implements LauAbsFitModel.

Definition at line 1501 of file LauCPFitModel.cc.

Double_t LauCPFitModel::getEventSum ( ) const
protectedvirtual

Get the total number of events.

Returns
the total number of events

Implements LauAbsFitModel.

Definition at line 2244 of file LauCPFitModel.cc.

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

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

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

LauIsobarDynamics* LauCPFitModel::getNegSigModel ( )
inlineprotected

Definition at line 464 of file LauCPFitModel.hh.

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

LauIsobarDynamics* LauCPFitModel::getPosSigModel ( )
inlineprotected

Definition at line 465 of file LauCPFitModel.hh.

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

void LauCPFitModel::initialise ( )
protectedvirtual

Initialise the fit.

Implements LauAbsFitModel.

Definition at line 468 of file LauCPFitModel.cc.

void LauCPFitModel::initialiseDPModels ( )
protectedvirtual

Initialise the signal DP models.

Implements LauAbsFitModel.

Definition at line 626 of file LauCPFitModel.cc.

LauCPFitModel& LauCPFitModel::operator= ( const LauCPFitModel rhs)
private

Copy assignment operator (not implemented)

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

Print the asymmetries.

Parameters
[out]outputthe stream to which to print

Definition at line 1247 of file LauCPFitModel.cc.

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

void LauCPFitModel::propagateParUpdates ( )
protectedvirtual

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

Implements LauAbsFitModel.

Definition at line 2002 of file LauCPFitModel.cc.

void LauCPFitModel::randomiseInitFitPars ( )
protected

Randomise the initial fit parameters.

Definition at line 1388 of file LauCPFitModel.cc.

void LauCPFitModel::recalculateNormalisation ( )
protectedvirtual

Recalculate Normalization the signal DP models.

Implements LauAbsFitModel.

Definition at line 617 of file LauCPFitModel.cc.

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

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

virtual Bool_t LauCPFitModel::scfDPSmear ( ) const
inlineprotectedvirtual

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

Implements LauAbsFitModel.

Definition at line 449 of file LauCPFitModel.hh.

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

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

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

void LauCPFitModel::setDPBranchValues ( )
protected

Store all of the DP information.

Definition at line 1914 of file LauCPFitModel.cc.

void LauCPFitModel::setExtraNtupleVars ( )
protected

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

Definition at line 790 of file LauCPFitModel.cc.

void LauCPFitModel::setExtraPdfParameters ( )
protected

Set the fit parameters for the extra PDFs.

Definition at line 687 of file LauCPFitModel.cc.

void LauCPFitModel::setFitNEvents ( )
protected

Set the initial yields.

Definition at line 720 of file LauCPFitModel.cc.

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

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

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

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

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

void LauCPFitModel::setSignalDPParameters ( )
protected

Set the fit parameters for the DP model.

Definition at line 642 of file LauCPFitModel.cc.

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

Double_t LauCPFitModel::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 2576 of file LauCPFitModel.cc.

void LauCPFitModel::setupBkgndVectors ( )
protectedvirtual

Define the length of the background vectors.

Implements LauAbsFitModel.

Definition at line 123 of file LauCPFitModel.cc.

void LauCPFitModel::setupGenNtupleBranches ( )
protectedvirtual

Setup the required ntuple branches.

Implements LauAbsFitModel.

Definition at line 1870 of file LauCPFitModel.cc.

void LauCPFitModel::setupSPlotNtupleBranches ( )
protectedvirtual

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

Implements LauAbsFitModel.

Definition at line 2461 of file LauCPFitModel.cc.

Bool_t LauCPFitModel::smearSCFDP ( ) const
inline

Determine if we are smearing the SCF DP PDF.

Definition at line 146 of file LauCPFitModel.hh.

virtual Bool_t LauCPFitModel::splitSignal ( ) const
inlineprotectedvirtual

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

Implements LauAbsFitModel.

Definition at line 446 of file LauCPFitModel.hh.

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

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

void LauCPFitModel::storePerEvtLlhds ( )
protectedvirtual

Store the per event likelihood values.

Implements LauAbsFitModel.

Definition at line 2759 of file LauCPFitModel.cc.

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

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

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

Implements LauAbsFitModel.

Definition at line 2694 of file LauCPFitModel.cc.

void LauCPFitModel::updateCoeffs ( )
protectedvirtual

Update the coefficients.

Implements LauAbsFitModel.

Definition at line 2451 of file LauCPFitModel.cc.

void LauCPFitModel::updateSigEvents ( )
protected

Update the signal events after Minuit sets background parameters.

Definition at line 2017 of file LauCPFitModel.cc.

Bool_t LauCPFitModel::useSCF ( ) const
inline

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

Definition at line 140 of file LauCPFitModel.hh.

Bool_t LauCPFitModel::useSCFHist ( ) const
inline

Determine whether the SCF fraction is DP-dependent.

Definition at line 143 of file LauCPFitModel.hh.

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

Returns the names of all variables in the fit.

Implements LauAbsFitModel.

Definition at line 2633 of file LauCPFitModel.cc.

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

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

Member Data Documentation

std::vector<LauParameter> LauCPFitModel::acp_
private

A_CP parameter.

Definition at line 571 of file LauCPFitModel.hh.

LauBkgndYieldList LauCPFitModel::bkgndAsym_
private

Background asymmetries(s)

Definition at line 598 of file LauCPFitModel.hh.

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

Background DP likelihood value(s)

Definition at line 688 of file LauCPFitModel.hh.

LauBkgndYieldList LauCPFitModel::bkgndEvents_
private

Background yield(s)

Definition at line 595 of file LauCPFitModel.hh.

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

Background likelihood value(s) from extra PDFs.

Definition at line 697 of file LauCPFitModel.hh.

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

Total background likelihood(s)

Definition at line 706 of file LauCPFitModel.hh.

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

Magnitudes and Phases.

Definition at line 547 of file LauCPFitModel.hh.

Bool_t LauCPFitModel::compareFitData_
private

Run choice variables.

Definition at line 640 of file LauCPFitModel.hh.

LauParArray LauCPFitModel::CPCFitFrac_
private

The CP conserving fit fraction.

Definition at line 565 of file LauCPFitModel.hh.

LauParArray LauCPFitModel::CPVFitFrac_
private

The CP violating fit fraction.

Definition at line 562 of file LauCPFitModel.hh.

Int_t LauCPFitModel::curEvtCharge_
private

Current event charge.

Definition at line 607 of file LauCPFitModel.hh.

std::vector<Int_t> LauCPFitModel::evtCharges_
private

Vector to store event charges.

Definition at line 610 of file LauCPFitModel.hh.

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

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

Definition at line 637 of file LauCPFitModel.hh.

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

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

Definition at line 631 of file LauCPFitModel.hh.

std::vector<LauParameter> LauCPFitModel::fitFracAsymm_
private

The fit fraction asymmetries.

Definition at line 568 of file LauCPFitModel.hh.

Bool_t LauCPFitModel::forceAsym_
private

Option to force an asymmetry.

Definition at line 592 of file LauCPFitModel.hh.

LauBkgndDPModelList LauCPFitModel::negBkgndDPModels_
private

The B- background Dalitz plot models.

Definition at line 502 of file LauCPFitModel.hh.

LauBkgndPdfsList LauCPFitModel::negBkgndPdfs_
private

The B- background PDFs.

Definition at line 526 of file LauCPFitModel.hh.

LauBkgndEmbDataList LauCPFitModel::negBkgndTree_
private

The B- background event tree.

Definition at line 663 of file LauCPFitModel.hh.

std::vector<LauComplex> LauCPFitModel::negCoeffs_
private

The complex coefficients for B-.

Definition at line 649 of file LauCPFitModel.hh.

LauParameter LauCPFitModel::negDPRate_
private

The average DP rate for B-.

Definition at line 580 of file LauCPFitModel.hh.

LauParArray LauCPFitModel::negFitFrac_
private

The B- fit fractions.

Definition at line 550 of file LauCPFitModel.hh.

LauParArray LauCPFitModel::negFitFracEffUnCorr_
private

Fit B- fractions (uncorrected for the efficiency)

Definition at line 556 of file LauCPFitModel.hh.

LauKinematics* LauCPFitModel::negKinematics_
private

The B- Dalitz plot kinematics object.

Definition at line 508 of file LauCPFitModel.hh.

LauParameter LauCPFitModel::negMeanEff_
private

The mean efficiency for B- model.

Definition at line 574 of file LauCPFitModel.hh.

TString LauCPFitModel::negParent_
private

Name of the parent particle.

Definition at line 643 of file LauCPFitModel.hh.

LauPdfList LauCPFitModel::negScfPdfs_
private

The B- SCF PDFs.

Definition at line 520 of file LauCPFitModel.hh.

LauIsobarDynamics* LauCPFitModel::negSigModel_
private

The B- signal Dalitz plot model.

Definition at line 496 of file LauCPFitModel.hh.

LauPdfList LauCPFitModel::negSignalPdfs_
private

The B- signal PDFs.

Definition at line 514 of file LauCPFitModel.hh.

LauEmbeddedData* LauCPFitModel::negSignalTree_
private

The B- signal event tree.

Definition at line 657 of file LauCPFitModel.hh.

UInt_t LauCPFitModel::nExtraPdfPar_
private

Number of extra PDF parameters.

Definition at line 541 of file LauCPFitModel.hh.

UInt_t LauCPFitModel::nNormPar_
private

Number of normalisation parameters (yields, asymmetries)

Definition at line 544 of file LauCPFitModel.hh.

UInt_t LauCPFitModel::nSigComp_
private

Number of signal components.

Definition at line 535 of file LauCPFitModel.hh.

UInt_t LauCPFitModel::nSigDPPar_
private

Number of signal DP parameters.

Definition at line 538 of file LauCPFitModel.hh.

LauBkgndDPModelList LauCPFitModel::posBkgndDPModels_
private

The B+ background Dalitz plot models.

Definition at line 505 of file LauCPFitModel.hh.

LauBkgndPdfsList LauCPFitModel::posBkgndPdfs_
private

The B+ background PDFs.

Definition at line 529 of file LauCPFitModel.hh.

LauBkgndEmbDataList LauCPFitModel::posBkgndTree_
private

The B+ background event tree.

Definition at line 666 of file LauCPFitModel.hh.

std::vector<LauComplex> LauCPFitModel::posCoeffs_
private

The complex coefficients for B+.

Definition at line 652 of file LauCPFitModel.hh.

LauParameter LauCPFitModel::posDPRate_
private

The average DP rate for B+.

Definition at line 583 of file LauCPFitModel.hh.

LauParArray LauCPFitModel::posFitFrac_
private

The B+ fit fractions.

Definition at line 553 of file LauCPFitModel.hh.

LauParArray LauCPFitModel::posFitFracEffUnCorr_
private

Fit B+ fractions (uncorrected for the efficiency)

Definition at line 559 of file LauCPFitModel.hh.

LauKinematics* LauCPFitModel::posKinematics_
private

The B+ Dalitz plot kinematics object.

Definition at line 511 of file LauCPFitModel.hh.

LauParameter LauCPFitModel::posMeanEff_
private

The mean efficiency for B+ model.

Definition at line 577 of file LauCPFitModel.hh.

TString LauCPFitModel::posParent_
private

Name of the parent particle.

Definition at line 646 of file LauCPFitModel.hh.

LauPdfList LauCPFitModel::posScfPdfs_
private

The B+ SCF PDFs.

Definition at line 523 of file LauCPFitModel.hh.

LauIsobarDynamics* LauCPFitModel::posSigModel_
private

The B+ signal Dalitz plot model.

Definition at line 499 of file LauCPFitModel.hh.

LauPdfList LauCPFitModel::posSignalPdfs_
private

The B+ signal PDFs.

Definition at line 517 of file LauCPFitModel.hh.

LauEmbeddedData* LauCPFitModel::posSignalTree_
private

The B+ signal event tree.

Definition at line 660 of file LauCPFitModel.hh.

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

The cached values of the sqDP jacobians for each event.

Definition at line 634 of file LauCPFitModel.hh.

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

The cached values of the SCF fraction for each event.

Definition at line 628 of file LauCPFitModel.hh.

LauBkgndReuseEventsList LauCPFitModel::reuseBkgnd_
private

Vector of booleans to reuse background events.

Definition at line 678 of file LauCPFitModel.hh.

Bool_t LauCPFitModel::reuseSignal_
private

Boolean to reuse signal events.

Definition at line 669 of file LauCPFitModel.hh.

Double_t LauCPFitModel::scfDPLike_
private

SCF DP likelihood value.

Definition at line 685 of file LauCPFitModel.hh.

Double_t LauCPFitModel::scfExtraLike_
private

SCF likelihood from extra PDFs.

Definition at line 694 of file LauCPFitModel.hh.

LauParameter LauCPFitModel::scfFrac_
private

The (global) SCF fraction parameter.

Definition at line 619 of file LauCPFitModel.hh.

LauEffModel* LauCPFitModel::scfFracHist_
private

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

Definition at line 622 of file LauCPFitModel.hh.

LauScfMap* LauCPFitModel::scfMap_
private

The smearing matrix for the SCF DP PDF.

Definition at line 625 of file LauCPFitModel.hh.

Double_t LauCPFitModel::scfTotalLike_
private

Total SCF likelihood.

Definition at line 703 of file LauCPFitModel.hh.

Double_t LauCPFitModel::sigDPLike_
private

Signal DP likelihood value.

Definition at line 682 of file LauCPFitModel.hh.

Double_t LauCPFitModel::sigExtraLike_
private

Signal likelihood from extra PDFs.

Definition at line 691 of file LauCPFitModel.hh.

LauParameter* LauCPFitModel::signalAsym_
private

Signal asymmetry.

Definition at line 589 of file LauCPFitModel.hh.

LauParameter* LauCPFitModel::signalEvents_
private

Signal yield.

Definition at line 586 of file LauCPFitModel.hh.

Double_t LauCPFitModel::sigTotalLike_
private

Total signal likelihood.

Definition at line 700 of file LauCPFitModel.hh.

const Bool_t LauCPFitModel::tagged_
private

IS the analysis tagged?

Definition at line 601 of file LauCPFitModel.hh.

const TString LauCPFitModel::tagVarName_
private

Event charge.

Definition at line 604 of file LauCPFitModel.hh.

Bool_t LauCPFitModel::useNegReweighting_
private

Boolean to use reweighting for B-.

Definition at line 672 of file LauCPFitModel.hh.

Bool_t LauCPFitModel::usePosReweighting_
private

Boolean to use reweighting for B+.

Definition at line 675 of file LauCPFitModel.hh.

Bool_t LauCPFitModel::useSCF_
private

Is the signal split into TM and SCF.

Definition at line 613 of file LauCPFitModel.hh.

Bool_t LauCPFitModel::useSCFHist_
private

Is the SCF fraction DP-dependent.

Definition at line 616 of file LauCPFitModel.hh.

Bool_t LauCPFitModel::usingBkgnd_
private

Background boolean.

Definition at line 532 of file LauCPFitModel.hh.


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