LauBkgndDPModel.cc
Go to the documentation of this file.
59 void LauBkgndDPModel::setBkgndHisto(const TH2* histo, Bool_t useInterpolation, Bool_t fluctuateBins, Bool_t useUpperHalfOnly, Bool_t squareDP)
69 bgHistDPPdf_ = new Lau2DHistDPPdf(histo, kinematics, vetoes, useInterpolation, fluctuateBins, upperHalf, squareDP);
75 void LauBkgndDPModel::setBkgndSpline(const TH2* histo, Bool_t fluctuateBins, Bool_t useUpperHalfOnly, Bool_t squareDP)
85 bgHistDPPdf_ = new Lau2DSplineDPPdf(histo, kinematics, vetoes, fluctuateBins, upperHalf, squareDP);
97 cerr << "WARNING in LauBkgndDPModel::calcHistValue : We don't have a histogram so assuming the likelihood is flat in the Dalitz plot." << endl;
105 // If we're using a spline then negative values can be caused by adjacent bins that all contain a value of zero.
106 // The spline requires the value, its first derivatives and the mixed second derivative to be continuous and to match the input histogram
107 // at the bin centres. Derivatives are calculated using a finite difference approximation taking the difference between the neighbouring bins.
108 // If two bins are zero but the third is not then the second bin will have a positive first derivative causing the spline to dip below zero
109 // between the two zero bins to remain smooth. Such dips are unavoidable but are correctly removed here.
112 std::cerr << "WARNING in LauBkgndDPModel::calcHistValue : Value " << value << " is less than 0 - setting to 0. You may want to check your histogram!" << std::endl
113 << " : If you are using a spline then this could be caused by adjacent empty bins. Further warnings will be suppressed." << std::endl;
168 cerr << "WARNING in LauBkgndDPModel::generate : We don't have a histogram so generating flat in the square DP, which won't be flat in the conventional DP!" << endl;
169 cerr << "WARNING in LauBkgndDPModel::generate : This should never happen!! What have you done?!" << endl;
197 cerr << "WARNING in LauBkgndDPModel::generate : We don't have a histogram so generating flat in the DP." << endl;
285 cerr<<"ERROR in LauBkgndDPModel::setDataEventNo : Event index too large: "<<iEvt<<" >= "<<bgData_.size()<<"."<<endl;
The abstract interface for a background Dalitz plot model. Definition: LauAbsBkgndDPModel.hh:31 TRandom * randomFun() Access the singleton random number generator with a particular seed. Definition: LauRandom.cc:20 File containing declaration of LauFitDataTree class. Bool_t lowBinWarningIssued_ Flag to track whether a warning has been issued for bin values less than zero. Definition: LauBkgndDPModel.hh:147 Lau2DAbsDPPdf * bgHistDPPdf_ PDF of Dalitz plot background, from a 2D histogram. Definition: LauBkgndDPModel.hh:129 void updateSqDPKinematics(Double_t mPrime, Double_t thetaPrime) Update all kinematic quantities based on the square DP co-ordinates m' and theta'. Definition: LauKinematics.cc:99 ClassImp(LauAbsCoeffSet) File containing declaration of LauBkgndDPModel class. void setBkgndSpline(const TH2 *histo, Bool_t fluctuateBins, Bool_t useUpperHalfOnly, Bool_t squareDP) Set the background histogram and generate a spline. Definition: LauBkgndDPModel.cc:75 std::vector< Double_t > bgData_ Cached histogram values for each event. Definition: LauBkgndDPModel.hh:132 Class that defines the particular 3-body decay under study. Definition: LauDaughters.hh:33 File containing declaration of LauDaughters class. const LauKinematics * getKinematics() const Get the Dalitz plot kinematics. Definition: LauAbsBkgndDPModel.hh:88 std::map< TString, Double_t > LauFitData Type for holding event data. Definition: LauFitDataTree.hh:31 UInt_t nBranches() const Obtain the number of branches in the tree. Definition: LauFitDataTree.cc:170 File containing declaration of Lau2DHistDPPdf class. File containing declaration of LauKinematics class. File containing declaration of Lau2DSplineDPPdf class. virtual Double_t interpolateXY(Double_t x, Double_t y) const =0 Perform the interpolation (unnormalised) void updateKinematics(Double_t m13Sq, Double_t m23Sq) Update all kinematic quantities based on the DP co-ordinates m13Sq and m23Sq. Definition: LauKinematics.cc:82 Bool_t doneGenWarning_ Boolean to indicate if the warning that there is no histogram has already been issued. Definition: LauBkgndDPModel.hh:144 void setBkgndHisto(const TH2 *histo, Bool_t useInterpolation, Bool_t fluctuateBins, Bool_t useUpperHalfOnly, Bool_t squareDP=kFALSE) Set background histogram. Definition: LauBkgndDPModel.cc:59 virtual Double_t getLikelihood(UInt_t iEvt) Get likelihood for a given event. Definition: LauBkgndDPModel.cc:271 void genFlatSqDP(Double_t &mPrime, Double_t &thetaPrime) const Routine to generate events flat in the square Dalitz plot. Definition: LauKinematics.cc:336 const LauVetoes * getVetoes() const Get vetoes in the Dalitz plot. Definition: LauAbsBkgndDPModel.hh:100 Double_t calcHistValue(Double_t xVal, Double_t yVal) Calulate histogram value at a given point. Definition: LauBkgndDPModel.cc:91 Bool_t squareDP_ Flags whether or not to work in square DP coordinates. Definition: LauBkgndDPModel.hh:126 Class for defining a histogram-based background Dalitz plot model. Definition: LauBkgndDPModel.hh:34 const LauFitData & getData(UInt_t iEvt) const Retrieve the data for a given event. Definition: LauFitDataTree.cc:312 File containing LauRandom namespace. virtual Double_t getUnNormValue(UInt_t iEvt) Get unnormalised likelihood for a given event. Definition: LauBkgndDPModel.cc:264 Bool_t passVeto(Double_t &m12Sq, Double_t &m23Sq, Double_t &m13Sq) const Check whether the specified Dalitz plot point passes the vetoes. Definition: LauVetoes.cc:109 virtual void fillDataTree(const LauFitDataTree &fitDataTree) Cache the input data and (if appropriate) the per-event likelihood values. Definition: LauBkgndDPModel.cc:219 void genFlatPhaseSpace(Double_t &m13Sq, Double_t &m23Sq) const Routine to generate events flat in phase-space. Definition: LauKinematics.cc:316 File containing declaration of LauVetoes class. Double_t calcSqDPJacobian() Calculate the Jacobian for the transformation m23^2, m13^2 -> m', theta' (square DP) ... Definition: LauKinematics.cc:125 virtual Double_t getPdfNorm() const Get PDF normalisation constant. Definition: LauBkgndDPModel.hh:91 Generated by 1.8.5 |