Laura++
3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
|
Go to the documentation of this file.
58 const std::vector<LauAbsRValue*>& params,
59 const std::vector<Double_t>& limits,
61 LauAbsPdf( theVarName, params, limits.front(), limits.back() ),
62 normBin_( normalisationBin ),
73 cerr << "ERROR in LauParametricStepFuncPdf constructor: LauParametricStepFuncPdf requires N-1 parameters, where N is the number of bins."
75 gSystem->Exit( EXIT_FAILURE );
91 gSystem->Exit( EXIT_FAILURE );
95 Double_t abscissa = abscissas[0];
98 const std::vector<LauAbsRValue*>& pars = this-> getParameters();
101 Double_t value( 0.0 );
102 const UInt_t numBins = this-> nBins();
106 for ( UInt_t i( 1 ); i <= numBins; ++i ) {
111 value = pars[i - 1]->unblindValue();
116 Double_t binSize( 0.0 );
117 for ( UInt_t j( 1 ); j < numBins; ++j ) {
119 sum += ( pars[j - 1]->unblindValue() * binSize );
122 value = ( 1.0 - sum ) / binSize;
129 for ( UInt_t i( 1 ); i <= numBins; ++i ) {
134 value = pars[i - 2]->unblindValue();
139 Double_t binSize( 0.0 );
140 for ( UInt_t j( 2 ); j <= numBins; ++j ) {
142 sum += ( pars[j - 2]->unblindValue() * binSize );
145 value = ( 1.0 - sum ) / binSize;
173 const std::vector<LauAbsRValue*>& pars = this-> getParameters();
176 Double_t height( 0.0 );
177 Double_t value( 0.0 );
178 const UInt_t numBins = this-> nBins();
184 for ( UInt_t i( 0 ); i < numBins - 1; ++i ) {
185 value = pars[i]->unblindValue();
186 if ( height < value ) {
193 Double_t binSize( 0.0 );
194 for ( UInt_t j( 1 ); j < numBins; ++j ) {
196 sum += ( pars[j - 1]->unblindValue() * binSize );
199 value = ( 1.0 - sum ) / binSize;
200 if ( height < value ) {
207 for ( UInt_t i( 1 ); i < numBins; ++i ) {
208 value = pars[i - 1]->unblindValue();
209 if ( height < value ) {
216 Double_t binSize( 0.0 );
217 for ( UInt_t j( 2 ); j <= numBins; ++j ) {
219 sum += ( pars[j - 2]->unblindValue() * binSize );
222 value = ( 1.0 - sum ) / binSize;
223 if ( height < value ) {
Double_t value() const The value of the parameter.
std::vector< Double_t > limits_ limits of the bins
virtual Bool_t cachePDF() const Check if the PDF is to be cached.
std::vector< Double_t > LauAbscissas The type used for containing multiple abscissa values.
virtual Bool_t withinNormCalc() const Check whether the calcNorm method is running.
virtual ~LauParametricStepFuncPdf() Destructor.
virtual UInt_t nParameters() const Retrieve the number of PDF parameters.
virtual void setNorm(Double_t norm) Set the normalisation factor.
virtual void calcNorm() Calculate the normalisation.
File containing declaration of LauParametricStepFuncPdf class.
virtual void setUnNormPDFVal(Double_t unNormPDFVal) Set the unnormalised likelihood.
Class for defining the abstract interface for PDF classes.
virtual Bool_t withinGeneration() const Check whether the generate method is running.
File containing LauConstants namespace.
UInt_t nBins() const Number of bins.
virtual void setMaxHeight(Double_t maxHeight) Set the maximum height.
virtual void calcPDFHeight(const LauKinematics *kinematics) Calculate the PDF height.
virtual const std::vector< LauAbsRValue * > & getParameters() const Retrieve the parameters of the PDF, e.g. so that they can be loaded into a fit.
Class for calculating 3-body kinematic quantities.
LauParametricStepFuncPdf(const TString &theVarName, const std::vector< LauAbsRValue * > ¶ms, const std::vector< Double_t > &limits, NormBin normalisationBin=Last) Constructor.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas) Calculate the likelihood (and intermediate info) for a given abscissa.
virtual Bool_t heightUpToDate() const Check if the maximum height of the PDF is up to date.
NormBin normBin() const Normalisation bin.
virtual Bool_t checkRange(const LauAbscissas &abscissas) const Check that all abscissas are within their allowed ranges.
NormBin Define the allowed options for the normalisation bin.
|