#include <CoherenceFactor.h>
Definition at line 25 of file CoherenceFactor.h.
◆ CoherenceFactor()
Definition at line 17 of file CoherenceFactor.cpp.
MINT::IReturnComplexForEvent< IDalitzEvent > * Abar()
std::complex< double > _sumAxAbarStarSquared
std::complex< double > _sumAxAbarStar
MINT::IReturnRealForEvent< IDalitzEvent > * _eff
MINT::IReturnComplexForEvent< IDalitzEvent > * A()
MINT::counted_ptr< MINT::IEventGenerator< IDalitzEvent > > _myOwnGenAplusAbar
◆ A()
◆ A_Value()
complex< double > CoherenceFactor::A_Value |
( |
IDalitzEvent & |
evt | ) |
|
|
private |
Definition at line 205 of file CoherenceFactor.cpp.
MINT::IReturnComplexForEvent< IDalitzEvent > * A()
virtual std::complex< double > ComplexVal(EVENT_TYPE &evt)=0
◆ Abar()
◆ Abar_Value()
complex< double > CoherenceFactor::Abar_Value |
( |
IDalitzEvent & |
evt | ) |
|
|
private |
Definition at line 209 of file CoherenceFactor.cpp.
211 if(dbThis) cout <<
"CoherenceFactor::Abar_Value" << endl;
213 if(dbThis) cout <<
"got value: " << val << endl;
MINT::IReturnComplexForEvent< IDalitzEvent > * Abar()
virtual std::complex< double > ComplexVal(EVENT_TYPE &evt)=0
◆ complexVar()
complex< double > CoherenceFactor::complexVar |
( |
std::complex< double > |
s, |
|
|
std::complex< double > |
s_sq |
|
) |
| const |
|
private |
Definition at line 110 of file CoherenceFactor.cpp.
115 complex<double> mos = s_sq / ((double)
_Nevents);
116 complex<double> som(
m.real()*
m.real(),
m.imag()*
m.imag());
117 return (mos - som)/((double)
_Nevents);
◆ cvarAxAbarStar()
complex< double > CoherenceFactor::cvarAxAbarStar |
( |
| ) |
const |
|
private |
Definition at line 91 of file CoherenceFactor.cpp.
std::complex< double > _sumAxAbarStarSquared
std::complex< double > _sumAxAbarStar
std::complex< double > complexVar(std::complex< double > s, std::complex< double > s_sq) const
◆ estimatedPrecision()
double CoherenceFactor::estimatedPrecision |
( |
| ) |
const |
◆ getCVal()
complex< double > CoherenceFactor::getCVal |
( |
| ) |
|
Definition at line 217 of file CoherenceFactor.cpp.
219 if(dbThis) cout <<
"Hello from CoherenceFactor::getCVal()" << endl;
220 long int rediculousNumber = 1000000000;
223 int printEvery = 10000;
226 for(
int i=0; i < 1000; i++){
228 bool printout = tries < 10 || (0 == tries%printEvery);
233 if(dbThis) cout <<
"WARNING in CoherenceFactor::getR()" 234 <<
" got evtPtr = " << evtPtr << endl;
239 double w = evtPtr->getWeight()
240 /evtPtr->getGeneratorPdfRelativeToPhaseSpace();
251 complex<double> c_abar=
254 double d_a = norm(c_a);
255 double d_abar = norm(c_abar);
263 complex<double> c_prod = c_a * conj(c_abar);
265 complex<double> c_prodSquared(c_prod.real() * c_prod.real()
266 , c_prod.imag() * c_prod.imag()
273 cout <<
" DalitzEvent::EventCounter() " 276 cout <<
"INFO from CoherenceFactor::getR()" 277 <<
"\n\t tries: " << tries <<
", for " <<
_Nevents <<
" events." 285 cout <<
" --------------------------------- " << endl;
std::complex< double > _sumAxAbarStarSquared
void printResult(std::ostream &os=std::cout) const
std::complex< double > _sumAxAbarStar
static long int eventCounter()
MINT::counted_ptr< IDalitzEvent > newEvent()
std::complex< double > Rval() const
double estimatedPrecision() const
std::complex< double > Abar_Value(IDalitzEvent &evt)
double getEff(IDalitzEvent &evt)
std::complex< double > A_Value(IDalitzEvent &evt)
◆ getEff() [1/2]
Definition at line 57 of file CoherenceFactor.cpp.
58 if(0 ==
_eff)
return 1.0;
virtual double RealVal(EVENT_TYPE &evt)=0
MINT::IReturnRealForEvent< IDalitzEvent > * _eff
◆ getEff() [2/2]
Definition at line 75 of file CoherenceFactor.h.
76 if(0 == evtPtr)
return 0;
double getEff(IDalitzEvent &evt)
◆ getGenerator()
Definition at line 39 of file CoherenceFactor.cpp.
42 if(dbThis) cout <<
"CoherenceFactor::getGenerator(): " 43 <<
"making generator" << endl;
48 if(dbThis) cout <<
"made generator." << endl;
DalitzEventPattern getTreePattern() const
virtual FitAmplitude * getAmpPtr(unsigned int i)
virtual DalitzBWBoxSet makeBWBoxes(const DalitzEventPattern &pat, TRandom *rnd=gRandom)
MINT::counted_ptr< MINT::IEventGenerator< IDalitzEvent > > _myOwnGenAplusAbar
virtual unsigned int size() const
◆ integA()
double CoherenceFactor::integA |
( |
| ) |
const |
|
private |
◆ integAbar()
double CoherenceFactor::integAbar |
( |
| ) |
const |
|
private |
◆ integAbarSq()
double CoherenceFactor::integAbarSq |
( |
| ) |
const |
|
private |
◆ integASq()
double CoherenceFactor::integASq |
( |
| ) |
const |
|
private |
◆ integAxAbarStar()
complex< double > CoherenceFactor::integAxAbarStar |
( |
| ) |
const |
|
private |
◆ newEvent()
Definition at line 53 of file CoherenceFactor.cpp.
MINT::counted_ptr< MINT::IEventGenerator< IDalitzEvent > > getGenerator()
virtual counted_ptr< RETURN_TYPE > newEvent()=0
◆ printResult()
void CoherenceFactor::printResult |
( |
std::ostream & |
os = std::cout | ) |
const |
Definition at line 175 of file CoherenceFactor.cpp.
176 os <<
"Integrals from CoherenceFactor\n" 181 os <<
"\n\t int |Abar|^2/rB^2 " <<
integAbarSq()/rBSq;
187 os <<
"\n\n Coherence factor result (same result, different formats):" 188 <<
"\n\tR exp(i xi) = " <<
Rval() <<
" +/- " <<
sigma()
189 <<
"\n\tR exp(i xi) = " << abs(
Rval())
190 <<
" * exp( i * " << arg(
Rval()) <<
" )" 193 <<
"\n\tR exp(i xi) = " << abs(
Rval())
194 <<
" * exp( i * " << arg(
Rval())*180.0/
pi <<
" deg )" 198 cout <<
"\n\tR exp(i xi) = " << abs(
Rval())
199 <<
" * exp( i * " << arg(
Rval())*180.0/
pi + 360. <<
" deg )" double sigmaAngle() const
std::complex< double > sigma() const
std::complex< double > Rval() const
double integAbarSq() const
◆ realAorAbarVar()
double CoherenceFactor::realAorAbarVar |
( |
double |
s, |
|
|
double |
sq |
|
) |
| const |
|
private |
Definition at line 94 of file CoherenceFactor.cpp.
96 if(
s == 0)
return -9999;
99 double varAsq = (msq -
m*
m)/((
double)
_Nevents);
101 return 0.5 * varAsq / fabs(
s);
◆ Rval()
complex< double > CoherenceFactor::Rval |
( |
| ) |
const |
|
private |
◆ setPrecision()
void CoherenceFactor::setPrecision |
( |
double |
prec | ) |
|
|
inline |
◆ sigma()
complex< double > CoherenceFactor::sigma |
( |
| ) |
const |
Definition at line 144 of file CoherenceFactor.cpp.
145 return complex<double>(sqrt(fabs(
var().real())), sqrt(fabs(
var().imag())));
std::complex< double > var() const
◆ sigmaAbs()
double CoherenceFactor::sigmaAbs |
( |
| ) |
const |
◆ sigmaAngle()
double CoherenceFactor::sigmaAngle |
( |
| ) |
const |
◆ var()
complex< double > CoherenceFactor::var |
( |
| ) |
const |
Definition at line 121 of file CoherenceFactor.cpp.
124 complex<double>
m =
Rval();
125 complex<double> som(
m.real()*
m.real(),
m.imag()*
m.imag());
128 if(den <= 0)
return complex<double>(-9999,-9999);
132 complex<double> a(ar, ai);
138 cout <<
"var() = " << a <<
" + " << b <<
" + " << c
139 <<
" = " << a + b + c << endl;
std::complex< double > cvarAxAbarStar() const
std::complex< double > Rval() const
◆ varA()
double CoherenceFactor::varA |
( |
| ) |
const |
|
private |
◆ varAbar()
double CoherenceFactor::varAbar |
( |
| ) |
const |
|
private |
◆ varAbs()
double CoherenceFactor::varAbs |
( |
| ) |
const |
Definition at line 147 of file CoherenceFactor.cpp.
148 double a =
var().real() * 2*fabs(
Rval().real()/norm(
Rval()));
149 double b =
var().imag() * 2*fabs(
Rval().imag()/norm(
Rval()));
std::complex< double > var() const
std::complex< double > Rval() const
◆ varAngle()
double CoherenceFactor::varAngle |
( |
| ) |
const |
Definition at line 157 of file CoherenceFactor.cpp.
158 double a= fabs(
Rval().real());
159 double b= fabs(
Rval().imag());
160 double den = a*a + b*b;
161 if(den <= 0)
return -9999;
163 return var().real()*b/den +
var().imag()*a/den;
std::complex< double > var() const
std::complex< double > Rval() const
◆ _A
◆ _A_plus_Abar
◆ _Abar
◆ _CSAbs
double CoherenceFactor::_CSAbs |
|
private |
◆ _CSPhase
double CoherenceFactor::_CSPhase |
|
private |
◆ _eff
◆ _myOwnGenAplusAbar
◆ _Nevents
long int CoherenceFactor::_Nevents |
|
private |
◆ _precision
double CoherenceFactor::_precision |
|
private |
◆ _sumAbarSq
double CoherenceFactor::_sumAbarSq |
|
private |
◆ _sumAbarSqSquared
double CoherenceFactor::_sumAbarSqSquared |
|
private |
◆ _sumASq
double CoherenceFactor::_sumASq |
|
private |
◆ _sumASqSquared
double CoherenceFactor::_sumASqSquared |
|
private |
◆ _sumAxAbarStar
std::complex<double> CoherenceFactor::_sumAxAbarStar |
|
private |
◆ _sumAxAbarStarSquared
std::complex<double> CoherenceFactor::_sumAxAbarStarSquared |
|
private |
The documentation for this class was generated from the following files: