#include <DalitzPdfNormChecker.h>
Definition at line 17 of file DalitzPdfNormChecker.h.
◆ DalitzPdfNormChecker()
DalitzPdfNormChecker::DalitzPdfNormChecker |
( |
IDalitzPdf * |
pdf, |
|
|
const DalitzEventPattern & |
pat, |
|
|
double |
prec = 1.0e-2 , |
|
|
TRandom * |
rnd = gRandom |
|
) |
| |
◆ boxSize()
double DalitzPdfNormChecker::boxSize |
( |
| ) |
const |
|
private |
Definition at line 231 of file DalitzPdfNormChecker.cpp.
242 return dt01*ds12*ds23*ds34*dt40;
244 cout <<
"ERROR in DalitzPdfNormChecker::boxSize()" 245 <<
" don't know how to handle " 247 <<
" final state particles. Will return -9999"
◆ checkNorm()
double DalitzPdfNormChecker::checkNorm |
( |
| ) |
|
Definition at line 173 of file DalitzPdfNormChecker.cpp.
175 long unsigned int stupidNumber = 2000000000;
177 int printEvery=50000;
178 for(
long unsigned int i=0;
183 if(0 == i%printEvery){
186 cout <<
" current ptr " << evtPtr.get() << endl;
188 cout <<
" phase space = " << evtPtr->phaseSpace() << endl;
192 if(0 == evtPtr)
continue;
193 if(evtPtr->phaseSpace() <= 0)
continue;
195 if(
_Nevents < 20 || 0 == i%printEvery){
196 cout <<
" for _Nevents = " <<
_Nevents <<
", current val = " << val << endl;
197 cout <<
"event: " << *evtPtr << endl;
198 cout <<
" ------------------ " << endl;
204 double ps = evtPtr->phaseSpace();
211 cout <<
"DalitzPdfNormChecker::checkNorm(): " long unsigned int _Nevents
bool sufficientPrecision() const
void print(std::ostream &os=std::cout) const
MINT::counted_ptr< DalitzEvent > makeEventForOwner() const
virtual double getVal_withPs(IDalitzEvent &evt)=0
◆ currentAbsolutePrecision()
double DalitzPdfNormChecker::currentAbsolutePrecision |
( |
| ) |
const |
|
private |
Definition at line 145 of file DalitzPdfNormChecker.cpp.
148 double mean =
_sum/dN;
149 double meansq =
_sumsq/dN;
150 double var = meansq - mean*mean;
152 cout <<
"ERROR ind DalitzPdfNormChecker::currentPrecision()" 153 <<
". Variance = " << var
154 <<
". We have a problem." long unsigned int _Nevents
◆ currentRelativePrecision()
double DalitzPdfNormChecker::currentRelativePrecision |
( |
| ) |
const |
|
private |
◆ make3Event()
Definition at line 110 of file DalitzPdfNormChecker.cpp.
112 cout <<
" ERROR DalitzPdfNormChecker::make3Event(): I don't work, yet. " 113 <<
"\n Please improve me. Sorry, will have to crash, now" 115 throw "no making 3 body events in DalitzPdfNormChecker, yet";
◆ make4Event()
◆ makeEventForOwner() [1/2]
counted_ptr< DalitzEvent > DalitzPdfNormChecker::makeEventForOwner |
( |
double |
scale0, |
|
|
double |
scale1, |
|
|
double |
scale2, |
|
|
double |
scale3, |
|
|
double |
scale4 |
|
) |
| const |
|
private |
Definition at line 52 of file DalitzPdfNormChecker.cpp.
73 if(c4b.phaseSpaceFactor() <=0){
76 << t01 <<
"( " <<
_t01 <<
"), \n " 77 << s12 <<
"( " <<
_s12 <<
"), \n " 78 << s23 <<
"( " <<
_s23 <<
"), \n " 79 << s34 <<
"( " <<
_s34 <<
"), \n " 80 << t40 <<
"( " <<
_t40 <<
"), \n " 81 <<
" outside phase space!! " 88 cout <<
"WARNING DalitzPdfNormChecker::make4Event()" 89 <<
" making the event failed at 'new DalitzEvent(...)'" 90 <<
" this shouldn't really happen." 94 if(evt->phaseSpace() <= 0){
◆ makeEventForOwner() [2/2]
Definition at line 101 of file DalitzPdfNormChecker.cpp.
104 cout <<
"ERROR in DalitzPdfNormChecker::makeEvent() can only make events" 105 <<
" with 3 or 4 daughters. You want : " <<
_pat MINT::counted_ptr< DalitzEvent > make3Event() const
MINT::counted_ptr< DalitzEvent > make4Event() const
◆ makeMiMa()
void DalitzPdfNormChecker::makeMiMa |
( |
| ) |
|
|
private |
Definition at line 34 of file DalitzPdfNormChecker.cpp.
35 double safetyFactor=1.001;
double sijMax(const MINT::PolymorphVector< int > &indices) const
double sijMin(const MINT::PolymorphVector< int > &indices) const
void setMinMax(double min, double max)
◆ print()
void DalitzPdfNormChecker::print |
( |
std::ostream & |
os = std::cout | ) |
const |
Definition at line 219 of file DalitzPdfNormChecker.cpp.
220 os <<
" DalitzPdfNormChecker after " <<
_Nevents <<
" events: ";
228 os <<
"\n this should be " << shouldBe;
long unsigned int _Nevents
double resultError() const
◆ result()
double DalitzPdfNormChecker::result |
( |
| ) |
const |
◆ resultError()
double DalitzPdfNormChecker::resultError |
( |
| ) |
const |
◆ sufficientPrecision()
bool DalitzPdfNormChecker::sufficientPrecision |
( |
| ) |
const |
|
private |
◆ _askingPrecision
double DalitzPdfNormChecker::_askingPrecision |
|
private |
◆ _Nevents
long unsigned int DalitzPdfNormChecker::_Nevents |
|
private |
◆ _NInside
int DalitzPdfNormChecker::_NInside |
|
private |
◆ _pat
◆ _pdf
◆ _rnd
TRandom* DalitzPdfNormChecker::_rnd |
|
private |
◆ _s12
◆ _s23
◆ _s34
◆ _sum
double DalitzPdfNormChecker::_sum |
|
private |
◆ _sumPhaseSpace
double DalitzPdfNormChecker::_sumPhaseSpace |
|
private |
◆ _sumPhaseSpaceSq
double DalitzPdfNormChecker::_sumPhaseSpaceSq |
|
private |
◆ _sumsq
double DalitzPdfNormChecker::_sumsq |
|
private |
◆ _t01
◆ _t40
The documentation for this class was generated from the following files: