13 #include "Math/Interpolator.h" 14 #include "Math/InterpolationTypes.h" 21 BW_BW(tree, namePrefix)
22 , _binCenters(
"BinCenters_inGeV2")
23 , _interpolationTypeString(
"MI::InterpolationType",(std::string)
"kCSPLINE")
24 , _interpolationType(ROOT::Math::Interpolation::kCSPLINE)
42 for (
int i= 0; i<
_nBins; i++) {
50 for (
int i= 0; i<
_nBins; i++) {
60 double formFactor= 1.;
88 TCanvas* c =
new TCanvas();
94 std::vector<double> Re(n), Im(n), mag(n), phase(n), delta(n), mass2(n);
96 for (
int i=0; i<n; i++) {
97 Re[i] = binCenterValues_Re[i] ;
98 Im[i] = binCenterValues_Im[i] ;
99 mag[i] = pow(binCenterValues_Re[i],2) + pow(binCenterValues_Im[i],2);
100 delta[i] = 1./2. * atan( (binCenterValues_Im[i] - 1./2.)/binCenterValues_Re[i] ) + TMath::Pi() / 4.;
101 phase[i] = arg(complex<double>(Re[i],Im[i]) );
108 std::vector<double> Re_itp(nSteps), Im_itp(nSteps), mag_itp(nSteps), phase_itp(nSteps), delta_itp(nSteps), mass2_itp(nSteps);
110 for(
int i=0; i<nSteps; i++){
111 mass2_itp[i] = m2_start + i * step;
114 mag_itp[i] = pow(Re_itp[i],2) + pow(Im_itp[i],2);
115 phase_itp[i] = arg(complex<double>(Re_itp[i],Im_itp[i]) );
116 delta_itp[i] = 1./2. * atan( (Im_itp[i] - 1./2.)/Re_itp[i] ) + TMath::Pi() / 4.;
119 TGraph*
g =
new TGraph(n,&Re[0],&Im[0]);
120 g->SetTitle(
"Argand; Re(A) ; Im(A)");
121 TGraph* g_itp =
new TGraph(nSteps,&Re_itp[0],&Im_itp[0]);
122 g_itp->SetLineColor(kRed);
124 g_itp->Draw(
"Csame");
129 g =
new TGraph(n,&mass2[0],&mag[0]);
130 g->SetTitle(
" ; s[GeV^{2}] ; |A|^{2}");
131 g_itp =
new TGraph(nSteps,&mass2_itp[0],&mag_itp[0]);
132 g_itp->SetLineColor(kRed);
134 g_itp->Draw(
"Csame");
139 g =
new TGraph(n,&mass2[0],&phase[0]);
140 g->SetTitle(
" ; s[GeV^{2}] ; arg(A)");
141 g_itp =
new TGraph(nSteps,&mass2_itp[0],&phase_itp[0]);
142 g_itp->SetLineColor(kRed);
144 g_itp->Draw(
"Csame");
149 g =
new TGraph(n,&mass2[0],&delta[0]);
150 g->SetTitle(
" ; s[GeV^{2}] ; #delta(A)");
151 g_itp =
new TGraph(nSteps,&mass2_itp[0],&delta_itp[0]);
152 g_itp->SetLineColor(kRed);
154 g_itp->Draw(
"Csame");
virtual bool changedSinceLastCall() const
virtual void resetInternals()
std::vector< double > getBinCenterValues_Im()
NamedParameter< std::string > _interpolationTypeString
bool setEventPtr(IDalitzEvent &evt) const
ROOT::Math::Interpolator * _interpolator_Re
virtual std::complex< double > getVal(IDalitzEvent &evt)
virtual int mumsPID() const
Model_independent(const AssociatedDecayTree &tree, const std::string &namePrefix="")
std::complex< double > getInterpolatedVal(const double s_inGeV2)
virtual double Fr_PDG_BL()
double Re_Bin(int i) const
std::vector< double > getBinCenterValues_Re()
virtual double mumsRecoMass2() const
std::vector< double > _binCenterVector
NamedParameter< double > _binCenters
const std::vector< T > & getVector() const
ROOT::Math::Interpolator * _interpolator_Im
MINT::NamedParameter< int > _normBF
std::string anythingToString(const T &anything)
virtual double Fr_BELLE(double prSquared)
double Im_Bin(int i) const
ROOT::Math::Interpolation::Type _interpolationType