laura is hosted by Hepforge, IPPP Durham
Laura++  v3r3
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauAbsFitModel.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2004 - 2014.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 // Authors:
7 // Thomas Latham
8 // John Back
9 // Paul Harrison
10 
49 #ifndef LAU_ABS_FIT_MODEL
50 #define LAU_ABS_FIT_MODEL
51 
52 #include "TMatrixDfwd.h"
53 #include "TString.h"
54 #include "TStopwatch.h"
55 
56 #include <iosfwd>
57 #include <set>
58 #include <vector>
59 
60 #include "LauFitObject.hh"
61 #include "LauFormulaPar.hh"
62 #include "LauSimFitSlave.hh"
63 // LauSPlot included to get LauSPlot::NameSet typedef
64 #include "LauSPlot.hh"
65 
66 class LauAbsCoeffSet;
67 class LauAbsPdf;
68 class LauFitDataTree;
69 class LauGenNtuple;
70 class LauAbsRValue;
71 class LauParameter;
72 
74 
75  public:
78 
80  virtual ~LauAbsFitModel();
81 
83  Bool_t useDP() const { return usingDP_; }
84 
86 
89  void useDP(Bool_t usingDP) { usingDP_ = usingDP; }
90 
92  Bool_t doSFit() const { return doSFit_; }
93 
95 
99  void doSFit( const TString& sWeightBranchName, Double_t scaleFactor = 1.0 );
100 
102  Bool_t doEMLFit() const {return emlFit_;}
103 
105 
108  void doEMLFit(Bool_t emlFit) {emlFit_ = emlFit;}
109 
111  Bool_t doPoissonSmearing() const {return poissonSmear_;}
112 
114 
117  void doPoissonSmearing(Bool_t poissonSmear) {poissonSmear_ = poissonSmear;}
118 
120  Bool_t enableEmbedding() const {return enableEmbedding_;}
121 
123 
126  void enableEmbedding(Bool_t enable) {enableEmbedding_ = enable;}
127 
129  Bool_t writeLatexTable() const {return writeLatexTable_;}
130 
132 
135  void writeLatexTable(Bool_t writeTable) {writeLatexTable_ = writeTable;}
136 
138  Bool_t saveFilePDF() const {return savePDF_;}
139 
141 
144  void saveFilePDF(Bool_t savePDF) {savePDF_ = savePDF;}
145 
147 
153  void writeSPlotData(const TString& fileName, const TString& treeName, Bool_t storeDPEfficiency, const TString& verbosity = "q");
154 
156  Bool_t writeSPlotData() const {return writeSPlotData_;}
157 
159  Bool_t storeDPEff() const {return storeDPEff_;}
160 
162  Bool_t useRandomInitFitPars() const {return randomFit_;}
163 
165  void useRandomInitFitPars(Bool_t boolean) {randomFit_ = boolean;}
166 
168 
171  virtual void setBkgndClassNames( const std::vector<TString>& names );
172 
174  inline UInt_t nBkgndClasses() const {return bkgndClassNames_.size();}
175 
177 
180  virtual void setNSigEvents(LauParameter* nSigEvents) = 0;
181 
183 
189  virtual void setNBkgndEvents(LauParameter* nBkgndEvents) = 0;
190 
192 
199  virtual void setAmpCoeffSet(LauAbsCoeffSet* coeffSet) = 0;
200 
202 
210  void compareFitData(UInt_t toyMCScale = 10, const TString& mcFileName = "fitToyMC.root",
211  const TString& tableFileName = "fitToyMCTable.tex", Bool_t poissonSmearing = kTRUE);
212 
214 
221  void run(const TString& applicationCode, const TString& dataFileName, const TString& dataTreeName,
222  const TString& histFileName, const TString& tableFileName = "");
223 
225 
232  virtual void setParsFromMinuit(Double_t* par, Int_t npar);
233 
235 
239  virtual Double_t getTotNegLogLikelihood();
240 
241  protected:
242 
243  // Some typedefs
244 
246  typedef std::vector<LauAbsPdf*> LauPdfList;
248  typedef std::vector<LauParameter*> LauParameterPList;
250  typedef std::vector<LauAbsRValue*> LauAbsRValuePList;
252  typedef std::set<LauParameter*> LauParameterPSet;
254  typedef std::vector<LauParameter> LauParameterList;
256  typedef std::map<UInt_t,TString> LauBkgndClassMap;
257 
259  void clearFitParVectors();
260 
262  void clearExtraVarVectors();
263 
265 
269  virtual void weightEvents( const TString& dataFileName, const TString& dataTreeName ) = 0;
270 
272 
278  virtual void generate(const TString& dataFileName, const TString& dataTreeName, const TString& histFileName, const TString& tableFileNameBase);
279 
281 
284  virtual Bool_t genExpt() = 0;
285 
287 
293  void fit(const TString& dataFileName, const TString& dataTreeName, const TString& histFileName, const TString& tableFileNameBase);
294 
296  void fitExpt();
297 
299 
302  Bool_t runMinimisation();
303 
305 
309  void createFitToyMC(const TString& mcFileName, const TString& tableFileName);
310 
312 
315  virtual UInt_t readExperimentData();
316 
318 
322  virtual Bool_t verifyFitData(const TString& dataFileName, const TString& dataTreeName);
323 
325  virtual void cacheInputFitVars() = 0;
326 
328  virtual void cacheInputSWeights();
329 
331 
337  virtual void initialise() = 0;
338 
340  virtual void recalculateNormalisation() = 0;
341 
343  virtual void initialiseDPModels() = 0;
344 
352  virtual void updateCoeffs() = 0;
353 
355  virtual void propagateParUpdates() = 0;
356 
358 
362  Double_t getLogLikelihood( UInt_t iStart, UInt_t iEnd );
363 
365  Double_t getLogLikelihoodPenalty();
366 
368 
371  virtual Double_t getTotEvtLikelihood(UInt_t iEvt) = 0;
372 
374  virtual Double_t getEventSum() const = 0;
375 
377 
380  virtual void printEventInfo(UInt_t iEvt) const;
381 
383  virtual void printVarsInfo() const;
384 
386  virtual void checkInitFitParams() = 0;
387 
389 
393  virtual void setupResultsOutputs( const TString& histFileName, const TString& tableFileName );
394 
396 
399  virtual void prepareInitialParArray( TObjArray& array );
400 
402 
412  virtual void finaliseExperiment( const LauAbsFitter::FitStatus& fitStat, const TObjArray* parsFromMaster, const TMatrixD* covMat, TObjArray& parsToMaster );
413 
415 
418  virtual void finaliseFitResults(const TString& tableFileName) = 0;
419 
421 
424  virtual void savePDFPlots(const TString& label) = 0;
425 
427 
431  virtual void savePDFPlotsWave(const TString& label, const Int_t& spin) = 0;
432 
434 
437  virtual void writeOutTable(const TString& outputFile) = 0;
438 
440  virtual void storePerEvtLlhds() = 0;
441 
443  virtual void calculateSPlotData();
444 
446  void setGenValues();
447 
449  virtual void setupBkgndVectors() = 0;
450 
452 
456  Bool_t validBkgndClass( const TString& className ) const;
457 
459 
463  UInt_t bkgndClassID( const TString& className ) const;
464 
466 
470  const TString& bkgndClassName( UInt_t classID ) const;
471 
473  virtual void setupGenNtupleBranches() = 0;
474 
476 
479  virtual void addGenNtupleIntegerBranch(const TString& name);
480 
482 
485  virtual void addGenNtupleDoubleBranch(const TString& name);
486 
488 
492  virtual void setGenNtupleIntegerBranchValue(const TString& name, Int_t value);
493 
495 
499  virtual void setGenNtupleDoubleBranchValue(const TString& name, Double_t value);
500 
502 
506  virtual Int_t getGenNtupleIntegerBranchValue(const TString& name) const;
507 
509 
513  virtual Double_t getGenNtupleDoubleBranchValue(const TString& name) const;
514 
516  virtual void fillGenNtupleBranches();
517 
519  virtual void setupSPlotNtupleBranches() = 0;
520 
522 
525  virtual void addSPlotNtupleIntegerBranch(const TString& name);
526 
528 
531  virtual void addSPlotNtupleDoubleBranch(const TString& name);
532 
534 
538  virtual void setSPlotNtupleIntegerBranchValue(const TString& name, Int_t value);
539 
541 
545  virtual void setSPlotNtupleDoubleBranchValue(const TString& name, Double_t value);
546 
548  virtual void fillSPlotNtupleBranches();
549 
551  virtual LauSPlot::NameSet variableNames() const = 0;
552 
554  virtual LauSPlot::NumbMap freeSpeciesNames() const = 0;
555 
557  virtual LauSPlot::NumbMap fixdSpeciesNames() const = 0;
558 
560  virtual LauSPlot::TwoDMap twodimPDFs() const = 0;
561 
563  virtual Bool_t splitSignal() const = 0;
564 
566  virtual Bool_t scfDPSmear() const = 0;
567 
569 
573  UInt_t addFitParameters(LauPdfList& pdfList);
574 
576  void addConParameters();
577 
579 
583  void printFitParameters(const LauPdfList& pdfList, std::ostream& fout) const;
584 
586 
589  void updateFitParameters(LauPdfList& pdfList);
590 
592 
596  void cacheInfo(LauPdfList& pdfList, const LauFitDataTree& theData);
597 
599 
603  Double_t prodPdfValue(LauPdfList& pdfList, UInt_t iEvt);
604 
606 
609  Bool_t pdfsDependOnDP() const {return pdfsDependOnDP_;}
610 
612 
615  void pdfsDependOnDP(Bool_t dependOnDP) { pdfsDependOnDP_ = dependOnDP; }
616 
618  const LauParameterPList& fitPars() const {return fitVars_;}
621 
623  const LauParameterPSet& resPars() const {return resVars_;}
626 
628  const LauParameterList& extraPars() const {return extraVars_;}
631 
633  const LauAbsRValuePList& conPars() const {return conVars_;}
636 
638  const LauGenNtuple* genNtuple() const {return genNtuple_;}
641 
643  const LauGenNtuple* sPlotNtuple() const {return sPlotNtuple_;}
646 
648  const LauFitDataTree* fitData() const {return inputFitData_;}
651 
652  private:
654  LauAbsFitModel(const LauAbsFitModel& rhs);
655 
658 
659  // Various control booleans
660 
664  Bool_t savePDF_;
670  Bool_t storeDPEff_;
672  Bool_t randomFit_;
674  Bool_t emlFit_;
676  Bool_t poissonSmear_;
680  Bool_t usingDP_;
683 
684  // Info on number of experiments and number of events
685 
688 
691 
694 
697 
698  // Input data and output ntuple
699 
706 
707  // Background class names
708 
712  const TString nullString_;
713 
714  // sFit related variables
715 
717  Bool_t doSFit_;
721  std::vector<Double_t> sWeights_;
724 
725  // Fit timers
726 
728  TStopwatch timer_;
730  TStopwatch cumulTimer_;
731 
734 
735  // Comparison toy MC related variables
736 
745 
746  // sPlot related variables
747 
749  TString sPlotFileName_;
751  TString sPlotTreeName_;
754 
755  ClassDef(LauAbsFitModel,0) // Abstract interface to fit/toyMC model
756 };
757 
758 #endif
TString fitToyMCTableName_
The output table name for Toy MC.
virtual void addSPlotNtupleIntegerBranch(const TString &name)
Add a branch to the sPlot tree for storing an integer.
virtual Bool_t genExpt()=0
The method that actually generates the toy MC events for the given experiment.
File containing declaration of LauFormulaPar class.
void createFitToyMC(const TString &mcFileName, const TString &tableFileName)
Create a toy MC sample from the fitted parameters.
std::vector< LauParameter > LauParameterList
List of parameters.
virtual Double_t getEventSum() const =0
Returns the sum of the expected events over all hypotheses; used in the EML fit scenario.
void setGenValues()
Make sure all parameters hold their genValue as the current value.
TString sPlotFileName_
The name of the sPlot file.
void saveFilePDF(Bool_t savePDF)
Turn on or off the save of files containing graphs of the resonance&#39;s PDFs.
virtual void writeOutTable(const TString &outputFile)=0
Write the latex table.
virtual UInt_t readExperimentData()
Read in the data for the current experiment.
Bool_t writeLatexTable() const
Determine whether writing out of the latex table is enabled.
Bool_t doSFit_
Option to perfom the sFit.
Bool_t writeSPlotData() const
Determine whether the sPlot data is to be written out.
TStopwatch timer_
The fit timer.
virtual Double_t getTotNegLogLikelihood()
Calculates the total negative log-likelihood.
LauAbsRValuePList conVars_
Internal vectors of Gaussian parameters.
Bool_t storeDPEff_
Option to store DP efficiencies in the sPlot ntuple.
void cacheInfo(LauPdfList &pdfList, const LauFitDataTree &theData)
Have all PDFs in the list cache the data.
virtual void setGenNtupleIntegerBranchValue(const TString &name, Int_t value)
Set the value of an integer branch in the gen tree.
void writeLatexTable(Bool_t writeTable)
Turn on or off the writing out of the latex table.
virtual void setupBkgndVectors()=0
Method to set up the storage for background-related quantities called by setBkgndClassNames.
LauGenNtuple * genNtuple_
The generated ntuple.
virtual Bool_t verifyFitData(const TString &dataFileName, const TString &dataTreeName)
Open the input file and verify that all required variables are present.
virtual void setupGenNtupleBranches()=0
Setup the generation ntuple branches.
UInt_t addFitParameters(LauPdfList &pdfList)
Add parameters of the PDFs in the list to the list of all fit parameters.
virtual void generate(const TString &dataFileName, const TString &dataTreeName, const TString &histFileName, const TString &tableFileNameBase)
Generate toy MC.
virtual void setBkgndClassNames(const std::vector< TString > &names)
Setup the background class names.
Bool_t useDP() const
Is the Dalitz plot term in the likelihood.
void doPoissonSmearing(Bool_t poissonSmear)
Turn Poisson smearing (for the toy MC generation) on or off.
std::multimap< TString, std::pair< TString, TString > > TwoDMap
Type to associate the name of the species that have 2D PDFs with the names of the two variables invol...
Definition: LauSPlot.hh:68
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.
Bool_t randomFit_
Option to randomise the initial values of the fit parameters.
virtual void finaliseExperiment(const LauAbsFitter::FitStatus &fitStat, const TObjArray *parsFromMaster, const TMatrixD *covMat, TObjArray &parsToMaster)
Perform all finalisation actions.
virtual void cacheInputSWeights()
Cache the value of the sWeights to be used in the sFit.
virtual void setGenNtupleDoubleBranchValue(const TString &name, Double_t value)
Set the value of a double branch in the gen tree.
virtual void setNSigEvents(LauParameter *nSigEvents)=0
Set the number of signal events.
virtual void savePDFPlotsWave(const TString &label, const Int_t &spin)=0
Save the pdf Plots for the sum of ressonances correspondint to &quot;sin&quot; of experiment number fitExp...
virtual void storePerEvtLlhds()=0
Store the per-event likelihood values.
virtual void printEventInfo(UInt_t iEvt) const
Prints the values of all the fit variables for the specified event - useful for diagnostics.
ClassDef(LauSimFitSlave, 0)
Bool_t pdfsDependOnDP() const
Do any of the PDFs have a dependence on the DP?
virtual ~LauAbsFitModel()
Destructor.
Bool_t compareFitData_
Option to make toy from 1st successful experiment.
Bool_t writeLatexTable_
Option to output a Latex format table.
Double_t prodPdfValue(LauPdfList &pdfList, UInt_t iEvt)
Calculate the product of the per-event likelihoods of the PDFs in the list.
Bool_t emlFit_
Option to perform an extended ML fit.
LauFitDataTree * fitData()
Access the data store.
std::vector< LauAbsPdf * > LauPdfList
List of Pdfs.
virtual Int_t getGenNtupleIntegerBranchValue(const TString &name) const
Get the value of an integer branch in the gen tree.
Bool_t poissonSmear_
Option to perform Poisson smearing.
virtual LauSPlot::NumbMap fixdSpeciesNames() const =0
Returns the names and yields of species that are fixed in the fit.
LauBkgndClassMap bkgndClassNames_
The background class names.
virtual void setupSPlotNtupleBranches()=0
Setup the branches of the sPlot tuple.
virtual void fillGenNtupleBranches()
Fill the gen tuple branches.
std::set< LauParameter * > LauParameterPSet
Set of parameter pointers.
virtual void setSPlotNtupleDoubleBranchValue(const TString &name, Double_t value)
Set the value of a double branch in the sPlot tree.
void printFitParameters(const LauPdfList &pdfList, std::ostream &fout) const
Print the fit parameters for all PDFs in the list.
Bool_t enableEmbedding_
Option to enable embedding.
std::vector< LauAbsRValue * > LauAbsRValuePList
List of parameter pointers.
LauParameterList & extraPars()
Access the extra variables.
virtual Double_t getTotEvtLikelihood(UInt_t iEvt)=0
Calculates the likelihood for a given event.
TStopwatch cumulTimer_
The total fit timer.
virtual void propagateParUpdates()=0
This function (specific to each model) calculates anything that depends on the fit parameter values...
void addConParameters()
Add parameters to the list of Gaussian constrained parameters.
virtual void recalculateNormalisation()=0
Recalculate normalisation the signal DP model(s)
LauFitDataTree * inputFitData_
The input data.
const LauParameterList & extraPars() const
Const access the extra variables.
void doEMLFit(Bool_t emlFit)
Choice to perform an extended maximum likelihood fit.
Bool_t doSFit() const
Return the flag to store the status of using an sFit or not.
void run(const TString &applicationCode, const TString &dataFileName, const TString &dataTreeName, const TString &histFileName, const TString &tableFileName="")
Start the toy generation / fitting.
std::vector< LauParameter * > LauParameterPList
List of parameter pointers.
LauParameterList extraVars_
Extra variables that aren&#39;t in the fit but are stored in the ntuple.
Abstract interface to the fitting and toy MC model.
virtual void addGenNtupleIntegerBranch(const TString &name)
Add a branch to the gen tree for storing an integer.
virtual void prepareInitialParArray(TObjArray &array)
Package the initial fit parameters for transmission to the master.
Bool_t doPoissonSmearing() const
Determine whether Poisson smearing is enabled for the toy MC generation.
Bool_t saveFilePDF() const
save files containing graphs of the resonance&#39;s PDFs
Struct to store fit status information.
Definition: LauAbsFitter.hh:41
virtual Double_t getGenNtupleDoubleBranchValue(const TString &name) const
Get the value of a double branch in the gen tree.
const LauAbsRValuePList & conPars() const
Const access the Gaussian constrained variables.
virtual void setAmpCoeffSet(LauAbsCoeffSet *coeffSet)=0
Set the DP amplitude coefficients.
virtual void weightEvents(const TString &dataFileName, const TString &dataTreeName)=0
Weighting - allows e.g. MC events to be weighted by the DP model.
std::map< TString, Double_t > NumbMap
Type to associate a category name with a double precision number, e.g. a yield or PDF value for a giv...
Definition: LauSPlot.hh:62
Bool_t doEMLFit() const
Determine whether an extended maximum likelihood fit it being performed.
std::map< UInt_t, TString > LauBkgndClassMap
A type to store background classes.
virtual LauSPlot::NumbMap freeSpeciesNames() const =0
Returns the names and yields of species that are free in the fit.
Class to store the results from the toy MC generation into an ntuple.
Definition: LauGenNtuple.hh:32
File containing declaration of LauSPlot class.
virtual Bool_t splitSignal() const =0
Check if the signal is split into well-reconstructed and mis-reconstructed types. ...
LauParameterPList & fitPars()
Access the fit variables.
TString sPlotTreeName_
The name of the sPlot tree.
virtual void initialiseDPModels()=0
Initialise the DP models.
Class for defining the abstract interface for complex coefficient classes.
LauAbsFitModel()
Constructor.
LauGenNtuple * sPlotNtuple_
The sPlot ntuple.
TString sPlotVerbosity_
Control the verbosity of the sFit.
const TString nullString_
An empty string.
void clearFitParVectors()
Clear the vectors containing fit parameters.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:35
virtual void addSPlotNtupleDoubleBranch(const TString &name)
Add a branch to the sPlot tree for storing a double.
void clearExtraVarVectors()
Clear the vectors containing extra ntuple variables.
virtual void setNBkgndEvents(LauParameter *nBkgndEvents)=0
Set the number of background events.
virtual void cacheInputFitVars()=0
Cache the input data values to calculate the likelihood during the fit.
void fitExpt()
Routine to perform the actual fit for a given experiment.
const LauGenNtuple * genNtuple() const
Const access the gen ntuple.
LauGenNtuple * sPlotNtuple()
Access the sPlot ntuple.
LauGenNtuple * genNtuple()
Access the gen ntuple.
Double_t sWeightScaleFactor_
The sWeight scaling factor.
Bool_t storeDPEff() const
Determine whether the efficiency information should be stored in the sPlot ntuple.
const LauGenNtuple * sPlotNtuple() const
Const access the sPlot ntuple.
UInt_t bkgndClassID(const TString &className) const
The number assigned to a background class.
File containing declaration of LauSimFitSlave class.
Bool_t useRandomInitFitPars() const
Determine whether the initial values of the fit parameters, in particular the isobar coefficient para...
virtual void finaliseFitResults(const TString &tableFileName)=0
Write the results of the fit into the ntuple.
const LauFitDataTree * fitData() const
Const access the data store.
virtual void checkInitFitParams()=0
Update initial fit parameters if required.
virtual void printVarsInfo() const
Same as printEventInfo, but printing out the values of the variables in the fit.
Bool_t writeSPlotData_
Option to write sPlot data.
Bool_t validBkgndClass(const TString &className) const
Check if the given background class is in the list.
Bool_t fitToyMCPoissonSmear_
Option to perform Poisson smearing.
TString sWeightBranchName_
The name of the sWeight branch.
LauParameterPList fitVars_
Internal vector of fit parameters.
virtual Bool_t scfDPSmear() const =0
Check if the mis-reconstructed signal is to be smeared in the DP.
const LauParameterPSet & resPars() const
Const access the fit variables which affect the DP normalisation.
void fit(const TString &dataFileName, const TString &dataTreeName, const TString &histFileName, const TString &tableFileNameBase)
Perform the total fit.
void enableEmbedding(Bool_t enable)
Turn on or off embedding of events in the generation.
void pdfsDependOnDP(Bool_t dependOnDP)
Do any of the PDFs have a dependence on the DP?
virtual void setSPlotNtupleIntegerBranchValue(const TString &name, Int_t value)
Set the value of an integer branch in the sPlot tree.
LauAbsRValuePList & conPars()
Access the Gaussian constrained variables.
UInt_t fitToyMCScale_
The scaling factor (toy vs data statistics)
Bool_t runMinimisation()
Routine to perform the minimisation.
File containing declaration of LauFitObject class.
virtual void fillSPlotNtupleBranches()
Fill the sPlot tuple.
virtual void updateCoeffs()=0
TString fitToyMCFileName_
The output file name for Toy MC.
Bool_t usingDP_
Option to include the DP as part of the fit.
virtual LauSPlot::TwoDMap twodimPDFs() const =0
Returns the species and variables for all 2D PDFs in the fit.
Double_t getLogLikelihoodPenalty()
Calculate the penalty terms to the log likelihood from Gaussian constraints.
virtual void savePDFPlots(const TString &label)=0
Save the pdf Plots for all the resonances of experiment number fitExp.
UInt_t nBkgndClasses() const
Returns the number of background classes.
The base class for any slave process for simultaneous/combined fits.
const TString & bkgndClassName(UInt_t classID) const
Get the name of a background class from the number.
void useRandomInitFitPars(Bool_t boolean)
Randomise the initial values of the fit parameters, in particular the isobar coefficient parameters...
LauParameterPSet resVars_
Internal set of fit parameters upon which the DP normalisation depends.
void useDP(Bool_t usingDP)
Switch on/off the Dalitz plot term in the Likelihood (allows fits to other quantities, e.g. B mass)
Bool_t enableEmbedding() const
Determine whether embedding of events is enabled in the generation.
Bool_t savePDF_
Option to output a .C file of PDF&#39;s.
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:41
Double_t getLogLikelihood(UInt_t iStart, UInt_t iEnd)
Calculate the sum of the log-likelihood over the specified events.
const LauParameterPList & fitPars() const
Const access the fit variables.
virtual LauSPlot::NameSet variableNames() const =0
Returns the names of all variables in the fit.
virtual void addGenNtupleDoubleBranch(const TString &name)
Add a branch to the gen tree for storing a double.
void updateFitParameters(LauPdfList &pdfList)
Update the fit parameters for all PDFs in the list.
Bool_t pdfsDependOnDP_
Option to state if pdfs depend on DP position.
LauParameterPSet & resPars()
Access the fit variables which affect the DP normalisation.
TString outputTableName_
The output table name.
virtual void setParsFromMinuit(Double_t *par, Int_t npar)
This function sets the parameter values from Minuit.
Pure abstract base class for defining a parameter containing an R value.
Definition: LauAbsRValue.hh:29
virtual void initialise()=0
Initialise the fit par vectors.
Class to store the input fit variables.
std::set< TString > NameSet
Type to store names, e.g. of the discriminating/control variables.
Definition: LauSPlot.hh:59
virtual void setupResultsOutputs(const TString &histFileName, const TString &tableFileName)
Setup saving of fit results to ntuple/LaTeX table etc.
virtual void calculateSPlotData()
Calculate the sPlot data.
LauAbsFitModel & operator=(const LauAbsFitModel &rhs)
Copy assignment operator (not implemented)
std::vector< Double_t > sWeights_
The vector of sWeights.