LauBkgndDPModel.cc
Go to the documentation of this file.
56 void LauBkgndDPModel::setBkgndHisto(const TH2* histo, Bool_t useInterpolation, Bool_t fluctuateBins, Bool_t useUpperHalfOnly, Bool_t squareDP)
60 std::cout<<"INFO in LauBkgndDPModel::setBkgndHisto : Background histogram has upperHalf = "<<static_cast<Int_t>(upperHalf)<<std::endl;
66 bgHistDPPdf_ = new Lau2DHistDPPdf(histo, kinematics, vetoes, useInterpolation, fluctuateBins, upperHalf, squareDP);
72 void LauBkgndDPModel::setBkgndSpline(const TH2* histo, Bool_t fluctuateBins, Bool_t useUpperHalfOnly, Bool_t squareDP)
76 std::cout<<"INFO in LauBkgndDPModel::setBkgndSpline : Background histogram has upperHalf = "<<static_cast<Int_t>(upperHalf)<<std::endl;
82 bgHistDPPdf_ = new Lau2DSplineDPPdf(histo, kinematics, vetoes, fluctuateBins, upperHalf, squareDP);
94 std::cerr << "WARNING in LauBkgndDPModel::calcHistValue : We don't have a histogram so assuming the likelihood is flat in the Dalitz plot." << std::endl;
102 // If we're using a spline then negative values can be caused by adjacent bins that all contain a value of zero.
103 // The spline requires the value, its first derivatives and the mixed second derivative to be continuous and to match the input histogram
104 // at the bin centres. Derivatives are calculated using a finite difference approximation taking the difference between the neighbouring bins.
105 // 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
106 // between the two zero bins to remain smooth. Such dips are unavoidable but are correctly removed here.
109 std::cerr << "WARNING in LauBkgndDPModel::calcHistValue : Value " << value << " is less than 0 - setting to 0. You may want to check your histogram!" << std::endl
110 << " : If you are using a spline then this could be caused by adjacent empty bins. Further warnings will be suppressed." << std::endl;
165 std::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!" << std::endl;
166 std::cerr << "WARNING in LauBkgndDPModel::generate : This should never happen!! What have you done?!" << std::endl;
194 std::cerr << "WARNING in LauBkgndDPModel::generate : We don't have a histogram so generating flat in the DP." << std::endl;
223 std::cerr<<"ERROR in LauBkgndDPModel::fillDataTree : Expecting at least 2 variables "<<"in input data tree, but there are "<<nBranches<<"!\n";
224 std::cerr<<" : Make sure you have the right number of variables in your input data file!"<<std::endl;
281 std::cerr<<"ERROR in LauBkgndDPModel::setDataEventNo : Event index too large: "<<iEvt<<" >= "<<bgData_.size()<<"."<<std::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:153 Lau2DAbsDPPdf * bgHistDPPdf_ PDF of Dalitz plot background, from a 2D histogram. Definition: LauBkgndDPModel.hh:135 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:72 std::vector< Double_t > bgData_ Cached histogram values for each event. Definition: LauBkgndDPModel.hh:138 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:150 void setBkgndHisto(const TH2 *histo, Bool_t useInterpolation, Bool_t fluctuateBins, Bool_t useUpperHalfOnly, Bool_t squareDP=kFALSE) Set background histogram. Definition: LauBkgndDPModel.cc:56 virtual Double_t getLikelihood(UInt_t iEvt) Get likelihood for a given event. Definition: LauBkgndDPModel.cc:267 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:88 Bool_t squareDP_ Flags whether or not to work in square DP coordinates. Definition: LauBkgndDPModel.hh:132 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:260 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:216 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 |