laura is hosted by Hepforge, IPPP Durham
Laura++  v3r4
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauAbsFitModel.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2004 University of Warwick
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 */
17 
18 /*
19 Laura++ package authors:
20 John Back
21 Paul Harrison
22 Thomas Latham
23 */
24 
63 #ifndef LAU_ABS_FIT_MODEL
64 #define LAU_ABS_FIT_MODEL
65 
66 #include "TMatrixDfwd.h"
67 #include "TString.h"
68 #include "TStopwatch.h"
69 
70 #include <iosfwd>
71 #include <set>
72 #include <vector>
73 
74 #include "LauFitObject.hh"
75 #include "LauFormulaPar.hh"
76 #include "LauSimFitSlave.hh"
77 // LauSPlot included to get LauSPlot::NameSet typedef
78 #include "LauSPlot.hh"
79 
80 class LauAbsCoeffSet;
81 class LauAbsPdf;
82 class LauFitDataTree;
83 class LauGenNtuple;
84 class LauAbsRValue;
85 class LauParameter;
86 
88 
89  public:
92 
94  virtual ~LauAbsFitModel();
95 
97  Bool_t useDP() const { return usingDP_; }
98 
100 
103  void useDP(Bool_t usingDP) { usingDP_ = usingDP; }
104 
106  Bool_t doSFit() const { return doSFit_; }
107 
109 
113  void doSFit( const TString& sWeightBranchName, Double_t scaleFactor = 1.0 );
114 
116  Bool_t doEMLFit() const {return emlFit_;}
117 
119 
122  void doEMLFit(Bool_t emlFit) {emlFit_ = emlFit;}
123 
125  Bool_t doPoissonSmearing() const {return poissonSmear_;}
126 
128 
131  void doPoissonSmearing(Bool_t poissonSmear) {poissonSmear_ = poissonSmear;}
132 
134  Bool_t enableEmbedding() const {return enableEmbedding_;}
135 
137 
140  void enableEmbedding(Bool_t enable) {enableEmbedding_ = enable;}
141 
143  Bool_t writeLatexTable() const {return writeLatexTable_;}
144 
146 
149  void writeLatexTable(Bool_t writeTable) {writeLatexTable_ = writeTable;}
150 
152  Bool_t saveFilePDF() const {return savePDF_;}
153 
155 
158  void saveFilePDF(Bool_t savePDF) {savePDF_ = savePDF;}
159 
161 
167  void writeSPlotData(const TString& fileName, const TString& treeName, Bool_t storeDPEfficiency, const TString& verbosity = "q");
168 
170  Bool_t writeSPlotData() const {return writeSPlotData_;}
171 
173  Bool_t storeDPEff() const {return storeDPEff_;}
174 
176  Bool_t useRandomInitFitPars() const {return randomFit_;}
177 
179  void useRandomInitFitPars(Bool_t boolean) {randomFit_ = boolean;}
180 
182 
185  virtual void setBkgndClassNames( const std::vector<TString>& names );
186 
188  inline UInt_t nBkgndClasses() const {return bkgndClassNames_.size();}
189 
191 
194  virtual void setNSigEvents(LauParameter* nSigEvents) = 0;
195 
197 
203  virtual void setNBkgndEvents(LauAbsRValue* nBkgndEvents) = 0;
204 
206 
213  virtual void setAmpCoeffSet(LauAbsCoeffSet* coeffSet) = 0;
214 
216 
224  void compareFitData(UInt_t toyMCScale = 10, const TString& mcFileName = "fitToyMC.root",
225  const TString& tableFileName = "fitToyMCTable.tex", Bool_t poissonSmearing = kTRUE);
226 
228 
235  void run(const TString& applicationCode, const TString& dataFileName, const TString& dataTreeName,
236  const TString& histFileName, const TString& tableFileName = "");
237 
239 
246  virtual void setParsFromMinuit(Double_t* par, Int_t npar);
247 
249 
253  virtual Double_t getTotNegLogLikelihood();
254 
255  protected:
256 
257  // Some typedefs
258 
260  typedef std::vector<LauAbsPdf*> LauPdfList;
262  typedef std::vector<LauParameter*> LauParameterPList;
264  typedef std::vector<LauAbsRValue*> LauAbsRValuePList;
266  typedef std::set<LauParameter*> LauParameterPSet;
268  typedef std::vector<LauParameter> LauParameterList;
270  typedef std::map<UInt_t,TString> LauBkgndClassMap;
271 
273  void clearFitParVectors();
274 
276  void clearExtraVarVectors();
277 
279 
283  virtual void weightEvents( const TString& dataFileName, const TString& dataTreeName ) = 0;
284 
286 
292  virtual void generate(const TString& dataFileName, const TString& dataTreeName, const TString& histFileName, const TString& tableFileNameBase);
293 
295 
298  virtual Bool_t genExpt() = 0;
299 
301 
307  void fit(const TString& dataFileName, const TString& dataTreeName, const TString& histFileName, const TString& tableFileNameBase);
308 
310  void fitExpt();
311 
313 
316  Bool_t runMinimisation();
317 
319 
323  void createFitToyMC(const TString& mcFileName, const TString& tableFileName);
324 
326 
329  virtual UInt_t readExperimentData();
330 
332 
336  virtual Bool_t verifyFitData(const TString& dataFileName, const TString& dataTreeName);
337 
339  virtual void cacheInputFitVars() = 0;
340 
342  virtual void cacheInputSWeights();
343 
345 
351  virtual void initialise() = 0;
352 
354  virtual void recalculateNormalisation() = 0;
355 
357  virtual void initialiseDPModels() = 0;
358 
366  virtual void updateCoeffs() = 0;
367 
369  virtual void propagateParUpdates() = 0;
370 
372 
376  Double_t getLogLikelihood( UInt_t iStart, UInt_t iEnd );
377 
379  Double_t getLogLikelihoodPenalty();
380 
382 
385  virtual Double_t getTotEvtLikelihood(UInt_t iEvt) = 0;
386 
388  virtual Double_t getEventSum() const = 0;
389 
391 
394  virtual void printEventInfo(UInt_t iEvt) const;
395 
397  virtual void printVarsInfo() const;
398 
400  virtual void checkInitFitParams() = 0;
401 
403 
407  virtual void setupResultsOutputs( const TString& histFileName, const TString& tableFileName );
408 
410 
413  virtual void prepareInitialParArray( TObjArray& array );
414 
416 
426  virtual void finaliseExperiment( const LauAbsFitter::FitStatus& fitStat, const TObjArray* parsFromMaster, const TMatrixD* covMat, TObjArray& parsToMaster );
427 
429 
432  virtual void finaliseFitResults(const TString& tableFileName) = 0;
433 
435 
438  virtual void savePDFPlots(const TString& label) = 0;
439 
441 
445  virtual void savePDFPlotsWave(const TString& label, const Int_t& spin) = 0;
446 
448 
451  virtual void writeOutTable(const TString& outputFile) = 0;
452 
454  virtual void storePerEvtLlhds() = 0;
455 
457  virtual void calculateSPlotData();
458 
460  void setGenValues();
461 
463  virtual void setupBkgndVectors() = 0;
464 
466 
470  Bool_t validBkgndClass( const TString& className ) const;
471 
473 
477  UInt_t bkgndClassID( const TString& className ) const;
478 
480 
484  const TString& bkgndClassName( UInt_t classID ) const;
485 
487  virtual void setupGenNtupleBranches() = 0;
488 
490 
493  virtual void addGenNtupleIntegerBranch(const TString& name);
494 
496 
499  virtual void addGenNtupleDoubleBranch(const TString& name);
500 
502 
506  virtual void setGenNtupleIntegerBranchValue(const TString& name, Int_t value);
507 
509 
513  virtual void setGenNtupleDoubleBranchValue(const TString& name, Double_t value);
514 
516 
520  virtual Int_t getGenNtupleIntegerBranchValue(const TString& name) const;
521 
523 
527  virtual Double_t getGenNtupleDoubleBranchValue(const TString& name) const;
528 
530  virtual void fillGenNtupleBranches();
531 
533  virtual void setupSPlotNtupleBranches() = 0;
534 
536 
539  virtual void addSPlotNtupleIntegerBranch(const TString& name);
540 
542 
545  virtual void addSPlotNtupleDoubleBranch(const TString& name);
546 
548 
552  virtual void setSPlotNtupleIntegerBranchValue(const TString& name, Int_t value);
553 
555 
559  virtual void setSPlotNtupleDoubleBranchValue(const TString& name, Double_t value);
560 
562  virtual void fillSPlotNtupleBranches();
563 
565  virtual LauSPlot::NameSet variableNames() const = 0;
566 
568  virtual LauSPlot::NumbMap freeSpeciesNames() const = 0;
569 
571  virtual LauSPlot::NumbMap fixdSpeciesNames() const = 0;
572 
574  virtual LauSPlot::TwoDMap twodimPDFs() const = 0;
575 
577  virtual Bool_t splitSignal() const = 0;
578 
580  virtual Bool_t scfDPSmear() const = 0;
581 
583 
587  UInt_t addFitParameters(LauPdfList& pdfList);
588 
590  void addConParameters();
591 
593 
597  void printFitParameters(const LauPdfList& pdfList, std::ostream& fout) const;
598 
600 
603  void updateFitParameters(LauPdfList& pdfList);
604 
606 
610  void cacheInfo(LauPdfList& pdfList, const LauFitDataTree& theData);
611 
613 
617  Double_t prodPdfValue(LauPdfList& pdfList, UInt_t iEvt);
618 
620 
623  Bool_t pdfsDependOnDP() const {return pdfsDependOnDP_;}
624 
626 
629  void pdfsDependOnDP(Bool_t dependOnDP) { pdfsDependOnDP_ = dependOnDP; }
630 
632  const LauParameterPList& fitPars() const {return fitVars_;}
635 
637  const LauParameterPSet& resPars() const {return resVars_;}
640 
642  const LauParameterList& extraPars() const {return extraVars_;}
645 
647  const LauAbsRValuePList& conPars() const {return conVars_;}
650 
652  const LauGenNtuple* genNtuple() const {return genNtuple_;}
655 
657  const LauGenNtuple* sPlotNtuple() const {return sPlotNtuple_;}
660 
662  const LauFitDataTree* fitData() const {return inputFitData_;}
665 
666  private:
668  LauAbsFitModel(const LauAbsFitModel& rhs);
669 
672 
673  // Various control booleans
674 
678  Bool_t savePDF_;
684  Bool_t storeDPEff_;
686  Bool_t randomFit_;
688  Bool_t emlFit_;
690  Bool_t poissonSmear_;
694  Bool_t usingDP_;
697 
698  // Info on number of experiments and number of events
699 
702 
705 
708 
711 
712  // Input data and output ntuple
713 
720 
721  // Background class names
722 
726  const TString nullString_;
727 
728  // sFit related variables
729 
731  Bool_t doSFit_;
735  std::vector<Double_t> sWeights_;
738 
739  // Fit timers
740 
742  TStopwatch timer_;
744  TStopwatch cumulTimer_;
745 
748 
749  // Comparison toy MC related variables
750 
759 
760  // sPlot related variables
761 
763  TString sPlotFileName_;
765  TString sPlotTreeName_;
768 
769  ClassDef(LauAbsFitModel,0) // Abstract interface to fit/toyMC model
770 };
771 
772 #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:82
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.
virtual void setNBkgndEvents(LauAbsRValue *nBkgndEvents)=0
Set the number of background events.
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:55
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:76
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:46
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:49
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 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:55
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:43
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:73
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.