Page MenuHomeHEPForge

No OneTemporary

This file is larger than 256 KB, so syntax highlighting was skipped.
This document is not UTF8. It was detected as ISO-8859-1 (Latin 1) and converted to UTF8 for display.
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..99720b8
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,121 @@
+Language: Cpp
+AccessModifierOffset: -2
+AlignAfterOpenBracket: Align
+AlignConsecutiveAssignments: false
+AlignConsecutiveDeclarations: false
+AlignEscapedNewlines: Left
+AlignOperands: true
+AlignTrailingComments: true
+AllowAllParametersOfDeclarationOnNextLine: false
+AllowShortBlocksOnASingleLine: false
+AllowShortCaseLabelsOnASingleLine: false
+AllowShortFunctionsOnASingleLine: InlineOnly
+AllowShortIfStatementsOnASingleLine: false
+AllowShortLoopsOnASingleLine: false
+AlwaysBreakAfterDefinitionReturnType: None
+AlwaysBreakAfterReturnType: None
+AlwaysBreakBeforeMultilineStrings: false
+AlwaysBreakTemplateDeclarations: Yes
+BinPackArguments: true
+BinPackParameters: true
+BraceWrapping:
+ AfterClass: false
+ AfterControlStatement: false
+ AfterEnum: true
+ AfterFunction: true
+ AfterNamespace: false
+ AfterObjCDeclaration: false
+ AfterStruct: false
+ AfterUnion: false
+ AfterExternBlock: false
+ BeforeCatch: false
+ BeforeElse: false
+ IndentBraces: false
+ SplitEmptyFunction: true
+ SplitEmptyRecord: true
+ SplitEmptyNamespace: true
+BreakBeforeBinaryOperators: None
+BreakBeforeBraces: Custom
+BreakBeforeTernaryOperators: true
+BreakInheritanceList: AfterColon
+BreakConstructorInitializers: AfterColon
+BreakStringLiterals: false
+ColumnLimit: 80
+CommentPragmas: '^ IWYU pragma:'
+CompactNamespaces: false
+ConstructorInitializerAllOnOneLineOrOnePerLine: true
+ConstructorInitializerIndentWidth: 4
+ContinuationIndentWidth: 4
+Cpp11BracedListStyle: true
+DerivePointerAlignment: false
+DisableFormat: false
+ExperimentalAutoDetectBinPacking: false
+FixNamespaceComments: true
+ForEachMacros:
+ - foreach
+ - BOOST_FOREACH
+IncludeBlocks: Regroup
+IncludeCategories:
+ - Regex: '^"EvtGen/'
+ Priority: 1
+ - Regex: '^"EvtGenBase/'
+ Priority: 2
+ - Regex: '^"EvtGenModels/'
+ Priority: 3
+ - Regex: '^"EvtGenExternal/'
+ Priority: 4
+ - Regex: '^"HepMC/'
+ Priority: 5
+ - Regex: '^"(Pythia8|Photos|Tauola)/'
+ Priority: 6
+ - Regex: '^"T[[:alnum:]]+\.h"'
+ Priority: 7
+ - Regex: '^<[[:alnum:].]+>'
+ Priority: 9
+ - Regex: '.*'
+ Priority: 8
+IncludeIsMainRegex: '(Test)?$'
+IndentCaseLabels: true
+IndentPPDirectives: None
+IndentWidth: 4
+IndentWrappedFunctionNames: false
+JavaScriptQuotes: Leave
+JavaScriptWrapImports: true
+KeepEmptyLinesAtTheStartOfBlocks: false
+MacroBlockBegin: ''
+MacroBlockEnd: ''
+MaxEmptyLinesToKeep: 1
+NamespaceIndentation: All
+PenaltyBreakAssignment: 50
+PenaltyBreakBeforeFirstCallParameter: 50
+PenaltyBreakComment: 250
+PenaltyBreakFirstLessLess: 100
+PenaltyBreakString: 1000
+PenaltyBreakTemplateDeclaration: 1
+PenaltyExcessCharacter: 10
+PenaltyReturnTypeOnItsOwnLine: 250
+PointerAlignment: Left
+ReflowComments: false
+SortIncludes: true
+SortUsingDeclarations: true
+SpaceAfterCStyleCast: false
+SpaceAfterTemplateKeyword: true
+SpaceBeforeAssignmentOperators: true
+SpaceBeforeCpp11BracedList: false
+SpaceBeforeCtorInitializerColon: true
+SpaceBeforeInheritanceColon: true
+SpaceBeforeParens: ControlStatements
+SpaceBeforeRangeBasedForLoopColon: true
+SpaceInEmptyParentheses: false
+SpacesBeforeTrailingComments: 4
+SpacesInAngles: false
+SpacesInContainerLiterals: true
+SpacesInCStyleCastParentheses: false
+SpacesInParentheses: true
+SpacesInSquareBrackets: false
+Standard: Cpp11
+StatementMacros:
+ - ClassDef
+ - ClassImp
+TabWidth: 8
+UseTab: Never
diff --git a/EvtGenBase/Evt3Rank3C.hh b/EvtGenBase/Evt3Rank3C.hh
index f8dda61..d3fa911 100644
--- a/EvtGenBase/Evt3Rank3C.hh
+++ b/EvtGenBase/Evt3Rank3C.hh
@@ -1,123 +1,122 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/Evt3Rank3C.hh
//
// Description:Class to handle complex 3rd rank 3D tensors
//
// Modification history:
//
// RYD September 14, 1997 Module created
//
//------------------------------------------------------------------------
#ifndef EVT3RANK3C_HH
#define EVT3RANK3C_HH
#include <iostream>
#include "EvtGenBase/EvtComplex.hh"
class EvtTensor3C;
class EvtVector3C;
class EvtVector3R;
class Evt3Rank3C ;
inline Evt3Rank3C operator*(const EvtComplex& c,const Evt3Rank3C& t2);
inline Evt3Rank3C operator*(const double d,const Evt3Rank3C& t2);
inline Evt3Rank3C operator*(const Evt3Rank3C& t2,const EvtComplex& c);
inline Evt3Rank3C operator*(const Evt3Rank3C& t2,const double d);
inline Evt3Rank3C operator+(const Evt3Rank3C& t1,const Evt3Rank3C& t2);
inline Evt3Rank3C operator-(const Evt3Rank3C& t1,const Evt3Rank3C& t2);
Evt3Rank3C directProd(const EvtVector3C& c1,const EvtVector3C& c2,
- const EvtVector3C& c3);
+ const EvtVector3C& c3);
Evt3Rank3C conj(const Evt3Rank3C& t2);
-class Evt3Rank3C {
+class Evt3Rank3C final {
friend Evt3Rank3C operator*(const EvtComplex& c,const Evt3Rank3C& t2);
friend Evt3Rank3C operator*(const double d,const Evt3Rank3C& t2);
friend Evt3Rank3C operator*(const Evt3Rank3C& t2,const EvtComplex& c);
friend Evt3Rank3C operator*(const Evt3Rank3C& t2,const double d);
friend Evt3Rank3C operator+(const Evt3Rank3C& t1,const Evt3Rank3C& t2);
friend Evt3Rank3C operator-(const Evt3Rank3C& t1,const Evt3Rank3C& t2);
friend Evt3Rank3C directProd(const EvtVector3C& c1,const EvtVector3C& c2,
- const EvtVector3C& c3);
+ const EvtVector3C& c3);
friend Evt3Rank3C conj(const Evt3Rank3C& t2);
friend std::ostream& operator<<(std::ostream& s, const Evt3Rank3C& t2);
-
+
public:
Evt3Rank3C();
Evt3Rank3C(const Evt3Rank3C& t1 );
- virtual ~Evt3Rank3C();
Evt3Rank3C& operator=(const Evt3Rank3C& t1);
inline void set(int i,int j,int k,const EvtComplex& c);
inline const EvtComplex& get(int i, int j, int k) const;
void zero();
-
+
Evt3Rank3C& operator+=(const Evt3Rank3C& t2);
Evt3Rank3C& operator-=(const Evt3Rank3C& t2);
Evt3Rank3C& operator*=(const double d);
Evt3Rank3C& operator*=(const EvtComplex& c);
Evt3Rank3C conj() const;
- EvtTensor3C cont1(const EvtVector3C& v) const;
- EvtTensor3C cont2(const EvtVector3C& v) const;
- EvtTensor3C cont3(const EvtVector3C& v) const;
- EvtTensor3C cont1(const EvtVector3R& v) const;
- EvtTensor3C cont2(const EvtVector3R& v) const;
- EvtTensor3C cont3(const EvtVector3R& v) const;
-
-
+ EvtTensor3C cont1(const EvtVector3C& v) const;
+ EvtTensor3C cont2(const EvtVector3C& v) const;
+ EvtTensor3C cont3(const EvtVector3C& v) const;
+ EvtTensor3C cont1(const EvtVector3R& v) const;
+ EvtTensor3C cont2(const EvtVector3R& v) const;
+ EvtTensor3C cont3(const EvtVector3R& v) const;
+
+
private:
EvtComplex t[3][3][3];
};
inline Evt3Rank3C operator*(const EvtComplex& c,const Evt3Rank3C& t2){
return Evt3Rank3C(t2)*=c;
}
inline Evt3Rank3C operator*(const double d,const Evt3Rank3C& t2){
return Evt3Rank3C(t2)*=d;
}
inline Evt3Rank3C operator*(const Evt3Rank3C& t2,const EvtComplex& c){
return Evt3Rank3C(t2)*=c;
}
inline Evt3Rank3C operator*(const Evt3Rank3C& t2,const double d){
return Evt3Rank3C(t2)*=d;
}
inline Evt3Rank3C operator+(const Evt3Rank3C& t1,const Evt3Rank3C& t2){
return Evt3Rank3C(t1)+=t2;
}
inline Evt3Rank3C operator-(const Evt3Rank3C& t1,const Evt3Rank3C& t2){
return Evt3Rank3C(t1)-=t2;
}
inline void Evt3Rank3C::set(int i,int j,int k,const EvtComplex& c){
t[i][j][k]=c;
}
inline const EvtComplex& Evt3Rank3C::get(int i,int j,int k) const{
return t[i][j][k];
}
#endif
diff --git a/EvtGenBase/EvtAbsLineShape.hh b/EvtGenBase/EvtAbsLineShape.hh
index 933bbae..fe96343 100644
--- a/EvtGenBase/EvtAbsLineShape.hh
+++ b/EvtGenBase/EvtAbsLineShape.hh
@@ -1,97 +1,97 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtAbsLineShape.hh
//
// Description: Class to keep the particle properties for
// one particle
//
// Modification history:
//
// Lange March 10, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTABSLINESHAPE_HH
#define EVTABSLINESHAPE_HH
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtId.hh"
#include <vector>
class EvtId;
class EvtAbsLineShape {
public:
- EvtAbsLineShape();
- EvtAbsLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp);
- virtual ~EvtAbsLineShape();
+ EvtAbsLineShape() = default;
+ EvtAbsLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp);
+ virtual ~EvtAbsLineShape() = default;
EvtAbsLineShape& operator=(const EvtAbsLineShape& x);
- EvtAbsLineShape(const EvtAbsLineShape& x);
+ EvtAbsLineShape(const EvtAbsLineShape& x);
double getMass() {return _mass;}
- double getMassMin() {return _massMin;}
+ double getMassMin() {return _massMin;}
double getMassMax() {return _massMax;}
double getMaxRange() {return _maxRange;}
- double getWidth() {return _width;}
+ double getWidth() {return _width;}
EvtSpinType::spintype getSpinType() {return _spin;}
virtual double rollMass();
virtual EvtAbsLineShape* clone();
void reSetMass(double mass) { _mass=mass;}
void reSetWidth(double width) { _width=width;}
void reSetMassMin(double mass) { _massMin=mass;}
void reSetMassMax(double mass) { _massMax=mass;}
virtual void reSetBlatt(double /*blatt*/) {};
virtual void reSetBlattBirth(double /*blatt*/) {};
void includeBirthFactor(bool yesno) { _includeBirthFact = yesno; }
void includeDecayFactor(bool yesno) { _includeDecayFact = yesno; }
- void setPWForDecay( int spin, EvtId d1, EvtId d2) {
+ void setPWForDecay( int spin, EvtId d1, EvtId d2) {
_userSetPW.push_back(spin);
_userSetPWD1.push_back(d1);
_userSetPWD2.push_back(d2);
}
- void setPWForBirthL( int spin, EvtId par, EvtId othD) {
+ void setPWForBirthL( int spin, EvtId par, EvtId othD) {
_userSetBirthPW.push_back(spin);
_userSetBirthOthD.push_back(othD);
_userSetBirthPar.push_back(par);
}
virtual double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId,double maxMass, double *dauMasses);
virtual double getMassProb(double mass, double massPar, int nDaug, double *massDau);
protected:
bool _includeDecayFact;
bool _includeBirthFact;
double _mass;
double _massMin;
double _massMax;
double _width;
double _maxRange;
// allow for special cases where the default method of picking the
//lowest allowed partial wave for a decay is not the right answer.
// string is "<spin> <daughter1> <daughter2>"
//new 9/12/2003 Lange
std::vector<EvtId> _userSetPWD1,_userSetPWD2;
std::vector<int> _userSetPW;
// also do it for birth factors
std::vector<EvtId> _userSetBirthPar,_userSetBirthOthD;
std::vector<int> _userSetBirthPW;
EvtSpinType::spintype _spin;
-};
+};
#endif
diff --git a/EvtGenBase/EvtAmpFactory.hh b/EvtGenBase/EvtAmpFactory.hh
index 897ea86..c5dd5a5 100644
--- a/EvtGenBase/EvtAmpFactory.hh
+++ b/EvtGenBase/EvtAmpFactory.hh
@@ -1,140 +1,132 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Alexei Dvoretskii 2001-2002
//------------------------------------------------------------------------
-// Abstract amplitude factory parameterized by a vector of
+// Abstract amplitude factory parameterized by a vector of
// strings. Derived classes construct the amplitude, and PDFs for sampling
// points.
#ifndef EVT_AMP_FACTORY_HH
#define EVT_AMP_FACTORY_HH
#include <vector>
#include <string>
#include <stdio.h>
#include "EvtGenBase/EvtAmplitudeSum.hh"
#include "EvtGenBase/EvtPdfSum.hh"
#include "EvtGenBase/EvtMultiChannelParser.hh"
#include "EvtGenBase/EvtAmpPdf.hh"
#include "EvtGenBase/EvtPdfMax.hh"
#include "EvtGenBase/EvtMacros.hh"
template <class T>
-class EvtAmpFactory {
+class EvtAmpFactory {
public:
- EvtAmpFactory()
- : _amp(0), _ampConj(0), _pc(0), _dm(0.), _verbose(false)
- {}
+ EvtAmpFactory() = default;
- EvtAmpFactory(const EvtAmpFactory<T>& other)
- :
- _amp(other._amp ? (EvtAmplitudeSum<T>*) other._amp : 0),
- _ampConj(other._ampConj ? (EvtAmplitudeSum<T>*) other._ampConj : 0),
- _pc(other._pc ? (EvtPdfSum<T>*) other._pc : 0),
+protected:
+ EvtAmpFactory(EvtAmpFactory<T>&& ) = default;
+ EvtAmpFactory(const EvtAmpFactory<T>& other)
+ : _amp(other._amp ? other._amp->clone() : nullptr ),
+ _ampConj(other._ampConj ? other._ampConj->clone() : nullptr),
+ _pc(other._pc ? other._pc->clone() : nullptr),
+ _names(other._names),
_dm(other._dm),
+ _mixPhase(other._mixPhase),
_verbose(other._verbose)
{}
-
- virtual ~EvtAmpFactory()
- {
- if(_amp) delete _amp;
- if(_ampConj) delete _ampConj;
- if(_pc) delete _pc;
- }
+public:
+
+ virtual ~EvtAmpFactory() = default;
virtual EvtAmpFactory<T>* clone() const = 0;
-
+
virtual void build(const EvtMultiChannelParser& parser, int nItg)
{
- _amp = new EvtAmplitudeSum<T>();
- _ampConj = new EvtAmplitudeSum<T>();
- _pc = new EvtPdfSum<T>();
+ _amp = std::make_unique<EvtAmplitudeSum<T>>();
+ _ampConj = std::make_unique<EvtAmplitudeSum<T>>();
+ _pc = std::make_unique<EvtPdfSum<T>>();
_dm = parser.dm();
_mixAmpli = parser.mixAmpli();
_mixPhase = parser.mixPhase();
printf("Amplitude with %d terms\n",parser.getNAmp());
int i;
for(i=0;i<parser.getNAmp();i++) {
-
+
std::vector<std::string> v = parser.amp(i);
EvtComplex c = parser.ampCoef(i);
processAmp(c,v);
}
-
+
printf("Conj. amplitude with %d terms\n",parser.getNAmpConj());
- for(i=0;i<parser.getNAmpConj();i++) {
+ for(i=0;i<parser.getNAmpConj();i++) {
std::vector<std::string> v = parser.ampConj(i);
EvtComplex c = parser.ampConjCoef(i);
processAmp(c,v,true);
}
-
+
printf("Calculating pole compensator integrals %d steps\n",nItg);
if(nItg > 0) _pc->getItg(nItg);
-
+
printf("End build\n");
}
-
+
virtual void processAmp(EvtComplex c, std::vector<std::string> v, bool conj = false) = 0;
- inline bool isCPModel() const { return (_ampConj->nTerms() > 0 ? true : false); }
+ inline bool isCPModel() const { return (_ampConj->nTerms() > 0 ? true : false); }
inline double dm() const { return _dm; }
inline double mixAmpli() const { return _mixAmpli; }
inline double mixPhase() const { return _mixPhase; }
void setVerbose() { _verbose = true; }
- EvtAmplitudeSum<T>* getAmp() const { return _amp; }
- EvtAmplitudeSum<T>* getAmpConj() const { return _ampConj; }
- EvtPdfSum<T>* getPC() const { return _pc; }
+ EvtAmplitudeSum<T>* getAmp() const { return _amp.get(); }
+ EvtAmplitudeSum<T>* getAmpConj() const { return _ampConj.get(); }
+ EvtPdfSum<T>* getPC() const { return _pc.get(); }
EvtAmplitude<T>* getAmp(int i) const { return _amp->getTerm(i); }
EvtPdf<T>* getPC(int i) const { return _pc->getPdf(i); }
const char* compName(int i) const { return _names[i].c_str(); }
EvtComplex getCoeff(int i) const { return _amp->c(i); }
double getTermCoeff(int i) const { return abs2(_amp->c(i)); }
double getTermCoeff(int type, int i, int j) const
{
switch(type) {
case 0: return 2*real(_amp->c(i)*conj(_amp->c(j))); //posre
case 1: return -2*real(_amp->c(i)*conj(_amp->c(j))); //negre
case 2: return -2*imag(_amp->c(i)*conj(_amp->c(j))); //posim
case 3: return 2*imag(_amp->c(i)*conj(_amp->c(j))); //negim
default: assert(0);
}
}
-
+
protected:
- EvtAmplitudeSum<T> *_amp; // _owned_ amplitude
- EvtAmplitudeSum<T> *_ampConj; // _owned_ conjugate amplitude
- EvtPdfSum<T> *_pc; // _owned_ pole compensator
+ std::unique_ptr<EvtAmplitudeSum<T>> _amp; // _owned_ amplitude
+ std::unique_ptr<EvtAmplitudeSum<T>> _ampConj; // _owned_ conjugate amplitude
+ std::unique_ptr<EvtPdfSum<T>> _pc; // _owned_ pole compensator
std::vector<std::string> _names; // names of partial amplitudes
-
- double _dm; // Mass difference for conjugate amplitude
+
+ double _dm = 0; // Mass difference for conjugate amplitude
double _mixPhase;// mixing phase
double _mixAmpli;// cpv in mixing
- bool _verbose;
+ bool _verbose = false;
};
#endif
-
-
-
-
-
diff --git a/EvtGenBase/EvtAmpPdf.hh b/EvtGenBase/EvtAmpPdf.hh
index 27963e1..2b4f01b 100644
--- a/EvtGenBase/EvtAmpPdf.hh
+++ b/EvtGenBase/EvtAmpPdf.hh
@@ -1,41 +1,41 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtAmpPdf.hh,v 1.2 2009-03-16 16:43:40 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#ifndef EVT_AMP_PDF_HH
#define EVT_AMP_PDF_HH
#include "EvtGenBase/EvtMacros.hh"
#include "EvtGenBase/EvtAmplitude.hh"
#include "EvtGenBase/EvtPdf.hh"
template <class T>
-class EvtAmpPdf : public EvtPdf<T> {
+class EvtAmpPdf : public EvtPdf<T> {
public:
EvtAmpPdf() {}
EvtAmpPdf(const EvtAmplitude<T>& amp) : EvtPdf<T>(), _amp(amp.clone()) {}
EvtAmpPdf(const EvtAmpPdf<T>& other) : EvtPdf<T>(other), COPY_PTR(_amp) {}
virtual ~EvtAmpPdf() { delete _amp; }
-
- virtual EvtAmpPdf<T>* clone() const { return new EvtAmpPdf(*this); }
-
- virtual double pdf(const T& p) const
+
+ EvtAmpPdf<T>* clone() const override { return new EvtAmpPdf(*this); }
+
+ double pdf(const T& p) const override
{
EvtComplex amp = _amp->evaluate(p);
return real(amp)*real(amp) + imag(amp)*imag(amp);
}
-
+
private:
-
+
EvtAmplitude<T>* _amp;
};
#endif
diff --git a/EvtGenBase/EvtAmplitude.hh b/EvtGenBase/EvtAmplitude.hh
index b0b598c..3ecbfe5 100644
--- a/EvtGenBase/EvtAmplitude.hh
+++ b/EvtGenBase/EvtAmplitude.hh
@@ -1,47 +1,51 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtAmplitude.hh,v 1.2 2009-03-16 16:43:40 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Complex-valued amplitude
#ifndef EVT_AMPLITUDE_HH
#define EVT_AMPLITUDE_HH
#include "EvtGenBase/EvtComplex.hh"
template <class T>
class EvtAmplitude {
public:
- EvtAmplitude() {}
- EvtAmplitude(const EvtAmplitude&) {}
- virtual ~EvtAmplitude() {}
+ EvtAmplitude() = default;
+ EvtAmplitude(const EvtAmplitude&) = default;
+ EvtAmplitude(EvtAmplitude&&) = default;
+ EvtAmplitude& operator=(const EvtAmplitude&) = default;
+ EvtAmplitude& operator=(EvtAmplitude&&) = default;
+ virtual ~EvtAmplitude() = default;
+
virtual EvtAmplitude<T>* clone() const = 0;
EvtComplex evaluate(const T& p) const
{
EvtComplex ret(0.,0.);
if(p.isValid()) ret = amplitude(p);
return ret;
}
protected:
// Derive in subclasses to define amplitude computation
// for a fully constructed amplitude object.
virtual EvtComplex amplitude(const T&) const = 0;
};
#endif
diff --git a/EvtGenBase/EvtAmplitudeSum.hh b/EvtGenBase/EvtAmplitudeSum.hh
index 4a41709..3197019 100644
--- a/EvtGenBase/EvtAmplitudeSum.hh
+++ b/EvtGenBase/EvtAmplitudeSum.hh
@@ -1,108 +1,108 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtAmplitudeSum.hh,v 1.2 2009-03-16 16:42:46 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#ifndef EVT_AMPLITUDE_SUM_HH
#define EVT_AMPLITUDE_SUM_HH
-#include <stdio.h>
+#include "EvtGenBase/EvtAmplitude.hh"
#include <assert.h>
#include <vector>
-#include "EvtGenBase/EvtAmplitude.hh"
+#include <memory>
template <class T>
class EvtAmplitudeSum : public EvtAmplitude<T> {
-
+
public:
-
+
EvtAmplitudeSum() {}
EvtAmplitudeSum(const EvtAmplitudeSum<T>& other)
: EvtAmplitude<T>(other)
{
int i;
for(i=0;i<other.nTerms();i++) {
-
- EvtComplex c = other.c(i);
+
+ EvtComplex c = other.c(i);
_c.push_back(c);
EvtAmplitude<T>* amp = other.getTerm(i);
assert(amp);
EvtAmplitude<T>* amp1 = amp->clone();
assert(amp1);
_term.push_back(amp1);
}
}
-
+
virtual ~EvtAmplitudeSum()
{
for(size_t i=0;i<_term.size();i++) {
-
+
delete _term[i];
}
- }
-
- virtual EvtAmplitude<T>* clone() const
+ }
+
+ EvtAmplitudeSum<T>* clone() const override
{
return new EvtAmplitudeSum<T>(*this);
}
-
-
+
+
void addTerm(EvtComplex c,const EvtAmplitude<T>& amp)
{
_c.push_back(c);
_term.push_back(amp.clone());
}
-
- void addOwnedTerm(EvtComplex c, EvtAmplitude<T>* amp)
+
+ void addOwnedTerm(EvtComplex c, std::unique_ptr<EvtAmplitude<T>> amp)
{
assert(amp);
_c.push_back(c);
- _term.push_back(amp);
+ _term.push_back(amp.release());
}
-
+
int nTerms() const { return _term.size(); } // number of terms
void print() const {
int N = nTerms();
printf("Amplitude has %d terms\n",N);
int i;
for(i=0;i<N;i++) {
printf("c%d = (%f,%f)\n",i,real(_c[i]),imag(_c[i]));
assert(_term[i]);
}
}
inline EvtComplex c(int i) const { return _c[i]; }
inline EvtAmplitude<T>* getTerm(int i) const { return _term[i]; }
protected:
- virtual EvtComplex amplitude(const T& p) const
+ EvtComplex amplitude(const T& p) const override
{
- if(_term.size() == 0)
+ if(_term.size() == 0)
printf("Warning: amplitude sum has zero terms\n");
-
+
EvtComplex value = 0.;
- for(size_t i=0;i<_term.size();i++) {
- value+=_c[i]*_term[i]->evaluate(p);
- }
+ for(size_t i=0;i<_term.size();i++) {
+ value+=_c[i]*_term[i]->evaluate(p);
+ }
return value;
}
private:
-
+
std::vector<EvtComplex> _c; // coefficients
std::vector<EvtAmplitude<T>*> _term; // pointers to amplitudes
-};
+};
#endif
diff --git a/EvtGenBase/EvtBlattWeisskopf.hh b/EvtGenBase/EvtBlattWeisskopf.hh
index e3faaa9..4acf510 100644
--- a/EvtGenBase/EvtBlattWeisskopf.hh
+++ b/EvtGenBase/EvtBlattWeisskopf.hh
@@ -1,40 +1,39 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtBlattWeisskopf.hh,v 1.2 2009-03-16 16:43:40 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Blatt-Weisskopf penetration form factor for a resonance R->AB.
// Taken from CLEO preprint 00-23 (hep-ex/0011065)
#ifndef EVT_BLATT_WEISSKOPF_HH
#define EVT_BLATT_WEISSKOPF_HH
class EvtBlattWeisskopf {
public:
EvtBlattWeisskopf(int LL, double R, double p0);
EvtBlattWeisskopf(const EvtBlattWeisskopf&);
- ~EvtBlattWeisskopf();
double operator()(double p) const;
private:
int _LL; // angular momentum of daughters
double _radial; // resonance radial parameter
double _p0;
double _F0; // formula evaluated at _p0
double compute(double p) const;
};
#endif
diff --git a/EvtGenBase/EvtBreitWignerPdf.hh b/EvtGenBase/EvtBreitWignerPdf.hh
index db1da7c..eee324d 100644
--- a/EvtGenBase/EvtBreitWignerPdf.hh
+++ b/EvtGenBase/EvtBreitWignerPdf.hh
@@ -1,48 +1,47 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtBreitWignerPdf.hh,v 1.2 2009-03-16 16:43:40 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Breit-Wigner PDF
#ifndef EVT_BREIT_WIGNER_PDF_HH
#define EVT_BREIT_WIGNER_PDF_HH
#include "EvtGenBase/EvtIntegPdf1D.hh"
class EvtBreitWignerPdf : public EvtIntegPdf1D {
-
+
public:
-
+
EvtBreitWignerPdf(double min, double max, double m0, double g0);
EvtBreitWignerPdf(const EvtBreitWignerPdf& other);
- virtual ~EvtBreitWignerPdf();
-
- double pdf(const EvtPoint1D& x) const;
- EvtPdf<EvtPoint1D>* clone() const
+
+ double pdf(const EvtPoint1D& x) const override;
+ EvtPdf<EvtPoint1D>* clone() const override
{
return new EvtBreitWignerPdf(*this);
}
- double pdfIntegral(double m) const;
- double pdfIntegralInverse(double x) const;
+ double pdfIntegral(double m) const override;
+ double pdfIntegralInverse(double x) const override;
// accessors
inline double m0() const { return _m0; }
inline double g0() const { return _g0; }
private:
double _m0;
double _g0;
-
+
};
#endif
diff --git a/EvtGenBase/EvtCGCoefSingle.hh b/EvtGenBase/EvtCGCoefSingle.hh
index 1c108b7..78afa47 100644
--- a/EvtGenBase/EvtCGCoefSingle.hh
+++ b/EvtGenBase/EvtCGCoefSingle.hh
@@ -1,54 +1,53 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtGen/EvtCGCoefSingle.hh
//
// Description:Evaluation of Clebsch-Gordon coef for a fixed j1 and j2.
//
// Modification history:
//
// RYD August 12, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTCGCOEFSINGLE_HH
#define EVTCGCOEFSINGLE_HH
#include <vector>
-class EvtCGCoefSingle{
+class EvtCGCoefSingle final{
public:
EvtCGCoefSingle(int j1, int j2) {init(j1,j2);}
- ~EvtCGCoefSingle();
double coef(int J,int M,int j1,int j2,int m1,int m2);
-
+
private:
void init(int j1,int j2);
double& cg(int J,int M, int m1, int m2);
int _j1;
int _j2;
int _Jmax;
int _Jmin;
std::vector<std::vector<std::vector<double> > > _table;
};
#endif
diff --git a/EvtGenBase/EvtDalitzCoord.hh b/EvtGenBase/EvtDalitzCoord.hh
index 81a47d4..c132502 100644
--- a/EvtGenBase/EvtDalitzCoord.hh
+++ b/EvtGenBase/EvtDalitzCoord.hh
@@ -1,63 +1,62 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzCoord.hh,v 1.2 2009-03-16 16:43:40 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Two dimensional coordinate of a point in a Dalitz plot
#ifndef EVT_DALITZ_COORD_HH
#define EVT_DALITZ_COORD_HH
#include "EvtGenBase/EvtCyclic3.hh"
#include <iostream>
-class EvtDalitzCoord {
-
-
+class EvtDalitzCoord final {
+
+
public:
-
+
// ctor, dtor
- EvtDalitzCoord();
+ EvtDalitzCoord();
EvtDalitzCoord(EvtCyclic3::Pair i1, double q1, EvtCyclic3::Pair i2, double q2);
- EvtDalitzCoord(const EvtDalitzCoord& other);
- ~EvtDalitzCoord();
+ EvtDalitzCoord(const EvtDalitzCoord& other);
inline EvtCyclic3::Pair pair1() const { return _i1; }
inline EvtCyclic3::Pair pair2() const { return _i2; }
inline double q1() const { return _q1; }
inline double q2() const { return _q2; }
// It's nice to have an equality operator for
// a coordinate. However, beware effects of numerical precision
-
+
bool operator==(const EvtDalitzCoord&) const;
void print(std::ostream&) const;
private:
// Two coordinates define the point
EvtCyclic3::Pair _i1;
EvtCyclic3::Pair _i2;
double _q1;
double _q2;
-};
+};
std::ostream& operator<<(std::ostream&,const EvtDalitzCoord&);
#endif
diff --git a/EvtGenBase/EvtDalitzFlatPdf.hh b/EvtGenBase/EvtDalitzFlatPdf.hh
index 64451bc..e844527 100644
--- a/EvtGenBase/EvtDalitzFlatPdf.hh
+++ b/EvtGenBase/EvtDalitzFlatPdf.hh
@@ -1,40 +1,40 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzFlatPdf.hh,v 1.2 2009-03-16 16:43:40 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
/*
* Uniform PDF defined on a Dalitz plot.
*/
#ifndef EVT_DALITZ_FLAT_PDF_HH
#define EVT_DALITZ_FLAT_PDF_HH
#include <assert.h>
#include "EvtGenBase/EvtPdf.hh"
#include "EvtGenBase/EvtDalitzPlot.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
class EvtDalitzFlatPdf : public EvtPdf<EvtDalitzPoint> {
public:
-
+
EvtDalitzFlatPdf(const EvtDalitzPlot& dp);
EvtDalitzFlatPdf(const EvtDalitzFlatPdf& other);
- virtual ~EvtDalitzFlatPdf();
- virtual EvtPdf<EvtDalitzPoint>* clone() const;
-
- virtual EvtValError compute_integral(int N) const;
- virtual EvtDalitzPoint randomPoint();
-
+ EvtPdf<EvtDalitzPoint>* clone() const override;
+
+ using EvtPdf<EvtDalitzPoint>::compute_integral;
+ EvtValError compute_integral(int N) const override;
+ EvtDalitzPoint randomPoint() override;
+
protected:
- virtual double pdf(const EvtDalitzPoint&) const;
+ double pdf(const EvtDalitzPoint&) const override;
EvtDalitzPlot _dp;
};
#endif
diff --git a/EvtGenBase/EvtDalitzPlot.hh b/EvtGenBase/EvtDalitzPlot.hh
index 3fdf968..c05adfe 100644
--- a/EvtGenBase/EvtDalitzPlot.hh
+++ b/EvtGenBase/EvtDalitzPlot.hh
@@ -1,121 +1,119 @@
//-----------------------------------------------------------------------
// File and Version Information:
// $Id: EvtDalitzPlot.hh,v 1.2 2009-03-16 16:44:53 robbep Exp $
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
#ifndef EVT_DALITZ_PLOT_HH
#define EVT_DALITZ_PLOT_HH
#include <assert.h>
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtDecayMode.hh"
class EvtDalitzPlot {
public:
EvtDalitzPlot();
EvtDalitzPlot(double mA, double mB, double mC, double bigM, double ldel = 0., double rdel = 0.);
EvtDalitzPlot(const EvtDecayMode& mode, double ldel = 0., double rdel = 0.);
- EvtDalitzPlot(const EvtDalitzPlot& other);
- ~EvtDalitzPlot();
bool operator==(const EvtDalitzPlot& other) const;
const EvtDalitzPlot* clone() const;
// Absolute limits for masses squared in the Dalitz plot
// e.g. qAbsMin(0) is the lowest possible value
// for m2 of particles {12}
double qAbsMin(EvtCyclic3::Pair i) const;
double qAbsMax(EvtCyclic3::Pair i) const;
double mAbsMin(EvtCyclic3::Pair i) const;
double mAbsMax(EvtCyclic3::Pair i) const;
// Absolute limits for Zemach coordinate qres and qhel (approximate)
// qHelAbsMin(BC,CA) means absolute minimum for (qCA-qAB)/2.
double qResAbsMin(EvtCyclic3::Pair i) const;
double qResAbsMax(EvtCyclic3::Pair i) const;
double qHelAbsMin(EvtCyclic3::Pair i) const;
double qHelAbsMax(EvtCyclic3::Pair i) const;
inline double qSumMin() const { return sum() + _ldel; }
inline double qSumMax() const { return sum() + _rdel; }
inline bool fuzzy() const { return (_rdel - _ldel != 0.); }
// Find the area of the Dalitz plot by numeric integration. (N bins for variable q(i) are used).
// Very large numbers of N can result in a very long calculation. It should not
// matter which two pairs f variables are used. The integral should eventually
// converge to the same number
double getArea(int N = 1000, EvtCyclic3::Pair i = EvtCyclic3::AB, EvtCyclic3::Pair j = EvtCyclic3::BC) const;
// Limits for masses squared when one mass squared is known
double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const;
double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j, double q) const;
// Coordinate transformations
double cosTh(EvtCyclic3::Pair i1, double q1, EvtCyclic3::Pair i2, double q2) const;
double e(EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const;
double p(EvtCyclic3::Index i, EvtCyclic3::Pair j, double q) const;
double q(EvtCyclic3::Pair i1, double cosTh, EvtCyclic3::Pair i2, double q2) const;
// |J| of transformation of qi to cosTh in the rest-frame of j
double jacobian(EvtCyclic3::Pair i, double q) const;
// Given resonance index and mass returns decay
// and birth vertices
EvtTwoBodyVertex vD(EvtCyclic3::Pair iRes, double m0, int L) const;
EvtTwoBodyVertex vB(EvtCyclic3::Pair iRes, double m0, int L) const;
// Accessors
double sum() const;
inline double bigM() const { return _bigM; }
inline double mA() const { return _mA; }
inline double mB() const { return _mB; }
inline double mC() const { return _mC; }
double m(EvtCyclic3::Index i) const;
void print() const;
void sanityCheck() const;
protected:
// Defines two dimensional dalitz plot
double _mA;
double _mB;
double _mC;
double _bigM;
// Defines third dimension, or fuzziness. M^2 + ldel < M^2 < M^2 + rdel
double _ldel;
double _rdel;
};
#endif
diff --git a/EvtGenBase/EvtDalitzPoint.hh b/EvtGenBase/EvtDalitzPoint.hh
index 7b83ddc..2a07b7d 100644
--- a/EvtGenBase/EvtDalitzPoint.hh
+++ b/EvtGenBase/EvtDalitzPoint.hh
@@ -1,76 +1,74 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzPoint.hh,v 1.2 2009-03-16 16:44:53 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// This class describes the complete kinematics of the Dalitz decay.
// It holds all the six invariant momentum products, three daughter
// particle masses and three invariant masses of pairs of particles.
-// This description is completely symmetric with respect to particle
+// This description is completely symmetric with respect to particle
// permutations.
//
-// Another way to slice the six coordinate is to make a transformation
-// to the mass of the decaying particle. The four masses make up a
+// Another way to slice the six coordinate is to make a transformation
+// to the mass of the decaying particle. The four masses make up a
// Dalitz plot. The other two are coordinates of a point in the plot.
#ifndef EVT_DALITZ_POINT_HH
#define EVT_DALITZ_POINT_HH
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtDalitzCoord.hh"
#include "EvtGenBase/EvtDalitzPlot.hh"
-class EvtDalitzPoint {
+class EvtDalitzPoint final {
public:
EvtDalitzPoint();
- EvtDalitzPoint(double mA, double mB, double mC,
+ EvtDalitzPoint(double mA, double mB, double mC,
double qAB, double qBC, double qCA);
- EvtDalitzPoint(double mA, double mB, double mC,
+ EvtDalitzPoint(double mA, double mB, double mC,
EvtCyclic3::Pair i, double qres, double qhel, double qsum);
EvtDalitzPoint(const EvtDalitzPlot&, const EvtDalitzCoord&);
- EvtDalitzPoint(const EvtDalitzPoint& other);
- ~EvtDalitzPoint();
EvtDalitzCoord getDalitzPoint(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
EvtDalitzPlot getDalitzPlot() const;
double q(EvtCyclic3::Pair) const;
double bigM() const;
double m(EvtCyclic3::Index) const;
// Zemach variables
double qres(EvtCyclic3::Pair i) const;
double qhel(EvtCyclic3::Pair i) const;
double qsum() const;
// Kinematic quantities
//
// pp - 4 momentum product
// e,p,cosTh - energy/moementum in rest-frame of j
double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
- double pp(EvtCyclic3::Index i, EvtCyclic3::Index j) const;
+ double pp(EvtCyclic3::Index i, EvtCyclic3::Index j) const;
double e(EvtCyclic3::Index i, EvtCyclic3::Pair j) const;
double p(EvtCyclic3::Index i, EvtCyclic3::Pair j) const;
double cosTh(EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes) const;
bool isValid() const;
void print() const;
private:
double _mA, _mB, _mC; // masses
double _qAB, _qBC, _qCA; // masses squared
};
#endif
diff --git a/EvtGenBase/EvtDalitzResPdf.hh b/EvtGenBase/EvtDalitzResPdf.hh
index 20edeea..a109198 100644
--- a/EvtGenBase/EvtDalitzResPdf.hh
+++ b/EvtGenBase/EvtDalitzResPdf.hh
@@ -1,59 +1,57 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzResPdf.hh,v 1.2 2009-03-16 16:42:46 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
/*
* Pole compensating function for terms that exibit a resonant structure
- * in one dimension only.
- *
+ * in one dimension only.
+ *
* f = 1 g*m0
* -- ------------------
* pi (q-q0)^2 + g^2m0^2
*
* m is the mass of the resonance, g is its width. The approximation works well for a narrow
* resonance. It is also readily integrable over the Dalitz plot coordinate to produce
- *
+ *
* Int = 1/pi atan((q-q0)/(g*m0))
*/
#ifndef EVT_DALITZ_RES_PDF_HH
#define EVT_DALITZ_RES_PDF_HH
#include "EvtGenBase/EvtPdf.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
#include "EvtGenBase/EvtCyclic3.hh"
class EvtDalitzResPdf : public EvtPdf<EvtDalitzPoint> {
public:
EvtDalitzResPdf(const EvtDalitzPlot& dp,double m0, double g0, EvtCyclic3::Pair pairRes);
- EvtDalitzResPdf(const EvtDalitzResPdf& other);
- virtual ~EvtDalitzResPdf();
-
-
- EvtPdf<EvtDalitzPoint>* clone() const { return new EvtDalitzResPdf(*this); }
-
- virtual EvtValError compute_integral(int N) const;
- virtual EvtDalitzPoint randomPoint();
+
+ EvtPdf<EvtDalitzPoint>* clone() const override { return new EvtDalitzResPdf(*this); }
+
+ using EvtPdf<EvtDalitzPoint>::compute_integral;
+ EvtValError compute_integral(int N) const override;
+ EvtDalitzPoint randomPoint() override;
double pdfMaxValue() const;
protected:
- virtual double pdf(const EvtDalitzPoint&) const;
+ double pdf(const EvtDalitzPoint&) const override;
private:
EvtDalitzPlot _dp;
double _m0; // mass
double _g0; // width
EvtCyclic3::Pair _pair; // resonant pair
};
#endif
diff --git a/EvtGenBase/EvtDalitzReso.hh b/EvtGenBase/EvtDalitzReso.hh
index 43bf5b1..e748b94 100644
--- a/EvtGenBase/EvtDalitzReso.hh
+++ b/EvtGenBase/EvtDalitzReso.hh
@@ -1,175 +1,173 @@
/*****************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzReso.hh,v 1.1 2009-03-16 16:50:49 robbep Exp $
*
* Description:
* Class to compute Dalitz amplitudes based on many models that cannot be
* handled with EvtResonance.
*
* Modification history:
* Jordi Garra Ticó 2008/07/03 File created
*****************************************************************************/
#ifndef __EVTDALITZRESO_HH__
#define __EVTDALITZRESO_HH__
#include <string>
#include <vector>
#include <map>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtBlattWeisskopf.hh"
#include "EvtGenBase/EvtFlatte.hh"
using std::vector;
using std::map;
class EvtBlattWeisskopf;
-class EvtDalitzReso
+class EvtDalitzReso final
{
public:
// Numerator type
enum NumType { NBW = 0 , RBW_ZEMACH = 1 , RBW_KUEHN = 2 , RBW_CLEO = 3 ,
RBW_ZEMACH2 = 4 , GS_CLEO = 5 , K_MATRIX = 6 , RBW_CLEO_ZEMACH = 7 ,
GS_CLEO_ZEMACH = 8 , LASS = 9 , K_MATRIX_I = 10, K_MATRIX_II = 11,
GAUSS_CLEO = 12, GAUSS_CLEO_ZEMACH = 13, FLATTE = 14, NON_RES = 15,
NON_RES_LIN = 16, NON_RES_EXP = 17 };
// Coupling type
// ChgPion : pi+ pi-
// NeuPion : pi0 pi0
// Pion : 0.5*[(pi+ pi-) + (pi0 pi0)]
// ChgKaon : K+ K-
// NeuKaon : K0 K0
// Kaon : 0.5*[(K+ K-) + (K0 K0)]
// EtaPion : eta pi0
enum CouplingType {Undefined=0,PicPic=1,PizPiz,PiPi,KcKc,KzKz,KK,EtaPic,EtaPiz,PicPicKK,WA76};
EvtDalitzReso() : _typeN(NON_RES) {};
EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, NumType typeN, double alpha=0.0) : _dp(dp), _pairRes(pairRes), _typeN(typeN), _alpha(alpha) {};
- EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
+ EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
EvtSpinType::spintype spin, double m0, double g0, NumType typeN, double f_b=0.0, double f_d=1.5);
- EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
+ EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
EvtSpinType::spintype spin, double m0, double g0, NumType typeN,
double m0_mix, double g0_mix, double delta_mix, EvtComplex amp_mix);
- EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
+ EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
EvtSpinType::spintype spin, double m0, NumType typeN, double g1, double g2, CouplingType coupling2);
// K-matrix
EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, std::string nameIndex, NumType typeN,
EvtComplex fr12prod, EvtComplex fr13prod, EvtComplex fr14prod, EvtComplex fr15prod, double s0prod);
// LASS
EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, double m0, double g0,
double a, double r, double B, double phiB, double R, double phiR, double cutoff=-1, bool scaleByMOverQ=false);
//Flatte
EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, double m0);
EvtDalitzReso(const EvtDalitzReso& other);
- ~EvtDalitzReso();
-
EvtDalitzReso* clone() const { return new EvtDalitzReso(*this); }
EvtComplex evaluate(const EvtDalitzPoint& p);
void set_fd( double R ) { _vd.set_f( R ); }
void set_fb( double R ) { _vb.set_f( R ); }
void addFlatteParam(const EvtFlatteParam& param) { _flatteParams.push_back(param); }
private:
EvtComplex psFactor(double& ma, double& mb, double& m);
EvtComplex psFactor(double& ma1, double& mb1, double& ma2, double& mb2, double& m);
EvtComplex propGauss(const double& m0, const double& s0, const double& m);
- EvtComplex propBreitWigner(const double& m0, const double& g0, const double& m);
+ EvtComplex propBreitWigner(const double& m0, const double& g0, const double& m);
EvtComplex propBreitWignerRel(const double& m0, const double& g0, const double& m);
EvtComplex propBreitWignerRel(const double& m0, const EvtComplex& g0, const double& m);
- EvtComplex propBreitWignerRelCoupled(const double& m0, const EvtComplex& g1, const EvtComplex& g2, const double& m);
- EvtComplex propGounarisSakurai(const double& m0, const double& g0, const double& k0,
+ EvtComplex propBreitWignerRelCoupled(const double& m0, const EvtComplex& g1, const EvtComplex& g2, const double& m);
+ EvtComplex propGounarisSakurai(const double& m0, const double& g0, const double& k0,
const double& m, const double& g, const double& k);
inline double GS_f(const double& m0, const double& g0, const double& k0, const double& m, const double& k);
inline double GS_h(const double& m, const double& k);
- inline double GS_dhods(const double& m0, const double& k0);
- inline double GS_d(const double& m0, const double& k0);
+ inline double GS_dhods(const double& m0, const double& k0);
+ inline double GS_d(const double& m0, const double& k0);
EvtComplex numerator(const EvtDalitzPoint& p, const EvtTwoBodyKine& vb, const EvtTwoBodyKine& vd);
double angDep(const EvtDalitzPoint& p);
EvtComplex mixFactor(EvtComplex prop, EvtComplex prop_mix);
EvtComplex Fvector( double s, int index );
EvtComplex lass(double s);
EvtComplex flatte(const double& m);
inline EvtComplex sqrtCplx(double in) { return (in > 0) ? EvtComplex(sqrt(in), 0) : EvtComplex(0, sqrt(-in)); }
// Dalitz plot
- EvtDalitzPlot _dp;
+ EvtDalitzPlot _dp;
// Pairing indices:
- EvtCyclic3::Pair _pairAng; // angular
+ EvtCyclic3::Pair _pairAng; // angular
EvtCyclic3::Pair _pairRes; // resonance
// Spin
- EvtSpinType::spintype _spin;
+ EvtSpinType::spintype _spin;
// Numerator type
NumType _typeN;
// Nominal mass and width
- double _m0,_g0;
+ double _m0,_g0;
// Vertices
EvtTwoBodyVertex _vb;
EvtTwoBodyVertex _vd;
// Daughter masses
double _massFirst,_massSecond;
- // variables for electromagnetic mass mixing
+ // variables for electromagnetic mass mixing
double _m0_mix,_g0_mix,_delta_mix;
- EvtComplex _amp_mix;
+ EvtComplex _amp_mix;
// variables for coupled Breit-Wigner
double _g1,_g2;
CouplingType _coupling2;
// variables for Blatt-Weisskopf form factors
double _f_b, _f_d;
- // K-matrix
+ // K-matrix
int _kmatrix_index;
EvtComplex _fr12prod,_fr13prod,_fr14prod,_fr15prod;
double _s0prod;
// LASS
double _a;
double _r;
double _Blass;
double _phiB;
double _R;
double _phiR;
double _cutoff;
bool _scaleByMOverQ;
//Nonresonant
double _alpha;
// Flatte
std::vector<EvtFlatteParam> _flatteParams;
};
#endif
diff --git a/EvtGenBase/EvtDecayAmp.hh b/EvtGenBase/EvtDecayAmp.hh
index 2237f3a..391263d 100644
--- a/EvtGenBase/EvtDecayAmp.hh
+++ b/EvtGenBase/EvtDecayAmp.hh
@@ -1,85 +1,85 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtDecayAmp.hh
//
// Description: Baseclass for models that calculates amplitudes
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTDECAYAMP_HH
#define EVTDECAYAMP_HH
#include "EvtGenBase/EvtDecayBase.hh"
#include "EvtGenBase/EvtAmp.hh"
class EvtDecayAmp : public EvtDecayBase{
public:
- void makeDecay(EvtParticle* p, bool recursive=true);
+ void makeDecay(EvtParticle* p, bool recursive=true) override;
inline void setWeight(double weight) {_weight=weight;}
/**
* sets the amplitudes calculated in the decay objects
*/
void vertex(const EvtComplex& amp){_amp2.vertex(amp);}
/**
* sets the amplitudes calculated in the decay objects
*/
void vertex(int i1, const EvtComplex& amp){_amp2.vertex(i1,amp);}
/**
* sets the amplitudes calculated in the decay objects
*/
void vertex(int i1, int i2, const EvtComplex& amp)
{_amp2.vertex(i1,i2,amp);}
/**
* sets the amplitudes calculated in the decay objects
*/
void vertex(int i1, int i2, int i3, const EvtComplex& amp)
{_amp2.vertex(i1,i2,i3,amp);}
/**
* sets the amplitudes calculated in the decay objects
*/
void vertex(int *i1, const EvtComplex& amp)
{ _amp2.vertex(i1,amp);}
/**
* Provide access to the amplitude
*/
- const EvtAmp & amplitude() const
+ const EvtAmp & amplitude() const
{ return _amp2;}
virtual ~EvtDecayAmp() {}
protected:
EvtAmp _amp2;
private:
double _weight;
};
#endif
diff --git a/EvtGenBase/EvtDecayBase.hh b/EvtGenBase/EvtDecayBase.hh
index 53ef05f..26c656c 100644
--- a/EvtGenBase/EvtDecayBase.hh
+++ b/EvtGenBase/EvtDecayBase.hh
@@ -1,153 +1,153 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtDecayBase.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTDECAYBASE_HH
#define EVTDECAYBASE_HH
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtSpinType.hh"
#include <stdlib.h>
#include <vector>
class EvtParticle;
class EvtSpinType;
class EvtDecayBase{
public:
//These pure virtual methods has to be implemented
//by any derived class
virtual std::string getName()=0;
virtual void decay(EvtParticle *p)=0;
virtual void makeDecay(EvtParticle *p,bool recursive=true)=0;
virtual EvtDecayBase* clone()=0;
- //These virtual methods can be implemented by the
+ //These virtual methods can be implemented by the
//derived class to implement nontrivial functionality.
virtual void init();
virtual void initProbMax();
virtual std::string commandName();
virtual void command(std::string cmd);
virtual std::string getParamName(int i);
virtual std::string getParamDefault(int i);
double getProbMax( double prob );
double resetProbMax( double prob );
EvtDecayBase();
- virtual ~EvtDecayBase();
+ virtual ~EvtDecayBase() = default;
virtual bool matchingDecay(const EvtDecayBase &other) const;
EvtId getParentId() const {return _parent;}
double getBranchingFraction() const {return _brfr;}
void disableCheckQ() {_chkCharge=0;};
void checkQ();
int getNDaug() const {return _ndaug;}
- EvtId* getDaugs() {return _daug;}
+ EvtId* getDaugs() {return _daug.data();}
EvtId getDaug(int i) const {return _daug[i];}
int getNArg() const {return _narg;}
int getPHOTOS() const {return _photos;}
void setPHOTOS() {_photos=1;}
void setVerbose() {_verbose=1;}
void setSummary() {_summary=1;}
double* getArgs();
- std::string* getArgsStr() {return _args;}
- double getArg(unsigned int j) ;
+ std::string* getArgsStr() {return _args.data();}
+ double getArg(unsigned int j) ;
double getStoredArg(int j) const {return _storedArgs.at(j);}
double getNStoredArg() const {return _storedArgs.size();}
std::string getArgStr(int j) const {return _args[j];}
std::string getModelName() const {return _modelname; }
int getDSum() const {return _dsum; }
int summary() const {return _summary; }
int verbose() const {return _verbose; }
void saveDecayInfo(EvtId ipar, int ndaug,EvtId *daug,
- int narg, std::vector<std::string>& args,
+ int narg, std::vector<std::string>& args,
std::string name, double brfr);
void printSummary() const ;
void printInfo() const ;
-
+
//Does not really belong here but I don't have a better place.
- static void findMasses(EvtParticle *p, int ndaugs,
+ static void findMasses(EvtParticle *p, int ndaugs,
EvtId daugs[10], double masses[10]);
static void findMass(EvtParticle *p);
static double findMaxMass(EvtParticle *p);
//Methods to set the maximum probability.
void setProbMax(double prbmx);
void noProbMax();
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1);
void checkNDaug(int d1, int d2=-1);
void checkSpinParent(EvtSpinType::spintype sp);
void checkSpinDaughter(int d1, EvtSpinType::spintype sp);
// lange - some models can take more daughters
// than they really have to fool aliases (VSSBMIX for example)
virtual int nRealDaughters() { return _ndaug;}
protected:
bool _daugsDecayedByParentModel;
bool daugsDecayedByParentModel() {return _daugsDecayedByParentModel;}
private:
int _photos;
int _ndaug;
EvtId _parent;
int _narg;
std::vector<double> _storedArgs;
- EvtId *_daug;
- double *_argsD;
- std::string *_args;
+ std::vector<EvtId> _daug;
+ std::vector<double> _argsD;
+ std::vector<std::string> _args;
std::string _modelname;
double _brfr;
int _dsum;
int _summary;
int _verbose;
int defaultprobmax;
double probmax;
int ntimes_prob;
- //Should charge conservation be checked when model is
+ //Should charge conservation be checked when model is
//created? 1=yes 0 no.
int _chkCharge;
//These are used for gathering statistics.
double sum_prob;
double max_prob;
};
#endif
diff --git a/EvtGenBase/EvtDecayIncoherent.hh b/EvtGenBase/EvtDecayIncoherent.hh
index 65a6fa8..a7be475 100644
--- a/EvtGenBase/EvtDecayIncoherent.hh
+++ b/EvtGenBase/EvtDecayIncoherent.hh
@@ -1,57 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtDecayIncoherent.hh
//
// Description: Base class for models that calculate
// decay kinematics and do not do any accept/reject.
// Useful e.g. for interface to other generators
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EvtDecayIncoherent_HH
#define EvtDecayIncoherent_HH
#include "EvtGenBase/EvtDecayBase.hh"
#include "EvtGenBase/EvtParticle.hh"
class EvtDecayIncoherent : public EvtDecayBase{
public:
- void makeDecay(EvtParticle* p, bool recursive=true);
+ void makeDecay(EvtParticle* p, bool recursive=true) override;
virtual ~EvtDecayIncoherent() {}
void setDaughterSpinDensity(int daughter)
{ spinDensitySet[daughter]=1; return;}
- int isDaughterSpinDensitySet(int daughter)
+ int isDaughterSpinDensitySet(int daughter)
{return spinDensitySet[daughter];}
private:
int spinDensitySet[MAX_DAUG];
};
#endif
diff --git a/EvtGenBase/EvtDecayMode.hh b/EvtGenBase/EvtDecayMode.hh
index e3da1c7..7bc01be 100644
--- a/EvtGenBase/EvtDecayMode.hh
+++ b/EvtGenBase/EvtDecayMode.hh
@@ -1,59 +1,58 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtDecayMode.hh,v 1.2 2009-03-16 16:44:33 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
#ifndef EVT_DECAY_MODE_HH
#define EVT_DECAY_MODE_HH
#include <string>
#include <vector>
#include "EvtGenBase/EvtCyclic3.hh"
#include <iosfwd>
-class EvtDecayMode {
+class EvtDecayMode final {
public:
EvtDecayMode(const char* decay);
EvtDecayMode(const EvtDecayMode& other);
EvtDecayMode(std::string mother,std::vector<std::string> dau);
- ~EvtDecayMode();
const char* mother() const;
int nD() const;
- const char* dau(int i) const;
+ const char* dau(int i) const;
std::ostream& print(std::ostream&) const;
// Frequent name combinations
std::string m(EvtCyclic3::Pair i) const;
std::string q(EvtCyclic3::Pair i) const;
std::string dal(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
std::string mode() const;
private:
std::string _mother;
std::vector<std::string> _dau;
};
std::ostream& operator<<(std::ostream&,const EvtDecayMode&);
#endif
diff --git a/EvtGenBase/EvtDecayProb.hh b/EvtGenBase/EvtDecayProb.hh
index b9ecea4..abd309a 100644
--- a/EvtGenBase/EvtDecayProb.hh
+++ b/EvtGenBase/EvtDecayProb.hh
@@ -1,54 +1,54 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtDecayProb.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EvtDecayProb_HH
#define EvtDecayProb_HH
#include "EvtGenBase/EvtDecayBase.hh"
class EvtParticle;
class EvtDecayProb : public EvtDecayBase{
public:
- void makeDecay(EvtParticle* p, bool recursive=true);
+ void makeDecay(EvtParticle* p, bool recursive=true) override;
void setProb(double prob) { _prob=prob;}
double getProb() { return _prob;}
inline void setWeight(double weight) {_weight=weight;}
virtual ~EvtDecayProb() {}
private:
double _prob;
double _weight;
-
+
};
#endif
diff --git a/EvtGenBase/EvtDiracParticle.hh b/EvtGenBase/EvtDiracParticle.hh
index fea843d..da52db9 100644
--- a/EvtGenBase/EvtDiracParticle.hh
+++ b/EvtGenBase/EvtDiracParticle.hh
@@ -1,57 +1,56 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtDiracParticle.hh
//
// Description:EvtDiracParticle particles i.e. spin 1/2 particles.
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTDIRACPARTICLE_HH
#define EVTDIRACPARTICLE_HH
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtParticle.hh"
class EvtId;
class EvtVector4R;
class EvtDiracParticle:public EvtParticle {
public:
-
- EvtDiracParticle();
- virtual ~EvtDiracParticle();
- void init(EvtId part_n,const EvtVector4R& p4);
+
+ EvtDiracParticle() = default;
+ void init(EvtId part_n,const EvtVector4R& p4) override;
void init(EvtId part_n,const EvtVector4R& p4,
const EvtDiracSpinor &,const EvtDiracSpinor &,
const EvtDiracSpinor &,const EvtDiracSpinor &);
- EvtDiracSpinor spParent(int i) const {return _spinorParent[i];}
- EvtDiracSpinor sp(int i) const {return _spinorRest[i];}
- EvtSpinDensity rotateToHelicityBasis() const;
+ EvtDiracSpinor spParent(int i) const override {return _spinorParent[i];}
+ EvtDiracSpinor sp(int i) const override {return _spinorRest[i];}
+ EvtSpinDensity rotateToHelicityBasis() const override;
EvtSpinDensity rotateToHelicityBasis(double alpha,
double beta,
- double gamma) const;
+ double gamma) const override;
private:
EvtDiracSpinor _spinorRest[2];
EvtDiracSpinor _spinorParent[2];
EvtDiracParticle(const EvtDiracParticle& d);
EvtDiracParticle& operator=(const EvtDiracParticle& d);
};
#endif
diff --git a/EvtGenBase/EvtDiracSpinor.hh b/EvtGenBase/EvtDiracSpinor.hh
index 251732e..2f38774 100644
--- a/EvtGenBase/EvtDiracSpinor.hh
+++ b/EvtGenBase/EvtDiracSpinor.hh
@@ -1,156 +1,155 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtDiracSpinor.hh
//
// Description:Class to manipulate dirac spinors
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTDIRACSPINOR_HH
#define EVTDIRACSPINOR_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtVector3R.hh"
class EvtTensor4C;
class EvtVector4C;
class EvtDiracSpinor ;
-class EvtDiracSpinor {
+class EvtDiracSpinor final {
friend EvtDiracSpinor rotateEuler(const EvtDiracSpinor& sp,
double alpha,double beta,double gamma);
friend EvtDiracSpinor boostTo(const EvtDiracSpinor& sp,
const EvtVector4R p4);
friend EvtDiracSpinor boostTo(const EvtDiracSpinor& sp,
- const EvtVector3R boost);
+ const EvtVector3R boost);
friend EvtVector4C EvtLeptonVACurrent
(const EvtDiracSpinor& d,const EvtDiracSpinor& dp);
- friend EvtVector4C EvtLeptonVCurrent
+ friend EvtVector4C EvtLeptonVCurrent
(const EvtDiracSpinor& d,const EvtDiracSpinor& dp);
- friend EvtVector4C EvtLeptonACurrent
+ friend EvtVector4C EvtLeptonACurrent
(const EvtDiracSpinor& d,const EvtDiracSpinor& dp);
- friend EvtComplex EvtLeptonSCurrent
+ friend EvtComplex EvtLeptonSCurrent
(const EvtDiracSpinor& d,const EvtDiracSpinor& dp);
- friend EvtComplex EvtLeptonPCurrent
+ friend EvtComplex EvtLeptonPCurrent
(const EvtDiracSpinor& d,const EvtDiracSpinor& dp);
- friend EvtTensor4C EvtLeptonTCurrent
+ friend EvtTensor4C EvtLeptonTCurrent
(const EvtDiracSpinor& d,const EvtDiracSpinor& dp);
friend EvtDiracSpinor operator+(const EvtDiracSpinor& u1,
- const EvtDiracSpinor& u2);
+ const EvtDiracSpinor& u2);
friend EvtDiracSpinor operator-(const EvtDiracSpinor& u1,
- const EvtDiracSpinor& u2);
+ const EvtDiracSpinor& u2);
friend EvtDiracSpinor operator*(const EvtComplex& c,
const EvtDiracSpinor& d);
friend EvtComplex operator*(const EvtDiracSpinor& d ,
const EvtDiracSpinor& dp ) ;
-
- friend std::ostream& operator<<(std::ostream& s, const EvtDiracSpinor& c);
+
+ friend std::ostream& operator<<(std::ostream& s, const EvtDiracSpinor& c);
public:
inline EvtDiracSpinor();
EvtDiracSpinor(const EvtComplex& sp0,const EvtComplex& sp1,
const EvtComplex& sp2,const EvtComplex& sp3);
- virtual ~EvtDiracSpinor();
inline EvtDiracSpinor(const EvtDiracSpinor& dspinor);
inline EvtDiracSpinor& operator=(const EvtDiracSpinor& dspinor);
inline EvtDiracSpinor& operator+=(const EvtDiracSpinor& u2);
inline EvtDiracSpinor& operator-=(const EvtDiracSpinor& u2);
void set(const EvtComplex& sp0,const EvtComplex& sp1,
const EvtComplex& sp2,const EvtComplex& sp3);
void set_spinor(int i,const EvtComplex& sp);
- const EvtComplex& get_spinor(int i) const;
+ const EvtComplex& get_spinor(int i) const;
EvtDiracSpinor conj() const;
void applyRotateEuler(double alpha,double beta,double gamma);
void applyBoostTo(const EvtVector4R& p4);
void applyBoostTo(const EvtVector3R& boost);
EvtDiracSpinor adjoint() const;
-
+
private:
EvtComplex spinor[4];
};
EvtDiracSpinor::EvtDiracSpinor(){
spinor[0]=EvtComplex(); spinor[1]=EvtComplex();
spinor[2]=EvtComplex(); spinor[3]=EvtComplex();
}
EvtDiracSpinor::EvtDiracSpinor(const EvtDiracSpinor& dspinor){
spinor[0]=dspinor.spinor[0];
spinor[1]=dspinor.spinor[1];
spinor[2]=dspinor.spinor[2];
spinor[3]=dspinor.spinor[3];
}
EvtDiracSpinor& EvtDiracSpinor::operator=(const EvtDiracSpinor& dspinor){
spinor[0]=dspinor.spinor[0];
spinor[1]=dspinor.spinor[1];
spinor[2]=dspinor.spinor[2];
spinor[3]=dspinor.spinor[3];
return *this;
}
inline EvtDiracSpinor& EvtDiracSpinor::operator+=(const EvtDiracSpinor& u2){
spinor[0]+=u2.spinor[0];
spinor[1]+=u2.spinor[1];
spinor[2]+=u2.spinor[2];
spinor[3]+=u2.spinor[3];
-
- return *this;
+
+ return *this;
}
inline EvtDiracSpinor operator+(const EvtDiracSpinor& u1,
const EvtDiracSpinor& u2){
-
+
return EvtDiracSpinor(u1)+=u2;
}
inline EvtDiracSpinor& EvtDiracSpinor::operator-=(const EvtDiracSpinor& u2){
spinor[0]-=u2.spinor[0];
spinor[1]-=u2.spinor[1];
spinor[2]-=u2.spinor[2];
spinor[3]-=u2.spinor[3];
-
- return *this;
+
+ return *this;
}
inline EvtDiracSpinor operator-(const EvtDiracSpinor& u1,
const EvtDiracSpinor& u2){
-
+
return EvtDiracSpinor(u1)-=u2;
}
#endif
diff --git a/EvtGenBase/EvtFlatAmp.hh b/EvtGenBase/EvtFlatAmp.hh
index b2628fb..04747f4 100644
--- a/EvtGenBase/EvtFlatAmp.hh
+++ b/EvtGenBase/EvtFlatAmp.hh
@@ -1,29 +1,29 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtFlatAmp.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Flat amplitude
#ifndef EVT_FLAT_AMP_HH
#define EVT_FLAT_AMP_HH
#include "EvtGenBase/EvtAmplitude.hh"
template <class T>
-class EvtFlatAmp : public EvtAmplitude<T> {
+class EvtFlatAmp : public EvtAmplitude<T> {
public:
EvtFlatAmp() {}
EvtFlatAmp(const EvtFlatAmp<T>& other) : EvtAmplitude<T>(other) {}
virtual ~EvtFlatAmp() {}
- virtual EvtAmplitude<T>* clone() const { return new EvtFlatAmp<T>(*this); }
- virtual EvtComplex amplitude(const T& ) const { return EvtComplex(1.,0.); }
-};
+ EvtAmplitude<T>* clone() const override { return new EvtFlatAmp<T>(*this); }
+ EvtComplex amplitude(const T& ) const override { return EvtComplex(1.,0.); }
+};
#endif
diff --git a/EvtGenBase/EvtFlatLineShape.hh b/EvtGenBase/EvtFlatLineShape.hh
index 3fe79f3..9d9a62c 100644
--- a/EvtGenBase/EvtFlatLineShape.hh
+++ b/EvtGenBase/EvtFlatLineShape.hh
@@ -1,51 +1,48 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtAbsLineShape.hh
//
// Description: Class to keep the particle properties for
// one particle
//
// Modification history:
//
// Lange March 10, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTFLATLINESHAPE_HH
#define EVTFLATLINESHAPE_HH
#include "EvtGenBase/EvtAbsLineShape.hh"
class EvtFlatLineShape :public EvtAbsLineShape {
public:
- EvtFlatLineShape();
+ EvtFlatLineShape() = default;
EvtFlatLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp);
//figure the m1 and l on the fly
- // double mDaug1, double mDaug2, int l);
- ~EvtFlatLineShape();
+ // double mDaug1, double mDaug2, int l);
EvtFlatLineShape& operator=(const EvtFlatLineShape& x);
- EvtFlatLineShape(const EvtFlatLineShape& x);
+ EvtFlatLineShape(const EvtFlatLineShape& x);
- EvtAbsLineShape* clone();
+ EvtAbsLineShape* clone() override;
- double getMassProb(double mass, double massPar, int nDaug, double *massDau);
+ double getMassProb(double mass, double massPar, int nDaug, double *massDau) override;
// othDaugId is the other daughter of the parent in the case of a two body decay (only!)
// ie B->rho K rho->pipi, othDaugId = K
- double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId,double maxMass, double *dauMasses);
+ double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId,double maxMass, double *dauMasses) override;
-
-protected:
-};
+};
#endif
diff --git a/EvtGenBase/EvtFlatte.hh b/EvtGenBase/EvtFlatte.hh
index 0abc9dc..4cd9dcf 100644
--- a/EvtGenBase/EvtFlatte.hh
+++ b/EvtGenBase/EvtFlatte.hh
@@ -1,101 +1,98 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtFlatte.hh
//
// Description:resonance-defining class
//
// Modification history:
//
// ponyisi 18 Feb 2008 created
//
//------------------------------------------------------------------------
#ifndef EVTFLATTE_HH
#define EVTFLATTE_HH
#include "EvtGenBase/EvtVector4R.hh"
#include <vector>
using std::vector;
class EvtComplex;
// Helper class
class EvtFlatteParam {
public:
EvtFlatteParam(double m1, double m2, double g):
_m1(m1), _m2(m2), _g(g) {}
-
+
inline double m1() const { return _m1; }
inline double m2() const { return _m2; }
inline double g() const { return _g; }
private:
double _m1, _m2, _g;
};
//class declaration
-class EvtFlatte {
+class EvtFlatte final {
public:
//operator
EvtFlatte& operator = (const EvtFlatte &);
//constructor with all information about the resonance
- EvtFlatte(const EvtVector4R& p4_p, const EvtVector4R& p4_d1,
- const EvtVector4R& p4_d2,
+ EvtFlatte(const EvtVector4R& p4_p, const EvtVector4R& p4_d1,
+ const EvtVector4R& p4_d2,
double ampl, double theta,
- double mass,
+ double mass,
vector<EvtFlatteParam>& params
// double m1a = 0.0, double m1b = 0.0, double g1 = 0.0,
// double m2a = 0.0, double m2b = 0.0, double g2 = 0.0
);
- //destructor
- virtual ~EvtFlatte();
-
//accessors
//return 4-momenta of the particles involved
inline const EvtVector4R& p4_p() { return _p4_p; }
inline const EvtVector4R& p4_d1() { return _p4_d1; }
- inline const EvtVector4R& p4_d2() { return _p4_d2; }
-
+ inline const EvtVector4R& p4_d2() { return _p4_d2; }
+
//return amplitude
- inline double amplitude() { return _ampl; }
+ inline double amplitude() { return _ampl; }
//return theta
- inline double theta() { return _theta; }
+ inline double theta() { return _theta; }
//return bwm
- inline double mass() { return _mass; }
+ inline double mass() { return _mass; }
//functions
//calculate amplitude for this resonance
EvtComplex resAmpl();
-
+
private:
inline EvtComplex sqrtCplx(double in) { return (in > 0) ? EvtComplex(sqrt(in), 0) : EvtComplex
(0, sqrt(-in)); }
EvtVector4R _p4_p, _p4_d1, _p4_d2;
double _ampl, _theta, _mass;
vector<EvtFlatteParam> _params;
// double _m1a, _m1b, _g1;
// double _m2a, _m2b, _g2;
-};
+};
#endif
diff --git a/EvtGenBase/EvtGammaMatrix.hh b/EvtGenBase/EvtGammaMatrix.hh
index d0caebf..c12a150 100644
--- a/EvtGenBase/EvtGammaMatrix.hh
+++ b/EvtGenBase/EvtGammaMatrix.hh
@@ -1,108 +1,107 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtGammaMatrix.hh
//
// Description: Class to manipulate gamma matrices. The reperesentation
// used is the "standard" Dirac representation.
//
// Modification history:
//
// DJL/RYD September 25, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTGAMMAMATRIX_HH
#define EVTGAMMAMATRIX_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtDiracSpinor.hh" // needed for adjoint
//#include <iostream.h>
#include <iosfwd>
class EvtGammaMatrix;
class EvtVector4C;
namespace EvtGenFunctions {
// slash or Feynman slash a 4-vector
EvtGammaMatrix slash( const EvtVector4C& p ) ;
EvtGammaMatrix slash( const EvtVector4R& p ) ;
}
-class EvtGammaMatrix {
+class EvtGammaMatrix final {
friend EvtGammaMatrix operator*(const EvtComplex& c,const EvtGammaMatrix& g);
friend EvtGammaMatrix operator*(const EvtGammaMatrix& g, const EvtComplex& c);
friend EvtGammaMatrix operator/(const EvtGammaMatrix& g, const double d);
friend EvtDiracSpinor operator*(const EvtGammaMatrix& g,const EvtDiracSpinor& d);
friend EvtGammaMatrix operator+(const EvtGammaMatrix& g1,const EvtGammaMatrix& g2);
friend EvtGammaMatrix operator-(const EvtGammaMatrix& g1,const EvtGammaMatrix& g2);
friend EvtGammaMatrix operator*(const EvtGammaMatrix& g1,const EvtGammaMatrix& g2);
friend std::ostream& operator<<(std::ostream& s, const EvtGammaMatrix& v);
friend EvtDiracSpinor EvtDiracSpinor::adjoint() const;
-
+
public:
-
+
EvtGammaMatrix();
- virtual ~EvtGammaMatrix();
- EvtGammaMatrix(const EvtGammaMatrix& gm);
- EvtGammaMatrix& operator=(const EvtGammaMatrix& gm);
-
+ EvtGammaMatrix(const EvtGammaMatrix& gm);
+ EvtGammaMatrix& operator=(const EvtGammaMatrix& gm);
+
void init();
static const EvtGammaMatrix& g(int);
static const EvtGammaMatrix& g0();
static const EvtGammaMatrix& g1();
static const EvtGammaMatrix& g2();
static const EvtGammaMatrix& g3();
static const EvtGammaMatrix& g5();
static const EvtGammaMatrix& id();
static const EvtGammaMatrix& va0();
static const EvtGammaMatrix& va1();
static const EvtGammaMatrix& va2();
static const EvtGammaMatrix& va3();
static const EvtGammaMatrix& v0();
static const EvtGammaMatrix& v1();
static const EvtGammaMatrix& v2();
static const EvtGammaMatrix& v3();
// Dirac sigma matrix with upper or lower indices (only one element)
static const EvtGammaMatrix& sigmaUpper(unsigned int mu, unsigned int nu);
static const EvtGammaMatrix& sigmaLower(unsigned int mu, unsigned int nu);
-
+
EvtGammaMatrix& operator+=(const EvtGammaMatrix &g);
EvtGammaMatrix& operator-=(const EvtGammaMatrix &g);
EvtGammaMatrix& operator*=(const EvtGammaMatrix &g);
-
+
private:
EvtComplex _gamma[4][4];
};
inline EvtGammaMatrix operator+(const EvtGammaMatrix& g1,const EvtGammaMatrix& g2){
return EvtGammaMatrix(g1)+=g2;
}
inline EvtGammaMatrix operator-(const EvtGammaMatrix& g1,const EvtGammaMatrix& g2){
return EvtGammaMatrix(g1)-=g2;
}
inline EvtGammaMatrix operator*(const EvtGammaMatrix& g1,const EvtGammaMatrix& g2){
return EvtGammaMatrix(g1)*=g2;
}
inline EvtGammaMatrix operator/(const EvtGammaMatrix& g, const double d)
{
return g * EvtComplex(1/d,0);
}
#endif
diff --git a/EvtGenBase/EvtHighSpinParticle.hh b/EvtGenBase/EvtHighSpinParticle.hh
index 5283676..2c1b3d1 100644
--- a/EvtGenBase/EvtHighSpinParticle.hh
+++ b/EvtGenBase/EvtHighSpinParticle.hh
@@ -1,55 +1,48 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtGen/EvtHighSpinParticle.hh
//
// Description:Class to describe particle with spin>2.
//
// Modification history:
//
// RYD August 8, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTHIGHSPINPARTICLE_HH
#define EVTHIGHSPINPARTICLE_HH
#include "EvtGenBase/EvtParticle.hh"
class EvtId;
class EvtHighSpinParticle: public EvtParticle {
public:
- EvtHighSpinParticle() {}
- virtual ~EvtHighSpinParticle();
+ EvtHighSpinParticle() = default;
- void init(EvtId id,const EvtVector4R& p);
+ void init(EvtId id,const EvtVector4R& p) override;
- EvtSpinDensity rotateToHelicityBasis() const;
+ EvtSpinDensity rotateToHelicityBasis() const override;
EvtSpinDensity rotateToHelicityBasis(double alpha,
double beta,
- double gamma) const;
-
-
-private:
-
- EvtHighSpinParticle(const EvtHighSpinParticle& highSpin);
- EvtHighSpinParticle& operator=(const EvtHighSpinParticle& highSpin);
+ double gamma) const override;
};
#endif
diff --git a/EvtGenBase/EvtIntegPdf1D.hh b/EvtGenBase/EvtIntegPdf1D.hh
index c9400ee..eea7c4c 100644
--- a/EvtGenBase/EvtIntegPdf1D.hh
+++ b/EvtGenBase/EvtIntegPdf1D.hh
@@ -1,43 +1,43 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtIntegPdf1D.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Analytically integrable one dimensional PDF.
#ifndef EVT_INTEG_PDF_1D_HH
#define EVT_INTEG_PDF_1D_HH
#include "EvtGenBase/EvtPdf.hh"
#include "EvtGenBase/EvtPoint1D.hh"
class EvtIntegPdf1D : public EvtPdf<EvtPoint1D> {
public:
-
+
EvtIntegPdf1D(double min, double max);
EvtIntegPdf1D(const EvtIntegPdf1D&);
- virtual ~EvtIntegPdf1D();
- // Pdf integral function and its inverse to be defined in subclasses
+ // Pdf integral function and its inverse to be defined in subclasses
virtual double pdfIntegral(double x) const = 0;
virtual double pdfIntegralInverse(double x) const = 0;
- virtual EvtValError compute_integral() const;
- virtual EvtPoint1D randomPoint();
+ using EvtPdf<EvtPoint1D>::compute_integral;
+ EvtValError compute_integral() const override;
+ EvtPoint1D randomPoint() override;
+
+protected:
-protected:
-
double _min;
double _max;
};
#endif
diff --git a/EvtGenBase/EvtIntervalFlatPdf.hh b/EvtGenBase/EvtIntervalFlatPdf.hh
index cb29ddd..fca1636 100644
--- a/EvtGenBase/EvtIntervalFlatPdf.hh
+++ b/EvtGenBase/EvtIntervalFlatPdf.hh
@@ -1,40 +1,40 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtIntervalFlatPdf.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
/*
* Uniform PDF defined on a 1D interval.
*/
#ifndef EVT_INTERVAL_FLAT_PDF_HH
#define EVT_INTERVAL_FLAT_PDF_HH
#include <assert.h>
#include "EvtGenBase/EvtPdf.hh"
#include "EvtGenBase/EvtPoint1D.hh"
class EvtIntervalFlatPdf : public EvtPdf<EvtPoint1D> {
public:
-
+
EvtIntervalFlatPdf(double min, double max);
EvtIntervalFlatPdf(const EvtIntervalFlatPdf& other);
- virtual ~EvtIntervalFlatPdf();
- virtual EvtPdf<EvtPoint1D>* clone() const;
-
- virtual EvtValError compute_integral() const;
- virtual EvtPoint1D randomPoint();
-
+ EvtPdf<EvtPoint1D>* clone() const override;
+
+ using EvtPdf<EvtPoint1D>::compute_integral;
+ EvtValError compute_integral() const override;
+ EvtPoint1D randomPoint() override;
+
protected:
- virtual double pdf(const EvtPoint1D&) const;
+ double pdf(const EvtPoint1D&) const override;
double _min;
double _max;
};
#endif
diff --git a/EvtGenBase/EvtLASSAmp.hh b/EvtGenBase/EvtLASSAmp.hh
index a626bc3..98128c2 100644
--- a/EvtGenBase/EvtLASSAmp.hh
+++ b/EvtGenBase/EvtLASSAmp.hh
@@ -1,64 +1,60 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* Authors: Denis Dujmic, ddujmic@slac.stanford.edu
* Andrew Wagner, apwagner@slac.stanford.edu
*
* Copyright (C) 2005 SLAC
*******************************************************************************/
#ifndef EVT_LASS_AMP_HH
#define EVT_LASS_AMP_HH
#include <string>
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
#include "EvtGenBase/EvtDalitzPlot.hh"
#include "EvtGenBase/EvtAmplitude.hh"
class EvtComplex;
class EvtLASSAmp : public EvtAmplitude<EvtDalitzPoint> {
-
+
public:
- EvtLASSAmp( EvtDalitzPlot *dp,
+ EvtLASSAmp( EvtDalitzPlot *dp,
EvtCyclic3::Pair pair,
double m0, double g0,
double a, double r, double cutoff, std::string subtype = "LASS" );
- EvtLASSAmp(const EvtLASSAmp& other);
-
- ~EvtLASSAmp();
-
- virtual EvtComplex amplitude(const EvtDalitzPoint& p) const;
+ EvtComplex amplitude(const EvtDalitzPoint& p) const override;
- virtual EvtAmplitude<EvtDalitzPoint>* clone() const
+ EvtAmplitude<EvtDalitzPoint>* clone() const override
{ return new EvtLASSAmp(*this); }
private:
EvtDalitzPlot *_dalitzSpace;
- EvtCyclic3::Pair _pair;
+ EvtCyclic3::Pair _pair;
double _m0;
double _g0;
double _q0;
double _r;
double _a;
double _cutoff;
std::string _subtype;
};
#endif
diff --git a/EvtGenBase/EvtMBreitWigner.hh b/EvtGenBase/EvtMBreitWigner.hh
index be87b42..b434a94 100644
--- a/EvtGenBase/EvtMBreitWigner.hh
+++ b/EvtGenBase/EvtMBreitWigner.hh
@@ -1,22 +1,22 @@
#ifndef __EVTMBREITWIGNER_HH__
#define __EVTMBREITWIGNER_HH__
#include "EvtGenBase/EvtMRes.hh"
class EvtMBreitWigner : public EvtMLineShape {
public:
EvtMBreitWigner( const EvtId& id, const vector<string>& args );
~EvtMBreitWigner( ) {};
- EvtComplex shape( const vector<EvtVector4R>& product ) const;
-
- EvtMLineShape * duplicate() const;
+ EvtComplex shape( const vector<EvtVector4R>& product ) const override;
+
+ EvtMLineShape * duplicate() const override;
private:
EvtId _id;
double _width, _resmass;
};
#endif
diff --git a/EvtGenBase/EvtMHelAmp.hh b/EvtGenBase/EvtMHelAmp.hh
index 9376d9a..a1c449a 100644
--- a/EvtGenBase/EvtMHelAmp.hh
+++ b/EvtGenBase/EvtMHelAmp.hh
@@ -1,24 +1,24 @@
#ifndef __EVTMHELAMP_HH__
#define __EVTMHELAMP_HH__
#include "EvtGenBase/EvtMRes.hh"
class EvtMHelAmp : public EvtMRes {
public:
EvtMHelAmp( const EvtId& id, EvtMLineShape *, const
vector<EvtMNode * >&, const vector<EvtComplex>& );
- virtual ~EvtMHelAmp() {};
-
+ ~EvtMHelAmp() {};
+
EvtSpinAmp amplitude( const vector<EvtVector4R>& product )
- const;
+ const override;
- EvtMNode * duplicate() const;
+ EvtMNode * duplicate() const override;
private:
vector<EvtComplex> _elem;
};
#endif
diff --git a/EvtGenBase/EvtMParticle.hh b/EvtGenBase/EvtMParticle.hh
index f1ee8d9..33e7951 100644
--- a/EvtGenBase/EvtMParticle.hh
+++ b/EvtGenBase/EvtMParticle.hh
@@ -1,21 +1,21 @@
#ifndef __EVTMPARTICLE_HH__
#define __EVTMPARTICLE_HH__
#include "EvtGenBase/EvtMNode.hh"
class EvtMParticle : public EvtMNode {
public:
EvtMParticle( int label, const EvtId& id );
- virtual ~EvtMParticle() {}
- EvtSpinAmp amplitude( const vector<EvtVector4R>& product ) const;
- int getnchild() const { return 0; }
-
- EvtComplex line( const vector<EvtVector4R>& /*product*/ ) const
+ ~EvtMParticle() {}
+ EvtSpinAmp amplitude( const vector<EvtVector4R>& product ) const override;
+ int getnchild() const override { return 0; }
+
+ EvtComplex line( const vector<EvtVector4R>& /*product*/ ) const override
{ return EvtComplex(1.0, 0.0); }
- EvtMNode * duplicate() const;
+ EvtMNode * duplicate() const override;
};
#endif
diff --git a/EvtGenBase/EvtMRes.hh b/EvtGenBase/EvtMRes.hh
index 9d0a7ca..1ec86ce 100644
--- a/EvtGenBase/EvtMRes.hh
+++ b/EvtGenBase/EvtMRes.hh
@@ -1,48 +1,48 @@
#ifndef __EVTMRES_HH__
#define __EVTMRES_HH__
#include "EvtGenBase/EvtMNode.hh"
class EvtMRes;
class EvtMLineShape {
public:
virtual ~EvtMLineShape() {};
void setres( EvtMRes * n ) { _node = n; }
virtual EvtComplex shape( const vector<EvtVector4R>& product ) const=0;
-
+
virtual EvtMLineShape * duplicate() const=0;
protected:
EvtMRes * _node;
};
class EvtMRes : public EvtMNode {
-
+
public:
- virtual ~EvtMRes();
+ ~EvtMRes();
- int getnchild() const { return _children.size(); }
+ int getnchild() const override { return _children.size(); }
- virtual EvtComplex line( const vector<EvtVector4R>& product ) const
+ EvtComplex line( const vector<EvtVector4R>& product ) const override
{ return _lineshape->shape( product ); }
protected:
// store the child nodes
vector<EvtMNode *> _children;
- // store the parametrization amplitudes in some kind
+ // store the parametrization amplitudes in some kind
EvtSpinAmp _amp;
// store the lineshape of the resonance
EvtMLineShape * _lineshape;
};
#endif
diff --git a/EvtGenBase/EvtMTRandomEngine.hh b/EvtGenBase/EvtMTRandomEngine.hh
index 73bad67..5fd042d 100644
--- a/EvtGenBase/EvtMTRandomEngine.hh
+++ b/EvtGenBase/EvtMTRandomEngine.hh
@@ -1,49 +1,45 @@
-#ifdef EVTGEN_CPP11
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2015 University of Warwick, UK
//
// Module: EvtGenBase/EvtMTRandomEngine.hh
//
// Generate random numbers using the Mersenne-Twister MT19937.
// Member function random returns a random number in the range ]0..1[.
-// This requires c++11 features, hence the EVTGEN_CPP11 preprocessor.
//
// Modification history:
//
// John Back Aug 2015 Module created
//
//------------------------------------------------------------------------
#ifndef EVTMTRANDOMENGINE_HH
#define EVTMTRANDOMENGINE_HH
#include "EvtGenBase/EvtRandomEngine.hh"
#include <random>
class EvtMTRandomEngine : public EvtRandomEngine {
public:
EvtMTRandomEngine(unsigned int seed = 1430957218);
virtual double random();
private:
std::mt19937 engine_;
typedef std::uniform_real_distribution<double> URDist;
URDist distribution_;
};
#endif
-
-#endif
diff --git a/EvtGenBase/EvtMTrivialLS.hh b/EvtGenBase/EvtMTrivialLS.hh
index a4afcad..64601ad 100644
--- a/EvtGenBase/EvtMTrivialLS.hh
+++ b/EvtGenBase/EvtMTrivialLS.hh
@@ -1,18 +1,18 @@
#ifndef __EVTMTRIVIALLS_H__
#define __EVTMTRIVIALLS_H__
#include "EvtGenBase/EvtMRes.hh"
class EvtMTrivialLS : public EvtMLineShape {
public:
EvtMTrivialLS( const EvtId& /*id*/, const vector<string>& /*args*/ ) {};
~EvtMTrivialLS() {};
- EvtComplex shape( const vector<EvtVector4R>& product ) const;
-
- EvtMLineShape* duplicate() const;
+ EvtComplex shape( const vector<EvtVector4R>& product ) const override;
+
+ EvtMLineShape* duplicate() const override;
};
#endif
diff --git a/EvtGenBase/EvtManyDeltaFuncLineShape.hh b/EvtGenBase/EvtManyDeltaFuncLineShape.hh
index 897ff1a..bfe5107 100644
--- a/EvtGenBase/EvtManyDeltaFuncLineShape.hh
+++ b/EvtGenBase/EvtManyDeltaFuncLineShape.hh
@@ -1,51 +1,49 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtAbsLineShape.hh
//
// Description: Class to keep the particle properties for
// one particle
//
// Modification history:
//
// Lange March 10, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTMANYDELTAFUNCLINESHAPE_HH
#define EVTMANYDELTAFUNCLINESHAPE_HH
#include "EvtGenBase/EvtAbsLineShape.hh"
class EvtManyDeltaFuncLineShape :public EvtAbsLineShape {
public:
- EvtManyDeltaFuncLineShape();
+ EvtManyDeltaFuncLineShape();
EvtManyDeltaFuncLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp);
//figure the m1 and l on the fly
- // double mDaug1, double mDaug2, int l);
- ~EvtManyDeltaFuncLineShape();
+ // double mDaug1, double mDaug2, int l);
EvtManyDeltaFuncLineShape& operator=(const EvtManyDeltaFuncLineShape& x);
- EvtManyDeltaFuncLineShape(const EvtManyDeltaFuncLineShape& x);
+ EvtManyDeltaFuncLineShape(const EvtManyDeltaFuncLineShape& x);
- EvtAbsLineShape* clone();
+ EvtAbsLineShape* clone() override;
- double getMassProb(double mass, double massPar, int nDaug, double *massDau);
+ double getMassProb(double mass, double massPar, int nDaug, double *massDau) override;
// othDaugId is the other daughter of the parent in the case of a two body decay (only!)
// ie B->rho K rho->pipi, othDaugId = K
- double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses);
+ double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses) override;
-protected:
-};
+};
#endif
diff --git a/EvtGenBase/EvtMassAmp.hh b/EvtGenBase/EvtMassAmp.hh
index 6238823..3b263b3 100644
--- a/EvtGenBase/EvtMassAmp.hh
+++ b/EvtGenBase/EvtMassAmp.hh
@@ -1,64 +1,64 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtMassAmp.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
-// Relativistic lineshape for a two-body decay of a resonance to two
+// Relativistic lineshape for a two-body decay of a resonance to two
// pseudoscalars. The mass dependence of the width and the vertex factors
// are included in the calculation.
#ifndef EVT_MASSAMP_HH
#define EVT_MASSAMP_HH
#include "EvtGenBase/EvtPoint1D.hh"
#include "EvtGenBase/EvtAmplitude.hh"
#include "EvtGenBase/EvtPropBreitWignerRel.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
class EvtMassAmp : public EvtAmplitude<EvtPoint1D> {
public:
EvtMassAmp(const EvtPropBreitWignerRel& prop, const EvtTwoBodyVertex& vd);
- EvtMassAmp(const EvtMassAmp& other);
- virtual ~EvtMassAmp();
+ EvtMassAmp(const EvtMassAmp& other);
+ EvtMassAmp& operator=(const EvtMassAmp& other);
- virtual EvtComplex amplitude(const EvtPoint1D& p) const;
+ EvtComplex amplitude(const EvtPoint1D& p) const override;
- virtual EvtAmplitude<EvtPoint1D>* clone() const
+ EvtAmplitude<EvtPoint1D>* clone() const override
{ return new EvtMassAmp(*this); }
-
+
void setBirthVtx(const EvtTwoBodyVertex& vb)
{
- _vb = new EvtTwoBodyVertex(vb);
+ _vb = std::make_unique<EvtTwoBodyVertex>(vb);
}
void addBirthFact() { _useBirthFact = true; }
void addDeathFact() { _useDeathFact = true; }
void addBirthFactFF() { _useBirthFactFF = true; }
void addDeathFactFF() { _useDeathFactFF = true; }
private:
-
+
EvtPropBreitWignerRel _prop;
EvtTwoBodyVertex _vd;
- EvtTwoBodyVertex* _vb;
+ std::unique_ptr<EvtTwoBodyVertex> _vb;
bool _useBirthFact;
bool _useDeathFact;
bool _useBirthFactFF;
bool _useDeathFactFF;
};
#endif
diff --git a/EvtGenBase/EvtNeutrinoParticle.hh b/EvtGenBase/EvtNeutrinoParticle.hh
index ca76866..cea8872 100644
--- a/EvtGenBase/EvtNeutrinoParticle.hh
+++ b/EvtGenBase/EvtNeutrinoParticle.hh
@@ -1,53 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtNeutrinoParticle.hh
//
// Description:Class to describe neutrinos
//
// Modification history:
//
// RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTNEUTRINOPARTICLE_HH
#define EVTNEUTRINOPARTICLE_HH
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtParticle.hh"
class EvtId;
class EvtVector4R;
class EvtNeutrinoParticle:public EvtParticle {
public:
- EvtNeutrinoParticle();
- virtual ~EvtNeutrinoParticle();
- void init(EvtId part_n,const EvtVector4R& p4);
- EvtDiracSpinor spParentNeutrino() const;
- EvtDiracSpinor spNeutrino() const;
- EvtSpinDensity rotateToHelicityBasis() const;
+ EvtNeutrinoParticle() = default;
+ void init(EvtId part_n,const EvtVector4R& p4) override;
+ EvtDiracSpinor spParentNeutrino() const override;
+ EvtDiracSpinor spNeutrino() const override;
+ EvtSpinDensity rotateToHelicityBasis() const override;
EvtSpinDensity rotateToHelicityBasis(double alpha,
double beta,
- double gamma) const;
-
+ double gamma) const override;
+
private:
EvtDiracSpinor spinor_rest;
EvtDiracSpinor spinor_parent;
EvtNeutrinoParticle(const EvtNeutrinoParticle& n);
EvtNeutrinoParticle& operator=(const EvtNeutrinoParticle& n);
};
#endif
diff --git a/EvtGenBase/EvtNonresonantAmp.hh b/EvtGenBase/EvtNonresonantAmp.hh
index cf4e6a1..3eeb4c7 100644
--- a/EvtGenBase/EvtNonresonantAmp.hh
+++ b/EvtGenBase/EvtNonresonantAmp.hh
@@ -1,64 +1,60 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* Author: Denis Dujmic, ddujmic@slac.stanford.edu
*
* Copyright (C) 2005 SLAC
*******************************************************************************/
#ifndef EVT_NONRESONANT_AMP_HH
#define EVT_NONRESONANT_AMP_HH
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
#include "EvtGenBase/EvtDalitzPlot.hh"
#include "EvtGenBase/EvtPto3PAmp.hh"
#include "EvtGenBase/EvtAmplitude.hh"
#include "EvtGenBase/EvtSpinType.hh"
class EvtComplex;
class EvtNonresonantAmp : public EvtAmplitude<EvtDalitzPoint> {
-
+
public:
- EvtNonresonantAmp( EvtDalitzPlot *dp,
- EvtPto3PAmp::NumType type,
- EvtCyclic3::Pair pair1, double par1=0,
+ EvtNonresonantAmp( EvtDalitzPlot *dp,
+ EvtPto3PAmp::NumType type,
+ EvtCyclic3::Pair pair1, double par1=0,
EvtCyclic3::Pair pair2=EvtCyclic3::AB, double par2=0,
EvtSpinType::spintype spin=EvtSpinType::SCALAR);
-
-
- EvtNonresonantAmp(const EvtNonresonantAmp& other);
- ~EvtNonresonantAmp();
- virtual EvtComplex amplitude(const EvtDalitzPoint& p) const;
+ EvtComplex amplitude(const EvtDalitzPoint& p) const override;
- virtual EvtAmplitude<EvtDalitzPoint>* clone() const
+ EvtAmplitude<EvtDalitzPoint>* clone() const override
{ return new EvtNonresonantAmp(*this); }
-
+
private:
EvtDalitzPlot *_dalitzSpace;
EvtPto3PAmp::NumType _type;
- EvtCyclic3::Pair _pair1, _pair2;
+ EvtCyclic3::Pair _pair1, _pair2;
double _par1, _par2;
-
+
EvtSpinType::spintype _spin;
};
#endif
diff --git a/EvtGenBase/EvtOrthogVector.hh b/EvtGenBase/EvtOrthogVector.hh
index be069f6..71d1b61 100644
--- a/EvtGenBase/EvtOrthogVector.hh
+++ b/EvtGenBase/EvtOrthogVector.hh
@@ -1,54 +1,51 @@
//--------------------------------------------------------------------------
-//
-// Environment:
-// This software is part of the EvtGen package developed jointly
-// for the BaBar and CLEO collaborations. If you use all or part
+//
+// Environment:
+// This software is part of the EvtGen package developed jointly
+// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
-//
-// Copyright Information: See EvtGen/COPYRIGHT
+//
+// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, LLNL
-//
+//
// Module: EvtGen/EvtOrthogVector.hh
-//
+//
// Description:
-//
-// Modification history:
+//
+// Modification history:
//
// Lange August 11, 2000 Created
//
//------------------------------------------------------------------------
#ifndef EVTORTHOGVECTOR_HH
#define EVTORTHOGVECTOR_HH
#include <vector>
-class EvtOrthogVector {
+class EvtOrthogVector final {
public:
EvtOrthogVector(int n,
std::vector<double> *vectors);
- ~EvtOrthogVector();
-
std::vector<double> getOrthogVector() {return _orthogVector;}
-
private:
int _dimen;
std::vector<int> _holder;
void findOrthog(int dim, std::vector<int> invect,
std::vector<double> *vectors);
std::vector<double> _orthogVector;
int findEvenOddSwaps();
};
#endif
diff --git a/EvtGenBase/EvtPDL.hh b/EvtGenBase/EvtPDL.hh
index 5ce47ce..1b16e5f 100644
--- a/EvtGenBase/EvtPDL.hh
+++ b/EvtGenBase/EvtPDL.hh
@@ -1,100 +1,99 @@
//--------------------------------------------------------------------------
-//
-// Environment:
-// This software is part of the EvtGen package developed jointly
-// for the BaBar and CLEO collaborations. If you use all or part
+//
+// Environment:
+// This software is part of the EvtGen package developed jointly
+// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
-//
-// Copyright Information: See EvtGen/COPYRIGHT
-// Copyright (C) 1998 Caltech, UCSB
-//
-// Module: EvtGen/EvtPDL.hh
-//
-// Description:Class to keep track of particle properties.
-//
-// Modification history:
//
-// DJL/RYD September 25, 1996 Module created
+// Copyright Information: See EvtGen/COPYRIGHT
+// Copyright (C) 1998 Caltech, UCSB
+//
+// Module: EvtGen/EvtPDL.hh
+//
+// Description:Class to keep track of particle properties.
+//
+// Modification history:
+//
+// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPDL_HH
#define EVTPDL_HH
#include "EvtGenBase/EvtPartProp.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtStringHash.hh"
#include <vector>
#include <map>
const int SPIN_NAME_LENGTH = 100;
-class EvtPDL {
+class EvtPDL final {
public:
- EvtPDL();
+ EvtPDL();
- ~EvtPDL();
void read(const char* fname);
void readPDT(const std::string fname);
-
+
static double getMeanMass(EvtId i );
static double getMass(EvtId i );
static double getRandMass(EvtId i, EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId,double maxMass, double *dauMasses );
static double getMassProb(EvtId i, double mass, double massPar, int nDaug, double *massDau);
static double getMaxMass(EvtId i );
static double getMinMass(EvtId i );
//the number we got from PDT
static double getMaxRange(EvtId i );
static double getWidth(EvtId i );
static double getctau(EvtId i );
static int getStdHep(EvtId id );
static int getLundKC(EvtId id );
- // Function to retrieve EvtId from PythiaID
+ // Function to retrieve EvtId from PythiaID
static EvtId evtIdFromLundKC(int pythiaId );
static EvtId evtIdFromStdHep(int stdhep );
static EvtId chargeConj(EvtId id );
static int chg3(EvtId i );
static EvtSpinType::spintype getSpinType(EvtId i );
static EvtId getId(const std::string& name );
static std::string name(EvtId i);
static void alias(EvtId num,const std::string& newname);
static void aliasChgConj(EvtId a,EvtId abar);
static size_t entries();
static EvtId getEntry(int i);
static void reSetMass(EvtId i, double mass);
static void reSetWidth(EvtId i, double width);
static void reSetMassMin(EvtId i, double mass);
static void reSetMassMax(EvtId i,double mass);
static void reSetBlatt(EvtId i,double blatt);
static void reSetBlattBirth(EvtId i,double blatt);
static void includeBirthFactor(EvtId i,bool yesno);
static void includeDecayFactor(EvtId i,bool yesno);
static void changeLS(EvtId i, std::string &newLS );
static void setPWForDecay(EvtId i, int spin, EvtId d1, EvtId d2);
static void setPWForBirthL(EvtId i, int spin, EvtId par, EvtId othD);
private:
void setUpConstsPdt();
static unsigned int _firstAlias;
static int _nentries;
static std::vector<EvtPartProp>& partlist() {
static std::vector<EvtPartProp> s_partlist;
return s_partlist;
}
static std::map<std::string, int> _particleNameLookup;
-
+
}; // EvtPDL.h
#endif
diff --git a/EvtGenBase/EvtParserXml.hh b/EvtGenBase/EvtParserXml.hh
index e3e8289..8ee201a 100644
--- a/EvtGenBase/EvtParserXml.hh
+++ b/EvtGenBase/EvtParserXml.hh
@@ -1,67 +1,64 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtParserXml.hh
//
// Description:
//
// Modification history:
//
// DCC 24 October, 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPARSERXML_HH
#define EVTPARSERXML_HH
#include <string>
#include <vector>
#include <fstream>
-class EvtParserXml {
+class EvtParserXml final {
public:
- EvtParserXml();
- ~EvtParserXml();
-
bool open(std::string filename);
bool close();
bool readNextTag();
std::string getTagTitle() { return _tagTitle; }
std::string getParentTagTitle();
int getLineNumber() { return _lineNo; }
bool isTagInline() { return _inLineTag; }
-
+
std::string readAttribute(std::string attribute, std::string defaultValue="");
bool readAttributeBool(std::string attribute, bool defaultValue=false);
int readAttributeInt(std::string attribute, int defaultValue=-1);
double readAttributeDouble(std::string attribute, double defaultValue=-1.);
private:
std::ifstream _fin;
std::string _line;
- int _lineNo;
+ int _lineNo = 0;
std::string _tag;
std::string _tagTitle;
bool _inLineTag;
std::vector<std::string> _tagTree;
bool processTagTree();
bool expandEnvVars(std::string& str);
bool isAlphaNum(char c);
-};
+};
#endif
diff --git a/EvtGenBase/EvtPartProp.hh b/EvtGenBase/EvtPartProp.hh
index 590b7cc..e15a822 100644
--- a/EvtGenBase/EvtPartProp.hh
+++ b/EvtGenBase/EvtPartProp.hh
@@ -1,112 +1,111 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPartProp.hh
//
// Description: Class to keep the particle properties for
// one particle
//
// Modification history:
//
// RYD April 4, 1997 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPARTPROP_HH
#define EVTPARTPROP_HH
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
+#include <memory>
#include "EvtGenBase/EvtAbsLineShape.hh"
class EvtPartProp {
public:
- EvtPartProp();
- EvtPartProp(const EvtPartProp& x);
+ EvtPartProp();
+ EvtPartProp(const EvtPartProp& x);
- ~EvtPartProp();
-
- double getMass() {return _lineShape->getMass();}
- double getMassMin() {return _lineShape->getMassMin();}
- double getMassMax() {return _lineShape->getMassMax();}
- double getMaxRange() {return _lineShape->getMaxRange();}
- double getWidth() {return _lineShape->getWidth();}
+ double getMass() {return _lineShape->getMass();}
+ double getMassMin() {return _lineShape->getMassMin();}
+ double getMassMax() {return _lineShape->getMassMax();}
+ double getMaxRange() {return _lineShape->getMaxRange();}
+ double getWidth() {return _lineShape->getWidth();}
double getRandMass(EvtId *parId, int nDaug, EvtId *dauId,EvtId *othDauId,double maxMass, double *dauMasses) {return _lineShape->getRandMass(parId,nDaug,dauId,othDauId,maxMass,dauMasses);}
double getMassProb(double mass, double massPar, int nDaug, double *massDau) { return _lineShape->getMassProb(mass,massPar,nDaug,massDau);}
- double getctau() {return _ctau; }
+ double getctau() {return _ctau; }
void setctau(double tau) { _ctau=tau; }
- int getChg3() {return _chg3; }
+ int getChg3() {return _chg3; }
void setChg3(int c3) { _chg3=c3; }
EvtSpinType::spintype getSpinType() {return _spintype; }
void setSpinType(EvtSpinType::spintype stype ) { _spintype=stype; }
const std::string& getName() {return _name;}
void setName(std::string pname);
EvtId getId() {return _id;}
void setId(EvtId id) {_id=id;}
EvtId getIdChgConj() {return _idchgconj;}
void setIdChgConj(EvtId idchgconj) {_idchgconj=idchgconj;}
int getStdHep() {return _stdhep;}
void setStdHep(int stdhep) {_stdhep=stdhep;}
int getLundKC() {return _lundkc;}
void setLundKC(int lundkc) {_lundkc=lundkc;}
- EvtAbsLineShape* getLineShape() {return _lineShape;}
+ EvtAbsLineShape* getLineShape() {return _lineShape.get();}
void initLineShape(double mass, double width, double maxRange);
// void initLineShape(double mass, double width, double maxRange, double mDaug1, double mDaug2, int l);
// setLineShape takes ownership of l
- void setLineShape(EvtAbsLineShape *l) { _lineShape=l;}
+ void setLineShape(EvtAbsLineShape *l) { _lineShape.reset(l);}
double rollMass(){return _lineShape->rollMass();}
EvtPartProp& operator=(const EvtPartProp& x);
void reSetMass(double mass);
void reSetWidth(double width);
void reSetMassMin(double mass);
void reSetMassMax(double mass);
void reSetBlatt(double blatt);
void reSetBlattBirth(double blatt);
void includeBirthFactor(bool yesno);
void includeDecayFactor(bool yesno);
void newLineShape(std::string type);
void setPWForDecay( int spin, EvtId d1, EvtId d2);
void setPWForBirthL( int spin, EvtId par, EvtId othD);
private:
- EvtAbsLineShape *_lineShape;
+ std::unique_ptr<EvtAbsLineShape> _lineShape;
double _ctau;
EvtId _id;
EvtId _idchgconj;
EvtSpinType::spintype _spintype;
int _chg3;
int _stdhep;
int _lundkc;
std::string _name;
-
-};
+
+};
#endif
diff --git a/EvtGenBase/EvtPdf.hh b/EvtGenBase/EvtPdf.hh
index 13cfb20..bc465e4 100644
--- a/EvtGenBase/EvtPdf.hh
+++ b/EvtGenBase/EvtPdf.hh
@@ -1,315 +1,313 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPdf.hh,v 1.2 2009-03-16 16:40:15 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
/*
* All classes are templated on the point type T
*
* EvtPdf:
*
* Probability density function defined on an interval of phase-space.
* Integral over the interval can be calculated by Monte Carlo integration.
* Some (but not all) PDFs are analytic in the sense that they can be integrated
* by numeric quadrature and distributions can be generated according to them.
*
* EvtPdfGen:
- *
+ *
* Generator adaptor. Can be used to generate random points
* distributed according to the PDF for analytic PDFs.
*
* EvtPdfPred:
*
* Predicate adaptor for PDFs. Can be used for generating random points distributed
* according to the PDF for any PDF using rejection method. (See "Numerical Recipes").
*
* EvtPdfUnary:
*
* Adapter for generic algorithms. Evaluates the PDF and returns the value
*
* EvtPdfDiv:
*
- * PDF obtained by division of one PDF by another. Because the two PDFs are
- * arbitrary this PDF is not analytic. When importance sampling is used the
- * original PDF is divided by the analytic comparison function. EvtPdfDiv is
+ * PDF obtained by division of one PDF by another. Because the two PDFs are
+ * arbitrary this PDF is not analytic. When importance sampling is used the
+ * original PDF is divided by the analytic comparison function. EvtPdfDiv is
* used to represent the modified PDF.
*/
#ifndef EVT_PDF_HH
#define EVT_PDF_HH
#include <assert.h>
#include <stdio.h>
#include "EvtGenBase/EvtValError.hh"
#include "EvtGenBase/EvtPredGen.hh"
#include "EvtGenBase/EvtStreamInputIterator.hh"
#include "EvtGenBase/EvtPdfMax.hh"
#include "EvtGenBase/EvtMacros.hh"
#include "EvtGenBase/EvtRandom.hh"
template <class T> class EvtPdfPred;
template <class T> class EvtPdfGen;
template <class T> class EvtPdf {
public:
-
+
EvtPdf() {}
EvtPdf(const EvtPdf& other) : _itg(other._itg) {}
virtual ~EvtPdf() {}
virtual EvtPdf<T>* clone() const = 0;
-
- double evaluate(const T& p) const {
- if(p.isValid()) return pdf(p);
+
+ double evaluate(const T& p) const {
+ if(p.isValid()) return pdf(p);
else return 0.;
}
// Find PDF maximum. Points are sampled according to pc
EvtPdfMax<T> findMax(const EvtPdf<T>& pc, int N);
// Find generation efficiency.
EvtValError findGenEff(const EvtPdf<T>& pc, int N, int nFindMax);
-
+
// Analytic integration. Calls cascade down until an overridden
// method is called.
void setItg(EvtValError itg) {_itg = itg; }
-
+
EvtValError getItg() const {
if(!_itg.valueKnown()) _itg = compute_integral();
return _itg;
}
EvtValError getItg(int N) const {
if(!_itg.valueKnown()) _itg = compute_integral(N);
return _itg;
}
-
+
virtual EvtValError compute_integral() const
- //make sun happy - return something
- { printf("Analytic integration of PDF is not defined\n"); assert(0); return compute_integral();}
+ { printf("Analytic integration of PDF is not defined\n"); assert(0); return EvtValError{};}
virtual EvtValError compute_integral(int) const { return compute_integral(); }
// Monte Carlo integration.
EvtValError compute_mc_integral(const EvtPdf<T>& pc, int N);
-
+
// Generation. Create predicate accept-reject generators.
// nMax iterations will be used to find the maximum of the accept-reject predicate
-
+
EvtPredGen<EvtPdfGen<T>,EvtPdfPred<T> > accRejGen(const EvtPdf<T>& pc, int nMax, double factor = 1.);
-
+
virtual T randomPoint();
protected:
virtual double pdf(const T&) const = 0;
mutable EvtValError _itg;
};
template <class T> class EvtPdfGen {
public:
typedef T result_type;
EvtPdfGen() : _pdf(0) {}
EvtPdfGen(const EvtPdfGen<T>& other) :
_pdf(other._pdf ? other._pdf->clone() : 0)
{}
- EvtPdfGen(const EvtPdf<T>& pdf) :
+ EvtPdfGen(const EvtPdf<T>& pdf) :
_pdf(pdf.clone())
{}
~EvtPdfGen() { delete _pdf;}
-
+
result_type operator()() {return _pdf->randomPoint();}
-
+
private:
-
+
EvtPdf<T>* _pdf;
};
template <class T> class EvtPdfPred {
public:
typedef T argument_type;
typedef bool result_type;
-
+
EvtPdfPred() {}
EvtPdfPred(const EvtPdf<T>& thePdf) : itsPdf(thePdf.clone()) {}
EvtPdfPred(const EvtPdfPred& other) : COPY_PTR(itsPdf), COPY_MEM(itsPdfMax) {}
~EvtPdfPred() { delete itsPdf; }
-
+
result_type operator()(argument_type p)
{
assert(itsPdf);
assert(itsPdfMax.valueKnown());
-
+
double random = EvtRandom::Flat(0.,itsPdfMax.value());
- return (random <= itsPdf->evaluate(p));
+ return (random <= itsPdf->evaluate(p));
}
-
- EvtPdfMax<T> getMax() const { return itsPdfMax; }
+
+ EvtPdfMax<T> getMax() const { return itsPdfMax; }
void setMax(const EvtPdfMax<T>& max) { itsPdfMax = max; }
template <class InputIterator> void compute_max(InputIterator it, InputIterator end,
- double factor = 1.)
+ double factor = 1.)
{
T p = *it++;
itsPdfMax = EvtPdfMax<T>(p,itsPdf->evaluate(p)*factor);
-
- while(!(it == end)) {
+
+ while(!(it == end)) {
T p = *it++;
double val = itsPdf->evaluate(p)*factor;
if(val > itsPdfMax.value()) itsPdfMax = EvtPdfMax<T>(p,val);
}
}
-
+
private:
-
+
EvtPdf<T>* itsPdf;
EvtPdfMax<T> itsPdfMax;
};
template <class T> class EvtPdfUnary {
public:
typedef double result_type;
typedef T argument_type;
EvtPdfUnary() {}
EvtPdfUnary(const EvtPdf<T>& thePdf) : itsPdf(thePdf.clone()) {}
EvtPdfUnary(const EvtPdfUnary& other) : COPY_PTR(itsPdf) {}
~EvtPdfUnary() { delete itsPdf; }
result_type operator()(argument_type p)
{
assert(itsPdf);
double ret = itsPdf->evaluate(p);
- return ret;
+ return ret;
}
-
+
private:
-
+
EvtPdf<T>* itsPdf;
};
template <class T> class EvtPdfDiv : public EvtPdf<T> {
public:
EvtPdfDiv() : itsNum(0), itsDen(0) {}
EvtPdfDiv(const EvtPdf<T>& theNum, const EvtPdf<T>& theDen)
: EvtPdf<T>(), itsNum(theNum.clone()), itsDen(theDen.clone())
{}
EvtPdfDiv(const EvtPdfDiv<T>& other)
: EvtPdf<T>(other), COPY_PTR(itsNum), COPY_PTR(itsDen)
- {}
+ {}
virtual ~EvtPdfDiv() { delete itsNum; delete itsDen; }
- virtual EvtPdf<T>* clone() const
+ EvtPdf<T>* clone() const override
{ return new EvtPdfDiv(*this); }
-
- virtual double pdf(const T& p) const
+
+ double pdf(const T& p) const override
{
double num = itsNum->evaluate(p);
double den = itsDen->evaluate(p);
assert(den != 0);
return num/den;
}
-
+
private:
-
+
EvtPdf<T>* itsNum; // numerator
EvtPdf<T>* itsDen; // denominator
-};
+};
template <class T>
EvtPdfMax<T> EvtPdf<T>::findMax(const EvtPdf<T>& pc, int N)
{
EvtPdfPred<T> pred(*this);
EvtPdfGen<T> gen(pc);
pred.compute_max(iter(gen,N),iter(gen));
EvtPdfMax<T> p = pred.getMax();
return p;
}
template <class T>
EvtValError EvtPdf<T>::findGenEff(const EvtPdf<T>& pc, int N, int nFindMax)
{
assert(N > 0 || nFindMax > 0);
EvtPredGen<EvtPdfGen<T>,EvtPdfPred<T> > gen = accRejGen(pc,nFindMax);
int i;
for(i=0;i<N;i++) gen();
double eff = double(gen.getPassed())/double(gen.getTried());
double err = sqrt(double(gen.getPassed()))/double(gen.getTried());
return EvtValError(eff,err);
}
template <class T>
EvtValError EvtPdf<T>::compute_mc_integral(const EvtPdf<T>& pc, int N)
{
assert(N > 0);
- EvtValError otherItg = pc.getItg();
EvtPdfDiv<T> pdfdiv(*this,pc);
- EvtPdfUnary<T> unary(pdfdiv);
-
- EvtPdfGen<T> gen(pc);
+ EvtPdfUnary<T> unary(pdfdiv);
+
+ EvtPdfGen<T> gen(pc);
EvtStreamInputIterator<T> begin = iter(gen,N);
EvtStreamInputIterator<T> end;
double sum = 0.;
double sum2 = 0.;
while(!(begin == end)) {
-
+
double value = pdfdiv.evaluate(*begin++);
sum += value;
sum2 += value*value;
}
-
+
EvtValError x;
if(N > 0) {
double av = sum/((double) N);
if(N > 1) {
double dev2 = (sum2 - av*av*N)/((double) (N - 1));
// Due to numerical precision dev2 may sometimes be negative
if(dev2 < 0.) dev2 = 0.;
double error = sqrt(dev2/((double) N));
x = EvtValError(av,error);
}
else x = EvtValError(av);
}
_itg = x * pc.getItg();
return _itg;
}
template <class T>
T EvtPdf<T>::randomPoint()
{
printf("Function defined for analytic PDFs only\n");
assert(0);
T temp;
return temp;
}
template <class T>
-EvtPredGen<EvtPdfGen<T>,EvtPdfPred<T> >
+EvtPredGen<EvtPdfGen<T>,EvtPdfPred<T> >
EvtPdf<T>::accRejGen(const EvtPdf<T>& pc, int nMax, double factor)
{
EvtPdfGen<T> gen(pc);
EvtPdfDiv<T> pdfdiv(*this,pc);
EvtPdfPred<T> pred(pdfdiv);
pred.compute_max(iter(gen,nMax),iter(gen),factor);
return EvtPredGen<EvtPdfGen<T>,EvtPdfPred<T> >(gen,pred);
}
#endif
diff --git a/EvtGenBase/EvtPdfMax.hh b/EvtGenBase/EvtPdfMax.hh
index 1fee11d..32e7d94 100644
--- a/EvtGenBase/EvtPdfMax.hh
+++ b/EvtGenBase/EvtPdfMax.hh
@@ -1,52 +1,48 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPdfMax.hh,v 1.2 2009-03-16 16:40:15 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Pdf maximum and its location
#ifndef EVT_PDF_MAX_HH
#define EVT_PDF_MAX_HH
#include "EvtGenBase/EvtMacros.hh"
// PDF maximum - helper class
template <class Point>
class EvtPdfMax {
public:
EvtPdfMax()
: _value(-1),_valueKnown(false), _locKnown(false)
{}
EvtPdfMax(double value)
: _value(value),_valueKnown(true), _locKnown(false)
{}
EvtPdfMax(Point p, double value)
: _value(value), _valueKnown(true), _locKnown(true), _loc(p)
{}
- EvtPdfMax(const EvtPdfMax& other)
- : COPY_MEM(_value), COPY_MEM(_valueKnown), COPY_MEM(_locKnown), COPY_MEM(_loc)
- {}
- ~EvtPdfMax() {}
-
+
bool valueKnown() const { return _valueKnown; }
double value() const { assert(_valueKnown); return _value; }
bool locKnown() const { return _locKnown; }
Point loc() const { assert(_locKnown); return _loc; }
private:
double _value;
bool _valueKnown;
bool _locKnown;
Point _loc;
};
#endif
diff --git a/EvtGenBase/EvtPdfSum.hh b/EvtGenBase/EvtPdfSum.hh
index ba73bce..37f4f20 100644
--- a/EvtGenBase/EvtPdfSum.hh
+++ b/EvtGenBase/EvtPdfSum.hh
@@ -1,138 +1,138 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPdfSum.hh,v 1.3 2009-03-16 16:40:16 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
-// Sum of PDF functions.
+// Sum of PDF functions.
#ifndef EVT_PDF_SUM_HH
#define EVT_PDF_SUM_HH
#include <stdio.h>
#include <vector>
using std::vector;
#include "EvtGenBase/EvtPdf.hh"
template <class T>
class EvtPdfSum : public EvtPdf<T> {
public:
EvtPdfSum() {}
EvtPdfSum(const EvtPdfSum<T>& other);
virtual ~EvtPdfSum();
- virtual EvtPdf<T>* clone() const { return new EvtPdfSum(*this); }
+ EvtPdfSum* clone() const override { return new EvtPdfSum(*this); }
// Manipulate terms and coefficients
-
+
void addTerm(double c,const EvtPdf<T>& pdf)
{ assert(c >= 0.); _c.push_back(c); _term.push_back(pdf.clone()); }
- void addOwnedTerm(double c, EvtPdf<T>* pdf)
- { _c.push_back(c); _term.push_back(pdf); }
-
+ void addOwnedTerm(double c, std::unique_ptr<EvtPdf<T>> pdf)
+ { _c.push_back(c); _term.push_back(pdf.release()); }
+
size_t nTerms() const { return _term.size(); } // number of terms
-
+
inline double c(int i) const { return _c[i]; }
inline EvtPdf<T>* getPdf(int i) const { return _term[i]; }
// Integrals
- virtual EvtValError compute_integral() const;
- virtual EvtValError compute_integral(int N) const;
- virtual T randomPoint();
-
+ EvtValError compute_integral() const override;
+ EvtValError compute_integral(int N) const override;
+ T randomPoint() override;
+
protected:
-
- virtual double pdf(const T& p) const;
-
+
+ double pdf(const T& p) const override;
+
vector<double> _c; // coefficients
vector<EvtPdf<T>*> _term; // pointers to pdfs
-};
+};
template <class T>
EvtPdfSum<T>::EvtPdfSum(const EvtPdfSum<T>& other)
: EvtPdf<T>(other)
{
for(size_t i = 0; i < other.nTerms(); i++) {
_c.push_back(other._c[i]);
_term.push_back(other._term[i]->clone());
}
}
template <class T>
EvtPdfSum<T>::~EvtPdfSum()
{
for(size_t i = 0; i < _c.size(); i++) {
delete _term[i];
}
}
template <class T>
double EvtPdfSum<T>::pdf(const T& p) const
{
double ret = 0.;
for(size_t i=0; i < _c.size(); i++) {
ret += _c[i] * _term[i]->evaluate(p);
}
return ret;
}
/*
* Compute the sum integral by summing all term integrals.
*/
template <class T>
-EvtValError EvtPdfSum<T>::compute_integral() const
+EvtValError EvtPdfSum<T>::compute_integral() const
{
EvtValError itg(0.0,0.0);
for(size_t i=0;i<nTerms();i++) {
itg += _c[i]*_term[i]->getItg();
}
return itg;
}
template <class T>
EvtValError EvtPdfSum<T>::compute_integral(int N) const
{
EvtValError itg(0.0,0.0);
for(size_t i=0;i<nTerms();i++) itg += _c[i]*_term[i]->getItg(N);
return itg;
}
/*
* Sample points randomly according to the sum of PDFs. First throw a random number uniformly
* between zero and the value of the sum integral. Using this random number select one
* of the PDFs. The generate a random point according to that PDF.
*/
template <class T>
T EvtPdfSum<T>::randomPoint()
{
- if(!this->_itg.valueKnown()) this->_itg = compute_integral();
-
+ if(!this->_itg.valueKnown()) this->_itg = compute_integral();
+
double max = this->_itg.value();
double rnd = EvtRandom::Flat(0,max);
-
+
double sum = 0.;
size_t i;
for(i = 0; i < nTerms(); i++) {
double itg = _term[i]->getItg().value();
sum += _c[i] * itg;
if(sum > rnd) break;
}
-
- return _term[i]->randomPoint();
+
+ return _term[i]->randomPoint();
}
#endif
diff --git a/EvtGenBase/EvtPhotonParticle.hh b/EvtGenBase/EvtPhotonParticle.hh
index 4b6e651..ffaf6d0 100644
--- a/EvtGenBase/EvtPhotonParticle.hh
+++ b/EvtGenBase/EvtPhotonParticle.hh
@@ -1,60 +1,59 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPhotonParticle.hh
//
// Description:Class to describe photons
//
// Modification history:
//
// DJL/RYD Sept. 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPHOTONPARTICLE_HH
#define EVTPHOTONPARTICLE_HH
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtParticle.hh"
class EvtId;
//Class to handle massless spin 1 particles.
class EvtPhotonParticle: public EvtParticle {
public:
-
- EvtPhotonParticle();
- virtual ~EvtPhotonParticle();
+ EvtPhotonParticle() = default;
void init(EvtId part_n,double e,double px,double py,double pz);
- void init(EvtId part_n,const EvtVector4R& p4);
+ void init(EvtId part_n,const EvtVector4R& p4) override;
//Return polarization vectors
- EvtVector4C epsParentPhoton(int i);
- EvtVector4C epsPhoton(int i);
+ EvtVector4C epsParentPhoton(int i) override;
+ EvtVector4C epsPhoton(int i) override;
+
- EvtSpinDensity rotateToHelicityBasis() const;
+ EvtSpinDensity rotateToHelicityBasis() const override;
EvtSpinDensity rotateToHelicityBasis(double alpha,
double beta,
- double gamma) const;
+ double gamma) const override;
private:
EvtVector4C eps1,eps2;
int _evalBasis;
EvtPhotonParticle(const EvtPhotonParticle& photon);
EvtPhotonParticle& operator=(const EvtPhotonParticle& photon);
};
#endif
diff --git a/EvtGenBase/EvtPoint1D.hh b/EvtGenBase/EvtPoint1D.hh
index e4db9cd..9690e30 100644
--- a/EvtGenBase/EvtPoint1D.hh
+++ b/EvtGenBase/EvtPoint1D.hh
@@ -1,46 +1,45 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPoint1D.hh,v 1.2 2009-03-16 16:40:16 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Point on a finite 1-D interval. isValid shows whether for a given specification,
// the coordinate _value is inside the interval defined by _min, _max.
#ifndef EVT_POINT_1D_HH
#define EVT_POINT_1D_HH
-class EvtPoint1D {
+class EvtPoint1D final {
public:
EvtPoint1D();
EvtPoint1D(double value);
EvtPoint1D(double min, double max, double value);
- ~EvtPoint1D();
bool isValid() const
- {
- return _valid;
+ {
+ return _valid;
}
- double value() const
+ double value() const
{
return _value;
}
void print() const;
private:
-
+
double _min; // interval minimum
double _max; // interval maximum
double _value;
bool _valid; // valid point inside the interval?
};
#endif
diff --git a/EvtGenBase/EvtPropBreitWigner.hh b/EvtGenBase/EvtPropBreitWigner.hh
index e8520e5..757a2dd 100644
--- a/EvtGenBase/EvtPropBreitWigner.hh
+++ b/EvtGenBase/EvtPropBreitWigner.hh
@@ -1,35 +1,33 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPropBreitWigner.hh,v 1.2 2009-03-16 16:40:16 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Non-relativistic Breit-Wigner propagator
#ifndef EVT_PROP_BREIT_WIGNER_HH
#define EVT_PROP_BREIT_WIGNER_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtPropagator.hh"
-class EvtPropBreitWigner : public EvtPropagator {
+class EvtPropBreitWigner : public EvtPropagator {
public:
-
+
EvtPropBreitWigner(double m0, double g0);
- EvtPropBreitWigner(const EvtPropBreitWigner& other);
- ~EvtPropBreitWigner();
-
- EvtAmplitude<EvtPoint1D>* clone() const;
+
+ EvtAmplitude<EvtPoint1D>* clone() const override;
protected:
- EvtComplex amplitude(const EvtPoint1D& m) const;
+ EvtComplex amplitude(const EvtPoint1D& m) const override;
};
#endif
diff --git a/EvtGenBase/EvtPropBreitWignerRel.hh b/EvtGenBase/EvtPropBreitWignerRel.hh
index e9380ca..b9aecde 100644
--- a/EvtGenBase/EvtPropBreitWignerRel.hh
+++ b/EvtGenBase/EvtPropBreitWignerRel.hh
@@ -1,33 +1,31 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPropBreitWignerRel.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Relativistic Breit-Wigner Propagator
#ifndef EVT_PROP_BREIT_WIGNER_REL_HH
#define EVT_PROP_BREIT_WIGNER_REL_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtPropagator.hh"
class EvtPropBreitWignerRel : public EvtPropagator {
public:
- EvtPropBreitWignerRel(double m0, double g0);
- EvtPropBreitWignerRel(const EvtPropBreitWignerRel& other);
- ~EvtPropBreitWignerRel();
+ EvtPropBreitWignerRel(double m0, double g0);
- EvtAmplitude<EvtPoint1D>* clone() const;
+ EvtAmplitude<EvtPoint1D>* clone() const override;
protected:
- EvtComplex amplitude(const EvtPoint1D& x) const;
+ EvtComplex amplitude(const EvtPoint1D& x) const override;
};
#endif
diff --git a/EvtGenBase/EvtPropFlatte.hh b/EvtGenBase/EvtPropFlatte.hh
index 26630a2..2f0cdb0 100644
--- a/EvtGenBase/EvtPropFlatte.hh
+++ b/EvtGenBase/EvtPropFlatte.hh
@@ -1,43 +1,41 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* Author: Denis Dujmic, SLAC
*
* Copyright (C) 2005 SLAC
*******************************************************************************/
// Flatte propagator: S.M.Flatte, Phys. Lett. B63, 224 (1976)
#ifndef EVT_PROP_FLATTE_HH
#define EVT_PROP_FLATTE_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtPropagator.hh"
class EvtPropFlatte : public EvtPropagator {
public:
- EvtPropFlatte(double m0,
- double g0, double m0a, double m0b,
- double g1, double m1a, double m1b);
- EvtPropFlatte(const EvtPropFlatte& other);
- ~EvtPropFlatte();
+ EvtPropFlatte(double m0,
+ double g0, double m0a, double m0b,
+ double g1, double m1a, double m1b);
- EvtAmplitude<EvtPoint1D>* clone() const;
+ EvtAmplitude<EvtPoint1D>* clone() const override;
protected:
- EvtComplex amplitude(const EvtPoint1D& x) const;
+ EvtComplex amplitude(const EvtPoint1D& x) const override;
double _m0a;
double _m0b;
double _g1;
double _m1a;
double _m1b;
};
#endif
diff --git a/EvtGenBase/EvtPropGounarisSakurai.hh b/EvtGenBase/EvtPropGounarisSakurai.hh
index 14d327d..738b1d9 100644
--- a/EvtGenBase/EvtPropGounarisSakurai.hh
+++ b/EvtGenBase/EvtPropGounarisSakurai.hh
@@ -1,51 +1,49 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPropGounarisSakurai.hh,v 1.1 2009-03-16 16:50:50 robbep Exp $
- * Author: Matt Graham
+ * Author: Matt Graham
* modified from EvtPropBreitWignerRel...this should be used for rho's
*******************************************************************************/
// Relativistic Breit-Wigner Propagator
#ifndef EVT_PROP_GOUNARIS_SAKURAI_HH
#define EVT_PROP_GOUNARIS_SAKURAI_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtPropagator.hh"
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
#include "EvtGenBase/EvtDalitzPlot.hh"
class EvtPropGounarisSakurai : public EvtPropagator {
public:
- EvtPropGounarisSakurai(EvtDalitzPlot *dp,
- EvtCyclic3::Pair pair, double m0, double g0);
- EvtPropGounarisSakurai(const EvtPropGounarisSakurai& other);
- ~EvtPropGounarisSakurai();
+ EvtPropGounarisSakurai(EvtDalitzPlot *dp,
+ EvtCyclic3::Pair pair, double m0, double g0);
- EvtAmplitude<EvtPoint1D>* clone() const;
+ EvtAmplitude<EvtPoint1D>* clone() const override;
protected:
- EvtComplex amplitude(const EvtPoint1D& x) const;
+ EvtComplex amplitude(const EvtPoint1D& x) const override;
private:
EvtDalitzPlot *_dalitzSpace;
- EvtCyclic3::Pair _pair;
+ EvtCyclic3::Pair _pair;
double _gbase;
double _m1;
double _m2;
double _dfun;
double dFun ( double s ) const;
double dh_dsFun ( double s ) const;
double hFun ( double s ) const;
double kFun ( double s ) const;
double fsFun ( double s ) const;
};
#endif
diff --git a/EvtGenBase/EvtPropagator.hh b/EvtGenBase/EvtPropagator.hh
index d4dc47b..97fa4b0 100644
--- a/EvtGenBase/EvtPropagator.hh
+++ b/EvtGenBase/EvtPropagator.hh
@@ -1,53 +1,48 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPropagator.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Defines propagator as a function of mass and width
#ifndef EVT_PROPAGATOR_HH
#define EVT_PROPAGATOR_HH
#include <assert.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtAmplitude.hh"
#include "EvtGenBase/EvtPoint1D.hh"
class EvtPropagator : public EvtAmplitude<EvtPoint1D> {
public:
EvtPropagator(double m0, double g0)
: _m0(m0), _g0(g0)
{
assert(m0 > 0);
assert(g0 >= 0);
}
- EvtPropagator(const EvtPropagator& other)
- : EvtAmplitude<EvtPoint1D>(other), _m0(other._m0), _g0(other._g0)
- {}
- virtual ~EvtPropagator()
- {}
-
+
// Accessors
inline double m0() const { return _m0; }
inline double g0() const { return _g0; }
// Modifiers (can be useful e.g. for fitting!)
inline void set_m0(double m0) { assert(m0>0); _m0 = m0; }
inline void set_g0(double g0) { assert(g0>=0); _g0 = g0; }
protected:
double _m0;
double _g0;
};
#endif
diff --git a/EvtGenBase/EvtPto3PAmp.hh b/EvtGenBase/EvtPto3PAmp.hh
index 3f93de7..631b4ba 100644
--- a/EvtGenBase/EvtPto3PAmp.hh
+++ b/EvtGenBase/EvtPto3PAmp.hh
@@ -1,99 +1,99 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPto3PAmp.hh,v 1.2 2009-03-16 16:41:09 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#ifndef EVT_PTO3P_AMP_HH
#define EVT_PTO3P_AMP_HH
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include <vector>
using std::vector;
#include "EvtGenBase/EvtAmplitude.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtPropagator.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
class EvtComplex;
class EvtBlattWeisskopf;
class EvtPto3PAmp : public EvtAmplitude<EvtDalitzPoint> {
-
+
public:
// Numerator type
enum NumType {NBW=0, RBW_ZEMACH=1, RBW_KUEHN=2, RBW_CLEO=3, FLATTE, GAUSS, DOUBLE_GAUSS,
- NONRES, NONRES_LIN, NONRES_EXP, NONRES_EXP_ADD, NONRES_CCS, NONRES_LAURA,
+ NONRES, NONRES_LIN, NONRES_EXP, NONRES_EXP_ADD, NONRES_CCS, NONRES_LAURA,
LASS, LASS_ELASTIC, LASS_RESONANT, GS};
- EvtPto3PAmp(EvtDalitzPlot dp, EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
- EvtSpinType::spintype spin,
+ EvtPto3PAmp(EvtDalitzPlot dp, EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
+ EvtSpinType::spintype spin,
const EvtPropagator& prop, NumType typeN);
-
+
EvtPto3PAmp(const EvtPto3PAmp& other);
~EvtPto3PAmp();
- virtual EvtAmplitude<EvtDalitzPoint>* clone() const
+ EvtAmplitude<EvtDalitzPoint>* clone() const override
{ return new EvtPto3PAmp(*this); }
- virtual EvtComplex amplitude(const EvtDalitzPoint& p) const;
+ EvtComplex amplitude(const EvtDalitzPoint& p) const override;
EvtComplex numerator(const EvtDalitzPoint& p) const;
double angDep(const EvtDalitzPoint& p) const;
void set_fd(double R);
void set_fb(double R);
void setmin(double min) {_min = min;}
void setmax(double max) {_max = max;}
virtual EvtComplex evalPropagator(double m) const { return _prop->evaluate(m); }
private:
// Pairing indices:
- EvtCyclic3::Pair _pairAng; // angular
+ EvtCyclic3::Pair _pairAng; // angular
EvtCyclic3::Pair _pairRes; // resonance
// Spin
- EvtSpinType::spintype _spin;
+ EvtSpinType::spintype _spin;
// Numerator type
NumType _typeN;
// _Owned_ pointer to propagator factor
- EvtPropagator* _prop;
+ EvtPropagator* _prop;
double _g0; // nominal width
double _min; //min and max values on which
double _max; //the resonance is defined
// Vertices
EvtTwoBodyVertex _vb;
EvtTwoBodyVertex _vd;
};
#endif
diff --git a/EvtGenBase/EvtPto3PAmpFactory.hh b/EvtGenBase/EvtPto3PAmpFactory.hh
index d55d212..8f64a86 100644
--- a/EvtGenBase/EvtPto3PAmpFactory.hh
+++ b/EvtGenBase/EvtPto3PAmpFactory.hh
@@ -1,64 +1,56 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtPto3PAmpFactory.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
#ifndef EVT_PTO3P_AMP_FACTORY_HH
#define EVT_PTO3P_AMP_FACTORY_HH
#include <vector>
#include <string>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtAmpFactory.hh"
#include "EvtGenBase/EvtDalitzPlot.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
#include "EvtGenBase/EvtCyclic3.hh"
-class EvtPto3PAmpFactory : public EvtAmpFactory<EvtDalitzPoint> {
-
+class EvtPto3PAmpFactory final : public EvtAmpFactory<EvtDalitzPoint> {
+
public:
-
- EvtPto3PAmpFactory(const EvtDalitzPlot& dp)
+
+ EvtPto3PAmpFactory(const EvtDalitzPlot& dp)
: EvtAmpFactory<EvtDalitzPoint>(), _dp(dp)
{}
- EvtPto3PAmpFactory(const EvtPto3PAmpFactory& other)
- : EvtAmpFactory<EvtDalitzPoint>(other), _dp(other._dp)
- {}
- virtual ~EvtPto3PAmpFactory()
- {}
-
- virtual EvtAmpFactory<EvtDalitzPoint>* clone() const
- {
- return new EvtPto3PAmpFactory(*this);
+ EvtPto3PAmpFactory(EvtPto3PAmpFactory&&) = default;
+ EvtPto3PAmpFactory(const EvtPto3PAmpFactory&) = default;
+
+ EvtAmpFactory<EvtDalitzPoint>* clone() const override
+ {
+ return new EvtPto3PAmpFactory(*this);
}
-
- virtual void processAmp(EvtComplex c, std::vector<std::string> vv, bool conj);
-
+
+ void processAmp(EvtComplex c, std::vector<std::string> vv, bool conj) override;
+
private:
- double matchIsobarCoef(EvtAmplitude<EvtDalitzPoint>* amp,
- EvtPdf<EvtDalitzPoint>* pdf,
+ double matchIsobarCoef(EvtAmplitude<EvtDalitzPoint>& amp,
+ EvtPdf<EvtDalitzPoint>& pdf,
EvtCyclic3::Pair i);
EvtDalitzPlot _dp;
};
#endif
-
-
-
-
-
diff --git a/EvtGenBase/EvtPto3PAmpSmpResolution.hh b/EvtGenBase/EvtPto3PAmpSmpResolution.hh
index 6cbebba..6351a48 100644
--- a/EvtGenBase/EvtPto3PAmpSmpResolution.hh
+++ b/EvtGenBase/EvtPto3PAmpSmpResolution.hh
@@ -1,58 +1,55 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* Author: D. Dujmic, ddujmic@slac.stanford.edu
*
* Copyright (C) 2005 SLAC
*******************************************************************************/
#ifndef EVT_PTO3P_AMP_SMPRSL_HH
#define EVT_PTO3P_AMP_SMPRSL_HH
#include "EvtGenBase/EvtPto3PAmp.hh"
#include "EvtGenBase/EvtCyclic3.hh"
class EvtComplex;
class EvtPto3PAmpSmpResolution : public EvtPto3PAmp {
-
+
public:
- EvtPto3PAmpSmpResolution(EvtDalitzPlot dp,
- EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
- EvtSpinType::spintype spin,
+ EvtPto3PAmpSmpResolution(EvtDalitzPlot dp,
+ EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes,
+ EvtSpinType::spintype spin,
const EvtPropagator& prop, NumType typeN);
-
- EvtPto3PAmpSmpResolution(const EvtPto3PAmp& other);
- ~EvtPto3PAmpSmpResolution();
- virtual EvtAmplitude<EvtDalitzPoint>* clone() const
+ EvtAmplitude<EvtDalitzPoint>* clone() const override
{ return new EvtPto3PAmpSmpResolution(*this); }
- virtual EvtComplex evalPropagator(double m) const;
-
+ EvtComplex evalPropagator(double m) const override;
+
void setResolution(double bias, double sigma) {
_bias=bias; _sigma=sigma;
}
private:
double _bias;
double _sigma;
};
#endif
diff --git a/EvtGenBase/EvtRaritaSchwinger.hh b/EvtGenBase/EvtRaritaSchwinger.hh
index 247dd1f..74567d1 100644
--- a/EvtGenBase/EvtRaritaSchwinger.hh
+++ b/EvtGenBase/EvtRaritaSchwinger.hh
@@ -1,136 +1,135 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtGen/EvtRaritaSchwing.hh
//
// Description:Class to handle spin 3/2
//
// Modification history:
//
// RYD April 23, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTRARITASCHWINGER_HH
#define EVTRARITASCHWINGER_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
class EvtRaritaSchwinger ;
EvtRaritaSchwinger rotateEuler(const EvtRaritaSchwinger& rs,
double alpha,double beta,double gamma);
EvtRaritaSchwinger boostTo(const EvtRaritaSchwinger& rs,
const EvtVector4R p4);
EvtRaritaSchwinger boostTo(const EvtRaritaSchwinger& rs,
const EvtVector3R boost);
EvtRaritaSchwinger dirProd(EvtVector4R v,EvtDiracSpinor u);
EvtRaritaSchwinger dirProd(EvtVector4C v,EvtDiracSpinor u);
EvtRaritaSchwinger operator+(const EvtRaritaSchwinger& u1,
- const EvtRaritaSchwinger& u2);
+ const EvtRaritaSchwinger& u2);
EvtRaritaSchwinger operator-(const EvtRaritaSchwinger& u1,
- const EvtRaritaSchwinger& u2);
+ const EvtRaritaSchwinger& u2);
EvtComplex operator*(const EvtRaritaSchwinger& u1,
const EvtRaritaSchwinger& u2);
-class EvtRaritaSchwinger{
+class EvtRaritaSchwinger final {
friend EvtRaritaSchwinger rotateEuler(const EvtRaritaSchwinger& rs,
double alpha,double beta,double gamma);
friend EvtRaritaSchwinger boostTo(const EvtRaritaSchwinger& rs,
const EvtVector4R p4);
friend EvtRaritaSchwinger boostTo(const EvtRaritaSchwinger& rs,
const EvtVector3R boost);
friend EvtRaritaSchwinger dirProd(EvtVector4R v,EvtDiracSpinor u);
friend EvtRaritaSchwinger dirProd(EvtVector4C v,EvtDiracSpinor u);
friend EvtRaritaSchwinger operator+(const EvtRaritaSchwinger& u1,
- const EvtRaritaSchwinger& u2);
+ const EvtRaritaSchwinger& u2);
friend EvtRaritaSchwinger operator-(const EvtRaritaSchwinger& u1,
- const EvtRaritaSchwinger& u2);
+ const EvtRaritaSchwinger& u2);
friend EvtComplex operator*(const EvtRaritaSchwinger& u1,
- const EvtRaritaSchwinger& u2);
+ const EvtRaritaSchwinger& u2);
public:
inline EvtRaritaSchwinger();
- virtual ~EvtRaritaSchwinger();
inline EvtRaritaSchwinger(const EvtRaritaSchwinger& rs);
inline EvtRaritaSchwinger& operator=(const EvtRaritaSchwinger& rs);
void set(int i,int j,const EvtComplex& sp);
void applyRotateEuler(double alpha,double beta,double gamma);
void applyBoostTo(const EvtVector4R p4);
void applyBoostTo(const EvtVector3R boost);
-
+
EvtRaritaSchwinger& operator+=(const EvtRaritaSchwinger& u2);
EvtRaritaSchwinger& operator-=(const EvtRaritaSchwinger& u2);
- EvtComplex get(int i,int j) const;
- friend std::ostream& operator<<(std::ostream& s, const EvtRaritaSchwinger& rs);
+ EvtComplex get(int i,int j) const;
+ friend std::ostream& operator<<(std::ostream& s, const EvtRaritaSchwinger& rs);
EvtVector4C getVector(int i) const;
EvtDiracSpinor getSpinor(int i) const;
void setVector(int i,const EvtVector4C& v);
void setSpinor(int i,const EvtDiracSpinor& sp);
-
+
private:
-
+
//First index in spinor index, second is Lorentz index.
EvtComplex _rs[4][4];
};
EvtRaritaSchwinger::EvtRaritaSchwinger(){
int i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_rs[i][j]=0.0;
}
}
}
EvtRaritaSchwinger::EvtRaritaSchwinger(const EvtRaritaSchwinger& rs){
int i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_rs[i][j]=rs._rs[i][j];
}
}
}
EvtRaritaSchwinger& EvtRaritaSchwinger::operator=(const EvtRaritaSchwinger& rs){
int i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_rs[i][j]=rs._rs[i][j];
}
}
return *this;
}
#endif
diff --git a/EvtGenBase/EvtRaritaSchwingerParticle.hh b/EvtGenBase/EvtRaritaSchwingerParticle.hh
index 39042fd..4ae5c16 100644
--- a/EvtGenBase/EvtRaritaSchwingerParticle.hh
+++ b/EvtGenBase/EvtRaritaSchwingerParticle.hh
@@ -1,59 +1,58 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtRaritaSchwingerParticle.hh
//
// Description:Represents particles i.e. spin 3/2 particles.
//
// Modification history:
//
// RYD August 9, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTRARITASCHWINGERPARTICLE_HH
#define EVTRARITASCHWINGERPARTICLE_HH
#include "EvtGenBase/EvtRaritaSchwinger.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtParticle.hh"
class EvtVector4R;
class EvtRaritaSchwingerParticle:public EvtParticle {
public:
-
- EvtRaritaSchwingerParticle();
- virtual ~EvtRaritaSchwingerParticle();
- void init(EvtId id,const EvtVector4R& p4);
+
+ EvtRaritaSchwingerParticle() = default;
+ void init(EvtId id,const EvtVector4R& p4) override;
void init(EvtId id,const EvtVector4R& p4,
const EvtRaritaSchwinger &,const EvtRaritaSchwinger &,
const EvtRaritaSchwinger &,const EvtRaritaSchwinger &,
const EvtRaritaSchwinger &,const EvtRaritaSchwinger &,
const EvtRaritaSchwinger &,const EvtRaritaSchwinger &);
- EvtRaritaSchwinger spRSParent(int) const;
- EvtRaritaSchwinger spRS(int) const;
- EvtSpinDensity rotateToHelicityBasis() const;
+ EvtRaritaSchwinger spRSParent(int) const override;
+ EvtRaritaSchwinger spRS(int) const override;
+ EvtSpinDensity rotateToHelicityBasis() const override;
EvtSpinDensity rotateToHelicityBasis(double alpha,
double beta,
- double gamma) const;
+ double gamma) const override;
private:
EvtRaritaSchwinger _spinorRest[4];
EvtRaritaSchwinger _spinor[4];
EvtRaritaSchwingerParticle(const EvtRaritaSchwingerParticle& d);
EvtRaritaSchwingerParticle& operator=(const EvtRaritaSchwingerParticle& d);
};
#endif
diff --git a/EvtGenBase/EvtRelBreitWignerBarrierFact.hh b/EvtGenBase/EvtRelBreitWignerBarrierFact.hh
index 459ac21..5148fe8 100644
--- a/EvtGenBase/EvtRelBreitWignerBarrierFact.hh
+++ b/EvtGenBase/EvtRelBreitWignerBarrierFact.hh
@@ -1,58 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtAbsLineShape.hh
//
// Description: Class to keep the particle properties for
// one particle
//
// Modification history:
//
// Lange March 10, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTRELBREITWIGNERBARRIERFACT_HH
#define EVTRELBREITWIGNERBARRIERFACT_HH
#include "EvtGenBase/EvtAbsLineShape.hh"
class EvtRelBreitWignerBarrierFact :public EvtAbsLineShape {
public:
- EvtRelBreitWignerBarrierFact();
+ EvtRelBreitWignerBarrierFact() = default;
EvtRelBreitWignerBarrierFact(double mass, double width, double maxRange, EvtSpinType::spintype sp);
//figure the m1 and l on the fly
- // double mDaug1, double mDaug2, int l);
- ~EvtRelBreitWignerBarrierFact();
+ // double mDaug1, double mDaug2, int l);
EvtRelBreitWignerBarrierFact& operator=(const EvtRelBreitWignerBarrierFact& x);
- EvtRelBreitWignerBarrierFact(const EvtRelBreitWignerBarrierFact& x);
+ EvtRelBreitWignerBarrierFact(const EvtRelBreitWignerBarrierFact& x);
- EvtAbsLineShape* clone();
+ EvtAbsLineShape* clone() override;
- double getMassProb(double mass, double massPar, int nDaug, double *massDau);
+ double getMassProb(double mass, double massPar, int nDaug, double *massDau) override;
// othDaugId is the other daughter of the parent in the case of a two body decay (only!)
// ie B->rho K rho->pipi, othDaugId = K
- double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses);
+ double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses) override;
- virtual void reSetBlatt(double blatt) { _blattDecay = blatt; }
- virtual void reSetBlattBirth(double blatt) { _blattBirth = blatt; }
+ void reSetBlatt(double blatt) override { _blattDecay = blatt; }
+ void reSetBlattBirth(double blatt) override { _blattBirth = blatt; }
protected:
double _blattDecay;
double _blattBirth;
bool _errorCond;
-};
+};
#endif
diff --git a/EvtGenBase/EvtReport.hh b/EvtGenBase/EvtReport.hh
index 7adfd3e..166643f 100644
--- a/EvtGenBase/EvtReport.hh
+++ b/EvtGenBase/EvtReport.hh
@@ -1,42 +1,63 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtReport.hh
//
// Description:
//
// Modification history:
//
// Author: Simon Patton
// Created: Mon Jun 3 12:45:03 EDT 1996
//
//------------------------------------------------------------------------
-#ifndef EVTREPORT_HH
-#define EVTREPORT_HH
+#if !defined(TOOLBOX_FUNCTIONS_HH)
+#define TOOLBOX_FUNCTIONS_HH
+#if !defined(FILENAME_ONLY) /* relative path includes */
+
+// system include files
#include <iostream>
+// user include files
+
+#else /* filename-only includes */
+#include <iostream>
+#include <types.h>
+#endif /* filename-only includes */
+// system include files
+
+// user include files
+
+// forward declarations
+
+//
+// constants, enums and typedefs
+//
enum EvtGenSeverity {
- EVTGEN_EMERGENCY, // fatal
- EVTGEN_ALERT, // requires immediate action
- EVTGEN_CRITICAL, // serious
- EVTGEN_ERROR,
- EVTGEN_WARNING,
- EVTGEN_NOTICE, // "normal but significant"
- EVTGEN_INFO, // informational
- EVTGEN_DEBUG // debug
+ EVTGEN_EMERGENCY, // fatal
+ EVTGEN_ALERT, // requires immediate action
+ EVTGEN_CRITICAL, // serious
+ EVTGEN_ERROR,
+ EVTGEN_WARNING,
+ EVTGEN_NOTICE, // "normal but significant"
+ EVTGEN_INFO, // informational
+ EVTGEN_DEBUG // debug
};
// function declaration
std::ostream& EvtGenReport(EvtGenSeverity severity,
const char* facility = 0);
-#endif
+// inline function definitions
+
+#endif /* TOOLBOX_FUNCTIONS_HH */
+
diff --git a/EvtGenBase/EvtResonance.hh b/EvtGenBase/EvtResonance.hh
index 1378993..b330005 100644
--- a/EvtGenBase/EvtResonance.hh
+++ b/EvtGenBase/EvtResonance.hh
@@ -1,81 +1,79 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtResonance.hh
//
// Description:resonance-defining class
//
// Modification history:
//
// NK September 4, 1997 Module created
//
//------------------------------------------------------------------------
#ifndef EVTRESONANCE_HH
#define EVTRESONANCE_HH
#include "EvtGenBase/EvtVector4R.hh"
class EvtComplex;
-class EvtResonance {
+class EvtResonance final {
public:
EvtResonance& operator = (const EvtResonance &);
-
+
//constructor with all information about the resonance
- EvtResonance(const EvtVector4R& p4_p, const EvtVector4R& p4_d1,
- const EvtVector4R& p4_d2,
- double ampl = 0.0, double theta = 0.0, double gamma = 0.0,
+ EvtResonance(const EvtVector4R& p4_p, const EvtVector4R& p4_d1,
+ const EvtVector4R& p4_d2,
+ double ampl = 0.0, double theta = 0.0, double gamma = 0.0,
double bwm = 0.0, int spin = 0);
- //destructor
- virtual ~EvtResonance();
-
+
//accessors
//return 4-momenta of the particles involved
inline const EvtVector4R& p4_p() { return _p4_p; }
inline const EvtVector4R& p4_d1() { return _p4_d1; }
- inline const EvtVector4R& p4_d2() { return _p4_d2; }
-
+ inline const EvtVector4R& p4_d2() { return _p4_d2; }
+
//return amplitude
- inline double amplitude() { return _ampl; }
+ inline double amplitude() { return _ampl; }
//return theta
- inline double theta() { return _theta; }
+ inline double theta() { return _theta; }
//return gamma
- inline double gamma() { return _gamma; }
+ inline double gamma() { return _gamma; }
//return bwm
- inline double bwm() { return _bwm; }
+ inline double bwm() { return _bwm; }
//return spin
- inline int spin() { return _spin; }
+ inline int spin() { return _spin; }
//calculate amplitude for this resonance
EvtComplex resAmpl();
-
+
//calculate relativistic Breit-Wigner amplitude for P-decays of scalars
EvtComplex relBrWig(int i);
-
+
private:
EvtVector4R _p4_p, _p4_d1, _p4_d2;
double _ampl, _theta, _gamma, _bwm;
int _spin;
-};
+};
#endif
diff --git a/EvtGenBase/EvtScalarParticle.hh b/EvtGenBase/EvtScalarParticle.hh
index 5dc3822..42a8534 100644
--- a/EvtGenBase/EvtScalarParticle.hh
+++ b/EvtGenBase/EvtScalarParticle.hh
@@ -1,51 +1,50 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtScalarParticle.hh
//
// Description:Class to describe all spin 0 particles.
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSCALARPARTICLE_HH
#define EVTSCALARPARTICLE_HH
#include "EvtGenBase/EvtParticle.hh"
class EvtId;
class EvtScalarParticle: public EvtParticle {
public:
EvtScalarParticle() {}
- virtual ~EvtScalarParticle();
void init(EvtId part_n,double e,double px,double py,double pz);
- void init(EvtId part_n,const EvtVector4R& p);
+ void init(EvtId part_n,const EvtVector4R& p) override;
- EvtSpinDensity rotateToHelicityBasis() const;
+ EvtSpinDensity rotateToHelicityBasis() const override;
EvtSpinDensity rotateToHelicityBasis(double alpha,
double beta,
- double gamma) const;
-
+ double gamma) const override;
+
private:
EvtScalarParticle(const EvtScalarParticle& scalar);
EvtScalarParticle& operator=(const EvtScalarParticle& scalar);
};
#endif
diff --git a/EvtGenBase/EvtSemiLeptonicBaryonAmp.hh b/EvtGenBase/EvtSemiLeptonicBaryonAmp.hh
index 38d5615..b3c548e 100644
--- a/EvtGenBase/EvtSemiLeptonicBaryonAmp.hh
+++ b/EvtGenBase/EvtSemiLeptonicBaryonAmp.hh
@@ -1,75 +1,73 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSemiLeptonicBaryonAmp.hh
//
// Description:
//
// Modification history:
//
// Lange Oct 20, 2004 Created
//
//------------------------------------------------------------------------
#ifndef EVTSEMILEPTONICBARYONAMP_HH
#define EVTSEMILEPTONICBARYONAMP_HH
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
class EvtParticle;
class EvtAmp;
class EvtSemiLeptonicFF;
class EvtVector4C;
class EvtVector4R;
class EvtDiracSpinor;
class EvtRaritaSchwinger;
class EvtSemiLeptonicBaryonAmp:public EvtSemiLeptonicAmp {
public:
- virtual ~EvtSemiLeptonicBaryonAmp();
-
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent,EvtAmp& amp,
- EvtSemiLeptonicFF *FormFactors );
+ EvtSemiLeptonicFF *FormFactors ) override;
void CalcAmp( EvtParticle *parent, EvtAmp& amp,
EvtSemiLeptonicFF *FormFactors,
EvtComplex r00, EvtComplex r01,
EvtComplex r10, EvtComplex r11 );
-
+
double CalcMaxProb( EvtId parent, EvtId meson, EvtId lepton,
EvtId nudaug, EvtSemiLeptonicFF *FormFactors,
EvtComplex r00, EvtComplex r01,
EvtComplex r10, EvtComplex r11);
private:
EvtVector4C EvtBaryonVACurrent( const EvtDiracSpinor& Bf,
- const EvtDiracSpinor& Bi,
- EvtVector4R parent,
- EvtVector4R daught,
+ const EvtDiracSpinor& Bi,
+ EvtVector4R parent,
+ EvtVector4R daught,
const double *ff, int pflag);
EvtVector4C EvtBaryonVARaritaCurrent( const EvtRaritaSchwinger& Bf_vect,
- const EvtDiracSpinor& Bi,
- EvtVector4R parent,
- EvtVector4R daught,
+ const EvtDiracSpinor& Bi,
+ EvtVector4R parent,
+ EvtVector4R daught,
const double *ff, int pflag);
};
#endif
diff --git a/EvtGenBase/EvtSemiLeptonicScalarAmp.hh b/EvtGenBase/EvtSemiLeptonicScalarAmp.hh
index 11cc800..1dac8a9 100644
--- a/EvtGenBase/EvtSemiLeptonicScalarAmp.hh
+++ b/EvtGenBase/EvtSemiLeptonicScalarAmp.hh
@@ -1,40 +1,40 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSemiLeptonicScalarAmp.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSEMILEPTONICSCALARAMP_HH
#define EVTSEMILEPTONICSCALARAMP_HH
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
class EvtAmp;
class EvtParticle;
class EvtSemiLeptonicFF;
class EvtSemiLeptonicScalarAmp : public EvtSemiLeptonicAmp {
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent, EvtAmp& amp,
- EvtSemiLeptonicFF *FormFactors );
+ EvtSemiLeptonicFF *FormFactors ) override;
};
#endif
diff --git a/EvtGenBase/EvtSemiLeptonicTensorAmp.hh b/EvtGenBase/EvtSemiLeptonicTensorAmp.hh
index a863526..cf84414 100644
--- a/EvtGenBase/EvtSemiLeptonicTensorAmp.hh
+++ b/EvtGenBase/EvtSemiLeptonicTensorAmp.hh
@@ -1,44 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSemiLeptonicTensorAmp.hh
//
// Description: Class for calcultaion of amplitude for semileptonic
// decay to tensor.
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSEMILEPTONICTENSORAMP_HH
#define EVTSEMILEPTONICTENSORAMP_HH
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
class EvtParticle;
class EvtSemiLeptonicFF;
class EvtAmp;
-class EvtSemiLeptonicTensorAmp:
+class EvtSemiLeptonicTensorAmp:
public EvtSemiLeptonicAmp {
public:
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
- void CalcAmp( EvtParticle *parent, EvtAmp& amp, EvtSemiLeptonicFF *FormFactors );
+ void CalcAmp( EvtParticle *parent, EvtAmp& amp, EvtSemiLeptonicFF *FormFactors ) override;
};
#endif
diff --git a/EvtGenBase/EvtSemiLeptonicVectorAmp.hh b/EvtGenBase/EvtSemiLeptonicVectorAmp.hh
index 155ee90..d6c1f97 100644
--- a/EvtGenBase/EvtSemiLeptonicVectorAmp.hh
+++ b/EvtGenBase/EvtSemiLeptonicVectorAmp.hh
@@ -1,43 +1,43 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSemiLeptonicVectorAmp.hh
//
// Description: Class for calcultaion of amplitude for semileptonic
// decay to a vector particle.
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSEMILEPTONICVECTORAMP_HH
#define EVTSEMILEPTONICVECTORAMP_HH
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
class EvtParticle;
class EvtAmp;
class EvtSemiLeptonicFF;
class EvtSemiLeptonicVectorAmp:public EvtSemiLeptonicAmp {
public:
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent,EvtAmp& amp,
- EvtSemiLeptonicFF *FormFactors );
+ EvtSemiLeptonicFF *FormFactors ) override;
};
#endif
diff --git a/EvtGenBase/EvtSimpleRandomEngine.hh b/EvtGenBase/EvtSimpleRandomEngine.hh
index 76865c4..e07457d 100644
--- a/EvtGenBase/EvtSimpleRandomEngine.hh
+++ b/EvtGenBase/EvtSimpleRandomEngine.hh
@@ -1,50 +1,50 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtRandom.hh
//
// Description:Class to generate random numbers. Single member
// function random is expected to return a random
// number in the range ]0..1[.
//
// Modification history:
//
// RYD December 25, 1999 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSIMPLERANDOMENGINE_HH
#define EVTSIMPLERANDOMENGINE_HH
#include "EvtGenBase/EvtRandomEngine.hh"
class EvtSimpleRandomEngine : public EvtRandomEngine {
public:
EvtSimpleRandomEngine(){
_next=1;
}
void reset() {
_next=1;
}
- virtual double random();
+ double random() override;
private:
unsigned long int _next;
};
#endif
diff --git a/EvtGenBase/EvtStreamAdapter.hh b/EvtGenBase/EvtStreamAdapter.hh
index 1b05d9c..91886d8 100644
--- a/EvtGenBase/EvtStreamAdapter.hh
+++ b/EvtGenBase/EvtStreamAdapter.hh
@@ -1,93 +1,93 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtStreamAdapter.hh,v 1.2 2009-03-16 16:40:16 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
-// Stream adapters are used to convert a stream-like input (for example,
-// a file containing N entries) to an STL like iterator interface. There
-// must be a way to get point from the stream, and also an indicator of the
+// Stream adapters are used to convert a stream-like input (for example,
+// a file containing N entries) to an STL like iterator interface. There
+// must be a way to get point from the stream, and also an indicator of the
// end of the stream.
#ifndef EVT_STREAM_ADAPTER_HH
#define EVT_STREAM_ADAPTER_HH
template <class Point> class EvtStreamAdapter {
public:
EvtStreamAdapter()
{}
virtual ~EvtStreamAdapter()
{}
virtual EvtStreamAdapter* clone() const = 0;
virtual Point currentValue() = 0;
virtual void advance() = 0;
virtual bool pastEnd() = 0;
};
// N points are read from a generated stream.
template <class Point,class Generator>
class EvtGenStreamAdapter : public EvtStreamAdapter<Point> {
public:
EvtGenStreamAdapter(Generator gen, int count)
: _gen(gen), _count(count)
{}
- virtual ~EvtGenStreamAdapter()
+ virtual ~EvtGenStreamAdapter()
{}
- virtual EvtStreamAdapter<Point>* clone() const
- {
- return new EvtGenStreamAdapter(*this);
+ EvtStreamAdapter<Point>* clone() const override
+ {
+ return new EvtGenStreamAdapter(*this);
}
- virtual Point currentValue() { return _gen(); }
- virtual bool pastEnd() { return (_count <= 0); }
- virtual void advance() { _count--; }
-
+ Point currentValue() override { return _gen(); }
+ bool pastEnd() override { return (_count <= 0); }
+ void advance() override { _count--; }
+
private:
Generator _gen;
int _count; // also serves as past the end indicator
};
// Only points satisfying a predicate are read from the stream.
template <class Point, class Iterator, class Predicate>
class EvtPredStreamAdapter : public EvtStreamAdapter<Point> {
public:
EvtPredStreamAdapter(Predicate pred, Iterator it, Iterator end)
: _pred(pred), _it(it), _end(end)
{}
virtual ~EvtPredStreamAdapter()
{}
virtual EvtStreamAdapter<Point>* clone() const
- {
- return new EvtPredStreamAdapter(*this);
+ {
+ return new EvtPredStreamAdapter(*this);
}
- virtual Point currentValue() {
+ virtual Point currentValue() {
Point value;
while(!pastEnd()) {
-
+
value = *_it;
if(_pred(value)) break;
_it++;
}
return value;
- }
+ }
virtual bool pastEnd() { return _it == _end; }
virtual void advance() { _it++; }
private:
Predicate _pred;
Iterator _it;
Iterator _end;
};
#endif
diff --git a/EvtGenBase/EvtStringParticle.hh b/EvtGenBase/EvtStringParticle.hh
index f3cb40a..099372d 100644
--- a/EvtGenBase/EvtStringParticle.hh
+++ b/EvtGenBase/EvtStringParticle.hh
@@ -1,56 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtStringParticle.hh
//
// Description: EvtStringParticle particle is a class to keep the
// collection of partons that are generated by jetset.
// This is supposedly the _only_ use of this particle.
//
// Modification history:
//
// RYD Febuary 27, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSTRINGPARTICLE_HH
#define EVTSTRINGPARTICLE_HH
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtId.hh"
class EvtStringParticle:public EvtParticle {
public:
- EvtStringParticle();
- virtual ~EvtStringParticle();
- void init(EvtId id, const EvtVector4R& p4);
+ void init(EvtId id, const EvtVector4R& p4) override;
void initPartons(int npartons,EvtVector4R* p4partons,EvtId* idpartons);
int getNPartons();
EvtId getIdParton(int i);
EvtVector4R getP4Parton(int i);
- EvtSpinDensity rotateToHelicityBasis() const;
+ EvtSpinDensity rotateToHelicityBasis() const override;
EvtSpinDensity rotateToHelicityBasis(double alpha,
double beta,
- double gamma) const;
+ double gamma) const override;
private:
- int _npartons;
-
- EvtVector4R* _p4partons;
- EvtId* _idpartons;
+ std::vector<EvtVector4R> _p4partons;
+ std::vector<EvtId> _idpartons;
EvtStringParticle& operator=(const EvtStringParticle& d);
};
#endif
diff --git a/EvtGenBase/EvtTensor3C.hh b/EvtGenBase/EvtTensor3C.hh
index 157328c..2f32793 100644
--- a/EvtGenBase/EvtTensor3C.hh
+++ b/EvtGenBase/EvtTensor3C.hh
@@ -1,130 +1,129 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTensor3C.hh
//
// Description: Class to handle complex 3 tensors
//
// Modification history:
//
// RYD September 14, 1997 Module created
//
//------------------------------------------------------------------------
#ifndef EVTTENSOR3C_HH
#define EVTTENSOR3C_HH
#include <iostream>
#include "EvtGenBase/EvtComplex.hh"
class EvtVector3C;
class EvtVector3R;
class EvtTensor3C;
namespace EvtGenFunctions {
EvtTensor3C eps(const EvtVector3R& v);
EvtTensor3C rotateEuler(const EvtTensor3C& v,
double phi,double theta,double ksi);
- EvtTensor3C directProd(const EvtVector3C& c1,const EvtVector3C& c2);
- EvtTensor3C directProd(const EvtVector3C& c1,const EvtVector3R& c2);
+ EvtTensor3C directProd(const EvtVector3C& c1,const EvtVector3C& c2);
+ EvtTensor3C directProd(const EvtVector3C& c1,const EvtVector3R& c2);
EvtTensor3C directProd(const EvtVector3R& c1,const EvtVector3R& c2);
}
-class EvtTensor3C {
+class EvtTensor3C final {
friend EvtTensor3C operator*(
const EvtComplex& c,const EvtTensor3C& t2);
friend EvtTensor3C operator*(const double d,const EvtTensor3C& t2);
friend EvtTensor3C operator*(
const EvtTensor3C& t2,const EvtComplex& c);
friend EvtTensor3C operator*(const EvtTensor3C& t2,const double d);
friend EvtTensor3C operator+(
const EvtTensor3C& t1,const EvtTensor3C& t2);
friend EvtTensor3C operator-(
const EvtTensor3C& t1,const EvtTensor3C& t2);
- friend EvtTensor3C EvtGenFunctions::directProd(const EvtVector3C& c1,const EvtVector3C& c2);
- friend EvtTensor3C EvtGenFunctions::directProd(const EvtVector3C& c1,const EvtVector3R& c2);
- friend EvtTensor3C EvtGenFunctions::directProd(const EvtVector3R& c1,const EvtVector3R& c2);
+ friend EvtTensor3C EvtGenFunctions::directProd(const EvtVector3C& c1,const EvtVector3C& c2);
+ friend EvtTensor3C EvtGenFunctions::directProd(const EvtVector3C& c1,const EvtVector3R& c2);
+ friend EvtTensor3C EvtGenFunctions::directProd(const EvtVector3R& c1,const EvtVector3R& c2);
friend EvtTensor3C conj(const EvtTensor3C& t2);
//Contract the second index of two tensors result(i,j) = t1(i,k)t2(j,k)
- friend EvtTensor3C cont22(const EvtTensor3C& t1,const EvtTensor3C& t2);
+ friend EvtTensor3C cont22(const EvtTensor3C& t1,const EvtTensor3C& t2);
//Contract the first index of two tensors result(i,j) = t1(k,i)t2(k,j)
friend EvtTensor3C cont11(const EvtTensor3C& t1,const EvtTensor3C& t2);
//Contract the last index of eps_{ijk} with w
friend EvtTensor3C EvtGenFunctions::eps(const EvtVector3R& v);
- friend std::ostream& operator<<(std::ostream& c,const EvtTensor3C& v);
+ friend std::ostream& operator<<(std::ostream& c,const EvtTensor3C& v);
public:
EvtTensor3C();
EvtTensor3C(const EvtTensor3C& t1 );
EvtTensor3C(double d11, double d22, double d33);
- virtual ~EvtTensor3C();
EvtTensor3C& operator=(const EvtTensor3C& t1);
inline void set(int i,int j,const EvtComplex& c);
inline const EvtComplex& get(int i, int j) const;
inline EvtComplex trace() const;
static const EvtTensor3C& id();
void zero();
void applyRotateEuler(double phi,double theta,double ksi);
EvtTensor3C operator+=(const EvtTensor3C& t2);
EvtTensor3C operator-=(const EvtTensor3C& t2);
EvtTensor3C operator*=(const double d);
EvtTensor3C operator*=(const EvtComplex& c);
EvtTensor3C conj() const;
- EvtVector3C cont1(const EvtVector3C& v) const;
- EvtVector3C cont2(const EvtVector3C& v) const;
- EvtVector3C cont1(const EvtVector3R& v) const;
- EvtVector3C cont2(const EvtVector3R& v) const;
-
+ EvtVector3C cont1(const EvtVector3C& v) const;
+ EvtVector3C cont2(const EvtVector3C& v) const;
+ EvtVector3C cont1(const EvtVector3R& v) const;
+ EvtVector3C cont2(const EvtVector3R& v) const;
+
private:
EvtComplex t[3][3];
};
inline EvtTensor3C operator*(const EvtComplex& c,const EvtTensor3C& t2){
return EvtTensor3C(t2)*=c;
}
inline EvtTensor3C operator*(const double d,const EvtTensor3C& t2){
return EvtTensor3C(t2)*=d;
}
inline EvtTensor3C operator*(const EvtTensor3C& t2,const EvtComplex& c){
return EvtTensor3C(t2)*=c;
}
inline EvtTensor3C operator*(const EvtTensor3C& t2,const double d){
return EvtTensor3C(t2)*=d;
}
inline EvtTensor3C operator+(const EvtTensor3C& t1,const EvtTensor3C& t2){
return EvtTensor3C(t1)+=t2;
}
inline EvtTensor3C operator-(const EvtTensor3C& t1,const EvtTensor3C& t2){
return EvtTensor3C(t1)-=t2;
}
inline void EvtTensor3C::set(int i,int j,const EvtComplex& c){
t[i][j]=c;
}
inline const EvtComplex& EvtTensor3C::get(int i,int j) const{
return t[i][j];
}
inline EvtComplex EvtTensor3C::trace() const{
return t[0][0]+t[1][1]+t[2][2];
}
#endif
diff --git a/EvtGenBase/EvtTensor4C.hh b/EvtGenBase/EvtTensor4C.hh
index dd799ab..77ed83b 100644
--- a/EvtGenBase/EvtTensor4C.hh
+++ b/EvtGenBase/EvtTensor4C.hh
@@ -1,122 +1,121 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTensor4C.hh
//
// Description: Class to handle complex tensor manipulation
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EvtTensor4C_HH
#define EvtTensor4C_HH
#include "EvtGenBase/EvtComplex.hh"
//Class to handle 4D complex valued tensors.
class EvtTensor4C;
class EvtVector4C;
class EvtVector4R;
class EvtVector3R;
namespace EvtGenFunctions {
EvtTensor4C directProd(const EvtVector4R& c1,const EvtVector4R& c2);
- EvtTensor4C directProd(const EvtVector4C& c1,const EvtVector4C& c2);
+ EvtTensor4C directProd(const EvtVector4C& c1,const EvtVector4C& c2);
EvtTensor4C directProd(const EvtVector4C& c1,const EvtVector4R& c2);
}
-class EvtTensor4C {
+class EvtTensor4C final {
friend EvtTensor4C EvtGenFunctions::directProd(const EvtVector4R& c1,const EvtVector4R& c2);
- friend EvtTensor4C EvtGenFunctions::directProd(const EvtVector4C& c1,const EvtVector4C& c2);
+ friend EvtTensor4C EvtGenFunctions::directProd(const EvtVector4C& c1,const EvtVector4C& c2);
friend EvtTensor4C EvtGenFunctions::directProd(const EvtVector4C& c1,const EvtVector4R& c2);
friend EvtTensor4C rotateEuler(const EvtTensor4C& e,
double alpha,double beta,double gamma);
friend EvtTensor4C boostTo(const EvtTensor4C& e,
const EvtVector4R p4);
friend EvtTensor4C boostTo(const EvtTensor4C& e,
- const EvtVector3R boost);
- friend EvtTensor4C dual(const EvtTensor4C& t2);
+ const EvtVector3R boost);
+ friend EvtTensor4C dual(const EvtTensor4C& t2);
friend EvtTensor4C conj(const EvtTensor4C& t2);
friend EvtTensor4C cont22(const EvtTensor4C& t1,const EvtTensor4C& t2);
friend EvtTensor4C cont11(const EvtTensor4C& t1,const EvtTensor4C& t2);
friend EvtTensor4C operator*(const EvtTensor4C& t1,const EvtComplex& c);
friend EvtTensor4C operator*(const EvtComplex& c,const EvtTensor4C& t1);
friend EvtTensor4C operator*(const EvtTensor4C& t1,double d);
friend EvtTensor4C operator*(double d,const EvtTensor4C& t1);
friend EvtComplex cont(const EvtTensor4C& t1,const EvtTensor4C& t2);
friend EvtTensor4C operator+(const EvtTensor4C& t1,const EvtTensor4C& t2);
friend EvtTensor4C operator-(const EvtTensor4C& t1,const EvtTensor4C& t2);
-
+
public:
EvtTensor4C() {;}
EvtTensor4C(double t00,double t11,double t22, double t33) { setdiag(t00,t11,t22,t33);}
EvtTensor4C(const EvtTensor4C& t1 );
- virtual ~EvtTensor4C();
EvtTensor4C& operator=(const EvtTensor4C& t1);
EvtTensor4C& operator*=(const EvtComplex& c);
EvtTensor4C& operator*=(double d);
EvtTensor4C& addDirProd(const EvtVector4R& p1,const EvtVector4R& p2);
static const EvtTensor4C& g();
inline void set(int i,int j,const EvtComplex& c);
void setdiag(double t00,double t11,double t22, double t33);
inline const EvtComplex& get(int i, int j) const;
inline EvtComplex trace() const;
void zero();
void applyRotateEuler(double alpha,double beta,double gamma);
void applyBoostTo(const EvtVector4R& p4);
void applyBoostTo(const EvtVector3R& boost);
- friend std::ostream& operator<<(std::ostream& s, const EvtTensor4C& t);
+ friend std::ostream& operator<<(std::ostream& s, const EvtTensor4C& t);
EvtTensor4C& operator+=(const EvtTensor4C& t2);
EvtTensor4C& operator-=(const EvtTensor4C& t2);
EvtTensor4C conj() const;
- EvtVector4C cont1(const EvtVector4C& v4) const;
- EvtVector4C cont2(const EvtVector4C& v4) const;
- EvtVector4C cont1(const EvtVector4R& v4) const;
- EvtVector4C cont2(const EvtVector4R& v4) const;
-
-
+ EvtVector4C cont1(const EvtVector4C& v4) const;
+ EvtVector4C cont2(const EvtVector4C& v4) const;
+ EvtVector4C cont1(const EvtVector4R& v4) const;
+ EvtVector4C cont2(const EvtVector4R& v4) const;
+
+
private:
EvtComplex t[4][4];
};
inline EvtTensor4C operator+(const EvtTensor4C& t1,const EvtTensor4C& t2){
return EvtTensor4C(t1)+=t2;
}
inline EvtTensor4C operator-(const EvtTensor4C& t1,const EvtTensor4C& t2){
return EvtTensor4C(t1)-=t2;
}
inline void EvtTensor4C::set(int i,int j,const EvtComplex& c){
t[i][j]=c;
}
inline const EvtComplex& EvtTensor4C::get(int i,int j) const{
return t[i][j];
}
inline EvtComplex EvtTensor4C::trace() const{
return t[0][0]-t[1][1]-t[2][2]-t[3][3];
}
#endif
diff --git a/EvtGenBase/EvtTensorParticle.hh b/EvtGenBase/EvtTensorParticle.hh
index b6543c3..7c3b4ff 100644
--- a/EvtGenBase/EvtTensorParticle.hh
+++ b/EvtGenBase/EvtTensorParticle.hh
@@ -1,59 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTensorParticle.hh
//
// Description: Class to describe tensor ( spin 2 ) particles.
//
// Modification history:
//
// DJL/RYD Sept. 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTTENSORPARTICLE_HH
#define EVTTENSORPARTICLE_HH
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtParticle.hh"
class EvtTensorParticle: public EvtParticle {
-
-public:
- EvtTensorParticle() {}
- virtual ~EvtTensorParticle();
+public:
+ EvtTensorParticle() = default;
void init(EvtId part_n,double e,double px,double py,double pz);
- void init(EvtId part_n,const EvtVector4R& p4);
+ void init(EvtId part_n,const EvtVector4R& p4) override;
void init(EvtId part_n,const EvtVector4R& p4,
const EvtTensor4C&,const EvtTensor4C&,const EvtTensor4C&,
const EvtTensor4C&,const EvtTensor4C&);
//Returns polarization tensors.
- EvtTensor4C epsTensorParent(int i) const;
- EvtTensor4C epsTensor(int i) const;
+ EvtTensor4C epsTensorParent(int i) const override;
+ EvtTensor4C epsTensor(int i) const override;
- EvtSpinDensity rotateToHelicityBasis() const;
+ EvtSpinDensity rotateToHelicityBasis() const override;
EvtSpinDensity rotateToHelicityBasis(double alpha,
double beta,
- double gamma) const;
+ double gamma) const override;
+
-
private:
-
- EvtTensor4C eps[5];//eps1,eps2,eps3,eps4,eps5;
- EvtTensorParticle(const EvtTensorParticle& tensor);
- EvtTensorParticle& operator=(const EvtTensorParticle& tensor);
+ EvtTensor4C eps[5];//eps1,eps2,eps3,eps4,eps5;
+
+ EvtTensorParticle(const EvtTensorParticle& tensor);
+ EvtTensorParticle& operator=(const EvtTensorParticle& tensor);
};
#endif
diff --git a/EvtGenBase/EvtTwoBodyKine.hh b/EvtGenBase/EvtTwoBodyKine.hh
index 3bbf4b6..55fae63 100644
--- a/EvtGenBase/EvtTwoBodyKine.hh
+++ b/EvtGenBase/EvtTwoBodyKine.hh
@@ -1,55 +1,53 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtTwoBodyKine.hh,v 1.2 2009-03-16 16:34:38 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Descriptions of the kinematics of a two-body decay.
#ifndef EVT_TWO_BODY_KINE_HH
#define EVT_TWO_BODY_KINE_HH
#include <iostream>
class EvtTwoBodyKine {
public:
enum Index {A,B,AB};
EvtTwoBodyKine();
EvtTwoBodyKine(double mA, double mB, double mAB);
- EvtTwoBodyKine(const EvtTwoBodyKine& other);
- ~EvtTwoBodyKine();
// Accessors
inline double mA() const { return _mA; }
inline double mB() const { return _mB; }
inline double mAB() const { return _mAB; }
double m(Index i) const;
// Momentum of the other two particles in the
// rest-frame of particle i.
double p(Index i = AB) const;
// Energy of particle i in the rest frame of particle j
double e(Index i, Index j) const;
void print(std::ostream& os) const;
private:
double _mA;
double _mB;
double _mAB;
};
std::ostream& operator<<(std::ostream& os, const EvtTwoBodyKine& p);
#endif
diff --git a/EvtGenBase/EvtTwoBodyVertex.hh b/EvtGenBase/EvtTwoBodyVertex.hh
index 1b0bc46..299c906 100644
--- a/EvtGenBase/EvtTwoBodyVertex.hh
+++ b/EvtGenBase/EvtTwoBodyVertex.hh
@@ -1,54 +1,54 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtTwoBodyVertex.hh,v 1.2 2009-03-16 16:34:38 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Two-body propagator vertex AB->A,B with an attached Blatt-Weisskopf form factor.
#ifndef EVT_TWO_BODY_VERTEX_HH
#define EVT_TWO_BODY_VERTEX_HH
#include <iostream>
#include "EvtGenBase/EvtTwoBodyKine.hh"
#include "EvtGenBase/EvtBlattWeisskopf.hh"
-#include <iosfwd>
+#include <memory>
class EvtTwoBodyVertex {
public:
EvtTwoBodyVertex();
EvtTwoBodyVertex(double mA, double mB, double mAB, int L);
EvtTwoBodyVertex(const EvtTwoBodyVertex& other);
- ~EvtTwoBodyVertex();
+ EvtTwoBodyVertex& operator=(const EvtTwoBodyVertex& other);
double widthFactor(EvtTwoBodyKine x) const;
double formFactor(EvtTwoBodyKine x) const;
double phaseSpaceFactor(EvtTwoBodyKine x, EvtTwoBodyKine::Index) const;
inline int L() const { return _LL; }
inline double mA() const { return _kine.mA(); }
inline double mB() const { return _kine.mB(); }
inline double mAB() const { return _kine.mAB(); }
inline double pD() const { return _p0; }
- void print(std::ostream& os) const;
+ void print(std::ostream& os) const;
void set_f(double R);
private:
EvtTwoBodyKine _kine;
- int _LL;
- double _p0;
- EvtBlattWeisskopf* _f; // optional Blatt-Weisskopf form factor
+ int _LL;
+ double _p0;
+ std::unique_ptr<EvtBlattWeisskopf> _f; // optional Blatt-Weisskopf form factor
};
std::ostream& operator<<(std::ostream& os, const EvtTwoBodyVertex& v);
#endif
diff --git a/EvtGenBase/EvtValError.hh b/EvtGenBase/EvtValError.hh
index 303062f..03b1d46 100644
--- a/EvtGenBase/EvtValError.hh
+++ b/EvtGenBase/EvtValError.hh
@@ -1,78 +1,77 @@
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtValError.hh,v 1.2 2009-03-16 16:34:38 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
-// Value and its associated error. E.g. this could be interval size and
+// Value and its associated error. E.g. this could be interval size and
// the error associated with numerical integration.
#ifndef EVT_VAL_ERROR_HH
#define EVT_VAL_ERROR_HH
#include <iostream>
#include <assert.h>
#include <math.h>
-class EvtValError {
+class EvtValError final {
public:
EvtValError();
EvtValError(double val);
EvtValError(double val, double err);
EvtValError(const EvtValError& other);
- ~EvtValError();
inline int valueKnown() const { return _valKnown; }
inline double value() const { assert(_valKnown); return _val; }
inline int errorKnown() const { return _errKnown; }
inline double error() const { assert(_errKnown); return _err; }
double prec() const;
void operator=(const EvtValError& other);
void operator*=(const EvtValError& other);
void operator/=(const EvtValError& other);
void operator+=(const EvtValError& other);
void operator*=(double c);
void print(std::ostream&) const;
private:
int _valKnown;
double _val;
int _errKnown;
double _err;
};
EvtValError operator*(const EvtValError& x1, const EvtValError& x2);
EvtValError operator/(const EvtValError& x1, const EvtValError& x2);
EvtValError operator+(const EvtValError& x1, const EvtValError& x2);
EvtValError operator*(const EvtValError& x,double c);
EvtValError operator*(double c,const EvtValError& x);
std::ostream& operator<<(std::ostream&, const EvtValError&);
// Perform an accept/reject fraction count
template <class InputIterator, class Predicate>
EvtValError accept_reject(InputIterator it, InputIterator end, Predicate pred)
{
int itsTried = 0;
int itsPassed = 0;
while(it != end) {
-
+
itsTried++;
if(pred(*it++)) itsPassed++;
}
return EvtValError(((double) itsPassed)/((double) itsTried),sqrt(itsPassed)/((double) itsTried));
}
#endif
diff --git a/EvtGenBase/EvtVector3C.hh b/EvtGenBase/EvtVector3C.hh
index 9e873fe..7be3ab6 100644
--- a/EvtGenBase/EvtVector3C.hh
+++ b/EvtGenBase/EvtVector3C.hh
@@ -1,177 +1,176 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVector3C.hh
//
// Description: Class for complex 3 vectors
//
// Modification history:
//
// RYD September 6, 1997 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVECTOR3C_N
#define EVTVECTOR3C_N
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector3R.hh"
#include <iosfwd>
-class EvtVector3C {
+class EvtVector3C final {
friend EvtVector3C rotateEuler(const EvtVector3C& v,
double phi,double theta,double ksi);
-
- inline friend EvtVector3C operator*(const EvtComplex& c,const EvtVector3C& v2);
- inline friend EvtVector3C operator*(const EvtComplex& c,const EvtVector3R& v2);
- inline friend EvtComplex operator*(const EvtVector3R& v1,const EvtVector3C& v2);
- inline friend EvtComplex operator*(const EvtVector3C& v1,const EvtVector3R& v2);
- inline friend EvtComplex operator*(const EvtVector3C& v1,const EvtVector3C& v2);
+
+ inline friend EvtVector3C operator*(const EvtComplex& c,const EvtVector3C& v2);
+ inline friend EvtVector3C operator*(const EvtComplex& c,const EvtVector3R& v2);
+ inline friend EvtComplex operator*(const EvtVector3R& v1,const EvtVector3C& v2);
+ inline friend EvtComplex operator*(const EvtVector3C& v1,const EvtVector3R& v2);
+ inline friend EvtComplex operator*(const EvtVector3C& v1,const EvtVector3C& v2);
inline friend EvtVector3C operator+(const EvtVector3C& v1,const EvtVector3C& v2);
inline friend EvtVector3C operator-(const EvtVector3C& v1,const EvtVector3C& v2);
inline friend EvtVector3C operator*(const EvtVector3C& v1,const EvtComplex& c);
-
+
public:
EvtVector3C();
EvtVector3C(const EvtComplex&,const EvtComplex&,const EvtComplex&);
- virtual ~EvtVector3C();
inline void set(const int,const EvtComplex&);
inline void set(const EvtComplex&,const EvtComplex&,const EvtComplex&);
inline void set(double,double,double);
inline EvtVector3C& operator*=(const EvtComplex& c);
inline EvtVector3C& operator/=(const EvtComplex& c);
inline EvtVector3C& operator+=(const EvtVector3C& v2);
inline EvtVector3C& operator-=(const EvtVector3C& v2);
- inline EvtVector3C(const EvtVector3R& v1);
+ inline EvtVector3C(const EvtVector3R& v1);
void applyRotateEuler(double phi,double theta,double ksi);
inline const EvtComplex& get(int) const;
inline EvtVector3C conj() const;
EvtVector3C cross(const EvtVector3C& v2);
- friend std::ostream& operator<<(std::ostream& c,const EvtVector3C& v);
- double dot( const EvtVector3C& p2 );
+ friend std::ostream& operator<<(std::ostream& c,const EvtVector3C& v);
+ double dot( const EvtVector3C& p2 );
private:
EvtComplex v[3];
};
inline EvtVector3C::EvtVector3C(const EvtVector3R& v1){
v[0]=EvtComplex(v1.get(0),0.0);
v[1]=EvtComplex(v1.get(1),0.0);
v[2]=EvtComplex(v1.get(2),0.0);
-}
+}
inline void EvtVector3C::set(const int i,const EvtComplex& c){
v[i]=c;
-
+
}
-inline void EvtVector3C::set(const EvtComplex& x,const EvtComplex& y,
+inline void EvtVector3C::set(const EvtComplex& x,const EvtComplex& y,
const EvtComplex& z){
- v[0]=x; v[1]=y; v[2]=z;
+ v[0]=x; v[1]=y; v[2]=z;
}
inline void EvtVector3C::set(double x,
double y,double z){
v[0]=EvtComplex(x); v[1]=EvtComplex(y); v[2]=EvtComplex(z);
}
inline const EvtComplex& EvtVector3C::get(int i) const {
return v[i];
}
inline EvtVector3C& EvtVector3C::operator*=(const EvtComplex& c){
v[0]*=c;
v[1]*=c;
v[2]*=c;
return *this;
}
inline EvtVector3C& EvtVector3C::operator/=(const EvtComplex& c){
v[0]/=c;
v[1]/=c;
v[2]/=c;
return *this;
}
inline EvtVector3C& EvtVector3C::operator+=(const EvtVector3C& v2){
v[0]+=v2.v[0];
v[1]+=v2.v[1];
v[2]+=v2.v[2];
return *this;
}
inline EvtVector3C& EvtVector3C::operator-=(const EvtVector3C& v2){
v[0]-=v2.v[0];
v[1]-=v2.v[1];
v[2]-=v2.v[2];
return *this;
}
inline EvtVector3C operator+(const EvtVector3C& v1,const EvtVector3C& v2) {
return EvtVector3C(v1)+=v2;
}
inline EvtVector3C operator-(const EvtVector3C& v1,const EvtVector3C& v2) {
return EvtVector3C(v1)-=v2;
}
inline EvtVector3C operator*(const EvtVector3C& v1,const EvtComplex& c) {
return EvtVector3C(v1)*=c;
}
inline EvtVector3C operator*(const EvtComplex& c,const EvtVector3C& v2){
return EvtVector3C(v2)*=c;
}
inline EvtVector3C operator*(const EvtComplex& c,const EvtVector3R& v2){
return EvtVector3C(v2)*=c;
}
inline EvtComplex operator*(const EvtVector3R& v1,const EvtVector3C& v2){
-
+
return v1.get(0)*v2.v[0]+v1.get(1)*v2.v[1]+v1.get(2)*v2.v[2];
}
inline EvtComplex operator*(const EvtVector3C& v1,const EvtVector3R& v2){
-
+
return v1.v[0]*v2.get(0)+v1.v[1]*v2.get(1)+v1.v[2]*v2.get(2);
}
inline EvtComplex operator*(const EvtVector3C& v1,const EvtVector3C& v2){
-
+
return v1.v[0]*v2.v[0]+v1.v[1]*v2.v[1]+v1.v[2]*v2.v[2];
}
-inline EvtVector3C EvtVector3C::conj() const {
+inline EvtVector3C EvtVector3C::conj() const {
return EvtVector3C(::conj(v[0]),::conj(v[1]),
::conj(v[2]));
}
#endif
diff --git a/EvtGenBase/EvtVector3R.hh b/EvtGenBase/EvtVector3R.hh
index 933c79f..e905daf 100644
--- a/EvtGenBase/EvtVector3R.hh
+++ b/EvtGenBase/EvtVector3R.hh
@@ -1,141 +1,140 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVector3R.hh
//
// Description: Class to describe real 3 vectors
//
// Modification history:
//
// RYD Sept. 5, 1997 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVECTOR3R_HH
#define EVTVECTOR3R_HH
#include <iosfwd>
-class EvtVector3R {
+class EvtVector3R final {
friend EvtVector3R rotateEuler(const EvtVector3R& v,
double phi,double theta,double ksi);
- inline friend EvtVector3R operator*(double c,const EvtVector3R& v2);
- inline friend double operator*(const EvtVector3R& v1,const EvtVector3R& v2);
+ inline friend EvtVector3R operator*(double c,const EvtVector3R& v2);
+ inline friend double operator*(const EvtVector3R& v1,const EvtVector3R& v2);
inline friend EvtVector3R operator+(const EvtVector3R& v1,const EvtVector3R& v2);
inline friend EvtVector3R operator-(const EvtVector3R& v1,const EvtVector3R& v2);
inline friend EvtVector3R operator*(const EvtVector3R& v1,double c);
inline friend EvtVector3R operator/(const EvtVector3R& v1,double c);
friend EvtVector3R cross(const EvtVector3R& v1,const EvtVector3R& v2);
-
+
public:
EvtVector3R();
EvtVector3R(double x,double y ,double z);
- virtual ~EvtVector3R();
inline EvtVector3R& operator*=(const double c);
inline EvtVector3R& operator/=(const double c);
inline EvtVector3R& operator+=(const EvtVector3R& v2);
inline EvtVector3R& operator-=(const EvtVector3R& v2);
inline void set(int i,double d);
inline void set(double x,double y ,double z);
void applyRotateEuler(double phi,double theta,double ksi);
inline double get(int i) const;
friend std::ostream& operator<<(std::ostream& s,const EvtVector3R& v);
double dot(const EvtVector3R& v2);
double d3mag() const;
private:
double v[3];
};
inline EvtVector3R& EvtVector3R::operator*=(const double c){
v[0]*=c;
v[1]*=c;
v[2]*=c;
return *this;
}
inline EvtVector3R& EvtVector3R::operator/=(const double c){
v[0]/=c;
v[1]/=c;
v[2]/=c;
return *this;
}
inline EvtVector3R& EvtVector3R::operator+=(const EvtVector3R& v2){
v[0]+=v2.v[0];
v[1]+=v2.v[1];
v[2]+=v2.v[2];
return *this;
}
inline EvtVector3R& EvtVector3R::operator-=(const EvtVector3R& v2){
v[0]-=v2.v[0];
v[1]-=v2.v[1];
v[2]-=v2.v[2];
return *this;
}
inline EvtVector3R operator*(double c,const EvtVector3R& v2){
-
+
return EvtVector3R(v2)*=c;
}
inline EvtVector3R operator*(const EvtVector3R& v1,double c){
-
+
return EvtVector3R(v1)*=c;
}
inline EvtVector3R operator/(const EvtVector3R& v1,double c){
- return EvtVector3R(v1)/=c;
+ return EvtVector3R(v1)/=c;
}
inline double operator*(const EvtVector3R& v1,const EvtVector3R& v2){
return v1.v[0]*v2.v[0]+v1.v[1]*v2.v[1]+v1.v[2]*v2.v[2];
}
inline EvtVector3R operator+(const EvtVector3R& v1,const EvtVector3R& v2) {
-
- return EvtVector3R(v1)+=v2;
+
+ return EvtVector3R(v1)+=v2;
}
inline EvtVector3R operator-(const EvtVector3R& v1,const EvtVector3R& v2) {
-
- return EvtVector3R(v1)-=v2;
+
+ return EvtVector3R(v1)-=v2;
}
inline double EvtVector3R::get(int i) const {
return v[i];
}
inline void EvtVector3R::set(int i,double d){
-
+
v[i]=d;
}
inline void EvtVector3R::set(double x,double y, double z){
v[0]=x;
v[1]=y;
v[2]=z;
}
#endif
diff --git a/EvtGenBase/EvtVector4C.hh b/EvtGenBase/EvtVector4C.hh
index 75e761e..061884e 100644
--- a/EvtGenBase/EvtVector4C.hh
+++ b/EvtGenBase/EvtVector4C.hh
@@ -1,212 +1,201 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVector4C.hh
//
// Description: Class for complex 4 vectors
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVECTOR4C_HH
#define EVTVECTOR4C_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector3C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include <iosfwd>
-class EvtVector4C {
-
- friend EvtVector4C rotateEuler(const EvtVector4C& e,
- double alpha,double beta,double gamma);
- friend EvtVector4C boostTo(const EvtVector4C& e,
- const EvtVector4R p4);
- friend EvtVector4C boostTo(const EvtVector4C& e,
- const EvtVector3R boost);
- inline friend EvtVector4C operator*(double d,const EvtVector4C& v2);
- inline friend EvtVector4C operator*(const EvtComplex& c,const EvtVector4C& v2);
- inline friend EvtVector4C operator*(const EvtVector4C& v2,const EvtComplex& c);
- inline friend EvtVector4C operator*(const EvtComplex& c,const EvtVector4R& v2);
- inline friend EvtComplex operator*(const EvtVector4R& v1,const EvtVector4C& v2);
- inline friend EvtComplex operator*(const EvtVector4C& v1,const EvtVector4R& v2);
- inline friend EvtComplex operator*(const EvtVector4C& v1,const EvtVector4C& v2);
+class EvtVector4C final {
+
+ inline friend EvtVector4C operator*(double d,const EvtVector4C& v2);
+ inline friend EvtVector4C operator*(const EvtComplex& c,const EvtVector4C& v2);
+ inline friend EvtVector4C operator*(const EvtVector4C& v2,const EvtComplex& c);
+ inline friend EvtVector4C operator*(const EvtComplex& c,const EvtVector4R& v2);
+ inline friend EvtComplex operator*(const EvtVector4R& v1,const EvtVector4C& v2);
+ inline friend EvtComplex operator*(const EvtVector4C& v1,const EvtVector4R& v2);
+ inline friend EvtComplex operator*(const EvtVector4C& v1,const EvtVector4C& v2);
friend EvtVector4C operator+(const EvtVector4C& v1,const EvtVector4C& v2);
friend EvtVector4C operator-(const EvtVector4C& v1,const EvtVector4C& v2);
-
+
public:
EvtVector4C();
EvtVector4C(const EvtComplex&,const EvtComplex&,
const EvtComplex&,const EvtComplex&);
- virtual ~EvtVector4C();
inline void set(int,const EvtComplex&);
inline void set(const EvtComplex&,const EvtComplex&,
const EvtComplex&,const EvtComplex&);
inline void set(double,double,double,double);
- inline EvtVector4C(const EvtVector4R& v1);
+ inline EvtVector4C(const EvtVector4R& v1);
inline const EvtComplex& get(int) const;
inline EvtComplex cont(const EvtVector4C& v4) const;
inline EvtVector4C conj() const;
EvtVector3C vec() const;
- inline EvtVector4C& operator=(const EvtVector4C& v2);
inline EvtVector4C& operator-=(const EvtVector4C& v2);
inline EvtVector4C& operator+=(const EvtVector4C& v2);
inline EvtVector4C& operator*=(const EvtComplex& c);
void applyRotateEuler(double alpha,double beta,double gamma);
void applyBoostTo(const EvtVector4R& p4);
void applyBoostTo(const EvtVector3R& boost);
friend std::ostream& operator<<(std::ostream& s, const EvtVector4C& v);
- double dot( const EvtVector4C& p2 );
+ double dot( const EvtVector4C& p2 );
private:
EvtComplex v[4];
};
-inline EvtVector4C& EvtVector4C::operator=(const EvtVector4C& v2){
-
- v[0]=v2.v[0];
- v[1]=v2.v[1];
- v[2]=v2.v[2];
- v[3]=v2.v[3];
-
- return *this;
-}
+EvtVector4C rotateEuler(const EvtVector4C& e,
+ double alpha,double beta,double gamma);
+EvtVector4C boostTo(const EvtVector4C& e,
+ const EvtVector4R p4);
+EvtVector4C boostTo(const EvtVector4C& e,
+ const EvtVector3R boost);
inline EvtVector4C& EvtVector4C::operator+=(const EvtVector4C& v2){
v[0]+=v2.v[0];
v[1]+=v2.v[1];
v[2]+=v2.v[2];
v[3]+=v2.v[3];
return *this;
}
inline EvtVector4C& EvtVector4C::operator-=(const EvtVector4C& v2){
v[0]-=v2.v[0];
v[1]-=v2.v[1];
v[2]-=v2.v[2];
v[3]-=v2.v[3];
return *this;
}
inline void EvtVector4C::set(int i,const EvtComplex& c){
v[i]=c;
}
inline EvtVector3C EvtVector4C::vec() const {
return EvtVector3C(v[1],v[2],v[3]);
}
inline void EvtVector4C::set(const EvtComplex& e,const EvtComplex& p1,
const EvtComplex& p2,const EvtComplex& p3){
v[0]=e; v[1]=p1; v[2]=p2; v[3]=p3;
}
inline void EvtVector4C::set(double e,double p1,
double p2,double p3){
v[0]=EvtComplex(e); v[1]=EvtComplex(p1); v[2]=EvtComplex(p2); v[3]=EvtComplex(p3);
}
inline const EvtComplex& EvtVector4C::get(int i) const {
return v[i];
}
inline EvtVector4C operator+(const EvtVector4C& v1,const EvtVector4C& v2) {
return EvtVector4C(v1)+=v2;
}
inline EvtVector4C operator-(const EvtVector4C& v1,const EvtVector4C& v2) {
return EvtVector4C(v1)-=v2;
}
inline EvtComplex EvtVector4C::cont(const EvtVector4C& v4) const {
return v[0]*v4.v[0]-v[1]*v4.v[1]-
v[2]*v4.v[2]-v[3]*v4.v[3];
}
inline EvtVector4C& EvtVector4C::operator*=(const EvtComplex& c) {
v[0]*=c;
v[1]*=c;
v[2]*=c;
v[3]*=c;
return *this;
}
inline EvtVector4C operator*(double d,const EvtVector4C& v2){
return EvtVector4C(v2.v[0]*d,v2.v[1]*d,v2.v[2]*d,v2.v[3]*d);
}
inline EvtVector4C operator*(const EvtComplex& c,const EvtVector4C& v2){
return EvtVector4C(v2)*=c;
}
inline EvtVector4C operator*(const EvtVector4C& v2,const EvtComplex& c){
return EvtVector4C(v2)*=c;
}
inline EvtVector4C operator*(const EvtComplex& c,const EvtVector4R& v2){
return EvtVector4C(c*v2.get(0),c*v2.get(1),c*v2.get(2),c*v2.get(3));
}
inline EvtVector4C::EvtVector4C(const EvtVector4R& v1){
-
+
v[0]=EvtComplex(v1.get(0)); v[1]=EvtComplex(v1.get(1));
v[2]=EvtComplex(v1.get(2)); v[3]=EvtComplex(v1.get(3));
}
inline EvtComplex operator*(const EvtVector4R& v1,const EvtVector4C& v2){
-
+
return v1.get(0)*v2.v[0]-v1.get(1)*v2.v[1]-
v1.get(2)*v2.v[2]-v1.get(3)*v2.v[3];
}
inline EvtComplex operator*(const EvtVector4C& v1,const EvtVector4R& v2){
-
+
return v1.v[0]*v2.get(0)-v1.v[1]*v2.get(1)-
v1.v[2]*v2.get(2)-v1.v[3]*v2.get(3);
}
inline EvtComplex operator*(const EvtVector4C& v1,const EvtVector4C& v2){
-
+
return v1.v[0]*v2.v[0]-v1.v[1]*v2.v[1]-
v1.v[2]*v2.v[2]-v1.v[3]*v2.v[3];
}
-inline EvtVector4C EvtVector4C::conj() const {
+inline EvtVector4C EvtVector4C::conj() const {
return EvtVector4C(::conj(v[0]),::conj(v[1]),
::conj(v[2]),::conj(v[3]));
}
#endif
diff --git a/EvtGenBase/EvtVector4R.hh b/EvtGenBase/EvtVector4R.hh
index a675318..0fcd696 100644
--- a/EvtGenBase/EvtVector4R.hh
+++ b/EvtGenBase/EvtVector4R.hh
@@ -1,196 +1,183 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVector4R.hh
//
// Description: Class to describe real 4 vectors
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVECTOR4R_HH
#define EVTVECTOR4R_HH
#include <iostream>
#include <math.h>
class EvtVector3R;
class EvtVector4R {
-
-
inline friend EvtVector4R operator*(double d,const EvtVector4R& v2);
inline friend EvtVector4R operator*(const EvtVector4R& v2,double d);
inline friend EvtVector4R operator/(const EvtVector4R& v2,double d);
inline friend double operator*(const EvtVector4R& v1,const EvtVector4R& v2);
inline friend EvtVector4R operator+(const EvtVector4R& v1,const EvtVector4R& v2);
inline friend EvtVector4R operator-(const EvtVector4R& v1,const EvtVector4R& v2);
public:
EvtVector4R();
EvtVector4R(double e,double px,double py ,double pz);
inline void set(int i,double d);
inline void set(double e,double px,double py ,double pz);
inline EvtVector4R& operator*=(double c);
inline EvtVector4R& operator/=(double c);
- inline EvtVector4R& operator=(const EvtVector4R& v2);
inline EvtVector4R& operator+=(const EvtVector4R& v2);
inline EvtVector4R& operator-=(const EvtVector4R& v2);
inline double get(int i) const;
inline double cont(const EvtVector4R& v4) const;
friend std::ostream& operator<<(std::ostream& s, const EvtVector4R& v);
double mass2() const;
double mass() const;
void applyRotateEuler(double alpha,double beta,double gamma);
void applyBoostTo(const EvtVector4R& p4, bool inverse = false);
void applyBoostTo(const EvtVector3R& boost, bool inverse = false);
EvtVector4R cross(const EvtVector4R& v2);
double dot(const EvtVector4R& v2) const;
double d3mag() const;
// Added by AJB - calculate scalars in the rest frame of the current object
double scalartripler3( const EvtVector4R& p1, const EvtVector4R& p2,
const EvtVector4R& p3 ) const;
double dotr3( const EvtVector4R& p1, const EvtVector4R& p2 ) const;
double mag2r3( const EvtVector4R& p1 ) const;
double magr3( const EvtVector4R& p1 ) const;
private:
double v[4];
inline double Square( double x ) const { return x*x; }
};
EvtVector4R rotateEuler(const EvtVector4R& rs,
- double alpha,double beta,double gamma);
+ double alpha,double beta,double gamma);
EvtVector4R boostTo(const EvtVector4R& rs,
- const EvtVector4R& p4, bool inverse = false);
+ const EvtVector4R& p4, bool inverse = false);
EvtVector4R boostTo(const EvtVector4R& rs,
- const EvtVector3R& boost, bool inverse = false);
-
-inline EvtVector4R& EvtVector4R::operator=(const EvtVector4R& v2){
-
- v[0]=v2.v[0];
- v[1]=v2.v[1];
- v[2]=v2.v[2];
- v[3]=v2.v[3];
-
- return *this;
-}
+ const EvtVector3R& boost, bool inverse = false);
inline EvtVector4R& EvtVector4R::operator+=(const EvtVector4R& v2){
v[0]+=v2.v[0];
v[1]+=v2.v[1];
v[2]+=v2.v[2];
v[3]+=v2.v[3];
return *this;
}
inline EvtVector4R& EvtVector4R::operator-=(const EvtVector4R& v2){
v[0]-=v2.v[0];
v[1]-=v2.v[1];
v[2]-=v2.v[2];
v[3]-=v2.v[3];
return *this;
}
inline double EvtVector4R::mass2() const{
return v[0]*v[0]-v[1]*v[1]-v[2]*v[2]-v[3]*v[3];
}
inline EvtVector4R operator*(double c,const EvtVector4R& v2){
return EvtVector4R(v2)*=c;
}
inline EvtVector4R operator*(const EvtVector4R& v2,double c){
return EvtVector4R(v2)*=c;
}
inline EvtVector4R operator/(const EvtVector4R& v2,double c){
return EvtVector4R(v2)/=c;
}
inline EvtVector4R& EvtVector4R::operator*=(double c){
v[0]*=c;
v[1]*=c;
v[2]*=c;
v[3]*=c;
return *this;
}
inline EvtVector4R& EvtVector4R::operator/=(double c){
double cinv=1.0/c;
v[0]*=cinv;
v[1]*=cinv;
v[2]*=cinv;
v[3]*=cinv;
return *this;
}
inline double operator*(const EvtVector4R& v1,const EvtVector4R& v2){
return v1.v[0]*v2.v[0]-v1.v[1]*v2.v[1]-
v1.v[2]*v2.v[2]-v1.v[3]*v2.v[3];
}
inline double EvtVector4R::cont(const EvtVector4R& v4) const {
return v[0]*v4.v[0]-v[1]*v4.v[1]-
v[2]*v4.v[2]-v[3]*v4.v[3];
}
inline EvtVector4R operator-(const EvtVector4R& v1,const EvtVector4R& v2){
return EvtVector4R(v1)-=v2;
}
inline EvtVector4R operator+(const EvtVector4R& v1,const EvtVector4R& v2){
return EvtVector4R(v1)+=v2;
}
inline double EvtVector4R::get(int i) const {
return v[i];
}
inline void EvtVector4R::set(int i,double d){
v[i]=d;
}
inline void EvtVector4R::set(double e,double p1,double p2, double p3){
v[0]=e;
v[1]=p1;
v[2]=p2;
v[3]=p3;
}
#endif
diff --git a/EvtGenBase/EvtVectorParticle.hh b/EvtGenBase/EvtVectorParticle.hh
index bdcbeba..9fc9226 100644
--- a/EvtGenBase/EvtVectorParticle.hh
+++ b/EvtGenBase/EvtVectorParticle.hh
@@ -1,58 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVectorParticle.hh
//
// Description: Class to describe vector particles.
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVECTORPARTICLE_HH
#define EVTVECTORPARTICLE_HH
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtParticle.hh"
class EvtId;
class EvtVectorParticle: public EvtParticle {
public:
- EvtVectorParticle() {}
- virtual ~EvtVectorParticle();
+ EvtVectorParticle() = default;
void init(EvtId part_n,double e,double px,double py,double pz);
- void init(EvtId part_n,const EvtVector4R& p);
+ void init(EvtId part_n,const EvtVector4R& p) override;
void init(EvtId part_n,const EvtVector4R& p,
const EvtVector4C&,const EvtVector4C&,const EvtVector4C&);
- EvtVector4C epsParent(int i) const {return boostTo(_eps[i],this->getP4());}
- EvtVector4C eps(int i) const {return _eps[i];}
- EvtSpinDensity rotateToHelicityBasis() const;
+ EvtVector4C epsParent(int i) const override {return boostTo(_eps[i],this->getP4());}
+ EvtVector4C eps(int i) const override {return _eps[i];}
+ EvtSpinDensity rotateToHelicityBasis() const override;
EvtSpinDensity rotateToHelicityBasis(double alpha,
double beta,
- double gamma) const;
-
+ double gamma) const override;
+
private:
-
+
EvtVector4C _eps[3];
EvtVectorParticle(const EvtVectorParticle& vector);
EvtVectorParticle& operator=(const EvtVectorParticle& vector);
-
+
};
#endif
diff --git a/EvtGenExternal/EvtPHOTOS.hh b/EvtGenExternal/EvtPHOTOS.hh
index 958621e..4db7a51 100644
--- a/EvtGenExternal/EvtPHOTOS.hh
+++ b/EvtGenExternal/EvtPHOTOS.hh
@@ -1,48 +1,45 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPHOTOS.hh
//
-// Description: EvtGen's interface to PHOTOS for generation of
+// Description: EvtGen's interface to PHOTOS for generation of
// QED final state radiation.
//
// Modification history:
//
// RYD March 24, 1998 Module created
// Lange April 25, 2002 - changed to derive from EvtAbsRadCorr
//
//------------------------------------------------------------------------
#ifndef EVTPHOTOS_HH
#define EVTPHOTOS_HH
#include "EvtGenBase/EvtAbsRadCorr.hh"
#include <string>
class EvtParticle;
class EvtAbsExternalGen;
class EvtPHOTOS : public EvtAbsRadCorr {
public:
-
- EvtPHOTOS();
- virtual ~EvtPHOTOS();
- virtual void doRadCorr(EvtParticle *p);
+ void doRadCorr(EvtParticle *p) override;
private:
- EvtAbsExternalGen* _photosEngine;
+ EvtAbsExternalGen* _photosEngine = nullptr;
};
#endif
diff --git a/EvtGenExternal/EvtPhotosEngine.hh b/EvtGenExternal/EvtPhotosEngine.hh
index fb1bd6f..4d78bb7 100644
--- a/EvtGenExternal/EvtPhotosEngine.hh
+++ b/EvtGenExternal/EvtPhotosEngine.hh
@@ -1,71 +1,68 @@
#ifdef EVTGEN_PHOTOS
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Module: EvtPhotosEngine
//
// Description: Interface to the PHOTOS external generator
//
// Modification history:
//
// John Back May 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPHOTOSENGINE_HH
#define EVTPHOTOSENGINE_HH
#include "EvtGenModels/EvtAbsExternalGen.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtVector4R.hh"
#ifdef EVTGEN_HEPMC3
#include "Photos/PhotosHepMC3Event.h"
#include "Photos/PhotosHepMC3Particle.h"
#include "HepMC3/Units.h"
#else
#include "Photos/PhotosHepMCEvent.h"
#include "Photos/PhotosHepMCParticle.h"
#include "Photos/PhotosParticle.h"
#endif
#include "EvtGenBase/EvtHepMCEvent.hh"
#include <string>
class EvtPhotosEngine : public EvtAbsExternalGen {
public:
EvtPhotosEngine(std::string photonType = "gamma", bool useEvtGenRandom = true);
- virtual ~EvtPhotosEngine();
- virtual bool doDecay(EvtParticle* theMother);
+ bool doDecay(EvtParticle* theMother) override;
- virtual void initialise();
-
-protected:
+ void initialise() override;
private:
std::string _photonType;
EvtId _gammaId;
int _gammaPDG;
double _mPhoton;
bool _initialised;
GenParticlePtr createGenParticle(EvtParticle* theParticle, bool incoming);
int getNumberOfPhotons(const GenVertexPtr theVertex) const;
};
#endif
#endif
diff --git a/EvtGenExternal/EvtPythia.hh b/EvtGenExternal/EvtPythia.hh
index ba25cdf..cb0c272 100644
--- a/EvtGenExternal/EvtPythia.hh
+++ b/EvtGenExternal/EvtPythia.hh
@@ -1,69 +1,69 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
// 2011 University of Warwick, UK
//
// Module: EvtGen/EvtPythia.hh
//
// Description:
// Class to handle generic phase space decays not done
// in other decay models.
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
// JJB April 2011 Modified to use new Pythia8 interface
//
//------------------------------------------------------------------------
#ifndef EVTPYTHIA_HH
#define EVTPYTHIA_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
#include <string>
#include <vector>
class EvtParticle;
class EvtAbsExternalGen;
class EvtDecayBase;
class EvtPythia: public EvtDecayIncoherent {
public:
-
+
EvtPythia();
- virtual ~EvtPythia();
+ ~EvtPythia();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
- std::string commandName();
- void command(std::string);
+ std::string commandName() override;
+ void command(std::string) override;
protected:
EvtAbsExternalGen* _pythiaEngine;
private:
void fixPolarisations(EvtParticle *p);
std::vector<std::string> _commandList;
};
#endif
diff --git a/EvtGenExternal/EvtPythiaEngine.hh b/EvtGenExternal/EvtPythiaEngine.hh
index 5abd382..344ad93 100644
--- a/EvtGenExternal/EvtPythiaEngine.hh
+++ b/EvtGenExternal/EvtPythiaEngine.hh
@@ -1,92 +1,93 @@
#ifdef EVTGEN_PYTHIA
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Module: EvtPythiaEngine
//
// Description: Interface to the Pytha 8 external generator
//
// Modification history:
//
// John Back April 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPYTHIAENGINE_HH
#define EVTPYTHIAENGINE_HH
#include "EvtGenModels/EvtAbsExternalGen.hh"
#include "EvtGenExternal/EvtPythiaRandom.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtDecayBase.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "Pythia8/Pythia.h"
#include "Pythia8/ParticleData.h"
#include <string>
#include <vector>
#include <map>
+#include <memory>
class EvtPythiaEngine : public EvtAbsExternalGen {
public:
- EvtPythiaEngine(std::string xmlDir = "./xmldoc",
+ EvtPythiaEngine(std::string xmlDir = "./xmldoc",
bool convertPhysCodes = false,
bool useEvtGenRandom = true);
virtual ~EvtPythiaEngine();
- virtual bool doDecay(EvtParticle* theMother);
+ bool doDecay(EvtParticle* theMother) override;
- virtual void initialise();
+ void initialise() override;
protected:
private:
void updateParticleLists();
void updatePhysicsParameters();
void createPythiaParticle(EvtId& particleId, int PDGCode);
bool validPDGCode(int PDGCode);
void updatePythiaDecayTable(EvtId& particleId, int aliasInt, int PDGCode);
void storeDaughterInfo(EvtParticle* theParticle, int startInt);
void clearDaughterVectors();
void clearPythiaModeMap();
void createDaughterEvtParticles(EvtParticle* theParent);
int getModeInt(EvtDecayBase* decayModel);
- Pythia8::Pythia* _genericPythiaGen;
- Pythia8::Pythia* _aliasPythiaGen;
+ std::unique_ptr<Pythia8::Pythia> _genericPythiaGen;
+ std::unique_ptr<Pythia8::Pythia> _aliasPythiaGen;
Pythia8::Pythia* _thePythiaGenerator;
std::vector<int> _daugPDGVector;
std::vector<EvtVector4R> _daugP4Vector;
typedef std::map<int, std::vector<int> > PythiaModeMap;
PythiaModeMap _pythiaModeMap;
bool _convertPhysCodes, _initialised, _useEvtGenRandom;
- EvtPythiaRandom* _evtgenRandom;
+ std::unique_ptr<EvtPythiaRandom> _evtgenRandom;
std::map<int, int> _addedPDGCodes;
};
#endif
#endif
diff --git a/EvtGenExternal/EvtPythiaRandom.hh b/EvtGenExternal/EvtPythiaRandom.hh
index affb7cc..f9dc0f5 100644
--- a/EvtGenExternal/EvtPythiaRandom.hh
+++ b/EvtGenExternal/EvtPythiaRandom.hh
@@ -1,45 +1,45 @@
#ifdef EVTGEN_PYTHIA
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2013 University of Warwick, UK
//
// Module: EvtGenExternal/EvtPythiaRandom.hh
//
// Description: Class to specify the chosen EvtGen random number (engine)
// to also be used for Pythia 8.
//
// Modification history:
//
// JJB January 2013 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPYTHIARANDOM_HH
#define EVTPYTHIARANDOM_HH
#include "EvtGenBase/EvtRandom.hh"
#include "Pythia8/Basics.h"
class EvtPythiaRandom : public Pythia8::RndmEngine {
public:
EvtPythiaRandom() {};
virtual ~EvtPythiaRandom() {};
- virtual double flat() {return EvtRandom::Flat();}
+ double flat() override {return EvtRandom::Flat();}
private:
};
#endif
#endif
diff --git a/EvtGenExternal/EvtTauola.hh b/EvtGenExternal/EvtTauola.hh
index 42f9be6..0bd823d 100644
--- a/EvtGenExternal/EvtTauola.hh
+++ b/EvtGenExternal/EvtTauola.hh
@@ -1,53 +1,50 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Description: Use the Tauola external generator for tau decays
//
// Modification history:
//
// John Back May 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTTAUOLA_HH
#define EVTTAUOLA_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class EvtAbsExternalGen;
class EvtDecayBase;
class EvtTauola: public EvtDecayIncoherent {
public:
-
- EvtTauola();
- virtual ~EvtTauola();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
- void init();
+ void initProbMax() override;
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
protected:
- EvtAbsExternalGen* _tauolaEngine;
+ EvtAbsExternalGen* _tauolaEngine = nullptr;
private:
};
#endif
diff --git a/EvtGenExternal/EvtTauolaEngine.hh b/EvtGenExternal/EvtTauolaEngine.hh
index a7d6049..26fce41 100644
--- a/EvtGenExternal/EvtTauolaEngine.hh
+++ b/EvtGenExternal/EvtTauolaEngine.hh
@@ -1,78 +1,77 @@
#ifdef EVTGEN_TAUOLA
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Module: EvtTauolaEngine
//
// Description: Interface to the TAUOLA external generator
//
// Modification history:
//
// John Back May 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTTAUOLAENGINE_HH
#define EVTTAUOLAENGINE_HH
#include "EvtGenModels/EvtAbsExternalGen.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtDecayBase.hh"
#include "EvtGenBase/EvtVector4R.hh"
#ifdef EVTGEN_HEPMC3
#include "Tauola/TauolaHepMC3Particle.h"
#include "Tauola/TauolaHepMC3Event.h"
#include "HepMC3/Units.h"
#include "HepMC3/Relatives.h"
#else
#include "Tauola/TauolaHepMCEvent.h"
#include "Tauola/TauolaHepMCParticle.h"
#include "Tauola/TauolaParticle.h"
#endif
#include "EvtGenBase/EvtHepMCEvent.hh"
#include <vector>
#include <map>
class EvtTauolaEngine : public EvtAbsExternalGen {
public:
EvtTauolaEngine(bool useEvtGenRandom = true);
- virtual ~EvtTauolaEngine();
- virtual bool doDecay(EvtParticle* theMother);
+ bool doDecay(EvtParticle* theMother) override;
- virtual void initialise();
+ void initialise() override;
protected:
private:
bool _initialised;
- int _tauPDG, _nTauolaModes;
+ int _tauPDG, _nTauolaModes;
int _neutPropType, _posPropType, _negPropType;
GenParticlePtr createGenParticle(EvtParticle* theParticle);
void setUpPossibleTauModes();
void setOtherParameters();
int getModeInt(EvtDecayBase* decayModel);
void decayTauEvent(EvtParticle* tauParticle);
};
#endif
#endif
diff --git a/EvtGenModels/EvtBBScalar.hh b/EvtGenModels/EvtBBScalar.hh
index 792dabe..7cc4240 100644
--- a/EvtGenModels/EvtBBScalar.hh
+++ b/EvtGenModels/EvtBBScalar.hh
@@ -1,143 +1,143 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: EvtGen/EvtBBScalar
//
// Description:Implementation of the decay B- -> lambda p_bar pi according to
// hep-ph/0204185, hep-ph/0211240
// This model is intended to be applicable to all decays of the type B-> baryon baryon scalar
//
// Modification history:
//
// Jan Strube March 24th, 2006 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBBSCALAR_HH
#define EVTBBSCALAR_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtDiracParticle.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include <map>
#include <string>
#include <vector>
#include <bitset>
struct FormFactor {
double value;
double sigma1;
double sigma2;
double mV;
};
enum Baryons {
Lambda, Proton, Neutron, Sigma0, Sigma_minus, Xi0, Xi_minus, nBaryons
};
class EvtBBScalar : public EvtDecayAmp {
public:
EvtBBScalar();
- std::string getName();
- EvtDecayBase* clone();
- void decay(EvtParticle* p);
- void init();
- void initProbMax();
+ std::string getName() override;
+ EvtBBScalar* clone() override;
+ void decay(EvtParticle* p) override;
+ void init() override;
+ void initProbMax() override;
private:
// used values of constants
static const EvtComplex I;
static const EvtComplex V_ub;
static const EvtComplex V_us_star;
static const EvtComplex a1;
static const EvtComplex V_tb;
static const EvtComplex V_ts_star;
static const EvtComplex a4;
static const EvtComplex a6;
// used parameters in the calculation of the magnetic form factors
static const double x[];
static const double y[];
// quark masses as used in the model
static const double m_s;
static const double m_u;
static const double m_b;
// used to choose the right value for the form factor depending on the type of scalar
std::string _scalarType;
mutable std::map<std::string, FormFactor> _f0Map;
mutable std::map<std::string, FormFactor> _f1Map;
// only consider F1+F2 here
std::bitset<nBaryons> _baryonCombination;
void setKnownBaryonTypes(const EvtId& baryon);
-
+
double B_pi_f1(double t) const ;
double B_pi_f0(double t) const ;
double baryonF1F2(double t) const ;
double G_p(double t) const ;
double G_n(double t) const ;
-
+
double baryon_gA(double t) const;
double baryon_hA(double t) const;
double baryon_gP(double t) const ;
double baryon_fS(double t) const ;
double D_A(double t) const ;
double F_A(double t) const ;
double D_P(double t) const ;
double F_P(double t) const ;
double D_S(double t) const ;
double F_S(double t) const ;
// (mB1 - mB2)/(mq1 - mq1)
double _massRatio;
double _baryonMassSum;
double formFactorFit(double t, const std::vector<double>& params) const ;
static const EvtComplex const_B;
static const EvtComplex const_C;
const EvtVector4C
amp_A(const EvtVector4R& p4B, const EvtVector4R& p4Scalar);
const EvtComplex
amp_B(const EvtDiracParticle* baryon1, const EvtDiracSpinor& b1Pol
, const EvtDiracParticle* baryon2, const EvtDiracSpinor& b2Pol
, int index);
const EvtComplex
amp_B_vectorPart(const EvtDiracParticle* baryon1, const EvtDiracSpinor& b1Pol
, const EvtDiracParticle* baryon2, const EvtDiracSpinor& b2Pol
, int index);
const EvtComplex
amp_B_axialPart(const EvtDiracParticle* baryon1, const EvtDiracSpinor& b1Pol
, const EvtDiracParticle* baryon2, const EvtDiracSpinor& b2Pol
, int index);
const EvtComplex
amp_C(const EvtDiracParticle* baryon1, const EvtDiracSpinor& b1Pol
, const EvtDiracParticle* baryon2, const EvtDiracSpinor& b2Pol
, int index);
const EvtComplex
amp_C_scalarPart(const EvtDiracSpinor& b1Pol, const EvtDiracSpinor& b2Pol, double t);
const EvtComplex
amp_C_pseudoscalarPart(const EvtDiracSpinor& b1Pol, const EvtDiracSpinor& b2Pol, double t);
// initialize phasespace and calculate the amplitude for one (i=0,1) state of the photon
EvtComplex calcAmpliude(const EvtParticle* p, const unsigned int polState);
};
#endif
diff --git a/EvtGenModels/EvtBCSFF.hh b/EvtGenModels/EvtBCSFF.hh
index 9a72dad..477daa2 100644
--- a/EvtGenModels/EvtBCSFF.hh
+++ b/EvtGenModels/EvtBCSFF.hh
@@ -1,57 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBCSFF.hh
//
// Description: Form factors for EvtBCSFF model
//
// Modification history:
//
// AVL Jul 6, 2012 Module created
// AVL Feb 5, 2018 D0, D*0 modes added
//------------------------------------------------------------------------
#ifndef EVTBCSFF_HH
#define EVTBCSFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtBCSFF : public EvtSemiLeptonicFF {
public:
EvtBCSFF(int idV, int fit);
void getvectorff( EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
- void getscalarff(EvtId, EvtId, double, double, double*,
- double*);
+ void getscalarff(EvtId, EvtId, double, double, double*,
+ double*) override;
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
int idScalar, whichfit;
double MBc, MD0;
};
#endif
diff --git a/EvtGenModels/EvtBCTFF.hh b/EvtGenModels/EvtBCTFF.hh
index b0a741d..27c406c 100644
--- a/EvtGenModels/EvtBCTFF.hh
+++ b/EvtGenModels/EvtBCTFF.hh
@@ -1,58 +1,58 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBCTFF.hh
//
// Description: Form factors for EvtBCTFF model
//
// Modification history:
//
// DJL April 20, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBCTFF_HH
#define EVTBCTFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtBCTFF : public EvtSemiLeptonicFF {
public:
EvtBCTFF(int idV, int fit);
void getvectorff( EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
- void getscalarff(EvtId, EvtId, double, double, double*,
- double*);
+ void getscalarff(EvtId, EvtId, double, double, double*,
+ double*) override;
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
int idTensor, whichfit;
double MBc;
};
#endif
diff --git a/EvtGenModels/EvtBCVFF.hh b/EvtGenModels/EvtBCVFF.hh
index dc9e5f3..aa6b979 100755
--- a/EvtGenModels/EvtBCVFF.hh
+++ b/EvtGenModels/EvtBCVFF.hh
@@ -1,58 +1,58 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBCVFF.hh
//
// Description: Form factors for EvtBCVFF model
//
// Modification history:
//
// AVL Jul 6, 2012 Module created
// AVL Feb 5, 2018 D0, D*0 modes added
//
//------------------------------------------------------------------------
#ifndef EVTBCVFF_HH
#define EVTBCVFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtBCVFF : public EvtSemiLeptonicFF {
public:
EvtBCVFF(int idV, int fit);
void getvectorff( EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
- void getscalarff(EvtId, EvtId, double, double, double*,
- double*);
+ void getscalarff(EvtId, EvtId, double, double, double*,
+ double*) override;
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
int idVector, whichfit;
double MBc, MD0, Mpsi, Mpsi2S, kappa, Mchi;
};
#endif
diff --git a/EvtGenModels/EvtBCVFF2.hh b/EvtGenModels/EvtBCVFF2.hh
index 390ce61..94c3382 100755
--- a/EvtGenModels/EvtBCVFF2.hh
+++ b/EvtGenModels/EvtBCVFF2.hh
@@ -1,69 +1,69 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBCVFF.hh
//
-// Description: form factors for B->Vlnu
+// Description: form factors for B->Vlnu
//
// Modification history:
//
// AVL Jan 29, 2013, Module created
//
//------------------------------------------------------------------------
#ifndef EVTBCVFF2_HH
#define EVTBCVFF2_HH
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include <math.h>
#include "EvtGenBase/EvtPDL.hh"
#include <stdlib.h>
#include <iostream>
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtBCVFF2 : public EvtSemiLeptonicFF {
public:
EvtBCVFF2(int idV, int fit);
void getvectorff( EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
- void getscalarff(EvtId, EvtId, double, double, double*,
- double*);
+ void getscalarff(EvtId, EvtId, double, double, double*,
+ double*) override;
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
int idVector, whichfit;
};
#endif
diff --git a/EvtGenModels/EvtBHadronic.hh b/EvtGenModels/EvtBHadronic.hh
index f4a6824..bdca273 100644
--- a/EvtGenModels/EvtBHadronic.hh
+++ b/EvtGenModels/EvtBHadronic.hh
@@ -1,42 +1,39 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBHadronic.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBHADRONIC_HH
#define EVTBHADRONIC_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtBHadronic:public EvtDecayAmp{
public:
- EvtBHadronic() {}
- virtual ~EvtBHadronic();
+ std::string getName() override;
+ EvtBHadronic* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void init();
- void decay(EvtParticle *p);
+ void init() override;
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtBLLNuL.hh b/EvtGenModels/EvtBLLNuL.hh
index b3ff38d..95266be 100644
--- a/EvtGenModels/EvtBLLNuL.hh
+++ b/EvtGenModels/EvtBLLNuL.hh
@@ -1,49 +1,48 @@
//--------------------------------------------------------------------------
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtBLLNuL.hh
//
// Description: The header file for the model "BLLNUL" which simulates
// the rare four-leptonic B-decays
// B^-(p) -> ell^+(k_1) ell^-(k_2) neu (k_3) ell^-(k_4)
//
// Modification history:
//
// Anna Danilina (anna.danilina@cern.ch) and
// Nikolai Nikitin (Nikolai.Nikitine@cern.ch) Nov 2018 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBLLNUL_HH
#define EVTBLLNUL_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenModels/EvtBLLNuLAmp.hh"
#include <string>
class EvtParticle;
class EvtbTosllMSFF; // Form factor class
class EvtBLLNuL: public EvtDecayAmp {
public:
EvtBLLNuL();
- virtual ~EvtBLLNuL();
- virtual std::string getName();
- virtual EvtDecayBase* clone();
+ virtual std::string getName() override;
+ virtual EvtDecayBase* clone() override;
- virtual void init();
- virtual void initProbMax();
- virtual void decay(EvtParticle *p);
+ virtual void init() override;
+ virtual void initProbMax() override;
+ virtual void decay(EvtParticle *p) override;
private:
EvtBLLNuLAmp calcAmp_;
};
#endif
diff --git a/EvtGenModels/EvtBLLNuLAmp.hh b/EvtGenModels/EvtBLLNuLAmp.hh
index 2b5d70e..4158b71 100644
--- a/EvtGenModels/EvtBLLNuLAmp.hh
+++ b/EvtGenModels/EvtBLLNuLAmp.hh
@@ -1,119 +1,115 @@
//--------------------------------------------------------------------------
//
//
// Module: EvtB2MuMuENuAmp.hh
//
// Description: Header file for the amplitude calculation for the "BLLNUL"
// model which generates rare four-leptonic B-decays
// B^-(p) -> ell^+(k_1) ell^-(k_2) neu (k_3) ell^-(k_4)
//
// Modification history:
//
// Anna Danilina (anna.danilina@cern.ch) and
// Nikolai Nikitin (Nikolai.Nikitine@cern.ch) Nov 2018 Module created
// John B Code optimisations
//
//------------------------------------------------------------------------
#ifndef EVTBLLNUL_AMP_HH
#define EVTBLLNUL_AMP_HH
#include "EvtGenBase/EvtAmp.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include <vector>
class EvtParticle;
class EvtBLLNuLAmp {
public:
EvtBLLNuLAmp(double Vub = 4.09e-3);
EvtBLLNuLAmp(double qSqMin, double kSqMin, bool symmetry, double Vub = 4.09e-3);
- virtual ~EvtBLLNuLAmp();
-
void CalcAmp(EvtParticle *parent, EvtAmp& amp) const;
void setParameters(double qSqMin, double kSqMin, bool symmetry);
// Resonance poles
- class ResPole {
+ class ResPole final {
public:
ResPole(double mass, double width, double coupling);
- virtual ~ResPole() {;}
EvtComplex propagator(double qSq, int numForm = 0) const;
double getMass() const {return m0_;}
double getMassSq() const {return m0Sq_;}
double getWidth() const {return w0_;}
double getCoupling() const {return c_;}
private:
double m0_; // pole mass
double m0Sq_;
double w0_; // width
double c_; // coupling constant
EvtComplex I_;
EvtComplex Imw_;
};
protected:
EvtTensor4C getHadronTensor(const EvtVector4R& q, const EvtVector4R& k,
const double qSq, const double kSq, const double MB,
const int sign) const;
std::vector<EvtComplex> getVMDTerms(double qSq, double kSq, double MB) const;
EvtComplex getBStarTerm(double qSq, double kSq, double MB) const;
double FF_B2Bstar(double qSq) const;
double FF_V(double kSq) const;
double FF_A1(double kSq) const;
double FF_A2(double kSq) const;
private:
// Kinematic cut-offs
double qSqMin_;
double kSqMin_;
// If we have identical charged lepton flavours
bool symmetry_;
// B+, B- Ids
EvtId BpId_, BnId_;
// Form factor constants
double coupling_, sqrt2_;
double fBu_;
// Resonance poles
- EvtBLLNuLAmp::ResPole* Bstar_;
- EvtBLLNuLAmp::ResPole* Upsilon_;
+ EvtBLLNuLAmp::ResPole Bstar_, Upsilon_;
- std::vector<EvtBLLNuLAmp::ResPole*> resPoles_;
+ std::vector<EvtBLLNuLAmp::ResPole> resPoles_;
int nPoles_;
// Complex number constants
EvtComplex zero_, unitI_;
};
inline void EvtBLLNuLAmp::setParameters(double qSqMin, double kSqMin, bool symmetry)
{
qSqMin_ = qSqMin;
kSqMin_ = kSqMin;
symmetry_ = symmetry;
}
#endif
diff --git a/EvtGenModels/EvtBTo3hCP.hh b/EvtGenModels/EvtBTo3hCP.hh
index e239b5d..b36eba6 100644
--- a/EvtGenModels/EvtBTo3hCP.hh
+++ b/EvtGenModels/EvtBTo3hCP.hh
@@ -1,122 +1,122 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBTo3hCP.hh
//
// Description:
//
// Modification history:
//
// MK August 26, 2016 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTO3HCP_HH
#define EVTBTO3HCP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtVector4R.hh"
class EvtParticle;
/*
struct fcomplex {
double re;
double im;
};
*/
class EvtBTo3hCP {
public:
EvtBTo3hCP();
~EvtBTo3hCP() {};
void EvtKpipi(double alpha, double beta, int iset,
EvtVector4R& p_K_plus, EvtVector4R& p_pi_minus,
EvtVector4R& p_gamma_1, EvtVector4R& p_gamma_2,
double& Real_B0, double& Imag_B0, double& Real_B0bar,
double& Imag_B0bar);
void Evt3pi(double alpha, int iset,
EvtVector4R& p_K_plus, EvtVector4R& p_pi_minus,
EvtVector4R& p_gamma_1, EvtVector4R& p_gamma_2,
double& Real_B0, double& Imag_B0, double& Real_B0bar,
double& Imag_B0bar);
void Evt3piMPP(double alpha, int iset,
EvtVector4R& p_p1, EvtVector4R& p_p2,
EvtVector4R& p_p3,
double& Real_B0, double& Imag_B0, double& Real_B0bar,
double& Imag_B0bar);
void Evt3piP00(double alpha, int iset, EvtVector4R &p_p1,
EvtVector4R &p_p1_gamma1, EvtVector4R &p_p1_gamma2,
EvtVector4R &p_p2_gamma1, EvtVector4R &p_p2_gamma2,
double &Real_B0, double &Imag_B0, double &Real_B0bar,
double &Imag_B0bar);
private:
void setConstants(double balpha, double bbeta);
int computeKpipi(EvtVector4R &p1, EvtVector4R &p2, EvtVector4R &p3,
double &real_B0, double &imag_B0, double &real_B0bar,
double &imag_B0bar, int set);
int compute3pi(EvtVector4R &p1, EvtVector4R &p2, EvtVector4R &p3,
double &real_B0, double &imag_B0, double &real_B0bar,
double &imag_B0bar, int set);
int compute3piMPP(EvtVector4R &p1, EvtVector4R &p2, EvtVector4R &p3,
double &real_B0, double &imag_B0, double &real_B0bar,
double &imag_B0bar, int set);
int compute3piP00(EvtVector4R &p1, EvtVector4R &p2, EvtVector4R &p3,
double &real_B0, double &imag_B0, double &real_B0bar,
double &imag_B0bar, int set);
// Modes are : 0 = Kpipi, 1 = 3pi, 2 = MPP, 3 = P00
void firstStep(EvtVector4R &p1, EvtVector4R &p2, EvtVector4R &p3, int mode);
void generateSqMasses_Kpipi(double &m12, double &m13, double &m23, double MB2,
double m1sq, double m2sq, double m3sq);
void generateSqMasses_3pi(double &m12, double &m13, double &m23, double MB2,
double m1sq, double m2sq, double m3sq);
void generateSqMasses_3piMPP(double &m12, double &m13, double &m23,
double MB2, double m1sq, double m2sq,
double m3sq);
void generateSqMasses_3piP00(double &m12, double &m13, double &m23,
double MB2, double m1sq, double m2sq,
double m3sq);
void rotation(EvtVector4R& p, int newRot);
void gammaGamma(EvtVector4R &p, EvtVector4R &pgamma1,
EvtVector4R &pgamma2);
EvtComplex BreitWigner(EvtVector4R &p1, EvtVector4R &p2, EvtVector4R &p3,
int &ierr, double Mass=0, double Width=0);
EvtComplex EvtRBW(double s, double Am2, double Gam, double Am2Min);
EvtComplex EvtCRhoF_W(double s);
EvtComplex EvtcBW_KS(double s, double Am2, double Gam);
EvtComplex EvtcBW_GS(double s, double Am2, double Gam);
double d(double AmRho2);
double k(double s);
double Evtfs(double s, double AmRho2, double GamRho);
double h(double s);
double dh_ds(double s);
EvtComplex Mat_S1, Mat_S2, Mat_S3, Mat_S4, Mat_S5, Nat_S1, Nat_S2, Nat_S3,
Nat_S4, Nat_S5, MatKstarp, MatKstar0, MatKrho, NatKstarp, NatKstar0,
NatKrho;
- double alphaCP, betaCP, pi, MA2, MB2, MC2, one, eno, Mass_rho, Gam_rho, M_B, M_pip,
- M_pim, M_pi0, DeltaM, Gam_B, xd, M_Upsi, BetaBabar, ptcut, coscut, M_Kp,
+ double alphaCP, betaCP, pi, MA2, MB2, MC2, Mass_rho, Gam_rho, M_B, M_pip,
+ M_pim, M_pi0, M_Kp,
Mass_Kstarp, Mass_Kstar0, Gam_Kstarp, Gam_Kstar0;
double rotMatrix[3][3];
double factor_max;
};
#endif
diff --git a/EvtGenModels/EvtBTo3piCP.hh b/EvtGenModels/EvtBTo3piCP.hh
index 91b389f..c86cbf9 100644
--- a/EvtGenModels/EvtBTo3piCP.hh
+++ b/EvtGenModels/EvtBTo3piCP.hh
@@ -1,52 +1,51 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBTo3piCP.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTO3PICP_HH
#define EVTBTO3PICP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtBTo3hCP.hh"
class EvtParticle;
class EvtBTo3piCP:public EvtDecayAmp {
public:
EvtBTo3piCP() {}
- virtual ~EvtBTo3piCP();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtBTo3piCP* clone() override;
- void init();
- void initProbMax();
+ void init() override;
+ void initProbMax() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
EvtBTo3hCP generator;
};
#endif
diff --git a/EvtGenModels/EvtBTo4piCP.hh b/EvtGenModels/EvtBTo4piCP.hh
index e61795f..723119b 100644
--- a/EvtGenModels/EvtBTo4piCP.hh
+++ b/EvtGenModels/EvtBTo4piCP.hh
@@ -1,43 +1,40 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBTo4piCP.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTO4PICP_HH
#define EVTBTO4PICP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtBTo4piCP:public EvtDecayAmp {
public:
- EvtBTo4piCP() {}
- virtual ~EvtBTo4piCP();
+ std::string getName() override;
+ EvtBTo4piCP* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void init();
- void decay(EvtParticle *p);
+ void init() override;
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtBToDDalitzCPK.hh b/EvtGenModels/EvtBToDDalitzCPK.hh
index afcb46b..7c9275e 100644
--- a/EvtGenModels/EvtBToDDalitzCPK.hh
+++ b/EvtGenModels/EvtBToDDalitzCPK.hh
@@ -1,37 +1,30 @@
-// $Id: EvtBToDDalitzCPK.hh,v 1.2 2009-03-16 16:37:55 robbep Exp $
-#ifndef EVTGENMODELS_EVTBTODDALITZCPK_HH
+#ifndef EVTGENMODELS_EVTBTODDALITZCPK_HH
#define EVTGENMODELS_EVTBTODDALITZCPK_HH 1
// Include files
#include "EvtGenBase/EvtDecayAmp.hh"
/** @class EvtBToDDalitzCPK EvtBToDDalitzCPK.hh EvtGenModels/EvtBToDDalitzCPK.hh
- * Decay Model for B->DK, (adds the possibility to use D0->Ks pi pi to
+ * Decay Model for B->DK, (adds the possibility to use D0->Ks pi pi to
* find gamma with a Dalitz analysis
*
* @author Patrick Robbe
* @date 2003-12-08
*/
class EvtBToDDalitzCPK : public EvtDecayAmp {
public:
- /// Standard constructor
- EvtBToDDalitzCPK( ) { }
-
- virtual ~EvtBToDDalitzCPK( ); ///< Destructor
-
- virtual std::string getName ( ) ;
- EvtDecayBase * clone ( ) ;
-
- void decay ( EvtParticle * p ) ;
- void init ( ) ;
-
- void initProbMax ( ) ;
-
-protected:
+
+ std::string getName ( ) override;
+ EvtBToDDalitzCPK* clone ( ) override;
+
+ void decay ( EvtParticle * p ) override;
+ void init ( ) override;
+
+ void initProbMax ( ) override;
private:
int _flag ;
};
#endif // EVTGENMODELS_EVTBTODDALITZCPK_HH
diff --git a/EvtGenModels/EvtBToDiBaryonlnupQCD.hh b/EvtGenModels/EvtBToDiBaryonlnupQCD.hh
index 48932ba..8b5e73d 100644
--- a/EvtGenModels/EvtBToDiBaryonlnupQCD.hh
+++ b/EvtGenModels/EvtBToDiBaryonlnupQCD.hh
@@ -1,57 +1,54 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBToDiBaryonlnupQCD.hh
//
// Description: Class to handle semileptonic B -> Baryon Anti-baryon l nu decays
// using the using form factor predictions from pQCD counting rules. Taken
// from arXiv:1107.0801
//
//
// Modification history:
//
// Mark Smith July 17, 2017 Module created
// John B Oct 2018 Code simplification
//
//------------------------------------------------------------------------
#ifndef EVTBTODIBARYONLNUPQCD_HH
#define EVTBTODIBARYONLNUPQCD_HH
#include "EvtGenBase/EvtDecayAmp.hh"
+#include "EvtGenModels/EvtBToDiBaryonlnupQCDFF.hh"
+#include "EvtGenModels/EvtSLDiBaryonAmp.hh"
#include <string>
+#include <memory>
class EvtParticle;
-class EvtBToDiBaryonlnupQCDFF;
-class EvtSLDiBaryonAmp;
class EvtBToDiBaryonlnupQCD: public EvtDecayAmp {
public:
- EvtBToDiBaryonlnupQCD();
- virtual ~EvtBToDiBaryonlnupQCD();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
- EvtBToDiBaryonlnupQCDFF* ffModel_;
- EvtSLDiBaryonAmp* calcAmp_;
+ std::unique_ptr<EvtBToDiBaryonlnupQCDFF> ffModel_;
+ std::unique_ptr<EvtSLDiBaryonAmp> calcAmp_;
};
#endif
-
diff --git a/EvtGenModels/EvtBToDiBaryonlnupQCDFF.hh b/EvtGenModels/EvtBToDiBaryonlnupQCDFF.hh
index 687f19b..4f25e21 100644
--- a/EvtGenModels/EvtBToDiBaryonlnupQCDFF.hh
+++ b/EvtGenModels/EvtBToDiBaryonlnupQCDFF.hh
@@ -1,66 +1,61 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBToDiBaryonlnupQCDFF.hh.hh
//
// Description: Module for computation of B->ppbar form factors according
// to pQCD counting rules, see arXiv:1107.0801.
//
// Modification history:
//
// Mark Smith July 17, 2017 Module created
// John B Oct 2018 Added FormFactors class
//
//------------------------------------------------------------------------
#ifndef EVTBTODIBARYONLNUPQCDFF_HH
#define EVTBTODIBARYONLNUPQCDFF_HH
class EvtParticle;
#include <vector>
class EvtBToDiBaryonlnupQCDFF {
public:
- class FormFactors {
+ class FormFactors final {
public:
- FormFactors() {;}
-
- virtual ~FormFactors() {;}
double F1, F2, F3, F4, F5;
double G1, G2, G3, G4, G5;
};
EvtBToDiBaryonlnupQCDFF();
EvtBToDiBaryonlnupQCDFF(std::vector<double>& DParameters);
void getDiracFF(EvtParticle* parent, double dibaryonMass,
EvtBToDiBaryonlnupQCDFF::FormFactors& FF) const;
void getRaritaFF(EvtParticle* parent, double dibaryonMass,
EvtBToDiBaryonlnupQCDFF::FormFactors& FF) const;
void getFF(EvtParticle* parent, double dibaryonMass,
EvtBToDiBaryonlnupQCDFF::FormFactors& FF) const;
private:
std::vector<double> DPars;
int nDPars;
};
#endif
-
-
diff --git a/EvtGenModels/EvtBToKpipiCP.hh b/EvtGenModels/EvtBToKpipiCP.hh
index 016a57e..dde7a6b 100644
--- a/EvtGenModels/EvtBToKpipiCP.hh
+++ b/EvtGenModels/EvtBToKpipiCP.hh
@@ -1,48 +1,47 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBToKpipiCP.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOKPIPICP_HH
#define EVTBTOKPIPICP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtBTo3hCP.hh"
class EvtParticle;
class EvtBToKpipiCP:public EvtDecayAmp {
public:
EvtBToKpipiCP() {}
- virtual ~EvtBToKpipiCP();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtBToKpipiCP* clone() override;
- void init();
- void decay(EvtParticle *p);
+ void init() override;
+ void decay(EvtParticle *p) override;
private:
EvtBTo3hCP generator;
};
#endif
diff --git a/EvtGenModels/EvtBToPlnuBK.hh b/EvtGenModels/EvtBToPlnuBK.hh
index 3ee1f3c..c378b11 100644
--- a/EvtGenModels/EvtBToPlnuBK.hh
+++ b/EvtGenModels/EvtBToPlnuBK.hh
@@ -1,54 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGenModels/EvtBToPlnuBK.hh
//
// Description: B->Xu l nu with BK (Becirevic-Kaidalov) parametrization
// Xu is a pseudoscalar (pi_plus,pi0,eta or eta_prime)
//
// Modification history:
//
// Martin Simard, U. de Montreal, 08/01/2007 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOPLNUBK_HH
#define EVTBTOPLNUBK_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class EvtParticle;
class EvtBToPlnuBK: public EvtDecayAmp {
public:
- EvtBToPlnuBK();
- virtual ~EvtBToPlnuBK();
+ std::string getName() override;
+ EvtBToPlnuBK* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void init();
- void initProbMax();
+ void init() override;
+ void initProbMax() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
- EvtSemiLeptonicFF *BKmodel;
- EvtSemiLeptonicAmp *calcamp;
-
+ std::unique_ptr<EvtSemiLeptonicFF> BKmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
+
};
#endif
diff --git a/EvtGenModels/EvtBToPlnuBKFF.hh b/EvtGenModels/EvtBToPlnuBKFF.hh
index ad43a7b..0b77124 100644
--- a/EvtGenModels/EvtBToPlnuBKFF.hh
+++ b/EvtGenModels/EvtBToPlnuBKFF.hh
@@ -1,57 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGenModels/EvtBToPlnuBK.hh
//
// Description: B->Xu l nu with BK (Becirevic-Kaidalov) parametrization
// Xu is a pseudoscalar (pi_plus,pi0,eta or eta_prime)
//
// Modification history:
//
// Martin Simard, U. de Montreal, 08/01/2007 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOPLNUBKFF_HH
#define EVTBTOPLNUBKFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtBToPlnuBKFF : public EvtSemiLeptonicFF {
public:
EvtBToPlnuBKFF(double alpha, double beta);
-
+
void getscalarff(EvtId parent,EvtId daught,
- double t, double mass, double *fp, double *f0);
+ double t, double mass, double *fp, double *f0) override;
- void getvectorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getvectorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
double _alpha;
double _beta;
};
#endif
diff --git a/EvtGenModels/EvtBToVlnuBall.hh b/EvtGenModels/EvtBToVlnuBall.hh
index 63e126d..ec04dc0 100644
--- a/EvtGenModels/EvtBToVlnuBall.hh
+++ b/EvtGenModels/EvtBToVlnuBall.hh
@@ -1,50 +1,47 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGenModels/EvtBToVlnuBall.hh
//
// Description: B->Xu l nu with the Ball/Zwicky decay model
// Xu is a vector (rho, rho0, omega)
//
// Modification history:
//
// Wells Wulsin 2008 Aug 14 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOVLNUBALL_HH
#define EVTBTOVLNUBALL_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class EvtParticle;
class EvtBToVlnuBall:public EvtDecayAmp {
public:
- EvtBToVlnuBall();
- virtual ~EvtBToVlnuBall();
+ std::string getName() override;
+ EvtBToVlnuBall* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
- EvtSemiLeptonicFF* _Ballmodel;
- EvtSemiLeptonicAmp* _calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> _Ballmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> _calcamp;
};
#endif
-
diff --git a/EvtGenModels/EvtBToVlnuBallFF.hh b/EvtGenModels/EvtBToVlnuBallFF.hh
index 84de668..c768de3 100644
--- a/EvtGenModels/EvtBToVlnuBallFF.hh
+++ b/EvtGenModels/EvtBToVlnuBallFF.hh
@@ -1,75 +1,74 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtHQETFF.hh
//
// Description: B->Xu l nu with the Ball/Zwicky decay model
// Xu is a vector (rho, rho0, omega)
//
// Modification history:
//
// Wells Wulsin 2008 Aug 14 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOVLNUBALLFF_HH
#define EVTBTOVLNUBALLFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtBToVlnuBallFF : public EvtSemiLeptonicFF {
-
+
public:
- EvtBToVlnuBallFF(double r2_A1,
+ EvtBToVlnuBallFF(double r2_A1,
double mfit2_A1,
double r1_A2,
double r2_A2,
double mfit2_A2,
double r1_V,
double r2_V,
double mfit2_V);
-
+
void getvectorff(EvtId parent,EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
- void getscalarff(EvtId, EvtId, double, double, double*,
- double*);
+ void getscalarff(EvtId, EvtId, double, double, double*,
+ double*) override;
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
-
- double _r2_A1;
+
+ double _r2_A1;
double _mfit2_A1;
double _r1_A2;
double _r2_A2;
double _mfit2_A2;
double _r1_V;
double _r2_V;
double _mfit2_V;
};
#endif
-
diff --git a/EvtGenModels/EvtBaryonPCR.hh b/EvtGenModels/EvtBaryonPCR.hh
index 8f96598..cf81886 100644
--- a/EvtGenModels/EvtBaryonPCR.hh
+++ b/EvtGenModels/EvtBaryonPCR.hh
@@ -1,54 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBaryonPCR.hh
//
// Description:Implementation of the BaryonPCR model
// Class to handle semileptonic decays using the BaryonVminusA
// model.
//
// Modification history:
//
// R.J. Tesarek May 28, 2004 Module created
// Karen Gibson 1/20/2006 Module updated for 1/2+->1/2+,
// 1/2+->1/2-, 1/2+->3/2- Lambda decays
//
//------------------------------------------------------------------------
#ifndef EVTBARYONPCR_HH
#define EVTBARYONPCR_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicBaryonAmp.hh"
+#include <memory>
class EvtParticle;
class EvtBaryonPCR:public EvtDecayAmp {
public:
- EvtBaryonPCR();
- virtual ~EvtBaryonPCR();
+ std::string getName() override;
+ EvtBaryonPCR* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
- EvtSemiLeptonicFF *baryonpcrffmodel;
- EvtSemiLeptonicBaryonAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> baryonpcrffmodel;
+ std::unique_ptr<EvtSemiLeptonicBaryonAmp> calcamp;
};
#endif
diff --git a/EvtGenModels/EvtBaryonPCRFF.hh b/EvtGenModels/EvtBaryonPCRFF.hh
index 201e17d..957029f 100644
--- a/EvtGenModels/EvtBaryonPCRFF.hh
+++ b/EvtGenModels/EvtBaryonPCRFF.hh
@@ -1,60 +1,60 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBaryonVminusAFF.hh
//
// Description:Form factor routines specific to EvtBaryonVminusA
//
// Modification history:
//
// R.J. Tesarek May 28, 2004 Module created
// Karen Gibson 1/20/2006 Module updated for 1/2+->1/2+,
// 1/2+->1/2-, 1/2+->3/2- Lambda decays
-//
+//
//------------------------------------------------------------------------
#ifndef EVTBARYONPCRFF_HH
#define EVTBARYONPCRFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtBaryonPCRFF : public EvtSemiLeptonicFF {
public:
void getscalarff(EvtId parent, EvtId daught,
double t, double mass, double *fpf,
- double *f0f );
+ double *f0f ) override;
void getvectorff(EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void gettensorff(EvtId parent, EvtId daught,
double t, double mass, double *hf,
- double *kf, double *bpf, double *bmf );
+ double *kf, double *bpf, double *bmf ) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff( EvtId parent, EvtId daught,
- double q2, double mass,
+ double q2, double mass,
double *f1, double *f2, double *f3,
- double *g1, double *g2, double *g3 );
+ double *g1, double *g2, double *g3 ) override;
void getraritaff( EvtId parent, EvtId daught,
- double q2, double mass,
+ double q2, double mass,
double *f1, double *f2, double *f3, double *f4,
- double *g1, double *g2, double *g3, double *g4 );
+ double *g1, double *g2, double *g3, double *g4 ) override;
};
#endif
diff --git a/EvtGenModels/EvtBcBsNPi.hh b/EvtGenModels/EvtBcBsNPi.hh
index a5ff7c8..1735e00 100644
--- a/EvtGenModels/EvtBcBsNPi.hh
+++ b/EvtGenModels/EvtBcBsNPi.hh
@@ -1,40 +1,38 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtGenModels/EvtBcBsNPi.hh
//
// Description: Decay model for Bc -> Bs + npi
//
// Modification history:
//
// A.Berezhnoy, A.Likhoded, A.Luchinsky July 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EvtBcBsNpi_HH
#define EvtBcBsNpi_HH
#include "EvtGenModels/EvtBcToNPi.hh"
#include "EvtGenBase/EvtDecayBase.hh"
#include <string>
class EvtBcBsNPi : public EvtBcToNPi {
public:
+ EvtBcBsNPi();
- EvtBcBsNPi();
- virtual ~EvtBcBsNPi();
+ void init() override;
+ void initProbMax() override;
- virtual void init();
- virtual void initProbMax();
-
- virtual std::string getName();
- virtual EvtDecayBase* clone();
+ std::string getName() override;
+ EvtBcBsNPi* clone() override;
};
#endif
diff --git a/EvtGenModels/EvtBcBsStarNPi.hh b/EvtGenModels/EvtBcBsStarNPi.hh
index e5d8aa5..9d44c14 100644
--- a/EvtGenModels/EvtBcBsStarNPi.hh
+++ b/EvtGenModels/EvtBcBsStarNPi.hh
@@ -1,43 +1,40 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtGenModels/EvtBcBsStarNPi.hh
//
// Description: Decay model for Bc -> Bs* + npi
//
// Modification history:
//
// A.Berezhnoy, A.Likhoded, A.Luchinsky April 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EvtBcBsStarNpi_HH
#define EvtBcBsStarNpi_HH
#include "EvtGenModels/EvtBcToNPi.hh"
#include "EvtGenBase/EvtDecayBase.hh"
#include <string>
class EvtBcBsStarNPi : public EvtBcToNPi {
public:
EvtBcBsStarNPi();
+ void init() override;
- virtual ~EvtBcBsStarNPi();
+ void initProbMax() override;
- virtual void init();
-
- virtual void initProbMax();
-
- virtual std::string getName();
- virtual EvtDecayBase* clone();
+ std::string getName() override;
+ EvtBcBsStarNPi* clone() override;
};
#endif
diff --git a/EvtGenModels/EvtBcPsiNPi.hh b/EvtGenModels/EvtBcPsiNPi.hh
index 85bb01b..92be307 100644
--- a/EvtGenModels/EvtBcPsiNPi.hh
+++ b/EvtGenModels/EvtBcPsiNPi.hh
@@ -1,43 +1,40 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtGenModels/EvtBcBsNPi.hh
//
// Description: Decay model for Bc -> J/psi + npi
//
// Modification history:
//
// A.Berezhnoy, A.Likhoded, A.Luchinsky April 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EvtBcPsiNpi_HH
#define EvtBcPsiNpi_HH
#include "EvtGenModels/EvtBcToNPi.hh"
#include "EvtGenBase/EvtDecayBase.hh"
#include <string>
class EvtBcPsiNPi : public EvtBcToNPi {
public:
-
EvtBcPsiNPi();
- virtual ~EvtBcPsiNPi();
+ void init() override;
+ void initProbMax() override;
- virtual void init();
- virtual void initProbMax();
-
- virtual std::string getName();
- virtual EvtDecayBase* clone();
+ std::string getName() override;
+ EvtBcPsiNPi* clone() override;
};
#endif
diff --git a/EvtGenModels/EvtBcSMuNu.hh b/EvtGenModels/EvtBcSMuNu.hh
index 8076554..2142e32 100644
--- a/EvtGenModels/EvtBcSMuNu.hh
+++ b/EvtGenModels/EvtBcSMuNu.hh
@@ -1,58 +1,56 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBcSMuNu.hh
//
// Description:Implementation of the model for semileptonic Bc decays
//
// Modification history:
//
// AVL Jul 6, 2012 Module created
// AVL Feb 5, 2018 D0, D*0 modes added
//
//------------------------------------------------------------------------
#ifndef EVTBcSMuNu_HH
#define EVTBcSMuNu_HH
#include <fstream>
#include <stdio.h>
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class EvtParticle;
class EvtBcSMuNu:public EvtDecayAmp {
public:
- EvtBcSMuNu() {}
- virtual ~EvtBcSMuNu();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void decay(EvtParticle *p) override;
+ void init() override;
- void decay(EvtParticle *p);
- void init();
-
- virtual void initProbMax();
+ void initProbMax() override;
private:
- EvtSemiLeptonicFF *ffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> ffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
int whichfit;
int idScalar;
};
#endif
diff --git a/EvtGenModels/EvtBcTMuNu.hh b/EvtGenModels/EvtBcTMuNu.hh
index dd3cc2e..bb26591 100644
--- a/EvtGenModels/EvtBcTMuNu.hh
+++ b/EvtGenModels/EvtBcTMuNu.hh
@@ -1,57 +1,51 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBcTMuNu.hh
//
// Description:Implementation of the model for semileptonic Bc decays
//
// Modification history:
//
// DJL April 20, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBcTMuNu_HH
#define EVTBcTMuNu_HH
-#include <fstream>
-#include <stdio.h>
-
-
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class EvtParticle;
class EvtBcTMuNu:public EvtDecayAmp {
public:
- EvtBcTMuNu() {}
- virtual ~EvtBcTMuNu();
-
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void init();
+ void decay(EvtParticle *p) override;
+ void init() override;
- virtual void initProbMax();
+ void initProbMax() override;
private:
- EvtSemiLeptonicFF *ffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> ffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
int whichfit;
int idTensor;
};
#endif
diff --git a/EvtGenModels/EvtBcToNPi.hh b/EvtGenModels/EvtBcToNPi.hh
index 9d0a1ad..9ce8b56 100644
--- a/EvtGenModels/EvtBcToNPi.hh
+++ b/EvtGenModels/EvtBcToNPi.hh
@@ -1,83 +1,82 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtGenModels/EvtBcToNPi.hh
//
// Description: General decay model for Bc -> V + npi and Bc -> P + npi
//
// Modification history:
//
// A.Berezhnoy, A.Likhoded, A.Luchinsky April 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EvtBcToNPi_HH
#define EvtBcToNPi_HH
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtDecayBase.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include <string>
class EvtBcToNPi: public EvtDecayAmp {
public:
-
+
EvtBcToNPi(bool printAuthorInfo = false);
- virtual ~EvtBcToNPi();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
protected:
-
+
int nCall;
double maxAmp2;
// Bc form factors
double _maxProb;
double FA0_N, FA0_c1, FA0_c2;
double FAm_N, FAm_c1, FAm_c2;
double FAp_N, FAp_c1, FAp_c2;
double FV_N, FV_c1, FV_c2;
-
+
double Fp_N, Fp_c1, Fp_c2;
double Fm_N, Fm_c1, Fm_c2;
-
+
// W -> pi... form factors
double _beta;
double _mRho;
double _gammaRho;
double _mRhopr;
double _gammaRhopr;
double _mA1;
double _gammaA1;
double _ee(double M, double m1, double m2);
double _pp(double M, double m1, double m2);
EvtComplex Fpi( EvtVector4R q1, EvtVector4R q2);
double pi3G(double m2,int dupD);
private:
void printAuthorInfo();
};
#endif
diff --git a/EvtGenModels/EvtBcVHad.hh b/EvtGenModels/EvtBcVHad.hh
index c21fe0a..95f9f7a 100644
--- a/EvtGenModels/EvtBcVHad.hh
+++ b/EvtGenModels/EvtBcVHad.hh
@@ -1,74 +1,73 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtBcVHad.hh
//
// Description: Module to implement Bc -> psi + (n pi) + (m K) decays
//
// Modification history:
//
// A V Luchinsky Jan 29, 2013 Module created
// A V Luchinsky Apr 30, 2019 psi K_S K node added
//
//------------------------------------------------------------------------
#ifndef EvtBcVHad_HH
#define EvtBcVHad_HH
-#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtDecayAmp.hh"
+#include "EvtGenBase/EvtVector4C.hh"
+
+#include "EvtGenModels/EvtBCVFF2.hh"
+#include "EvtGenModels/EvtWHad.hh"
#include <string>
+#include <memory>
-class EvtBCVFF2;
class EvtParticle;
-class EvtWHad;
class EvtBcVHad : public EvtDecayAmp {
public:
- EvtBcVHad();
- virtual ~EvtBcVHad();
-
- std::string getName();
- EvtDecayBase* clone();
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+ std::string getName() override;
+ EvtDecayBase* clone() override;
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
protected:
// Hadronic current function
EvtVector4C hardCurr(EvtParticle *root_particle) const;
private:
// whichfit --- code of the Bc -> VW formfactor set:
// 1 - SR
// 2 - PM
int whichfit;
// idVector --- final vector particle code
int idVector;
// out_code: code of the hadronic final state
// 1 - pi+
// 2 - pi+ pi0
// 3 - pi+ pi+ pi-
// 4 - 4pi
// 5 - pi+ pi+ pi- pi- pi+
// 6 - K+ K- pi+
// 7 - K+ pi+ pi-
// 8 - K_S0 K+
int out_code;
- EvtBCVFF2 *ffmodel;
- EvtWHad *wcurr;
+ std::unique_ptr<EvtBCVFF2> ffmodel;
+ std::unique_ptr<EvtWHad> wcurr;
};
#endif
diff --git a/EvtGenModels/EvtBcVMuNu.hh b/EvtGenModels/EvtBcVMuNu.hh
index 9b5fb91..7611709 100755
--- a/EvtGenModels/EvtBcVMuNu.hh
+++ b/EvtGenModels/EvtBcVMuNu.hh
@@ -1,59 +1,53 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBcVMuNu.hh
//
// Description:Implementation of the model for semileptonic Bc decays
//
// Modification history:
//
// AVL Jul 6, 2012 Module created
// AVL Feb 5, 2018 D0, D*0 modes added
//
//------------------------------------------------------------------------
#ifndef EVTBcVMuNu_HH
#define EVTBcVMuNu_HH
-#include <fstream>
-#include <stdio.h>
-
-
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class EvtParticle;
-class EvtBcVMuNu: public EvtDecayAmp {
+class EvtBcVMuNu:public EvtDecayAmp {
public:
- EvtBcVMuNu() {}
- virtual ~EvtBcVMuNu();
-
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void init();
+ void decay(EvtParticle *p) override;
+ void init() override;
- virtual void initProbMax();
+ void initProbMax() override;
private:
- EvtSemiLeptonicFF *ffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> ffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
int whichfit;
int idVector;
};
#endif
diff --git a/EvtGenModels/EvtBcVNpi.hh b/EvtGenModels/EvtBcVNpi.hh
index 2611a48..0d49899 100644
--- a/EvtGenModels/EvtBcVNpi.hh
+++ b/EvtGenModels/EvtBcVNpi.hh
@@ -1,42 +1,38 @@
#ifndef EvtBcVNpi_HH
#define EvtBcVNpi_HH
#include <iostream>
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenModels/EvtBCVFF.hh"
#include "EvtGenModels/EvtWnPi.hh"
+#include <memory>
using std::endl;
-using std::fstream;
-using std::ifstream;
-using std::cout;
using std::string;
class EvtBcVNpi:public EvtDecayAmp {
public:
- EvtBcVNpi() { };
- virtual ~EvtBcVNpi();
- std::string getName();
- EvtDecayBase* clone();
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+ std::string getName() override;
+ EvtDecayBase* clone() override;
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
protected:
int nCall;
int whichfit, idVector;
- EvtBCVFF *ffmodel;
- EvtWnPi *wcurr;
+ std::unique_ptr<EvtBCVFF> ffmodel;
+ std::unique_ptr<EvtWnPi> wcurr;
EvtComplex Fpi( EvtVector4R q1, EvtVector4R q2);
EvtComplex BWa( EvtVector4R q);
EvtComplex BWf( EvtVector4R q);
EvtComplex BWr( EvtVector4R q);
- EvtVector4C JB(EvtVector4R q1, EvtVector4R q2, EvtVector4R q3, EvtVector4R q4, EvtVector4R q5);
+ EvtVector4C JB(EvtVector4R q1, EvtVector4R q2, EvtVector4R q3, EvtVector4R q4, EvtVector4R q5);
};
#endif
diff --git a/EvtGenModels/EvtBsMuMuKK.hh b/EvtGenModels/EvtBsMuMuKK.hh
index 5ea2c2f..0085978 100644
--- a/EvtGenModels/EvtBsMuMuKK.hh
+++ b/EvtGenModels/EvtBsMuMuKK.hh
@@ -1,90 +1,86 @@
////////////////////////////////////////////////////////////////////////////////
// //
// Environment: //
// This software is part of the EvtGen package. //
// //
// Copyright Information: See EvtGen/COPYRIGHT //
// //
// Module: EvtBsMUMUKK.hh //
// //
// Description: Routine to implement Bs -> J/psi KK //
// //
// Modification history: //
// Veronika Chobanova, Jeremy Dalseno, Diego Martinez Santos //
// April 21, 2016 Module created LHCb collaboration //
// Marcos Romero Lamas //
// February 8, 2019 Module updated LHCb collaboration //
// //
////////////////////////////////////////////////////////////////////////////////
#ifndef EvtBsMuMuKK_HH
#define EvtBsMuMuKK_HH
#include <string>
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtComplex.hh"
class EvtParticle;
class EvtBsMuMuKK : public EvtDecayAmp
{
public:
- EvtBsMuMuKK() {;}
-
- virtual std::string getName() { return "BS_MUMUKK"; }
-
- virtual EvtDecayBase* clone();
-
- virtual void init();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- virtual void initProbMax();
+ void init() override;
+ void initProbMax() override;
- virtual void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
protected:
EvtComplex Flatte(const double m0, const double m) const;
EvtComplex GetRho(const double m0, const double m) const;
EvtComplex Breit_Wigner(const double Gamma0, const double m0, const double m,
const int J, const double q0, const double q) const;
double Integral(const double Gamma0, const double m0, const int JR, const int JB,
const double q0, const double M_KK_ll, const double M_KK_ul, const int fcntype) const;
double X_J(const int J, const double q, const int isB) const;
double Wignerd(int J, int l, int alpha, double theta) const;
EvtComplex AngularDist(int J, int l, int alpha, double cK, double cL, double chi) const;
EvtComplex AmpTime(const int q, const EvtComplex& gplus, const EvtComplex& gminus,
const double delta, const double lambda_abs, const double Amp,
const double phis, const int eta) const;
private:
double MBs, MJpsi, Mf0, Mphi, Mf2p, MKp, MKm, MK0, Mpip, Mpi0, Mmu;
double Gamma0phi, Gamma0f2p;
double kin_lower_limit, kin_upper_limit, kin_middle;
double p30Kp_mid_CMS, p30Kp_ll_CMS, p30Kp_phi_CMS, p30Kp_f2p_CMS;
double p30Jpsi_mid_CMS, p30Jpsi_ll_CMS, p30Jpsi_phi_CMS, p30Jpsi_f2p_CMS;
double int_const_NR, int_Flatte_f0, int_BW_phi, int_BW_f2p;
double f_S_NR, f_f0, f_phi, f_f2p, f_phi_0, f_phi_perp, f_f2p_0, f_f2p_perp;
double A_S_NR, A_f0, A_phi_0, A_phi_perp, A_phi_par, A_f2p_0, A_f2p_perp;
double A_f2p_par;
double delta_S_NR, delta_f0, delta_phi_0, delta_phi_perp, delta_phi_par;
double delta_f2p_0, delta_f2p_perp, delta_f2p_par;
double phis_S_NR, phis_f0, phis_phi_0, phis_phi_perp, phis_phi_par;
double phis_f2p_0, phis_f2p_perp, phis_f2p_par;
double lambda_S_NR_abs, lambda_f0_abs, lambda_phi_0_abs, lambda_phi_perp_abs;
double lambda_phi_par_abs, lambda_f2p_0_abs, lambda_f2p_perp_abs;
double lambda_f2p_par_abs;
double Gamma, deltaGamma, ctau, deltaMs;
};
#endif
diff --git a/EvtGenModels/EvtBsquark.hh b/EvtGenModels/EvtBsquark.hh
index 676c5a4..b8fb9a9 100644
--- a/EvtGenModels/EvtBsquark.hh
+++ b/EvtGenModels/EvtBsquark.hh
@@ -1,48 +1,45 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTauScalarnu.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBSQUARK_HH
#define EVTBSQUARK_HH
#include "EvtGenBase/EvtDecayProb.hh"
class EvtParticle;
class EvtBsquark:public EvtDecayProb {
public:
-
- EvtBsquark() {}
- virtual ~EvtBsquark();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtBto2piCPiso.hh b/EvtGenModels/EvtBto2piCPiso.hh
index 150a388..e95133d 100644
--- a/EvtGenModels/EvtBto2piCPiso.hh
+++ b/EvtGenModels/EvtBto2piCPiso.hh
@@ -1,46 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBto2piCPiso.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTO2PICPISO_HH
#define EVTBTO2PICPISO_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtParticle.hh"
class EvtBto2piCPiso:public EvtDecayAmp {
public:
-
- EvtBto2piCPiso() {}
- virtual ~EvtBto2piCPiso();
-
- std::string getName();
- EvtDecayBase* clone();
- void init();
- void initProbMax();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+
+ void decay(EvtParticle *p) override;
+
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
- std::string getParamName(int i);
- std::string getParamDefault(int i);
};
#endif
diff --git a/EvtGenModels/EvtBtoKD3P.hh b/EvtGenModels/EvtBtoKD3P.hh
index a34a0b7..1964a26 100644
--- a/EvtGenModels/EvtBtoKD3P.hh
+++ b/EvtGenModels/EvtBtoKD3P.hh
@@ -1,87 +1,84 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtBtoKD3P.hh,v 1.1 2009-03-16 16:49:00 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 2003, Colorado State University
//
// Module creator:
// Abi soffer, CSU, 2003
//-----------------------------------------------------------------------
// Decay model that does the decay B+ -> K+ D , D -> 3 psudoscalars.
//
// The B- daughters specified in the decay file should be K-, D0, D0,
// where the first D0 is produced via b->c decay and the second via b->u.
// In reality, only one D daughter exists, so the first two
// daughters must be defined to decay to the same final state using
-// the EvtPto3P model, but with CP-conjugate amplitudes.
+// the EvtPto3P model, but with CP-conjugate amplitudes.
//
// For a given point in the Pto3P Dalitz plot,
// the total amplitude is \propto [A1 + A2 r exp(i(phase))], where
//
// A1 & A2 are the amplitudes of the D0 and D0bar to decay into that
-// Dalitz plot point,
+// Dalitz plot point,
//
// r is the (positive) ratio between the A(B->B0bar K) and A(B->D0 K)
// B decay amplitudes,
-//
+//
// phase is the total phase difference (weak phase + strong phase) between
// A(B->D0bar K) and A(B->B0 K).
//
// Note that this model knows nothing about your convention for the
// sign of the phase, so when specifying the decay of a B- you need to
// change the order of D0 and D0bar and change the total phase so that
// the sign of the weak phase flips with respect to the parameters of B+.
-//
+//
#ifndef EVT_BTOKD3P
#define EVT_BTOKD3P
class EvtParticle;
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtComplex.hh"
class EvtBtoKD3P : public EvtDecayAmp {
public:
- EvtBtoKD3P();
- EvtBtoKD3P(const EvtBtoKD3P & other);
- virtual ~EvtBtoKD3P();
- EvtDecayBase* clone();
-
+ EvtDecayBase* clone() override;
+
// Initialize model
- virtual void init();
- virtual void initProbMax();
- virtual void decay(EvtParticle *p);
-
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
+
// we really have two daughters, although three are listed in the .dec file:
- virtual int nRealDaughters() { return 2;}
+ int nRealDaughters() override { return 2;}
+
+ std::string getName() override;
- std::string getName();
-
protected:
// parameters:
double _r;
- EvtComplex _exp;
+ EvtComplex _exp;
// other:
- const EvtDecayBase * _model1;
- const EvtDecayBase * _model2;
- bool _decayedOnce;
+ const EvtDecayBase * _model1 = nullptr;
+ const EvtDecayBase * _model2 = nullptr;
+ bool _decayedOnce = false;
};
#endif
diff --git a/EvtGenModels/EvtBtoKpiCPiso.hh b/EvtGenModels/EvtBtoKpiCPiso.hh
index a43082d..6770d60 100644
--- a/EvtGenModels/EvtBtoKpiCPiso.hh
+++ b/EvtGenModels/EvtBtoKpiCPiso.hh
@@ -1,45 +1,42 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtBtoKpiCPiso.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOKPICPISO_HH
#define EVTBTOKPICPISO_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtParticle.hh"
class EvtBtoKpiCPiso:public EvtDecayAmp {
public:
- EvtBtoKpiCPiso() {}
- virtual ~EvtBtoKpiCPiso();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtBtoXsEtap.hh b/EvtGenModels/EvtBtoXsEtap.hh
index a9e6bd9..419cfe0 100644
--- a/EvtGenModels/EvtBtoXsEtap.hh
+++ b/EvtGenModels/EvtBtoXsEtap.hh
@@ -1,49 +1,45 @@
//--------------------------------------------------------------------------
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
//
// Module: EvtGen/EvtBtoXsEtap.hh
//
// Description:
// Class to generate non-resonant two-body b->s,gluon decays.
//
// Modification history:
//
// Adlene Hicheur Jannuary 10, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOXSETAP_HH
#define EVTBTOXSETAP_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class EvtBtoXsEtap:public EvtDecayIncoherent {
public:
-
- EvtBtoXsEtap() {}
- virtual ~EvtBtoXsEtap();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
-
diff --git a/EvtGenModels/EvtBtoXsgamma.hh b/EvtGenModels/EvtBtoXsgamma.hh
index d61db38..65e941d 100644
--- a/EvtGenModels/EvtBtoXsgamma.hh
+++ b/EvtGenModels/EvtBtoXsgamma.hh
@@ -1,56 +1,51 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
//
// Module: EvtGen/EvtBtoXsgamma.hh
//
// Description:
// Class to generate non-resonant two-body b->s,gamma decays.
//
// Modification history:
//
// Mark Ian Williams July 20, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOXSGAMMA_HH
#define EVTBTOXSGAMMA_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
+#include "EvtGenModels/EvtBtoXsgammaAbsModel.hh"
+#include <memory>
-class EvtBtoXsgammaAbsModel;
class EvtParticle;
-
class EvtBtoXsgamma:public EvtDecayIncoherent {
public:
-
- EvtBtoXsgamma() {_model=0;}
-
- virtual ~EvtBtoXsgamma();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
- EvtBtoXsgammaAbsModel *_model;
-
+ std::unique_ptr<EvtBtoXsgammaAbsModel> _model;
+
};
#endif
-
diff --git a/EvtGenModels/EvtBtoXsgammaAbsModel.hh b/EvtGenModels/EvtBtoXsgammaAbsModel.hh
index 14feb29..7fd1c0a 100644
--- a/EvtGenModels/EvtBtoXsgammaAbsModel.hh
+++ b/EvtGenModels/EvtBtoXsgammaAbsModel.hh
@@ -1,43 +1,39 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
//
// Module: EvtGen/EvtBtoXsgammaAbsModel.hh
//
// Description:
// B->Xs gamma model base class.
//
// Modification history:
//
// Jane Tinslay March 21, 2000 Module Created
-//
+//
//------------------------------------------------------------------------
#ifndef EVTBTOXSGAMMAABSMODEL_HH
#define EVTBTOXSGAMMAABSMODEL_HH
class EvtBtoXsgammaAbsModel {
public:
-
- EvtBtoXsgammaAbsModel() {}
- virtual ~EvtBtoXsgammaAbsModel();
+ virtual ~EvtBtoXsgammaAbsModel() = default;
virtual void init(int, double*);
virtual double GetMass(int code)=0;
-private:
};
#endif
-
diff --git a/EvtGenModels/EvtBtoXsgammaAliGreub.hh b/EvtGenModels/EvtBtoXsgammaAliGreub.hh
index b9ea795..1a2f77b 100644
--- a/EvtGenModels/EvtBtoXsgammaAliGreub.hh
+++ b/EvtGenModels/EvtBtoXsgammaAliGreub.hh
@@ -1,45 +1,39 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
//
// Module: EvtGen/EvtBtoXsgammaAliGreubFcn.hh
//
// Description:
// Class to generate non-resonant two-body b->s,gamma decays.
//
// Modification history:
//
// Mark Ian Williams July 20, 2000 Module created
-// Jane Tinslay March 21, 2000 Separated from EvtBtoXsgamma
+// Jane Tinslay March 21, 2000 Separated from EvtBtoXsgamma
// class to allow choice of input models.
//
//------------------------------------------------------------------------
#ifndef EVTBTOXSGAMMAALIGREUB_HH
#define EVTBTOXSGAMMAALIGREUB_HH
#include "EvtGenModels/EvtBtoXsgammaAbsModel.hh"
class EvtBtoXsgammaAliGreub : public EvtBtoXsgammaAbsModel {
public:
-
- EvtBtoXsgammaAliGreub() {}
- virtual ~EvtBtoXsgammaAliGreub();
+ void init(int, double*) override;
- void init(int, double*);
+ double GetMass(int code) override;
- double GetMass(int code);
-
-private:
};
#endif
-
diff --git a/EvtGenModels/EvtBtoXsgammaFermiUtil.hh b/EvtGenModels/EvtBtoXsgammaFermiUtil.hh
index 50fb04e..23283d1 100644
--- a/EvtGenModels/EvtBtoXsgammaFermiUtil.hh
+++ b/EvtGenModels/EvtBtoXsgammaFermiUtil.hh
@@ -1,59 +1,55 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2001 Brunel University
//
// Module: EvtGen/EvtBtoXsgammaFermiUtil.hh
//
// Description:
-// Class to hold various fermi functions and their helper functions. The
+// Class to hold various fermi functions and their helper functions. The
// fermi functions are used in EvtBtoXsgammaKagan.
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOXSGAMMAFERMIUTIL_HH
#define EVTBTOXSGAMMAFERMIUTIL_HH
#include <vector>
-class EvtBtoXsgammaFermiUtil {
+class EvtBtoXsgammaFermiUtil final {
//--------------------
// Instance Members --
//--------------------
public:
- // Constructors
- EvtBtoXsgammaFermiUtil() { };
- virtual ~EvtBtoXsgammaFermiUtil() { };
-
//Exponential function
static double FermiExpFunc(double var, const std::vector<double> &coeffs);
//Gaussian function and its helper functions
static double FermiGaussFunc(double, std::vector<double> const &coeffs);
static double FermiGaussFuncRoot(double, double, double, std::vector<double> &coeffs);
static double FermiGaussRootFcnA(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
static double FermiGaussRootFcnB(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
static double Gamma(double, const std::vector<double> &coeffs);
//Roman function and its helper functions
static double BesselI1(double);
static double BesselK1(double);
static double FermiRomanFuncRoot(double, double);
static double FermiRomanRootFcnA(double);
static double FermiRomanFunc(double, std::vector<double> const &coeffs);
};
#endif
diff --git a/EvtGenModels/EvtBtoXsgammaFixedMass.hh b/EvtGenModels/EvtBtoXsgammaFixedMass.hh
index dfdb340..483c32d 100644
--- a/EvtGenModels/EvtBtoXsgammaFixedMass.hh
+++ b/EvtGenModels/EvtBtoXsgammaFixedMass.hh
@@ -1,47 +1,40 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 2001 Brunel University, University of Wisconsin
//
// Module: EvtGen/EvtBtoXsgammaFixedMass.hh
//
// Description:
// Implimentation of a fixed hadronic mass to measure spectrum
//
// Modification history:
//
// Jim Libby October 11, 2002 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOXSGAMMAFIXEDMASS_HH
#define EVTBTOXSGAMMAFIXEDMASS_HH
#include "EvtGenModels/EvtBtoXsgammaAbsModel.hh"
class EvtBtoXsgammaFixedMass : public EvtBtoXsgammaAbsModel {
public:
-
- EvtBtoXsgammaFixedMass() {}
- virtual ~EvtBtoXsgammaFixedMass();
+ void init(int, double*) override;
- void init(int, double*);
-
- double GetMass(int code);
+ double GetMass(int code) override;
private:
//Input parameters
double _mH;
};
#endif
-
-
-
diff --git a/EvtGenModels/EvtBtoXsgammaFlatEnergy.hh b/EvtGenModels/EvtBtoXsgammaFlatEnergy.hh
index 7f27f5c..54b7b29 100644
--- a/EvtGenModels/EvtBtoXsgammaFlatEnergy.hh
+++ b/EvtGenModels/EvtBtoXsgammaFlatEnergy.hh
@@ -1,51 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 2001 Brunel University, University of Wisconsin
//
// Module: EvtGen/EvtBtoXsgammaFlatEnergy.hh
//
// Description:
// Implimentation of a fixed hadronic mass to measure spectrum
//
// Modification history:
//
// Jim Libby October 11, 2002 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOXSGAMMAFLATENERGY_HH
#define EVTBTOXSGAMMAFLATENERGY_HH
#include "EvtGenModels/EvtBtoXsgammaAbsModel.hh"
class EvtBtoXsgammaFlatEnergy : public EvtBtoXsgammaAbsModel {
public:
-
- EvtBtoXsgammaFlatEnergy() {}
- virtual ~EvtBtoXsgammaFlatEnergy();
+ void init(int, double*) override;
- void init(int, double*);
-
- double GetMass(int code);
+ double GetMass(int code) override;
private:
//Input parameters
double _eMin;
double _eMax;
//
double _mB0;
double _eRange;
};
#endif
-
-
-
diff --git a/EvtGenModels/EvtBtoXsgammaKagan.hh b/EvtGenModels/EvtBtoXsgammaKagan.hh
index b3b2ef5..ae0307d 100644
--- a/EvtGenModels/EvtBtoXsgammaKagan.hh
+++ b/EvtGenModels/EvtBtoXsgammaKagan.hh
@@ -1,131 +1,124 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 2001 Brunel University, University of Wisconsin
//
// Module: EvtGen/EvtBtoXsgammaKagan.hh
//
// Description:
-// Implimentation of the Kagan-Neubert model for non-resonant
+// Implimentation of the Kagan-Neubert model for non-resonant
// B->Xs,gamma decays.
//
// Modification history:
//
// Jane Tinslay, Francesca Di Lodovico March 27, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOXSGAMMAKAGAN_HH
#define EVTBTOXSGAMMAKAGAN_HH
#include <vector>
#include "EvtGenModels/EvtBtoXsgammaAbsModel.hh"
class EvtBtoXsgammaKagan : public EvtBtoXsgammaAbsModel {
public:
-
- EvtBtoXsgammaKagan() {}
- virtual ~EvtBtoXsgammaKagan();
-
- void init(int, double*);
+ void init(int, double*) override;
void computeHadronicMass(int, double*);
-
+
void getDefaultHadronicMass();
- double GetMass(int code);
+ double GetMass(int code) override;
double CalcAlphaS(double);
void CalcWilsonCoeffs();
void CalcDelta();
double Fz(double);
private:
//Input parameters
double _mb;
double _mB;
double _delta;
double _nIntervalS;
double _nIntervalmH;
double _lambdabar;
double _lam1;
double _mHmin;
- double _mHmax;
+ double _mHmax;
//Other parameters
double _r7;
double _gam77;
double _gam27;
double _gam87;
double _beta0;
double _beta1;
double _alphasmZ;
double _mZ;
double _z;
double _fz;
double _lam2;
double _kappabar;
double _rer2;
double _rer8;
double _kSLemmu;
double _mW;
double _mt;
double _ms;
double _mu;
double _c2mu;
double _c70mu;
double _c80mu;
double _c71mu;
double _c7emmu;
double _cDeltatot;
double _alpha;
double _alphasmW;
double _alphasmt;
double _alphasmu;
double _alphasmubar;
double _etamu;
std::vector<double> _mHVect;
static double ReG(double);
static double ImG(double);
static double s77(double);
static double s88(double, double, double);
static double s78(double);
static double s22Func(double var, const std::vector<double> &coeffs);
static double s27Func(double var, const std::vector<double> &coeffs);
static double Delta(double, double);
static double DeltaFermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3);
static double s77FermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
static double s88FermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3);
static double s78FermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
static double s22FermiFunc(double, std::vector<double> &coeffs);
static double s27FermiFunc(double, std::vector<double> &coeffs);
static double s28FermiFunc(double, std::vector<double> &coeffs);
static double GetArrayVal(double, double, double, double, std::vector<double>);
- static double sFermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2,
+ static double sFermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2,
const std::vector<double> &coeffs3, const std::vector<double> &coeffs4);
static double FermiFunc(double, const std::vector<double> &coeffs);
static double diLogFunc(double);
static double diLogMathematica(double);
- double *massHad; double *brHad;
+ std::vector<double> massHad, brHad;
static double intervalMH;
static bool bbprod;
};
#endif
-
-
-
diff --git a/EvtGenModels/EvtBtoXsgammaRootFinder.hh b/EvtGenModels/EvtBtoXsgammaRootFinder.hh
index 48b133e..3316939 100644
--- a/EvtGenModels/EvtBtoXsgammaRootFinder.hh
+++ b/EvtGenModels/EvtBtoXsgammaRootFinder.hh
@@ -1,65 +1,51 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2001 Brunel University
//
// Module: EvtGen/EvtBtoXsgammaRootFinder.hh
//
// Description:
// Root finding algorithms using the bilear method. Basic structure
-// lifted from the BaBar IntegrationUtils root finding algorithm
+// lifted from the BaBar IntegrationUtils root finding algorithm
// (author John Back).
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOXSGAMMAROOTFINDER_HH
#define EVTBTOXSGAMMAROOTFINDER_HH
//-------------
// C Headers --
//-------------
extern "C" {
}
//#include "EvtGenBase/EvtItgAbsFunction.hh"
class EvtItgAbsFunction;
-class EvtBtoXsgammaRootFinder{
+class EvtBtoXsgammaRootFinder final{
public:
- // Constructors
-
- EvtBtoXsgammaRootFinder();
-
- // Destructor
- virtual ~EvtBtoXsgammaRootFinder( );
-
- double GetRootSingleFunc(const EvtItgAbsFunction* theFunc, double functionValue,
+ double GetRootSingleFunc(const EvtItgAbsFunction* theFunc, double functionValue,
double lowerValue, double upperValue, double precision);
- double GetGaussIntegFcnRoot(EvtItgAbsFunction *theFunc1, EvtItgAbsFunction *theFunc2,
- double integ1Precision, double integ2Precision,
- int maxLoop1, int maxLoop2, double integLower,
- double integUpper, double lowerValue, double upperValue,
+ double GetGaussIntegFcnRoot(EvtItgAbsFunction *theFunc1, EvtItgAbsFunction *theFunc2,
+ double integ1Precision, double integ2Precision,
+ int maxLoop1, int maxLoop2, double integLower,
+ double integUpper, double lowerValue, double upperValue,
double precision);
-private:
-
- EvtBtoXsgammaRootFinder( const EvtBtoXsgammaRootFinder& ); // Copy Constructor
- EvtBtoXsgammaRootFinder& operator= ( const EvtBtoXsgammaRootFinder& ); // Assignment op
-
};
#endif
-
-
diff --git a/EvtGenModels/EvtBtoXsll.hh b/EvtGenModels/EvtBtoXsll.hh
index 3cccda4..ddd1e8b 100644
--- a/EvtGenModels/EvtBtoXsll.hh
+++ b/EvtGenModels/EvtBtoXsll.hh
@@ -1,58 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
//
// Module: EvtGen/EvtBtoXsll.hh
//
// Description:
// Class to generate inclusive non-resonant B -> Xs l+ l- decays.
//
// Modification history:
//
// Stephane Willocq Jan 17, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOXSLL_HH
#define EVTBTOXSLL_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
#include "EvtGenBase/EvtParticle.hh"
+#include "EvtGenModels/EvtBtoXsllUtil.hh"
+#include <memory>
class EvtBtoXsllUtil;
class EvtBtoXsll:public EvtDecayIncoherent {
public:
-
- EvtBtoXsll(): _calcprob(0) {}
- virtual ~EvtBtoXsll();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
- EvtBtoXsllUtil *_calcprob;
+ std::unique_ptr<EvtBtoXsllUtil> _calcprob;
double _dGdsProbMax;
double _dGdsdupProbMax;
double _mb;
double _ms;
double _mq;
double _pf;
double _mxmin;
};
#endif
diff --git a/EvtGenModels/EvtCBTo3piMPP.hh b/EvtGenModels/EvtCBTo3piMPP.hh
index 2cbe5fd..eb9ec6b 100644
--- a/EvtGenModels/EvtCBTo3piMPP.hh
+++ b/EvtGenModels/EvtCBTo3piMPP.hh
@@ -1,50 +1,47 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtCBTo3piMPP.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTCBTO3PIMPP_HH
#define EVTCBTO3PIMPP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtBTo3hCP.hh"
class EvtParticle;
class EvtCBTo3piMPP:public EvtDecayAmp {
public:
- EvtCBTo3piMPP() {}
- virtual ~EvtCBTo3piMPP();
+ std::string getName() override;
+ EvtCBTo3piMPP* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
EvtBTo3hCP generator;
};
#endif
diff --git a/EvtGenModels/EvtCBTo3piP00.hh b/EvtGenModels/EvtCBTo3piP00.hh
index 7ff1998..855e7f4 100644
--- a/EvtGenModels/EvtCBTo3piP00.hh
+++ b/EvtGenModels/EvtCBTo3piP00.hh
@@ -1,50 +1,49 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtCBTo3piP00.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTCBTO3PIP00_HH
#define EVTCBTO3PIP00_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtBTo3hCP.hh"
class EvtParticle;
class EvtCBTo3piP00:public EvtDecayAmp {
public:
EvtCBTo3piP00() {}
- virtual ~EvtCBTo3piP00();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtCBTo3piP00* clone() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+
+ void decay(EvtParticle *p) override;
private:
EvtBTo3hCP generator;
};
#endif
diff --git a/EvtGenModels/EvtD0gammaDalitz.hh b/EvtGenModels/EvtD0gammaDalitz.hh
index f890404..e7eac9d 100644
--- a/EvtGenModels/EvtD0gammaDalitz.hh
+++ b/EvtGenModels/EvtD0gammaDalitz.hh
@@ -1,96 +1,93 @@
//--------------------------------------------------------------------------
//
// Module: EvtGen/EvtD0gammaDalitz.hh
//
// Modification history:
//
// JGT February 13, 2012 Module created
//
//------------------------------------------------------------------------
#ifndef __EVTD0GAMMADALITZ_HH__
#define __EVTD0GAMMADALITZ_HH__
#include <vector>
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtFlatte.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtDalitzReso.hh"
#include "EvtGenBase/EvtCyclic3.hh"
class EvtParticle;
class EvtD0gammaDalitz : public EvtDecayAmp
{
private:
int _d1;
int _d2;
int _d3;
- int _flag;
bool _isKsPiPi;
// Useful constants.
static const EvtSpinType::spintype& _SCALAR;
static const EvtSpinType::spintype& _VECTOR;
static const EvtSpinType::spintype& _TENSOR;
static const EvtDalitzReso::CouplingType& _EtaPic;
static const EvtDalitzReso::CouplingType& _PicPicKK;
static const EvtDalitzReso::NumType& _RBW;
static const EvtDalitzReso::NumType& _GS;
static const EvtDalitzReso::NumType& _KMAT;
static const EvtCyclic3::Pair& _AB;
static const EvtCyclic3::Pair& _AC;
static const EvtCyclic3::Pair& _BC;
// Values to be read or computed based on values in the evt.pdl file.
// IDs of the relevant particles.
EvtId _BP;
EvtId _BM;
EvtId _B0;
EvtId _B0B;
EvtId _D0;
EvtId _D0B;
EvtId _KM;
EvtId _KP;
EvtId _K0;
EvtId _K0B;
EvtId _KL;
EvtId _KS;
EvtId _PIM;
EvtId _PIP;
// Flavor of the B mother.
EvtId _bFlavor;
// Masses of the relevant particles.
double _mD0;
double _mKs;
double _mPi;
double _mK;
void readPDGValues();
void reportInvalidAndExit() const;
EvtComplex dalitzKsPiPi( const EvtDalitzPoint& point ) const;
EvtComplex dalitzKsKK ( const EvtDalitzPoint& point ) const;
public:
- EvtD0gammaDalitz();
- virtual ~EvtD0gammaDalitz();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void init();
- void initProbMax();
+ void init() override;
+ void initProbMax() override;
- void decay( EvtParticle* p );
+ void decay( EvtParticle* p ) override;
};
#endif
diff --git a/EvtGenModels/EvtD0mixDalitz.hh b/EvtGenModels/EvtD0mixDalitz.hh
index 0200ca7..620d746 100644
--- a/EvtGenModels/EvtD0mixDalitz.hh
+++ b/EvtGenModels/EvtD0mixDalitz.hh
@@ -1,119 +1,118 @@
/*****************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenModels
* File: $Id: EvtD0mixDalitz.hh,v 1.1 2009-03-16 16:49:00 robbep Exp $
*
* Description:
* The D0mixDalitz model, with many resonances and mixing implemented.
*
* Modification history:
* Jordi Garra Ticó 2008/07/03 File created
*****************************************************************************/
#ifndef __EVTD0MIXDALITZ_HH__
#define __EVTD0MIXDALITZ_HH__
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtDalitzReso.hh"
#include "EvtGenBase/EvtCyclic3.hh"
class EvtD0mixDalitz : public EvtDecayAmp
{
private:
int _d1;
int _d2;
int _d3;
// Mixing parameters.
double _x;
double _y;
// q/p CP violation in the mixing.
EvtComplex _qp;
// Checker of the decay mode.
bool _isKsPiPi;
bool _isRBWmodel;
// Useful constants.
static const EvtSpinType::spintype& _SCALAR;
static const EvtSpinType::spintype& _VECTOR;
static const EvtSpinType::spintype& _TENSOR;
static const EvtDalitzReso::CouplingType& _EtaPic;
static const EvtDalitzReso::CouplingType& _PicPicKK;
static const EvtDalitzReso::NumType& _RBW;
static const EvtDalitzReso::NumType& _GS;
static const EvtDalitzReso::NumType& _KMAT;
static const EvtCyclic3::Pair& _AB;
static const EvtCyclic3::Pair& _AC;
static const EvtCyclic3::Pair& _BC;
// Values to be read or computed based on values in the evt.pdl file.
// IDs of the relevant particles.
EvtId _D0;
EvtId _D0B;
EvtId _KM;
EvtId _KP;
EvtId _K0;
EvtId _K0B;
EvtId _KL;
EvtId _KS;
EvtId _PIM;
EvtId _PIP;
// Masses of the relevant particles.
double _mD0;
double _mKs;
double _mPi;
double _mK;
// Life time and decay rate.
double _ctau;
double _gamma;
// Some useful integrals over the Dalitz plot.
EvtComplex _iChi;
EvtComplex _iChi2;
void readPDGValues();
EvtComplex dalitzKsPiPi( const EvtDalitzPoint& point );
EvtComplex dalitzKsKK ( const EvtDalitzPoint& point );
// Time evolution functions for hamiltonian eigenstates.
// Negative exponential part removed.
EvtComplex h1( const double& ct ) const;
EvtComplex h2( const double& ct ) const;
void reportInvalidAndExit() const
{
EvtGenReport(EVTGEN_ERROR, "EvtD0mixDalitz" ) << "EvtD0mixDalitz: Invalid mode." << std::endl;
exit( 1 );
}
public:
EvtD0mixDalitz() : _d1( 0 ), _d2( 0 ), _d3( 0 ),
_x( 0. ), _y( 0. ), _qp( 1. ),
_isKsPiPi( false ), _isRBWmodel( true )
{}
- virtual ~EvtD0mixDalitz() {};
// One-line inline functions.
- std::string getName() { return "D0MIXDALITZ"; }
- EvtDecayBase* clone() { return new EvtD0mixDalitz; }
- void initProbMax() { setProbMax( 5200. ); }
+ std::string getName() override { return "D0MIXDALITZ"; }
+ EvtDecayBase* clone() override { return new EvtD0mixDalitz; }
+ void initProbMax() override { setProbMax( 5200. ); }
- void init();
- void decay( EvtParticle* p );
+ void init() override;
+ void decay( EvtParticle* p ) override;
};
#endif
diff --git a/EvtGenModels/EvtDDalitz.hh b/EvtGenModels/EvtDDalitz.hh
index 9485a76..aecab84 100644
--- a/EvtGenModels/EvtDDalitz.hh
+++ b/EvtGenModels/EvtDDalitz.hh
@@ -1,58 +1,55 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtDDalitz.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTDDALITZ_HH
#define EVTDDALITZ_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtFlatte.hh"
#include <vector>
class EvtParticle;
class EvtDDalitz:public EvtDecayAmp {
public:
- EvtDDalitz() {}
- virtual ~EvtDDalitz();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
int _d1,_d2,_d3,_flag;
- EvtComplex amplDtoK0PiPi(EvtVector4R p4_p, EvtVector4R moms1,
+ EvtComplex amplDtoK0PiPi(EvtVector4R p4_p, EvtVector4R moms1,
EvtVector4R moms2, EvtVector4R moms3);
- EvtComplex amplDtoK0KK(EvtVector4R p4_p, EvtVector4R moms1,
+ EvtComplex amplDtoK0KK(EvtVector4R p4_p, EvtVector4R moms1,
EvtVector4R moms2, EvtVector4R moms3);
-
+
vector<EvtFlatteParam> _kkpi_params;
};
#endif
diff --git a/EvtGenModels/EvtDMix.hh b/EvtGenModels/EvtDMix.hh
index f597300..ee53b05 100644
--- a/EvtGenModels/EvtDMix.hh
+++ b/EvtGenModels/EvtDMix.hh
@@ -1,55 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPhsp.hh
//
// Description:
//Class to handle generic phase space decays not done
//in other decay models.
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTDMIX_HH
#define EVTDMIX_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class EvtDMix:public EvtDecayIncoherent {
public:
-
- EvtDMix() {}
- virtual ~EvtDMix();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
double _rd;
double _xpr;
double _ypr;
};
#endif
diff --git a/EvtGenModels/EvtDalitzDecayInfo.hh b/EvtGenModels/EvtDalitzDecayInfo.hh
index 2ce1b91..090bf63 100644
--- a/EvtGenModels/EvtDalitzDecayInfo.hh
+++ b/EvtGenModels/EvtDalitzDecayInfo.hh
@@ -1,55 +1,54 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtGenericDalitz.hh
//
// Description: Model to describe a generic dalitz decay
//
// Modification history:
//
// DCC 16 December, 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTDALITZDECAYINFO_HH
#define EVTDALITZDECAYINFO_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtDalitzReso.hh"
#include <vector>
-class EvtDalitzDecayInfo {
+class EvtDalitzDecayInfo final {
public:
EvtDalitzDecayInfo(EvtId d1, EvtId d2, EvtId d3)
: _d1(d1), _d2(d2), _d3(d3), _probMax(0.) {}
- ~EvtDalitzDecayInfo() {}
void addResonance(EvtComplex amp, EvtDalitzReso res) {_resonances.push_back(std::pair<EvtComplex, EvtDalitzReso>(amp,res));}
void addResonance(std::pair<EvtComplex,EvtDalitzReso> res) {_resonances.push_back(res);}
void setProbMax(double probMax) {_probMax = probMax;}
const std::vector< std::pair<EvtComplex, EvtDalitzReso> >& getResonances() const {return _resonances;}
double getProbMax() const {return _probMax;}
inline const EvtId& daughter1() const {return _d1;}
inline const EvtId& daughter2() const {return _d2;}
inline const EvtId& daughter3() const {return _d3;}
private:
EvtId _d1, _d2, _d3;
std::vector<std::pair<EvtComplex, EvtDalitzReso> > _resonances;
double _probMax;
};
#endif
diff --git a/EvtGenModels/EvtEta2MuMuGamma.hh b/EvtGenModels/EvtEta2MuMuGamma.hh
index d1601f5..9a26ee8 100644
--- a/EvtGenModels/EvtEta2MuMuGamma.hh
+++ b/EvtGenModels/EvtEta2MuMuGamma.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPi0Dalitz.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTETA2MUMUGAMMA_HH
#define EVTETA2MUMUGAMMA_HH
#include "EvtGenBase/EvtDecayProb.hh"
class EvtParticle;
class EvtEta2MuMuGamma:public EvtDecayProb {
public:
- EvtEta2MuMuGamma() {}
- virtual ~EvtEta2MuMuGamma();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtEtaDalitz.hh b/EvtGenModels/EvtEtaDalitz.hh
index 3ae6694..9c688d2 100644
--- a/EvtGenModels/EvtEtaDalitz.hh
+++ b/EvtGenModels/EvtEtaDalitz.hh
@@ -1,45 +1,42 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtEtaDalitz.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTETADALITZ_HH
#define EVTETADALITZ_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtEtaDalitz:public EvtDecayAmp {
public:
- EvtEtaDalitz() {}
- virtual ~EvtEtaDalitz();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtFlatQ2.hh b/EvtGenModels/EvtFlatQ2.hh
index a9de0bb..6505a25 100644
--- a/EvtGenModels/EvtFlatQ2.hh
+++ b/EvtGenModels/EvtFlatQ2.hh
@@ -1,48 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtFlatQ2.hh
//
// Description: B->Xu l nu with flat q2 distribution
//
// Modification history:
//
// David Cote, U. de Montreal, 11/02/2003 Module created
//
//------------------------------------------------------------------------
#ifndef EVTFLATQ2_HH
#define EVTFLATQ2_HH
#include "EvtGenBase/EvtDecayProb.hh"
class EvtParticle;
class EvtFlatQ2: public EvtDecayProb {
public:
- EvtFlatQ2() {}
- virtual ~EvtFlatQ2();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
bool _usePhsp;
};
#endif
-
diff --git a/EvtGenModels/EvtFlatSqDalitz.hh b/EvtGenModels/EvtFlatSqDalitz.hh
index d30089d..632d48d 100755
--- a/EvtGenModels/EvtFlatSqDalitz.hh
+++ b/EvtGenModels/EvtFlatSqDalitz.hh
@@ -1,47 +1,47 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtFlatSqDalitz.cc
//
// Description: B->3 body flat in square dalitz vairiables
// the square dalitz is the plane m12 theta12
//
// Modification history:
//
// Aurelien Martens, LPNHE Paris, 23/06/2012 Module created
//
//
//------------------------------------------------------------------------
#ifndef EVTFLATSQDALITZ_HH
#define EVTFLATSQDALITZ_HH
#include "EvtGenBase/EvtDecayProb.hh"
class EvtParticle;
class EvtFlatSqDalitz: public EvtDecayProb {
public:
EvtFlatSqDalitz() {}
- virtual ~EvtFlatSqDalitz();
+ ~EvtFlatSqDalitz();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void init();
- void initProbMax();
+ void init() override;
+ void initProbMax() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtGenericDalitz.hh b/EvtGenModels/EvtGenericDalitz.hh
index 25cd1b0..d1315ac 100644
--- a/EvtGenModels/EvtGenericDalitz.hh
+++ b/EvtGenModels/EvtGenericDalitz.hh
@@ -1,55 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtGenericDalitz.hh
//
// Description: Model to describe a generic dalitz decay
//
// Modification history:
//
// DCC 16 December, 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTGENERICDALITZ_HH
#define EVTGENERICDALITZ_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtFlatte.hh"
#include "EvtGenBase/EvtDalitzReso.hh"
#include <string>
#include <vector>
class EvtParticle;
class EvtGenericDalitz:public EvtDecayAmp {
public:
- EvtGenericDalitz() {}
- virtual ~EvtGenericDalitz() {}
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override {};//prob max will be set in init
- void init();
- void initProbMax() {};//prob max will be set in init
+ void decay(EvtParticle *p) override;
- void decay(EvtParticle *p);
-
- std::string getParamName(int i);
+ std::string getParamName(int i) override;
private:
int _d1,_d2,_d3;
std::vector<std::pair<EvtComplex,EvtDalitzReso> > _resonances;
};
#endif
diff --git a/EvtGenModels/EvtGoityRoberts.hh b/EvtGenModels/EvtGoityRoberts.hh
index 9e3af92..ee1e98b 100644
--- a/EvtGenModels/EvtGoityRoberts.hh
+++ b/EvtGenModels/EvtGoityRoberts.hh
@@ -1,55 +1,50 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtGoityRoberts.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTGOITYROBERTS_HH
#define EVTGOITYROBERTS_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtId;
class EvtGoityRoberts:public EvtDecayAmp {
public:
- EvtGoityRoberts() {}
- virtual ~EvtGoityRoberts();
-
- std::string getName();
- EvtDecayBase* clone();
-
- void init();
- void decay(EvtParticle *p);
- void initProbMax();
-
- private:
+ std::string getName() override;
+ EvtDecayBase* clone() override;
+
+ void init() override;
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+
+private:
void DecayBDstarpilnuGR(EvtParticle *pb,EvtId ndstar,
EvtId nlep, EvtId nnu);
void DecayBDpilnuGR(EvtParticle *pb,EvtId nd,
EvtId nlep, EvtId nnu);
-
-
};
#endif
diff --git a/EvtGenModels/EvtHQET.hh b/EvtGenModels/EvtHQET.hh
index a24e3cd..eaefb15 100644
--- a/EvtGenModels/EvtHQET.hh
+++ b/EvtGenModels/EvtHQET.hh
@@ -1,49 +1,46 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtHQET.hh
//
// Description:Implementation of the HQET model
//
// Modification history:
//
// DJL April 20, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTHQET_HH
#define EVTHQET_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class EvtParticle;
class EvtHQET:public EvtDecayAmp {
public:
- EvtHQET();
- virtual ~EvtHQET();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
- EvtSemiLeptonicFF *hqetffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> hqetffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
};
#endif
-
diff --git a/EvtGenModels/EvtHQET2.hh b/EvtGenModels/EvtHQET2.hh
index 64bb21b..b70977a 100644
--- a/EvtGenModels/EvtHQET2.hh
+++ b/EvtGenModels/EvtHQET2.hh
@@ -1,44 +1,39 @@
//--------------------------------------------------------------------------
//
// Module: EvtGen/EvtHQET2.hh
//
-// Description:Implementation of the HQET model with dispersive FF due to
-// Caprini et al.
+// Description:Implementation of the HQET model with dispersive FF due to
+// Caprini et al.
//
// Modification history:
//
// Marco Bomben March 11, 2003 Module created
//
//------------------------------------------------------------------------
#ifndef EVTHQET2_HH
#define EVTHQET2_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class EvtParticle;
class EvtHQET2:public EvtDecayAmp {
public:
- EvtHQET2();
- virtual ~EvtHQET2();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
- EvtSemiLeptonicFF *hqetffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> hqetffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
};
#endif
-
-
-
diff --git a/EvtGenModels/EvtHQET2FF.hh b/EvtGenModels/EvtHQET2FF.hh
index fe9b454..994d3a1 100644
--- a/EvtGenModels/EvtHQET2FF.hh
+++ b/EvtGenModels/EvtHQET2FF.hh
@@ -1,69 +1,60 @@
//--------------------------------------------------------------------------
//
// Module: EvtGen/EvtHQET2FF.hh
//
// Description:
//
// Modification history:
//
// Marco Bomben March 10, 2003 Module created
//
// Brian Hamilton Jan 10, 2016 Added "extened" functionality
// <brian.hamilton -=AT=- cern.ch> to include scalar amplitude
//
//------------------------------------------------------------------------
#ifndef EVTHQET2FF_HH
#define EVTHQET2FF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtHQET2FF : public EvtSemiLeptonicFF {
public:
EvtHQET2FF(double hqetrho2, double hqetha1_1, double hqetr1_1, double hqetr2_1);
EvtHQET2FF(double hqetrho2, double hqetv1_1);
EvtHQET2FF(double hqetrho2, double hqetha1_1, double hqetr1_1, double hqetr2_1, double hqetr0_1);
EvtHQET2FF(double hqetrho2, double hqetv1_1, double indelta);
void getvectorff(EvtId parent,EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void getscalarff(EvtId parent,EvtId daught,
- double t, double mass, double *f0p, double *f0m);
+ double t, double mass, double *f0p, double *f0m) override;
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
double r1_1;
double rho2;
double r2_1;
double ha1_1;
double v1_1;
double r0_1;
double delta;
bool extended;
};
#endif
-
-
-
-
-
-
-
-
-
diff --git a/EvtGenModels/EvtHQETFF.hh b/EvtGenModels/EvtHQETFF.hh
index f7d89cf..1156183 100644
--- a/EvtGenModels/EvtHQETFF.hh
+++ b/EvtGenModels/EvtHQETFF.hh
@@ -1,60 +1,60 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtHQETFF.hh
//
// Description:
//
// Modification history:
//
// DJL April 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTHQETFF_HH
#define EVTHQETFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtHQETFF : public EvtSemiLeptonicFF {
public:
EvtHQETFF(double hqetrho2, double hqetr1, double hqetr2, double hqetc=0.);
EvtHQETFF(double hqetrho2, double hqetc=0.);
void getvectorff(EvtId parent,EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void getscalarff(EvtId parent,EvtId daught,
- double t, double mass, double *f0p, double *f0m);
+ double t, double mass, double *f0p, double *f0m) override;
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
double r1;
double rho2;
double r2;
double c;
};
#endif
diff --git a/EvtGenModels/EvtHelAmp.hh b/EvtGenModels/EvtHelAmp.hh
index 577a65c..8540d1f 100644
--- a/EvtGenModels/EvtHelAmp.hh
+++ b/EvtGenModels/EvtHelAmp.hh
@@ -1,61 +1,53 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtHelAmp.hh
//
// Description:Decay model for implementation of generic 2 body
// decay specified by the helicity amplitudes
//
// Modification history:
//
// RYD March 14, 1999 Module created
//
//------------------------------------------------------------------------
#ifndef EVTHELAMP_HH
#define EVTHELAMP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtId.hh"
+#include <memory>
class EvtParticle;
class EvtEvalHelAmp;
class EvtHelAmp:public EvtDecayAmp{
public:
- EvtHelAmp(): _evalHelAmp(0) {}
- virtual ~EvtHelAmp();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
void fillHelicity(int* lambda2,int n,int J2, EvtId id);
- EvtEvalHelAmp* _evalHelAmp;
+ std::unique_ptr<EvtEvalHelAmp> _evalHelAmp;
};
#endif
-
-
-
-
-
-
diff --git a/EvtGenModels/EvtHypNonLepton.hh b/EvtGenModels/EvtHypNonLepton.hh
index cc0d63c..0adf9f6 100644
--- a/EvtGenModels/EvtHypNonLepton.hh
+++ b/EvtGenModels/EvtHypNonLepton.hh
@@ -1,45 +1,42 @@
//-----------------------------------------------------------------------------------------------
//
// Module: EvtHybNonLepton.hh
//
// Desription: Routine to implement Hyperon(s=1/2) -> Baryon(s=1/2) + Scalar decays accroding to
// Review Of Particle Physics 2004, Phys.Lett.B, Vol.592, p.864
//
// Modification history:
//
// 20/02/2005 PR Module created according to PHSP and Lb2Lll model
//
//-----------------------------------------------------------------------------------------------
#ifndef EVTHYBNONLEPTON_HH
#define EVTHYBNONLEPTON_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtComplex.hh"
class EvtHypNonLepton:public EvtDecayAmp {
public:
- EvtHypNonLepton() {}
- virtual ~EvtHypNonLepton();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
void calcAmp(EvtAmp *amp,EvtParticle *parent);
private:
double m_alpha;
double m_phi;
EvtComplex m_B_to_A;
long m_noTries;
};
#endif
diff --git a/EvtGenModels/EvtISGW.hh b/EvtGenModels/EvtISGW.hh
index a19ce23..e82f917 100644
--- a/EvtGenModels/EvtISGW.hh
+++ b/EvtGenModels/EvtISGW.hh
@@ -1,52 +1,49 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtISGW.hh
//
// Description:Implementation of the ISGW model
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTISGW_HH
#define EVTISGW_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class EvtParticle;
class EvtISGW:public EvtDecayAmp {
public:
- EvtISGW() {}
- virtual ~EvtISGW();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
+ void decay(EvtParticle *p) override;
+ void init() override;
private:
- EvtSemiLeptonicFF *isgwffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> isgwffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
};
#endif
-
diff --git a/EvtGenModels/EvtISGW2.hh b/EvtGenModels/EvtISGW2.hh
index bf93b1d..502b10f 100644
--- a/EvtGenModels/EvtISGW2.hh
+++ b/EvtGenModels/EvtISGW2.hh
@@ -1,55 +1,51 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtISGW2.hh
//
// Description:Implementation of the ISGW2 model
// Class to handle semileptonic decays using the ISGW2
-// model, as described in PRD 52 5 (1995) by
+// model, as described in PRD 52 5 (1995) by
// Isgur and Scora. Electron, muon, and tau models
// are available. Form factors, q2 and lepton energy
// spectra checked against code from Scora.
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
#ifndef EVTISGW2_HH
#define EVTISGW2_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
-
+#include <memory>
class EvtParticle;
class EvtISGW2:public EvtDecayAmp {
public:
- EvtISGW2();
- virtual ~EvtISGW2();
-
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
- EvtSemiLeptonicFF *isgw2ffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> isgw2ffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
};
#endif
-
diff --git a/EvtGenModels/EvtISGW2FF.hh b/EvtGenModels/EvtISGW2FF.hh
index a862b67..f14ed8f 100644
--- a/EvtGenModels/EvtISGW2FF.hh
+++ b/EvtGenModels/EvtISGW2FF.hh
@@ -1,88 +1,86 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtISGW2FF.hh
//
// Description:Form factor routines specific to EvtISGW2
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTISGW2FF_HH
#define EVTISGW2FF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtISGW2FF : public EvtSemiLeptonicFF {
public:
void getscalarff( EvtId parent, EvtId daught,
double t, double mass, double *fpf,
- double *f0f );
+ double *f0f ) override;
void getvectorff( EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void gettensorff( EvtId parent, EvtId daught,
double t, double mass, double *hf,
- double *kf, double *bpf, double *bmf );
+ double *kf, double *bpf, double *bmf ) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
// getscalarff, getvectorff, and gettensorff call the
- // correct isgw2 form factor routine which computes
+ // correct isgw2 form factor routine which computes
// form factors according to the ISGW2 paper.
- void EvtISGW2FF3S1( EvtId parent, EvtId daught,
+ void EvtISGW2FF3S1( EvtId parent, EvtId daught,
double t, double mass, double *ff, double *gf,
double *apf, double *amf);
void EvtISGW2FF23S1( EvtId parent, EvtId daught,
double t, double mass,double *fpf, double *gpf,
double *app, double *apm);
- void EvtISGW2FF3P1( EvtId parent, EvtId daught,
+ void EvtISGW2FF3P1( EvtId parent, EvtId daught,
double t, double mass,double *lf, double *qf,
double *cpf, double *cmf);
- void EvtISGW2FF3P0( EvtId parent, EvtId daught,
+ void EvtISGW2FF3P0( EvtId parent, EvtId daught,
double t, double mass, double *upf, double *umf);
- void EvtISGW2FF1S0( EvtId parent, EvtId daught,
+ void EvtISGW2FF1S0( EvtId parent, EvtId daught,
double t, double mass,double *fpf, double *fmf);
void EvtISGW2FF21S0( EvtId parent, EvtId daught,
double t, double mass, double *fppf, double *fpmf);
- void EvtISGW2FF3P2( EvtId parent, EvtId daught,
+ void EvtISGW2FF3P2( EvtId parent, EvtId daught,
double t, double mass, double *h, double *k,
double *bp, double *bm);
- void EvtISGW2FF1P1( EvtId parent, EvtId daught,
+ void EvtISGW2FF1P1( EvtId parent, EvtId daught,
double t, double mass, double *rf, double *vf,
double *spf, double *smf);
double EvtGetas( double mass );
double EvtGetas( double mass,double mass1 );
double EvtGetGammaji( double z );
};
#endif
-
-
diff --git a/EvtGenModels/EvtISGWFF.hh b/EvtGenModels/EvtISGWFF.hh
index f7c457a..348b5d6 100644
--- a/EvtGenModels/EvtISGWFF.hh
+++ b/EvtGenModels/EvtISGWFF.hh
@@ -1,80 +1,79 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtISGWFF.hh
//
// Description:Form factor routines specific to EvtISGW
//
// Modification history:
//
// DJL/RYD September 25, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTISGWFF_HH
#define EVTISGWFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtISGWFF : public EvtSemiLeptonicFF {
void getscalarff( EvtId parent, EvtId daught,
double t, double mass, double *fpf,
- double *f0f );
+ double *f0f ) override;
void getvectorff( EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void gettensorff( EvtId parent, EvtId daught,
double t, double mass, double *hf,
- double *kf, double *bpf, double *bmf );
+ double *kf, double *bpf, double *bmf ) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
// getscalarff, getvectorff, and gettensorff call the
- // correct isgw form factor routine which computes
+ // correct isgw form factor routine which computes
// form factors according to the ISGW paper.
- void EvtISGW1FF3S1( EvtId parent, EvtId daught,
+ void EvtISGW1FF3S1( EvtId parent, EvtId daught,
double t, double mass, double *ff, double *gf,
double *apf, double *amf);
void EvtISGW1FF23S1( EvtId parent, EvtId daught,
double t, double mass,double *fpf, double *gpf,
double *app, double *apm);
- void EvtISGW1FF3P1( EvtId parent, EvtId daught,
+ void EvtISGW1FF3P1( EvtId parent, EvtId daught,
double t, double mass,double *lf, double *qf,
double *cpf, double *cmf);
- void EvtISGW1FF3P0( EvtId parent, EvtId daught,
+ void EvtISGW1FF3P0( EvtId parent, EvtId daught,
double t, double mass, double *upf, double *umf);
- void EvtISGW1FF1S0( EvtId parent, EvtId daught,
+ void EvtISGW1FF1S0( EvtId parent, EvtId daught,
double t, double mass,double *fpf, double *fmf);
void EvtISGW1FF21S0( EvtId parent, EvtId daught,
double t, double mass, double *fppf, double *fpmf);
- void EvtISGW1FF3P2( EvtId parent, EvtId daught,
+ void EvtISGW1FF3P2( EvtId parent, EvtId daught,
double t, double mass, double *h, double *k,
double *bp, double *bm);
- void EvtISGW1FF1P1( EvtId parent, EvtId daught,
+ void EvtISGW1FF1P1( EvtId parent, EvtId daught,
double t, double mass, double *vf, double *rf,
double *spf, double *smf);
};
#endif
-
diff --git a/EvtGenModels/EvtIntervalDecayAmp.hh b/EvtGenModels/EvtIntervalDecayAmp.hh
index 3eb707e..fbb6a37 100644
--- a/EvtGenModels/EvtIntervalDecayAmp.hh
+++ b/EvtGenModels/EvtIntervalDecayAmp.hh
@@ -1,198 +1,195 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtIntervalDecayAmp.hh,v 1.4 2009-03-16 16:39:16 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
// Decay model that uses the "amplitude on an interval"
// templatization
#ifndef EVT_INTERVAL_DECAY_AMP
#define EVT_INTERVAL_DECAY_AMP
+#define VERBOSE true
#include <iostream>
#include <vector>
#include <string>
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtMacros.hh"
#include "EvtGenBase/EvtPdf.hh"
#include "EvtGenBase/EvtAmpFactory.hh"
#include "EvtGenBase/EvtMultiChannelParser.hh"
#include "EvtGenBase/EvtAmpPdf.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtReport.hh"
template <class T>
class EvtIntervalDecayAmp : public EvtDecayAmp {
public:
-
+
EvtIntervalDecayAmp()
: _probMax(0.), _nScan(0), _fact(0)
{}
EvtIntervalDecayAmp(const EvtIntervalDecayAmp<T>& other)
: _probMax(other._probMax), _nScan(other._nScan),
COPY_PTR(_fact)
{}
virtual ~EvtIntervalDecayAmp()
{
delete _fact;
}
// Initialize model
- virtual void init()
+ void init() override
{
// Collect model parameters and parse them
-
+
vector<std::string> args;
int i;
for(i=0;i<getNArg();i++) args.push_back(getArgStr(i));
EvtMultiChannelParser parser;
parser.parse(args);
-
+
// Create factory and interval
-
- EvtGenReport(EVTGEN_INFO,"EvtGen") << "Create factory and interval" << std::endl;
+
+ if(VERBOSE) EvtGenReport(EVTGEN_INFO,"EvtGen") << "Create factory and interval" << std::endl;
_fact = createFactory(parser);
-
- // Maximum PDF value over the Dalitz plot can be specified, or a scan
+
+ // Maximum PDF value over the Dalitz plot can be specified, or a scan
// can be performed.
-
+
_probMax = parser.pdfMax();
_nScan = parser.nScan();
- EvtGenReport(EVTGEN_INFO,"EvtGen") << "Pdf maximum " << _probMax << std::endl;
- EvtGenReport(EVTGEN_INFO,"EvtGen") << "Scan number " << _nScan << std::endl;
+ if(VERBOSE) EvtGenReport(EVTGEN_INFO,"EvtGen") << "Pdf maximum " << _probMax << std::endl;
+ if(VERBOSE) EvtGenReport(EVTGEN_INFO,"EvtGen") << "Scan number " << _nScan << std::endl;
}
-
-
- virtual void initProbMax()
+
+
+ void initProbMax() override
{
if(0 == _nScan) {
-
+
if(_probMax > 0) setProbMax(_probMax);
else assert(0);
}
else {
-
+
double factor = 1.2; // increase maximum probability by 20%
EvtAmpPdf<T> pdf(*_fact->getAmp());
EvtPdfSum<T>* pc = _fact->getPC();
EvtPdfDiv<T> pdfdiv(pdf,*pc);
printf("Sampling %d points to find maximum\n",_nScan);
EvtPdfMax<T> x = pdfdiv.findMax(*pc,_nScan);
_probMax = factor * x.value();
printf("Found maximum %f\n",x.value());
printf("Increase to %f\n",_probMax);
setProbMax(_probMax);
}
}
-
- virtual void decay(EvtParticle *p)
+
+ void decay(EvtParticle *p) override
{
// Set things up in most general way
-
+
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
- EvtId other_b;
+ EvtId other_b;
EvtComplex ampl(0.,0.);
-
+
// Sample using pole-compensator pdf
EvtPdfSum<T>* pc = getPC();
_x = pc->randomPoint();
-
+
if(_fact->isCPModel()) {
// Time-dependent Dalitz plot changes
// Dec 2005 (ddujmic@slac.stanford.edu)
EvtComplex A = _fact->getAmp()->evaluate(_x);
EvtComplex Abar = _fact->getAmpConj()->evaluate(_x);
EvtCPUtil::getInstance()->OtherB(p,t,other_b);
double dm = _fact->dm();
double mixAmpli = _fact->mixAmpli();
double mixPhase = _fact->mixPhase();
EvtComplex qoverp( cos(mixPhase)*mixAmpli, sin(mixPhase)*mixAmpli);
EvtComplex poverq( cos(mixPhase)/mixAmpli, -sin(mixPhase)/mixAmpli);
if (other_b==B0B) ampl = A*cos(dm*t/(2*EvtConst::c)) +
EvtComplex(0.,1.)*Abar*sin(dm*t/(2*EvtConst::c))*qoverp;
if (other_b==B0) ampl = Abar*cos(dm*t/(2*EvtConst::c)) +
EvtComplex(0.,1.)*A*sin(dm*t/(2*EvtConst::c))*poverq;
}
else {
-
+
ampl = amplNonCP(_x);
}
-
+
// Pole-compensate
double comp = sqrt(pc->evaluate(_x));
assert(comp > 0);
vertex(ampl/comp);
-
- // Now generate random angles, rotate and setup
+
+ // Now generate random angles, rotate and setup
// the daughters
-
+
std::vector<EvtVector4R> v = initDaughters(_x);
-
- size_t N = p->getNDaug();
+
+ size_t N = p->getNDaug();
if(v.size() != N) {
-
+
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Number of daughters " << N << std::endl;
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Momentum vector size " << v.size() << std::endl;
assert(0);
}
-
+
for(size_t i=0;i<N;i++){
-
+
p->getDaug(i)->init(getDaugs()[i],v[i]);
- }
+ }
}
-
+
virtual EvtAmpFactory<T>* createFactory(const EvtMultiChannelParser& parser) = 0;
virtual std::vector<EvtVector4R> initDaughters(const T& p) const = 0;
// provide access to the decay point and to the amplitude of any decay point.
// this is used by EvtBtoKD3P:
const T & x() const {return _x;}
EvtComplex amplNonCP(const T & x) {return _fact->getAmp()->evaluate(x);}
EvtPdfSum<T>* getPC() {return _fact->getPC();}
protected:
double _probMax; // Maximum probability
int _nScan; // Number of points for max prob DP scan
T _x; // Decay point
EvtAmpFactory<T>* _fact; // factory
};
#endif
-
-
-
-
diff --git a/EvtGenModels/EvtItgAbsFunction.hh b/EvtGenModels/EvtItgAbsFunction.hh
index b6e7a5f..0274b68 100644
--- a/EvtGenModels/EvtItgAbsFunction.hh
+++ b/EvtGenModels/EvtItgAbsFunction.hh
@@ -1,72 +1,69 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgAbsFunction.hh
//
// Description:
// Abstraction of a generic function for use in integration methods elsewhere
-// in this package. (Stolen and modified from the BaBar IntegrationUtils package
+// in this package. (Stolen and modified from the BaBar IntegrationUtils package
// - author: Phil Strother).
//
// Modification history:
//
-// Jane Tinslay March 21, 2001 Module adapted for use in
+// Jane Tinslay March 21, 2001 Module adapted for use in
// EvtGen
//
//------------------------------------------------------------------------
#ifndef EVTITGABSFUNCTION_HH
#define EVTITGABSFUNCTION_HH
//-------------
// C Headers --
//-------------
extern "C" {
}
class EvtItgAbsFunction {
public:
// Constructors
EvtItgAbsFunction(double lowerRange, double upperRange);
// Destructor
- virtual ~EvtItgAbsFunction( );
+ virtual ~EvtItgAbsFunction( ) = default;
virtual double value( double x) const;
virtual double operator()(double x) const;
-
+
// Selectors (const)
-
+
inline double upperRange() const {return _upperRange;}
inline double lowerRange() const {return _lowerRange;}
- inline void getRange(double &lower,double &upper) const { lower = _lowerRange; upper = _upperRange; }
+ inline void getRange(double &lower,double &upper) const { lower = _lowerRange; upper = _upperRange; }
virtual void setCoeff(int, int, double)=0;
virtual double getCoeff(int, int)=0;
-
+
protected:
-
+
virtual double myFunction(double x) const=0;
void setRange(double x1,double x2) { _lowerRange=x1; _upperRange=x2; };
private:
-
+
double _upperRange;
double _lowerRange;
-
- EvtItgAbsFunction( const EvtItgAbsFunction& ); // Copy Constructor
- EvtItgAbsFunction& operator= ( const EvtItgAbsFunction& ); // Assignment op
};
#endif // EVTITGABSFUNCTION_HH
diff --git a/EvtGenModels/EvtItgAbsIntegrator.hh b/EvtGenModels/EvtItgAbsIntegrator.hh
index 9c45d00..24f084b 100644
--- a/EvtGenModels/EvtItgAbsIntegrator.hh
+++ b/EvtGenModels/EvtItgAbsIntegrator.hh
@@ -1,65 +1,65 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgAbsIntegrator.hh
//
// Description:
-// Abstraction of a generic integrator (Stolen and modified from
+// Abstraction of a generic integrator (Stolen and modified from
// the BaBar IntegrationUtils package - author: Phil Strother).
//
// Modification history:
//
-// Jane Tinslay March 21, 2001 Module adapted for use in
+// Jane Tinslay March 21, 2001 Module adapted for use in
// EvtGen
//
//------------------------------------------------------------------------
#ifndef EVTITGABSINTEGRATOR_HH
#define EVTITGABSINTEGRATOR_HH
#include "EvtGenModels/EvtItgAbsFunction.hh"
class EvtItgAbsIntegrator {
public:
-
+
EvtItgAbsIntegrator(const EvtItgAbsFunction &);
-
- virtual ~EvtItgAbsIntegrator( );
+
+ virtual ~EvtItgAbsIntegrator( ) = default;
double evaluate(double lower, double upper) const;
-
+
double normalisation() const;
protected:
- double trapezoid(double lower, double higher, int n,
+ double trapezoid(double lower, double higher, int n,
double &result) const;
-
+
virtual double evaluateIt(double lower, double higher) const=0;
-
+
double myFunction(double x) const {return _myFunction(x);}
-
+
private:
-
+
const EvtItgAbsFunction &_myFunction;
void boundsCheck(double &, double &) const;
- // Note: if your class needs a copy constructor or an assignment operator,
+ // Note: if your class needs a copy constructor or an assignment operator,
// make one of the following public and implement it.
EvtItgAbsIntegrator();
- EvtItgAbsIntegrator( const EvtItgAbsIntegrator& ); // Copy Constructor
- EvtItgAbsIntegrator& operator= ( const EvtItgAbsIntegrator& ); // Assignment op
-
+ //EvtItgAbsIntegrator( const EvtItgAbsIntegrator& ); // Copy Constructor
+ //EvtItgAbsIntegrator& operator= ( const EvtItgAbsIntegrator& ); // Assignment op
+
};
#endif // EVTITGABSINTEGRATOR_HH
diff --git a/EvtGenModels/EvtItgFourCoeffFcn.hh b/EvtGenModels/EvtItgFourCoeffFcn.hh
index 1b9e084..b262d21 100644
--- a/EvtGenModels/EvtItgFourCoeffFcn.hh
+++ b/EvtGenModels/EvtItgFourCoeffFcn.hh
@@ -1,60 +1,54 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgFourCoeffFcn.hh
//
// Description:
-// Class describing a function with Four vectors of coefficients.
+// Class describing a function with Four vectors of coefficients.
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTITFOURCOEFFFCN_HH
#define EVTITFOURCOEFFFCN_HH
#include <vector>
#include "EvtGenModels/EvtItgAbsFunction.hh"
class EvtItgFourCoeffFcn: public EvtItgAbsFunction {
public:
EvtItgFourCoeffFcn( double (*theFunction)(double, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &),
double lowerRange, double upperRange, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3, const std::vector<double> &coeffs4);
- virtual ~EvtItgFourCoeffFcn( );
-
- virtual void setCoeff(int, int, double);
- virtual double getCoeff(int, int);
+ void setCoeff(int, int, double) override;
+ double getCoeff(int, int) override;
protected:
- virtual double myFunction(double x) const;
+ double myFunction(double x) const override;
private:
-
+
// Data members
double (*_myFunction)(double x, const std::vector<double> & coeffs1, const std::vector<double> & coeffs2, const std::vector<double> & coeffs3, const std::vector<double> & coeffs4);
-
- // Note: if your class needs a copy constructor or an assignment operator,
- // make one of the following public and implement it.
- EvtItgFourCoeffFcn( const EvtItgFourCoeffFcn& ); //// Copy Constructor
- EvtItgFourCoeffFcn& operator= ( const EvtItgFourCoeffFcn& ); // Assignment op
+
std::vector<double> _coeffs1;
std::vector<double> _coeffs2;
std::vector<double> _coeffs3;
std::vector<double> _coeffs4;
};
#endif // EvtITGPTRFUNCTION_HH
diff --git a/EvtGenModels/EvtItgFunction.hh b/EvtGenModels/EvtItgFunction.hh
index 9c41f62..c3b4c39 100644
--- a/EvtGenModels/EvtItgFunction.hh
+++ b/EvtGenModels/EvtItgFunction.hh
@@ -1,65 +1,58 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software was developed for the BaBar collaboration. If you
// use all or part of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 LBNL
//
//------------------------------------------------------------------------
#ifndef EVTITGFUNCTION_HH
#define EVTITGFUNCTION_HH
#include "EvtGenModels/EvtItgAbsFunction.hh"
/**
* Copyright (C) 1998 LBNL
- *
+ *
* Generic function where the pointer to the function is available.
*
- * The function is taken as type pointer to function returning double and
+ * The function is taken as type pointer to function returning double and
* taking a double (the abscissa) and a const RWTValVector<double> reference
* (the parameter values of the function) as arguments.
*
* @see EvtItgFunctionEvtItgFunction
*
- * @version $Id: EvtItgFunction.hh,v 1.2 2009-03-16 16:34:00 robbep Exp $
+ * @version $Id: EvtItgFunction.hh,v 1.2 2009-03-16 16:34:00 robbep Exp $
*
* @author Phil Strother Originator
*/
class EvtItgFunction: public EvtItgAbsFunction {
public:
// Constructors
EvtItgFunction( double (*theFunction)(double),
double lowerRange, double upperRange);
-
-
- // Destructor
- virtual ~EvtItgFunction( );
- virtual void setCoeff(int, int, double) {};
- virtual double getCoeff(int, int) {return 0.0;};
-
+
+ void setCoeff(int, int, double) override {};
+ double getCoeff(int, int) override {return 0.0;};
+
protected:
-
+
// Helper functions
- virtual double myFunction(double x) const;
+ double myFunction(double x) const override;
private:
-
+
// Data members
double (*_myFunction)(double x);
- // Note: if your class needs a copy constructor or an assignment operator,
- // make one of the following public and implement it.
- EvtItgFunction( const EvtItgFunction& ); // Copy Constructor
- EvtItgFunction& operator= ( const EvtItgFunction& ); // Assignment op
};
#endif // EvtITGFUNCTION_HH
diff --git a/EvtGenModels/EvtItgPtrFunction.hh b/EvtGenModels/EvtItgPtrFunction.hh
index ebdc213..8dd3a69 100644
--- a/EvtGenModels/EvtItgPtrFunction.hh
+++ b/EvtGenModels/EvtItgPtrFunction.hh
@@ -1,59 +1,53 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgPtrFunction.hh
//
// Description:
-// Class describing a function with one vector of coefficients. (Stolen and
+// Class describing a function with one vector of coefficients. (Stolen and
// modified from the BaBar IntegrationUtils package - author: Phil Strother).
//
// Modification history:
//
-// Jane Tinslay March 21, 2001 Module adapted for use in
+// Jane Tinslay March 21, 2001 Module adapted for use in
// EvtGen
//
//------------------------------------------------------------------------
#ifndef EVTITGPTRFUNCTION_HH
#define EVTITGPTRFUNCTION_HH
#include <vector>
#include "EvtGenModels/EvtItgAbsFunction.hh"
class EvtItgPtrFunction: public EvtItgAbsFunction {
public:
EvtItgPtrFunction( double (*theFunction)(double, const std::vector<double> &),
double lowerRange, double upperRange, const std::vector<double> &coeffs1);
-
- virtual ~EvtItgPtrFunction( );
- virtual void setCoeff(int, int, double);
- virtual double getCoeff(int, int);
+ void setCoeff(int, int, double) override;
+ double getCoeff(int, int) override;
protected:
-
- virtual double myFunction(double x) const;
-
+
+ double myFunction(double x) const override;
+
private:
-
+
// Data members
double (*_myFunction)(double x, const std::vector<double> & coeffs1);
- // Note: if your class needs a copy constructor or an assignment operator,
- // make one of the following public and implement it.
- EvtItgPtrFunction( const EvtItgPtrFunction& ); //// Copy Constructor
- EvtItgPtrFunction& operator= ( const EvtItgPtrFunction& ); // Assignment op
std::vector<double> _coeffs1;
};
#endif // EVTITGPTRFUNCTION_HH
diff --git a/EvtGenModels/EvtItgSimpsonIntegrator.hh b/EvtGenModels/EvtItgSimpsonIntegrator.hh
index b239a72..5fee04a 100644
--- a/EvtGenModels/EvtItgSimpsonIntegrator.hh
+++ b/EvtGenModels/EvtItgSimpsonIntegrator.hh
@@ -1,60 +1,57 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgSimpsonIntegrator.hh
//
// Description:
-// Simpson integrator (Stolen and modified from
+// Simpson integrator (Stolen and modified from
// the BaBar IntegrationUtils package - author: Phil Strother).
//
// Modification history:
//
-// Jane Tinslay March 21, 2001 Module adapted for use in
+// Jane Tinslay March 21, 2001 Module adapted for use in
// EvtGen
//
//------------------------------------------------------------------------
#ifndef EVTITGSIMPSONINTEGRATOR_HH
#define EVTITGSIMPSONINTEGRATOR_HH
//-------------
// C Headers --
//-------------
extern "C" {
}
#include "EvtGenModels/EvtItgAbsIntegrator.hh"
class EvtItgSimpsonIntegrator: public EvtItgAbsIntegrator {
public:
-
+
EvtItgSimpsonIntegrator(const EvtItgAbsFunction &, double precision=1.0e-5, int maxLoop=20);
- virtual ~EvtItgSimpsonIntegrator( );
-
protected:
-
- virtual double evaluateIt(double , double) const;
-
+
+ double evaluateIt(double , double) const override;
+
private:
-
+
double _precision;
double _maxLoop;
- EvtItgSimpsonIntegrator();
- EvtItgSimpsonIntegrator( const EvtItgSimpsonIntegrator& ); //// Copy Constructor
- EvtItgSimpsonIntegrator& operator= ( const EvtItgSimpsonIntegrator& ); // Assignment op
-
+ //EvtItgSimpsonIntegrator( const EvtItgSimpsonIntegrator& ); //// Copy Constructor
+ //EvtItgSimpsonIntegrator& operator= ( const EvtItgSimpsonIntegrator& ); // Assignment op
+
};
#endif // ITGSIMPSONINTEGRATOR_HH
diff --git a/EvtGenModels/EvtItgThreeCoeffFcn.hh b/EvtGenModels/EvtItgThreeCoeffFcn.hh
index 156e31e..65c3517 100644
--- a/EvtGenModels/EvtItgThreeCoeffFcn.hh
+++ b/EvtGenModels/EvtItgThreeCoeffFcn.hh
@@ -1,66 +1,61 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgThreeCoeffFcn.hh
//
// Description:
-// Class describing a function with three vectors of coefficients.
+// Class describing a function with three vectors of coefficients.
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTITTHREECOEFFFCN_HH
#define EVTITTHREECOEFFFCN_HH
#include <vector>
//-------------
// C Headers --
//-------------
extern "C" {
}
#include "EvtGenModels/EvtItgAbsFunction.hh"
class EvtItgThreeCoeffFcn: public EvtItgAbsFunction {
public:
EvtItgThreeCoeffFcn( double (*theFunction)(double, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &),
double lowerRange, double upperRange, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3);
-
-
- virtual ~EvtItgThreeCoeffFcn( );
- virtual void setCoeff(int, int, double);
- virtual double getCoeff(int, int);
-
+
+
+ void setCoeff(int, int, double) override;
+ double getCoeff(int, int) override;
+
protected:
- virtual double myFunction(double x) const;
+ double myFunction(double x) const override;
private:
-
+
// Data members
double (*_myFunction)(double x, const std::vector<double> & coeffs1, const std::vector<double> & coeffs2, const std::vector<double> & coeffs3);
- // Note: if your class needs a copy constructor or an assignment operator,
- // make one of the following public and implement it.
- EvtItgThreeCoeffFcn( const EvtItgThreeCoeffFcn& ); //// Copy Constructor
- EvtItgThreeCoeffFcn& operator= ( const EvtItgThreeCoeffFcn& ); // Assignment op
std::vector<double> _coeffs1;
std::vector<double> _coeffs2;
std::vector<double> _coeffs3;
-
+
};
#endif // EvtITGPTRFUNCTION_HH
diff --git a/EvtGenModels/EvtItgTwoCoeffFcn.hh b/EvtGenModels/EvtItgTwoCoeffFcn.hh
index b24fe6d..218e25f 100644
--- a/EvtGenModels/EvtItgTwoCoeffFcn.hh
+++ b/EvtGenModels/EvtItgTwoCoeffFcn.hh
@@ -1,67 +1,59 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgTwoCoeffFcn.hh
//
// Description:
-// Class describing a function with two vectors of coefficients.
+// Class describing a function with two vectors of coefficients.
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTITTWOCOEFFFCN_HH
#define EVTITTWOCOEFFFCN_HH
#include <vector>
//-------------
// C Headers --
//-------------
extern "C" {
}
#include "EvtGenModels/EvtItgAbsFunction.hh"
class EvtItgTwoCoeffFcn: public EvtItgAbsFunction {
public:
EvtItgTwoCoeffFcn( double (*theFunction)(double, const std::vector<double> &, const std::vector<double> &),
double lowerRange, double upperRange, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
- virtual ~EvtItgTwoCoeffFcn( );
-
- virtual void setCoeff(int, int, double);
- virtual double getCoeff(int, int);
-
+ void setCoeff(int, int, double) override;
+ double getCoeff(int, int) override;
protected:
-
- virtual double myFunction(double x) const;
+
+ double myFunction(double x) const override;
private:
-
+
// Data members
double (*_myFunction)(double x, const std::vector<double> & coeffs1, const std::vector<double> & coeffs2);
- // Note: if your class needs a copy constructor or an assignment operator,
- // make one of the following public and implement it.
- EvtItgTwoCoeffFcn( const EvtItgTwoCoeffFcn& ); //// Copy Constructor
- EvtItgTwoCoeffFcn& operator= ( const EvtItgTwoCoeffFcn& ); // Assignment op
-
std::vector<double> _coeffs1;
std::vector<double> _coeffs2;
};
#endif // EvtITGTWOCOEFFFUNCTION_HH
diff --git a/EvtGenModels/EvtKKLambdaC.hh b/EvtGenModels/EvtKKLambdaC.hh
index 2e8ac2b..0e88d6c 100644
--- a/EvtGenModels/EvtKKLambdaC.hh
+++ b/EvtGenModels/EvtKKLambdaC.hh
@@ -1,50 +1,47 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtKKLambdaC.hh
//
// Description:Semileptonic decays with pole form form factors
//
// Modification history:
//
// DJL April 23, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTKKLAMBDAC_HH
#define EVTKKLAMBDAC_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class Evtparticle;
class EvtKKLambdaC:public EvtDecayAmp {
public:
- EvtKKLambdaC() {}
- virtual ~EvtKKLambdaC();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
- EvtSemiLeptonicFF *_ffmodel;
- EvtSemiLeptonicAmp *_calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> _ffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> _calcamp;
};
#endif
-
diff --git a/EvtGenModels/EvtKKLambdaCFF.hh b/EvtGenModels/EvtKKLambdaCFF.hh
index 7ffa43e..6f9d01c 100644
--- a/EvtGenModels/EvtKKLambdaCFF.hh
+++ b/EvtGenModels/EvtKKLambdaCFF.hh
@@ -1,61 +1,58 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSLPoleFF.hh
//
// Description:Form factor routines for EvtSLPole
//
// Modification history:
//
// DJL April 23, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTKKLAMBDACFF_HH
#define EVTKKLAMBDACFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtId.hh"
class EvtKKLambdaCFF : public EvtSemiLeptonicFF {
public:
EvtKKLambdaCFF(int numarg, double *arglist);
void getscalarff(EvtId parent,EvtId daught,
- double t, double mass, double *f0p, double *f0m);
-
+ double t, double mass, double *f0p, double *f0m) override;
+
void getvectorff(EvtId, EvtId,
double, double, double*,
- double*, double*, double* );
-
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ double*, double*, double* ) override;
+
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getbaryonff(EvtId parent,EvtId daught,
double t, double mass, double *f1v,
- double *f1a, double *f2v, double *f2a );
+ double *f1a, double *f2v, double *f2a ) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
int _nargs;
double _args[2];
};
#endif
-
-
-
diff --git a/EvtGenModels/EvtKStopizmumu.hh b/EvtGenModels/EvtKStopizmumu.hh
index 601c848..a0fd347 100644
--- a/EvtGenModels/EvtKStopizmumu.hh
+++ b/EvtGenModels/EvtKStopizmumu.hh
@@ -1,43 +1,43 @@
#ifndef EVTKSTOPIZMUMU_HH
#define EVTKSTOPIZMUMU_HH
#include <string>
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtKStopizmumu : public EvtDecayAmp
{
public:
- virtual std::string getName()
+ std::string getName() override
{ return "KS_PI0MUMU"; }
- virtual EvtDecayBase* clone()
+ EvtDecayBase* clone() override
{ return new EvtKStopizmumu; }
- virtual void init();
+ void init() override;
- virtual void initProbMax()
+ void initProbMax() override
{ setProbMax(1.0e-10); }
- virtual void decay( EvtParticle *p );
-
- double F_z( const double& z,
+ void decay( EvtParticle *p ) override;
+
+ double F_z( const double& z,
const double& rvsq );
EvtComplex G_z( const double& z );
- double Wpol_z( const double& z,
- const double& as,
+ double Wpol_z( const double& z,
+ const double& as,
const double& bs );
- EvtComplex chi_z( const double& z,
+ EvtComplex chi_z( const double& z,
const double& rpisq );
- EvtComplex Wpipi_z( const double& z,
- const double& alpha_s,
- const double& beta_s,
- const double& rvsq,
- const double& rpisq,
+ EvtComplex Wpipi_z( const double& z,
+ const double& alpha_s,
+ const double& beta_s,
+ const double& rvsq,
+ const double& rpisq,
const double& z0 );
};
#endif //EVTKTOPIZMUMU_HH
diff --git a/EvtGenModels/EvtKstarnunu.hh b/EvtGenModels/EvtKstarnunu.hh
index ad461b9..d5c4c77 100644
--- a/EvtGenModels/EvtKstarnunu.hh
+++ b/EvtGenModels/EvtKstarnunu.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtKstarnunu.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTKSTARNUNU_HH
#define EVTKSTARNUNU_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtKstarnunu:public EvtDecayAmp {
public:
- EvtKstarnunu() {}
- virtual ~EvtKstarnunu();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
- void init();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtKstarstargamma.hh b/EvtGenModels/EvtKstarstargamma.hh
index 8dacdee..2a5d7d4 100644
--- a/EvtGenModels/EvtKstarstargamma.hh
+++ b/EvtGenModels/EvtKstarstargamma.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2002 Caltech
//
// Module: EvtGen/EvtKstarstargamma.hh
//
// Description:
//
// Modification history:
//
// RYD Nov 15, 2002 Module created
//
//------------------------------------------------------------------------
#ifndef EVTKSTARSTARGAMMA_HH
#define EVTKSTARSTARGAMMA_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtKstarstargamma:public EvtDecayAmp {
public:
- EvtKstarstargamma() {}
- virtual ~EvtKstarstargamma();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtLNuGamma.hh b/EvtGenModels/EvtLNuGamma.hh
index 6dba003..9c35bb6 100644
--- a/EvtGenModels/EvtLNuGamma.hh
+++ b/EvtGenModels/EvtLNuGamma.hh
@@ -1,49 +1,46 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2001 Caltech
//
// Module: EvtGen/EvtLNuGamma.hh
//
-// Description: B+ -> l+ nu gamma. Form factor is tree level, from
+// Description: B+ -> l+ nu gamma. Form factor is tree level, from
// Korchemsky, Pirjol, and Yan,Phy Rev D 61 (200) 114510
-//
+//
//
// Modification history:
//
// Edward Chen April 24, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTLNUGAMMA_HH
#define EVTLNUGAMMA_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtLNuGamma:public EvtDecayAmp {
public:
- EvtLNuGamma();
- virtual ~EvtLNuGamma();
-
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
double getFormFactor(double photonEnergy);
- bool _fafvzero;
+ bool _fafvzero = false;
};
#endif
diff --git a/EvtGenModels/EvtLambdaB2LambdaV.hh b/EvtGenModels/EvtLambdaB2LambdaV.hh
index 3b4b23d..588b2a0 100644
--- a/EvtGenModels/EvtLambdaB2LambdaV.hh
+++ b/EvtGenModels/EvtLambdaB2LambdaV.hh
@@ -1,197 +1,194 @@
//------------------------------------------------------------------------
//
// Module: EvtGen/EvtLambdaB2LambdaV.hh
//
// Description:
// Class to generate LambdaB -> Lambda(p pi) V(Vp Vm) decays
// with V a vector meson such as J/psi (mu+mu-)
// Rho (pi+pi-)
// Omega (pi+pi-)
// Rho-omega mixing (pi+pi-)
//
// Author : Eric Conte (LPC Clermont-Ferrand)
// econte@clermont.in2p3.fr / ziad@clermont.in2p3.fr
//
// Modification history:
//
// E. Conte April 13, 2006 Module created
// E. Conte February 5, 2006 First draft
//
//------------------------------------------------------------------------
#ifndef EVTLAMBDAB2LAMBDAV_HH
#define EVTLAMBDAB2LAMBDAV_HH
#include <stdlib.h>
#include <string>
#include "EvtGenBase/EvtDecayProb.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
namespace VID
{
enum VectorMesonType{JPSI, OMEGA, RHO, RHO_OMEGA_MIXING};
}
//*******************************************************************
//* *
//* Class EvtLambdaB2LambdaV *
//* *
//*******************************************************************
//
// DECAY : LambdaB -> Lambda + vector meson
//
// d(Sigma)
// -------- = 1 + A*B*cos(theta) + 2*A*Re(C*exp(i*phi))*sin(theta)
// d(Omega)
//
// with A (real) : lambdaB helicity asymmetry parameter
// B (real) : lambdaB polarisation
// C (complex) : lambdaB density matrix element rho+-
//
-// cf : O. Leitner, Z.J Ajaltouni, E. Conte,
+// cf : O. Leitner, Z.J Ajaltouni, E. Conte,
// PCCF RI 0601, ECT-05-15, LPNHE/2006-01, hep-ph/0602043
-
+
class EvtLambdaB2LambdaV:public EvtDecayProb
{
public:
-
EvtLambdaB2LambdaV();
- virtual ~EvtLambdaB2LambdaV();
- EvtDecayBase* clone();
-
- virtual std::string getName();
- void init();
- void initProbMax();
- void decay(EvtParticle *lambdab);
-
+
+ EvtDecayBase* clone() override;
+
+ std::string getName() override;
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *lambdab) override;
+
private:
//class name for report method
std::string fname;
- //meson vector identity
+ //meson vector identity
VID::VectorMesonType Vtype;
- //decay dynamics parameters
+ //decay dynamics parameters
double A;
double B;
EvtComplex C;
//V mass generator method
double getVMass(double MASS_LAMBDAB, double MASS_LAMBDA);
-
+
//PDF generator method
double BreitWignerRelPDF(double m,double _m0, double _g0);
double RhoOmegaMixingPDF(double m, double _mr, double _gr, double _mo, double _go);
};
//*******************************************************************
//* *
//* Class EvtLambda2PPiForLambdaB2LambdaV *
//* *
//*******************************************************************
//
// DECAY : Lambda -> p + pi-
//
// d(Sigma)
// -------- = 1 + A*B*cos(theta) + 2*A*Re(D*exp(i*phi))*sin(theta)
// d(Omega)
//
// with A (real) : lambda asymmetry parameter
// B (real) : lambda polarisation
// C (real) : lambdaB polarisation
// D (complex) : lambda density matrix element rho+-
//
// cf : O. Leitner, Z.J Ajaltouni, E. Conte
// PCCF RI 0601, ECT-05-15, LPNHE/2006-01, hep-ph/0602043
class EvtLambda2PPiForLambdaB2LambdaV:public EvtDecayProb
{
public:
EvtLambda2PPiForLambdaB2LambdaV();
- virtual ~EvtLambda2PPiForLambdaB2LambdaV();
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- virtual std::string getName();
- void init();
- void initProbMax();
- void decay(EvtParticle *lambda);
+ std::string getName() override;
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *lambda) override;
private :
//class name for report method
std::string fname;
- //meson vector identity
+ //meson vector identity
VID::VectorMesonType Vtype;
//decay dynamics parameters
double A;
double B;
double C;
EvtComplex D;
};
//*******************************************************************
//* *
//* Class EvtV2VpVmForLambdaB2LambdaV *
//* *
//*******************************************************************
//
// DECAY : vector meson V -> Vp + Vm
//
// d(Sigma)
// -------- = (1-3A)*cos(theta)^2 + (1+A) //leptonic decays
// d(Omega)
//
// d(Sigma)
// -------- = (3A-1)*cos(theta)^2 + (1-A) //hadronic decays
// d(Omega)
//
// with A (real) : V density matrix element indicating the
// probability to be longitudinally polarized
//
// cf : O. Leitner, Z.J Ajaltouni, E. Conte
// PCCF RI 0601, ECT-05-15, LPNHE/2006-01, hep-ph/0602043
class EvtV2VpVmForLambdaB2LambdaV:public EvtDecayProb
{
public:
-
EvtV2VpVmForLambdaB2LambdaV();
- virtual ~EvtV2VpVmForLambdaB2LambdaV();
- EvtDecayBase* clone();
-
- virtual std::string getName();
- void init();
- void initProbMax();
- void decay(EvtParticle *V);
-
+
+ EvtDecayBase* clone() override;
+
+ std::string getName() override;
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *V) override;
+
private:
//class name for report method
std::string fname;
- //meson vector identity
+ //meson vector identity
VID::VectorMesonType Vtype;
- //decay dynamics parameters
+ //decay dynamics parameters
double A;
};
#endif
diff --git a/EvtGenModels/EvtLambdaP_BarGamma.hh b/EvtGenModels/EvtLambdaP_BarGamma.hh
index 5a147e1..27d53a2 100644
--- a/EvtGenModels/EvtLambdaP_BarGamma.hh
+++ b/EvtGenModels/EvtLambdaP_BarGamma.hh
@@ -1,77 +1,77 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: EvtGen/EvtRadiativeBaryonicPenguins.hh
//
// Description:Implementation of the decay B- -> lambda p_bar gamma according to
// Cheng, Yang; hep-ph/0201015
//
// Modification history:
//
// JFS December 16th, 2003 Module created
//
//------------------------------------------------------------------------
#ifndef EVTLAMBDAPBARGAMMA_HH
#define EVTLAMBDAPBARGAMMA_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtConst.hh"
class EvtLambdaP_BarGamma : public EvtDecayAmp {
public:
-
+
EvtLambdaP_BarGamma();
~EvtLambdaP_BarGamma() {;}
-
- std::string getName();
- EvtDecayBase* clone();
- void decay(EvtParticle* p);
- void init();
- void initProbMax();
-
+
+ std::string getName() override;
+ EvtDecayBase* clone() override;
+ void decay(EvtParticle* p) override;
+ void init() override;
+ void initProbMax() override;
+
private:
// some constants to make the code easier to read and maintain
// these three should be constants... (implementation of getMass() prohibits this)
double _mLambdab; // = 5.624; // Lambda_b mass
double _mLambda0; // = 1.115684; // Lambda0 mass
- double _c7Eff; // = -0.31; // Wilson coefficient
- double _mb; // = 4.4; // running b mass
- double _mV; // = 5.42; // pole mass vector current
- double _mA; // = 5.86; // pole mass axial current
- double _GF; // = 1.166E-5; // Fermi constant
- double _gLambdab; // = 16; // coupling constant Lambda_b -> B- p
- double _e0; // = 1; // electromagnetic coupling (+1)
- double _g1; // = 0.64; // heavy-light form factors at q_mSqare
- double _g2; // = -0.10;
+ double _c7Eff; // = -0.31; // Wilson coefficient
+ double _mb; // = 4.4; // running b mass
+ double _mV; // = 5.42; // pole mass vector current
+ double _mA; // = 5.86; // pole mass axial current
+ double _GF; // = 1.166E-5; // Fermi constant
+ double _gLambdab; // = 16; // coupling constant Lambda_b -> B- p
+ double _e0; // = 1; // electromagnetic coupling (+1)
+ double _g1; // = 0.64; // heavy-light form factors at q_mSqare
+ double _g2; // = -0.10;
double _f1; // = 0.64;
double _f2; // = -0.31;
double _VtbVtsStar;// = 0.038; // |V_tb V_ts^*|
// user never needs to call this -> private
// baryonic form factors f(p), g(p), at p=0
double f0(const double f_qm, int n=1) const ; // calculate f(0) with f(q_max)
double g0(const double f_qm, int n=1) const ; // calculate g(0) with g(q_max)
-
+
// shorthand for constants a and b in the formula
double constA() const;
double constB() const;
// initialize phasespace and calculate the amplitude for one (i=0,1) state of the photon
EvtComplex calcAmpliude(const EvtParticle* p, const unsigned int polState);
-
+
};
#endif
diff --git a/EvtGenModels/EvtLambdacPHH.hh b/EvtGenModels/EvtLambdacPHH.hh
index a989902..23884e3 100644
--- a/EvtGenModels/EvtLambdacPHH.hh
+++ b/EvtGenModels/EvtLambdacPHH.hh
@@ -1,90 +1,90 @@
//--------------------------------------------------------------------------
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtLambdacPHH.hh
//
// Description: Decay model for Lambda_c -> K- pi+ p using amplitudes
// from the Fermilab E791 analysis: arXiv:hep-ex/9912003v1
//
// Modification history:
//
// Elisabeth Niel (elisabeth.maria.niel@cern.ch) and
// Patrick Robbe (robbe@lal.in2p3.fr) Jan 2019 Module created
//
//------------------------------------------------------------------------
//
#ifndef EVTLAMBDACPHH_HH
#define EVTLAMBDACPHH_HH
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtResonance2.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include <string>
#include <vector>
class EvtParticle;
class EvtLambdacPHH: public EvtDecayAmp {
public:
EvtLambdacPHH();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void init();
- void initProbMax();
- void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
protected:
// Resonance enumeration
enum LcResLabel {NonReson = 0, Kstar, Delta, Lambda};
// Amplitude functions
std::vector<EvtComplex> calcResAmpTerms(EvtLambdacPHH::LcResLabel resIndex,
const EvtResonance2& res, double norm) const;
EvtComplex DecayAmp3(EvtLambdacPHH::LcResLabel resonance, int m, int mprime, double theta_res,
double phi_res, double theta_prime_daughter_res,double phi_prime_daughter_res) const;
EvtComplex fampl3(double amplitude_res, double phi_res, int spinMother,int m_spinMother,
int m_prime_spinMother, double theta_res, float spin_res, float m_spin_res,
float m_prime_spin_res, double theta_daughter_res, double phi_prime_daughter_res) const;
// Find resonance normalisation factors
void calcNormalisations();
void getFitFractions();
// Inverse cos/sin functions that checks for valid arguments
double getACos(double num, double denom) const;
double getASin(double num, double denom) const;
private:
// Daughter ordering for K-, pi+, p
int _d1, _d2, _d3;
// Resonance parameters
double _Nplusplus, _Nplusminus, _Nminusplus, _Nminusminus;
double _phiNplusplus, _phiNplusminus, _phiNminusplus, _phiNminusminus;
double _E1, _phiE1, _E2, _phiE2, _E3, _phiE3, _E4, _phiE4;
double _F1, _phiF1, _F2, _phiF2 , _H1, _phiH1, _H2, _phiH2;
double _NRNorm, _KstarNorm, _DeltaNorm, _LambdaNorm;
double _KstarM, _KstarW, _KstarR;
double _DeltaM, _DeltaW, _DeltaR;
double _LambdaM, _LambdaW, _LambdaR;
double _Lambda_cR;
EvtVector4R _zprime, _p4_Lambda_c;
double _zpMag, _p4_Lambdac_Mag;
};
#endif
diff --git a/EvtGenModels/EvtLb2Baryonlnu.hh b/EvtGenModels/EvtLb2Baryonlnu.hh
index 5062723..0d66f62 100644
--- a/EvtGenModels/EvtLb2Baryonlnu.hh
+++ b/EvtGenModels/EvtLb2Baryonlnu.hh
@@ -1,52 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtLb2Baryonlnu.hh
//
// Description:Implementation of the Lb2Baryonlnu model
// Class to handle semileptonic Lb -> p l nu decays using the using form factor predictions based on the quark model. Here baryon can be Lc+, p, Lc*+, N*+.
-//
+//
//
// Modification history:
//
// William Sutcliffe July 27, 2013 Module created
//
//------------------------------------------------------------------------
#ifndef EVTLB2BARYONLNU_HH
#define EVTLB2BARYONLNU_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenModels/EvtSLBaryonAmp.hh"
class EvtParticle;
class EvtLb2Baryonlnu:public EvtDecayAmp {
public:
EvtLb2Baryonlnu();
- virtual ~EvtLb2Baryonlnu();
+ ~EvtLb2Baryonlnu();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
EvtSemiLeptonicFF *ffmodel;
EvtSLBaryonAmp *calcamp;
};
#endif
diff --git a/EvtGenModels/EvtLb2BaryonlnuFF.hh b/EvtGenModels/EvtLb2BaryonlnuFF.hh
index 3b77dbc..4cc278e 100644
--- a/EvtGenModels/EvtLb2BaryonlnuFF.hh
+++ b/EvtGenModels/EvtLb2BaryonlnuFF.hh
@@ -1,58 +1,58 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtLb2NstlnuLCSRFF.hh
//
// Description: Module for computation of Lb->N*+ and Lb->Lc*+ form factors. Uses predictions based from W. Roberts, M. Pervin, S. Chapstick, (2011). arXiv:nucl-th/0503030v1
//
// Modification history:
//
// William Sutcliffe November 21, 2013 Module created
-//
+//
//------------------------------------------------------------------------
#ifndef EVTLB2BARYONLNUFF_HH
#define EVTLB2BARYONLNUFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtLb2BaryonlnuFF : public EvtSemiLeptonicFF {
public:
void getscalarff(EvtId parent, EvtId daught,
double t, double mass, double *fpf,
- double *f0f );
+ double *f0f ) override;
void getvectorff(EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void gettensorff(EvtId parent, EvtId daught,
double t, double mass, double *hf,
- double *kf, double *bpf, double *bmf );
+ double *kf, double *bpf, double *bmf ) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff( EvtId parent, EvtId daught,
- double q2, double mass,
+ double q2, double mass,
double *f1, double *f2, double *f3,
- double *g1, double *g2, double *g3 );
+ double *g1, double *g2, double *g3 ) override;
void getraritaff( EvtId parent, EvtId daught,
- double q2, double mass,
+ double q2, double mass,
double *f1, double *f2, double *f3, double *f4,
- double *g1, double *g2, double *g3, double *g4 );
+ double *g1, double *g2, double *g3, double *g4 ) override;
};
#endif
diff --git a/EvtGenModels/EvtLb2Lll.hh b/EvtGenModels/EvtLb2Lll.hh
index 30e6b79..0027a0a 100644
--- a/EvtGenModels/EvtLb2Lll.hh
+++ b/EvtGenModels/EvtLb2Lll.hh
@@ -1,60 +1,57 @@
//----------------------------------------------------------------------------------
//
// Module: EvtLb2Lll.hh
//
// Desription: Routine to implement Lambda_b0 -> Lambda_0 l+ l- decays accroding to
// several models: Chen. Geng.
// Aliev. Ozpineci. Savci.
//
// Modification history:
//
// 15/09/2004 PR Module created according to PHSP model
// 20/02/2005 PR Added parameters, created matrix element (without polarization)
// 04/03/2005 PR LD contrib., corrected WC eff. according to Chen. Geng.
//
//----------------------------------------------------------------------------------
#ifndef EVTLB2LLL_HH
#define EVTLB2LLL_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenModels/EvtWilsonCoefficients.hh"
class EvtLb2Lll:public EvtDecayAmp {
public:
- EvtLb2Lll() {}
- virtual ~EvtLb2Lll();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
void calcAmp(EvtAmp *amp,EvtParticle *parent);
EvtTensor4C EvtLeptonTG5Current(const EvtDiracSpinor &d,const EvtDiracSpinor &dp);
private:
double m_polarizationLambdab0;
double m_maxProbability;
double m_poleSize;
long m_noTries;
double m_omega;
std::string m_decayName;
std::string m_polarizationIntroduction;
std::string m_HEPmodel;
std::string m_FFtype;
std::string m_effectContribution;
-
+
EvtWilsonCoefficients m_WC;
};
#endif
diff --git a/EvtGenModels/EvtLb2plnuLCSR.hh b/EvtGenModels/EvtLb2plnuLCSR.hh
index bc069e5..8bb7b90 100644
--- a/EvtGenModels/EvtLb2plnuLCSR.hh
+++ b/EvtGenModels/EvtLb2plnuLCSR.hh
@@ -1,52 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtLb2plnuLCSR.hh
//
// Description:Implementation of the Lb2plnuLCSR model
// Class to handle semileptonic Lb -> p l nu decays using the using form factor predictions from Light Cone Sum Rules.
-//
+//
//
// Modification history:
//
// William Sutcliffe July 27, 2013 Module created
//
//------------------------------------------------------------------------
#ifndef EVTLB2PMUNULCSR_HH
#define EVTLB2PMUNULCSR_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenModels/EvtSLBaryonAmp.hh"
class EvtParticle;
class EvtLb2plnuLCSR:public EvtDecayAmp {
public:
EvtLb2plnuLCSR();
- virtual ~EvtLb2plnuLCSR();
+ ~EvtLb2plnuLCSR();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
EvtSemiLeptonicFF *ffmodel;
EvtSLBaryonAmp *calcamp;
};
#endif
diff --git a/EvtGenModels/EvtLb2plnuLCSRFF.hh b/EvtGenModels/EvtLb2plnuLCSRFF.hh
index 4e26758..8d72500 100644
--- a/EvtGenModels/EvtLb2plnuLCSRFF.hh
+++ b/EvtGenModels/EvtLb2plnuLCSRFF.hh
@@ -1,58 +1,58 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtLb2plnuLCSRFF.hh
//
// Description: Module for computation of Lb->p form factors via LCSR
//
// Modification history:
//
// William Sutcliffe July 27, 2013 Module created
-//
+//
//------------------------------------------------------------------------
#ifndef EVTLB2PMUNULCSRFF_HH
#define EVTLB2PMUNULCSRFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtLb2plnuLCSRFF : public EvtSemiLeptonicFF {
public:
void getscalarff(EvtId parent, EvtId daught,
double t, double mass, double *fpf,
- double *f0f );
+ double *f0f ) override;
void getvectorff(EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void gettensorff(EvtId parent, EvtId daught,
double t, double mass, double *hf,
- double *kf, double *bpf, double *bmf );
+ double *kf, double *bpf, double *bmf ) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff( EvtId parent, EvtId daught,
- double q2, double mass,
+ double q2, double mass,
double *f1, double *f2, double *f3,
- double *g1, double *g2, double *g3 );
+ double *g1, double *g2, double *g3 ) override;
void getraritaff( EvtId parent, EvtId daught,
- double q2, double mass,
+ double q2, double mass,
double *f1, double *f2, double *f3, double *f4,
- double *g1, double *g2, double *g3, double *g4 );
+ double *g1, double *g2, double *g3, double *g4 ) override;
};
#endif
diff --git a/EvtGenModels/EvtLb2plnuLQCD.hh b/EvtGenModels/EvtLb2plnuLQCD.hh
index 9c04558..6d771b1 100644
--- a/EvtGenModels/EvtLb2plnuLQCD.hh
+++ b/EvtGenModels/EvtLb2plnuLQCD.hh
@@ -1,52 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtLb2plnuLQCD.hh
//
// Description:Implementation of the Lb2plnuLQCD model
// Class to handle semileptonic Lb -> p l nu decays using the using form factor predictions from Lattice QCD.
-//
+//
//
// Modification history:
//
// William Sutcliffe July 27, 2013 Module created
//
//------------------------------------------------------------------------
#ifndef EVTLB2PMUNULQCD_HH
#define EVTLB2PMUNULQCD_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenModels/EvtSLBaryonAmp.hh"
class EvtParticle;
class EvtLb2plnuLQCD:public EvtDecayAmp {
public:
EvtLb2plnuLQCD();
- virtual ~EvtLb2plnuLQCD();
+ ~EvtLb2plnuLQCD();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
EvtSemiLeptonicFF *ffmodel;
EvtSLBaryonAmp *calcamp;
};
#endif
diff --git a/EvtGenModels/EvtLb2plnuLQCDFF.hh b/EvtGenModels/EvtLb2plnuLQCDFF.hh
index e2bec88..5d1b2ba 100644
--- a/EvtGenModels/EvtLb2plnuLQCDFF.hh
+++ b/EvtGenModels/EvtLb2plnuLQCDFF.hh
@@ -1,58 +1,58 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtLb2plnuLQCDFF.hh
//
// Description: Module for computation of Lb->p form factors via LQCD
//
// Modification history:
//
// William Sutcliffe July 27, 2013 Module created
-//
+//
//------------------------------------------------------------------------
#ifndef EVTLB2PMUNULQCDFF_HH
#define EVTLB2PMUNULQCDFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtLb2plnuLQCDFF : public EvtSemiLeptonicFF {
public:
void getscalarff(EvtId parent, EvtId daught,
double t, double mass, double *fpf,
- double *f0f );
+ double *f0f ) override;
void getvectorff(EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void gettensorff(EvtId parent, EvtId daught,
double t, double mass, double *hf,
- double *kf, double *bpf, double *bmf );
+ double *kf, double *bpf, double *bmf ) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff( EvtId parent, EvtId daught,
- double q2, double mass,
+ double q2, double mass,
double *f1, double *f2, double *f3,
- double *g1, double *g2, double *g3 );
+ double *g1, double *g2, double *g3 ) override;
void getraritaff( EvtId parent, EvtId daught,
- double q2, double mass,
+ double q2, double mass,
double *f1, double *f2, double *f3, double *f4,
- double *g1, double *g2, double *g3, double *g4 );
+ double *g1, double *g2, double *g3, double *g4 ) override;
};
#endif
diff --git a/EvtGenModels/EvtMelikhov.hh b/EvtGenModels/EvtMelikhov.hh
index 35984da..450b024 100644
--- a/EvtGenModels/EvtMelikhov.hh
+++ b/EvtGenModels/EvtMelikhov.hh
@@ -1,53 +1,49 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtMelikhov.hh
//
// Description:Implementation of the Melikhov semileptonic model
//
// Modification history:
//
// DJL April 20, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTMELIKHOV_HH
#define EVTMELIKHOV_HH
-#include <fstream>
-#include <stdio.h>
+#include <memory>
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
class EvtParticle;
class EvtMelikhov:public EvtDecayAmp {
public:
- EvtMelikhov() {}
- virtual ~EvtMelikhov();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
+ void decay(EvtParticle *p) override;
+ void init() override;
private:
- EvtSemiLeptonicFF *Melikhovffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> Melikhovffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
};
#endif
diff --git a/EvtGenModels/EvtMelikhovFF.hh b/EvtGenModels/EvtMelikhovFF.hh
index a62ac62..c003682 100644
--- a/EvtGenModels/EvtMelikhovFF.hh
+++ b/EvtGenModels/EvtMelikhovFF.hh
@@ -1,57 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtMelikhovFF.hh
//
// Description: Form factors for EvtMelikhov model
//
// Modification history:
//
// DJL April 20, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTMELIKHOVFF_HH
#define EVTMELIKHOVFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
class EvtId;
class EvtMelikhovFF : public EvtSemiLeptonicFF {
public:
EvtMelikhovFF(double par1);
void getvectorff( EvtId parent, EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
- void getscalarff(EvtId, EvtId, double, double, double*,
- double*);
+ void getscalarff(EvtId, EvtId, double, double, double*,
+ double*) override;
- void gettensorff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void gettensorff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
int whichfit;
};
#endif
diff --git a/EvtGenModels/EvtMultibody.hh b/EvtGenModels/EvtMultibody.hh
index 5b7cf73..34ed7b7 100644
--- a/EvtGenModels/EvtMultibody.hh
+++ b/EvtGenModels/EvtMultibody.hh
@@ -1,27 +1,27 @@
#ifndef EVTMULTIBODY_HH
#define EVTMULTIBODY_HH
#include "EvtGenBase/EvtMTree.hh"
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSpinAmp.hh"
class EvtMultibody:public EvtDecayAmp
{
public:
EvtMultibody() { _decayTree = NULL; _ilist = NULL; }
- virtual ~EvtMultibody();
+ ~EvtMultibody();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void init();
- void initProbMax();
+ void init() override;
+ void initProbMax() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
EvtMTree * _decayTree;
int * _ilist;
};
#endif
diff --git a/EvtGenModels/EvtOmegaDalitz.hh b/EvtGenModels/EvtOmegaDalitz.hh
index 1692459..2efed39 100644
--- a/EvtGenModels/EvtOmegaDalitz.hh
+++ b/EvtGenModels/EvtOmegaDalitz.hh
@@ -1,45 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtOmegaDalitz.hh
//
-// Description:Class to handle the omega -> pi pi pi dalitz decay.
+// Description:Class to handle the omega -> pi pi pi dalitz decay.
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTOMEGADALITZ_HH
#define EVTOMEGADALITZ_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtOmegaDalitz:public EvtDecayAmp {
public:
EvtOmegaDalitz() {}
- virtual ~EvtOmegaDalitz();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void init();
- void decay(EvtParticle *p);
- void initProbMax();
+ void init() override;
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtPFermi.hh b/EvtGenModels/EvtPFermi.hh
index 40dd71b..37bb397 100644
--- a/EvtGenModels/EvtPFermi.hh
+++ b/EvtGenModels/EvtPFermi.hh
@@ -1,71 +1,67 @@
//-----------------------------------------------------------------------
// File and Version Information:
//
// Copyright Information: See EvtGen/COPYRIGHT
//
//
// Description:
// DFN model:
-// F(k+) = N (1-x)^a exp((1+a)x) ,x=k+/(mB-mb)
+// F(k+) = N (1-x)^a exp((1+a)x) ,x=k+/(mB-mb)
// the fermi motion distribution according to
// hep-ph/9905351 v2
// BLNP model:
// F(what,Lambda,b) = pow(_b,_b)/(tgamma(_b)*_Lambda)*pow(what/_Lambda,_b-1)*
// exp(-_b*what/Lambda);
// the leading order shape function (exp) (hep-ph/0504071)
// Environment:
// Software developed for the BaBar Detector at the SLAC B-Factory.
//
// Author List:
// Sven Menke (DFN model)
// Alexei Volk (BLNP model)
//-----------------------------------------------------------------------
#ifndef EVTPFERMI_HH
#define EVTPFERMI_HH
-class EvtPFermi {
+class EvtPFermi final {
public:
-
+
// Constructors
EvtPFermi(const double &a, const double &mB, const double &mb);
EvtPFermi(const double &Lambda, const double &b);
-
- // Destructor
-
- virtual ~EvtPFermi( );
// Operators
- // Selectors
+ // Selectors
// Modifiers
// Methods
double getFPFermi(const double &kplus);
double getSFBLNP(const double &what);
-
+
protected:
-
+
// Helper functions
private:
// Friends
-
+
// Data members
double _a;
double _mb;
double _mB;
double _Lambda;
double _b;
};
#endif // EVTPFERMI_HH
diff --git a/EvtGenModels/EvtPVVCPLH.hh b/EvtGenModels/EvtPVVCPLH.hh
index ef0a3be..9c07caa 100644
--- a/EvtGenModels/EvtPVVCPLH.hh
+++ b/EvtGenModels/EvtPVVCPLH.hh
@@ -1,51 +1,48 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1999 Caltech, UCSB
//
// Module: EvtGen/EvtPVVCPLH.hh
//
// Description:
//
// Modification history:
//
// RYD November 5, 1999 Module created
//
// TDP October 10, 2006 Modified
//
//------------------------------------------------------------------------
#ifndef EVTPVVCPLH_HH
#define EVTPVVCPLH_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtPVVCPLH:public EvtDecayAmp {
public:
- EvtPVVCPLH() {}
- virtual ~EvtPVVCPLH();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- virtual std::string getName();
- EvtDecayBase* clone();
+ void initProbMax() override;
+ void init() override;
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
- void decay(EvtParticle *p);
-
private:
bool isBsMixed ( EvtParticle * p ) ;
};
#endif
diff --git a/EvtGenModels/EvtPartWave.hh b/EvtGenModels/EvtPartWave.hh
index a0f4f11..e70ee40 100644
--- a/EvtGenModels/EvtPartWave.hh
+++ b/EvtGenModels/EvtPartWave.hh
@@ -1,61 +1,60 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPartWave.hh
//
// Description:Decay model for implementation of generic 2 body
// decay specified by the partial waves amplitudes
//
// Modification history:
//
// RYD September 7, 1999 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPARTWAVE_HH
#define EVTPARTWAVE_HH
#include "EvtGenBase/EvtDecayAmp.hh"
+#include "EvtGenBase/EvtEvalHelAmp.hh"
#include "EvtGenBase/EvtId.hh"
+#include <memory>
class EvtParticle;
class EvtEvalHelAmp;
class EvtPartWave:public EvtDecayAmp{
public:
- EvtPartWave() : _evalHelAmp(0) {}
- virtual ~EvtPartWave();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
void fillHelicity(int* lambda2,int n,int J2);
- EvtEvalHelAmp* _evalHelAmp;
+ std::unique_ptr<EvtEvalHelAmp> _evalHelAmp;
};
#endif
diff --git a/EvtGenModels/EvtPhiDalitz.hh b/EvtGenModels/EvtPhiDalitz.hh
index e488f5f..d006749 100644
--- a/EvtGenModels/EvtPhiDalitz.hh
+++ b/EvtGenModels/EvtPhiDalitz.hh
@@ -1,36 +1,33 @@
#ifndef EVTPHIDALITZ_HH
#define EVTPHIDALITZ_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtPhiDalitz:public EvtDecayAmp {
public:
- EvtPhiDalitz() {}
- virtual ~EvtPhiDalitz();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
- void init();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
double _mRho;
double _gRho;
double _aD;
double _phiD;
double _aOmega;
double _phiOmega;
int _locPip;
int _locPim;
int _locPi0;
};
#endif
diff --git a/EvtGenModels/EvtPhsp.hh b/EvtGenModels/EvtPhsp.hh
index 09753c5..bb2fb68 100644
--- a/EvtGenModels/EvtPhsp.hh
+++ b/EvtGenModels/EvtPhsp.hh
@@ -1,50 +1,47 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPhsp.hh
//
// Description:
//Class to handle generic phase space decays not done
//in other decay models.
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPHSP_HH
#define EVTPHSP_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class EvtPhsp:public EvtDecayIncoherent {
public:
-
- EvtPhsp() {}
- virtual ~EvtPhsp();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtPhspFlatLifetime.hh b/EvtGenModels/EvtPhspFlatLifetime.hh
index f6ec3ac..92295c3 100755
--- a/EvtGenModels/EvtPhspFlatLifetime.hh
+++ b/EvtGenModels/EvtPhspFlatLifetime.hh
@@ -1,59 +1,59 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPhspFlatLifetime.hh
//
// Description:
// Class to handle generic phase space decays not done
// in other decay models, with a flat lifetime
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
// PR July 11, 2013 Add flat lifetime generation
//------------------------------------------------------------------------
#ifndef EVTPHSPFLATLIFETIME_HH
#define EVTPHSPFLATLIFETIME_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class EvtPhspFlatLifetime : public EvtDecayIncoherent {
public:
/// Constructor
EvtPhspFlatLifetime() : m_maxLifetime( 0. ) {} ;
/// Destructor
virtual ~EvtPhspFlatLifetime() {} ;
/// return name of the model
- virtual std::string getName();
+ std::string getName() override;
/// Clone
- virtual EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
/// Compute maximum weight
- virtual void initProbMax();
+ void initProbMax() override;
/// Initialize the model
- virtual void init();
+ void init() override;
/// Perform the decay
- virtual void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
/// parameter of the model: maximum of the generated lifetime (in ps)
double m_maxLifetime ;
};
#endif
diff --git a/EvtGenModels/EvtPi0Dalitz.hh b/EvtGenModels/EvtPi0Dalitz.hh
index 721ed9e..5e5b02d 100644
--- a/EvtGenModels/EvtPi0Dalitz.hh
+++ b/EvtGenModels/EvtPi0Dalitz.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPi0Dalitz.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPI0DALITZ_HH
#define EVTPI0DALITZ_HH
#include "EvtGenBase/EvtDecayProb.hh"
class EvtParticle;
class EvtPi0Dalitz:public EvtDecayProb {
public:
- EvtPi0Dalitz() {}
- virtual ~EvtPi0Dalitz();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtPropSLPole.hh b/EvtGenModels/EvtPropSLPole.hh
index 223142f..6260533 100644
--- a/EvtGenModels/EvtPropSLPole.hh
+++ b/EvtGenModels/EvtPropSLPole.hh
@@ -1,69 +1,67 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtPropSLPole.hh
//
// Description:Semileptonic decays with pole form form factors
//
// Modification history:
//
// DJL April 23, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTPROPSLPOLE_HH
#define EVTPROPSLPOLE_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
#include "EvtGenBase/EvtPoint1D.hh"
+#include <memory>
class Evtparticle;
class EvtPropSLPole:public EvtDecayAmp {
public:
- EvtPropSLPole() {}
- virtual ~EvtPropSLPole();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
double calBreitWigner(EvtParticle *pmeson, EvtPoint1D point);
double calBreitWignerBasic(double maxMass);
double calcMaxProb( EvtId parent, EvtId meson, EvtId lepton, EvtId nudaug, EvtSemiLeptonicFF *FormFactors );
private:
bool _includeDecayFact;
bool _includeBirthFact;
double _mass;
double _massMin;
double _massMax;
double _width;
double _maxRange;
EvtSpinType::spintype _spin;
double _blatt;
bool _isProbMaxSet;
- EvtSemiLeptonicFF *SLPoleffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> SLPoleffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
};
#endif
diff --git a/EvtGenModels/EvtPto3P.hh b/EvtGenModels/EvtPto3P.hh
index 857ed90..c7981ca 100644
--- a/EvtGenModels/EvtPto3P.hh
+++ b/EvtGenModels/EvtPto3P.hh
@@ -1,44 +1,44 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtPto3P.hh,v 1.2 2009-03-16 16:31:05 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
#ifndef EVT_PTO3P_HH
#define EVT_PTO3P_HH
#include <vector>
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtIntervalDecayAmp.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
class EvtPto3P : public EvtIntervalDecayAmp<EvtDalitzPoint> {
-
+
public:
-
+
EvtPto3P() {}
- virtual ~EvtPto3P() {}
- std::string getName() { return "PTO3P"; }
- EvtDecayBase* clone() { return new EvtPto3P(); }
-
-
- virtual EvtAmpFactory<EvtDalitzPoint>* createFactory(const EvtMultiChannelParser& parser);
- virtual std::vector<EvtVector4R> initDaughters(const EvtDalitzPoint& p) const;
-
+ ~EvtPto3P() {}
+ std::string getName() override { return "PTO3P"; }
+ EvtDecayBase* clone() override { return new EvtPto3P(); }
+
+
+ EvtAmpFactory<EvtDalitzPoint>* createFactory(const EvtMultiChannelParser& parser) override;
+ std::vector<EvtVector4R> initDaughters(const EvtDalitzPoint& p) const override;
+
EvtDalitzPlot dp();
-
+
};
#endif
diff --git a/EvtGenModels/EvtRareLbToLll.hh b/EvtGenModels/EvtRareLbToLll.hh
index c9910d1..3915711 100644
--- a/EvtGenModels/EvtRareLbToLll.hh
+++ b/EvtGenModels/EvtRareLbToLll.hh
@@ -1,65 +1,62 @@
-#ifndef EVTRARELBTOLLL_HH
+#ifndef EVTRARELBTOLLL_HH
#define EVTRARELBTOLLL_HH 1
// Include files
/** @class EvtRareLbToLll EvtRareLbToLll.hh EvtGenModels/EvtRareLbToLll.hh
- *
+ *
*
* @author Thomas Blake
* @date 2013-11-27
*/
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtAmp.hh"
#include "EvtGenModels/EvtRareLbToLllFFBase.hh"
#include "EvtGenModels/EvtRareLbToLllWC.hh"
+#include <memory>
class EvtRareLbToLll : public EvtDecayAmp {
-public:
- /// Standard constructor
- EvtRareLbToLll( );
+public:
+
+ std::string getName() override;
+
+ EvtDecayBase* clone() override;
- virtual ~EvtRareLbToLll( ); ///< Destructor
+ void init() override;
- virtual std::string getName() ;
-
- virtual EvtDecayBase* clone();
+ void initProbMax() override;
- virtual void init();
-
- virtual void initProbMax();
-
- virtual void decay( EvtParticle *parent );
+ void decay( EvtParticle *parent ) override;
protected:
-
+
void calcAmp( EvtAmp& amp, EvtParticle *parent ) ;
-
- void HadronicAmp( EvtParticle* parent,
- EvtParticle* lambda,
+
+ void HadronicAmp( EvtParticle* parent,
+ EvtParticle* lambda,
EvtVector4C* T,
- const int i,
+ const int i,
const int j );
-
- void HadronicAmpRS( EvtParticle* parent,
- EvtParticle* lambda,
+
+ void HadronicAmpRS( EvtParticle* parent,
+ EvtParticle* lambda,
EvtVector4C* T,
- const int i,
+ const int i,
const int j );
bool isParticle( EvtParticle* parent ) const ;
-
+
private:
- double m_maxProbability;
-
- EvtRareLbToLllFFBase* ffmodel_;
- EvtRareLbToLllWC* wcmodel_;
-
+ double m_maxProbability;
+
+ std::unique_ptr<EvtRareLbToLllFFBase> ffmodel_;
+ std::unique_ptr<EvtRareLbToLllWC> wcmodel_;
+
};
-#endif //
+#endif //
diff --git a/EvtGenModels/EvtRareLbToLllFF.hh b/EvtGenModels/EvtRareLbToLllFF.hh
index 4392e5d..f5cd2a0 100644
--- a/EvtGenModels/EvtRareLbToLllFF.hh
+++ b/EvtGenModels/EvtRareLbToLllFF.hh
@@ -1,120 +1,112 @@
-#ifndef EVTRARELBTOLLLFF_HH
+#ifndef EVTRARELBTOLLLFF_HH
#define EVTRARELBTOLLLFF_HH 1
// Include files
/** @class EvtRareLbToLllFF EvtRareLbToLllFF.hh EvtGenModels/EvtRareLbToLllFF.hh
- *
+ *
*
* @author Thomas Blake
* @date 2013-11-26
*/
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenModels/EvtRareLbToLllFFBase.hh"
#include <string>
-#include <map>
+#include <map>
+#include <array>
+#include <memory>
class EvtRareLbToLllFF : public EvtRareLbToLllFFBase{
-public:
-
- class FormFactorDependence
+public:
+
+ class FormFactorDependence final
{
public:
FormFactorDependence();
-
- FormFactorDependence( const double al,
+
+ FormFactorDependence( const double al,
const double ap );
-
- FormFactorDependence( const double a0,
- const double a2,
- const double a4,
- const double al,
+
+ FormFactorDependence( const double a0,
+ const double a2,
+ const double a4,
+ const double al,
const double ap ) ;
FormFactorDependence( const FormFactorDependence& other );
-
+
FormFactorDependence* clone() const ;
- void param( const double al,
+ void param( const double al,
const double ap ) ;
-
- void param( const double a0,
- const double a2,
- const double a4,
- const double al,
+
+ void param( const double a0,
+ const double a2,
+ const double a4,
+ const double al,
const double ap );
-
-
+
+
double a0_;
double a2_;
double a4_;
double al_;
double ap_;
- };
+ };
- class FormFactorSet
+ class FormFactorSet final
{
public:
FormFactorSet() ;
-
+
FormFactorSet( const FormFactorSet& other );
-
- virtual ~FormFactorSet();
EvtRareLbToLllFF::FormFactorDependence F1;
EvtRareLbToLllFF::FormFactorDependence F2;
EvtRareLbToLllFF::FormFactorDependence F3;
EvtRareLbToLllFF::FormFactorDependence F4;
-
+
EvtRareLbToLllFF::FormFactorDependence G1;
EvtRareLbToLllFF::FormFactorDependence G2;
EvtRareLbToLllFF::FormFactorDependence G3;
EvtRareLbToLllFF::FormFactorDependence G4;
-
+
EvtRareLbToLllFF::FormFactorDependence H1;
EvtRareLbToLllFF::FormFactorDependence H2;
EvtRareLbToLllFF::FormFactorDependence H3;
EvtRareLbToLllFF::FormFactorDependence H4;
EvtRareLbToLllFF::FormFactorDependence H5;
EvtRareLbToLllFF::FormFactorDependence H6;
};
+ void init() override;
- /// Standard constructor
- EvtRareLbToLllFF( );
+ void getFF( EvtParticle* parent,
+ EvtParticle* lambda,
+ EvtRareLbToLllFFBase::FormFactors& FF ) override;
- virtual ~EvtRareLbToLllFF( ); ///< Destructor
-
- void init() ;
-
- void getFF( EvtParticle* parent,
- EvtParticle* lambda,
- EvtRareLbToLllFFBase::FormFactors& FF );
-
-protected:
-
-
private:
double func( const double p, EvtRareLbToLllFF::FormFactorDependence& dep );
-
+
+ std::array<std::unique_ptr<EvtRareLbToLllFF::FormFactorSet>,2> FF_;
std::map< int, EvtRareLbToLllFF::FormFactorSet* > FFMap_;
-
- void DiracFF( EvtParticle* parent,
- EvtParticle* lambda,
- EvtRareLbToLllFF::FormFactorSet& FFset,
+
+ void DiracFF( EvtParticle* parent,
+ EvtParticle* lambda,
+ EvtRareLbToLllFF::FormFactorSet& FFset,
EvtRareLbToLllFF::FormFactors& FF );
- void RaritaSchwingerFF( EvtParticle* parent,
- EvtParticle* lambda,
- EvtRareLbToLllFF::FormFactorSet& FFset,
+ void RaritaSchwingerFF( EvtParticle* parent,
+ EvtParticle* lambda,
+ EvtRareLbToLllFF::FormFactorSet& FFset,
EvtRareLbToLllFF::FormFactors& FF );
-
+
};
#endif // EVTRARELBTOLLLFF_HH
diff --git a/EvtGenModels/EvtRareLbToLllFFGutsche.hh b/EvtGenModels/EvtRareLbToLllFFGutsche.hh
index 27503a8..922a432 100644
--- a/EvtGenModels/EvtRareLbToLllFFGutsche.hh
+++ b/EvtGenModels/EvtRareLbToLllFFGutsche.hh
@@ -1,51 +1,43 @@
-#ifndef EVTRARELBTOLLLFFGUTSCHE_HH
+#ifndef EVTRARELBTOLLLFFGUTSCHE_HH
#define EVTRARELBTOLLLFFGUTSCHE_HH 1
// Include files
/** @class EvtRareLbToLllFF EvtRareLbToLllFF.hh EvtGenModels/EvtRareLbToLllFF.hh
- *
+ *
*
* @author Michal Kreps
* @date 2014-10-21
*/
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenModels/EvtRareLbToLllFFBase.hh"
#include <string>
-#include <map>
+#include <map>
class EvtRareLbToLllFFGutsche : public EvtRareLbToLllFFBase{
-public:
-
- /// Standard constructor
- EvtRareLbToLllFFGutsche( );
+public:
+
+ void init() override;
- virtual ~EvtRareLbToLllFFGutsche( ); ///< Destructor
-
- void init() ;
-
- void getFF( EvtParticle* parent,
- EvtParticle* lambda,
- EvtRareLbToLllFFBase::FormFactors& FF );
+ void getFF( EvtParticle* parent,
+ EvtParticle* lambda,
+ EvtRareLbToLllFFBase::FormFactors& FF ) override;
-protected:
-
-
private:
double formFactorParametrization(double s, double f0, double a, double b);
double fVconsts[3][3];
double fAconsts[3][3];
double fTVconsts[3][3];
double fTAconsts[3][3];
-
+
static EvtIdSet fParents;
static EvtIdSet fDaughters;
};
#endif // EVTRARELBTOLLLFF_HH
diff --git a/EvtGenModels/EvtRareLbToLllFFlQCD.hh b/EvtGenModels/EvtRareLbToLllFFlQCD.hh
index 763e396..c7c6040 100644
--- a/EvtGenModels/EvtRareLbToLllFFlQCD.hh
+++ b/EvtGenModels/EvtRareLbToLllFFlQCD.hh
@@ -1,53 +1,48 @@
-#ifndef EVTRARELBTOLLLFFLQCD_HH
+#ifndef EVTRARELBTOLLLFFLQCD_HH
#define EVTRARELBTOLLLFFLQCD_HH 1
// Include files
/** @class EvtRareLbToLllFF EvtRareLbToLllFF.hh EvtGenModels/EvtRareLbToLllFF.hh
- *
+ *
*
* @author Michal Kreps
* @date 2016-04-19
* @date 2014-10-23
*/
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenModels/EvtRareLbToLllFFBase.hh"
#include <string>
-#include <map>
+#include <map>
class EvtRareLbToLllFFlQCD : public EvtRareLbToLllFFBase{
-public:
-
+public:
+
/// Standard constructor
- EvtRareLbToLllFFlQCD( );
+ EvtRareLbToLllFFlQCD( ) = default;
+
+ void init() override;
- virtual ~EvtRareLbToLllFFlQCD( ); ///< Destructor
-
- void init() ;
-
- void getFF( EvtParticle* parent,
- EvtParticle* lambda,
- EvtRareLbToLllFFBase::FormFactors& FF );
+ void getFF( EvtParticle* parent,
+ EvtParticle* lambda,
+ EvtRareLbToLllFFBase::FormFactors& FF ) override;
-protected:
-
-
private:
double formFactorParametrization(double q2, double a0, double a1, double pole);
double zvar(double q2);
double fconsts[3][3];
double gconsts[3][3];
double hconsts[3][3];
double htildaconsts[3][3];
double t0;
double tplus;
};
#endif // EVTRARELBTOLLLFF_HH
diff --git a/EvtGenModels/EvtRareLbToLllWC.hh b/EvtGenModels/EvtRareLbToLllWC.hh
index 19a8207..f8ef34e 100644
--- a/EvtGenModels/EvtRareLbToLllWC.hh
+++ b/EvtGenModels/EvtRareLbToLllWC.hh
@@ -1,29 +1,26 @@
-#ifndef EVTRARELBTOLLLWC_HH
+#ifndef EVTRARELBTOLLLWC_HH
#define EVTRARELBTOLLLWC_HH 1
// Include files
#include "EvtGenBase/EvtComplex.hh"
/** @class EvtRareLbToLllWC EvtRareLbToLllWC.hh EvtGenModels/EvtRareLbToLllWC.hh
- *
- * Implementation of wilson coefficient calculation
+ *
+ * Implementation of wilson coefficient calculation
*
* @author Thomas Blake
* @date 2013-11-27
*/
-class EvtRareLbToLllWC {
-public:
- /// Standard constructor
- EvtRareLbToLllWC( );
- virtual ~EvtRareLbToLllWC( ); ///< Destructor
-
+class EvtRareLbToLllWC final {
+public:
+
EvtComplex GetC7Eff( const double q2 ) const;
EvtComplex GetC9Eff( const double q2, const bool btod=false) const;
EvtComplex GetC10Eff( const double q2 ) const ;
-
+
};
-#endif //
+#endif //
diff --git a/EvtGenModels/EvtSLBKPole.hh b/EvtGenModels/EvtSLBKPole.hh
index 57f676b..df896bc 100644
--- a/EvtGenModels/EvtSLBKPole.hh
+++ b/EvtGenModels/EvtSLBKPole.hh
@@ -1,51 +1,48 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSLBKPole.hh
//
-// Description:Semileptonic decays with pole form form factors,
+// Description:Semileptonic decays with pole form form factors,
// according to Becirevic and Kaidalov(BK)
//
// Modification history:
//
// liheng October 20, 2005 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSLBKPOLE_HH//modified
#define EVTSLBKPOLE_HH//modified
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"//modified
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
-
+#include <memory>
class Evtparticle;
class EvtSLBKPole:public EvtDecayAmp {
public:
- EvtSLBKPole() {}//modified
- virtual ~EvtSLBKPole();//modified
-
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
- EvtSemiLeptonicFF *SLBKPoleffmodel;//modified
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> SLBKPoleffmodel;//modified
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
};
#endif
diff --git a/EvtGenModels/EvtSLBKPoleFF.hh b/EvtGenModels/EvtSLBKPoleFF.hh
index 818a33f..7b31a3b 100644
--- a/EvtGenModels/EvtSLBKPoleFF.hh
+++ b/EvtGenModels/EvtSLBKPoleFF.hh
@@ -1,60 +1,60 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSLBKPoleFF.hh
//
// Description:Form factor routines for EvtSLBKPole,
// according to Becirevic and Kaidalov(BK)
//
// Modification history:
//
// liheng October 20, 2005 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSLBKPOLEFF_HH//modified
#define EVTSLBKPOLEFF_HH//modified
#include "EvtGenBase/EvtSemiLeptonicFF.hh"//modified
#include "EvtGenBase/EvtId.hh"
class EvtSLBKPoleFF : public EvtSemiLeptonicFF {//modified
public:
EvtSLBKPoleFF(int numarg, double *arglist);//modified
void getscalarff(EvtId parent,EvtId daught,
double t, double mass, double *fpf,
- double *f0f );
+ double *f0f ) override;
void getvectorff(EvtId parent,EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void gettensorff(EvtId parent,EvtId daught,//need to be modified, but not yet
double t, double mass, double *hf,
- double *kf, double *bp, double *bm );
+ double *kf, double *bp, double *bm ) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
int numSLBKPoleargs;//modified
double SLBKPoleargs[16];//modified
};
#endif
diff --git a/EvtGenModels/EvtSLBaryonAmp.hh b/EvtGenModels/EvtSLBaryonAmp.hh
index ad5383b..ba221dd 100644
--- a/EvtGenModels/EvtSLBaryonAmp.hh
+++ b/EvtGenModels/EvtSLBaryonAmp.hh
@@ -1,75 +1,75 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSLBaryonAmp.hh
//
// Description:
//
// Modification history:
//
// Lange Oct 20, 2004 Created
//
//------------------------------------------------------------------------
#ifndef EVTSLBARYONAMP_HH
#define EVTSLBARYONAMP_HH
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
class EvtParticle;
class EvtAmp;
class EvtSemiLeptonicFF;
class EvtVector4C;
class EvtVector4R;
class EvtDiracSpinor;
class EvtRaritaSchwinger;
class EvtSLBaryonAmp:public EvtSemiLeptonicAmp {
public:
- virtual ~EvtSLBaryonAmp();
+ ~EvtSLBaryonAmp();
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent,EvtAmp& amp,
- EvtSemiLeptonicFF *FormFactors );
+ EvtSemiLeptonicFF *FormFactors ) override;
void CalcAmp( EvtParticle *parent, EvtAmp& amp,
EvtSemiLeptonicFF *FormFactors,
EvtComplex r00, EvtComplex r01,
EvtComplex r10, EvtComplex r11 );
-
+
double CalcMaxProb( EvtId parent, EvtId meson, EvtId lepton,
EvtId nudaug, EvtSemiLeptonicFF *FormFactors,
EvtComplex r00, EvtComplex r01,
EvtComplex r10, EvtComplex r11);
private:
EvtVector4C EvtBaryonVACurrent( const EvtDiracSpinor& Bf,
- const EvtDiracSpinor& Bi,
- EvtVector4R parent,
- EvtVector4R daught,
+ const EvtDiracSpinor& Bi,
+ EvtVector4R parent,
+ EvtVector4R daught,
const double *ff, int pflag);
EvtVector4C EvtBaryonVARaritaCurrent( const EvtRaritaSchwinger& Bf_vect,
- const EvtDiracSpinor& Bi,
- EvtVector4R parent,
- EvtVector4R daught,
+ const EvtDiracSpinor& Bi,
+ EvtVector4R parent,
+ EvtVector4R daught,
const double *ff, int pflag);
};
#endif
diff --git a/EvtGenModels/EvtSLN.hh b/EvtGenModels/EvtSLN.hh
index 75a185d..f59c973 100644
--- a/EvtGenModels/EvtSLN.hh
+++ b/EvtGenModels/EvtSLN.hh
@@ -1,47 +1,46 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSLN.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSLN_HH
#define EVTSLN_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
//Class to handle decays of the type SCALAR -> DIRAC NEUTRINO
class EvtSLN:public EvtDecayAmp {
public:
EvtSLN() {}
- virtual ~EvtSLN();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void init();
- void initProbMax();
+ void init() override;
+ void initProbMax() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtSLPole.hh b/EvtGenModels/EvtSLPole.hh
index 1de7a92..37df499 100644
--- a/EvtGenModels/EvtSLPole.hh
+++ b/EvtGenModels/EvtSLPole.hh
@@ -1,53 +1,51 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSLPole.hh
//
// Description:Semileptonic decays with pole form form factors
//
// Modification history:
//
// DJL April 23, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSLPOLE_HH
#define EVTSLPOLE_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtSemiLeptonicAmp.hh"
+#include <memory>
class Evtparticle;
class EvtSLPole:public EvtDecayAmp {
public:
- EvtSLPole() {}
- virtual ~EvtSLPole();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
+ void init() override;
private:
- EvtSemiLeptonicFF *SLPoleffmodel;
- EvtSemiLeptonicAmp *calcamp;
+ std::unique_ptr<EvtSemiLeptonicFF> SLPoleffmodel;
+ std::unique_ptr<EvtSemiLeptonicAmp> calcamp;
//special case - reset the daughter masses
bool _resetDaughterTree;
};
#endif
diff --git a/EvtGenModels/EvtSLPoleFF.hh b/EvtGenModels/EvtSLPoleFF.hh
index 88b5087..96d2aa5 100644
--- a/EvtGenModels/EvtSLPoleFF.hh
+++ b/EvtGenModels/EvtSLPoleFF.hh
@@ -1,59 +1,59 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSLPoleFF.hh
//
// Description:Form factor routines for EvtSLPole
//
// Modification history:
//
// DJL April 23, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSLPOLEFF_HH
#define EVTSLPOLEFF_HH
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtId.hh"
class EvtSLPoleFF : public EvtSemiLeptonicFF {
public:
EvtSLPoleFF(int numarg, double *arglist);
void getscalarff(EvtId parent,EvtId daught,
double t, double mass, double *fpf,
- double *f0f );
+ double *f0f ) override;
void getvectorff(EvtId parent,EvtId daught,
double t, double mass, double *a1f,
- double *a2f, double *vf, double *a0f );
+ double *a2f, double *vf, double *a0f ) override;
void gettensorff(EvtId parent,EvtId daught,
double t, double mass, double *hf,
- double *kf, double *bp, double *bm );
+ double *kf, double *bp, double *bm ) override;
- void getbaryonff(EvtId, EvtId, double, double, double*,
- double*, double*, double*);
+ void getbaryonff(EvtId, EvtId, double, double, double*,
+ double*, double*, double*) override;
void getdiracff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*);
+ double*, double*, double*, double*) override;
- void getraritaff(EvtId, EvtId, double, double, double*, double*,
- double*, double*, double*, double*, double*, double*);
+ void getraritaff(EvtId, EvtId, double, double, double*, double*,
+ double*, double*, double*, double*, double*, double*) override;
private:
int numSLPoleargs;
double SLPoleargs[16];
};
#endif
diff --git a/EvtGenModels/EvtSSDCP.hh b/EvtGenModels/EvtSSDCP.hh
index 842a242..ef0e13b 100644
--- a/EvtGenModels/EvtSSDCP.hh
+++ b/EvtGenModels/EvtSSDCP.hh
@@ -1,77 +1,74 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 12001 Caltech
//
// Module: EvtGen/EvtSSDCP.hh
//
-// Description: This module is part of the unification of simulation of CP violation in
+// Description: This module is part of the unification of simulation of CP violation in
// B decays. This model handles decays of the type B->SD where D is either
// a spin 0, 1, or 2 particle. See long writeup for more information.
//
// Modification history:
//
// DJL/RYD August 12, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSSDCP_HH
#define EVTSSDCP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSSDCP:public EvtDecayAmp {
public:
- EvtSSDCP() {}
- virtual ~EvtSSDCP();
-
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
- std::string getParamName(int i);
- std::string getParamDefault(int i);
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
private:
//Arguments
double _dm;
double _dgog;
EvtComplex _qoverp;
EvtComplex _poverq;
EvtComplex _z; //FS CPTV parameter
// FS commented next line becuse not used
- // int _cp;
+ // int _cp;
EvtComplex _A_f;
EvtComplex _Abar_f;
-
+
EvtComplex _A_fbar;
EvtComplex _Abar_fbar;
//Derived quantities
double _gamma;
double _dgamma;
bool _eigenstate;
};
#endif
diff --git a/EvtGenModels/EvtSSD_DirectCP.hh b/EvtGenModels/EvtSSD_DirectCP.hh
index a4233e2..8e83a50 100644
--- a/EvtGenModels/EvtSSD_DirectCP.hh
+++ b/EvtGenModels/EvtSSD_DirectCP.hh
@@ -1,38 +1,33 @@
-// $Id: EvtSSD_DirectCP.hh,v 1.2 2009-03-16 16:31:53 robbep Exp $
// Generation of direct CP violation in hadronic environment
// Patrick Robbe, LHCb, 08 Nov 2006
-//
+//
#ifndef EVTSSD_DirectCP_HH
#define EVTSSD_DirectCP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSSD_DirectCP : public EvtDecayAmp {
public:
- EvtSSD_DirectCP() {}
- virtual ~EvtSSD_DirectCP();
-
- virtual std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
-
- std::string getParamName(int i);
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
+ std::string getParamName(int i) override;
private:
bool isB0Mixed( EvtParticle * p ) ;
bool isBsMixed( EvtParticle * p ) ;
//Arguments
double _acp;
};
#endif
diff --git a/EvtGenModels/EvtSSSCP.hh b/EvtGenModels/EvtSSSCP.hh
index 3b4d7fd..c99d1b4 100644
--- a/EvtGenModels/EvtSSSCP.hh
+++ b/EvtGenModels/EvtSSSCP.hh
@@ -1,48 +1,46 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSSSCP.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSSSCP_HH
#define EVTSSSCP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSSSCP:public EvtDecayAmp {
public:
- EvtSSSCP() {}
- virtual ~EvtSSSCP();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
- void decay(EvtParticle *p);
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
- std::string getParamName(int i);
- std::string getParamDefault(int i);
};
#endif
diff --git a/EvtGenModels/EvtSSSCPT.hh b/EvtGenModels/EvtSSSCPT.hh
index a970954..957e119 100644
--- a/EvtGenModels/EvtSSSCPT.hh
+++ b/EvtGenModels/EvtSSSCPT.hh
@@ -1,43 +1,40 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSSSCPT.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSSSCPT_HH
#define EVTSSSCPT_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSSSCPT:public EvtDecayAmp {
public:
- EvtSSSCPT() {}
- virtual ~EvtSSSCPT();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void init();
- void decay(EvtParticle *p);
+ void init() override;
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtSSSCPpng.hh b/EvtGenModels/EvtSSSCPpng.hh
index 7b6589f..c3bd0af 100644
--- a/EvtGenModels/EvtSSSCPpng.hh
+++ b/EvtGenModels/EvtSSSCPpng.hh
@@ -1,45 +1,42 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSSSCPpng.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSSSCPPNG_HH
#define EVTSSSCPPNG_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSSSCPpng:public EvtDecayAmp {
public:
- EvtSSSCPpng() {}
- virtual ~EvtSSSCPpng();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void initProbMax() override;
- void initProbMax();
-
- void init();
- void decay(EvtParticle *p);
+ void init() override;
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtSTS.hh b/EvtGenModels/EvtSTS.hh
index a53c55f..6e8cfee 100644
--- a/EvtGenModels/EvtSTS.hh
+++ b/EvtGenModels/EvtSTS.hh
@@ -1,45 +1,42 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSTS.hh
//
// Description:Performs the decay of a scalar -> tensor scalar
//
// Modification history:
//
// RYD August 21, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSTS_HH
#define EVTSTS_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSTS:public EvtDecayAmp {
public:
- EvtSTS() {}
- virtual ~EvtSTS();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtSTSCP.hh b/EvtGenModels/EvtSTSCP.hh
index ceb8a05..7b63dae 100644
--- a/EvtGenModels/EvtSTSCP.hh
+++ b/EvtGenModels/EvtSTSCP.hh
@@ -1,46 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSTSCP.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSTSCP_HH
#define EVTSTSCP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSTSCP:public EvtDecayAmp {
public:
- EvtSTSCP() {}
- virtual ~EvtSTSCP();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
- void init();
- void initProbMax();
- void decay(EvtParticle *p);
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
- std::string getParamName(int i);
- std::string getParamDefault(int i);
};
#endif
diff --git a/EvtGenModels/EvtSVP.hh b/EvtGenModels/EvtSVP.hh
index dfbe447..f90252e 100644
--- a/EvtGenModels/EvtSVP.hh
+++ b/EvtGenModels/EvtSVP.hh
@@ -1,57 +1,54 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSVP.hh
//
// Description: Routine to implement radiative decay
// chi_c0 -> psi gamma
// chi_c0 -> psi ell ell
//
// Modification history:
// AVL Jul 6, 2012: chi_c0 -> gamma psi mode created
// AVL Oct 10, 2017: chi_c0 -> psi mu mu mode created
// AVL Nov 9 2017: models joined
//
//------------------------------------------------------------------------
#ifndef EvtSVP_HH
#define EvtSVP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include <string>
class EvtParticle;
class EvtDecayBase;
class EvtSVP: public EvtDecayAmp {
public:
- EvtSVP() {}
- virtual ~EvtSVP();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void decay(EvtParticle *p) override;
+ void init() override;
- void decay(EvtParticle *p);
- void init();
-
- virtual void initProbMax();
+ void initProbMax() override;
private:
void decay_2body(EvtParticle *p);
void decay_3body(EvtParticle *p);
double delta; // form factor parameter
};
#endif
diff --git a/EvtGenModels/EvtSVPCP.hh b/EvtGenModels/EvtSVPCP.hh
index 202f987..a5c6a13 100644
--- a/EvtGenModels/EvtSVPCP.hh
+++ b/EvtGenModels/EvtSVPCP.hh
@@ -1,56 +1,54 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtSVPCP.cc
//
// Description: Routine to decay scalar -> vectors+photon
// including CP violation effects
//
// Modification history:
//
// Maurizio pierini Nov 11, 2003 Module created
//
//------------------------------------------------------------------------
-//
+//
#ifndef EVTSVPCP_HH
#define EVTSVPCP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
//Class to handle decays of the form SCALAR ->VECTOR PHOTON
//where the helicity amplitudes must be specified. The
//first and third arguements are the magnetudes of the H+
//and H- helicity amplitudes respectively. The second and
//fourth arguements are the phases.
//Calls EvtSVPHel.
class EvtSVPCP:public EvtDecayAmp {
public:
- EvtSVPCP() {}
- virtual ~EvtSVPCP();
-
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void init();
- void initProbMax();
- void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
static void SVPHel(EvtParticle *parent,EvtAmp& amp,EvtId n_v1,EvtId n_v2,
const EvtComplex& hp,const EvtComplex& hm);
- std::string getParamName(int i);
- std::string getParamDefault(int i);
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
+
};
#endif
diff --git a/EvtGenModels/EvtSVPHelAmp.hh b/EvtGenModels/EvtSVPHelAmp.hh
index 24efe1d..76ba8a4 100644
--- a/EvtGenModels/EvtSVPHelAmp.hh
+++ b/EvtGenModels/EvtSVPHelAmp.hh
@@ -1,60 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSVPHelAmp.hh
//
// Description: Routine to decay scalar -> vector + photon
// by specifying the helicity amplitudes
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
// Clara Remon (Clara.Remon@ific.uv.es) September 24, 2015 Function SVPHel created
//
//------------------------------------------------------------------------
#ifndef EVTSVPHELAMP_HH
#define EVTSVPHELAMP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
//Class to handle decays of the form SCALAR -> VECTOR PHOTON
//where the helicity amplitudes must be specified. The
//first and third arguments are the magnitudes of the H+
//and H- helicity amplitudes respectively. The second and
//fourth arguements are the phases.
//Calls EvtSVPHel.
class EvtParticle;
class EvtAmp;
class EvtId;
class EvtSVPHelAmp:public EvtDecayAmp {
public:
- EvtSVPHelAmp() {}
- virtual ~EvtSVPHelAmp();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
- void decay(EvtParticle *p);
-
static void SVPHel(EvtParticle *parent, EvtAmp& amp, EvtId n_v1, EvtId n_ph,
const EvtComplex& hp, const EvtComplex& hm);
-
+
};
#endif
diff --git a/EvtGenModels/EvtSVPHelCPMix.hh b/EvtGenModels/EvtSVPHelCPMix.hh
index 9643da0..74feee4 100644
--- a/EvtGenModels/EvtSVPHelCPMix.hh
+++ b/EvtGenModels/EvtSVPHelCPMix.hh
@@ -1,50 +1,47 @@
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1999 Caltech, UCSB
//
// Module: EvtSVPHelCPMix.hh
//
// Description: The decay of a scalar Bs meson to a vector particle and a photon is
// performed with CP violation and different widths for
// the heavy and light states (DeltaGamma_s =! 0). E.g. Bs->phi gamma.
//
// Modification history:
//
// Clara Remon (Clara.Remon@ific.uv.es) September 24, 2015 Module EvtSVPHelCPMix created
//
//--------------------------------------------------------------------------
//
#ifndef EVTSVPHELCPMIX_HH
#define EVTSVPHELCPMIX_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSVPHelCPMix : public EvtDecayAmp {
public:
- EvtSVPHelCPMix() {}
- virtual ~EvtSVPHelCPMix();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void initProbMax() override;
+ void init() override;
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
- void decay(EvtParticle *p);
-
};
#endif
diff --git a/EvtGenModels/EvtSVS.hh b/EvtGenModels/EvtSVS.hh
index ea39369..f076a9f 100644
--- a/EvtGenModels/EvtSVS.hh
+++ b/EvtGenModels/EvtSVS.hh
@@ -1,47 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSVS.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSVS_HH
#define EVTSVS_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
//Class to handle decays of the form SCALAR->VECTOR SCALAR
//Calls EvtScalarToVectorScalar.
class EvtSVS:public EvtDecayAmp {
public:
- EvtSVS() {}
- virtual ~EvtSVS();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void decay(EvtParticle *p) override;
+ void init() override;
- void decay(EvtParticle *p);
- void init();
-
- void initProbMax();
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtSVSCP.hh b/EvtGenModels/EvtSVSCP.hh
index f7d35bd..2540617 100644
--- a/EvtGenModels/EvtSVSCP.hh
+++ b/EvtGenModels/EvtSVSCP.hh
@@ -1,46 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSVSCP.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSVSCP_HH
#define EVTSVSCP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSVSCP:public EvtDecayAmp {
public:
- EvtSVSCP() {}
- virtual ~EvtSVSCP();
-
- std::string getName();
- EvtDecayBase* clone();
-
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
-
- std::string getParamName(int i);
- std::string getParamDefault(int i);
+ std::string getName() override;
+ EvtDecayBase* clone() override;
+
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
+
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
+
};
#endif
diff --git a/EvtGenModels/EvtSVSCPLH.hh b/EvtGenModels/EvtSVSCPLH.hh
index 2c7ace9..6531ab6 100644
--- a/EvtGenModels/EvtSVSCPLH.hh
+++ b/EvtGenModels/EvtSVSCPLH.hh
@@ -1,62 +1,59 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1999 Caltech, UCSB
//
// Module: EvtGen/EvtSVSCPLH.hh
//
// Description:
//
// Modification history:
//
// Ryd March 29, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSVSCPLH_HH
#define EVTSVSCPLH_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtComplex.hh"
class EvtParticle;
class EvtSVSCPLH:public EvtDecayAmp {
public:
- EvtSVSCPLH() {}
- virtual ~EvtSVSCPLH();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void initProbMax() override;
+ void init() override;
- void initProbMax();
- void init();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
EvtComplex _Af,_Abarf;
EvtComplex _qop,_poq;
-
+
double _dm;
double _dgamma;
-
+
};
#endif
diff --git a/EvtGenModels/EvtSVSCPiso.hh b/EvtGenModels/EvtSVSCPiso.hh
index 1807567..b3fa702 100644
--- a/EvtGenModels/EvtSVSCPiso.hh
+++ b/EvtGenModels/EvtSVSCPiso.hh
@@ -1,45 +1,42 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSVSCPiso.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSVSCPISO_HH
#define EVTSVSCPISO_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSVSCPiso:public EvtDecayAmp {
public:
- EvtSVSCPiso() {}
- virtual ~EvtSVSCPiso();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtSVSNONCPEIGEN.hh b/EvtGenModels/EvtSVSNONCPEIGEN.hh
index 9430f44..0499df5 100644
--- a/EvtGenModels/EvtSVSNONCPEIGEN.hh
+++ b/EvtGenModels/EvtSVSNONCPEIGEN.hh
@@ -1,56 +1,53 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSVSNONCPEIGEN.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSVSNONCPEIGEN_HH
#define EVTSVSNONCPEIGEN_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSVSNONCPEIGEN:public EvtDecayAmp {
public:
- EvtSVSNONCPEIGEN() {}
- virtual ~EvtSVSNONCPEIGEN();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void initProbMax() override;
+ void init() override;
- void initProbMax();
- void init();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
EvtComplex _A_f;
EvtComplex _Abar_f;
-
+
EvtComplex _A_fbar;
EvtComplex _Abar_fbar;
double _dm;
double _phickm;
};
#endif
diff --git a/EvtGenModels/EvtSVVCP.hh b/EvtGenModels/EvtSVVCP.hh
index a07db95..22f55b3 100644
--- a/EvtGenModels/EvtSVVCP.hh
+++ b/EvtGenModels/EvtSVVCP.hh
@@ -1,47 +1,45 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSVVCP.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSVVCP_HH
#define EVTSVVCP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSVVCP:public EvtDecayAmp {
public:
- EvtSVVCP() {}
- virtual ~EvtSVVCP();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void initProbMax() override;
+ void init() override;
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
+
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
- void decay(EvtParticle *p);
-
- std::string getParamName(int i);
- std::string getParamDefault(int i);
};
#endif
diff --git a/EvtGenModels/EvtSVVCPLH.hh b/EvtGenModels/EvtSVVCPLH.hh
index 2525657..793627d 100644
--- a/EvtGenModels/EvtSVVCPLH.hh
+++ b/EvtGenModels/EvtSVVCPLH.hh
@@ -1,45 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1999 Caltech, UCSB
//
// Module: EvtGen/EvtSVVCPLH.hh
//
// Description:
//
// Modification history:
//
// RYD November 5, 1999 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSVVCPLH_HH
#define EVTSVVCPLH_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSVVCPLH:public EvtDecayAmp {
public:
EvtSVVCPLH() {}
- virtual ~EvtSVVCPLH();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void initProbMax();
- void init();
+ void initProbMax() override;
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtSVVHelAmp.hh b/EvtGenModels/EvtSVVHelAmp.hh
index 6af7241..79797d8 100644
--- a/EvtGenModels/EvtSVVHelAmp.hh
+++ b/EvtGenModels/EvtSVVHelAmp.hh
@@ -1,58 +1,55 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSVVHelAmp.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSVVHELAMP_HH
#define EVTSVVHELAMP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
//Class to handle decays of the form SCALAR -> VECTOR VECTOR
//according the the helicity amplitudes specified by the
//user. There are 6 arguements, orders as amplitude then
//phase for H+, H0, and H-, in that order.
class EvtAmp;
class EvtParticle;
class EvtId;
class EvtSVVHelAmp:public EvtDecayAmp {
public:
- EvtSVVHelAmp() {}
- virtual ~EvtSVVHelAmp();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
+ void initProbMax() override;
- void init();
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
static void SVVHel(EvtParticle *parent,EvtAmp& amp,EvtId n_v1,EvtId n_v2,
const EvtComplex& hp, const EvtComplex& h0,
const EvtComplex& hm);
- std::string getParamName(int i);
- std::string getParamDefault(int i);
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
};
#endif
diff --git a/EvtGenModels/EvtSVVHelCPMix.hh b/EvtGenModels/EvtSVVHelCPMix.hh
index 2a1fd5d..402e1f4 100644
--- a/EvtGenModels/EvtSVVHelCPMix.hh
+++ b/EvtGenModels/EvtSVVHelCPMix.hh
@@ -1,67 +1,64 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSVVHelCPMix.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module (SVV_HELAMP) created
// CATMORE March 2004 Amendments made t
//------------------------------------------------------------------------
#ifndef EVTSVVHELCPMIX_HH
#define EVTSVVHELCPMIX_HH
#include "EvtGenBase/EvtDecayAmp.hh"
//Class to handle decays of the form SCALAR -> VECTOR VECTOR
//according the the helicity amplitudes specified by the
//user. There are 6 arguements, orders as amplitude then
//phase for H+, H0, and H-, in that order.
class EvtAmp;
class EvtParticle;
class EvtId;
class EvtSVVHelCPMix:public EvtDecayAmp {
public:
- EvtSVVHelCPMix() {}
- virtual ~EvtSVVHelCPMix();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void init();
+ void init() override;
EvtComplex hp;
EvtComplex h0;
EvtComplex hm;
double averageM;
double deltaM;
double gamma;
double deltagamma;
EvtComplex strongphase1;
EvtComplex strongphase2;
EvtComplex weakmixingphase;
EvtComplex weakdirectphase;
- void initProbMax();
-
- void decay(EvtParticle *p);
+ void initProbMax() override;
- std::string getParamName(int i);
- std::string getParamDefault(int i);
+ void decay(EvtParticle *p) override;
+
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
};
#endif
diff --git a/EvtGenModels/EvtSVVNONCPEIGEN.hh b/EvtGenModels/EvtSVVNONCPEIGEN.hh
index 793d180..35b2f0b 100644
--- a/EvtGenModels/EvtSVVNONCPEIGEN.hh
+++ b/EvtGenModels/EvtSVVNONCPEIGEN.hh
@@ -1,51 +1,48 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2001 Royal Holloway, University of London
//
// Module: EvtGen/EvtSVVNONCPEIGEN.hh
//
// Description: See EvtSVVNONCPEIGEN.cc
//
// Modification history:
//
// Ajit Kurup 9 March 2001 Module created (from EvtSVSNONCPEIGEN.hh)
//
//------------------------------------------------------------------------
#ifndef EVTSVVNONCPEIGEN_HH
#define EVTSVVNONCPEIGEN_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtSVVNONCPEIGEN:public EvtDecayAmp {
public:
- EvtSVVNONCPEIGEN() {}
- virtual ~EvtSVVNONCPEIGEN();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void initProbMax() override;
+ void init() override;
- void initProbMax();
- void init();
+ void decay(EvtParticle *p) override;
- void decay(EvtParticle *p);
-
- std::string getParamName(int i);
- std::string getParamDefault(int i);
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
private:
EvtComplex _A_f[12];
};
#endif
diff --git a/EvtGenModels/EvtSingleParticle.hh b/EvtGenModels/EvtSingleParticle.hh
index 4fa7bc1..59bf8f7 100644
--- a/EvtGenModels/EvtSingleParticle.hh
+++ b/EvtGenModels/EvtSingleParticle.hh
@@ -1,53 +1,50 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSingleParticle.hh
//
// Description:
//This is a special decay model to generate single particles.
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSINGLEPARTICLE_HH
#define EVTSINGLEPARTICLE_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class EvtSingleParticle:public EvtDecayIncoherent {
public:
- EvtSingleParticle() {}
- virtual ~EvtSingleParticle();
+ std::string getName() override;
- std::string getName();
-
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
- void init();
+ void init() override;
private:
double pmin,pmax;
double cthetamin,cthetamax;
double phimin,phimax;
};
#endif
diff --git a/EvtGenModels/EvtSll.hh b/EvtGenModels/EvtSll.hh
index 3598c79..9604314 100644
--- a/EvtGenModels/EvtSll.hh
+++ b/EvtGenModels/EvtSll.hh
@@ -1,46 +1,43 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtSll.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTSLL_HH
#define EVTSLL_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
//Class to handle decays of the form SCALAR -> DIRAC DIRAC.
class EvtSll:public EvtDecayAmp {
public:
- EvtSll() {}
- virtual ~EvtSll();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void init() override;
- void init();
-
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtTSS.hh b/EvtGenModels/EvtTSS.hh
index 5c1a9ba..dad47fe 100644
--- a/EvtGenModels/EvtTSS.hh
+++ b/EvtGenModels/EvtTSS.hh
@@ -1,47 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTSS.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTTSS_HH
#define EVTTSS_HH
#include "EvtGenBase/EvtDecayAmp.hh"
//Class to handle decays of the form TENSOR -> SCALAR SCALAR.
//Calls EvtTensorToScalarScalar
class EvtParticle;
class EvtTSS:public EvtDecayAmp {
public:
- EvtTSS() {}
- virtual ~EvtTSS();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void init();
- void decay(EvtParticle *p);
- void initProbMax();
+ void init() override;
+ void decay(EvtParticle *p) override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtTVP.hh b/EvtGenModels/EvtTVP.hh
index 24d4e88..0415d1b 100644
--- a/EvtGenModels/EvtTVP.hh
+++ b/EvtGenModels/EvtTVP.hh
@@ -1,58 +1,55 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTVP.hh
//
// Description: Routine to implement radiative decay
// chi_c2 -> psi gamma
// chi_c2 -> psi ell ell
//
//
// Modification history:
// AVL Jul 6, 2012: chi_c2 -> gamma psi mode created
// AVL Oct 10, 2017: chi_c2 -> psi mu mu mode created
// AVL Nov 9 2017: models joined
//
//------------------------------------------------------------------------
//
#ifndef EvtTVP_HH
#define EvtTVP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include <string>
class EvtDecayBase;
class EvtParticle;
class EvtTVP: public EvtDecayAmp {
public:
- EvtTVP() {}
- virtual ~EvtTVP();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void decay(EvtParticle *p) override;
+ void init() override;
- void decay(EvtParticle *p);
- void init();
-
- virtual void initProbMax();
+ void initProbMax() override;
private:
void decay_2body(EvtParticle *p);
void decay_3body(EvtParticle *p);
double delta; // form factor parameter
};
#endif
diff --git a/EvtGenModels/EvtTVSPwave.hh b/EvtGenModels/EvtTVSPwave.hh
index 1be570a..6528483 100644
--- a/EvtGenModels/EvtTVSPwave.hh
+++ b/EvtGenModels/EvtTVSPwave.hh
@@ -1,51 +1,49 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTVSPwave.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTTVSPWAVE_HH
#define EVTTVSPWAVE_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
//Class to handles decays of the form TENSOR -> VECTOR SCALAR,
//which proceed via S,P, or D partial waves. There are
//six arguements, which are the magnetude and phase of
//each partial wave (S, P then D). Calls EvtTensorToVectorScalar
class EvtTVSPwave:public EvtDecayAmp {
public:
- EvtTVSPwave() {}
- virtual ~EvtTVSPwave();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
- std::string getParamName(int i);
- std::string getParamDefault(int i);
};
#endif
diff --git a/EvtGenModels/EvtTauHadnu.hh b/EvtGenModels/EvtTauHadnu.hh
index ee246eb..a092153 100644
--- a/EvtGenModels/EvtTauHadnu.hh
+++ b/EvtGenModels/EvtTauHadnu.hh
@@ -1,57 +1,56 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTauHadnu.hh
//
// Description:
//
// Modification history:
//
// Lange Oct 26, 2002 Created
//
//------------------------------------------------------------------------
#ifndef EVTTAUHADNUKS_HH
#define EVTTAUHADNUKS_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtTauHadnu : public EvtDecayAmp {
public:
-
+
EvtTauHadnu() {}
- virtual ~EvtTauHadnu();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
private:
double _beta;
double _mRho;
double _gammaRho;
double _mRhopr;
double _gammaRhopr;
double _mA1;
double _gammaA1;
double gFunc(double m2,int dupD);
EvtComplex Fpi( double s, double xm1, double xm2 );
EvtComplex BW( double s, double m, double gamma, double xm1, double xm2 );
-
+
};
#endif
diff --git a/EvtGenModels/EvtTauScalarnu.hh b/EvtGenModels/EvtTauScalarnu.hh
index 977214f..b12a939 100644
--- a/EvtGenModels/EvtTauScalarnu.hh
+++ b/EvtGenModels/EvtTauScalarnu.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTauScalarnu.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTTAUSCALARNU_HH
#define EVTTAUSCALARNU_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtTauScalarnu:public EvtDecayAmp {
public:
-
- EvtTauScalarnu() {}
- virtual ~EvtTauScalarnu();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtTauVectornu.hh b/EvtGenModels/EvtTauVectornu.hh
index f4a4a28..bb7ec05 100644
--- a/EvtGenModels/EvtTauVectornu.hh
+++ b/EvtGenModels/EvtTauVectornu.hh
@@ -1,44 +1,43 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTauVectornu.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTTAUVECTORNU_HH
#define EVTTAUVECTORNU_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtTauVectornu:public EvtDecayAmp {
public:
EvtTauVectornu() {}
- virtual ~EvtTauVectornu();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtTaulnunu.hh b/EvtGenModels/EvtTaulnunu.hh
index 733da66..627daec 100644
--- a/EvtGenModels/EvtTaulnunu.hh
+++ b/EvtGenModels/EvtTaulnunu.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtTaulnunu.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTTAULNUNU_HH
#define EVTTAULNUNU_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtTaulnunu:public EvtDecayAmp {
public:
- EvtTaulnunu() {}
- virtual ~EvtTaulnunu();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtVPHOtoV.hh b/EvtGenModels/EvtVPHOtoV.hh
index 8458f6a..33cb6b0 100644
--- a/EvtGenModels/EvtVPHOtoV.hh
+++ b/EvtGenModels/EvtVPHOtoV.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2004 Cornell
//
// Module: EvtGen/EvtVPHOtoV.hh
//
// Description:
//
// Modification history:
//
// Ryd March 9, 2004 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVPHOTOV_HH
#define EVTVPHOTOV_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtVPHOtoV:public EvtDecayAmp {
public:
- EvtVPHOtoV() {}
- virtual ~EvtVPHOtoV();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtVPHOtoVISR.hh b/EvtGenModels/EvtVPHOtoVISR.hh
index 42f3148..5d4bf89 100644
--- a/EvtGenModels/EvtVPHOtoVISR.hh
+++ b/EvtGenModels/EvtVPHOtoVISR.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2004 Cornell
//
// Module: EvtGen/EvtVPHOtoVISR.hh
//
// Description:
//
// Modification history:
//
// Ryd March 20, 2004 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVPHOTOVISR_HH
#define EVTVPHOTOVISR_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtVPHOtoVISR:public EvtDecayAmp {
public:
- EvtVPHOtoVISR() {}
- virtual ~EvtVPHOtoVISR();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtVPHOtoVISRHi.hh b/EvtGenModels/EvtVPHOtoVISRHi.hh
index 5d2d67d..ce6e2e6 100644
--- a/EvtGenModels/EvtVPHOtoVISRHi.hh
+++ b/EvtGenModels/EvtVPHOtoVISRHi.hh
@@ -1,45 +1,42 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2004 Cornell
//
// Module: EvtGen/EvtVPHOtoVISRHi.hh
//
// Description:
//
// Modification history:
//
// Ryd March 20, 2004 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVPHOTOVISRHI_HH
#define EVTVPHOTOVISRHI_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include <string>
class EvtParticle;
class EvtVPHOtoVISRHi:public EvtDecayAmp {
public:
- EvtVPHOtoVISRHi() {}
- virtual ~EvtVPHOtoVISRHi();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtVSPPwave.hh b/EvtGenModels/EvtVSPPwave.hh
index 9166992..122e636 100644
--- a/EvtGenModels/EvtVSPPwave.hh
+++ b/EvtGenModels/EvtVSPPwave.hh
@@ -1,46 +1,43 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVSPPwave.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVSPPWAVE_HH
#define EVTVSPPWAVE_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtVSPPwave:public EvtDecayAmp {
public:
- EvtVSPPwave() {}
- virtual ~EvtVSPPwave();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtVSS.hh b/EvtGenModels/EvtVSS.hh
index a3ce024..cdc14ab 100644
--- a/EvtGenModels/EvtVSS.hh
+++ b/EvtGenModels/EvtVSS.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVSS.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVSS_HH
#define EVTVSS_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtVSS:public EvtDecayAmp {
public:
- EvtVSS() {}
- virtual ~EvtVSS();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtVSSBMixCPT.hh b/EvtGenModels/EvtVSSBMixCPT.hh
index 575d2de..0a43a5f 100644
--- a/EvtGenModels/EvtVSSBMixCPT.hh
+++ b/EvtGenModels/EvtVSSBMixCPT.hh
@@ -1,63 +1,62 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2002 INFN-Pisa
//
// Module: EvtGen/EvtVSSBMixCPT.hh
//
// Description:
// Routine to decay vector-> scalar scalar with coherent BB-like mixing
// including CPT effects
// Based on VSSBMIX
//
// Modification history:
//
-// F. Sandrelli, Fernando M-V March 03, 2002
+// F. Sandrelli, Fernando M-V March 03, 2002
//
//------------------------------------------------------------------------
#ifndef EVTVSSBMIXCPT_HH
#define EVTVSSBMIXCPT_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtComplex.hh"
class EvtVSSBMixCPT : public EvtDecayAmp {
public:
- EvtVSSBMixCPT() {}
- virtual ~EvtVSSBMixCPT();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ int nRealDaughters() override {return 2;}
+
+ std::string getParamName(int i) override;
+ std::string getParamDefault(int i) override;
- int nRealDaughters() {return 2;}
private:
double _freq; // mixing frequency in hbar/mm
double _dGamma;
EvtComplex _qoverp;
EvtComplex _poverq;
- EvtComplex _z;
+ EvtComplex _z;
double _chib0_b0bar;
double _chib0bar_b0;
EvtComplex _A_f;
EvtComplex _Abar_f;
-
+
EvtComplex _A_fbar;
EvtComplex _Abar_fbar;
- std::string getParamName(int i);
- std::string getParamDefault(int i);
};
#endif
diff --git a/EvtGenModels/EvtVSSMix.hh b/EvtGenModels/EvtVSSMix.hh
index 79ec3b6..21b9d65 100644
--- a/EvtGenModels/EvtVSSMix.hh
+++ b/EvtGenModels/EvtVSSMix.hh
@@ -1,45 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVSSMix.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVSSMIX_HH
#define EVTVSSMIX_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtVSSMix:public EvtDecayAmp {
public:
EvtVSSMix() {}
- virtual ~EvtVSSMix();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
- std::string getParamName(int i);
+ std::string getParamName(int i) override;
};
#endif
diff --git a/EvtGenModels/EvtVVP.hh b/EvtGenModels/EvtVVP.hh
index ee56e29..115d61d 100644
--- a/EvtGenModels/EvtVVP.hh
+++ b/EvtGenModels/EvtVVP.hh
@@ -1,57 +1,56 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVVP.hh
//
// Description: Routine to implement radiative decay
// chi_c1 -> psi gamma
// chi_c1 -> psi ell ell
//
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
// AVL Oct 10, 2017: chi_c0 -> psi mu mu mode created
// AVL Nov 9 2017: models joined
//
//------------------------------------------------------------------------
#ifndef EVTVVP_HH
#define EVTVVP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include <string>
class EvtParticle;
class EvtDecayBase;
class EvtVVP: public EvtDecayAmp {
public:
EvtVVP() {}
- virtual ~EvtVVP();
-
- std::string getName();
- EvtDecayBase* clone();
-
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+
+ std::string getName() override;
+ EvtDecayBase* clone() override;
+
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
private:
void decay_2body(EvtParticle *p);
void decay_3body(EvtParticle *p);
double delta; // form factor parameter
};
#endif
diff --git a/EvtGenModels/EvtVVPIPI_WEIGHTED.hh b/EvtGenModels/EvtVVPIPI_WEIGHTED.hh
index e94d789..f8a9ee5 100644
--- a/EvtGenModels/EvtVVPIPI_WEIGHTED.hh
+++ b/EvtGenModels/EvtVVPIPI_WEIGHTED.hh
@@ -1,46 +1,43 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVVpipi.hh
//
// Description: For decays of a vector to a vector and 2 pions,
// the decay is assumed to be dominated by S-wave.
//
// Modification history:
//
// Jim Hunt June 4, 2008 Module Created
//
//------------------------------------------------------------------------
#ifndef EVTVVPIPI_WEIGHTED_HH
#define EVTVVPIPI_WEIGHTED_HH
#include "EvtGenBase/EvtDecayAmp.hh"
#include <string>
class EvtParticle;
class EvtVVPIPI_WEIGHTED:public EvtDecayAmp {
public:
- EvtVVPIPI_WEIGHTED() {}
- virtual ~EvtVVPIPI_WEIGHTED();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtVVSPwave.hh b/EvtGenModels/EvtVVSPwave.hh
index af2d056..4fc0e77 100644
--- a/EvtGenModels/EvtVVSPwave.hh
+++ b/EvtGenModels/EvtVVSPwave.hh
@@ -1,44 +1,43 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVVSPwave.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVVSPWAVE_HH
#define EVTVVSPWAVE_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtVVSPwave:public EvtDecayAmp {
public:
EvtVVSPwave() {}
- virtual ~EvtVVSPwave();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtVVpipi.hh b/EvtGenModels/EvtVVpipi.hh
index 2560647..8de2525 100644
--- a/EvtGenModels/EvtVVpipi.hh
+++ b/EvtGenModels/EvtVVpipi.hh
@@ -1,46 +1,43 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVVpipi.hh
//
// Description: For decays of a vector to a vector and 2 pions,
// the decay is assumed to be dominated by S-wave.
//
// Modification history:
//
// RYD/CAHN December 10, 1999 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVVPIPI_HH
#define EVTVVPIPI_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtVVpipi:public EvtDecayAmp {
public:
- EvtVVpipi() {}
- virtual ~EvtVVpipi();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtVectorIsr.hh b/EvtGenModels/EvtVectorIsr.hh
index 023d440..b21b3af 100644
--- a/EvtGenModels/EvtVectorIsr.hh
+++ b/EvtGenModels/EvtVectorIsr.hh
@@ -1,75 +1,71 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVectorIsr2.hh
//
-// Description:
+// Description:
// This is a special decay model to generate e+e- -> phi gamma + soft gammas
// using soft collinear ISR calculation from AfkQed
// This is implemented as a decay of the VPHO.
//
// Modification history:
//
// Joe Izen Oct, 2005 Soft Colinear Photons (secondary ISR) ported from AfkQed
-// Joe Izen Dec 16, 2002 Fix cos_theta distribution - prevents boom at cos_theta=+/-1
+// Joe Izen Dec 16, 2002 Fix cos_theta distribution - prevents boom at cos_theta=+/-1
// RYD/Adriano June 16, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVECTORISR_HH
#define EVTVECTORISR_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class EvtVectorIsr:public EvtDecayIncoherent {
public:
- EvtVectorIsr() {}
- virtual ~EvtVectorIsr();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
+ void decay(EvtParticle *p) override;
- EvtDecayBase* clone();
+ void init() override;
- void decay(EvtParticle *p);
-
- void init();
-
- void initProbMax();
+ void initProbMax() override;
double ckhrad1(double xx, double a, double b);
-
+
void ckhrad(const double& e_beam,const double& q2_min,double& e01,double& e02,double& f);
private:
double csfrmn,csbkmn;
double fmax;
bool firstorder;
};
#endif
diff --git a/EvtGenModels/EvtVll.hh b/EvtGenModels/EvtVll.hh
index 6e40d40..fd91539 100644
--- a/EvtGenModels/EvtVll.hh
+++ b/EvtGenModels/EvtVll.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVll.hh
//
// Description:
//
// Modification history:
//
// DJL/RYD August 11, 1998 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVLL_HH
#define EVTVLL_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtVll:public EvtDecayAmp {
public:
- EvtVll() {}
- virtual ~EvtVll();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtVtoSll.hh b/EvtGenModels/EvtVtoSll.hh
index 869fc3a..0d72db7 100644
--- a/EvtGenModels/EvtVtoSll.hh
+++ b/EvtGenModels/EvtVtoSll.hh
@@ -1,44 +1,41 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVtoSll.hh
//
// Description:
//
// Modification history:
//
// RYD Feb. 28, 2009 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVTOSLL_HH
#define EVTVTOSLL_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtVtoSll:public EvtDecayAmp {
public:
- EvtVtoSll() {}
- virtual ~EvtVtoSll();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void initProbMax();
- void init();
- void decay(EvtParticle *p);
+ void initProbMax() override;
+ void init() override;
+ void decay(EvtParticle *p) override;
};
#endif
diff --git a/EvtGenModels/EvtVub.hh b/EvtGenModels/EvtVub.hh
index a5c1e5f..7216082 100644
--- a/EvtGenModels/EvtVub.hh
+++ b/EvtGenModels/EvtVub.hh
@@ -1,67 +1,65 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVub.hh
//
// Description:
// Class to generate inclusive B to X_u l nu decays according to various
// decay models. Implemtented are ACCM, parton-model and a QCD model.
//
// Modification history:
//
// Sven Menke January 17, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVUB_HH
#define EVTVUB_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
+#include "EvtGenModels/EvtVubdGamma.hh"
#include <vector>
+#include <memory>
class EvtParticle;
-class EvtVubdGamma;
class EvtVub:public EvtDecayIncoherent {
public:
-
- EvtVub() : _masses(0) , _weights(0) , _dGamma(0) {}
- virtual ~EvtVub();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
private:
double _mb; // the b-quark pole mass in GeV (try 4.65 to 4.9)
double _a; // Parameter for the Fermi Motion (1.29 is good)
double _alphas; // Strong Coupling at m_b (around 0.24)
double _dGMax; // max dGamma*p2 value;
int _nbins;
int _storeQplus;
- double * _masses;
- double * _weights;
+ std::vector<double> _masses;
+ std::vector<double> _weights;
- EvtVubdGamma *_dGamma; // calculates the decay rate
+ std::unique_ptr<EvtVubdGamma> _dGamma; // calculates the decay rate
double findPFermi();
std::vector<double> _pf;
};
#endif
diff --git a/EvtGenModels/EvtVubAC.hh b/EvtGenModels/EvtVubAC.hh
index b8abbd4..4c71e89 100644
--- a/EvtGenModels/EvtVubAC.hh
+++ b/EvtGenModels/EvtVubAC.hh
@@ -1,72 +1,69 @@
//////////////////////////////////////////////////////////////////////
//
// Module: EvtVubAC.hh
//
//////////////////////////////////////////////////////////////////
#ifndef EVTVUBAC_HH
#define EVTVUBAC_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
#include <vector>
class EvtParticle;
class EvtVubAC:public EvtDecayIncoherent {
public:
-
- EvtVubAC() {}
- virtual ~EvtVubAC();
- std::string getName();
- EvtDecayBase* clone();
+ std::string getName() override;
- void initProbMax();
+ EvtDecayBase* clone() override;
- void init();
+ void initProbMax() override;
- void decay(EvtParticle *Bmeson);
+ void init() override;
+
+ void decay(EvtParticle *Bmeson) override;
private:
// Input parameters
double mB;
- double lambda2;
-
+
double alphaSmZ;
double alphaSmB;
double c;
double q;
double k;
-
+
double CF;
double CA;
double beta0;
-
+
std::vector<double> gvars;
double rate(double u, double w, double xb);
double wreg(double w);
double alphaS(double Q);
double PolyLog(double v, double z);
double ureg(double u);
double ularge(double u);
double Coeff(double u, double w, double xb);
double Coeff1(double w, double xb);
double Coeff0(double w, double xb);
double Sigma(double x1, double x2);
double max(double ub, double lb);
double d1(double u, double w, double xb);
double d(double u, double w, double xb);
double f(double w);
double Lambda2(double x, double alphaSmZ);
int Bisect(double x1, double x2,double precision,double& root,const double alphaSmZ);
double FindRoot(const double alphaSmZ);
};
#endif
diff --git a/EvtGenModels/EvtVubBLNP.hh b/EvtGenModels/EvtVubBLNP.hh
index adf01ee..8099642 100644
--- a/EvtGenModels/EvtVubBLNP.hh
+++ b/EvtGenModels/EvtVubBLNP.hh
@@ -1,142 +1,139 @@
//////////////////////////////////////////////////////////////////////
//
// Module: EvtVubBLNP.hh
//
// Description: Modeled on Riccardo Faccini's EvtVubNLO module
// author: sheila date: October 2005
//
// tripleDiff from BLNP's notebook, based on hep-ph/0504071
//
//////////////////////////////////////////////////////////////////
#ifndef EVTVUBBLNP_HH
#define EVTVUBBLNP_HH
#include <vector>
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class EvtVubBLNP:public EvtDecayIncoherent {
public:
-
- EvtVubBLNP() {}
- virtual ~EvtVubBLNP();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *Bmeson);
+ void decay(EvtParticle *Bmeson) override;
private:
// Input parameters
double mBB;
double lambda2;
// Shape function parameters
double b;
double Lambda;
double Ecut;
double wzero;
// SF and SSF modes
int itype;
double dtype;
int isubl;
// flags
int flag1;
int flag2;
int flag3;
// Quark mass
double mb;
// Matching scales
double muh;
double mui;
double mubar;
// Perturbative quantities
double CF;
double CA;
double beta0;
double beta1;
double beta2;
double zeta3;
double Gamma0;
double Gamma1;
double Gamma2;
double gp0;
double gp1;
double Lbar;
double mupisq;
double moment2;
int flagpower;
int flag2loop;
int maxLoop;
double precision;
std::vector<double> gvars;
-
+
double rate3(double Pp, double Pl, double Pm);
double F1(double Pp, double Pm, double muh, double mui, double mubar, double doneJS, double done1);
double F2(double Pp, double Pm, double muh, double mui, double mubar, double done3);
double F3(double Pp, double Pm, double muh, double mui, double mubar, double done2);
double DoneJS(double Pp, double Pm, double mui);
double Done1(double Pp, double Pm, double mui);
double Done2(double Pp, double Pm, double mui);
double Done3(double Pp, double Pm, double mui);
static double IntJS(double what, const std::vector<double> &vars);
static double Int1(double what, const std::vector<double> &vars);
static double Int2(double what, const std::vector<double> &vars);
static double Int3(double what, const std::vector<double> &vars);
static double g1(double w, const std::vector<double> &vars);
static double g2(double w, const std::vector<double> &vars);
static double g3(double w, const std::vector<double> &vars);
static double Shat(double w, const std::vector<double> &vars);
static double Mzero(double muf, double mu, double mupisq, const std::vector<double> &vars);
double wS(double w);
double t(double w);
double u(double w);
double v(double w);
double myfunction(double w, double Lbar, double mom2);
double myfunctionBIK(double w, double Lbar, double mom2);
double dU1nlo(double muh, double mui);
double U1lo(double muh, double mui);
double Sfun(double mu1, double mu2, double epsilon);
double S0(double a1, double r);
double S1(double a1, double r);
double S2(double a1, double r);
double aGamma(double mu1, double mu2, double epsilon);
double agp(double mu1, double mu2, double epsilon);
double alo(double muh, double mui);
double anlo(double muh, double mui); // d/depsilon of aGamma
static double alphas(double mu, const std::vector<double> &vars);
double PolyLog(double v, double z);
static double Gamma(double z);
static double Gamma(double a, double x);
static double gamser(double a, double x, double LogGamma);
static double gammcf(double a, double x, double LogGamma);
double findBLNPWhat();
std::vector<double> _pf;
};
#endif
diff --git a/EvtGenModels/EvtVubBLNPHybrid.hh b/EvtGenModels/EvtVubBLNPHybrid.hh
index e710d31..d278b47 100644
--- a/EvtGenModels/EvtVubBLNPHybrid.hh
+++ b/EvtGenModels/EvtVubBLNPHybrid.hh
@@ -1,171 +1,165 @@
//////////////////////////////////////////////////////////////////////
//
// Module: EvtVubBLNPHybrid.hh
//
//
// tripleDiff from BLNPHybrid's notebook, based on hep-ph/0504071
-//
+//
// Description:
// Class to generate inclusive B to X_u l nu decays.
// This class is based on EvtVubBLNP by Sheila Mclachlin with an update to
// generate the inclusive decays in such a way that the right
// mix of inclusive and exclusive decays is obtained.
-//
+//
//NOTE:
// - A set of weights (for bins in the kinematic variables mX, q2, El)
// is read from DECAY.DEC. This set of weights must be consistent
// with the other parameters specified (excl. BF, non-res BF, mb, a).
// - If no binning/weights are specified in DECAY.DEC the hybrid
// reweighting is not activated
//
//
//////////////////////////////////////////////////////////////////
#ifndef EVTVUBBLNPHYBRID_HH
#define EVTVUBBLNPHYBRID_HH
#include <vector>
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class EvtVubBLNPHybrid:public EvtDecayIncoherent {
public:
-
- EvtVubBLNPHybrid();
- virtual ~EvtVubBLNPHybrid();
-
- std::string getName();
-
- EvtDecayBase* clone();
- void initProbMax();
+ std::string getName() override;
+
+ EvtDecayBase* clone() override;
+
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *Bmeson);
+ void decay(EvtParticle *Bmeson) override;
void readWeights(int startArg=0);
-
+
double getWeight(double mX, double q2, double El);
private:
//Input for hybrid modell
enum { nParameters = 10, nVariables = 3 };
- bool _noHybrid;
- bool _storeWhat;
- int _nbins_mX;
- int _nbins_q2;
- int _nbins_El;
- int _nbins;
- double _masscut;
- double * _bins_mX;
- double * _bins_q2;
- double * _bins_El;
- double * _weights;
-
+ bool _noHybrid = false;
+ bool _storeWhat = true;
+ int _nbins = 0;
+ double _masscut = 0.28;
+ std::vector<double> _bins_mX;
+ std::vector<double> _bins_q2;
+ std::vector<double> _bins_El;
+ std::vector<double> _weights;
+
// Input parameters
double mBB;
double lambda2;
// Shape function parameters
double b;
double Lambda;
double Ecut;
double wzero;
// SF and SSF modes
int itype;
double dtype;
int isubl;
// flags
int flag1;
int flag2;
int flag3;
// Quark mass
double mb;
// Matching scales
double muh;
double mui;
double mubar;
// Perturbative quantities
double CF;
double CA;
double beta0;
double beta1;
double beta2;
double zeta3;
double Gamma0;
double Gamma1;
double Gamma2;
double gp0;
double gp1;
double Lbar;
double mupisq;
double moment2;
int flagpower;
int flag2loop;
int maxLoop;
double precision;
std::vector<double> gvars;
-
+
double rate3(double Pp, double Pl, double Pm);
double F1(double Pp, double Pm, double muh, double mui, double mubar, double doneJS, double done1);
double F2(double Pp, double Pm, double muh, double mui, double mubar, double done3);
double F3(double Pp, double Pm, double muh, double mui, double mubar, double done2);
double DoneJS(double Pp, double Pm, double mui);
double Done1(double Pp, double Pm, double mui);
double Done2(double Pp, double Pm, double mui);
double Done3(double Pp, double Pm, double mui);
static double IntJS(double what, const std::vector<double> &vars);
static double Int1(double what, const std::vector<double> &vars);
static double Int2(double what, const std::vector<double> &vars);
static double Int3(double what, const std::vector<double> &vars);
static double g1(double w, const std::vector<double> &vars);
static double g2(double w, const std::vector<double> &vars);
static double g3(double w, const std::vector<double> &vars);
static double Shat(double w, const std::vector<double> &vars);
static double Mzero(double muf, double mu, double mupisq, const std::vector<double> &vars);
double wS(double w);
double t(double w);
double u(double w);
double v(double w);
double myfunction(double w, double Lbar, double mom2);
double myfunctionBIK(double w, double Lbar, double mom2);
double dU1nlo(double muh, double mui);
double U1lo(double muh, double mui);
double Sfun(double mu1, double mu2, double epsilon);
double S0(double a1, double r);
double S1(double a1, double r);
double S2(double a1, double r);
double aGamma(double mu1, double mu2, double epsilon);
double agp(double mu1, double mu2, double epsilon);
double alo(double muh, double mui);
double anlo(double muh, double mui); // d/depsilon of aGamma
static double alphas(double mu, const std::vector<double> &vars);
double PolyLog(double v, double z);
static double Gamma(double z);
static double Gamma(double a, double x);
static double gamser(double a, double x, double LogGamma);
static double gammcf(double a, double x, double LogGamma);
double findBLNPWhat();
std::vector<double> _pf;
};
#endif
diff --git a/EvtGenModels/EvtVubHybrid.hh b/EvtGenModels/EvtVubHybrid.hh
index 0810f13..60bd680 100644
--- a/EvtGenModels/EvtVubHybrid.hh
+++ b/EvtGenModels/EvtVubHybrid.hh
@@ -1,91 +1,86 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
-//
+//
// Module: EvtGen/EvtVubHybrid.hh
//
// Description:
// Class to generate inclusive B to X_u l nu decays.
// This class is based on EvtVub by Sven Menke with an update to
// generate the inclusive decays in such a way that the right
// mix of inclusive and exclusive decays is obtained:
// "Hybrid Model" by Dominique Fortin.
// NOTE:
// - A set of weights (for bins in the kinematic variables mX, q2, El)
// is read from DECAY.DEC. This set of weights must be consistent
// with the other parameters specified (excl. BF, non-res BF, mb, a).
// - If no binning/weights are specified in DECAY.DEC the hybrid
// reweighting is not activated
//
// Modification history:
//
// Jochen Dingfelder February 1, 2005 Created Module as update of
// the module EvtVub including
// hybrid model.
//------------------------------------------------------------------------
#ifndef EVTVUBHYBRID_HH
#define EVTVUBHYBRID_HH
#include "EvtGenBase/EvtDecayIncoherent.hh"
+#include "EvtGenModels/EvtVubdGamma.hh"
#include <vector>
+#include <memory>
class EvtParticle;
-class EvtVubdGamma;
class RandGeneral;
class EvtVubHybrid:public EvtDecayIncoherent {
public:
-
- EvtVubHybrid();
- virtual ~EvtVubHybrid();
- std::string getName();
+ std::string getName() override;
- EvtDecayBase* clone();
+ EvtDecayBase* clone() override;
- void initProbMax();
+ void initProbMax() override;
- void init();
+ void init() override;
- void decay(EvtParticle *p);
+ void decay(EvtParticle *p) override;
void readWeights(int startArg=0);
double getWeight(double mX, double q2, double El);
private:
double findPFermi();
enum { nParameters = 3, nVariables = 3 };
-
- bool _noHybrid;
- bool _storeQplus;
-
- double _mb; // the b-quark pole mass in GeV (try 4.65 to 4.9)
- double _a; // Parameter for the Fermi Motion (1.29 is good)
- double _alphas; // Strong Coupling at m_b (around 0.24)
- double _dGMax; // max dGamma*p2 value;
- int _nbins_mX;
- int _nbins_q2;
- int _nbins_El;
- int _nbins;
- double _masscut;
- double * _bins_mX;
- double * _bins_q2;
- double * _bins_El;
- double * _weights;
- EvtVubdGamma *_dGamma; // calculates the decay rate
+
+ bool _noHybrid = false; // _noHybrid will be set TRUE if the DECAY.DEC file has no binning or weights
+ bool _storeQplus = true; // _storeQplus should alwasy be TRUE: writes out Fermi motion parameter
+
+ double _mb = 4.62; // the b-quark pole mass in GeV (try 4.65 to 4.9)
+ double _a = 2.27; // Parameter for the Fermi Motion (1.29 is good)
+ double _alphas = 0.22; // Strong Coupling at m_b (around 0.24)
+ double _dGMax = 3.; // max dGamma*p2 value;
+ int _nbins = 0;
+ double _masscut = 0.28;
+ std::vector<double> _bins_mX;
+ std::vector<double> _bins_q2;
+ std::vector<double> _bins_El;
+ std::vector<double> _weights;
+ std::unique_ptr<EvtVubdGamma> _dGamma; // calculates the decay rate
std::vector<double> _pf;
};
#endif
diff --git a/EvtGenModels/EvtVubNLO.hh b/EvtGenModels/EvtVubNLO.hh
index 2b5cb3e..16c3d13 100644
--- a/EvtGenModels/EvtVubNLO.hh
+++ b/EvtGenModels/EvtVubNLO.hh
@@ -1,164 +1,162 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVubNLO.hh
//
// Description:
// Class to generate inclusive B to X_u l nu decays according to various
// decay models. Implemtented are ACCM, parton-model and a QCD model.
//
// Modification history:
//
// Sven Menke January 17, 2001 Module created
//
//------------------------------------------------------------------------
#ifndef EVTVUBNLO_HH
#define EVTVUBNLO_HH
#include <vector>
#include "EvtGenBase/EvtDecayIncoherent.hh"
class EvtParticle;
class RandGeneral;
class EvtVubNLO:public EvtDecayIncoherent {
public:
-
- EvtVubNLO() {}
- virtual ~EvtVubNLO();
- std::string getName();
+ EvtVubNLO() = default;
+ ~EvtVubNLO();
- EvtDecayBase* clone();
+ std::string getName() override;
- void initProbMax();
+ EvtDecayBase* clone() override;
- void init();
+ void initProbMax() override;
- void decay(EvtParticle *p);
+ void init() override;
+ void decay(EvtParticle *p) override;
private:
// cache
double _lbar;
double _mupi2;
- double _mb; // the b-quark pole mass in GeV
+ double _mb; // the b-quark pole mass in GeV
double _mB;
double _lambdaSF;
- double _b; // Parameter for the Fermi Motion
- double _kpar;
+ double _b; // Parameter for the Fermi Motion
+ double _kpar;
double _mui; // renormalization scale (preferred value=1.5 GeV)
- double _SFNorm; // SF normalization
+ double _SFNorm; // SF normalization
double _dGMax; // max dGamma*p2 value;
- int _nbins;
int _idSF;// which shape function?
- double * _masses;
- double * _weights;
+ std::vector<double> _masses;
+ std::vector<double> _weights;
double _gmax;
int _ngood,_ntot;
double tripleDiff(double pp, double pl, double pm);
double SFNorm(const std::vector<double> &coeffs);
static double integrand(double omega, const std::vector<double> &coeffs);
double F10(const std::vector<double> &coeffs);
static double F1Int(double omega,const std::vector<double> &coeffs);
double F20(const std::vector<double> &coeffs);
static double F2Int(double omega,const std::vector<double> &coeffs);
double F30(const std::vector<double> &coeffs);
static double F3Int(double omega,const std::vector<double> &coeffs);
static double g1(double y, double z);
static double g2(double y, double z);
static double g3(double y, double z);
static double Gamma(double z);// Euler Gamma Function
static double dgamma(double t, const std::vector<double> &c){ return pow(t,c[0]-1)*exp(-t);}
static double Gamma(double z, double tmax);
// theory parameters
inline double mu_i(){return _mui;} // intermediate scale
- inline double mu_bar(){return _mui;}
+ inline double mu_bar(){return _mui;}
inline double mu_h(){return _mb/sqrt(2.0);} // high scale
inline double lambda1(){return -_mupi2;}
-
+
// expansion coefficients for RGE
static double beta0(int nf=4){return 11.-2./3.*nf;}
static double beta1(int nf=4){return 34.*3.-38./3.*nf;}
static double beta2(int nf=4){return 1428.5-5033./18.*nf+325./54.*nf*nf;}
static double gamma0(){return 16./3.;}
static double gamma1(int nf=4){return 4./3.*(49.85498-40./9.*nf);}
static double gamma2(int nf=4){return 64./3.*(55.07242-8.58691*nf-nf*nf/27.);} /* zeta3=1.20206 */
static double gammap0(){return -20./3.;}
static double gammap1(int nf=4){return -32./3.*(6.92653-0.9899*nf);} /* ?? zeta3=1.202 */
// running constants
- static double alphas(double mu) ;
+ static double alphas(double mu) ;
static double C_F(double mu){return (4.0/3.0)*alphas(mu)/4./EvtConst::pi;}
// Shape Functions
inline double lambda_SF(){ return _lambdaSF;}
double lambda_bar(double omega0);
inline double lambda2(){return 0.12;}
double mu_pi2(double omega0);
inline double lambda(double){ return _mB-_mb;}
// specail for gaussian SF
static double cGaus(double b){return pow(Gamma(1+b/2.)/Gamma((1+b)/2.),2);}
double M0(double mui,double omega0);
static double shapeFunction(double omega, const std::vector<double> &coeffs);
static double expShapeFunction(double omega, const std::vector<double> &coeffs);
static double gausShapeFunction(double omega, const std::vector<double> &coeffs);
// SSF (not yet implemented)
double subS(const std::vector<double> &coeffs );
double subT(const std::vector<double> &coeffs);
double subU(const std::vector<double> &coeffs);
double subV(const std::vector<double> &coeffs);
// Sudakov
inline double S0(double a, double r){return -gamma0()/4/a/pow(beta0(),2)*(1/r-1+log(r));}
inline double S1(double /*a*/, double r){return gamma0()/4./pow(beta0(),2)*(
pow(log(r),2)*beta1()/2./beta0()+(gamma1()/gamma0()-beta1()/beta0())*(1.-r+log(r))
);}
inline double S2(double a, double r){return gamma0()*a/4./pow(beta0(),2)*(
-0.5*pow((1-r),2)*(
pow(beta1()/beta0(),2)-beta2()/beta0()-beta1()/beta0()*gamma1()/gamma0()+gamma2()/gamma0()
)
+(pow(beta1()/beta0(),2)-beta2()/beta0())*(1-r)*log(r)
+(beta1()/beta0()*gamma1()/gamma0()-beta2()/beta0())*(1-r+r*log(r))
);}
inline double dSudakovdepsi(double mu1, double mu2){return S2(alphas(mu1)/(4*EvtConst::pi),alphas(mu2)/alphas(mu1));}
inline double Sudakov(double mu1, double mu2, double epsi=0){double fp(4*EvtConst::pi);return S0(alphas(mu1)/fp,alphas(mu2)/alphas(mu1))+S1(alphas(mu1)/fp,alphas(mu2)/alphas(mu1))+epsi*dSudakovdepsi(mu1,mu2);}
- // RG
+ // RG
inline double dGdepsi(double mu1, double mu2){return 1./8./EvtConst::pi*(alphas(mu2)-alphas(mu1))*(gamma1()/beta0()-beta1()*gamma0()/pow(beta0(),2));}
inline double aGamma(double mu1, double mu2, double epsi=0){return gamma0()/2/beta0()*log(alphas(mu2)/alphas(mu1))+epsi*dGdepsi( mu1, mu2);}
inline double dgpdepsi(double mu1, double mu2){return 1./8./EvtConst::pi*(alphas(mu2)-alphas(mu1))*(gammap1()/beta0()-beta1()*gammap0()/pow(beta0(),2));}
inline double agammap(double mu1, double mu2, double epsi=0){return gammap0()/2/beta0()*log(alphas(mu2)/alphas(mu1))+epsi*dgpdepsi( mu1, mu2);}
inline double U1(double mu1, double mu2, double epsi=0){return exp(2*(Sudakov(mu1,mu2,epsi)-agammap(mu1,mu2,epsi)-aGamma(mu1,mu2,epsi)*log(_mb/mu1)));}
inline double U1lo(double mu1, double mu2){return U1(mu1,mu2);}
inline double U1nlo(double mu1, double mu2){return U1(mu1,mu2)*(1+2*(dSudakovdepsi(mu1,mu2)-dgpdepsi( mu1, mu2)-log(_mb/mu1)*dGdepsi( mu1, mu2)));}
inline double alo(double mu1, double mu2){return -2*aGamma(mu1,mu2);}
inline double anlo(double mu1, double mu2){return -2*dGdepsi(mu1,mu2);}
};
#endif
diff --git a/EvtGenModels/EvtVubdGamma.hh b/EvtGenModels/EvtVubdGamma.hh
index 17b859a..6dbfc16 100644
--- a/EvtGenModels/EvtVubdGamma.hh
+++ b/EvtGenModels/EvtVubdGamma.hh
@@ -1,95 +1,91 @@
//-----------------------------------------------------------------------
// File and Version Information:
//
// Copyright Information: See EvtGen/COPYRIGHT
//
//
// Description:
// 3 2 2
// d Gamma / _ _ _2 mb _2 mb
-// ---------- = 12 Gamma | (1+x-z)(z-x-p ) -- W + (1-z+p ) -- W
+// ---------- = 12 Gamma | (1+x-z)(z-x-p ) -- W + (1-z+p ) -- W
// _ 2 0 \ 2 1 2 2
// dx dz dp 2
// _ _ _2 mb 2 \.
// + [x(z-x)-p ] -- (W + 2mb W + mb W ) |
// 4 3 4 5 /
//
-// with
+// with
// 2 E 2
// l _2 p 2 v.p _
// x = ------ , p = --- , z = ------ , x = 1-x
// mb 2 mb
-// mb
+// mb
//
// the triple differential decay rate according to
// hep-ph/9905351 v2
-//
+//
// Environment:
// Software developed for the BaBar Detector at the SLAC B-Factory.
//
// Author List:
// Sven Menke
//
//-----------------------------------------------------------------------
#ifndef EVTVUBDGAMMA_HH
#define EVTVUBDGAMMA_HH
-class EvtVubdGamma {
+class EvtVubdGamma final {
public:
-
+
// Constructors
EvtVubdGamma(const double &alphas);
- // Destructor
-
- virtual ~EvtVubdGamma( );
-
// Operators
- // Selectors
+ // Selectors
// Modifiers
// Methods
double getdGdxdzdp(const double &x, const double &z, const double &p2);
protected:
-
+
// Helper functions
double delta(const double &x, const double &xmin, const double &xmax);
double getW1nodelta(const double &x, const double &z, const double &p2);
double getW2nodelta(const double &x, const double &z, const double &p2);
double getW3nodelta(const double &x, const double &z, const double &p2);
double getW4nodelta(const double &x, const double &z, const double &p2);
double getW5nodelta(const double &x, const double &z, const double &p2);
double getW1delta(const double &x, const double &z);
-
+
double getW4plus5delta(const double &x, const double &z);
-
+
private:
// Friends
-
+
// Data members
double _alphas;
double _epsilon1;
double _epsilon2;
double _epsilon3;
};
#endif // EVTVUBDGAMMA_HH
diff --git a/EvtGenModels/EvtXPsiGamma.hh b/EvtGenModels/EvtXPsiGamma.hh
index 5acef6b..6fb17d7 100755
--- a/EvtGenModels/EvtXPsiGamma.hh
+++ b/EvtGenModels/EvtXPsiGamma.hh
@@ -1,57 +1,54 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtXPsiGamma.hh
//
// Description:Implementation of the X3872(2-+) -> J/psi gamma decay
//
// Modification history:
//
// 7 May 2012: Module created
//
//------------------------------------------------------------------------
#ifndef EVTXPSIGAMMA_HH
#define EVTXPSIGAMMA_HH
#include <fstream>
#include <stdio.h>
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
-class EvtXPsiGamma: public EvtDecayAmp {
+class EvtXPsiGamma:public EvtDecayAmp {
public:
- EvtXPsiGamma() {}
- virtual ~EvtXPsiGamma();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
+ void decay(EvtParticle *p) override;
+ void init() override;
- void decay(EvtParticle *p);
- void init();
-
- virtual void initProbMax();
+ void initProbMax() override;
private:
// int whichfit;
- EvtComplex fT2(EvtVector4R p, EvtVector4R q , EvtTensor4C epsPI, EvtVector4C epsEps, EvtVector4C epsEta);
+ EvtComplex fT2(EvtVector4R p, EvtVector4R q , EvtTensor4C epsPI, EvtVector4C epsEps, EvtVector4C epsEta);
EvtComplex fT3(EvtVector4R p, EvtVector4R q , EvtTensor4C epsPI, EvtVector4C epsEps, EvtVector4C epsEta);
EvtId _ID0;
int ncall;
};
#endif
diff --git a/EvtGenModels/EvtY3SToY1SpipiMoxhay.hh b/EvtGenModels/EvtY3SToY1SpipiMoxhay.hh
index 15c4017..dc1fbcc 100644
--- a/EvtGenModels/EvtY3SToY1SpipiMoxhay.hh
+++ b/EvtGenModels/EvtY3SToY1SpipiMoxhay.hh
@@ -1,63 +1,60 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVVpipiMoxhay.hh
//
// Description: This model is based on the proposal by Tuan and Lipkin
// (Phys.Lett.B206:349-353,1988) and the subsequent model
// by Moxhay (Phys.Rev.D39:3497,1989) for the dipion spectrum
// in Y(3S) -> pi+ pi- Y(1S). Please Note: in Moxhay's paper,
// he wrote the fitted value of the parameter Im(B)/A as
// -0.2983. However, using his quoted value leads to the wrong
// spectrum. Changing the sign of his quoted Im(B)/A fixes the
// shape and reproduces his result. Therefore, please pass
// Im(B)/A = 0.2983 and Re(B)/A = 0.2196 to get the correct shape
// based on his fit to the CLEO data.
//
// Example:
//
// Decay Upsilon(3S)
// 1.0000 Upsilon pi+ pi- Y3STOY1SPIPIMOXHAY 0.2196 0.2983;
// Enddecay
//
// --> the order of parameters is: Re(B)/A Im(B)/A
//
//
// Modification history:
//
// SEKULA November 02, 2007 Module created
//
//------------------------------------------------------------------------
#ifndef EVTY3STOY1SPIPIMOXHAY_HH
#define EVTY3STOY1SPIPIMOXHAY_HH
#include "EvtGenBase/EvtDecayProb.hh"
class EvtParticle;
class EvtY3SToY1SpipiMoxhay:public EvtDecayProb {
public:
- EvtY3SToY1SpipiMoxhay() {}
- virtual ~EvtY3SToY1SpipiMoxhay();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtYmSToYnSpipiCLEO.hh b/EvtGenModels/EvtYmSToYnSpipiCLEO.hh
index 36392e2..0ba4ebc 100644
--- a/EvtGenModels/EvtYmSToYnSpipiCLEO.hh
+++ b/EvtGenModels/EvtYmSToYnSpipiCLEO.hh
@@ -1,67 +1,64 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtYmSToYnSpipiCLEO.hh
//
// Description: This model is based on matrix element method used by
// CLEO in Phys.Rev.D76:072001,2007 to model the dipion mass
// and helicity angle distribution in the decays Y(mS) -> pi pi Y(nS),
// where m,n are integers and m>n and m<4.
// This model has two parameters, Re(B/A) and Im(B/A), which
// are coefficients of the matrix element's terms determined by
// the CLEO fits.
//
// Example:
//
// Decay Upsilon(3S)
// 1.0000 Upsilon pi+ pi- YMSTOYNSPIPICLEO -2.523 1.189;
// Enddecay
// Decay Upsilon(3S)
// 1.0000 Upsilon(2S) pi+ pi- YMSTOYNSPIPICLEO -0.395 0.001;
// Enddecay
// Decay Upsilon(2S)
// 1.0000 Upsilon pi+ pi- YMSTOYNSPIPICLEO -0.753 0.000;
// Enddecay
//
// --> the order of parameters is: Re(B/A) Im(B/A)
//
// Modification history:
//
// SEKULA Jan. 28, 2008 Module created
//
//------------------------------------------------------------------------
#ifndef EVTYMSTOYNSPIPICLEO_HH
#define EVTYMSTOYNSPIPICLEO_HH
// #include "EvtGenBase/EvtDecayProb.hh"
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtYmSToYnSpipiCLEO:public EvtDecayAmp {
//EvtDecayProb {
public:
- EvtYmSToYnSpipiCLEO() {}
- virtual ~EvtYmSToYnSpipiCLEO();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
};
#endif
diff --git a/EvtGenModels/EvtbTosllAli.hh b/EvtGenModels/EvtbTosllAli.hh
index 7712349..6bc4a77 100644
--- a/EvtGenModels/EvtbTosllAli.hh
+++ b/EvtGenModels/EvtbTosllAli.hh
@@ -1,52 +1,51 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: EvtGen/EvtbTosllAli.hh
//
// Description:Implementation of the b->sll decays according to Ali '01 et al.
//
// Modification history:
//
// Ryd March 30, 2003 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLALI_HH
#define EVTBTOSLLALI_HH
#include "EvtGenBase/EvtDecayAmp.hh"
+#include <memory>
class EvtbTosllFF;
-class EvtbTosllAmp;
+#include "EvtGenModels/EvtbTosllAmp.hh"
+#include "EvtGenModels/EvtbTosllFF.hh"
class EvtParticle;
class EvtbTosllAli:public EvtDecayAmp {
public:
- EvtbTosllAli(): _aliffmodel(0), _calcamp(0) {}
- virtual ~EvtbTosllAli();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
private:
- EvtbTosllFF *_aliffmodel;
- EvtbTosllAmp *_calcamp;
+ std::unique_ptr<EvtbTosllFF> _aliffmodel;
+ std::unique_ptr<EvtbTosllAmp> _calcamp;
double _poleSize;
};
#endif
diff --git a/EvtGenModels/EvtbTosllAliFF.hh b/EvtGenModels/EvtbTosllAliFF.hh
index e3710a2..e84c531 100644
--- a/EvtGenModels/EvtbTosllAliFF.hh
+++ b/EvtGenModels/EvtbTosllAliFF.hh
@@ -1,48 +1,44 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
-// Module:
+// Module:
// Description: Form factors for b->sll according to Ali '02 et al.
// PRD 66 34002
//
// Modification history:
//
// Ryd March 30, 2003 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLALIFF_HH
#define EVTBTOSLLALIFF_HH
#include "EvtGenModels/EvtbTosllFF.hh"
class EvtId;
class EvtbTosllAliFF : public EvtbTosllFF {
public:
EvtbTosllAliFF();
- void getScalarFF(EvtId parent, EvtId daught,double t, double mass,
- double& fp,double& f0,double& ft);
- void getVectorFF(EvtId parent, EvtId daught,double t, double mass,
+ void getScalarFF(EvtId parent, EvtId daught,double t, double mass,
+ double& fp,double& f0,double& ft) override;
+ void getVectorFF(EvtId parent, EvtId daught,double t, double mass,
double& a1,double& a2,double& a0, double& v,
- double& t1, double& t2, double& t3 );
-
-
-
-private:
+ double& t1, double& t2, double& t3 ) override;
};
#endif
diff --git a/EvtGenModels/EvtbTosllBall.hh b/EvtGenModels/EvtbTosllBall.hh
index 7bd5386..261c338 100644
--- a/EvtGenModels/EvtbTosllBall.hh
+++ b/EvtGenModels/EvtbTosllBall.hh
@@ -1,52 +1,50 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtGen/EvtbTosllBall.hh
//
// Description:Implementation of the b->sll decays according to Ball et al.
//
// Modification history:
//
// Ryd January 5, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLBALL_HH
#define EVTBTOSLLBALL_HH
#include "EvtGenBase/EvtDecayAmp.hh"
+#include <memory>
class EvtbTosllFF;
class EvtbTosllAmp;
class EvtParticle;
class EvtbTosllBall:public EvtDecayAmp {
public:
- EvtbTosllBall() : _calcamp(0), _ballffmodel(0) {}
- virtual ~EvtbTosllBall();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- std::string getName();
- EvtDecayBase* clone();
-
- void decay(EvtParticle *p);
- void init();
- void initProbMax();
+ void decay(EvtParticle *p) override;
+ void init() override;
+ void initProbMax() override;
private:
- EvtbTosllAmp *_calcamp;
- EvtbTosllFF *_ballffmodel;
+ std::unique_ptr<EvtbTosllAmp> _calcamp;
+ std::unique_ptr<EvtbTosllFF> _ballffmodel;
double _poleSize;
};
#endif
diff --git a/EvtGenModels/EvtbTosllBallFF.hh b/EvtGenModels/EvtbTosllBallFF.hh
index 811af38..74a2587 100644
--- a/EvtGenModels/EvtbTosllBallFF.hh
+++ b/EvtGenModels/EvtbTosllBallFF.hh
@@ -1,48 +1,48 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
-// Module:
+// Module:
// Description: Form factors for b->sll according to Ali, Ball et al.
// hep-ph/9910221v2
//
// Modification history:
//
// Ryd January 5, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLBALLFF_HH
#define EVTBTOSLLBALLFF_HH
#include "EvtGenModels/EvtbTosllFF.hh"
class EvtId;
class EvtbTosllBallFF : public EvtbTosllFF {
public:
EvtbTosllBallFF(int);
- void getScalarFF(EvtId parent, EvtId daught,double t, double mass,
- double& fp,double& f0,double& ft);
- void getVectorFF(EvtId parent, EvtId daught,double t, double mass,
+ void getScalarFF(EvtId parent, EvtId daught,double t, double mass,
+ double& fp,double& f0,double& ft) override;
+ void getVectorFF(EvtId parent, EvtId daught,double t, double mass,
double& a1,double& a2,double& a0, double& v,
- double& t1, double& t2, double& t3 );
+ double& t1, double& t2, double& t3 ) override;
private:
int _theFFModel;
};
#endif
diff --git a/EvtGenModels/EvtbTosllFF.hh b/EvtGenModels/EvtbTosllFF.hh
index a8a1a2a..d3af4d3 100644
--- a/EvtGenModels/EvtbTosllFF.hh
+++ b/EvtGenModels/EvtbTosllFF.hh
@@ -1,43 +1,43 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech
//
-// Module:
+// Module:
// This is the base class for form factors in b->sll transitions.
//
// Description:
//
// Modification history:
//
// RYD January 5, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLFF_HH
#define EVTBTOSLLFF_HH
class EvtId;
class EvtbTosllFF{
public:
- virtual ~EvtbTosllFF( ) { } ;
+ virtual ~EvtbTosllFF( ) = default;
- virtual void getScalarFF(EvtId /*parent*/, EvtId /*daught*/,double /*t*/,
+ virtual void getScalarFF(EvtId /*parent*/, EvtId /*daught*/,double /*t*/,
double /*mass*/, double& /*fp*/,double& /*f0*/,
double& /*ft*/) {return;}
- virtual void getVectorFF(EvtId /*parent*/, EvtId /*daught*/,double /*t*/,
+ virtual void getVectorFF(EvtId /*parent*/, EvtId /*daught*/,double /*t*/,
double /*mass*/, double& /*a1*/,double& /*a2*/,
- double& /*a0*/, double& /*v*/,double& /*t1*/,
+ double& /*a0*/, double& /*v*/,double& /*t1*/,
double& /*t2*/, double& /*t3*/ ) {return;}
};
#endif
diff --git a/EvtGenModels/EvtbTosllMS.hh b/EvtGenModels/EvtbTosllMS.hh
index 6ca8355..ce2df8e 100644
--- a/EvtGenModels/EvtbTosllMS.hh
+++ b/EvtGenModels/EvtbTosllMS.hh
@@ -1,56 +1,56 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: EvtGen/EvtbTosllMS.hh
//
// Description: Implementation of the B -> K* ell^+ ell^- decay according
// to the paper: D.Melikhov, B.Stech, PRD62, 014006 (2000).
//
-// This is the derived class of the base class "EvtDecayAmp",
-// but the decay amplitude will be calculated in the class
+// This is the derived class of the base class "EvtDecayAmp",
+// but the decay amplitude will be calculated in the class
// "EvtbTosllAmpNew" (see file EvtbTosllAmpNew.hh).
//
// Modification history:
//
// N.Nikitin (nnikit@mail.cern.ch) Avril 21, 2008 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLMS_HH
#define EVTBTOSLLMS_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtbTosllFFNew; // my class with ff for rare semileptonic B-decays
class EvtbTosllAmpNew; // my class with amplitudes for rare semileptonic B-decays
class EvtbTosllWilsCoeffNLO; // my class with Wilson coefficients in NLO
class EvtbTosllMS:public EvtDecayAmp{
public:
EvtbTosllMS() {} ;
virtual ~EvtbTosllMS();
- virtual std::string getName() ;
- virtual EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- virtual void init();
- virtual void initProbMax();
- virtual void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
private:
EvtbTosllFFNew *_msffmodel;
EvtbTosllAmpNew *_calcamp;
EvtbTosllWilsCoeffNLO *_wilscoeff;
};
#endif
diff --git a/EvtGenModels/EvtbTosllMSExt.hh b/EvtGenModels/EvtbTosllMSExt.hh
index fda4826..16f42f4 100755
--- a/EvtGenModels/EvtbTosllMSExt.hh
+++ b/EvtGenModels/EvtbTosllMSExt.hh
@@ -1,57 +1,57 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: EvtGen/EvtbTosllMSExt.hh
//
// Description: Implementation of the rare semileptonic B-decays according
// to the paper: D.Melikhov, B.Stech, PRD62, 014006 (2000)
// with the nonstandart models simuliakr..
//
-// This is the derived class of the base class "EvtDecayAmp",
-// but the decay amplitude will be calculated in the class
+// This is the derived class of the base class "EvtDecayAmp",
+// but the decay amplitude will be calculated in the class
// "EvtbTosllAmpNew" (see file EvtbTosllAmpNew.hh).
//
// Modification history:
//
// N.Nikitin (nnikit@mail.cern.ch) July 07, 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLMSEXT_HH
#define EVTBTOSLLMSEXT_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtbTosllFFNew; // my class with ff for rare semileptonic B-decays
class EvtbTosllAmpNewExt; // my class with amplitudes for rare semileptonic B-decays
class EvtbTosllWilsCoeffNLO; // my class with Wilson coefficients in NLO
class EvtbTosllMSExt:public EvtDecayAmp{
public:
EvtbTosllMSExt() {} ;
virtual ~EvtbTosllMSExt();
- virtual std::string getName() ;
- virtual EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- virtual void init();
- virtual void initProbMax();
- virtual void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
private:
EvtbTosllFFNew *_msffmodel;
EvtbTosllAmpNewExt *_calcamp;
EvtbTosllWilsCoeffNLO *_wilscoeff;
};
#endif
diff --git a/EvtGenModels/EvtbTosllMSFF.hh b/EvtGenModels/EvtbTosllMSFF.hh
index 9df334a..55411c7 100644
--- a/EvtGenModels/EvtbTosllMSFF.hh
+++ b/EvtGenModels/EvtbTosllMSFF.hh
@@ -1,51 +1,51 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtbTosllMSFF.hh
-// Description: Form factors for B^0_d -> K^* l^+ l^- transition according
+// Description: Form factors for B^0_d -> K^* l^+ l^- transition according
// to the paper: D.Melikhov, B.Stech, PRD62, 014006 (2000).
//
// Modification history:
//
// N.Nikitin March 13, 2008 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLMSFF_HH
#define EVTBTOSLLMSFF_HH
#include "EvtGenModels/EvtbTosllFFNew.hh"
class EvtId;
class EvtbTosllMSFF : public EvtbTosllFFNew{
public:
EvtbTosllMSFF();
-
- double equation9_10(double ff0, double M2, double q2,
+
+ double equation9_10(double ff0, double M2, double q2,
double sigma1, double sigma2, int eq_num);
- void getScalarFF(EvtId parent, EvtId daught,double t,
- double& fp,double& f0,double& ft);
+ void getScalarFF(EvtId parent, EvtId daught,double t,
+ double& fp,double& f0,double& ft) override;
- void getVectorFF(EvtId parent, EvtId daught,double t,
+ void getVectorFF(EvtId parent, EvtId daught,double t,
double& a1,double& a2,double& a0, double& v,
- double& t1, double& t2, double& t3 );
+ double& t1, double& t2, double& t3 ) override;
- double getQuarkMass(int i);
+ double getQuarkMass(int i) override;
private:
};
#endif
diff --git a/EvtGenModels/EvtbTosllScalarAmp.hh b/EvtGenModels/EvtbTosllScalarAmp.hh
index 807cb1b..b578b85 100644
--- a/EvtGenModels/EvtbTosllScalarAmp.hh
+++ b/EvtGenModels/EvtbTosllScalarAmp.hh
@@ -1,46 +1,46 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtbTosllScalarAmp.hh
//
// Description:
//
// Modification history:
//
// RYD January 5, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLSCALARAMP_HH
#define EVTBTOSLLSCALARAMP_HH
#include "EvtGenModels/EvtbTosllAmp.hh"
class EvtParticle;
class EvtAmp;
class bTosllFF;
class EvtbTosllScalarAmp : public EvtbTosllAmp {
public:
- EvtbTosllScalarAmp(double c7, double c9, double c10):_c7(c7),_c9(c9),_c10(c10){}
+ //EvtbTosllScalarAmp(double c7, double c9, double c10):_c7(c7),_c9(c9),_c10(c10){}
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent, EvtAmp& amp,
- EvtbTosllFF *formFactors );
+ EvtbTosllFF *formFactors ) override;
private:
- double _c7,_c9,_c10;
+ //double _c7,_c9,_c10;
};
#endif
diff --git a/EvtGenModels/EvtbTosllScalarAmpNew.hh b/EvtGenModels/EvtbTosllScalarAmpNew.hh
index 6d3cc58..43cb5ab 100644
--- a/EvtGenModels/EvtbTosllScalarAmpNew.hh
+++ b/EvtGenModels/EvtbTosllScalarAmpNew.hh
@@ -1,59 +1,59 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtbTosllScalarAmpNew.hh
//
// Description:
//
// Modification history:
//
// N.Nikitin May 06, 2008 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLSCALARAMPNEW_HH
#define EVTBTOSLLSCALARAMPNEW_HH
#include "EvtGenModels/EvtbTosllAmpNew.hh"
class EvtId;
class EvtAmp;
class EvtParticle;
class EvtbTosllFFNew;
class EvtbTosllWilsCoeffNLO;
class EvtbTosllScalarAmpNew : public EvtbTosllAmpNew{
public:
EvtbTosllScalarAmpNew(){}
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent, EvtAmp& amp,
EvtbTosllFFNew *formFactors,
- EvtbTosllWilsCoeffNLO *WilsCoeff,
- double mu, int Nf,
- int res_swch, int ias,
- double CKM_A, double CKM_lambda,
- double CKM_barrho, double CKM_bareta);
+ EvtbTosllWilsCoeffNLO *WilsCoeff,
+ double mu, int Nf,
+ int res_swch, int ias,
+ double CKM_A, double CKM_lambda,
+ double CKM_barrho, double CKM_bareta) override;
double CalcMaxProb(EvtId parnum, EvtId mesnum, EvtId l1num, EvtId l2num,
- EvtbTosllFFNew *formFactors, EvtbTosllWilsCoeffNLO *WilsCoeff,
- double mu, int Nf, int res_swch, int ias,
- double CKM_A, double CKM_lambda,
- double CKM_barrho, double CKM_bareta);
+ EvtbTosllFFNew *formFactors, EvtbTosllWilsCoeffNLO *WilsCoeff,
+ double mu, int Nf, int res_swch, int ias,
+ double CKM_A, double CKM_lambda,
+ double CKM_barrho, double CKM_bareta) override;
- double lambda(double a, double b, double c);
+ double lambda(double a, double b, double c) override;
};
#endif
diff --git a/EvtGenModels/EvtbTosllScalarAmpNewExt.hh b/EvtGenModels/EvtbTosllScalarAmpNewExt.hh
index d736869..fd26d60 100755
--- a/EvtGenModels/EvtbTosllScalarAmpNewExt.hh
+++ b/EvtGenModels/EvtbTosllScalarAmpNewExt.hh
@@ -1,61 +1,61 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtbTosllScalarAmpNew.hh
//
// Description:
//
// Modification history:
//
// N.Nikitin May 06, 2008 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLSCALARAMPNEWEXT_HH
#define EVTBTOSLLSCALARAMPNEWEXT_HH
#include "EvtGenModels/EvtbTosllAmpNewExt.hh"
class EvtId;
class EvtAmp;
class EvtParticle;
class EvtbTosllFFNew;
class EvtbTosllWilsCoeffNLO;
class EvtbTosllScalarAmpNewExt : public EvtbTosllAmpNewExt{
public:
EvtbTosllScalarAmpNewExt(){}
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent, EvtAmp& amp,
EvtbTosllFFNew *formFactors,
- EvtbTosllWilsCoeffNLO *WilsCoeff,
- double mu, int Nf,
- int res_swch, int ias,
- double CKM_A, double CKM_lambda,
- double CKM_barrho, double CKM_bareta,
- double ReA7, double ImA7, double ReA10, double ImA10);
+ EvtbTosllWilsCoeffNLO *WilsCoeff,
+ double mu, int Nf,
+ int res_swch, int ias,
+ double CKM_A, double CKM_lambda,
+ double CKM_barrho, double CKM_bareta,
+ double ReA7, double ImA7, double ReA10, double ImA10) override;
double CalcMaxProb(EvtId parnum, EvtId mesnum, EvtId l1num, EvtId l2num,
- EvtbTosllFFNew *formFactors, EvtbTosllWilsCoeffNLO *WilsCoeff,
- double mu, int Nf, int res_swch, int ias,
- double CKM_A, double CKM_lambda,
- double CKM_barrho, double CKM_bareta,
- double ReA7, double ImA7, double ReA10, double ImA10);
+ EvtbTosllFFNew *formFactors, EvtbTosllWilsCoeffNLO *WilsCoeff,
+ double mu, int Nf, int res_swch, int ias,
+ double CKM_A, double CKM_lambda,
+ double CKM_barrho, double CKM_bareta,
+ double ReA7, double ImA7, double ReA10, double ImA10) override;
- double lambda(double a, double b, double c);
+ double lambda(double a, double b, double c) override;
};
#endif
diff --git a/EvtGenModels/EvtbTosllVectorAmp.hh b/EvtGenModels/EvtbTosllVectorAmp.hh
index d77760d..1c27a23 100644
--- a/EvtGenModels/EvtbTosllVectorAmp.hh
+++ b/EvtGenModels/EvtbTosllVectorAmp.hh
@@ -1,48 +1,47 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtbTosllVectorAmp.hh
//
// Description:
//
// Modification history:
//
// RYD January 5, 2000 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLVECTORAMP_HH
#define EVTBTOSLLVECTORAMP_HH
#include "EvtGenModels/EvtbTosllAmp.hh"
class EvtAmp;
class EvtParticle;
class EvtbTosllFF;
class EvtbTosllVectorAmp : public EvtbTosllAmp {
public:
- EvtbTosllVectorAmp(double c7, double c9, double c10):_c7(c7),_c9(c9),_c10(c10){}
+ //EvtbTosllVectorAmp(double c7, double c9, double c10):_c7(c7),_c9(c9),_c10(c10){}
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent, EvtAmp& amp,
- EvtbTosllFF *formFactors );
+ EvtbTosllFF *formFactors ) override;
private:
- double _c7,_c9,_c10;
+ //double _c7,_c9,_c10;
};
#endif
-
diff --git a/EvtGenModels/EvtbTosllVectorAmpNew.hh b/EvtGenModels/EvtbTosllVectorAmpNew.hh
index d33ef14..e1cead4 100644
--- a/EvtGenModels/EvtbTosllVectorAmpNew.hh
+++ b/EvtGenModels/EvtbTosllVectorAmpNew.hh
@@ -1,59 +1,59 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtbTosllVectorAmpNew.hh
//
// Description:
//
// Modification history:
//
// N.Nikitin Avril 21, 2008 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLVECTORAMPNEW_HH
#define EVTBTOSLLVECTORAMPNEW_HH
#include "EvtGenModels/EvtbTosllAmpNew.hh"
class EvtId;
class EvtAmp;
class EvtParticle;
class EvtbTosllFFNew;
class EvtbTosllWilsCoeffNLO;
class EvtbTosllVectorAmpNew : public EvtbTosllAmpNew{
public:
EvtbTosllVectorAmpNew(){}
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent, EvtAmp& amp,
EvtbTosllFFNew *formFactors,
- EvtbTosllWilsCoeffNLO *WilsCoeff,
- double mu, int Nf,
- int res_swch, int ias,
- double CKM_A, double CKM_lambda,
- double CKM_barrho, double CKM_bareta);
+ EvtbTosllWilsCoeffNLO *WilsCoeff,
+ double mu, int Nf,
+ int res_swch, int ias,
+ double CKM_A, double CKM_lambda,
+ double CKM_barrho, double CKM_bareta) override;
double CalcMaxProb(EvtId parnum, EvtId mesnum, EvtId l1num, EvtId l2num,
- EvtbTosllFFNew *formFactors, EvtbTosllWilsCoeffNLO *WilsCoeff,
- double mu, int Nf, int res_swch, int ias,
- double CKM_A, double CKM_lambda,
- double CKM_barrho, double CKM_bareta);
+ EvtbTosllFFNew *formFactors, EvtbTosllWilsCoeffNLO *WilsCoeff,
+ double mu, int Nf, int res_swch, int ias,
+ double CKM_A, double CKM_lambda,
+ double CKM_barrho, double CKM_bareta) override;
- double lambda(double a, double b, double c);
+ double lambda(double a, double b, double c) override;
};
#endif
diff --git a/EvtGenModels/EvtbTosllVectorAmpNewExt.hh b/EvtGenModels/EvtbTosllVectorAmpNewExt.hh
index ed5e174..e752330 100755
--- a/EvtGenModels/EvtbTosllVectorAmpNewExt.hh
+++ b/EvtGenModels/EvtbTosllVectorAmpNewExt.hh
@@ -1,61 +1,61 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtbTosllVectorAmpNewExt.hh
//
// Description:
//
// Modification history:
//
// N.Nikitin July 07, 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBTOSLLVECTORAMPNEWEXT_HH
#define EVTBTOSLLVECTORAMPNEWEXT_HH
#include "EvtGenModels/EvtbTosllAmpNewExt.hh"
class EvtId;
class EvtAmp;
class EvtParticle;
class EvtbTosllFFNew;
class EvtbTosllWilsCoeffNLO;
class EvtbTosllVectorAmpNewExt : public EvtbTosllAmpNewExt{
public:
EvtbTosllVectorAmpNewExt(){}
//Daughters are initialized and have been added to the parent.
//No need to carry around the daughters seperately!
void CalcAmp( EvtParticle *parent, EvtAmp& amp,
EvtbTosllFFNew *formFactors,
- EvtbTosllWilsCoeffNLO *WilsCoeff,
- double mu, int Nf,
- int res_swch, int ias,
- double CKM_A, double CKM_lambda,
- double CKM_barrho, double CKM_bareta,
- double ReA7, double ImA7, double ReA10, double ImA10);
+ EvtbTosllWilsCoeffNLO *WilsCoeff,
+ double mu, int Nf,
+ int res_swch, int ias,
+ double CKM_A, double CKM_lambda,
+ double CKM_barrho, double CKM_bareta,
+ double ReA7, double ImA7, double ReA10, double ImA10) override;
double CalcMaxProb(EvtId parnum, EvtId mesnum, EvtId l1num, EvtId l2num,
- EvtbTosllFFNew *formFactors, EvtbTosllWilsCoeffNLO *WilsCoeff,
- double mu, int Nf, int res_swch, int ias,
- double CKM_A, double CKM_lambda,
- double CKM_barrho, double CKM_bareta,
- double ReA7, double ImA7, double ReA10, double ImA10);
+ EvtbTosllFFNew *formFactors, EvtbTosllWilsCoeffNLO *WilsCoeff,
+ double mu, int Nf, int res_swch, int ias,
+ double CKM_A, double CKM_lambda,
+ double CKM_barrho, double CKM_bareta,
+ double ReA7, double ImA7, double ReA10, double ImA10) override;
- double lambda(double a, double b, double c);
+ double lambda(double a, double b, double c) override;
};
#endif
diff --git a/EvtGenModels/Evtbs2llGammaFFMNT.hh b/EvtGenModels/Evtbs2llGammaFFMNT.hh
index 93413b9..46aaf59 100644
--- a/EvtGenModels/Evtbs2llGammaFFMNT.hh
+++ b/EvtGenModels/Evtbs2llGammaFFMNT.hh
@@ -1,52 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: Evtbs2llGammaFFMNT.hh
-// Description: Form factors for rare radiative leptonic B-decays
+// Description: Form factors for rare radiative leptonic B-decays
// according to the papers:
-// 1) F.Kruger, D.Melikhov, Phys. Rev. D67, 034002, 2003.
-// 2) D.Melikhov, N.Nikitin, Phys. Rev. D70, 114028, 2004.
-// 3) I.Balakireva, D.Melikhov, N.Nikitin, D.Tlisov,
+// 1) F.Kruger, D.Melikhov, Phys. Rev. D67, 034002, 2003.
+// 2) D.Melikhov, N.Nikitin, Phys. Rev. D70, 114028, 2004.
+// 3) I.Balakireva, D.Melikhov, N.Nikitin, D.Tlisov,
// e-Print: arXiv:0911.0605 [hep-ph].
//
// Modification history:
//
// A.Popov October 30, 2008 Module created
// N.Nikitin February 25, 2010 Module modifided
//
//------------------------------------------------------------------------
#ifndef EVTBS2LLGAMMAFFMNT_HH
#define EVTBS2LLGAMMAFFMNT_HH
#include "EvtGenModels/Evtbs2llGammaFF.hh"
class EvtId;
class EvtComplex;
class Evtbs2llGammaFFMNT : public Evtbs2llGammaFF{
public:
Evtbs2llGammaFFMNT();
void getPhotonFF(int decay_id, double fb, EvtId parent,
double q2, double M1, double mb, double mq,
- EvtComplex c7gam, EvtComplex a1,
- EvtComplex lambda_qu, EvtComplex lambda_qc,
- EvtComplex& Fv, EvtComplex& Fa, EvtComplex& Ftv, EvtComplex& Fta);
+ EvtComplex c7gam, EvtComplex a1,
+ EvtComplex lambda_qu, EvtComplex lambda_qc,
+ EvtComplex& Fv, EvtComplex& Fa, EvtComplex& Ftv, EvtComplex& Fta) override;
- double getQuarkMass(int i);
+ double getQuarkMass(int i) override;
};
#endif
diff --git a/EvtGenModels/Evtbs2llGammaISRFSR.hh b/EvtGenModels/Evtbs2llGammaISRFSR.hh
index 5b83d74..7e7b503 100644
--- a/EvtGenModels/Evtbs2llGammaISRFSR.hh
+++ b/EvtGenModels/Evtbs2llGammaISRFSR.hh
@@ -1,52 +1,52 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: Evtbs2llGammaISRFSR.hh
//
// Description: See the Internal LHCb Note LHCb-INT-2011-011.
//
// Modification history:
//
// N.Nikitin December 09, 2014 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBS2LLGAMMAISRFSR_HH
#define EVTBS2LLGAMMAISRFSR_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class Evtbs2llGammaFF; // my class with ff for rare semileptonic B-decays
class Evtbs2llGammaISRFSRAmp; // my class with amplitudes for rare radiative leptonic B-decays
class EvtbTosllWilsCoeffNLO; // my class with Wilson coefficients in NLO
class Evtbs2llGammaISRFSR:public EvtDecayAmp{
public:
Evtbs2llGammaISRFSR() {}
virtual ~Evtbs2llGammaISRFSR();
- virtual std::string getName();
- virtual EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- virtual void init();
- virtual void initProbMax();
- virtual void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
private:
Evtbs2llGammaFF *_mntffmodel;
Evtbs2llGammaISRFSRAmp *_calcamp;
EvtbTosllWilsCoeffNLO *_wilscoeff;
};
#endif
diff --git a/EvtGenModels/Evtbs2llGammaMNT.hh b/EvtGenModels/Evtbs2llGammaMNT.hh
index bfd28de..2ecd7ef 100644
--- a/EvtGenModels/Evtbs2llGammaMNT.hh
+++ b/EvtGenModels/Evtbs2llGammaMNT.hh
@@ -1,58 +1,58 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: Evtbs2llGammaMNT.hh
//
// Description: the B -> Gamma ell^+ ell^- decay channel description
// based on the papers:
// D.Melikhov, N.Nikitin, K.Toms, Yad. Fiz. 62, No 11
-// and
-// I.Balakireva, D.Melikhov, N.Nikitin, D.Tlisov,
-// e-Print: arXiv:0911.0605 [hep-ph].
+// and
+// I.Balakireva, D.Melikhov, N.Nikitin, D.Tlisov,
+// e-Print: arXiv:0911.0605 [hep-ph].
//
// Modification history:
//
// A.Popov October 30, 2008 Module created
// A.Popov and N.Nikitin February 25, 2010 New description of CP-violation
//
//------------------------------------------------------------------------
#ifndef EVTBS2LLGAMMAMNT_HH
#define EVTBS2LLGAMMAMNT_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class Evtbs2llGammaFF; // my class with ff for rare semileptonic B-decays
class Evtbs2llGammaAmp; // my class with amplitudes for rare semileptonic B-decays
class EvtbTosllWilsCoeffNLO; // my class with Wilson coefficients in NLO
class Evtbs2llGammaMNT:public EvtDecayAmp{
public:
Evtbs2llGammaMNT() {}
virtual ~Evtbs2llGammaMNT();
- virtual std::string getName();
- virtual EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- virtual void init();
- virtual void initProbMax();
- virtual void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
private:
Evtbs2llGammaFF *_mntffmodel;
Evtbs2llGammaAmp *_calcamp;
EvtbTosllWilsCoeffNLO *_wilscoeff;
};
#endif
diff --git a/EvtGenModels/EvtbsToLLLL.hh b/EvtGenModels/EvtbsToLLLL.hh
index 2e61b83..a1bbde8 100644
--- a/EvtGenModels/EvtbsToLLLL.hh
+++ b/EvtGenModels/EvtbsToLLLL.hh
@@ -1,51 +1,51 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: EvtGen/EvtbsToLLLL.hh
//
-// Description:
+// Description:
//
// Modification history:
//
// N.Nikitin (nnikit@mail.cern.ch) July 24, 2011 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBSTOLLLL_HH
#define EVTBSTOLLLL_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class Evtbs2llGammaFF; // my class with ff for rare semileptonic B-decays
class EvtbsToLLLLAmp; // my class with amplitudes for rare four-leptonic B-decays
class EvtbTosllWilsCoeffNLO; // my class with Wilson coefficients in NLO
class EvtbsToLLLL:public EvtDecayAmp{
public:
EvtbsToLLLL() {} ;
virtual ~EvtbsToLLLL();
- virtual std::string getName() ;
- virtual EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- virtual void init();
- virtual void initProbMax();
- virtual void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
private:
Evtbs2llGammaFF *_mntffmodel;
EvtbsToLLLLAmp *_calcamp;
EvtbTosllWilsCoeffNLO *_wilscoeff;
};
#endif
diff --git a/EvtGenModels/EvtbsToLLLLHyperCP.hh b/EvtGenModels/EvtbsToLLLLHyperCP.hh
index f1e8cb0..5abb3c0 100644
--- a/EvtGenModels/EvtbsToLLLLHyperCP.hh
+++ b/EvtGenModels/EvtbsToLLLLHyperCP.hh
@@ -1,47 +1,47 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: EvtGen/EvtbsToLLLLHyperCP.hh
//
-// Description:
+// Description:
//
// Modification history:
//
// N.Nikitin (nnikit@mail.cern.ch) May 30, 2012 Module created
//
//------------------------------------------------------------------------
#ifndef EVTBSTOLLLL_HYPERCP_HH
#define EVTBSTOLLLL_HYPERCP_HH
#include "EvtGenBase/EvtDecayAmp.hh"
class EvtParticle;
class EvtbsToLLLLHyperCPAmp; // my class with amplitudes for rare four-leptonic B-decays
class EvtbsToLLLLHyperCP:public EvtDecayAmp{
public:
EvtbsToLLLLHyperCP() {} ;
virtual ~EvtbsToLLLLHyperCP();
- virtual std::string getName() ;
- virtual EvtDecayBase* clone();
+ std::string getName() override;
+ EvtDecayBase* clone() override;
- virtual void init();
- virtual void initProbMax();
- virtual void decay(EvtParticle *p);
+ void init() override;
+ void initProbMax() override;
+ void decay(EvtParticle *p) override;
private:
EvtbsToLLLLHyperCPAmp *_calcamp;
};
#endif
diff --git a/History.txt b/History.txt
index 7d26171..08ed6ef 100644
--- a/History.txt
+++ b/History.txt
@@ -1,595 +1,604 @@
//==========================================================================
//
// History file for EvtGen
//
//===========================================================================
9th Mar 2020 John Back
Add EvtAbsExternalGen::getDecayProb() to allow external generators to
return a probability that can be used in EvtDecayProb (default = 1).
6th Mar 2020 Andrii Verbytskyi and Tom Latham
Implement HepMC3 support: EvtHepMCEvent, external engines & cmake files.
15th Nov 2019 John Back
Added EvtPsi2JpsiPiPi model for psi2S -> J/psi pi+ pi- decays based on
hep-ph/1507.07985, courtesy of Aleksei Luchinsky (LHCb).
21st August 2019 Michal Kreps
Added the EvtDToKpienu decay model for D -> K pi e nu decays from
BESIII, courtesy of Liaoyuan Dong.
+16th July 2019 John Back
+ Correct imaginary sign for EvtComplex /= (EvtComplex c) operator.
+
3rd July 2019 John Back
Added the EvtLambdacPHH decay model for Lc -> p K pi decays with K*(890),
Delta++(1232) and Lambda(1520) resonances, based on the Fermilab E791
analysis hep-ex/9912003v1, courtesy of Elisabeth Niel and Patrick Robbe
(LHCb). Modified EvtResonance2 to accept other barrier factor radii.
3rd July 2019 Michal Kreps
Make sure minimum mass for resonances with non-zero widths is larger than
1e-4 GeV in EvtRelBreitWignerBarrierFact.
3rd May 2019 John Back
Corrected EvtSLDiBaryonAmp bugs/issues in the BToDiBaryonlnupQCD model:
parity, amplitude terms and B momentum reference frame variables.
Corrected treament of spinor indices in EvtRareLb2Lll, courtesy of
Tom Blake and Michal Kreps (LHCb).
Updated the EvtBcVHad model to also handle Bc -> psi Ks K decays,
courtesy of Aleksei Luchinsky (LHCb).
Add new decay model EvtBsMuMuKK (BS_MUMUKK) for Bs to J/psi (mu+mu-) K+K-,
courtesy of Veronika Chobanova, Jeremy Dalseno, Diego Martinez Santos and
Marcos Romero Lamas (LHCb).
Fix infinite loop during initialisation of the EvtBTo3hCP model via
EvtCBTo3piP00 and EvtCBTo3piMPP, courtesy of Peter Richardson (Durham).
15th March 2019 Tom Latham
Implement cmake build system, replacing the old config method.
+30th Jan 2019 John Back
+ Fix modernization compiler errors and warnings.
+
29th Jan 2019 Michal Kreps
Allow reading decay files which are missing end-of-line before end-of-file.
+21st December 2018 John Back
+ Imported C++ modernization changes from Gerhard Raven (LHCb).
+
7th December 2018 John Back
Added the EvtBLLNuL (BLLNUL) model that generates rare B -> ell ell nu ell
decays, where ell = e or mu, courtesy of Anna Danilina and Nikolai Nikitin
(LHCb). Removed the EvtB2MuMuMuNu (BUTOMMMN) model, since its now replaced
by the more general BLLNuL one.
5th November 2018 John Back
Added the BToDiBaryonlnupQCD model for generating B to p N* l nu decays,
where N can be any (exited) charged baryon (spin 1/2 or 3/2), courtesy of
Mark Smith and Ryan Newcombe (LHCb), with added code optimisations.
17th October 2018 John Back
Added various decay models from LHCb EvtGenExtras package:
EvtBcVHad ("BC_VHAD"), Evtbs2llGammaMNT ("BSTOGLLMNT"),
Evtbs2llGammaISRFSR ("BSTOGLLISRFSR"), EvtbTosllMS ("BTOSLLMS"),
EvtbTosllMSExt ("BTOSLLMSEXT"), EvtLb2Baryonlnu ("Lb2Baryonlnu"),
EvtLb2plnuLCSR ("Lb2plnuLCSR"), EvtLb2plnuLQCD ("Lb2plnuLQCD"),
EvtFlatSqDalitz ("FLATSQDALITZ") and EvtPhspFlatLifetime
("PHSPFLATLIFETIME").
5th October 2018 John Back
Updated setupEvtGen.sh to work with the new HepForge Phabricator site.
13th March 2018 John Back
Updated EvtPythiaEngine to correctly handle updates of various particle
properties so that Pythia uses the same information as EvtGen (evt.pdl)
for the generic and alias PYTHIA decay model.
12th March 2018 John Back
Updated EvtBcXMuNu models (X = Scalar, Vector, Tensor) to generate
Bc to D0(star) mu nu decays, with associated form factors in EvtBCXFF,
courtesy of Aleksei Luchinsky (LHCb). Also generalised the calculation
of their maximum probabilities by reusing the CalcMaxProb method in
EvtSemiLeptonicAmp, which now allows for different Q^2 binning
(default remains at 25 bins).
R01-07-00-------------------------------------------------------------------
13th December 2017 John Back
New tag incorporating all changes below. Recommended external packages
are HepMC 2.06.09, pythia 8.230, Photos++ 3.61 and Tauola++ 1.1.6c,
as used in the setupEvtGen.sh script.
12th December 2017 John Back
Changed Pythia validation example decay files to use Pythia8 codes.
6th December 2017 John Back
Modified the examples to use DECAY.DEC (see 25th April 2016) instead of
DECAY_2010.DEC. Changed EvtExternalGenList to assume Pythia8 codes are
used in decay files by default, which is the case for DECAY.DEC. Also
updated the setupEvtGen.sh script to work with Pythia 8.2x versions.
29th November 2017 John Back
Modified EvtSVP, EvtVVP and EvtTVP models to handle both radiative and
two-lepton decays, courtesy of Aleksei Luchinsky (LHCb).
14th July 2017 John Back
Only create external generator objects if they don't already exist in
EvtExternalGenFactory. Modified configure script to work with Pythia 8.2x
5th July 2017 Michal Kreps
Register the VTOSLL model.
14th June 2017 John Back
Add isNeutralKaon() boolean function and corrected comments in EvtDDalitz.
8th May 2017 Michal Kreps
Fix bug in EvtbTosllVectorAmp to recognise Bs --> K*bar mu mu decay as
b --> d ll transition.
8th May 2017 Michal Kreps
Significantly simplify way how we decide on decay mode and daughters
ordering in DDalitz model. With new code by definition all orderings of
daughters in the decay file will yield same output.
4th May 2017 John Back
Further fixes to DDalitz particle ordering (including charge-conjugates):
Mode 5: D0 -> K- K0bar K+ and K+ K- K0bar
Mode 12: D0 -> pi0 pi- pi+ and pi+ pi0 pi-
Removed unneeded index ordering checks for mode 10 (D+ -> pi- pi+ pi+)
and mode 11 (Ds+ -> pi- pi+ pi+)
27th April 2017 John Back
Fixed DDalitz particle ordering for mode 7: D+ -> pi+ K- K+ and K+ pi+ K-
and their charge-conjugates
7th April 2017 John Back
Modified EvtGenExternal/EvtPythiaEngine to ensure that the EvtGen-based
instances of Pythia8 (for generic and alias decays) use the same
particle properties as defined by EvtGen, courtesy Patrick Robbe (LHCb).
5th April 2017 Michal Kreps
Fixed indexing in copy constructor of Evt3Rank3C, which would otherwise
produce an infinite loop; bug report from David Grellscheid.
3rd November 2016 John Back
Modified EvtFlatQ2 model to work for all B -> X lepton lepton modes, as
well as adding an extra phase space factor to correct for the dip at low
q^2, courtesy of Marcin Chrzaszcz & Thomas Blake (LHCb), which is enabled
by using "FLATQ2 1" instead of just "FLATQ2" in the decay file.
13th October 2016 John Back
Added the TauolaCurrentOption decfile keyword to select the hadronic
current in Tauola; default is the BaBar-tuned current option (int = 1).
EvtParticles can store double attributes using the functions
setAttributeDouble(name, double) and getAttributeDouble(name), which can
be useful for storing and retrieving amplitude weights, for example.
The analogous EvtParticle integer attribute interface remains unchanged:
setAttribute(name, int) and getAttribute(name).
13th September 2016 John Back
Modified EvtTauolaEngine to use internal Tauola spin matrices for
tau pair events by temporarily setting the PDG id of the mother as a
boson, keeping the same 4-momentum. The BaBar hadronic currents are now
used by default. Also added the ability to change some Tauola parameters
using the "Define" keyword in decay files. Added an example decay file
illustrating the new features: validation/TauolaFiles/Btautau.dec
9th September 2016 Michal Kreps
Reimplement code in EvtBTo3pi.F, EvtBTo3piMPP.F, EvtBTo3piP00.F and
EvtBToKpipi.F in C++ in order to remove dependence on Fortran compiler.
With this, there is no internal Fortran code in EvtGen.
R01-06-00-------------------------------------------------------------------
1st June 2016 John Back
New tag incorporating all changes below. Recommended external packages
are HepMC 2.06.09, pythia 8.186, Photos++ 3.61 and Tauola++ 1.1.5.
28th April 2016 Michal Kreps
For Ds+ --> 2pi+ pi- there was double counting of branching fraction
resulting in total branching fraction being 1.5 times larger than measured
one. Fix by revisiting submodes, which now fill total Ds --> 3pi.
25th April 2016 Michal Kreps
Added DECAY.DEC/XML, which contain updated semileptonic charm and beauty
branching fractions using the 2014 PDG, tuned to minimize disagreements
between measurements and EvtGen for both inclusive and exclusive decays.
Updated the evt.pdl particle properties file to the PDG 2014 edition.
Implemented new LQCD form factors for Lb --> L mu mu from arXiv paper
1602.01399 (EvtRareLbToLllFFlQCD); old LQCD form factors are removed.
18th March 2016 John Back
Fixed incorrect spinor algebra used in S1 -> 1/2 S2, 1/2 -> S3 S4 decays
in EvtDiracParticle::rotateToHelicityBasis() functions, courtesy of
Luis Miguel Garcia Martin and the IFIC Valencia LHCb group.
19th Feburary 2016 John Back
Fixed bug in the definition of the initial spinor term Sinit in
EvtRareLbToLll::HadronicAmpRS(), from Tom Blake (LHCb).
12th February 2016 John Back
From LHCb, added extensions to the EvtHQET2(FF) model for semitauonic
decays from Brian Hamilton, which needs a patch to EvtSemiLeptonicAmp
from Jack Wimberley to ensure that the q^2 range is physical when
finding the maximum amplitude probability.
2nd December 2015 John Back
From LHCb, added EvtKStopizmumu model for KS -> pi0 mu mu decays based on
JHEP08(1998)004, courtesy of Veronika Chobanova, Diego Martinez Santos
and Jeremy Dalseno. Added EvtConst::Fermi for Fermi coupling constant.
R01-05-00-------------------------------------------------------------------
21st October 2015 John Back
New tag incorporating all changes below. Recommended external packages
are HepMC 2.06.09, pythia 8.186, Photos++ 3.61 and Tauola++ 1.1.5.
Added the EvtB2MuMuMuNu model for simulating the very rare four-leptonic
decays B- -> mu+ mu- anti-nu_mu mu-, courtesy Nikolai Nikitin.
16th October 2015 John Back
Updated the configure script to automatically select the library names
for PHOTOS++; version 3.56 and below uses Fortran, version 3.61 and above
uses C++ only (default). Avoid using v3.60, since it does not work.
This needs the PHOTOS libraries built before EvtGen is configured.
Modified setupEvtGen.sh to use Photos++ v3.61.
7th October 2015 John Back
Updated EvtGenExternal/EvtPhotosEngine to check that additional particles
from the outgoing vertex are indeed (FSR) photons, since later versions of
PHOTOS introduce pair emission, where particles may not always be photons.
Added the genRootDecayChain.cc validation program to create ROOT files
containing information about the complete decay tree. Two example test
decay files BKstarGamma.dec and BuDst0rhop.dec can be used with this; the
first tests PHOTOS, the second looks at sequential decay chain storage.
The plotBKstarGamma.C ROOT macro can be used for B -> K* gamma plots.
2nd October 2015 John Back
Modified EvtSVPHelAmp and added a new EvtSVPHelCPMix model, implementing
the complete mixing phenomenology of Bs to vector gamma decays, courtesy
of Clara Remon (LHCb).
EvtD0mixDalitz code: cleanup, inverted q/p for decays of D0bar (simplifies
user decay files) and fixed y parameter bug, courtesy of Jordi Tico (LHCb).
Changed the initialisation order of the infrared cut-off in EvtPhotosEngine.
This actually has no effect, since the exponentiation function sets it to the
same 1e-7 value, but it's now in the correct order if we need to update it.
Removed all remaining obsolete pragma (Win32) warnings from some classes.
23rd September 2015 Michal Kreps
Reimplement the real Spence function in C++ and removed its fortran
implementation.
15th September 2015 Michal Kreps
Fixed accessed uninitialised memory in EvtPDL.cpp, line 213.
Modified the configure and setupEvtGen.sh scripts to work on Mac; needed
Mac compilation patch files added to the new "platform" subdirectory.
10th September 2015 John Back
Updated setupEvtGen.sh to use the recommended external packages:
HepMC 2.06.09, pythia 8.186, Photos++ 3.56 and Tauola++ 1.1.5.
Fixed form-factor calculations for the BTOSLLBALL model 6 used to generate
b -> sll decays, courtesy of Christoph Langenbruch and David Loh (LHCb).
Affects B->K*ll, B->rholl and B->omegall, particularly the electron modes.
In the validation directory, added runPhotosTest.sh for testing FSR in
Upsilon(4S) -> e+ e- decays, and changed the plot comparison scripts to
use the 2nd directory "oldRootFiles" (which could be a soft-link) for
including ROOT histograms made from a previous version of EvtGen.
27th August 2015 John Back
Added Mersenne-Twister random number generator (RNG) EvtMTRandomEngine.
It requires c++11 compiler features (>= gcc 4.7), which should
automatically be enabled by the configure script. Introduced the
preprocessor environment variable EVTGEN_CPP11 for c++11 features.
EvtMTRandomEngine is the default RNG for the validation and test examples
if c++11 features are enabled.
Added a phase-space test validation/genPHSP.sh and PhaseSpacePlots.C to
visually check the flatness of Dalitz plots in order to ensure that the
RNG is not producing biased results that depend on particle ordering.
Added the models EvtbsToLLLLAmp and EvtbsToLLLLHyperCP for
B0_q -> l+ l- l+ l- decays (SM and one supersymmetric scenario),
courtesy of Nikolai Nikitin and Konstantin Toms. Documentation provided
in doc/evt_BQTOLLLL_model.pdf and doc/evt_BQTOLLLLHYPERCP_model.pdf.
Changed the installation and set-up script name to be just setupEvtGen.sh;
it uses the VERSION variable to specify the required tag. List of tags
are available using either "svn ls -v http://svn.cern.ch/guest/evtgen/tags"
or by going to http://svn.cern.ch/guest/evtgen/tags in a web browser.
12th June 2015 John Back
Changed the width of chi_b1 in evt.pdl from 9.8928 GeV (!) to zero.
1st May 2015 John Back
Added Bc -> scalar ell nu (EvtBcSMuNu) and Bc -> tensor ell nu
(EvtBcTMuNu) decays, courtesy of Jack Wimberley, LHCb. Also included the
chi_c1 mode for EvtBcVMuNu.
R01-04-00-------------------------------------------------------------------
2nd April 2015 John Back
Removed the EvtStdlibRandomEngine class since this can produce biases
to kinematic distributions when one or more of the daughters is a
resonance, such as B0 -> K pi psi (thanks to Antonio Augusto Alves Jr
who discovered this issue). EvtSimpleRandomEngine is now the default
random number generator in the validation and test examples.
Incorporated several additions and modifications from LHCb:
a) From Michal Kreps, Tom Blake & Christoph Langenbruch,
added rare Lb --> Lambda^(*) ell ell models described in
arXiv:1108.6129, with various form factors from Gutsche et al.
(arXiv:1301.3737) and lattice QCD (arXiv:1212.4827)
b) From Andrew Crocombe, implemented Bs --> K* form factors
from Ball-Zwicky and z-parametrization form factors from
arXiv:1006.4945 for EvtbTosllBallFF
c) Christoph Langenbruch fixed the Bs -> phi ll form factors in
EvtbTosllBallFF; T3 showed a non-physical pole at very low
q2 which significantly affected the electron mode
d) From Michal Kreps, removed semicolons from wrong places to
clear warnings when compiled with the "-pedantic" option.
9th October 2014 John Back
Change svnweb.cern.ch to svn.cern.ch in the setup script.
1st April 2014 John Back
In EvtReport, modified the logging output severity status flags
to have the "EVTGEN_" prefix, e.g. INFO becomes EVTGEN_INFO.
The global report() function has been renamed to EvtGenReport().
31st March 2014 John Back
Added the ability to store named attributes for EvtParticles in the
form of a map<string, int>. The setAttribute(name, value) stores the
required value, while getAttribute(name) retrieves the integer value.
This is used in EvtPhotosEngine to specify the final-state radiation
"FSR" attribute to 1 for any additional photons (EvtPhotonParticles)
created by Photos++. It also stores the "ISR" attribute, but this
is always set to zero, since only FSR photons are created.
If the named attribute doesn't exist, then getAttribute() returns zero.
29th January 2014 Daniel Craik
Removed mass assertion on GS shape in EvtDalitzReso to allow it to also
be used for charged rho resonances.
27th January 2014 John Back
Minor corrections to Vub models to remove further gcc 4.8 warnings.
Updated configure script to work for MacOS clang (from Genser team).
R01-03-00-------------------------------------------------------------------
9th January 2014 John Back
New tag version "1.3.0", incorporating all changes below.
Replaced auto-install script to work with this version as well as
the latest versions of all external generator packages.
Updated README to mention the new CERN-based web pages for Photos++
and Tauola++.
8th January 2014 John Back
Fix gcc 4.6 and 4.8 compilation warnings, courtesy of
Patrick Robbe (LHCb); main changes are removal of unused variables.
Changed the EvtPythiaEngine class and configure script to use new
Pythia 8 header locations; Pythia 8.180 or above is now required.
7th January 2014 John Back
Modified EvtBCVFF to correct the Kiselev form factors from
Jack Wimberley (LHCb).
9th October 2013 Daniel Craik
Added Gounaris-Sakurai and Gaussian shapes to EvtGenericDalitz
and set sensible defaults for LASS parameters.
19th September 2013 John Back
Modified EvtGenExternal/EvtPythiaEngine to keep track of any new
particles that are added to the default Pythia database to avoid
duplicating particle/anti-particle entries that could override
previously defined Pythia decay chains.
18th September 2013 John Back
Added Mac OS flags for the configure script and src/Makefile.
15th July 2013 Daniel Craik
Added flag to turn on scaling of LASS amplitude by M/q in EvtDalitzReso
15th July 2013 Daniel Craik
EvtParserXML now accepts file names containing environment variables,
exponential non-resonant shape in EvtDalitzReso now defined as exp(-alpha*m^2),
LASS shape in EvtDalitzReso now takes a cutoff parameter
4th July 2013 Daniel Craik
Added LASS, exponential non-resonant and linear non-resonant shapes to EvtGenericDalitz.
3rd July 2013 Daniel Craik
Fixed auto-install script for R01-02-00.
1st July 2013 Daniel Craik
Added auto-install script for R01-02-00.
R01-02-00-------------------------------------------------------------------
15th May 2013 John Back
New tag, version "1.2.0", incorporating all changes below.
14th May 2013 Michal Kreps
Added Blatt-Weisskopf barrier factors up to L=5 in
EvtGenBase/EvtBlattWeisskopf::compute().
14th May 2013 John Back
Added additional entries (appended at the end) to the evt.pdl particle
data file courtesy of Romulus Godang and Belle II colleagues.
14th March 2013 John Back
Added the method EvtParticle::getPDGId() to get the PDG integer for a
particle directly (which just calls EvtPDL::getStdHep()).
Added a check in EvtPhotosEngine::doDecay to skip Photos if a given
particle has too many daughters (>= 10) to avoid a problem with a
hard coded upper limit in the Photos PHOENE subroutine.
2nd February 2013 Daniel Craik
Updated EvtDalitzTable to estimate probMax when it is missing from a
Dalitz model.
1st February 2013 John Back
Added the ability to read in Pythia 6 commands in ascii decay files in
EvtDecayTable::readDecayFile (this was already possible in xml files).
Modified the Photos++ engine default settings to be more suited to B
decays (from LHCb defaults).
31st January 2013 John Back
Added the ability to read in Pythia 8 commands in ascii decay files
in EvtDecayTable::readDecayFile. They can be set using the syntax:
"PythiaTypeParam module:variable=value", where Type = Generic, Alias or
Both for specifying whether the parameter is for the generic or alias
Pythia decay engines (or both). The 2nd argument must not contain any
spaces. Fixed the list of commands strings being used in the
EvtPythiaEngine class (i.e. Pythia parameters that can be set via decay
files).
31st January 2013 Daniel Craik
Added named parameters to various decay models.
30th January 2013 John Back
Fixed some of the parameter arguments used in the EvtSVSCPiso model.
24th January 2013 John Back
Set the Photos++ and Tauola++ models to use the EvtGen random number
engine when useEvtGenRandom is set to true in the EvtExternalGenList
constructor.
23rd January 2013 John Back
Added EvtGenExternal/EvtPythiaRandom to allow the use of the EvtGen
random number engine to also be used for the random engine for Pythia 8.
Added a boolean (useEvtGenRandom, default = true) within the
EvtExternalGenList constructor to use this feature.
18th December 2012 John Back
Corrected some wrong daughter ordering assignments for decay modes 5 and
12 in EvtDDalitz. Updated validation/DalitzDecays.xml to also contain
D decay mode 12, as well as various modes that may use K_S0 and K_L0.
Added validation/genDDalitzModes.sh and updated
validation/compareDalitz.C to do a complete comparison of the D Dalitz
modes with the xml versions.
11th December 2012 Daniel Craik
Updated the Xml parser to support named model parameters. Updated the
generic Dalitz model to use named model parameters as an example.
15th October 2012 John Back
Make EvtSimpleRandomEngine inherit from EvtRandomEngine to avoid
crash in EvtGen.cpp when no random engine is defined
(from Bjoern Spruck).
R01-01-00-------------------------------------------------------------------
4th October 2012 John Back
New tag, version "1.1.0", incorporating all changes below.
Provide proper default constructors for EvtVector4R and
EvtPhotonParticle. Modified the validation and test code to also
compile/link in the case of no external generators being included.
3rd October 2012 John Back
Corrected the t3 vector form factor values for the Ball-Zwicky '05
model (modelId = 6) in EvtbTosllBallFF::getVectorFF(), which
were set to t3tilde instead.
18th September 2012 John Back
Moved the external generator engines to a new sub-directory
EvtGenExternal. Building the code now creates 2 libraries:
libEvtGen.so (Base+Models) and libEvtGenExternal.so.
This allows anyone to ignore using the new external generators
if required (by not creating/loading the 2nd library).
Added prefix option to the configure script/Makefile to allow the user
to specify an installation directory for the include files, libraries,
DECAY.DEC and evt.pdl files (for Genser).
14th September 2012 Michal Kreps
Fixed the calculation of the angle between decay planes in the function
EvtKine::EvtDecayAngleChi. Fixed typo in EvtLb2Lll decay model. Only
some NP scenarious could be affected, SM one is definitely unaffected.
13th September 2012 John Back
Added the use of the environment variables EVTGEN_PHOTOS, EVTGEN_PYTHIA
and EVTGEN_TAUOLA to specify if the Photos, Pythia and/or Tauola engine
classes are used or not. These variables are set by the configure script,
depending if the library paths are specified for these generators.
R01-00-01--------------------------------------------------------------------
12th September 2012 John Back
New tag incorporating all changes below, since R01-00-00.
11th September 2012 John Back
Modified the Photos and Tauola engine classes to use the new
Photospp and Tauolapp namespaces that are present in the latest
versions of Photos++(3.5) and Tauola++(1.0.7). Updated the configure file
to get the correct location of the Tauola++ include files.
Added the D0->pi+pi-pi0 decay mode in EvtDDalitz from Marco Gersabeck
and Frederic Dreyer (LHCb).
Added new decay models/classes from Alexey Luchinsky (LHCb):
EvtBcVMuNu, EvtTVP, EvtWnPi, EvtSVP, EvtXPsiGamma, EvtBcVNpi
29th June 2012 John Back
Corrected mass(squared) variables filled in the Dalitz TTree in
validation/genExampleRootFiles.
15th May 2012 Daniel Craik
Updated EvtD0gammaDalitz to deal with D mesons from neutral B->DK
Added save function to validation/compareDalitz.C.
11th May 2012 Daniel Craik
Replaced BaBar specific configuration for BlattWeisskopf birth factors.
Updated XML conversion script to handle new configuration.
Fixed some bugs in the XML conversion script related to particle
modifications.
9th May 2012 Daniel Craik
Added latex documentation for xml decay files.
2nd May 2012 Daniel Craik
Added resDaughters attribute to the Dalitz resonance xml tag to
simplify defining symmetric resonances. Updated validation xml files to
use the new functionality.
27th April 2012 Daniel Craik
Upgraded EvtGenericDalitz to use EvtDalitzReso for resonances.
Added validation to compare EvtGenericDalitz to all 11 EvtDDalitz modes.
Added a root macro to quickly compare two Dalitz decays for validation.
24th April 2012 John Back
Solved two bugs in the EvtD0gammaDalitz model (from Jordi Tico, LHCb):
configuration of the conjugated model, and using only the B charge
to determine the model used, not the D flavour.
17th April 2012 Daniel Craik
Updated the GenericDalitz validation code to use the same probMax
values as DDalitz. Added XML decay file parsing to EvtGen::readUDecay.
Dec files are still the default.
30th March 2012 John Back
Update maximum probability values in EvtDDalitz::initProbMax()
for all DDalitz modes.
23rd March 2012 John Back
Added the EvtEta2MuMuGamma decay model from LHCb.
21st March 2012 John Back
Added EvtD0gammaDalitz decay model from LHCb.
20th March 2012 Daniel Craik
Added backwards compatibility for Pythia 6 commands in the XML
configuration. Updated decay file conversion tool to convert JetSetPar
lines to pythia6Param tags.
19th March 2012 Daniel Craik
Added infrastructure to pass commands to external generators.
XML config now takes Pythia8 configuration commands.
16th March 2012 Daniel Craik
Added the ability to define particles from the PDL for Dalitz decay
resonances instead of defining mass, width and spin seperately. Renamed
the lifetime attribute of Dalitz decay resonaces to width to avoid
confusion. Added further validation code for the generic Dalitz model.
15th March 2012 Daniel Craik
Added validation code for xml decay files and the generic Dalitz model.
R01-00-00 ------------------------------------------------------------------
6th March 2012 John Back
First official version for Genser (evtgen 1.0.0) that includes
support for external generators: Pythia8, Photos++ and Tauola++.
This also includes a preliminary version of creating Dalitz plot
decay models using EvtGenericDalitz.
diff --git a/applyClangFormat.sh b/applyClangFormat.sh
new file mode 100644
index 0000000..985e3b1
--- /dev/null
+++ b/applyClangFormat.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+find . \( -name "*.cpp" -o -name "*.hh" -o -name "*.cc" -o -name "*.C" \) -exec clang-format -i '{}' \;
+
diff --git a/src/EvtGenBase/Evt3Rank3C.cpp b/src/EvtGenBase/Evt3Rank3C.cpp
index 98c079f..40088e4 100644
--- a/src/EvtGenBase/Evt3Rank3C.cpp
+++ b/src/EvtGenBase/Evt3Rank3C.cpp
@@ -1,278 +1,276 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: Evt3Rank3C.cc
//
// Description: Implementation of complex 3Rank 3D tensors.
//
// Modification history:
//
// RYD September 14, 1996 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include "EvtGenBase/Evt3Rank3C.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector3C.hh"
#include "EvtGenBase/EvtTensor3C.hh"
#include "EvtGenBase/EvtReport.hh"
Evt3Rank3C::Evt3Rank3C( const Evt3Rank3C& t1 ) {
int i,j,k;
-
+
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
for(k=0;k<3;k++) {
t[i][j][k] = t1.t[i][j][k];
}
}
}
}
-Evt3Rank3C::~Evt3Rank3C() { }
-
Evt3Rank3C& Evt3Rank3C::operator=(const Evt3Rank3C& t1) {
int i,j,k;
-
+
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
for(k=0;k<3;k++) {
t[i][j][k] = t1.t[i][j][k];
}
}
}
return *this;
}
Evt3Rank3C Evt3Rank3C::conj() const {
Evt3Rank3C temp;
-
+
int i,j,k;
-
+
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
for(k=0;k<3;k++) {
temp.set(i,j,k,::conj(t[i][j][k]));
}
}
}
return temp;
}
void Evt3Rank3C::zero(){
int i,j,k;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
for(k=0;k<3;k++){
t[i][j][k]=EvtComplex(0.0,0.0);
}
}
}
}
Evt3Rank3C::Evt3Rank3C(){
-
+
int i,j,k;
-
+
for(i=0;i<3;i++){
for(j=0;j<3;j++){
for(k=0;k<3;k++){
t[i][j][k]=EvtComplex(0.0,0.0);
}
}
}
}
std::ostream& operator<<(std::ostream& s, const Evt3Rank3C& t2){
int i,j,k;
for(k=0;k<3;k++){
for(i=0;i<3;i++){
for(j=0;j<3;j++){
EvtGenReport(EVTGEN_INFO,"EvtGen") <<t2.t[k][i][j];
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << "\n";
}
}
return s;
}
Evt3Rank3C& Evt3Rank3C::operator+=(const Evt3Rank3C& t2){
-
+
int i,j,k;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
for (k=0;k<3;k++) {
t[i][j][k]+=t2.t[i][j][k];
}
}
}
return *this;
}
Evt3Rank3C& Evt3Rank3C::operator-=(const Evt3Rank3C& t2) {
int i,j,k;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
for (k=0;k<3;k++) {
t[i][j][k]-=t2.t[i][j][k];
}
}
}
return *this;
}
Evt3Rank3C& Evt3Rank3C::operator*=(const EvtComplex& c){
int i,j,k;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
for (k=0;k<3;k++) {
t[i][j][k]*=c;
}
}
}
return *this;
}
Evt3Rank3C& Evt3Rank3C::operator*=(const double c){
int i,j,k;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
for (k=0;k<3;k++) {
t[i][j][k]*=c;
}
}
}
return *this;
}
-Evt3Rank3C conj(const Evt3Rank3C& t2) {
+Evt3Rank3C conj(const Evt3Rank3C& t2) {
Evt3Rank3C temp;
-
+
int i,j,k;
- for(i=0;i<3;i++){
- for(j=0;j<3;j++){
- for(k=0;k<3;k++){
+ for(i=0;i<3;i++){
+ for(j=0;j<3;j++){
+ for(k=0;k<3;k++){
temp.t[i][j][k]=::conj(t2.t[i][j][k]);
}
}
}
return temp;
}
EvtTensor3C Evt3Rank3C::cont1(const EvtVector3C& v) const {
EvtTensor3C temp;
-
+
int i,k;
-
+
for(i=0;i<3;i++){
for(k=0;k<3;k++){
temp.set(i,k,t[0][i][k]*v.get(0)+t[1][i][k]*v.get(1)
+t[2][i][k]*v.get(2));
}
}
return temp;
-}
+}
EvtTensor3C Evt3Rank3C::cont2(const EvtVector3C& v) const {
EvtTensor3C temp;
-
+
int i,k;
-
+
for(i=0;i<3;i++){
for(k=0;k<3;k++){
temp.set(i,k,t[i][0][k]*v.get(0)+t[i][1][k]*v.get(1)
+t[i][2][k]*v.get(2));
}
}
return temp;
-}
+}
EvtTensor3C Evt3Rank3C::cont3(const EvtVector3C& v) const {
EvtTensor3C temp;
-
+
int i,k;
-
+
for(i=0;i<3;i++){
for(k=0;k<3;k++){
temp.set(i,k,t[i][k][0]*v.get(0)+t[i][k][1]*v.get(1)
+t[i][k][2]*v.get(2));
}
}
return temp;
-}
+}
EvtTensor3C Evt3Rank3C::cont1(const EvtVector3R& v) const {
EvtTensor3C temp;
-
+
int i,k;
-
+
for(i=0;i<3;i++){
for(k=0;k<3;k++){
temp.set(i,k,t[0][i][k]*v.get(0)+t[1][i][k]*v.get(1)
+t[2][i][k]*v.get(2));
}
}
return temp;
-}
+}
EvtTensor3C Evt3Rank3C::cont2(const EvtVector3R& v) const {
EvtTensor3C temp;
-
+
int i,k;
-
+
for(i=0;i<3;i++){
for(k=0;k<3;k++){
temp.set(i,k,t[i][0][k]*v.get(0)+t[i][1][k]*v.get(1)
+t[i][2][k]*v.get(2));
}
}
return temp;
-}
+}
EvtTensor3C Evt3Rank3C::cont3(const EvtVector3R& v) const {
EvtTensor3C temp;
-
+
int i,k;
-
+
for(i=0;i<3;i++){
for(k=0;k<3;k++){
temp.set(i,k,t[i][k][0]*v.get(0)+t[i][k][1]*v.get(1)
+t[i][k][2]*v.get(2));
}
}
return temp;
-}
+}
diff --git a/src/EvtGenBase/EvtAbsLineShape.cpp b/src/EvtGenBase/EvtAbsLineShape.cpp
index 53e90fc..427c9be 100644
--- a/src/EvtGenBase/EvtAbsLineShape.cpp
+++ b/src/EvtGenBase/EvtAbsLineShape.cpp
@@ -1,167 +1,162 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtLineShape.cc
//
// Description: Store particle properties for one particle.
//
// Modification history:
//
// Lange March 10, 2001 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include "EvtGenBase/EvtAbsLineShape.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtPropBreitWigner.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
using namespace std;
-EvtAbsLineShape::EvtAbsLineShape() {
-}
-
-EvtAbsLineShape::~EvtAbsLineShape() {
-}
EvtAbsLineShape::EvtAbsLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp) {
_includeDecayFact = false;
_includeBirthFact = false;
_mass=mass;
_width=width;
_spin=sp;
_maxRange=maxRange;
double maxdelta=15.0*width;
//if ( width>0.001 ) {
// if ( 5.0*width < 0.6 ) maxdelta = 0.6;
//}
if ( maxRange > 0.00001 ) {
_massMax=mass+maxdelta;
_massMin=mass-maxRange;
}
else{
_massMax=mass+maxdelta;
_massMin=mass-15.0*width;
}
if ( _massMin< 0. ) _massMin=0.;
_massMax=mass+maxdelta;
}
EvtAbsLineShape::EvtAbsLineShape(const EvtAbsLineShape& x){
_includeDecayFact = x._includeDecayFact;
_includeBirthFact = x._includeBirthFact;
_mass=x._mass;
_massMax=x._massMax;
_massMin=x._massMin;
_width=x._width;
_spin=x._spin;
_maxRange=x._maxRange;
}
EvtAbsLineShape& EvtAbsLineShape::operator=(const EvtAbsLineShape& x){
_includeDecayFact = x._includeDecayFact;
_includeBirthFact = x._includeBirthFact;
_mass=x._mass;
_massMax=x._massMax;
_massMin=x._massMin;
_width=x._width;
_spin=x._spin;
_maxRange=x._maxRange;
- return *this;
+ return *this;
}
EvtAbsLineShape* EvtAbsLineShape::clone() {
return new EvtAbsLineShape(*this);
}
double EvtAbsLineShape::rollMass() {
double ymin, ymax;
double temp;
if ( _width < 0.0001 ) {
return _mass;
}
else{
ymin = atan( 2.0*(_massMin-_mass)/_width);
ymax = atan( 2.0*(_massMax-_mass)/_width);
temp= ( _mass + ((_width/2.0)*tan(EvtRandom::Flat(ymin,ymax))));
return temp;
}
}
double EvtAbsLineShape::getRandMass(EvtId *parId, int /* nDaug */, EvtId * /*dauId*/, EvtId */*othDaugId*/, double maxMass, double */*dauMasses*/) {
if ( _width< 0.0001) return _mass;
//its not flat - but generated according to a BW
if (maxMass>0&&maxMass<_massMin) {
EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "In EvtAbsLineShape::getRandMass:"<<endl;
EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "Cannot create a particle with a minimal mass of "
<< _massMin << " from a "<<EvtPDL::name(*parId)
<< " decay with available left-over mass-energy " << maxMass
<< ". Returning 0.0 mass. The rest of this decay chain will probably fail..." << endl;
return 0.0;
}
double mMin=_massMin;
double mMax=_massMax;
if ( maxMass>-0.5 && maxMass< mMax) mMax=maxMass;
double ymin = atan( 2.0*(mMin-_mass)/_width);
double ymax = atan( 2.0*(mMax-_mass)/_width);
-
+
return ( _mass + ((_width/2.0)*tan(EvtRandom::Flat(ymin,ymax))));
// return EvtRandom::Flat(_massMin,_massMax);
}
double EvtAbsLineShape::getMassProb(double mass, double massPar, int nDaug, double *massDau) {
double dTotMass=0.;
if ( nDaug>1) {
int i;
for (i=0; i<nDaug; i++) {
dTotMass+=massDau[i];
}
//EvtGenReport(EVTGEN_INFO,"EvtGen") << mass << " " << massPar << " " << dTotMass << " "<< endl;
// if ( (mass-dTotMass)<0.0001 ) return 0.;
if ( (mass<dTotMass) ) return 0.;
}
if ( _width< 0.0001) return 1.;
// no parent - lets not panic
if ( massPar>0.0000000001 ) {
if ( mass > massPar) return 0.;
}
//Otherwise return the right value.
- //Fortunately we have generated events according to a non-rel BW, so
+ //Fortunately we have generated events according to a non-rel BW, so
//just return..
//EvtPropBreitWigner bw(_mass,_width);
//EvtPropFactor<EvtTwoBodyVertex> f(bw);
//EvtComplex fm=f.eval(mass);
//EvtComplex fm0=f.eval(_mass);
//return (abs(fm)*abs(fm))/(abs(fm0)*abs(fm0));
return 1.0;
}
diff --git a/src/EvtGenBase/EvtBlattWeisskopf.cpp b/src/EvtGenBase/EvtBlattWeisskopf.cpp
index b203ed0..0c78944 100644
--- a/src/EvtGenBase/EvtBlattWeisskopf.cpp
+++ b/src/EvtGenBase/EvtBlattWeisskopf.cpp
@@ -1,92 +1,89 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtBlattWeisskopf.cpp,v 1.3 2009-03-16 15:56:37 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <iostream>
#include <assert.h>
#include <math.h>
#include "EvtGenBase/EvtBlattWeisskopf.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
EvtBlattWeisskopf::EvtBlattWeisskopf(int LL, double R, double p0)
: _LL(LL), _radial(R), _p0(p0)
{
if(R < 0) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Radius " << R << " negative" << endl;
assert(0);
}
_radial = R;
// compute formula for nominal momentum
_F0 = compute(_p0);
if(_F0 <= 0) {
-
+
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Invalid nominal form factor computed " << _F0 << endl;
assert(0);
- }
+ }
}
EvtBlattWeisskopf::EvtBlattWeisskopf(const EvtBlattWeisskopf& other)
: _LL(other._LL), _radial(other._radial), _p0(other._p0), _F0(other._F0)
{}
-EvtBlattWeisskopf::~EvtBlattWeisskopf()
-{}
-
double EvtBlattWeisskopf::operator()(double p) const
{
double ret = compute(p)/_F0;
// EvtGenReport(EVTGEN_INFO,"EvtGen") << p << " " << _p0 << " " << _F0 << " " << _LL << " " << _radial << " " << ret << endl;
return ret;
}
// Blatt-Weisskopf form factors
// see e.g. hep-ex/0011065
// Dalitz Analysis of the Decay D0->K-pi+pi0 (CLEO)
//
// p - momentum of either daugher in the meson rest frame,
// the mass of the meson is used
// pAB - momentum of either daughter in the candidate rest frame
// the mass of the candidate is used
// R - meson radial parameter
-//
+//
// In the CLEO paper R=5 GeV-1 for D0, R=1.5 for intermediate resonances
double EvtBlattWeisskopf::compute(double p) const
{
double value(1.0);
double z = p*_radial;
double zSq = z*z;
if (_LL == 0) {
value = 1.0;
} else if (_LL == 1) {
value = sqrt(1.0/(1.0 + zSq));
} else if (_LL == 2) {
value = sqrt(1.0/(zSq*(zSq + 3.0) + 9.0));
} else if (_LL == 3) {
double denom = zSq*(zSq*(zSq + 6.0) + 45.0) + 225.0;
value = sqrt(1.0/denom);
} else if (_LL == 4) {
double denom = zSq*(zSq*(zSq*(zSq + 10.0) + 135.0) + 1575.0) + 11025.0;
value = sqrt(1.0/denom);
} else if (_LL == 5) {
double denom = zSq*(zSq*(zSq*(zSq*(zSq + 15.0) + 315.0) + 6300.0) + 99225.0) + 893025.0;
value = sqrt(1.0/denom);
}
return value;
}
diff --git a/src/EvtGenBase/EvtBreitWignerPdf.cpp b/src/EvtGenBase/EvtBreitWignerPdf.cpp
index 3a781ca..d971c8a 100644
--- a/src/EvtGenBase/EvtBreitWignerPdf.cpp
+++ b/src/EvtGenBase/EvtBreitWignerPdf.cpp
@@ -1,83 +1,79 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtBreitWignerPdf.cpp,v 1.3 2009-03-16 15:55:55 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
-// Breit-Wigner shape PDF. If the width is zero it degenerates into a delta
-// function. The integral and its inverse can be still evaluated.
+// Breit-Wigner shape PDF. If the width is zero it degenerates into a delta
+// function. The integral and its inverse can be still evaluated.
#include <assert.h>
#include <stdio.h>
#include <math.h>
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtBreitWignerPdf.hh"
#include "EvtGenBase/EvtConst.hh"
EvtBreitWignerPdf::EvtBreitWignerPdf(double min, double max, double m0, double g0)
: EvtIntegPdf1D(min,max), _m0(m0), _g0(g0)
{}
EvtBreitWignerPdf::EvtBreitWignerPdf(const EvtBreitWignerPdf& other)
: EvtIntegPdf1D(other), _m0(other._m0), _g0(other._g0)
{}
-EvtBreitWignerPdf::~EvtBreitWignerPdf()
-{}
-
-
double EvtBreitWignerPdf::pdf(const EvtPoint1D& x) const
{
double m = x.value();
if((0 == (m - _m0)) && (0. == _g0)) {
printf("Delta function Breit-Wigner\n");
assert(0);
}
-
+
double ret = _g0/EvtConst::twoPi/((m-_m0)*(m-_m0)+_g0*_g0/4);
-
+
return ret;
}
double EvtBreitWignerPdf::pdfIntegral(double m) const
{
double itg = 0;
if(_g0 == 0) {
if(m > _m0) itg = 1.;
else
if(m < _m0) itg = 0.;
else
itg = 0.5;
}
- else itg = atan((m-_m0)/(_g0/2.))/EvtConst::pi + 0.5;
+ else itg = atan((m-_m0)/(_g0/2.))/EvtConst::pi + 0.5;
return itg;
}
double EvtBreitWignerPdf::pdfIntegralInverse(double x) const
{
if(x < 0 || x > 1) {
-
+
printf("Invalid integral value %f\n",x);
assert(0);
}
double m = _m0;
if(_g0 != 0) m = _m0 + (_g0/2.)*tan(EvtConst::pi*(x-0.5));
-
+
return m;
}
diff --git a/src/EvtGenBase/EvtCGCoefSingle.cpp b/src/EvtGenBase/EvtCGCoefSingle.cpp
index 27e10c7..e7623a1 100644
--- a/src/EvtGenBase/EvtCGCoefSingle.cpp
+++ b/src/EvtGenBase/EvtCGCoefSingle.cpp
@@ -1,149 +1,145 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtCGCoefSingle.cc
//
// Description: Evaluates Clebsch-Gordon coef for fixed j1 and j2.
//
// Modification history:
//
// fkw February 2, 2001 changes to satisfy KCC
// RYD August 12, 2000 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <assert.h>
#include "EvtGenBase/EvtCGCoefSingle.hh"
#include "EvtGenBase/EvtOrthogVector.hh"
-EvtCGCoefSingle::~EvtCGCoefSingle(){
-}
-
-
void EvtCGCoefSingle::init(int j1,int j2){
_j1=j1;
_j2=j2;
_Jmax=abs(j1+j2);
_Jmin=abs(j1-j2);
_table.resize((_Jmax-_Jmin)/2+1);
int J,M;
int lenmax=j1+1;
if (j2<j1) lenmax=j2+1;
//set vector sizes
for(J=_Jmax;J>=_Jmin;J-=2){
_table[(J-_Jmin)/2].resize(J+1);
for(M=J;J>=-M;M-=2){
int len=((_j1+_j2)-abs(M))/2+1;
if (len>lenmax) len=lenmax;
_table[(J-_Jmin)/2][(M+J)/2].resize(len);
}
}
//now fill the vectors
for(J=_Jmax;J>=_Jmin;J-=2){
//bootstrap with highest M(=J) as a special case
if (J==_Jmax) {
cg(J,J,_j1,_j2)=1.0;
}else{
int n=(_Jmax-J)/2+1;
std::vector<double>* vectors=new std::vector<double>[n-1];
int i,k;
for(i=0;i<n-1;i++){
// i corresponds to J=Jmax-2*i
vectors[i].resize(n);
for(k=0;k<n;k++){
double tmp=_table[(_Jmax-_Jmin)/2-i][(J+_Jmax-2*i)/2][k];
vectors[i][k]=tmp;
}
}
EvtOrthogVector getOrth(n,vectors);
std::vector<double> orth=getOrth.getOrthogVector();
int sign=1;
if (orth[n-1]<0.0) sign=-1;
for(k=0;k<n;k++){
_table[(J-_Jmin)/2][J][k]=sign*orth[k];
}
delete [] vectors ;
}
for(M=J-2;M>=-J;M-=2){
int len=((_j1+_j2)-abs(M))/2+1;
if (len>lenmax) len=lenmax;
int mmin=M-j2;
if (mmin<-j1) mmin=-j1;
int m1;
for(m1=mmin;m1<mmin+len*2;m1+=2){
int m2=M-m1;
double sum=0.0;
float fkwTmp = _j1*(_j1+2)-(m1+2)*m1;
- //fkw 2/2/2001: changes needed to satisfy KCC
+ //fkw 2/2/2001: changes needed to satisfy KCC
//fkw if (m1+2<=_j1) sum+=0.5*sqrt(_j1*(_j1+2)-(m1+2)*m1)*cg(J,M+2,m1+2,m2);
//fkw if (m2+2<=_j2) sum+=0.5*sqrt(_j2*(_j2+2)-(m2+2)*m2)*cg(J,M+2,m1,m2+2);
//fkw sum/=(0.5*sqrt(J*(J+2)-(M+2)*M));
if (m1+2<=_j1) sum+=0.5*sqrt(fkwTmp)*cg(J,M+2,m1+2,m2);
fkwTmp = _j2*(_j2+2)-(m2+2)*m2;
if (m2+2<=_j2) sum+=0.5*sqrt(fkwTmp)*cg(J,M+2,m1,m2+2);
fkwTmp = J*(J+2)-(M+2)*M;
sum/=(0.5*sqrt(fkwTmp));
cg(J,M,m1,m2)=sum;
}
}
}
-
+
}
double EvtCGCoefSingle::coef(int J,int M,int j1,int j2,int m1,int m2){
assert(j1==_j1); _unused( j1 );
assert(j2==_j2); _unused( j2 );
return cg(J,M,m1,m2);
-
+
}
double& EvtCGCoefSingle::cg(int J,int M, int m1, int m2){
assert(M==m1+m2); _unused( m2 );
assert(abs(M)<=J);
assert(J<=_Jmax);
assert(J>=_Jmin);
assert(abs(m1)<=_j1);
assert(abs(m2)<=_j2);
//find lowest m1 allowed for the given M
int mmin=M-_j2;
-
+
if (mmin<-_j1) mmin=-_j1;
int n=m1-mmin;
return _table[(J-_Jmin)/2][(M+J)/2][n/2];
}
diff --git a/src/EvtGenBase/EvtCPUtil.cpp b/src/EvtGenBase/EvtCPUtil.cpp
index 593e2a2..7ea1ef1 100644
--- a/src/EvtGenBase/EvtCPUtil.cpp
+++ b/src/EvtGenBase/EvtCPUtil.cpp
@@ -1,566 +1,563 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtCPUtil.cc
//
// Description: Utilities needed for generation of CP violating
// decays.
//
// Modification history:
//
// RYD March 24, 1998 Module created
//
// COWAN June 10, 2009 Added methods for getting dGamma(s)
// and dm(s) using B(s)0H and B(s)0L.
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtSymTable.hh"
#include "EvtGenBase/EvtConst.hh"
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
using std::endl;
EvtCPUtil::EvtCPUtil(int mixingType) {
_enableFlip = false;
_mixingType = mixingType;
}
-EvtCPUtil::~EvtCPUtil() {
-}
-
EvtCPUtil* EvtCPUtil::getInstance() {
static EvtCPUtil* theCPUtil = 0;
if (theCPUtil == 0) {
theCPUtil = new EvtCPUtil(1);
}
return theCPUtil;
}
-//added two functions for finding the fraction of B0 tags for decays into
+//added two functions for finding the fraction of B0 tags for decays into
//both CP eigenstates and non-CP eigenstates -- NK, Jan. 27th, 1998
-void EvtCPUtil::fractB0CP(EvtComplex Af, EvtComplex Abarf,
+void EvtCPUtil::fractB0CP(EvtComplex Af, EvtComplex Abarf,
double /*deltam*/, double beta, double &fract) {
//This function returns the number of B0 tags for decays into CP-eigenstates
//(the "probB0" in the new EvtOtherB)
- //double gamma_B = EvtPDL::getWidth(B0);
+ //double gamma_B = EvtPDL::getWidth(B0);
//double xd = deltam/gamma_B;
//double xd = 0.65;
double ratio = 1/(1 + 0.65*0.65);
-
+
EvtComplex rf, rbarf;
rf = EvtComplex(cos(2.0*beta),sin(2.0*beta))*Abarf/Af;
rbarf = EvtComplex(1.0)/rf;
double A2 = real(Af)*real(Af) + imag(Af)*imag(Af);
double Abar2 = real(Abarf)*real(Abarf) + imag(Abarf)*imag(Abarf);
-
- double rf2 = real(rf)*real(rf) + imag(rf)*imag(rf);
- double rbarf2 = real(rbarf)*real(rbarf) + imag(rbarf)*imag(rbarf);
- fract = (Abar2*(1+ rbarf2 + (1 - rbarf2)*ratio))/(Abar2*(1+ rbarf2 + (1 - rbarf2)*ratio) + A2*(1+ rf2 + (1 - rf2)*ratio));
- return;
+ double rf2 = real(rf)*real(rf) + imag(rf)*imag(rf);
+ double rbarf2 = real(rbarf)*real(rbarf) + imag(rbarf)*imag(rbarf);
+
+ fract = (Abar2*(1+ rbarf2 + (1 - rbarf2)*ratio))/(Abar2*(1+ rbarf2 + (1 - rbarf2)*ratio) + A2*(1+ rf2 + (1 - rf2)*ratio));
+ return;
}
-void EvtCPUtil::fractB0nonCP(EvtComplex Af, EvtComplex Abarf,
- EvtComplex Afbar, EvtComplex Abarfbar,
- double deltam, double beta,
+void EvtCPUtil::fractB0nonCP(EvtComplex Af, EvtComplex Abarf,
+ EvtComplex Afbar, EvtComplex Abarfbar,
+ double deltam, double beta,
int flip, double &fract) {
//this function returns the number of B0 tags for decays into non-CP eigenstates
//(the "probB0" in the new EvtOtherB)
- //this needs more thought...
+ //this needs more thought...
//double gamma_B = EvtPDL::getWidth(B0);
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "gamma " << gamma_B<< endl;
//double xd = deltam/gamma_B;
//why is the width of B0 0 in PDL??
double xd = 0.65;
double gamma_B = deltam/xd;
double IAf, IAfbar, IAbarf, IAbarfbar;
EvtComplex rf, rfbar, rbarf, rbarfbar;
double rf2, rfbar2, rbarf2, rbarfbar2;
double Af2, Afbar2, Abarf2, Abarfbar2;
rf = EvtComplex(cos(2.0*beta),sin(2.0*beta))*Abarf/Af;
- rfbar = EvtComplex(cos(2.0*beta),sin(2.0*beta))*Abarfbar/Afbar;
+ rfbar = EvtComplex(cos(2.0*beta),sin(2.0*beta))*Abarfbar/Afbar;
rbarf = EvtComplex(cos(-2.0*beta),sin(-2.0*beta))*Af/Abarf;
rbarfbar = EvtComplex(cos(-2.0*beta),sin(-2.0*beta))*Afbar/Abarfbar;
-
-
+
+
rf2 = real(rf)*real(rf) + imag(rf)*imag(rf);
rfbar2 = real(rfbar)*real(rfbar) + imag(rfbar)*imag(rfbar);
rbarf2 = real(rbarf)*real(rbarf) + imag(rbarf)*imag(rbarf);
rbarfbar2 = real(rbarfbar)*real(rbarfbar) + imag(rbarfbar)*imag(rbarfbar);
Af2 = real(Af)*real(Af) + imag(Af)*imag(Af);
- Afbar2 = real(Afbar)*real(Afbar) + imag(Afbar)*imag(Afbar);
+ Afbar2 = real(Afbar)*real(Afbar) + imag(Afbar)*imag(Afbar);
Abarf2 = real(Abarf)*real(Abarf) + imag(Abarf)*imag(Abarf);
Abarfbar2 = real(Abarfbar)*real(Abarfbar) + imag(Abarfbar)*imag(Abarfbar);
//
//IAf = integral(gamma(B0->f)), etc.
//
IAf = (Af2/(2*gamma_B))*(1+rf2+(1-rf2)/(1+xd*xd));
IAfbar = (Afbar2/(2*gamma_B))*(1+rfbar2+(1-rfbar2)/(1+xd*xd));
IAbarf = (Abarf2/(2*gamma_B))*(1+rbarf2+(1-rbarf2)/(1+xd*xd));
IAbarfbar = (Abarfbar2/(2*gamma_B))*(1+rbarfbar2+(1-rbarfbar2)/(1+xd*xd));
-
+
//flip specifies the relative fraction of fbar events
-
+
fract = IAbarf/(IAbarf+IAf) + flip*IAbarfbar/(IAfbar+IAbarfbar);
- return;
-}
+ return;
+}
void EvtCPUtil::OtherB( EvtParticle *p,double &t, EvtId &otherb, double probB0){
if (_mixingType == EvtCPUtil::Coherent) {
OtherCoherentB(p, t, otherb, probB0);
} else if (_mixingType == EvtCPUtil::Incoherent) {
OtherIncoherentB(p, t, otherb, probB0);
}
}
void EvtCPUtil::OtherCoherentB( EvtParticle *p,double &t, EvtId &otherb, double probB0){
//Can not call this recursively!!!
static int entryCount=0;
entryCount++;
//added by Lange Jan4,2000
static EvtId B0B=EvtPDL::getId("anti-B0");
static EvtId B0=EvtPDL::getId("B0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
static EvtId BS=EvtPDL::getId("B_s0");
static EvtId UPS4S=EvtPDL::getId("Upsilon(4S)");
int isB0=EvtRandom::Flat(0.0,1.0)<probB0;
-
+
int idaug;
-
+
p->setLifetime();
-
+
// now get the time between the decay of this B and the other B!
-
+
EvtParticle *parent=p->getParent();
-
+
EvtParticle *other;
bool incoherentmix=false;
-
+
if ((parent!=0)&&(parent->getId()==B0||
parent->getId()==B0B||
parent->getId()==BS||
parent->getId()==BSB)) {
incoherentmix=true;
}
if (incoherentmix) parent=parent->getParent();
-
+
if (parent==0||parent->getId()!=UPS4S) {
//Need to make this more general, but for now
//assume no parent. If we have parent of B we
//need to charge conj. full decay tree.
-
-
+
+
if (parent!=0) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "p="<<EvtPDL::name(p->getId())
<< " parent="<<EvtPDL::name(parent->getId())
<< endl;
}
assert(parent==0);
p->setLifetime();
t=p->getLifetime();
bool needToChargeConj=false;
if (p->getId()==B0B&&isB0) needToChargeConj=true;
if (p->getId()==B0&&!isB0) needToChargeConj=true;
if (p->getId()==BSB&&isB0) needToChargeConj=true;
if (p->getId()==BS&&!isB0) needToChargeConj=true;
if (needToChargeConj) {
p->setId( EvtPDL::chargeConj(p->getId()));
if (incoherentmix) {
p->getDaug(0)->setId(EvtPDL::chargeConj(p->getDaug(0)->getId()));
}
}
otherb=EvtPDL::chargeConj(p->getId());
-
+
entryCount--;
return;
}
else{
if (parent->getDaug(0)!=p){
other=parent->getDaug(0);
idaug=0;
}
else{
other=parent->getDaug(1);
idaug=1;
}
}
-
+
if (parent != 0 ) {
//if (entryCount>1){
// EvtGenReport(EVTGEN_INFO,"EvtGen") << "Double CP decay:"<<entryCount<<endl;
//}
- //kludge!! Lange Mar21, 2003
- // if the other B is an alias... don't change the flavor..
- if ( other->getId().isAlias() ) {
+ //kludge!! Lange Mar21, 2003
+ // if the other B is an alias... don't change the flavor..
+ if ( other->getId().isAlias() ) {
OtherB(p,t,otherb);
entryCount--;
- return;
-
+ return;
+
}
-
+
if (entryCount==1){
-
+
EvtVector4R p_init=other->getP4();
//int decayed=other->getNDaug()>0;
bool decayed = other->isDecayed();
other->deleteTree();
-
+
EvtScalarParticle* scalar_part;
-
+
scalar_part=new EvtScalarParticle;
if (isB0) {
scalar_part->init(B0,p_init);
}
else{
scalar_part->init(B0B,p_init);
}
other=(EvtParticle *)scalar_part;
// other->set_type(EvtSpinType::SCALAR);
- other->setDiagonalSpinDensity();
-
+ other->setDiagonalSpinDensity();
+
parent->insertDaugPtr(idaug,other);
-
+
if (decayed){
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "In CP Util calling decay \n";
other->decay();
}
}
otherb=other->getId();
other->setLifetime();
t=p->getLifetime()-other->getLifetime();
-
+
otherb = other->getId();
-
+
}
else {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "We have an error here!!!!"<<endl;
- otherb = EvtId(-1,-1);
+ otherb = EvtId(-1,-1);
}
-
+
entryCount--;
return ;
}
// ========================================================================
bool EvtCPUtil::isBsMixed ( EvtParticle * p )
{
if ( ! ( p->getParent() ) ) return false ;
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
if ( ( p->getId() != BS0 ) && ( p->getId() != BSB ) ) return false ;
if ( ( p->getParent()->getId() == BS0 ) ||
( p->getParent()->getId() == BSB ) ) return true ;
return false ;
}
// ========================================================================
bool EvtCPUtil::isB0Mixed ( EvtParticle * p )
{
if ( ! ( p->getParent() ) ) return false ;
static EvtId B0 =EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
if ( ( p->getId() != B0 ) && ( p->getId() != B0B ) ) return false ;
if ( ( p->getParent()->getId() == B0 ) ||
( p->getParent()->getId() == B0B ) ) return true ;
return false ;
}
//============================================================================
-// Return the tag of the event (ie the anti-flavour of the produced
+// Return the tag of the event (ie the anti-flavour of the produced
// B meson). Flip the flavour of the event with probB probability
//============================================================================
void EvtCPUtil::OtherIncoherentB( EvtParticle * p ,
double & t ,
EvtId & otherb ,
double probB )
{
//std::cout<<"New routine running"<<endl;
- //if(p->getId() == B0 || p->getId() == B0B)
+ //if(p->getId() == B0 || p->getId() == B0B)
//added by liming Zhang
enableFlip();
if ( ( isB0Mixed( p ) ) || ( isBsMixed( p ) ) ) {
p->getParent()->setLifetime() ;
t = p->getParent()->getLifetime() ;
}
else {
p->setLifetime() ;
t = p->getLifetime() ;
}
if ( flipIsEnabled() ) {
//std::cout << " liming << flipIsEnabled " << std::endl;
// Flip the flavour of the particle with probability probB
bool isFlipped = ( EvtRandom::Flat( 0. , 1. ) < probB ) ;
if ( isFlipped ) {
if ( ( isB0Mixed( p ) ) || ( isBsMixed( p ) ) ) {
p->getParent()
->setId( EvtPDL::chargeConj( p->getParent()->getId() ) ) ;
p->setId( EvtPDL::chargeConj( p->getId() ) ) ;
}
else {
p->setId( EvtPDL::chargeConj( p->getId() ) ) ;
}
}
}
if ( ( isB0Mixed( p ) ) || ( isBsMixed( p ) ) ) {
// if B has mixed, tag flavour is charge conjugate of parent of B-meson
otherb = EvtPDL::chargeConj( p->getParent()->getId() ) ;
}
else {
// else it is opposite flavour than this B hadron
otherb = EvtPDL::chargeConj( p->getId() ) ;
}
return ;
}
//============================================================================
void EvtCPUtil::OtherB( EvtParticle *p,double &t, EvtId &otherb){
static EvtId BSB=EvtPDL::getId("anti-B_s0");
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId B0B=EvtPDL::getId("anti-B0");
static EvtId B0=EvtPDL::getId("B0");
static EvtId D0B=EvtPDL::getId("anti-D0");
static EvtId D0=EvtPDL::getId("D0");
static EvtId UPS4=EvtPDL::getId("Upsilon(4S)");
if (p->getId()==BS0||p->getId()==BSB){
static double ctauL=EvtPDL::getctau(EvtPDL::getId("B_s0L"));
static double ctauH=EvtPDL::getctau(EvtPDL::getId("B_s0H"));
static double ctau=ctauL<ctauH?ctauH:ctauL;
t=-log(EvtRandom::Flat())*ctau;
EvtParticle* parent=p->getParent();
if (parent!=0&&(parent->getId()==BS0||parent->getId()==BSB)){
if (parent->getId()==BS0) otherb=BSB;
if (parent->getId()==BSB) otherb=BS0;
parent->setLifetime(t);
return;
}
if (p->getId()==BS0) otherb=BSB;
if (p->getId()==BSB) otherb=BS0;
p->setLifetime(t);
return;
}
if (p->getId()==D0||p->getId()==D0B){
static double ctauL=EvtPDL::getctau(EvtPDL::getId("D0L"));
static double ctauH=EvtPDL::getctau(EvtPDL::getId("D0H"));
static double ctau=ctauL<ctauH?ctauH:ctauL;
t=-log(EvtRandom::Flat())*ctau;
EvtParticle* parent=p->getParent();
if (parent!=0&&(parent->getId()==D0||parent->getId()==D0B)){
if (parent->getId()==D0) otherb=D0B;
if (parent->getId()==D0B) otherb=D0;
parent->setLifetime(t);
return;
}
if (p->getId()==D0) otherb=D0B;
if (p->getId()==D0B) otherb=D0;
p->setLifetime(t);
return;
}
p->setLifetime();
// now get the time between the decay of this B and the other B!
-
+
EvtParticle *parent=p->getParent();
if (parent==0||parent->getId()!=UPS4) {
- //EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
+ //EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
// "Warning CP violation with B having no parent!"<<endl;
t=p->getLifetime();
if (p->getId()==B0) otherb=B0B;
if (p->getId()==B0B) otherb=B0;
if (p->getId()==BS0) otherb=BSB;
if (p->getId()==BSB) otherb=BS0;
return;
}
else{
if (parent->getDaug(0)!=p){
otherb=parent->getDaug(0)->getId();
parent->getDaug(0)->setLifetime();
t=p->getLifetime()-parent->getDaug(0)->getLifetime();
}
else{
otherb=parent->getDaug(1)->getId();
parent->getDaug(1)->setLifetime();
t=p->getLifetime()-parent->getDaug(1)->getLifetime();
}
}
return ;
}
// No CP violation is assumed
void EvtCPUtil::incoherentMix(const EvtId id, double &t, int &mix){
int stdHepNum=EvtPDL::getStdHep(id);
stdHepNum=abs(stdHepNum);
-
+
EvtId partId=EvtPDL::evtIdFromStdHep(stdHepNum);
std::string partName=EvtPDL::name(partId);
std::string hname=partName+std::string("H");
std::string lname=partName+std::string("L");
EvtId lId=EvtPDL::getId(lname);
EvtId hId=EvtPDL::getId(hname);
double ctauL=EvtPDL::getctau(lId);
double ctauH=EvtPDL::getctau(hId);
// Bug Fixed: Corrected the average as gamma is the relevent parameter
double ctau=2.0*(ctauL*ctauH)/(ctauL+ctauH);
//double ctau=0.5*(ctauL+ctauH);
// Bug Fixed: ctau definition changed above
//double y=(ctauH-ctauL)/(2*ctau);
double y=(ctauH-ctauL)/(ctauH+ctauL);
//deltam and qoverp defined in DECAY.DEC
std::string qoverpParmName=std::string("qoverp_incohMix_")+partName;
std::string mdParmName=std::string("dm_incohMix_")+partName;
int ierr;
double qoverp=atof(EvtSymTable::get(qoverpParmName,ierr).c_str());
double x=atof(EvtSymTable::get(mdParmName,ierr).c_str())*ctau/EvtConst::c;
double fac;
if(id==partId){
fac=1.0/(qoverp*qoverp);
}
else{
fac=qoverp*qoverp;
}
double mixprob=(x*x+y*y)/(x*x+y*y+fac*(2.0+x*x-y*y));
int mixsign;
mixsign=(mixprob>EvtRandom::Flat(0.0,1.0))?-1:1;
double prob;
// Find the longest of the two lifetimes
double ctaulong = ctauL<=ctauH?ctauH:ctauL;
// Bug fixed: Ensure cosine argument is dimensionless so /ctau
do{
t=-log(EvtRandom::Flat())*ctaulong;
prob=1.0+exp(-2.0*fabs(y)*t/ctau)+mixsign*2.0*exp(-fabs(y)*t/ctau)*cos(x*t/ctau);
}while(prob<4.0*EvtRandom::Flat());
mix=0;
if (mixsign==-1) mix=1;
-
+
return;
}
double EvtCPUtil::getDeltaGamma(const EvtId id){
int stdHepNum = EvtPDL::getStdHep(id);
stdHepNum = abs(stdHepNum);
EvtId partId = EvtPDL::evtIdFromStdHep(stdHepNum);
std::string partName = EvtPDL::name(partId);
std::string hname = partName + std::string("H");
std::string lname = partName + std::string("L");
-
+
EvtId lId = EvtPDL::getId(lname);
EvtId hId = EvtPDL::getId(hname);
- double ctauL = EvtPDL::getctau(lId);
+ double ctauL = EvtPDL::getctau(lId);
double ctauH = EvtPDL::getctau(hId);
-
+
double dGamma = (1/ctauL - 1/ctauH)*EvtConst::c;
return dGamma;
}
double EvtCPUtil::getDeltaM(const EvtId id){
- int stdHepNum = EvtPDL::getStdHep(id);
- stdHepNum = abs(stdHepNum);
+ int stdHepNum = EvtPDL::getStdHep(id);
+ stdHepNum = abs(stdHepNum);
EvtId partId = EvtPDL::evtIdFromStdHep(stdHepNum);
-
+
std::string partName = EvtPDL::name(partId);
std::string parmName = std::string("dm_incohMix_") + partName;
- int ierr;
+ int ierr;
double dM = atof(EvtSymTable::get(parmName,ierr).c_str());
return dM;
}
bool EvtCPUtil::flipIsEnabled() { return _enableFlip ; }
void EvtCPUtil::enableFlip() { _enableFlip = true ; }
void EvtCPUtil::disableFlip() { _enableFlip = false ; }
diff --git a/src/EvtGenBase/EvtComplex.cpp b/src/EvtGenBase/EvtComplex.cpp
index ef36cf4..179dda0 100644
--- a/src/EvtGenBase/EvtComplex.cpp
+++ b/src/EvtGenBase/EvtComplex.cpp
@@ -1,63 +1,63 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtComplex.cc
//
// Description: EvtComlex.cc
//
// Modification history:
//
// RYD December 5, 1998 Created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtComplex.hh"
using std::ostream;
ostream& operator<<(ostream& s, const EvtComplex& c){
s<<"("<<c._rpart<<","<<c._ipart<<")";
return s;
}
EvtComplex& EvtComplex::operator*=(EvtComplex c){
double r=_rpart*c._rpart-_ipart*c._ipart;
double i=_rpart*c._ipart+_ipart*c._rpart;
_rpart=r;
_ipart=i;
return *this;
}
EvtComplex& EvtComplex::operator/=(EvtComplex c){
double inv=1.0/(c._rpart*c._rpart+c._ipart*c._ipart);
double r=inv*(_rpart*c._rpart+_ipart*c._ipart);
- double i=inv*(_rpart*c._ipart-_ipart*c._rpart);
+ double i=inv*(_ipart*c._rpart-_rpart*c._ipart);
_rpart=r;
_ipart=i;
return *this;
}
diff --git a/src/EvtGenBase/EvtCyclic3.cpp b/src/EvtGenBase/EvtCyclic3.cpp
index 5cbe7a6..1d7ba74 100644
--- a/src/EvtGenBase/EvtCyclic3.cpp
+++ b/src/EvtGenBase/EvtCyclic3.cpp
@@ -1,332 +1,332 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtCyclic3.cpp,v 1.3 2009-03-16 15:55:13 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <assert.h>
#include <string.h>
#include <iostream>
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtPatches.hh"
using std::ostream;
using namespace EvtCyclic3;
Index EvtCyclic3::permute(Index i, Perm p)
{
if(p == ABC) return i;
else if(p == BCA) {
if(i == A) return C;
else if(i == B) return A;
else if(i == C) return B;
}
else if(p == BCA) {
if(i == A) return C;
else if(i == B) return A;
else if(i == C) return B;
}
else if(p == CAB) {
if(i == A) return B;
else if(i == B) return C;
else if(i == C) return A;
}
else if(p == CBA) {
if(i == A) return C;
else if(i == B) return B;
else if(i == C) return A;
}
else if(p == BAC) {
if(i == A) return B;
else if(i == B) return A;
else if(i == C) return C;
}
else if(p == ACB) {
if(i == A) return A;
else if(i == B) return C;
else if(i == C) return B;
}
assert(0);
return A;
}
Perm EvtCyclic3::permutation(Index i1,Index i2,Index i3)
{
assert(i1 != i2 && i2 != i3 && i3 != i1); _unused( i3 );
if(i1 == A) return (i2 == B) ? ABC : ACB;
if(i1 == B) return (i2 == C) ? BCA : BAC;
if(i1 == C) return (i2 == A) ? CAB : CBA;
assert(0);
return ABC;
}
Perm EvtCyclic3::permute(Perm i,Perm p)
{
Index i1 = permute(permute(A,i),p);
Index i2 = permute(permute(B,i),p);
Index i3 = permute(permute(C,i),p);
return permutation(i1,i2,i3);
}
Pair EvtCyclic3::permute(Pair i, Perm p)
{
Index i1 = permute(first(i),p);
Index i2 = permute(second(i),p);
return combine(i1,i2);
}
Pair EvtCyclic3::i2pair(int i)
{
- assert(0<=i && i<=2);
+ assert(0<=i && i<=2);
switch(i) {
case 0: return BC;
case 1: return CA;
case 2: return AB;
}
assert(0); return AB; // should never get here
}
-Index EvtCyclic3::prev(Index i)
+Index EvtCyclic3::prev(Index i)
{
switch(i) {
case A: return C;
case B: return A;
case C: return B;
}
assert(0); return A; // should never get here
}
-Index EvtCyclic3::next(Index i)
+Index EvtCyclic3::next(Index i)
{
switch(i) {
case A: return B;
case B: return C;
case C: return A;
}
assert(0); return A; // should never get here
}
Index EvtCyclic3::other(Index i, Index j)
{
assert(i != j);
switch(i) {
case A:
switch(j) {
case B: return C;
case C: return B;
default: assert(0);
}
case B:
switch(j) {
case C: return A;
case A: return C;
default: assert(0);
}
case C:
switch(j) {
case A: return B;
case B: return A;
default: assert(0);
}
}
assert(0); return A; // should never get here
}
// Index-to-pair conversions
-Pair EvtCyclic3::other(Index i)
+Pair EvtCyclic3::other(Index i)
{
switch(i) {
case A: return BC;
case B: return CA;
case C: return AB;
}
assert(0); return AB; // should never get here
}
Pair EvtCyclic3::combine(Index i, Index j)
{
return other(other(i,j));
}
// Pair-to-pair conversions
-Pair EvtCyclic3::prev(Pair i)
+Pair EvtCyclic3::prev(Pair i)
{
- Pair ret = CA;
- if(i == BC) ret = AB;
- else
- if(i == CA) ret = BC;
-
- return ret;
-}
+ switch(i){
+ case BC: return AB;
+ case CA: return BC;
+ case AB: return CA;
+ }
+ assert(0); return AB; // should never get here
+}
-Pair EvtCyclic3::next(Pair i)
+Pair EvtCyclic3::next(Pair i)
{
- Pair ret = BC;
- if(i == BC) ret = CA;
- else
- if(i == CA) ret = AB;
-
- return ret;
-}
+ switch(i) {
+ case BC: return CA;
+ case CA: return AB;
+ case AB: return BC;
+ }
+ assert(0); return AB; // should never get here
+}
Pair EvtCyclic3::other(Pair i, Pair j)
{
return combine(other(i),other(j));
}
// Pair-to-index conversions
-Index EvtCyclic3::first(Pair i)
+Index EvtCyclic3::first(Pair i)
{
switch(i) {
case BC: return B;
case CA: return C;
case AB: return A;
}
assert(0); return A; // should never get here
-}
+}
-Index EvtCyclic3::second(Pair i)
+Index EvtCyclic3::second(Pair i)
{
switch(i) {
case BC: return C;
case CA: return A;
case AB: return B;
}
assert(0); return A; // should never get here
-}
+}
-Index EvtCyclic3::other(Pair i)
+Index EvtCyclic3::other(Pair i)
{
switch(i) {
case BC: return A;
case CA: return B;
case AB: return C;
}
assert(0); return A; // should never get here
}
Index EvtCyclic3::common(Pair i, Pair j)
{
return other(other(i,j));
}
-Index EvtCyclic3::strToIndex(const char* str)
+Index EvtCyclic3::strToIndex(const char* str)
{
if(strcmp(str,"A")) return A;
else if(strcmp(str,"B")) return B;
else if(strcmp(str,"C")) return C;
else assert(0); return A;
}
Pair EvtCyclic3::strToPair(const char* str)
{
if(!strcmp(str,"AB") || !strcmp(str,"BA")) return AB;
else if(!strcmp(str,"BC") || !strcmp(str,"CB")) return BC;
else if(!strcmp(str,"CA") || !strcmp(str,"AC")) return CA;
else assert(0); return AB;
}
const char* EvtCyclic3::c_str(Index i)
{
switch(i) {
case A: return "A";
case B: return "B";
case C: return "C";
}
assert(0); return 0; // sngh
}
const char* EvtCyclic3::c_str(Pair i)
{
switch(i) {
case BC: return "BC";
case CA: return "CA";
case AB: return "AB";
}
assert(0); return 0; // sngh
}
const char* EvtCyclic3::c_str(Perm p)
{
if(p == ABC) return "ABC";
if(p == BCA) return "BCA";
if(p == CAB) return "CAB";
if(p == CBA) return "CBA";
if(p == BAC) return "BAC";
if(p == ACB) return "ACB";
assert(0);
return "ABC";
}
char* EvtCyclic3::append(const char* str, EvtCyclic3::Index i)
{
// str + null + 1 character
char* s = new char[strlen(str)+2];
strcpy(s,str);
strcat(s,c_str(i));
-
+
return s;
}
char* EvtCyclic3::append(const char* str, EvtCyclic3::Pair i)
{
// str + null + 2 characters
char* s = new char[strlen(str)+3];
strcpy(s,str);
strcat(s,c_str(i));
-
+
return s;
}
-ostream& operator<<(ostream& os, EvtCyclic3::Index i)
+ostream& operator<<(ostream& os, EvtCyclic3::Index i)
{
switch(i) {
case A: { os << "A"; return os; }
case B: { os << "B"; return os; }
case C: { os << "C"; return os; }
}
assert(0); return os; // should never get here
}
ostream& operator<<(ostream& os, EvtCyclic3::Pair i)
{
switch(i) {
case BC: { os << "BC"; return os; }
case CA: { os << "CA"; return os; }
case AB: { os << "AB"; return os; }
}
assert(0); return os; // should never get here
}
diff --git a/src/EvtGenBase/EvtDalitzCoord.cpp b/src/EvtGenBase/EvtDalitzCoord.cpp
index de2e0de..2c573c7 100644
--- a/src/EvtGenBase/EvtDalitzCoord.cpp
+++ b/src/EvtGenBase/EvtDalitzCoord.cpp
@@ -1,58 +1,54 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzCoord.cpp,v 1.3 2009-03-16 15:55:13 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <assert.h>
#include <iostream>
#include "EvtGenBase/EvtDalitzCoord.hh"
using std::endl;
using std::ostream;
using EvtCyclic3::Pair;
// For coordinates it's good to alway have a
// default ctor. Initialize to something invalid.
EvtDalitzCoord::EvtDalitzCoord()
: _i1(EvtCyclic3::AB), _i2(EvtCyclic3::BC), _q1(-1.), _q2(-1.)
{}
EvtDalitzCoord::EvtDalitzCoord(const EvtDalitzCoord& other)
: _i1(other._i1), _i2(other._i2), _q1(other._q1), _q2(other._q2)
{}
EvtDalitzCoord::EvtDalitzCoord(Pair i1, double q1, Pair i2, double q2)
: _i1(i1), _i2(i2),_q1(q1),_q2(q2)
-{}
-
-
-EvtDalitzCoord::~EvtDalitzCoord()
{}
bool EvtDalitzCoord::operator==(const EvtDalitzCoord& other) const
{
- return (_i1 == other._i1 && _i2 == other._i2 &&
+ return (_i1 == other._i1 && _i2 == other._i2 &&
_q1 == other._q1 && _q2 == other._q2);
}
void EvtDalitzCoord::print(ostream& os) const
{
os << _i1 << " " << _q1 << endl;
os << _i2 << " " << _q2 << endl;
}
ostream& operator<<(ostream& os,const EvtDalitzCoord& p)
{
p.print(os);
return os;
}
diff --git a/src/EvtGenBase/EvtDalitzFlatPdf.cpp b/src/EvtGenBase/EvtDalitzFlatPdf.cpp
index 1e23c4f..697b085 100644
--- a/src/EvtGenBase/EvtDalitzFlatPdf.cpp
+++ b/src/EvtGenBase/EvtDalitzFlatPdf.cpp
@@ -1,67 +1,64 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzFlatPdf.cpp,v 1.3 2009-03-16 15:53:27 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtDalitzFlatPdf.hh"
EvtDalitzFlatPdf::EvtDalitzFlatPdf(const EvtDalitzPlot& dp)
: EvtPdf<EvtDalitzPoint>(), _dp(dp)
{}
EvtDalitzFlatPdf::EvtDalitzFlatPdf(const EvtDalitzFlatPdf& other)
: EvtPdf<EvtDalitzPoint>(other), _dp(other._dp)
{}
-EvtDalitzFlatPdf::~EvtDalitzFlatPdf()
-{}
-
EvtPdf<EvtDalitzPoint>* EvtDalitzFlatPdf::clone() const
{
return new EvtDalitzFlatPdf(*this);
}
double EvtDalitzFlatPdf::pdf(const EvtDalitzPoint&) const
{
return 1.;
}
-
+
EvtValError EvtDalitzFlatPdf::compute_integral(int N) const
{
return EvtValError(_dp.getArea(N),0.);
}
EvtDalitzPoint EvtDalitzFlatPdf::randomPoint()
{
- // To obtain a uniform distribution generate
- // in terms of q's. Generate in a box that circumscribes the
- // Dalitz plot. Accept points inside. If there are two
+ // To obtain a uniform distribution generate
+ // in terms of q's. Generate in a box that circumscribes the
+ // Dalitz plot. Accept points inside. If there are two
// many unsuccessful attempts it's a hint that the Dalitz plot
// area is tiny compared to the box. It's a pathological
// case. Abort.
-
+
EvtCyclic3::Pair pair1 = EvtCyclic3::BC;
EvtCyclic3::Pair pair2 = EvtCyclic3::CA;
-
+
int n = 0;
int maxTries = 1000;
while(n++ < maxTries) {
-
+
double q1 = EvtRandom::Flat(_dp.qAbsMin(pair1),_dp.qAbsMax(pair2));
- double q2 = EvtRandom::Flat(_dp.qAbsMin(pair2),_dp.qAbsMax(pair2));
-
+ double q2 = EvtRandom::Flat(_dp.qAbsMin(pair2),_dp.qAbsMax(pair2));
+
EvtDalitzCoord point(pair1,q1,pair2,q2);
EvtDalitzPoint x(_dp,point);
-
+
if(x.isValid()) return x;
}
-
+
printf("No point generated for dalitz plot after %d tries\n",maxTries);
return EvtDalitzPoint();
}
diff --git a/src/EvtGenBase/EvtDalitzPlot.cpp b/src/EvtGenBase/EvtDalitzPlot.cpp
index fe540c1..b95b254 100644
--- a/src/EvtGenBase/EvtDalitzPlot.cpp
+++ b/src/EvtGenBase/EvtDalitzPlot.cpp
@@ -1,353 +1,342 @@
//-----------------------------------------------------------------------
// File and Version Information:
// $Id: EvtDalitzPlot.cpp,v 1.3 2009-03-16 15:53:27 robbep Exp $
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
// Global 3-body Dalitz decay kinematics as defined by the mass
// of the mother and the daughters. Spins are not considered.
#include <math.h>
#include <assert.h>
#include <stdio.h>
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtDalitzPlot.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtDecayMode.hh"
using namespace EvtCyclic3;
EvtDalitzPlot::EvtDalitzPlot()
: _mA(0.), _mB(0.), _mC(0.), _bigM(0.),
_ldel(0.), _rdel(0.)
{}
EvtDalitzPlot::EvtDalitzPlot(double mA, double mB, double mC, double bigM,
double ldel, double rdel)
: _mA(mA), _mB(mB), _mC(mC), _bigM(bigM),
_ldel(ldel), _rdel(rdel)
{
sanityCheck();
}
EvtDalitzPlot::EvtDalitzPlot(const EvtDecayMode& mode, double ldel, double rdel )
{
_mA = EvtPDL::getMeanMass(EvtPDL::getId(mode.dau(A)));
_mB = EvtPDL::getMeanMass(EvtPDL::getId(mode.dau(B)));
_mC = EvtPDL::getMeanMass(EvtPDL::getId(mode.dau(C)));
_bigM = EvtPDL::getMeanMass(EvtPDL::getId(mode.mother()));
_ldel = ldel;
_rdel = rdel;
sanityCheck();
}
-
-EvtDalitzPlot::EvtDalitzPlot(const EvtDalitzPlot& other)
- : _mA(other._mA), _mB(other._mB), _mC(other._mC), _bigM(other._bigM),
- _ldel(other._ldel), _rdel(other._rdel)
-{}
-
-
-EvtDalitzPlot::~EvtDalitzPlot()
-{}
-
-
bool EvtDalitzPlot::operator==(const EvtDalitzPlot& other) const
{
bool ret = false;
if(_mA == other._mA &&
_mB == other._mB &&
_mC == other._mC &&
_bigM == other._bigM) ret = true;
return ret;
}
const EvtDalitzPlot* EvtDalitzPlot::clone() const
{
return new EvtDalitzPlot(*this);
}
void EvtDalitzPlot::sanityCheck() const
{
if(_mA < 0 || _mB < 0 || _mC < 0 || _bigM <= 0 || _bigM - _mA - _mB - _mC < 0.) {
printf("Invalid Dalitz plot %f %f %f %f\n",_mA,_mB,_mC,_bigM);
assert(0);
}
assert(_ldel <= 0.);
assert(_rdel >= 0.);
}
double EvtDalitzPlot::m(Index i) const {
double m = _mA;
if(i == B) m = _mB;
else
if(i == C) m = _mC;
return m;
}
double EvtDalitzPlot::sum() const
{
return _mA*_mA + _mB*_mB + _mC*_mC + _bigM*_bigM;
}
double EvtDalitzPlot::qAbsMin(Pair i) const
{
Index j = first(i);
Index k = second(i);
return (m(j) + m(k))*(m(j) + m(k));
}
double EvtDalitzPlot::qAbsMax(Pair i) const
{
Index j = other(i);
return (_bigM-m(j))*(_bigM-m(j));
}
double EvtDalitzPlot::qResAbsMin(EvtCyclic3::Pair i) const
{
return qAbsMin(i) - sum()/3.;
}
double EvtDalitzPlot::qResAbsMax(EvtCyclic3::Pair i) const
{
return qAbsMax(i) - sum()/3.;
}
double EvtDalitzPlot::qHelAbsMin(EvtCyclic3::Pair i) const
{
Pair j = next(i);
Pair k = prev(i);
return (qAbsMin(j) - qAbsMax(k))/2.;
}
double EvtDalitzPlot::qHelAbsMax(EvtCyclic3::Pair i) const
{
Pair j = next(i);
Pair k = prev(i);
return (qAbsMax(j) - qAbsMin(k))/2.;
}
double EvtDalitzPlot::mAbsMin(Pair i) const
{
return sqrt(qAbsMin(i));
}
double EvtDalitzPlot::mAbsMax(Pair i) const
{
return sqrt(qAbsMax(i));
}
// parallel
double EvtDalitzPlot::qMin(Pair i, Pair j, double q) const
{
if(i == j) return q;
else {
// Particle pair j defines the rest-frame
// 0 - particle common to r.f. and angle calculations
// 1 - particle belonging to r.f. but not angle
// 2 - particle not belonging to r.f.
Index k0 = common(i,j);
Index k2 = other(j);
Index k1 = other(k0,k2);
// Energy, momentum of particle common to rest-frame and angle
EvtTwoBodyKine jpair(m(k0),m(k1),sqrt(q));
double pk = jpair.p();
double ek = jpair.e(EvtTwoBodyKine::A,EvtTwoBodyKine::AB);
// Energy and momentum of the other particle
EvtTwoBodyKine mother(sqrt(q),m(k2),bigM());
double ej = mother.e(EvtTwoBodyKine::B,EvtTwoBodyKine::A);
double pj = mother.p(EvtTwoBodyKine::A);
// See PDG 34.4.3.1
return (ek+ej)*(ek+ej) - (pk+pj)*(pk+pj);
}
}
// antiparallel
double EvtDalitzPlot::qMax(Pair i, Pair j, double q) const
{
if(i == j) return q;
else {
// Particle pair j defines the rest-frame
// 0 - particle common to r.f. and angle calculations
// 1 - particle belonging to r.f. but not angle
// 2 - particle not belonging to r.f.
Index k0 = common(i,j);
Index k2 = other(j);
Index k1 = other(k0,k2);
// Energy, momentum of particle common to rest-frame and angle
EvtTwoBodyKine jpair(m(k0),m(k1),sqrt(q));
double ek = jpair.e(EvtTwoBodyKine::A,EvtTwoBodyKine::AB);
double pk = jpair.p();
// Energy and momentum of the other particle
EvtTwoBodyKine mother(sqrt(q),m(k2),bigM());
double ej = mother.e(EvtTwoBodyKine::B,EvtTwoBodyKine::A);
double pj = mother.p(EvtTwoBodyKine::A);
// See PDG 34.4.3.1
return (ek+ej)*(ek+ej) - (pk-pj)*(pk-pj);
}
}
double EvtDalitzPlot::getArea(int N, Pair i, Pair j) const
{
// Trapezoidal integral over qi. qj can be calculated.
// The first and the last point are zero, so they are not counted
double dh = (qAbsMax(i) - qAbsMin(i))/((double) N);
double sum = 0;
int ii;
for(ii=1;ii<N;ii++) {
double x = qAbsMin(i) + ii*dh;
double dy = qMax(j,i,x) - qMin(j,i,x);
sum += dy;
}
return sum * dh;
}
double EvtDalitzPlot::cosTh(EvtCyclic3::Pair i1, double q1, EvtCyclic3::Pair i2, double q2) const
{
if(i1 == i2) return 1.;
double qmax = qMax(i1,i2,q2);
double qmin = qMin(i1,i2,q2);
double cos = (qmax + qmin - 2*q1)/(qmax - qmin);
return cos;
}
double EvtDalitzPlot::e(Index i, Pair j, double q) const
{
if(i == other(j)) {
// i does not belong to pair j
return (bigM()*bigM()-q-m(i)*m(i))/2/sqrt(q);
}
else {
// i and k make pair j
Index k;
if(first(j) == i) k = second(j);
else k = first(j);
double e = (q + m(i)*m(i) - m(k)*m(k))/2/sqrt(q);
return e;
}
}
double EvtDalitzPlot::p(Index i, Pair j, double q) const
{
double en = e(i,j,q);
double p2 = en*en - m(i)*m(i);
if(p2 < 0) {
printf("Bad value of p2 %f %d %d %f %f\n",p2,i,j,en,m(i));
assert(0);
}
return sqrt(p2);
}
double EvtDalitzPlot::q(EvtCyclic3::Pair i1, double cosTh, EvtCyclic3::Pair i2, double q2) const
{
if(i1 == i2) return q2;
EvtCyclic3::Index f = first(i1);
EvtCyclic3::Index s = second(i1);
return m(f)*m(f) + m(s)*m(s) + 2*e(f,i2,q2)*e(s,i2,q2) - 2*p(f,i2,q2)*p(s,i2,q2)*cosTh;
}
double EvtDalitzPlot::jacobian(EvtCyclic3::Pair i, double q) const
{
return 2*p(first(i),i,q)*p(other(i),i,q); // J(BC) = 2pA*pB = 2pA*pC
}
EvtTwoBodyVertex EvtDalitzPlot::vD(Pair iRes, double m0, int L) const
{
return EvtTwoBodyVertex(m(first(iRes)),
m(second(iRes)),m0,L);
}
EvtTwoBodyVertex EvtDalitzPlot::vB(Pair iRes, double m0, int L) const
{
return EvtTwoBodyVertex(m0,m(other(iRes)),bigM(),L);
}
void EvtDalitzPlot::print() const
{
// masses
printf("Mass M %f\n",bigM());
printf("Mass mA %f\n",_mA);
printf("Mass mB %f\n",_mB);
printf("Mass mC %f\n",_mC);
// limits
printf("Limits qAB %f : %f\n",qAbsMin(AB),qAbsMax(AB));
printf("Limits qBC %f : %f\n",qAbsMin(BC),qAbsMax(BC));
printf("Limits qCA %f : %f\n",qAbsMin(CA),qAbsMax(CA));
printf("Sum q %f\n",sum());
printf("Limit qsum %f : %f\n",qSumMin(),qSumMax());
}
diff --git a/src/EvtGenBase/EvtDalitzPoint.cpp b/src/EvtGenBase/EvtDalitzPoint.cpp
index 8c52ff7..8c3c227 100644
--- a/src/EvtGenBase/EvtDalitzPoint.cpp
+++ b/src/EvtGenBase/EvtDalitzPoint.cpp
@@ -1,188 +1,180 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzPoint.cpp,v 1.3 2009-03-16 15:53:27 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include "EvtGenBase/EvtPatches.hh"
#include <assert.h>
#include <math.h>
#include <stdio.h>
#include "EvtGenBase/EvtDalitzPoint.hh"
using namespace EvtCyclic3;
-EvtDalitzPoint::EvtDalitzPoint()
+EvtDalitzPoint::EvtDalitzPoint()
: _mA(-1.), _mB(-1.), _mC(-1.), _qAB(-1.), _qBC(-1.), _qCA(-1.)
{}
EvtDalitzPoint::EvtDalitzPoint(double mA, double mB, double mC, double qAB, double qBC, double qCA)
: _mA(mA), _mB(mB), _mC(mC), _qAB(qAB), _qBC(qBC), _qCA(qCA)
{}
// Constructor from Zemach coordinates
-EvtDalitzPoint::EvtDalitzPoint(double mA, double mB, double mC,
- EvtCyclic3::Pair i,
+EvtDalitzPoint::EvtDalitzPoint(double mA, double mB, double mC,
+ EvtCyclic3::Pair i,
double qres, double qhel, double qsum)
: _mA(mA), _mB(mB), _mC(mC)
{
double qi = qres + qsum/3.;
double qj = -qres/2. + qhel + qsum/3.;
double qk = -qres/2. - qhel + qsum/3.;
-
+
if(i == AB) { _qAB = qi; _qBC = qj; _qCA = qk; }
else if(i == BC) { _qAB = qk; _qBC = qi; _qCA = qj; }
else if(i == CA) { _qAB = qj; _qBC = qk; _qCA = qi; }
}
EvtDalitzPoint::EvtDalitzPoint(const EvtDalitzPlot& dp, const EvtDalitzCoord& x)
: _mA(dp.m(A)), _mB(dp.m(B)), _mC(dp.m(C))
{
if(x.pair1() == AB) _qAB = x.q1();
else
if(x.pair2() == AB) _qAB = x.q2();
else _qAB = dp.sum() - x.q1() - x.q2();
if(x.pair1() == BC) _qBC = x.q1();
else
if(x.pair2() == BC) _qBC = x.q2();
else _qBC = dp.sum() - x.q1() - x.q2();
if(x.pair1() == CA) _qCA = x.q1();
else
if(x.pair2() == CA) _qCA = x.q2();
else _qCA = dp.sum() - x.q1() - x.q2();
-
-}
-
-EvtDalitzPoint::EvtDalitzPoint(const EvtDalitzPoint& other)
- : _mA(other._mA), _mB(other._mB), _mC(other._mC),
- _qAB(other._qAB), _qBC(other._qBC), _qCA(other._qCA)
-{}
-EvtDalitzPoint::~EvtDalitzPoint()
-{}
+}
double EvtDalitzPoint::q(EvtCyclic3::Pair i) const
{
double ret = _qAB;
if(BC == i) ret = _qBC;
else
if(CA == i) ret = _qCA;
-
+
return ret;
}
double EvtDalitzPoint::m(EvtCyclic3::Index i) const
{
double ret = _mA;
if(B == i) ret = _mB;
else
if(C == i) ret = _mC;
-
+
return ret;
}
// Zemach variables
double EvtDalitzPoint::qres(EvtCyclic3::Pair i) const
{
return (2.*q(i) - q(EvtCyclic3::prev(i)) - q(EvtCyclic3::next(i)))/3.;
}
double EvtDalitzPoint::qhel(EvtCyclic3::Pair i) const
{
Pair j = next(i);
Pair k = prev(i);
return (q(j) - q(k))/2.;
}
double EvtDalitzPoint::qsum() const
{
return _qAB + _qBC + _qCA;
}
double EvtDalitzPoint::qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
{
EvtDalitzPlot dp = getDalitzPlot();
return dp.qMin(i,j,q(j));
}
double EvtDalitzPoint::qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
{
EvtDalitzPlot dp = getDalitzPlot();
return dp.qMax(i,j,q(j));
}
-
-double EvtDalitzPoint::pp(EvtCyclic3::Index i, EvtCyclic3::Index j) const
+
+double EvtDalitzPoint::pp(EvtCyclic3::Index i, EvtCyclic3::Index j) const
{
- if(i == j) return m(i)*m(i);
+ if(i == j) return m(i)*m(i);
else return (q(combine(i,j)) - m(i)*m(i) - m(j)*m(j))/2.;
}
double EvtDalitzPoint::e(EvtCyclic3::Index i, EvtCyclic3::Pair j) const
-{
+{
EvtDalitzPlot dp = getDalitzPlot();
- return dp.e(i,j,q(j));
+ return dp.e(i,j,q(j));
}
double EvtDalitzPoint::p(EvtCyclic3::Index i, EvtCyclic3::Pair j) const
-{
+{
EvtDalitzPlot dp = getDalitzPlot();
- return dp.p(i,j,q(j));
+ return dp.p(i,j,q(j));
}
double EvtDalitzPoint::cosTh(EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes) const
{
EvtDalitzPlot dp = getDalitzPlot();
return dp.cosTh(pairAng,q(pairAng),pairRes,q(pairRes));
}
-
+
EvtDalitzCoord EvtDalitzPoint::getDalitzPoint(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
{
return EvtDalitzCoord(i,q(i),j,q(j));
}
EvtDalitzPlot EvtDalitzPoint::getDalitzPlot() const
{
return EvtDalitzPlot(_mA,_mB,_mC,bigM());
}
bool EvtDalitzPoint::isValid() const
-{
+{
// Check masses
double M = bigM();
if(_mA < 0 || _mB < 0 || _mC < 0 || M <= 0) return false;
if(M < _mA + _mB + _mC) return false;
// Check that first coordinate is within absolute limits
-
- bool inside = false;
+
+ bool inside = false;
EvtDalitzPlot dp = getDalitzPlot();
- if(dp.qAbsMin(AB) <= _qAB && _qAB <= dp.qAbsMax(AB))
+ if(dp.qAbsMin(AB) <= _qAB && _qAB <= dp.qAbsMax(AB))
if(qMin(BC,AB) <= _qBC && _qBC <= qMax(BC,AB))
inside = true;
-
+
return inside;
}
double EvtDalitzPoint::bigM() const
{
return sqrt(_qAB+_qBC+_qCA - _mA*_mA - _mB*_mB - _mC*_mC);
}
void EvtDalitzPoint::print() const
{
getDalitzPlot().print();
printf("%f %f %f\n",_qAB,_qBC,_qCA);
}
diff --git a/src/EvtGenBase/EvtDalitzResPdf.cpp b/src/EvtGenBase/EvtDalitzResPdf.cpp
index 7a03b68..b9efd5f 100644
--- a/src/EvtGenBase/EvtDalitzResPdf.cpp
+++ b/src/EvtGenBase/EvtDalitzResPdf.cpp
@@ -1,105 +1,98 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzResPdf.cpp,v 1.3 2009-03-16 15:54:07 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <stdio.h>
#include <math.h>
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtDalitzResPdf.hh"
#include "EvtGenBase/EvtDalitzCoord.hh"
#include "EvtGenBase/EvtRandom.hh"
using namespace EvtCyclic3;
-EvtDalitzResPdf::EvtDalitzResPdf(const EvtDalitzPlot& dp,
+EvtDalitzResPdf::EvtDalitzResPdf(const EvtDalitzPlot& dp,
double _m0, double _g0, EvtCyclic3::Pair pair)
- : EvtPdf<EvtDalitzPoint>(),
+ : EvtPdf<EvtDalitzPoint>(),
_dp(dp), _m0(_m0), _g0(_g0), _pair(pair)
{}
-EvtDalitzResPdf::EvtDalitzResPdf(const EvtDalitzResPdf& other)
- : EvtPdf<EvtDalitzPoint>(other),
- _dp(other._dp),_m0(other._m0), _g0(other._g0), _pair(other._pair)
-{}
-
-EvtDalitzResPdf::~EvtDalitzResPdf()
-{}
EvtValError EvtDalitzResPdf::compute_integral(int N) const
{
assert(N != 0);
-
+
EvtCyclic3::Pair i = _pair;
EvtCyclic3::Pair j = EvtCyclic3::next(i);
// Trapezoidal integral
double dh = (_dp.qAbsMax(j) - _dp.qAbsMin(j))/((double) N);
double sum = 0;
-
+
int ii;
for(ii=1;ii<N;ii++) {
-
+
double x = _dp.qAbsMin(j) + ii*dh;
double min = (_dp.qMin(i,j,x) - _m0*_m0)/_m0/_g0;
double max = (_dp.qMax(i,j,x) - _m0*_m0)/_m0/_g0;
double itg = 1/EvtConst::pi*(atan(max) - atan(min));
sum += itg;
}
- EvtValError ret(sum*dh,0.);
-
+ EvtValError ret(sum*dh,0.);
+
return ret;
}
EvtDalitzPoint EvtDalitzResPdf::randomPoint()
{
- // Random point generation must be done in a box encompassing the
+ // Random point generation must be done in a box encompassing the
// Dalitz plot
EvtCyclic3::Pair i = _pair;
- EvtCyclic3::Pair j = EvtCyclic3::next(i);
+ EvtCyclic3::Pair j = EvtCyclic3::next(i);
double min = 1/EvtConst::pi*atan((_dp.qAbsMin(i) - _m0*_m0)/_m0/_g0);
double max = 1/EvtConst::pi*atan((_dp.qAbsMax(i) - _m0*_m0)/_m0/_g0);
int n = 0;
while(n++ < 1000) {
double qj = EvtRandom::Flat(_dp.qAbsMin(j),_dp.qAbsMax(j));
double r = EvtRandom::Flat(min,max);
double qi = tan(EvtConst::pi*r)*_g0*_m0 + _m0*_m0;
EvtDalitzCoord x(i,qi,j,qj);
EvtDalitzPoint ret(_dp,x);
if(ret.isValid()) return ret;
}
-
+
// All generated points turned out to be outside of the Dalitz plot
// (in the outer box)
-
+
printf("No point generated for dalitz plot after 1000 tries\n");
return EvtDalitzPoint(0.,0.,0.,0.,0.,0.);
}
double EvtDalitzResPdf::pdf(const EvtDalitzPoint& x) const
{
EvtCyclic3::Pair i = _pair;
double dq = x.q(i) - _m0*_m0;
return 1/EvtConst::pi*_g0*_m0/(dq*dq + _g0*_g0*_m0*_m0);
}
double EvtDalitzResPdf::pdfMaxValue() const
{
return 1/(EvtConst::pi*_g0*_m0);
}
diff --git a/src/EvtGenBase/EvtDalitzReso.cpp b/src/EvtGenBase/EvtDalitzReso.cpp
index 40d4444..3fae2aa 100644
--- a/src/EvtGenBase/EvtDalitzReso.cpp
+++ b/src/EvtGenBase/EvtDalitzReso.cpp
@@ -1,902 +1,898 @@
#include "EvtGenBase/EvtPatches.hh"
/*****************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtDalitzReso.cpp,v 1.1 2009-03-16 16:47:51 robbep Exp $
*
* Description:
* Class to compute Dalitz amplitudes based on many models that cannot be
* handled with EvtResonance.
*
* Modification history:
* Jordi Garra Ticó 2008/07/03 File created
*****************************************************************************/
#include <assert.h>
#include <cmath>
#include <iostream>
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtMatrix.hh"
#include "EvtGenBase/EvtDalitzReso.hh"
#include "EvtGenBase/EvtdFunction.hh"
#include "EvtGenBase/EvtCyclic3.hh"
#define PRECISION ( 1.e-3 )
using EvtCyclic3::Index;
using EvtCyclic3::Pair;
// single Breit-Wigner
-EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, Pair pairAng, Pair pairRes,
- EvtSpinType::spintype spin, double m0, double g0, NumType typeN, double f_b, double f_d)
+EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, Pair pairAng, Pair pairRes,
+ EvtSpinType::spintype spin, double m0, double g0, NumType typeN, double f_b, double f_d)
: _dp(dp),
_pairAng(pairAng),
_pairRes(pairRes),
_spin(spin),
_typeN(typeN),
_m0(m0),_g0(g0),
_massFirst(dp.m(first(pairRes))),_massSecond(dp.m(second(pairRes))),
_m0_mix(-1.),_g0_mix(0.),_delta_mix(0.),_amp_mix(0.,0.),
_g1(-1.),_g2(-1.),_coupling2(Undefined),
_f_b(f_b), _f_d(f_d),
_kmatrix_index(-1),_fr12prod(0.,0.),_fr13prod(0.,0.),_fr14prod(0.,0.),_fr15prod(0.,0.),_s0prod(0.),
_a(0.),_r(0.),_Blass(0.),_phiB(0.),_R(0.),_phiR(0.),_cutoff(-1.), _scaleByMOverQ(false),
_alpha(0.)
{
- _vb = EvtTwoBodyVertex(_m0,_dp.m(EvtCyclic3::other(_pairRes)),_dp.bigM(),_spin);
+ _vb = EvtTwoBodyVertex(_m0,_dp.m(EvtCyclic3::other(_pairRes)),_dp.bigM(),_spin);
_vd = EvtTwoBodyVertex(_massFirst,_massSecond,_m0,_spin);
_vb.set_f( _f_b ); // Default values for Blatt-Weisskopf factors are 0.0 and 1.5.
_vd.set_f( _f_d );
assert(_typeN != K_MATRIX && _typeN != K_MATRIX_I && _typeN != K_MATRIX_II); // single BW cannot be K-matrix
}
// Breit-Wigner with electromagnetic mass mixing
-EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, Pair pairAng, Pair pairRes,
+EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, Pair pairAng, Pair pairRes,
EvtSpinType::spintype spin, double m0, double g0, NumType typeN,
- double m0_mix, double g0_mix, double delta_mix, EvtComplex amp_mix)
+ double m0_mix, double g0_mix, double delta_mix, EvtComplex amp_mix)
: _dp(dp),
_pairAng(pairAng),
_pairRes(pairRes),
_spin(spin),
_typeN(typeN),
_m0(m0),_g0(g0),
_massFirst(dp.m(first(pairRes))),_massSecond(dp.m(second(pairRes))),
_m0_mix(m0_mix),_g0_mix(g0_mix),_delta_mix(delta_mix),_amp_mix(amp_mix),
_g1(-1.),_g2(-1.),_coupling2(Undefined),
_f_b(0.0), _f_d(1.5),
_kmatrix_index(-1),_fr12prod(0.,0.),_fr13prod(0.,0.),_fr14prod(0.,0.),_fr15prod(0.,0.),_s0prod(0.),
_a(0.),_r(0.),_Blass(0.),_phiB(0.),_R(0.),_phiR(0.),_cutoff(-1.), _scaleByMOverQ(false),
_alpha(0.)
{
- _vb = EvtTwoBodyVertex(_m0,_dp.m(EvtCyclic3::other(_pairRes)),_dp.bigM(),_spin);
+ _vb = EvtTwoBodyVertex(_m0,_dp.m(EvtCyclic3::other(_pairRes)),_dp.bigM(),_spin);
_vd = EvtTwoBodyVertex(_massFirst,_massSecond,_m0,_spin);
_vb.set_f( 0.0 ); // Default values for Blatt-Weisskopf factors.
_vd.set_f( 1.5 );
// single BW (with electromagnetic mixing) cannot be K-matrix
assert(_typeN != K_MATRIX && _typeN != K_MATRIX_I && _typeN != K_MATRIX_II);
}
// coupled Breit-Wigner
-EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, Pair pairAng, Pair pairRes,
+EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, Pair pairAng, Pair pairRes,
EvtSpinType::spintype spin, double m0, NumType typeN, double g1, double g2, CouplingType coupling2)
: _dp(dp),
_pairAng(pairAng),
_pairRes(pairRes),
_spin(spin),
_typeN(typeN),
_m0(m0),_g0(-1.),
_massFirst(dp.m(first(pairRes))),_massSecond(dp.m(second(pairRes))),
_m0_mix(-1.),_g0_mix(0.),_delta_mix(0.),_amp_mix(0.,0.),
_g1(g1),_g2(g2),_coupling2(coupling2),
_f_b(0.0), _f_d(1.5),
_kmatrix_index(-1),_fr12prod(0.,0.),_fr13prod(0.,0.),_fr14prod(0.,0.),_fr15prod(0.,0.),_s0prod(0.),
_a(0.),_r(0.),_Blass(0.),_phiB(0.),_R(0.),_phiR(0.),_cutoff(-1.), _scaleByMOverQ(false),
_alpha(0.)
{
- _vb = EvtTwoBodyVertex(_m0,_dp.m(EvtCyclic3::other(_pairRes)),_dp.bigM(),_spin);
+ _vb = EvtTwoBodyVertex(_m0,_dp.m(EvtCyclic3::other(_pairRes)),_dp.bigM(),_spin);
_vd = EvtTwoBodyVertex(_massFirst,_massSecond,_m0,_spin);
_vb.set_f( 0.0 ); // Default values for Blatt-Weisskopf factors.
_vd.set_f( 1.5 );
assert(_coupling2 != Undefined);
assert(_typeN != K_MATRIX && _typeN != K_MATRIX_I && _typeN != K_MATRIX_II); // coupled BW cannot be K-matrix
assert(_typeN != LASS); // coupled BW cannot be LASS
- assert(_typeN != NBW); // for coupled BW, only relativistic BW
+ assert(_typeN != NBW); // for coupled BW, only relativistic BW
}
// K-Matrix (A&S)
EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, Pair pairRes, std::string nameIndex, NumType typeN,
- EvtComplex fr12prod, EvtComplex fr13prod, EvtComplex fr14prod, EvtComplex fr15prod, double s0prod)
+ EvtComplex fr12prod, EvtComplex fr13prod, EvtComplex fr14prod, EvtComplex fr15prod, double s0prod)
: _dp(dp),
_pairRes(pairRes),
_typeN(typeN),
_m0(0.),_g0(0.),
_massFirst(dp.m(first(pairRes))),_massSecond(dp.m(second(pairRes))),
_m0_mix(-1.),_g0_mix(0.),_delta_mix(0.),_amp_mix(0.,0.),
_g1(-1.),_g2(-1.),_coupling2(Undefined),
_f_b(0.), _f_d(0.),
_kmatrix_index(-1),_fr12prod(fr12prod),_fr13prod(fr13prod),_fr14prod(fr14prod),_fr15prod(fr15prod),_s0prod(s0prod),
_a(0.),_r(0.),_Blass(0.),_phiB(0.),_R(0.),_phiR(0.),_cutoff(-1.), _scaleByMOverQ(false),
_alpha(0.)
{
assert(_typeN==K_MATRIX || _typeN==K_MATRIX_I || _typeN==K_MATRIX_II);
_spin=EvtSpinType::SCALAR;
if (nameIndex=="Pole1") _kmatrix_index=1;
else if (nameIndex=="Pole2") _kmatrix_index=2;
else if (nameIndex=="Pole3") _kmatrix_index=3;
else if (nameIndex=="Pole4") _kmatrix_index=4;
else if (nameIndex=="Pole5") _kmatrix_index=5;
else if (nameIndex=="f11prod") _kmatrix_index=6;
else assert(0);
}
// LASS parameterization
-EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, Pair pairRes,
- double m0, double g0, double a, double r, double B, double phiB, double R, double phiR, double cutoff, bool scaleByMOverQ)
+EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, Pair pairRes,
+ double m0, double g0, double a, double r, double B, double phiB, double R, double phiR, double cutoff, bool scaleByMOverQ)
: _dp(dp),
_pairRes(pairRes),
_typeN(LASS),
_m0(m0),_g0(g0),
_massFirst(dp.m(first(pairRes))),_massSecond(dp.m(second(pairRes))),
_m0_mix(-1.),_g0_mix(0.),_delta_mix(0.),_amp_mix(0.,0.),
_g1(-1.),_g2(-1.),_coupling2(Undefined),
_f_b(0.0), _f_d(1.5),
_kmatrix_index(-1),_fr12prod(0.,0.),_fr13prod(0.,0.),_fr14prod(0.,0.),_fr15prod(0.,0.),_s0prod(0.),
_a(a),_r(r),_Blass(B),_phiB(phiB),_R(R),_phiR(phiR), _cutoff(cutoff), _scaleByMOverQ(scaleByMOverQ),
_alpha(0.)
{
_spin=EvtSpinType::SCALAR;
_vd = EvtTwoBodyVertex(_massFirst,_massSecond,_m0,_spin);
_vd.set_f( 1.5 ); // Default values for Blatt-Weisskopf factors.
}
//Flatte
EvtDalitzReso::EvtDalitzReso(const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, double m0)
: _dp(dp),
_pairRes(pairRes),
_typeN(FLATTE),
_m0(m0), _g0(0.),
_massFirst(dp.m(first(pairRes))),_massSecond(dp.m(second(pairRes))),
_m0_mix(-1.),_g0_mix(0.),_delta_mix(0.),_amp_mix(0.,0.),
_g1(-1.),_g2(-1.),_coupling2(Undefined),
_f_b(0.), _f_d(0.),
_kmatrix_index(-1),_fr12prod(0.,0.),_fr13prod(0.,0.),_fr14prod(0.,0.),_fr15prod(0.,0.),_s0prod(0.),
_a(0.),_r(0.),_Blass(0.),_phiB(0.),_R(0.),_phiR(0.),_cutoff(-1.), _scaleByMOverQ(false),
_alpha(0.)
{
_spin=EvtSpinType::SCALAR;
}
-EvtDalitzReso::EvtDalitzReso(const EvtDalitzReso& other)
+EvtDalitzReso::EvtDalitzReso(const EvtDalitzReso& other)
: _dp(other._dp),
_pairAng(other._pairAng),
_pairRes(other._pairRes),
_spin(other._spin),
_typeN(other._typeN),
_m0(other._m0),_g0(other._g0),
_vb(other._vb),_vd(other._vd),
_massFirst(other._massFirst),_massSecond(other._massSecond),
_m0_mix(other._m0_mix),_g0_mix(other._g0_mix),_delta_mix(other._delta_mix),_amp_mix(other._amp_mix),
_g1(other._g1),_g2(other._g2),_coupling2(other._coupling2),
_f_b(other._f_b), _f_d(other._f_d),
_kmatrix_index(other._kmatrix_index),
_fr12prod(other._fr12prod),_fr13prod(other._fr13prod),_fr14prod(other._fr14prod),_fr15prod(other._fr15prod),
_s0prod(other._s0prod),
_a(other._a),_r(other._r),_Blass(other._Blass),_phiB(other._phiB),_R(other._R),_phiR(other._phiR),_cutoff(other._cutoff), _scaleByMOverQ(other._scaleByMOverQ),
_alpha(other._alpha),
_flatteParams(other._flatteParams)
{}
-EvtDalitzReso::~EvtDalitzReso()
-{}
-
-
-EvtComplex EvtDalitzReso::evaluate(const EvtDalitzPoint& x)
+EvtComplex EvtDalitzReso::evaluate(const EvtDalitzPoint& x)
{
double m = sqrt(x.q(_pairRes));
- if (_typeN==NON_RES)
+ if (_typeN==NON_RES)
return EvtComplex(1.0,0.0);
if (_typeN==NON_RES_LIN)
return m*m;
if (_typeN==NON_RES_EXP)
return exp(-_alpha*m*m);
// do use always hash table (speed up fitting)
if (_typeN==K_MATRIX || _typeN==K_MATRIX_I || _typeN==K_MATRIX_II)
return Fvector( m*m, _kmatrix_index );
if (_typeN==LASS)
return lass(m*m);
if (_typeN==FLATTE)
return flatte(m);
EvtComplex amp(1.0,0.0);
if (fabs(_dp.bigM() - x.bigM()) > 0.000001) {
_vb = EvtTwoBodyVertex(_m0,_dp.m(EvtCyclic3::other(_pairRes)),x.bigM(),_spin);
_vb.set_f(_f_b);
}
EvtTwoBodyKine vb(m,x.m(EvtCyclic3::other(_pairRes)),x.bigM());
- EvtTwoBodyKine vd(_massFirst,_massSecond,m);
+ EvtTwoBodyKine vd(_massFirst,_massSecond,m);
EvtComplex prop(0,0);
if (_typeN==NBW) {
prop = propBreitWigner(_m0,_g0,m);
} else if (_typeN==GAUSS_CLEO || _typeN==GAUSS_CLEO_ZEMACH) {
prop = propGauss(_m0,_g0,m);
} else {
- if (_coupling2==Undefined) {
+ if (_coupling2==Undefined) {
// single BW
double g = (_g0<=0. || _vd.pD()<=0.)? -_g0 : _g0*_vd.widthFactor(vd); // running width
if (_typeN==GS_CLEO || _typeN==GS_CLEO_ZEMACH) {
// Gounaris-Sakurai (GS)
prop = propGounarisSakurai(_m0,fabs(_g0),_vd.pD(),m,g,vd.p());
} else {
// standard relativistic BW
prop = propBreitWignerRel(_m0,g,m);
}
- } else {
+ } else {
// coupled width BW
EvtComplex G1,G2;
- switch (_coupling2) {
+ switch (_coupling2) {
case PicPic: {
G1 = _g1*_g1*psFactor(_massFirst,_massSecond,m);
static double mPic = EvtPDL::getMass( EvtPDL::getId( "pi+" ) );
G2 = _g2*_g2*psFactor(mPic,mPic,m);
break;
}
case PizPiz: {
G1 = _g1*_g1*psFactor(_massFirst,_massSecond,m);
static double mPiz = EvtPDL::getMass( EvtPDL::getId( "pi0" ) );
G2 = _g2*_g2*psFactor(mPiz,mPiz,m);
break;
}
case PiPi: {
G1 = _g1*_g1*psFactor(_massFirst,_massSecond,m);
static double mPic = EvtPDL::getMass( EvtPDL::getId( "pi+" ) );
static double mPiz = EvtPDL::getMass( EvtPDL::getId( "pi0" ) );
G2 = _g2*_g2*psFactor(mPic,mPic,mPiz,mPiz,m);
break;
}
case KcKc: {
G1 = _g1*_g1*psFactor(_massFirst,_massSecond,m);
static double mKc = EvtPDL::getMass( EvtPDL::getId( "K+" ) );
G2 = _g2*_g2*psFactor(mKc,mKc,m);
break;
}
case KzKz: {
G1 = _g1*_g1*psFactor(_massFirst,_massSecond,m);
static double mKz = EvtPDL::getMass( EvtPDL::getId( "K0" ) );
G2 = _g2*_g2*psFactor(mKz,mKz,m);
break;
}
case KK: {
G1 = _g1*_g1*psFactor(_massFirst,_massSecond,m);
static double mKc = EvtPDL::getMass( EvtPDL::getId( "K+" ) );
static double mKz = EvtPDL::getMass( EvtPDL::getId( "K0" ) );
G2 = _g2*_g2*psFactor(mKc,mKc,mKz,mKz,m);
break;
}
case EtaPic: {
G1 = _g1*_g1*psFactor(_massFirst,_massSecond,m);
static double mEta = EvtPDL::getMass( EvtPDL::getId( "eta" ) );
static double mPic = EvtPDL::getMass( EvtPDL::getId( "pi+" ) );
G2 = _g2*_g2*psFactor(mEta,mPic,m);
break;
}
case EtaPiz: {
G1 = _g1*_g1*psFactor(_massFirst,_massSecond,m);
static double mEta = EvtPDL::getMass( EvtPDL::getId( "eta" ) );
static double mPiz = EvtPDL::getMass( EvtPDL::getId( "pi0" ) );
G2 = _g2*_g2*psFactor(mEta,mPiz,m);
break;
}
case PicPicKK: {
static double mPic = EvtPDL::getMass( EvtPDL::getId( "pi+" ) );
//G1 = _g1*_g1*psFactor(mPic,mPic,m);
G1 = _g1*psFactor(mPic,mPic,m);
static double mKc = EvtPDL::getMass( EvtPDL::getId( "K+" ) );
static double mKz = EvtPDL::getMass( EvtPDL::getId( "K0" ) );
//G2 = _g2*_g2*psFactor(mKc,mKc,mKz,mKz,m);
G2 = _g2*psFactor(mKc,mKc,mKz,mKz,m);
break;
}
default:
std::cout << "EvtDalitzReso:evaluate(): PANIC, wrong coupling2 state." << std::endl;
assert(0);
break;
}
// calculate standard couple BW propagator
if (_coupling2 != WA76)
prop = _g1*propBreitWignerRelCoupled(_m0,G1,G2,m);
- }
+ }
}
amp *= prop;
// Compute form-factors (Blatt-Weisskopf penetration factor)
- amp *= _vb.formFactor(vb);
- amp *= _vd.formFactor(vd);
+ amp *= _vb.formFactor(vb);
+ amp *= _vd.formFactor(vd);
// Compute numerator (angular distribution)
- amp *= numerator(x,vb,vd);
+ amp *= numerator(x,vb,vd);
// Compute electromagnetic mass mixing factor
if (_m0_mix>0.) {
EvtComplex prop_mix;
if (_typeN==NBW) {
prop_mix = propBreitWigner(_m0_mix,_g0_mix,m);
} else {
assert(_g1<0.); // running width only
double g_mix = _g0_mix*_vd.widthFactor(vd);
prop_mix = propBreitWignerRel(_m0_mix,g_mix,m);
}
amp *= mixFactor(prop,prop_mix);
}
return amp;
}
EvtComplex EvtDalitzReso::psFactor(double & ma, double & mb, double& m)
{
if (m>(ma+mb)) {
EvtTwoBodyKine vd(ma,mb,m);
return EvtComplex(0,2*vd.p()/m);
- } else {
+ } else {
// analytical continuation
double s = m*m;
- double phaseFactor_analyticalCont = -0.5*(sqrt(4*ma*ma/s-1)+sqrt(4*mb*mb/s-1));
+ double phaseFactor_analyticalCont = -0.5*(sqrt(4*ma*ma/s-1)+sqrt(4*mb*mb/s-1));
return EvtComplex(phaseFactor_analyticalCont,0);
}
}
EvtComplex EvtDalitzReso::psFactor(double & ma1,double & mb1, double & ma2, double & mb2, double& m)
{
return 0.5*(psFactor(ma1,mb1,m)+psFactor(ma2,mb2,m));
}
-EvtComplex EvtDalitzReso::propGauss(const double& m0, const double& s0, const double& m)
+EvtComplex EvtDalitzReso::propGauss(const double& m0, const double& s0, const double& m)
{
// Gaussian
double gauss = 1./sqrt(EvtConst::twoPi)/s0*exp(-(m-m0)*(m-m0)/2./(s0*s0));
return EvtComplex(gauss,0.);
}
-EvtComplex EvtDalitzReso::propBreitWigner(const double& m0, const double& g0, const double& m)
+EvtComplex EvtDalitzReso::propBreitWigner(const double& m0, const double& g0, const double& m)
{
// non-relativistic BW
return sqrt(g0/EvtConst::twoPi)/(m-m0-EvtComplex(0.0,g0/2.));
}
-EvtComplex EvtDalitzReso::propBreitWignerRel(const double& m0, const double& g0, const double& m)
+EvtComplex EvtDalitzReso::propBreitWignerRel(const double& m0, const double& g0, const double& m)
{
// relativistic BW with real width
return 1./(m0*m0-m*m-EvtComplex(0.,m0*g0));
}
-EvtComplex EvtDalitzReso::propBreitWignerRel(const double& m0, const EvtComplex& g0, const double& m)
+EvtComplex EvtDalitzReso::propBreitWignerRel(const double& m0, const EvtComplex& g0, const double& m)
{
// relativistic BW with complex width
return 1./(m0*m0-m*m-EvtComplex(0.,m0)*g0);
}
EvtComplex EvtDalitzReso::propBreitWignerRelCoupled(const double& m0, const EvtComplex& g1, const EvtComplex& g2, const double& m)
{
// relativistic coupled BW
return 1./(m0*m0-m*m-(g1+g2));
}
EvtComplex EvtDalitzReso::propGounarisSakurai(const double& m0, const double& g0, const double& k0,
- const double& m, const double& g, const double& k)
+ const double& m, const double& g, const double& k)
{
// Gounaris-Sakurai parameterization of pi+pi- P wave. PRD, Vol61, 112002. PRL, Vol21, 244.
- // Expressions taken from BAD637v4, after fixing the imaginary part of the BW denominator: i M_R Gamma_R(s) --> i sqrt(s) Gamma_R(s)
+ // Expressions taken from BAD637v4, after fixing the imaginary part of the BW denominator: i M_R Gamma_R(s) --> i sqrt(s) Gamma_R(s)
return (1.+GS_d(m0,k0)*g0/m0)/(m0*m0-m*m-EvtComplex(0.,m*g)+GS_f(m0,g0,k0,m,k));
}
-inline double EvtDalitzReso::GS_f(const double& m0, const double& g0, const double& k0, const double& m, const double& k)
+inline double EvtDalitzReso::GS_f(const double& m0, const double& g0, const double& k0, const double& m, const double& k)
{
// m: sqrt(s)
// m0: nominal resonance mass
// k: momentum of pion in resonance rest frame (at m)
// k0: momentum of pion in resonance rest frame (at nominal resonance mass)
return g0*m0*m0/(k0*k0*k0)*( k*k*(GS_h(m,k)-GS_h(m0,k0)) + (m0*m0-m*m)*k0*k0*GS_dhods(m0,k0) );
}
-inline double EvtDalitzReso::GS_h(const double& m, const double& k)
+inline double EvtDalitzReso::GS_h(const double& m, const double& k)
{return 2./EvtConst::pi*k/m*log((m+2.*k)/(2.*_massFirst)) ;}
-inline double EvtDalitzReso::GS_dhods(const double& m0, const double& k0)
+inline double EvtDalitzReso::GS_dhods(const double& m0, const double& k0)
{return GS_h(m0,k0)*( 0.125/(k0*k0) - 0.5/(m0*m0) ) + 0.5/(EvtConst::pi*m0*m0) ;}
-inline double EvtDalitzReso::GS_d(const double& m0, const double& k0)
-{return 3./EvtConst::pi*_massFirst*_massFirst/(k0*k0)*log((m0+2.*k0)/(2.*_massFirst)) +
+inline double EvtDalitzReso::GS_d(const double& m0, const double& k0)
+{return 3./EvtConst::pi*_massFirst*_massFirst/(k0*k0)*log((m0+2.*k0)/(2.*_massFirst)) +
m0/(2.*EvtConst::pi*k0) - _massFirst*_massFirst*m0/(EvtConst::pi*k0*k0*k0) ;}
-EvtComplex EvtDalitzReso::numerator(const EvtDalitzPoint& x, const EvtTwoBodyKine& vb, const EvtTwoBodyKine& vd)
+EvtComplex EvtDalitzReso::numerator(const EvtDalitzPoint& x, const EvtTwoBodyKine& vb, const EvtTwoBodyKine& vd)
{
EvtComplex ret(0.,0.);
// Non-relativistic Breit-Wigner
if(NBW == _typeN) {
ret = angDep(x);
}
// Standard relativistic Zemach propagator
else if(RBW_ZEMACH == _typeN) {
ret = _vd.phaseSpaceFactor(vd,EvtTwoBodyKine::AB)*angDep(x);
}
// Standard relativistic Zemach propagator
else if(RBW_ZEMACH2 == _typeN) {
ret = _vd.phaseSpaceFactor(vd,EvtTwoBodyKine::AB)*_vb.phaseSpaceFactor(vb,EvtTwoBodyKine::AB)*angDep(x);
if(_spin == EvtSpinType::VECTOR) {
ret *= -4.;
} else if(_spin == EvtSpinType::TENSOR) {
ret *= 16./3.;
} else if(_spin != EvtSpinType::SCALAR)
assert(0);
}
// Kuehn-Santamaria normalization:
else if(RBW_KUEHN == _typeN) {
ret = _m0*_m0 * angDep(x);
- }
+ }
- // CLEO amplitude
+ // CLEO amplitude
else if( ( RBW_CLEO == _typeN ) || ( GS_CLEO == _typeN ) ||
( RBW_CLEO_ZEMACH == _typeN ) || ( GS_CLEO_ZEMACH == _typeN ) ||
( GAUSS_CLEO == _typeN ) || ( GAUSS_CLEO_ZEMACH == _typeN)) {
Index iA = other(_pairAng); // A = other(BC)
Index iB = common(_pairRes,_pairAng); // B = common(AB,BC)
Index iC = other(_pairRes); // C = other(AB)
-
+
double M = x.bigM();
double mA = x.m(iA);
double mB = x.m(iB);
double mC = x.m(iC);
double qAB = x.q(combine(iA,iB));
double qBC = x.q(combine(iB,iC));
double qCA = x.q(combine(iC,iA));
double M2 = M*M;
double m02 = ((RBW_CLEO_ZEMACH == _typeN)||(GS_CLEO_ZEMACH == _typeN)||(GAUSS_CLEO_ZEMACH == _typeN))? qAB : _m0*_m0;
double mA2 = mA*mA;
double mB2 = mB*mB;
double mC2 = mC*mC;
-
+
if (_spin == EvtSpinType::SCALAR) ret = EvtComplex(1.,0.);
else if(_spin == EvtSpinType::VECTOR) {
ret = qCA - qBC + (M2 - mC2)*(mB2 - mA2)/m02;
} else if(_spin == EvtSpinType::TENSOR) {
- double x1 = qBC - qCA + (M2 - mC2)*(mA2 - mB2)/m02;
- double x2 = M2 - mC2;
- double x3 = qAB - 2*M2 - 2*mC2 + x2*x2/m02;
+ double x1 = qBC - qCA + (M2 - mC2)*(mA2 - mB2)/m02;
+ double x2 = M2 - mC2;
+ double x3 = qAB - 2*M2 - 2*mC2 + x2*x2/m02;
double x4 = mA2 - mB2;
double x5 = qAB - 2*mB2 - 2*mA2 + x4*x4/m02;
ret = x1*x1 - x3*x5/3.;
} else assert(0);
}
-
+
return ret;
}
-double EvtDalitzReso::angDep(const EvtDalitzPoint& x)
-{
- // Angular dependece for factorizable amplitudes
+double EvtDalitzReso::angDep(const EvtDalitzPoint& x)
+{
+ // Angular dependece for factorizable amplitudes
// unphysical cosines indicate we are in big trouble
double cosTh = x.cosTh(_pairAng,_pairRes); // angle between common(reso,ang) and other(reso)
if(fabs(cosTh) > 1.) {
- EvtGenReport(EVTGEN_INFO,"EvtGen") << "cosTh " << cosTh << std::endl;
+ EvtGenReport(EVTGEN_INFO,"EvtGen") << "cosTh " << cosTh << std::endl;
assert(0);
}
-
+
// in units of half-spin
return EvtdFunction::d(EvtSpinType::getSpin2(_spin),2*0,2*0,acos(cosTh));
}
-EvtComplex EvtDalitzReso::mixFactor(EvtComplex prop, EvtComplex prop_mix)
+EvtComplex EvtDalitzReso::mixFactor(EvtComplex prop, EvtComplex prop_mix)
{
double Delta = _delta_mix*(_m0+_m0_mix);
return 1/(1-Delta*Delta*prop*prop_mix)*(1+_amp_mix*Delta*prop_mix);
}
EvtComplex EvtDalitzReso::Fvector( double s, int index )
{
assert(index>=1 && index<=6);
//Define the complex coupling constant
//The convection is as follow
//i=0 --> pi+ pi-
//i=1 --> KK
//i=2 --> 4pi
//i=3 --> eta eta
//i=4 --> eta eta'
//The first index is the resonace-pole index
-
+
double g[5][5]; // Coupling constants. The first index is the pole index. The second index is the decay channel
double ma[5]; // Pole masses. The unit is in GeV
int solution = (_typeN==K_MATRIX)? 3 : ( (_typeN==K_MATRIX_I)? 1 : ( (_typeN==K_MATRIX_II)? 2 : 0 ) ) ;
- if (solution==0) { std::cout << "EvtDalitzReso::Fvector() error. Kmatrix solution incorrectly chosen ! " << std::endl; abort(); }
+ if (solution==0) { std::cout << "EvtDalitzReso::Fvector() error. Kmatrix solution incorrectly chosen ! " << std::endl; abort(); }
if (solution == 3 ) {
// coupling constants
//pi+pi- channel
g[0][0]=0.22889;
g[1][0]=0.94128;
g[2][0]=0.36856;
g[3][0]=0.33650;
g[4][0]=0.18171;
//K+K- channel
g[0][1]=-0.55377;
g[1][1]=0.55095;
g[2][1]=0.23888;
g[3][1]=0.40907;
g[4][1]=-0.17558;
//4pi channel
g[0][2]=0;
g[1][2]=0;
g[2][2]=0.55639;
g[3][2]=0.85679;
g[4][2]=-0.79658;
//eta eta channel
g[0][3]=-0.39899;
g[1][3]=0.39065;
g[2][3]=0.18340;
g[3][3]=0.19906;
g[4][3]=-0.00355;
//eta eta' channel
g[0][4]=-0.34639;
g[1][4]=0.31503;
g[2][4]=0.18681;
g[3][4]=-0.00984;
g[4][4]=0.22358;
// Pole masses
- ma[0]=0.651;
+ ma[0]=0.651;
ma[1]=1.20360;
ma[2]=1.55817;
ma[3]=1.21000;
ma[4]=1.82206;
- } else if (solution == 1) { // solnI.txt
-
+ } else if (solution == 1) { // solnI.txt
+
// coupling constants
//pi+pi- channel
g[0][0]=0.31896;
g[1][0]=0.85963;
g[2][0]=0.47993;
g[3][0]=0.45121;
g[4][0]=0.39391;
//K+K- channel
g[0][1]=-0.49998;
g[1][1]=0.52402;
g[2][1]=0.40254;
g[3][1]=0.42769;
g[4][1]=-0.30860;
//4pi channel
g[0][2]=0;
g[1][2]=0;
g[2][2]=1.0;
g[3][2]=1.15088;
g[4][2]=0.33999;
//eta eta channel
g[0][3]=-0.21554;
g[1][3]=0.38093;
g[2][3]=0.21811;
g[3][3]=0.22925;
g[4][3]=0.06919;
//eta eta' channel
g[0][4]=-0.18294;
g[1][4]=0.23788;
g[2][4]=0.05454;
g[3][4]=0.06444;
g[4][4]=0.32620;
// Pole masses
ma[0]=0.7369;
ma[1]=1.24347;
ma[2]=1.62681;
ma[3]=1.21900;
ma[4]=1.74932;
- } else if (solution == 2) { // solnIIa.txt
-
+ } else if (solution == 2) { // solnIIa.txt
+
// coupling constants
//pi+pi- channel
g[0][0]=0.26014;
g[1][0]=0.95289;
g[2][0]=0.46244;
g[3][0]=0.41848;
g[4][0]=0.01804;
//K+K- channel
g[0][1]=-0.57849;
g[1][1]=0.55887;
g[2][1]=0.31712;
g[3][1]=0.49910;
g[4][1]=-0.28430;
//4pi channel
g[0][2]=0;
g[1][2]=0;
g[2][2]=0.70340;
g[3][2]=0.96819;
g[4][2]=-0.90100;
//eta eta channel
g[0][3]=-0.32936;
g[1][3]=0.39910;
g[2][3]=0.22963;
g[3][3]=0.24415;
g[4][3]=-0.07252;
//eta eta' channel
g[0][4]=-0.30906;
g[1][4]=0.31143;
g[2][4]=0.19802;
g[3][4]=-0.00522;
g[4][4]=0.17097;
// Pole masses
ma[0]=0.67460;
ma[1]=1.21094;
ma[2]=1.57896;
ma[3]=1.21900;
ma[4]=1.86602;
- }
+ }
//Now define the K-matrix pole
double rho1sq,rho2sq,rho4sq,rho5sq;
EvtComplex rho[5];
double f[5][5];
//Initalize the mass of the resonance
double mpi=0.13957;
double mK=0.493677; //using charged K value
double meta=0.54775; //using PDG value
double metap=0.95778; //using PDG value
-
+
//Initialize the matrix to value zero
EvtComplex K[5][5];
- for(int i=0;i<5;i++) {
+ for(int i=0;i<5;i++) {
for(int j=0;j<5;j++) {
K[i][j]=EvtComplex(0,0);
f[i][j]=0;
}
}
//Input the _f[i][j] scattering data
- double s_scatt=0.0 ;
- if (solution == 3)
- s_scatt=-3.92637;
- else if (solution == 1)
+ double s_scatt=0.0 ;
+ if (solution == 3)
+ s_scatt=-3.92637;
+ else if (solution == 1)
+ s_scatt= -5.0 ;
+ else if (solution == 2)
s_scatt= -5.0 ;
- else if (solution == 2)
- s_scatt= -5.0 ;
double sa=1.0;
double sa_0=-0.15;
if (solution == 3) {
f[0][0]=0.23399; // f^scatt
f[0][1]=0.15044;
f[0][2]=-0.20545;
f[0][3]=0.32825;
f[0][4]=0.35412;
}else if (solution == 1) {
f[0][0]=0.04214; // f^scatt
f[0][1]=0.19865;
f[0][2]=-0.63764;
f[0][3]=0.44063;
f[0][4]=0.36717;
}else if (solution == 2) {
f[0][0]=0.26447; // f^scatt
f[0][1]=0.10400;
f[0][2]=-0.35445;
f[0][3]=0.31596;
f[0][4]=0.42483;
- }
+ }
f[1][0]=f[0][1];
f[2][0]=f[0][2];
f[3][0]=f[0][3];
f[4][0]=f[0][4];
//Now construct the phase-space factor
//For eta-eta' there is no difference term
rho1sq = 1. - pow( mpi + mpi, 2 ) / s; //pi+ pi- phase factor
if( rho1sq >= 0 )
rho[ 0 ] = EvtComplex( sqrt( rho1sq ), 0 );
else
- rho[ 0 ] = EvtComplex( 0, sqrt( -rho1sq ) );
+ rho[ 0 ] = EvtComplex( 0, sqrt( -rho1sq ) );
rho2sq = 1. - pow( mK + mK, 2 ) / s;
if( rho2sq >= 0 )
rho[ 1 ] = EvtComplex( sqrt( rho2sq ), 0 );
else
rho[ 1 ] = EvtComplex( 0, sqrt( -rho2sq ) );
//using the A&S 4pi phase space Factor:
//Shit, not continue
if( s <= 1 )
{
double real = 1.2274 + .00370909 / ( s * s ) - .111203 / s - 6.39017 * s + 16.8358*s*s - 21.8845*s*s*s + 11.3153*s*s*s*s;
double cont32 = sqrt(1.0-(16.0*mpi*mpi));
rho[ 2 ] = EvtComplex( cont32 * real, 0 );
}
else
rho[ 2 ] = EvtComplex( sqrt( 1. - 16. * mpi * mpi / s ), 0 );
rho4sq = 1. - pow( meta + meta, 2 ) / s;
if( rho4sq >= 0 )
rho[ 3 ] = EvtComplex( sqrt( rho4sq ), 0 );
else
rho[ 3 ] = EvtComplex( 0, sqrt( -rho4sq ) );
rho5sq = 1. - pow( meta + metap, 2 ) / s;
if( rho5sq >= 0 )
rho[ 4 ] = EvtComplex( sqrt( rho5sq ), 0 );
else
rho[ 4 ] = EvtComplex( 0, sqrt( -rho5sq ) );
double smallTerm = 1; // Factor to prevent divergences.
// Check if some pole may arise problems.
for ( int pole = 0; pole < 5; pole++ )
if ( fabs( pow( ma[ pole ], 2 ) - s ) < PRECISION )
smallTerm = pow( ma[ pole ], 2 ) - s;
//now sum all the pole
//equation (3) in the E791 K-matrix paper
- for(int i=0;i<5;i++) {
- for(int j=0;j<5;j++) {
+ for(int i=0;i<5;i++) {
+ for(int j=0;j<5;j++) {
for (int pole_index=0;pole_index<5;pole_index++) {
double A=g[pole_index][i]*g[pole_index][j];
double B=ma[pole_index]*ma[pole_index]-s;
if ( fabs( B ) < PRECISION )
K[ i ][ j ] += EvtComplex( A , 0 );
else
K[ i ][ j ] += EvtComplex( A / B, 0 ) * smallTerm;
}
}
}
//now add the SVT part
- for(int i=0;i<5;i++) {
+ for(int i=0;i<5;i++) {
for(int j=0;j<5;j++) {
double C=f[i][j]*(1.0-s_scatt);
double D=(s-s_scatt);
K[ i ][ j ] += EvtComplex( C / D, 0 ) * smallTerm;
}
}
//Fix the bug in the FOCUS paper
//Include the Alder zero term:
- for(int i=0;i<5;i++) {
+ for(int i=0;i<5;i++) {
for(int j=0;j<5;j++) {
double E=(s-(sa*mpi*mpi*0.5))*(1.0-sa_0);
- double F=(s-sa_0);
+ double F=(s-sa_0);
K[ i ][ j ] *= EvtComplex(E/F,0);
}
}
//This is not correct!
//(1-ipK) != (1-iKp)
static EvtMatrix< EvtComplex > mat;
mat.setRange( 5 ); // Try to do in only the first time. DEFINE ALLOCATION IN CONSTRUCTOR.
for ( int row = 0; row < 5; row++ )
for ( int col = 0; col < 5; col++ )
mat( row, col ) = ( row == col ) * smallTerm - EvtComplex( 0., 1. ) * K[ row ][ col ] * rho[ col ];
EvtMatrix< EvtComplex >* matInverse = mat.inverse(); //The 1st row of the inverse matrix. This matrix is {(I-iKp)^-1}_0j
vector< EvtComplex > U1j;
for ( int j = 0; j < 5; j++ )
U1j.push_back( (*matInverse)[ 0 ][ j ] );
delete matInverse;
//this calculates final F0 factor
EvtComplex value( 0, 0 );
if (index<=5) {
//this calculates the beta_idx Factors
for(int j=0;j<5;j++) { // sum for 5 channel
EvtComplex top = U1j[j]*g[index-1][j];
double bottom = ma[index-1]*ma[index-1]-s;
if ( fabs( bottom ) < PRECISION )
value += top;
else
value += top / bottom * smallTerm;
}
} else {
//this calculates fprod Factors
value += U1j[0];
value += U1j[1]*_fr12prod;
value += U1j[2]*_fr13prod;
value += U1j[3]*_fr14prod;
value += U1j[4]*_fr15prod;
value *= (1-_s0prod)/(s-_s0prod) * smallTerm;
}
return value;
}
//replace Breit-Wigner with LASS
EvtComplex EvtDalitzReso::lass(double s)
{
EvtTwoBodyKine vd(_massFirst,_massSecond, sqrt(s));
double q = vd.p();
double GammaM = _g0*_vd.widthFactor(vd); // running width;
//calculate the background phase motion
double cot_deltaB = 1.0/(_a*q) + 0.5*_r*q;
double deltaB = atan( 1.0/cot_deltaB);
double totalB = deltaB + _phiB ;
//calculate the resonant phase motion
double deltaR = atan((_m0*GammaM/(_m0*_m0 - s)));
double totalR = deltaR + _phiR ;
//sum them up
EvtComplex bkgB,resT;
bkgB = EvtComplex(_Blass*sin(totalB),0)*EvtComplex(cos(totalB),sin(totalB));
resT = EvtComplex(_R*sin(deltaR),0)*EvtComplex(cos(totalR),sin(totalR))*EvtComplex(cos(2*totalB),sin(2*totalB));
EvtComplex T;
if(_cutoff>0 && sqrt(s)>_cutoff) T = resT;
else T = bkgB + resT;
if(_scaleByMOverQ) T*=(sqrt(s)/q);
return T;
}
EvtComplex EvtDalitzReso::flatte(const double& m) {
EvtComplex w;
for (vector<EvtFlatteParam>::const_iterator param = _flatteParams.begin();
param != _flatteParams.end();
++param) {
double m1 = (*param).m1(); double m2 = (*param).m2();
double g = (*param).g();
w += (g*g*sqrtCplx((1-((m1-m2)*(m1-m2))/(m*m))*(1-((m1+m2)*(m1+m2))/(m*m))));
}
-
+
EvtComplex denom = _m0*_m0 - m*m - EvtComplex(0,1)*w;
return EvtComplex(1.0,0.0)/denom;
}
diff --git a/src/EvtGenBase/EvtDecayBase.cpp b/src/EvtGenBase/EvtDecayBase.cpp
index 8ec31ba..ffd348a 100644
--- a/src/EvtGenBase/EvtDecayBase.cpp
+++ b/src/EvtGenBase/EvtDecayBase.cpp
@@ -1,652 +1,629 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtDecayBase.cc
//
// Description: Store decay parameters for one decay.
//
// Modification history:
//
// RYD September 30, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctype.h>
#include "EvtGenBase/EvtStatus.hh"
#include "EvtGenBase/EvtDecayBase.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include <vector>
using std::endl;
using std::fstream;
void EvtDecayBase::checkQ() {
int i;
int q=0;
int qpar;
//If there are no daughters (jetset etc) then we do not
//want to do this test. Why? Because sometimes the parent
//will have a nonzero charge.
if ( _ndaug != 0) {
for(i=0; i<_ndaug; i++ ) {
q += EvtPDL::chg3(_daug[i]);
}
qpar = EvtPDL::chg3(_parent);
if ( q != qpar ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") <<_modelname.c_str()<< " generator expected "
<< " charge to be conserved, found:"<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Parent charge of "<<(qpar/3)<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Sum of daughter charge of "<<(q/3)<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "The parent is "<< EvtPDL::name(_parent).c_str()<<endl;
for(i=0; i<_ndaug; i++ ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Daughter "<< EvtPDL::name(_daug[i]).c_str()<<endl;
}
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
-
+
::abort();
}
}
}
-
+
double EvtDecayBase::getProbMax( double prob ) {
int i;
//diagnostics
sum_prob+=prob;
if (prob>max_prob) max_prob=prob;
- if ( defaultprobmax && ntimes_prob<=500 ) {
+ if ( defaultprobmax && ntimes_prob<=500 ) {
//We are building up probmax with this iteration
ntimes_prob += 1;
if ( prob > probmax ) { probmax = prob;}
- if (ntimes_prob==500) {
+ if (ntimes_prob==500) {
probmax*=1.2;
}
return 1000000.0*prob;
}
if ( prob> probmax*1.0001) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "prob > probmax:("<<prob<<">"<<probmax<<")";
EvtGenReport(EVTGEN_INFO,"") << "("<<_modelname.c_str()<<") ";
EvtGenReport(EVTGEN_INFO,"") << EvtPDL::name(_parent).c_str()<<" -> ";
for(i=0;i<_ndaug;i++){
EvtGenReport(EVTGEN_INFO,"") << EvtPDL::name(_daug[i]).c_str() << " ";
}
EvtGenReport(EVTGEN_INFO,"") << endl;
if (defaultprobmax) probmax = prob;
}
ntimes_prob += 1;
return probmax;
} //getProbMax
double EvtDecayBase::resetProbMax(double prob) {
-
- EvtGenReport(EVTGEN_INFO,"EvtGen") << "Reseting prob max\n";
+
+ EvtGenReport(EVTGEN_INFO,"EvtGen") << "Reseting prob max\n";
EvtGenReport(EVTGEN_INFO,"EvtGen") << "prob > probmax:("<<prob<<">"<<probmax<<")";
EvtGenReport(EVTGEN_INFO,"") << "("<<_modelname.c_str()<<")";
EvtGenReport(EVTGEN_INFO,"") << EvtPDL::getStdHep(_parent)<<"->";
-
+
for( int i=0;i<_ndaug;i++){
EvtGenReport(EVTGEN_INFO,"") << EvtPDL::getStdHep(_daug[i]) << " ";
}
EvtGenReport(EVTGEN_INFO,"") << endl;
-
+
probmax = 0.0;
defaultprobmax = 0;
ntimes_prob = 0;
-
+
return prob;
}
std::string EvtDecayBase::commandName(){
return std::string("");
}
void EvtDecayBase::command(std::string){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Should never call EvtDecayBase::command"<<endl;
::abort();
}
std::string EvtDecayBase::getParamName(int i) {
switch(i) {
case 0:
return "param00";
case 1:
return "param01";
case 2:
return "param02";
case 3:
return "param03";
case 4:
return "param04";
case 5:
return "param05";
case 6:
return "param06";
case 7:
return "param07";
case 8:
return "param08";
case 9:
return "param09";
default:
return "";
}
}
std::string EvtDecayBase::getParamDefault(int /*i*/) {
return "";
}
void EvtDecayBase::init() {
//This default version of init does nothing;
//A specialized version of this function can be
//supplied for each decay model to do initialization.
return;
}
void EvtDecayBase::initProbMax() {
//This function is called if the decay does not have a
- //specialized initialization.
+ //specialized initialization.
//The default is to set the maximum
//probability to 0 and the number of times called to 0
- //and defaultprobmax to 1 such that the decay will be
+ //and defaultprobmax to 1 such that the decay will be
//generated many many times
//in order to generate a reasonable maximum probability
//for the decay.
defaultprobmax=1;
ntimes_prob = 0;
probmax = 0.0;
} //initProbMax
-void EvtDecayBase::saveDecayInfo(EvtId ipar, int ndaug, EvtId *daug,
+void EvtDecayBase::saveDecayInfo(EvtId ipar, int ndaug, EvtId *daug,
int narg,std::vector<std::string>& args,
std::string name,
double brfr) {
int i;
_brfr=brfr;
_ndaug=ndaug;
_narg=narg;
- _parent=ipar;
+ _parent=ipar;
_dsum=0;
if (_ndaug>0) {
- _daug=new EvtId [_ndaug];
+ _daug.resize(_ndaug);
for(i=0;i<_ndaug;i++){
_daug[i]=daug[i];
_dsum+=daug[i].getAlias();
}
- }
- else{
- _daug=0;
+ } else{
+ _daug.clear();
}
if (_narg>0) {
- _args=new std::string[_narg+1];
+ _args.resize(_narg+1);
for(i=0;i<_narg;i++){
_args[i]=args[i];
}
}
else{
- _args = 0;
+ _args.clear();
}
_modelname=name;
this->init();
this->initProbMax();
if (_chkCharge){
this->checkQ();
}
if (defaultprobmax){
EvtGenReport(EVTGEN_INFO,"EvtGen") << "No default probmax for ";
EvtGenReport(EVTGEN_INFO,"") << "("<<_modelname.c_str()<<") ";
EvtGenReport(EVTGEN_INFO,"") << EvtPDL::name(_parent).c_str()<<" -> ";
for(i=0;i<_ndaug;i++){
EvtGenReport(EVTGEN_INFO,"") << EvtPDL::name(_daug[i]).c_str() << " ";
}
EvtGenReport(EVTGEN_INFO,"") << endl;
EvtGenReport(EVTGEN_INFO,"") << "This is fine for development, but must be provided for production."<<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Never fear though - the decay will use the \n";
EvtGenReport(EVTGEN_INFO,"EvtGen") << "500 iterations to build up a good probmax \n";
EvtGenReport(EVTGEN_INFO,"EvtGen") << "before accepting a decay. "<<endl;
}
}
EvtDecayBase::EvtDecayBase() {
//the default is that the user module does _not_ set
// any probmax.
defaultprobmax=1;
ntimes_prob = 0;
probmax = 0.0;
-
+
_photos=0;
_verbose=0;
_summary=0;
_parent=EvtId(-1,-1);
_ndaug=0;
_narg=0;
- _daug=0;
- _args=0;
- _argsD=0;
_modelname="**********";
//Default is to check that charge is conserved
_chkCharge=1;
//statistics collection!
max_prob=0.0;
sum_prob=0.0;
}
void EvtDecayBase::printSummary() const {
if (ntimes_prob>0) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Calls = "<<ntimes_prob<<" eff: "<<
sum_prob/(probmax*ntimes_prob)<<" frac. max:"<<max_prob/probmax;
EvtGenReport(EVTGEN_INFO,"") <<" probmax:"<<probmax<<" max:"<<max_prob<<" : ";
}
- printInfo();
+ printInfo();
}
void EvtDecayBase::printInfo() const {
EvtGenReport(EVTGEN_INFO,"") << EvtPDL::name(_parent).c_str()<<" -> ";
for(int i=0;i<_ndaug;i++){
EvtGenReport(EVTGEN_INFO,"") << EvtPDL::name(_daug[i]).c_str() << " ";
}
EvtGenReport(EVTGEN_INFO,"") << " ("<<_modelname.c_str()<<")"<< endl;
}
-EvtDecayBase::~EvtDecayBase() {
-
- if (_daug!=0){
- delete [] _daug;
- }
-
- if (_args!=0){
- delete [] _args;
- }
-
- if (_argsD!=0){
- delete [] _argsD;
- }
-
-
-}
-
void EvtDecayBase::setProbMax(double prbmx){
defaultprobmax=0;
probmax=prbmx;
}
void EvtDecayBase::noProbMax(){
defaultprobmax=0;
}
double EvtDecayBase::findMaxMass(EvtParticle *p) {
-
+
double maxOkMass=EvtPDL::getMaxMass(p->getId());
//protect against vphotons
if ( maxOkMass < 0.0000000001 ) return 10000000.;
//and against already determined masses
if ( p->hasValidP4() ) maxOkMass=p->mass();
EvtParticle *par=p->getParent();
if ( par ) {
double maxParMass=findMaxMass(par);
size_t i;
double minDaugMass=0.;
for(i=0;i<par->getNDaug();i++){
EvtParticle *dau=par->getDaug(i);
if ( dau!=p) {
// it might already have a mass
if ( dau->isInitialized() || dau->hasValidP4() )
minDaugMass+=dau->mass();
else
- //give it a bit of phase space
+ //give it a bit of phase space
minDaugMass+=1.000001*EvtPDL::getMinMass(dau->getId());
}
}
if ( maxOkMass>(maxParMass-minDaugMass)) maxOkMass=maxParMass-minDaugMass;
}
return maxOkMass;
}
// given list of daughters ( by number ) returns a
-// list of viable masses.
+// list of viable masses.
void EvtDecayBase::findMass(EvtParticle *p) {
//Need to also check that this mass does not screw
//up the parent
//This code assumes that for the ith daughter, 0..i-1
//already have a mass
double maxOkMass=findMaxMass(p);
int count=0;
double mass;
bool massOk=false;
size_t i;
- while (!massOk) {
+ while (!massOk) {
count++;
if ( count > 10000 ) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Can not find a valid mass for: " << EvtPDL::name(p->getId()).c_str() <<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Now printing parent and/or grandparent tree\n";
if ( p->getParent() ) {
if ( p->getParent()->getParent() ) {
p->getParent()->getParent()->printTree();
EvtGenReport(EVTGEN_INFO,"EvtGen") << p->getParent()->getParent()->mass() <<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen") << p->getParent()->mass() <<endl;
}
else{
p->getParent()->printTree();
EvtGenReport(EVTGEN_INFO,"EvtGen") << p->getParent()->mass() <<endl;
}
}
else p->printTree();
EvtGenReport(EVTGEN_INFO,"EvtGen") << "maxokmass=" << maxOkMass << " " << EvtPDL::getMinMass(p->getId()) << " " << EvtPDL::getMaxMass(p->getId())<<endl;
- if ( p->getNDaug() ) {
+ if ( p->getNDaug() ) {
for (i=0; i<p->getNDaug(); i++) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << p->getDaug(i)->mass()<<" ";
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << endl;
}
if ( maxOkMass >= EvtPDL::getMinMass(p->getId()) ) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "taking a default value\n";
p->setMass(maxOkMass);
return;
- }
+ }
assert(0);
}
mass = EvtPDL::getMass(p->getId());
//Just need to check that this mass is > than
//the mass of all daughters
double massSum=0.;
- if ( p->getNDaug() ) {
+ if ( p->getNDaug() ) {
for (i=0; i<p->getNDaug(); i++) {
massSum+= p->getDaug(i)->mass();
}
}
//some special cases are handled with 0 (stable) or 1 (k0->ks/kl) daughters
if (p->getNDaug()<2) massOk=true;
if ( p->getParent() ) {
if ( p->getParent()->getNDaug()==1 ) massOk=true;
}
- if ( !massOk ) {
+ if ( !massOk ) {
if (massSum < mass) massOk=true;
if ( mass> maxOkMass) massOk=false;
}
}
p->setMass(mass);
-
+
}
-void EvtDecayBase::findMasses(EvtParticle *p, int ndaugs,
+void EvtDecayBase::findMasses(EvtParticle *p, int ndaugs,
EvtId daugs[10], double masses[10]) {
int i;
double mass_sum;
int count=0;
if (!( p->firstornot() )) {
for (i = 0; i < ndaugs; i++ ) {
masses[i] = p->getDaug(i)->mass();
} //for
} //if
else {
p->setFirstOrNot();
// if only one daughter do it
if (ndaugs==1) {
masses[0]=p->mass();
return;
}
-
+
//until we get a combo whose masses are less than _parent mass.
do {
mass_sum = 0.0;
for (i = 0; i < ndaugs; i++ ) {
masses[i] = EvtPDL::getMass(daugs[i]);
mass_sum = mass_sum + masses[i];
- }
+ }
count++;
-
+
if(count==10000) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") <<"Decaying particle:"<<
EvtPDL::name(p->getId()).c_str()<<" (m="<<p->mass()<<")"<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") <<"To the following daugthers"<<endl;
for (i = 0; i < ndaugs; i++ ) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
EvtPDL::name(daugs[i]).c_str() << endl;
- }
+ }
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Has been rejected "<<count
<< " times, will now take minimal masses "
<< " of daugthers"<<endl;
-
+
mass_sum=0.;
for (i = 0; i < ndaugs; i++ ) {
masses[i] = EvtPDL::getMinMass(daugs[i]);
mass_sum = mass_sum + masses[i];
- }
+ }
if (mass_sum > p->mass()){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Parent mass="<<p->mass()
<< "to light for daugthers."<<endl
<< "Will throw the event away."<<endl;
//dont terminate - start over on the event.
EvtStatus::setRejectFlag();
mass_sum=0.;
// ::abort();
}
}
} while ( mass_sum > p->mass());
} //else
-
+
return;
-}
+}
void EvtDecayBase::checkNArg(int a1, int a2, int a3, int a4) {
if ( _narg != a1 && _narg != a2 && _narg != a3 && _narg != a4 ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << _modelname.c_str() << " generator expected "<<endl;
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << a1<<endl;;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << a1<<endl;;
if ( a2>-1) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << " or " << a2<<endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << " or " << a2<<endl;
}
if ( a3>-1) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << " or " << a3<<endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << " or " << a3<<endl;
}
if ( a4>-1) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << " or " << a4<<endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << " or " << a4<<endl;
}
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " arguments but found:"<< _narg << endl;
printSummary();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
- }
+ }
}
void EvtDecayBase::checkNDaug(int d1, int d2){
if ( _ndaug != d1 && _ndaug != d2 ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << _modelname.c_str() << " generator expected ";
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << d1;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << d1;
if ( d2>-1) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << " or " << d2;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << " or " << d2;
}
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " daughters but found:"<< _ndaug << endl;
printSummary();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
- }
+ }
}
void EvtDecayBase::checkSpinParent(EvtSpinType::spintype sp) {
EvtSpinType::spintype parenttype = EvtPDL::getSpinType(getParentId());
if ( parenttype != sp ) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << _modelname.c_str()
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << _modelname.c_str()
<< " did not get the correct parent spin\n";
printSummary();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
- }
+ }
}
void EvtDecayBase::checkSpinDaughter(int d1, EvtSpinType::spintype sp) {
EvtSpinType::spintype parenttype = EvtPDL::getSpinType(getDaug(d1));
if ( parenttype != sp ) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << _modelname.c_str()
- << " did not get the correct daughter spin d="
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << _modelname.c_str()
+ << " did not get the correct daughter spin d="
<< d1 << endl;
printSummary();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
- }
+ }
}
double* EvtDecayBase::getArgs() {
- if ( _argsD ) return _argsD;
- //The user has asked for a list of doubles - the arguments
+ if ( !_argsD.empty() ) return _argsD.data();
+ //The user has asked for a list of doubles - the arguments
//better all be doubles...
- if ( _narg==0 ) return _argsD;
+ if ( _narg==0 ) return _argsD.data();
- _argsD = new double[_narg];
-
- int i;
- char * tc;
- for(i=0;i<_narg;i++) {
+ _argsD.resize(_narg);
+ for(int i=0;i<_narg;i++) {
+ char * tc;
_argsD[i] = strtod(_args[i].c_str(),&tc);
}
- return _argsD;
+ return _argsD.data();
}
double EvtDecayBase::getArg(unsigned int j) {
// Verify string
if (getParentId().getId() == 25) {
- int i = 0 ;
+ int i = 0 ;
++i;
}
const char* str = _args[j].c_str();
int i = 0;
while(str[i]!=0){
if (isalpha(str[i]) && str[i]!='e') {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "String " << str << " is not a number" << endl;
assert(0);
}
i++;
}
-
- char** tc=0;
+
+ char** tc=0;
double result = strtod(_args[j].c_str(),tc);
if (_storedArgs.size() < j+1 ){ // then store the argument's value
_storedArgs.push_back(result);
}
return result;
}
bool EvtDecayBase::matchingDecay(const EvtDecayBase &other) const {
if ( _ndaug != other._ndaug) return false;
if ( _parent != other._parent) return false;
-
+
std::vector<int> useDs;
for ( int i=0; i<_ndaug; i++) useDs.push_back(0);
for ( int i=0; i<_ndaug; i++) {
bool foundIt=false;
for ( int j=0; j<_ndaug; j++) {
if ( useDs[j] == 1 ) continue;
if ( _daug[i] == other._daug[j] && _daug[i].getAlias() == other._daug[j].getAlias()) {
foundIt=true;
useDs[j]=1;
break;
}
}
if ( foundIt==false) return false;
}
for ( int i=0; i<_ndaug; i++) if ( useDs[i]==0) return false;
return true;
}
diff --git a/src/EvtGenBase/EvtDecayMode.cpp b/src/EvtGenBase/EvtDecayMode.cpp
index e6a7b47..83d065f 100644
--- a/src/EvtGenBase/EvtDecayMode.cpp
+++ b/src/EvtGenBase/EvtDecayMode.cpp
@@ -1,179 +1,175 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtDecayMode.cpp,v 1.3 2009-03-16 15:53:27 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
// Parses a decay string to identify the name
-// of the mother and of the daughters. The string should
+// of the mother and of the daughters. The string should
// be in standard format e.g. "B+ -> pi+ pi+ pi-"
#include "EvtGenBase/EvtPatches.hh"
#include <assert.h>
#include <iostream>
#include "EvtGenBase/EvtDecayMode.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
using std::ostream;
using std::string;
using std::vector;
EvtDecayMode::EvtDecayMode(std::string mother,vector<string> dau)
: _mother(mother),
_dau(dau)
{
}
EvtDecayMode::EvtDecayMode(const EvtDecayMode& other)
: _mother(other._mother),
_dau(other._dau)
{
}
EvtDecayMode::EvtDecayMode(const char* decay)
{
- // Parse the decay string, it should be in a standard
+ // Parse the decay string, it should be in a standard
// format, e.g. "B+ -> pi+ pi+ pi-" with all spaces
-
+
string s(decay);
// mother
string::size_type i = s.find_first_not_of(" ");
string::size_type j = s.find_first_of(" ",i);
if(i == string::npos) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "No non-space character found" << endl;
assert(0);
}
if(j == string::npos) {
-
+
EvtGenReport(EVTGEN_INFO,"EvtGen") << "No space before -> found" << endl;
assert(0);
}
_mother = string(s,i,j-i);
i = s.find_first_not_of(" ",j);
j = s.find_first_of("->",j);
if(i != j) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Multiple mothers?" << i << "," << j << endl;
assert(0);
}
j += 2;
while(1) {
i = s.find_first_not_of(" ",j);
j = s.find_first_of(" ",i);
if(i == string::npos) break;
if(j == string::npos) {
_dau.push_back(string(s,i,s.size()-i+1));
break;
} else {
_dau.push_back(string(s,i,j-i));
}
}
}
-EvtDecayMode::~EvtDecayMode()
-{}
-
-
const char* EvtDecayMode::mother() const
{
return _mother.c_str();
}
int EvtDecayMode::nD() const
{
return _dau.size();
}
const char* EvtDecayMode::dau(int i) const
{
assert(0<=i && i< (int) _dau.size());
return _dau[i].c_str();
}
std::string EvtDecayMode::mode() const
{
string ret = _mother + string(" -> ");
for(size_t i=0;i<_dau.size()-1;i++) {
ret += string(_dau[i]) + string(" ");
}
ret += _dau[_dau.size()-1];
return ret;
}
ostream& EvtDecayMode::print(ostream& os) const
{
os << _mother.c_str() << " ->";
for(size_t i=0;i<_dau.size();i++) {
os << " " << _dau[i].c_str();
}
return os;
}
std::string EvtDecayMode::m(EvtCyclic3::Pair i) const
{
string s("m(");
s.append(dau(EvtCyclic3::first(i)));
s.append(",");
s.append(dau(EvtCyclic3::second(i)));
s.append(")");
return s;
}
std::string EvtDecayMode::q(EvtCyclic3::Pair i) const
{
string s("q(");
s.append(dau(EvtCyclic3::first(i)));
s.append(",");
s.append(dau(EvtCyclic3::second(i)));
s.append(")");
return s;
}
std::string EvtDecayMode::dal(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
{
string s(q(i));
s.append(":");
s.append(q(j));
return s;
}
ostream& operator<<(ostream& os, const EvtDecayMode& mode)
{
mode.print(os);
return os;
}
diff --git a/src/EvtGenBase/EvtDiracParticle.cpp b/src/EvtGenBase/EvtDiracParticle.cpp
index 1f165a1..b181a2a 100644
--- a/src/EvtGenBase/EvtDiracParticle.cpp
+++ b/src/EvtGenBase/EvtDiracParticle.cpp
@@ -1,173 +1,164 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtDiracParticle.cc
//
// Description: Class to describe spin 1/2 particles.
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtDiracParticle.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtSpinDensity.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
using std::endl;
-EvtDiracParticle::~EvtDiracParticle(){}
-
-
-EvtDiracParticle::EvtDiracParticle(){
-
- return;
-
-}
-
void EvtDiracParticle::init(EvtId part_n,const EvtVector4R& p4){
- _validP4=true;
+ _validP4=true;
setp(p4);
setpart_num(part_n);
if (EvtPDL::getStdHep(part_n)==0){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Error in EvtDiracParticle::init, part_n="
- << part_n.getId()<<endl;
+ << part_n.getId()<<endl;
::abort();
}
- if (EvtPDL::getStdHep(part_n)>0){
+ if (EvtPDL::getStdHep(part_n)>0){
_spinorRest[0].set(EvtComplex(sqrt(2.0*mass()),0.0),EvtComplex(0.0,0.0),
EvtComplex(0.0,0.0),EvtComplex(0.0,0.0));
_spinorRest[1].set(EvtComplex(0.0,0.0),EvtComplex(sqrt(2.0*mass()),0.0),
EvtComplex(0.0,0.0),EvtComplex(0.0,0.0));
-
+
_spinorParent[0]=boostTo(_spinorRest[0],p4);
_spinorParent[1]=boostTo(_spinorRest[1],p4);
}
else{
_spinorRest[0].set(EvtComplex(0.0,0.0),EvtComplex(0.0,0.0),
EvtComplex(sqrt(2.0*mass()),0.0),EvtComplex(0.0,0.0));
_spinorRest[1].set(EvtComplex(0.0,0.0),EvtComplex(0.0,0.0),
EvtComplex(0.0,0.0),EvtComplex(sqrt(2.0*mass()),0.0));
-
+
_spinorParent[0]=boostTo(_spinorRest[0],p4);
_spinorParent[1]=boostTo(_spinorRest[1],p4);
}
setLifetime();
}
void EvtDiracParticle::init(EvtId part_n,const EvtVector4R& p4,
- const EvtDiracSpinor & prod1,
+ const EvtDiracSpinor & prod1,
const EvtDiracSpinor & prod2,
- const EvtDiracSpinor & rest1,
+ const EvtDiracSpinor & rest1,
const EvtDiracSpinor & rest2){
-
- _validP4=true;
+
+ _validP4=true;
setp(p4);
setpart_num(part_n);
-
+
if (EvtPDL::getStdHep(part_n)==0){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Error in EvtDiracParticle::init, part_n="
- << part_n.getId()<<std::endl;
+ << part_n.getId()<<std::endl;
::abort();
}
_spinorRest[0]=rest1;
_spinorRest[1]=rest2;
_spinorParent[0]=prod1;
_spinorParent[1]=prod2;
-
+
setLifetime();
}
-
+
EvtSpinDensity EvtDiracParticle::rotateToHelicityBasis() const{
EvtDiracSpinor spplus;
EvtDiracSpinor spminus;
-
+
double sqmt2=sqrt(2.*(getP4().mass()));
-
- if (EvtPDL::getStdHep(getId())>0){
+
+ if (EvtPDL::getStdHep(getId())>0){
spplus.set(1.0,0.0,0.0,0.0);
spminus.set(0.0,1.0,0.0,0.0);
} else {
spplus.set(0.0,0.0,1.0,0.0);
spminus.set(0.0,0.0,0.0,1.0);
}
-
+
EvtSpinDensity R;
R.setDim(2);
-
+
for (int i=0; i<2; i++) {
R.set(0,i,(spplus*_spinorRest[i])/sqmt2);
R.set(1,i,(spminus*_spinorRest[i])/sqmt2);
}
return R;
}
EvtSpinDensity EvtDiracParticle::rotateToHelicityBasis(double alpha,
double beta,
double gamma) const{
EvtDiracSpinor spplus;
EvtDiracSpinor spminus;
-
+
double sqmt2=sqrt(2.*(getP4().mass()));
-
- if (EvtPDL::getStdHep(getId())>0){
+
+ if (EvtPDL::getStdHep(getId())>0){
spplus.set(1.0,0.0,0.0,0.0);
spminus.set(0.0,1.0,0.0,0.0);
} else {
spplus.set(0.0,0.0,1.0,0.0);
spminus.set(0.0,0.0,0.0,1.0);
}
-
+
spplus.applyRotateEuler(alpha,beta,gamma);
spminus.applyRotateEuler(alpha,beta,gamma);
EvtSpinDensity R;
R.setDim(2);
-
+
for (int i=0; i<2; i++) {
R.set(0,i,(spplus*_spinorRest[i])/sqmt2);
R.set(1,i,(spminus*_spinorRest[i])/sqmt2);
}
return R;
}
diff --git a/src/EvtGenBase/EvtDiracSpinor.cpp b/src/EvtGenBase/EvtDiracSpinor.cpp
index 7c269a0..9fadeae 100644
--- a/src/EvtGenBase/EvtDiracSpinor.cpp
+++ b/src/EvtGenBase/EvtDiracSpinor.cpp
@@ -1,366 +1,364 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtDiracSpinor.cc
//
// Description: Class to describe (EvtDiracParticle) spinors.
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <math.h>
#include <assert.h>
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
using std::ostream;
-EvtDiracSpinor::~EvtDiracSpinor(){}
-
EvtDiracSpinor::EvtDiracSpinor(const EvtComplex& sp0,const EvtComplex& sp1,
const EvtComplex& sp2,const EvtComplex& sp3){
set(sp0,sp1,sp2,sp3);
}
void EvtDiracSpinor::set(const EvtComplex& sp0,const EvtComplex& sp1,
const EvtComplex& sp2,const EvtComplex& sp3){
spinor[0]=sp0;spinor[1]=sp1;spinor[2]=sp2;spinor[3]=sp3;
}
void EvtDiracSpinor::set_spinor(int i,const EvtComplex& sp){
spinor[i]=sp;
}
ostream& operator<<(ostream& s, const EvtDiracSpinor& sp){
s <<"["<<sp.spinor[0]<<","<<sp.spinor[1]<<","
<<sp.spinor[2]<<","<<sp.spinor[3]<<"]";
return s;
}
-const EvtComplex& EvtDiracSpinor::get_spinor(int i) const {
-
+const EvtComplex& EvtDiracSpinor::get_spinor(int i) const {
+
return spinor[i];
}
EvtDiracSpinor rotateEuler(const EvtDiracSpinor& sp,
double alpha,double beta,double gamma){
EvtDiracSpinor tmp(sp);
tmp.applyRotateEuler(alpha,beta,gamma);
return tmp;
}
EvtDiracSpinor boostTo(const EvtDiracSpinor& sp,
const EvtVector4R p4){
EvtDiracSpinor tmp(sp);
tmp.applyBoostTo(p4);
return tmp;
}
EvtDiracSpinor boostTo(const EvtDiracSpinor& sp,
const EvtVector3R boost){
EvtDiracSpinor tmp(sp);
tmp.applyBoostTo(boost);
return tmp;
}
void EvtDiracSpinor::applyBoostTo(const EvtVector4R& p4){
double e=p4.get(0);
EvtVector3R boost(p4.get(1)/e,p4.get(2)/e,p4.get(3)/e);
applyBoostTo(boost);
return;
}
void EvtDiracSpinor::applyBoostTo(const EvtVector3R& boost) {
double bx,by,bz,gamma,b2,f1,f2;
EvtComplex spinorp[4];
bx=boost.get(0);
by=boost.get(1);
bz=boost.get(2);
b2=bx*bx+by*by+bz*bz;
if (b2==0.0){
return;
}
//assert(b2<1.0);
gamma=1.0;
if (b2 < 1.0) {gamma = 1.0/sqrt(1.0-b2);}
-
+
f1=sqrt((gamma+1.0)/2.0);
f2=f1*gamma/(gamma+1.0);
spinorp[0]=f1*spinor[0]+f2*bz*spinor[2]+
f2*EvtComplex(bx,-by)*spinor[3];
spinorp[1]=f1*spinor[1]+f2*EvtComplex(bx,by)*spinor[2]-
f2*bz*spinor[3];
spinorp[2]=f2*bz*spinor[0]+f2*EvtComplex(bx,-by)*spinor[1]+
f1*spinor[2];
spinorp[3]=f2*EvtComplex(bx,by)*spinor[0]-
f2*bz*spinor[1]+f1*spinor[3];
-
+
spinor[0]=spinorp[0];
spinor[1]=spinorp[1];
spinor[2]=spinorp[2];
spinor[3]=spinorp[3];
return;
}
void EvtDiracSpinor::applyRotateEuler(double alpha,double beta,
double gamma) {
EvtComplex retVal[4];
-
+
double cb2=cos(0.5*beta);
double sb2=sin(0.5*beta);
double capg2=cos(0.5*(alpha+gamma));
double camg2=cos(0.5*(alpha-gamma));
double sapg2=sin(0.5*(alpha+gamma));
double samg2=sin(0.5*(alpha-gamma));
EvtComplex m11(cb2*capg2,-cb2*sapg2);
EvtComplex m12(-sb2*camg2,sb2*samg2);
EvtComplex m21(sb2*camg2,sb2*samg2);
EvtComplex m22(cb2*capg2,cb2*sapg2);
retVal[0]=m11*spinor[0]+m12*spinor[1];
retVal[1]=m21*spinor[0]+m22*spinor[1];
retVal[2]=m11*spinor[2]+m12*spinor[3];
retVal[3]=m21*spinor[2]+m22*spinor[3];
spinor[0]=retVal[0];
spinor[1]=retVal[1];
spinor[2]=retVal[2];
spinor[3]=retVal[3];
return;
}
EvtDiracSpinor EvtDiracSpinor::conj() const {
EvtDiracSpinor sp;
for ( int i=0; i<4; i++)
sp.set_spinor(i,::conj(spinor[i]));
-
+
return sp;
}
EvtVector4C EvtLeptonVACurrent(const EvtDiracSpinor& d,const EvtDiracSpinor& dp){
//Old code; below is a new specialized code that does it more efficiently.
//EvtGammaMatrix mat;
//EvtVector4C temp;
//mat.va0();
//temp.set(0,d*(mat*dp));
//mat.va1();
//temp.set(1,d*(mat*dp));
//mat.va2();
//temp.set(2,d*(mat*dp));
//mat.va3();
//temp.set(3,d*(mat*dp));
//return temp;
-
- EvtComplex u02=::conj(d.spinor[0]-d.spinor[2]);
- EvtComplex u13=::conj(d.spinor[1]-d.spinor[3]);
+
+ EvtComplex u02=::conj(d.spinor[0]-d.spinor[2]);
+ EvtComplex u13=::conj(d.spinor[1]-d.spinor[3]);
EvtComplex v02=dp.spinor[0]-dp.spinor[2];
EvtComplex v13=dp.spinor[1]-dp.spinor[3];
EvtComplex a=u02*v02;
EvtComplex b=u13*v13;
EvtComplex c=u02*v13;
EvtComplex e=u13*v02;
return EvtVector4C(a+b,-(c+e),EvtComplex(0,1)*(c-e),b-a);
-
+
}
EvtVector4C EvtLeptonVCurrent(const EvtDiracSpinor& d,const EvtDiracSpinor& dp){
EvtVector4C temp;
// no conjugate here; done in the multiplication
// yes this is stupid and fooled me to for a long time (ryd)
temp.set(0,d*(EvtGammaMatrix::v0()*dp));
temp.set(1,d*(EvtGammaMatrix::v1()*dp));
temp.set(2,d*(EvtGammaMatrix::v2()*dp));
temp.set(3,d*(EvtGammaMatrix::v3()*dp));
-
+
return temp;
}
EvtVector4C EvtLeptonACurrent(const EvtDiracSpinor& d,const EvtDiracSpinor& dp){
EvtVector4C temp;
EvtGammaMatrix mat;
// no conjugate here; done in the multiplication
// yes this is stupid and fooled me to for a long time (ryd)
mat = EvtGammaMatrix::v0()-EvtGammaMatrix::va0();
temp.set(0,d*(mat*dp));
mat = EvtGammaMatrix::v1()-EvtGammaMatrix::va1();
temp.set(1,d*(mat*dp));
mat = EvtGammaMatrix::v2()-EvtGammaMatrix::va2();
temp.set(2,d*(mat*dp));
mat = EvtGammaMatrix::v3()-EvtGammaMatrix::va3();
temp.set(3,d*(mat*dp));
-
+
return temp;
}
EvtComplex EvtLeptonSCurrent(const EvtDiracSpinor& d,const EvtDiracSpinor& dp){
EvtComplex temp;
// no conjugate here; done in the multiplication
// yes this is stupid and fooled me to for a long time (ryd)
temp=d*(EvtGammaMatrix::g0()*dp);
-
+
return temp;
}
EvtComplex EvtLeptonPCurrent(const EvtDiracSpinor& d,const EvtDiracSpinor& dp){
EvtComplex temp;
// no conjugate here; done in the multiplication
// yes this is stupid and fooled me to for a long time (ryd)
static EvtGammaMatrix m=EvtGammaMatrix::g0()*EvtGammaMatrix::g5();
temp=d*(m*dp);
-
+
return temp;
}
EvtTensor4C EvtLeptonTCurrent(const EvtDiracSpinor& d,const EvtDiracSpinor& dp){
EvtTensor4C temp;
temp.zero();
EvtComplex i2(0,0.5);
static EvtGammaMatrix mat01=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g0()*EvtGammaMatrix::g1()-
EvtGammaMatrix::g1()*EvtGammaMatrix::g0());
static EvtGammaMatrix mat02=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g0()*EvtGammaMatrix::g2()-
EvtGammaMatrix::g2()*EvtGammaMatrix::g0());
static EvtGammaMatrix mat03=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g0()*EvtGammaMatrix::g3()-
EvtGammaMatrix::g3()*EvtGammaMatrix::g0());
static EvtGammaMatrix mat12=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g1()*EvtGammaMatrix::g2()-
EvtGammaMatrix::g2()*EvtGammaMatrix::g1());
static EvtGammaMatrix mat13=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g1()*EvtGammaMatrix::g3()-
EvtGammaMatrix::g3()*EvtGammaMatrix::g1());
static EvtGammaMatrix mat23=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g2()*EvtGammaMatrix::g3()-
EvtGammaMatrix::g3()*EvtGammaMatrix::g2());
-
+
temp.set(0,1,i2*(d*(mat01*dp)));
temp.set(1,0,-temp.get(0,1));
temp.set(0,2,i2*(d*(mat02*dp)));
temp.set(2,0,-temp.get(0,2));
temp.set(0,3,i2*(d*(mat03*dp)));
temp.set(3,0,-temp.get(0,3));
temp.set(1,2,i2*(d*(mat12*dp)));
temp.set(2,1,-temp.get(1,2));
temp.set(1,3,i2*(d*(mat13*dp)));
temp.set(3,1,-temp.get(1,3));
temp.set(2,3,i2*(d*(mat23*dp)));
temp.set(3,2,-temp.get(2,3));
-
+
return temp;
}
EvtDiracSpinor operator*(const EvtComplex& c, const EvtDiracSpinor& d) {
EvtDiracSpinor result;
result.spinor[0] = c*d.spinor[0];
result.spinor[1] = c*d.spinor[1];
result.spinor[2] = c*d.spinor[2];
result.spinor[3] = c*d.spinor[3];
return result;
}
EvtDiracSpinor EvtDiracSpinor::adjoint() const
{
EvtDiracSpinor d = this->conj(); // first conjugate, then multiply with gamma0
EvtGammaMatrix g0 = EvtGammaMatrix::g0();
EvtDiracSpinor result; // automatically initialized to 0
for (int i=0; i<4; ++i)
for (int j=0; j<4; ++j)
result.spinor[i] += d.spinor[j] * g0._gamma[i][j];
return result;
}
EvtComplex operator*(const EvtDiracSpinor& d,const EvtDiracSpinor& dp){
int i;
EvtComplex temp;
-
+
temp=EvtComplex(0.0,0.0);
-
+
for(i=0;i<4;i++){
temp += conj( d.get_spinor(i) ) * dp.get_spinor( i ) ;
}
return temp;
}
diff --git a/src/EvtGenBase/EvtFlatLineShape.cpp b/src/EvtGenBase/EvtFlatLineShape.cpp
index aa9bca7..ed7228e 100644
--- a/src/EvtGenBase/EvtFlatLineShape.cpp
+++ b/src/EvtGenBase/EvtFlatLineShape.cpp
@@ -1,110 +1,103 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtLineShape.cc
//
// Description: Store particle properties for one particle.
//
// Modification history:
//
// Lange March 10, 2001 Module created
// Dvoretskii June 03, 2002 Reimplemented rollMass()
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtFlatLineShape.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtBlattWeisskopf.hh"
#include "EvtGenBase/EvtPropBreitWignerRel.hh"
#include "EvtGenBase/EvtPropBreitWigner.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtSpinType.hh"
-EvtFlatLineShape::EvtFlatLineShape() {
-
-}
-
-EvtFlatLineShape::~EvtFlatLineShape() {
-}
-
-EvtFlatLineShape::EvtFlatLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp) {
+EvtFlatLineShape::EvtFlatLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp) {
_mass=mass;
_width=width;
_spin=sp;
_maxRange=maxRange;
double maxdelta = width;
_massMax=mass+maxdelta;
_massMin=mass-maxdelta;
if ( _massMin< 0. ) _massMin=0.;
}
EvtFlatLineShape::EvtFlatLineShape(const EvtFlatLineShape& x):
EvtAbsLineShape( x ) {
_mass=x._mass;
_width=x._width;
_spin=x._spin;
_massMax=x._massMax;
_massMin=x._massMin;
_maxRange=x._maxRange;
}
EvtFlatLineShape& EvtFlatLineShape::operator=(const EvtFlatLineShape& x){
_mass=x._mass;
_massMax=x._massMax;
_massMin=x._massMin;
_width=x._width;
_maxRange=x._maxRange;
_spin=x._spin;
return *this;
}
EvtAbsLineShape* EvtFlatLineShape::clone() {
return new EvtFlatLineShape(*this);
}
double EvtFlatLineShape::getMassProb(double mass, double massPar,int nDaug, double *massDau) {
-
+
double dTotMass=0.;
int i;
for (i=0; i<nDaug; i++) {
dTotMass+=massDau[i];
}
if ( (mass<dTotMass) ) return 0.;
if ( massPar>0.0000000001 ) {
if ( mass > massPar) return 0.;
}
return 1.;
}
double EvtFlatLineShape::getRandMass(EvtId*,int, EvtId*, EvtId*, double, double*) {
return EvtRandom::Flat(_massMin,_massMax);
}
diff --git a/src/EvtGenBase/EvtFlatte.cpp b/src/EvtGenBase/EvtFlatte.cpp
index d246c19..557c9b9 100644
--- a/src/EvtGenBase/EvtFlatte.cpp
+++ b/src/EvtGenBase/EvtFlatte.cpp
@@ -1,101 +1,99 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtFlatte.cc
//
-// Description: resonance-defining class
+// Description: resonance-defining class
//
// Modification history:
//
// ponyisi 18 Feb 2008 created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <math.h>
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtKine.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtFlatte.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtConst.hh"
-EvtFlatte::~EvtFlatte(){}
-
//operator
EvtFlatte& EvtFlatte::operator = ( const EvtFlatte &n)
{
if ( &n == this ) return *this;
_p4_p = n._p4_p;
_p4_d1 = n._p4_d1;
_p4_d2 = n._p4_d2;
_ampl = n._ampl;
_theta = n._theta;
_mass = n._mass;
_params = n._params;
// _m1a = n._m1a;
// _m1b = n._m1b;
// _g1 = n._g1;
// _m2a = n._m2a;
// _m2b = n._m2b;
// _g2 = n._g2;
return *this;
}
//constructor
-
+
EvtFlatte::EvtFlatte(const EvtVector4R& p4_p, const EvtVector4R& p4_d1,
const EvtVector4R& p4_d2, double ampl,
- double theta, double mass,
+ double theta, double mass,
vector<EvtFlatteParam>& params
// double m1a, double m1b, double g1,
// double m2a, double m2b, double g2
- ):
- _p4_p(p4_p),_p4_d1(p4_d1), _p4_d2(p4_d2), _ampl(ampl), _theta(theta),
+ ):
+ _p4_p(p4_p),_p4_d1(p4_d1), _p4_d2(p4_d2), _ampl(ampl), _theta(theta),
_mass(mass),
_params(params)
// _m1a(m1a), _m1b(m1b), _g1(g1),
// _m2a(m2a), _m2b(m2b), _g2(g2)
{}
//amplitude function
EvtComplex EvtFlatte::resAmpl() {
-
+
double pi180inv = 1.0/EvtConst::radToDegrees;
// EvtComplex ampl(cos(_theta*pi180inv), sin(_theta*pi180inv));
// ampl *= _ampl;
// SCALARS ONLY
double mR = (_p4_d1+_p4_d2).mass();
EvtComplex w;
for (vector<EvtFlatteParam>::const_iterator param = _params.begin();
param != _params.end();
++param) {
- double m1 = (*param).m1(); double m2 = (*param).m2();
+ double m1 = (*param).m1(); double m2 = (*param).m2();
double g = (*param).g();
w += (g*g
*sqrtCplx((1-((m1-m2)*(m1-m2))/(mR*mR))*
(1-((m1+m2)*(m1+m2))/(mR*mR))));
// cout << m1 << " " << mR << " " << w << endl;
}
EvtComplex denom = _mass*_mass - mR*mR - EvtComplex(0,1)*w;
EvtComplex ampl = _ampl*EvtComplex(cos(_theta*pi180inv), sin(_theta*pi180inv))/denom;
// cout << abs(1/denom) << endl;
return ampl;
}
diff --git a/src/EvtGenBase/EvtGammaMatrix.cpp b/src/EvtGenBase/EvtGammaMatrix.cpp
index 9a05d24..7e88ca9 100644
--- a/src/EvtGenBase/EvtGammaMatrix.cpp
+++ b/src/EvtGenBase/EvtGammaMatrix.cpp
@@ -1,700 +1,696 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGammaMatrix.cc
//
// Description: Make gamma matrices availible for the calc. of amplitudes, etc.
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include <assert.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include <stdlib.h>
using std::endl;
using std::ostream;
EvtGammaMatrix::EvtGammaMatrix(){
int i,j;
static EvtComplex zero(0.0,0.0);
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_gamma[i][j]=zero;
}
}
}
EvtGammaMatrix operator*(const EvtGammaMatrix& g, const EvtComplex& c)
{
return c*g;
}
EvtGammaMatrix operator*(const EvtComplex& c,const EvtGammaMatrix& g){
int i,j;
EvtGammaMatrix temp;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
temp._gamma[i][j]=g._gamma[i][j]*c;
}
}
return temp;
}
ostream& operator<<(ostream& s, const EvtGammaMatrix& g){
s<<"["<<g._gamma[0][0]<<","<<g._gamma[0][1]<<","<<g._gamma[0][2]<<","<<g._gamma[0][3]<<"]"<<endl;
s<<"["<<g._gamma[1][0]<<","<<g._gamma[1][1]<<","<<g._gamma[1][2]<<","<<g._gamma[1][3]<<"]"<<endl;
s<<"["<<g._gamma[2][0]<<","<<g._gamma[2][1]<<","<<g._gamma[2][2]<<","<<g._gamma[2][3]<<"]"<<endl;
s<<"["<<g._gamma[3][0]<<","<<g._gamma[3][1]<<","<<g._gamma[3][2]<<","<<g._gamma[3][3]<<"]"<<endl;
return s;
}
EvtGammaMatrix::EvtGammaMatrix(const EvtGammaMatrix& gm){
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_gamma[i][j]=gm._gamma[i][j];
}
}
}
-EvtGammaMatrix::~EvtGammaMatrix() {}
-
EvtGammaMatrix& EvtGammaMatrix::operator=(const EvtGammaMatrix& gm){
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_gamma[i][j]=gm._gamma[i][j];
}
}
return *this;
}
void EvtGammaMatrix::init(){
int i,j;
static EvtComplex zero(0.0,0.0);
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_gamma[i][j]=zero;
}
}
}
const EvtGammaMatrix& EvtGammaMatrix::va0(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
g._gamma[0][0]=EvtComplex(1.0,0.0);
g._gamma[0][1]=EvtComplex(0.0,0.0);
g._gamma[0][2]=EvtComplex(-1.0,0.0);
g._gamma[0][3]=EvtComplex(0.0,0.0);
g._gamma[1][0]=EvtComplex(0.0,0.0);
g._gamma[1][1]=EvtComplex(1.0,0.0);
g._gamma[1][2]=EvtComplex(0.0,0.0);
g._gamma[1][3]=EvtComplex(-1.0,0.0);
g._gamma[2][0]=EvtComplex(-1.0,0.0);
g._gamma[2][1]=EvtComplex(0.0,0.0);
g._gamma[2][2]=EvtComplex(1.0,0.0);
g._gamma[2][3]=EvtComplex(0.0,0.0);
g._gamma[3][0]=EvtComplex(0.0,0.0);
g._gamma[3][1]=EvtComplex(-1.0,0.0);
g._gamma[3][2]=EvtComplex(0.0,0.0);
g._gamma[3][3]=EvtComplex(1.0,0.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::va1(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
g._gamma[0][0]=EvtComplex(0.0,0.0);
g._gamma[0][1]=EvtComplex(-1.0,0.0);
g._gamma[0][2]=EvtComplex(0.0,0.0);
g._gamma[0][3]=EvtComplex(1.0,0.0);
g._gamma[1][0]=EvtComplex(-1.0,0.0);
g._gamma[1][1]=EvtComplex(0.0,0.0);
g._gamma[1][2]=EvtComplex(1.0,0.0);
g._gamma[1][3]=EvtComplex(0.0,0.0);
g._gamma[2][0]=EvtComplex(0.0,0.0);
g._gamma[2][1]=EvtComplex(1.0,0.0);
g._gamma[2][2]=EvtComplex(0.0,0.0);
g._gamma[2][3]=EvtComplex(-1.0,0.0);
g._gamma[3][0]=EvtComplex(1.0,0.0);
g._gamma[3][1]=EvtComplex(0.0,0.0);
g._gamma[3][2]=EvtComplex(-1.0,0.0);
g._gamma[3][3]=EvtComplex(0.0,0.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::va2(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
g._gamma[0][0]=EvtComplex(0.0,0.0);
g._gamma[0][1]=EvtComplex(0.0,1.0);
g._gamma[0][2]=EvtComplex(0.0,0.0);
g._gamma[0][3]=EvtComplex(0.0,-1.0);
g._gamma[1][0]=EvtComplex(0.0,-1.0);
g._gamma[1][1]=EvtComplex(0.0,0.0);
g._gamma[1][2]=EvtComplex(0.0,1.0);
g._gamma[1][3]=EvtComplex(0.0,0.0);
g._gamma[2][0]=EvtComplex(0.0,0.0);
g._gamma[2][1]=EvtComplex(0.0,-1.0);
g._gamma[2][2]=EvtComplex(0.0,0.0);
g._gamma[2][3]=EvtComplex(0.0,1.0);
g._gamma[3][0]=EvtComplex(0.0,1.0);
g._gamma[3][1]=EvtComplex(0.0,0.0);
g._gamma[3][2]=EvtComplex(0.0,-1.0);
g._gamma[3][3]=EvtComplex(0.0,0.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::va3(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
g._gamma[0][0]=EvtComplex(-1.0,0.0);
g._gamma[0][1]=EvtComplex(0.0,0.0);
g._gamma[0][2]=EvtComplex(1.0,0.0);
g._gamma[0][3]=EvtComplex(0.0,0.0);
g._gamma[1][0]=EvtComplex(0.0,0.0);
g._gamma[1][1]=EvtComplex(1.0,0.0);
g._gamma[1][2]=EvtComplex(0.0,0.0);
g._gamma[1][3]=EvtComplex(-1.0,0.0);
g._gamma[2][0]=EvtComplex(1.0,0.0);
g._gamma[2][1]=EvtComplex(0.0,0.0);
g._gamma[2][2]=EvtComplex(-1.0,0.0);
g._gamma[2][3]=EvtComplex(0.0,0.0);
g._gamma[3][0]=EvtComplex(0.0,0.0);
g._gamma[3][1]=EvtComplex(-1.0,0.0);
g._gamma[3][2]=EvtComplex(0.0,0.0);
g._gamma[3][3]=EvtComplex(1.0,0.0);
}
return g;
-
+
}
const EvtGammaMatrix& EvtGammaMatrix::g0(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first=0;
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][0]=EvtComplex(1.0,0.0);
g._gamma[1][1]=EvtComplex(1.0,0.0);
g._gamma[2][2]=EvtComplex(-1.0,0.0);
g._gamma[3][3]=EvtComplex(-1.0,0.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::g1(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first=0;
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][3]=EvtComplex(1.0,0.0);
g._gamma[1][2]=EvtComplex(1.0,0.0);
g._gamma[2][1]=EvtComplex(-1.0,0.0);
g._gamma[3][0]=EvtComplex(-1.0,0.0);
}
-
+
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::g2(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first=0;
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][3]=EvtComplex(0.0,-1.0);
g._gamma[1][2]=EvtComplex(0.0,1.0);
g._gamma[2][1]=EvtComplex(0.0,1.0);
g._gamma[3][0]=EvtComplex(0.0,-1.0);
}
-
+
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::g3(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first=0;
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][2]=EvtComplex(1.0,0.0);
g._gamma[1][3]=EvtComplex(-1.0,0.0);
g._gamma[2][0]=EvtComplex(-1.0,0.0);
g._gamma[3][1]=EvtComplex(1.0,0.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::g5(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][2]=EvtComplex(1.0,0.0);
g._gamma[1][3]=EvtComplex(1.0,0.0);
g._gamma[2][0]=EvtComplex(1.0,0.0);
g._gamma[3][1]=EvtComplex(1.0,0.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::g(int index) {
switch (index) {
case 0:
return g0();
case 1:
return g1();
case 2:
return g2();
case 3:
return g3();
case 5:
return g5();
default:
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Invalid index for four vector: " << index << endl;
exit(-2);
}
}
const EvtGammaMatrix& EvtGammaMatrix::v0(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][0]=EvtComplex(1.0,0.0);
g._gamma[1][1]=EvtComplex(1.0,0.0);
g._gamma[2][2]=EvtComplex(1.0,0.0);
g._gamma[3][3]=EvtComplex(1.0,0.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::v1(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][3]=EvtComplex(1.0,0.0);
g._gamma[1][2]=EvtComplex(1.0,0.0);
g._gamma[2][1]=EvtComplex(1.0,0.0);
g._gamma[3][0]=EvtComplex(1.0,0.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::v2(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
int i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][3]=EvtComplex(0.0,-1.0);
g._gamma[1][2]=EvtComplex(0.0,1.0);
g._gamma[2][1]=EvtComplex(0.0,-1.0);
g._gamma[3][0]=EvtComplex(0.0,1.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::v3(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][2]=EvtComplex(1.0,0.0);
g._gamma[1][3]=EvtComplex(-1.0,0.0);
g._gamma[2][0]=EvtComplex(1.0,0.0);
g._gamma[3][1]=EvtComplex(-1.0,0.0);
}
return g;
}
const EvtGammaMatrix& EvtGammaMatrix::id(){
static EvtGammaMatrix g;
static int first=1;
if (first){
first = 0;
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
g._gamma[i][j]=EvtComplex(0.0,0.0);
}
}
-
+
g._gamma[0][0]=EvtComplex(1.0,0.0);
g._gamma[1][1]=EvtComplex(1.0,0.0);
g._gamma[2][2]=EvtComplex(1.0,0.0);
g._gamma[3][3]=EvtComplex(1.0,0.0);
}
return g;
}
EvtGammaMatrix& EvtGammaMatrix::operator+=(const EvtGammaMatrix &g){
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_gamma[i][j]+=g._gamma[i][j];
}
}
return *this;
}
EvtGammaMatrix& EvtGammaMatrix::operator-=(const EvtGammaMatrix &g){
int i,j;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_gamma[i][j]-=g._gamma[i][j];
}
}
return *this;
}
EvtGammaMatrix& EvtGammaMatrix::operator*=(const EvtGammaMatrix &g){
int i,j,k;
EvtGammaMatrix temp;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
temp._gamma[i][j]=EvtComplex(0.0,0.0);
for(k=0;k<4;k++){
temp._gamma[i][j]+=_gamma[i][k]*g._gamma[k][j];
}
}
}
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_gamma[i][j]=temp._gamma[i][j];
}
}
return *this;
}
EvtDiracSpinor operator*(const EvtGammaMatrix& g,const EvtDiracSpinor& d){
int i,j;
EvtDiracSpinor temp;
-
+
for(i=0;i<4;i++){
temp.set_spinor(i,EvtComplex(0.0,0.0));
for(j=0;j<4;j++){
temp.set_spinor(i,temp.get_spinor(i)+g._gamma[i][j]*d.get_spinor(j));
}
}
-
+
return temp;
}
// upper index
const EvtGammaMatrix& EvtGammaMatrix::sigmaUpper(unsigned int mu, unsigned int nu)
{
- EvtGammaMatrix a, b;
- static const EvtTensor4C eta = EvtTensor4C::g(); //metric
static EvtGammaMatrix sigma[4][4];
static bool hasBeenCalled = false;
if (!hasBeenCalled)
{
EvtComplex I(0, 1);
for (int i=0; i<4; ++i)
sigma[i][i].init(); // set to 0
-
+
EvtGammaMatrix s01 = I/2 * (g0()*g1() - g1()*g0());
EvtGammaMatrix s02 = I/2 * (g0()*g2() - g2()*g0());
EvtGammaMatrix s03 = I/2 * (g0()*g3() - g3()*g0());
EvtGammaMatrix s12 = I/2 * (g1()*g2() - g2()*g1());
EvtGammaMatrix s13 = I/2 * (g1()*g3() - g3()*g1());
EvtGammaMatrix s23 = I/2 * (g2()*g3() - g3()*g2());
sigma[0][1] = s01;
sigma[1][0] = -1*s01;
sigma[0][2] = s02;
sigma[2][0] = -1*s02;
sigma[0][3] = s03;
sigma[3][0] = -1*s03;
sigma[1][2] = s12;
sigma[2][1] = -1*s12;
sigma[1][3] = s13;
sigma[3][1] = -1*s13;
sigma[2][3] = s23;
sigma[3][2] = -1*s23;
}
hasBeenCalled = true;
-
+
if (mu > 3 || nu > 3)
{
EvtGenReport(EVTGEN_ERROR, "EvtSigmaTensor") << "Expected index between 0 and 3, but found " << nu << "!" << endl;
assert(0);
}
return sigma[mu][nu];
-
+
}
const EvtGammaMatrix& EvtGammaMatrix::sigmaLower(unsigned int mu, unsigned int nu)
{
const EvtComplex I(0, 1);
EvtGammaMatrix a, b;
static EvtGammaMatrix sigma[4][4];
static bool hasBeenCalled = false;
static const EvtTensor4C eta = EvtTensor4C::g();
-
+
if (!hasBeenCalled) // has to be initialized only at the first call
{
// lower index
for (int i=0; i<4; ++i)
{
a = eta.get(i, 0)*g0() + eta.get(i, 1)*g1() + eta.get(i, 2)*g2() + eta.get(i, 3)*g3();
for (int j=0; j<4; ++j)
{
b = eta.get(j, 0)*g0() + eta.get(j, 1)*g1() + eta.get(j, 2)*g2() + eta.get(j, 3)*g3();
sigma[i][j] = I/2 * (a*b - b*a);
}
}
}
- return sigma[mu][nu];
+ return sigma[mu][nu];
}
EvtGammaMatrix EvtGenFunctions::slash(const EvtVector4C& p)
{
- return EvtGammaMatrix::g0()*p.get(0) +
- EvtGammaMatrix::g1()*p.get(1) +
- EvtGammaMatrix::g2()*p.get(2) +
+ return EvtGammaMatrix::g0()*p.get(0) +
+ EvtGammaMatrix::g1()*p.get(1) +
+ EvtGammaMatrix::g2()*p.get(2) +
EvtGammaMatrix::g3()*p.get(3);
}
EvtGammaMatrix EvtGenFunctions::slash(const EvtVector4R& p)
{
- return EvtGammaMatrix::g0()*p.get(0) +
- EvtGammaMatrix::g1()*p.get(1) +
- EvtGammaMatrix::g2()*p.get(2) +
+ return EvtGammaMatrix::g0()*p.get(0) +
+ EvtGammaMatrix::g1()*p.get(1) +
+ EvtGammaMatrix::g2()*p.get(2) +
EvtGammaMatrix::g3()*p.get(3);
}
diff --git a/src/EvtGenBase/EvtHighSpinParticle.cpp b/src/EvtGenBase/EvtHighSpinParticle.cpp
index 6263eb8..66ab497 100644
--- a/src/EvtGenBase/EvtHighSpinParticle.cpp
+++ b/src/EvtGenBase/EvtHighSpinParticle.cpp
@@ -1,98 +1,87 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtHighSpinParticle.cc
//
// Description: Class to describe particles with spin>2.
//
// Modification history:
//
// RYD August 8, 2000 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include <assert.h>
#include "EvtGenBase/EvtHighSpinParticle.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtSpinDensity.hh"
#include "EvtGenBase/EvtdFunction.hh"
-EvtHighSpinParticle::~EvtHighSpinParticle() {}
-
-
void EvtHighSpinParticle::init(EvtId id,const EvtVector4R& p4){
_validP4=true;
setp(p4);
setpart_num(id);
setLifetime();
}
EvtSpinDensity EvtHighSpinParticle::rotateToHelicityBasis() const{
int n=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getId()));
EvtSpinDensity R;
R.setDiag(n);
return R;
}
EvtSpinDensity EvtHighSpinParticle::rotateToHelicityBasis(double alpha,
double beta,
double gamma) const{
int i,j;
-
+
int n=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getId()));
EvtSpinDensity R;
-
+
R.setDim(n);
int J2=EvtSpinType::getSpin2(EvtPDL::getSpinType(getId()));
assert(n==J2+1);
- int *lambda2;
-
- lambda2=new int[J2+1];
-
- for(i=0;i<J2+1;i++){
- lambda2[i]=J2-i*2;
- }
+ auto lambda2 = [J2](int i) { return J2-i*2; };
for(i=0;i<n;i++){
for(j=0;j<n;j++){
- R.set(i,j,EvtdFunction::d(J2,lambda2[j],lambda2[i],beta)*
- exp(EvtComplex(0.0,0.5*(alpha*lambda2[i]-gamma*lambda2[j]))));
+ R.set(i,j,EvtdFunction::d(J2,lambda2(j),lambda2(i),beta)*
+ exp(EvtComplex(0.0,0.5*(alpha*lambda2(i)-gamma*lambda2(j)))));
}
}
- delete [] lambda2;
-
return R;
}
diff --git a/src/EvtGenBase/EvtIncoherentMixing.cpp b/src/EvtGenBase/EvtIncoherentMixing.cpp
index e65591c..d9ee936 100644
--- a/src/EvtGenBase/EvtIncoherentMixing.cpp
+++ b/src/EvtGenBase/EvtIncoherentMixing.cpp
@@ -1,264 +1,260 @@
// $Id: EvtIncoherentMixing.cpp,v 1.13 2009-11-27 09:09:41 mwhitehe Exp $
-// Include files
+// Include files
// local
#include "EvtGenBase/EvtIncoherentMixing.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtRandom.hh"
//-----------------------------------------------------------------------------
// Implementation file for class : EvtIncoherentMixing
//
// 2003-10-09 : Patrick Robbe
//-----------------------------------------------------------------------------
bool EvtIncoherentMixing::_doB0Mixing = false ;
bool EvtIncoherentMixing::_doBsMixing = false ;
bool EvtIncoherentMixing::_enableFlip = false ;
double EvtIncoherentMixing::_dGammad = 0. ;
double EvtIncoherentMixing::_deltamd = 0.502e12 ;
// dGamma_s corresponds to DeltaGamma / Gamma = 10 %
double EvtIncoherentMixing::_dGammas = 6.852e10 ;
double EvtIncoherentMixing::_deltams = 20.e12 ;
//=============================================================================
// Standard constructor, initializes variables
//=============================================================================
EvtIncoherentMixing::EvtIncoherentMixing( ) {
_doB0Mixing = false ;
_doBsMixing = false ;
_dGammad = 0. ;
// dGammas corresponds to DeltaGamma / Gamma = 10 %
_dGammas = 6.852e10 ;
_deltamd = 0.502e12 ;
_deltams = 20.e12 ;
_enableFlip = false ;
}
//=============================================================================
-EvtIncoherentMixing::~EvtIncoherentMixing( )
-{
-}
-// ============================================================================
-void EvtIncoherentMixing::incoherentB0Mix( const EvtId id, double &t ,
+void EvtIncoherentMixing::incoherentB0Mix( const EvtId id, double &t ,
int &mix )
{
static EvtId B0 = EvtPDL::getId( "B0" ) ;
static EvtId B0B = EvtPDL::getId( "anti-B0" ) ;
-
+
if ( ( B0 != id ) && ( B0B != id ) ) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Bad configuration in incoherentB0Mix"
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Bad configuration in incoherentB0Mix"
<< std::endl ;
::abort() ;
}
-
+
double x = getdeltamd() * EvtPDL::getctau( B0 ) / EvtConst::c ;
double y = getdGammad() * ( EvtPDL::getctau( B0 ) / EvtConst::c ) / 2. ;
double fac = 1. ; // No CP violation
- double mixprob = ( x*x + y*y ) / ( x*x + y*y + ( 1./fac ) *
+ double mixprob = ( x*x + y*y ) / ( x*x + y*y + ( 1./fac ) *
( 2. + x*x - y*y ) ) ;
int mixsign ;
-
+
// decide if state is mixed
mixsign = ( mixprob > EvtRandom::Flat( 0. , 1. ) ) ? -1 : 1 ;
double prob ;
-
+
do {
t = -log( EvtRandom::Flat() ) * EvtPDL::getctau( B0 ) / ( 1. - y ) ;
prob = ( 1. + exp( -2. * y * t / EvtPDL::getctau( B0 ) ) +
- mixsign * 2. * exp( -y * t / EvtPDL::getctau( B0 ) ) *
+ mixsign * 2. * exp( -y * t / EvtPDL::getctau( B0 ) ) *
cos( getdeltamd() * t / EvtConst::c ) ) / 2. ;
} while ( prob < 2. * EvtRandom::Flat() ) ;
-
+
mix = 0 ;
if ( mixsign == -1 ) mix = 1 ;
-
- return ;
+
+ return ;
}
// ============================================================================
-void EvtIncoherentMixing::incoherentBsMix( const EvtId id, double &t ,
+void EvtIncoherentMixing::incoherentBsMix( const EvtId id, double &t ,
int &mix )
{
static EvtId BS = EvtPDL::getId( "B_s0" ) ;
static EvtId BSB = EvtPDL::getId( "anti-B_s0" ) ;
-
+
if ( ( BS != id ) && ( BSB != id ) ) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Bad configuration in incoherentBsMix"
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Bad configuration in incoherentBsMix"
<< std::endl ;
::abort() ;
}
-
+
double x = getdeltams() * EvtPDL::getctau( BS ) / EvtConst::c ;
double y = getdGammas() * ( EvtPDL::getctau( BS ) / EvtConst::c ) / 2. ;
double fac = 1. ; // No CP violation
- double mixprob = ( x*x + y*y ) / ( x*x + y*y + ( 1./fac ) *
+ double mixprob = ( x*x + y*y ) / ( x*x + y*y + ( 1./fac ) *
( 2. + x*x - y*y ) ) ;
int mixsign ;
-
+
// decide if state is mixed
mixsign = ( mixprob > EvtRandom::Flat( 0. , 1. ) ) ? -1 : 1 ;
double prob ;
-
+
do {
t = -log( EvtRandom::Flat() ) * EvtPDL::getctau( BS ) / ( 1. - y ) ;
prob = ( 1. + exp( -2. * y * t / EvtPDL::getctau( BS ) ) +
- mixsign * 2. * exp( -y * t / EvtPDL::getctau( BS ) ) *
+ mixsign * 2. * exp( -y * t / EvtPDL::getctau( BS ) ) *
cos( getdeltams() * t / EvtConst::c ) ) / 2. ;
} while ( prob < 2. * EvtRandom::Flat() ) ;
-
+
mix = 0 ;
if ( mixsign == -1 ) mix = 1 ;
-
- return ;
+
+ return ;
}
// ========================================================================
-bool EvtIncoherentMixing::isBsMixed ( EvtParticle * p )
-{
+bool EvtIncoherentMixing::isBsMixed ( EvtParticle * p )
+{
if ( ! ( p->getParent() ) ) return false ;
-
+
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
-
+
if ( ( p->getId() != BS0 ) && ( p->getId() != BSB ) ) return false ;
-
+
if ( ( p->getParent()->getId() == BS0 ) ||
( p->getParent()->getId() == BSB ) ) return true ;
-
+
return false ;
}
// ========================================================================
-bool EvtIncoherentMixing::isB0Mixed ( EvtParticle * p )
-{
+bool EvtIncoherentMixing::isB0Mixed ( EvtParticle * p )
+{
if ( ! ( p->getParent() ) ) return false ;
-
+
static EvtId B0 =EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
-
+
if ( ( p->getId() != B0 ) && ( p->getId() != B0B ) ) return false ;
-
+
if ( ( p->getParent()->getId() == B0 ) ||
( p->getParent()->getId() == B0B ) ) return true ;
-
+
return false ;
}
//============================================================================
-// Return the tag of the event (ie the anti-flavour of the produced
+// Return the tag of the event (ie the anti-flavour of the produced
// B meson). Flip the flavour of the event with probB probability
//============================================================================
void EvtIncoherentMixing::OtherB( EvtParticle * p ,
double & t ,
EvtId & otherb ,
- double probB )
+ double probB )
{
- //if(p->getId() == B0 || p->getId() == B0B)
+ //if(p->getId() == B0 || p->getId() == B0B)
//added by liming Zhang
enableFlip();
if ( ( isB0Mixed( p ) ) || ( isBsMixed( p ) ) ) {
p->getParent()->setLifetime() ;
t = p->getParent()->getLifetime() ;
}
else {
p->setLifetime() ;
t = p->getLifetime() ;
}
if ( flipIsEnabled() ) {
//std::cout << " liming << flipIsEnabled " << std::endl;
// Flip the flavour of the particle with probability probB
bool isFlipped = ( EvtRandom::Flat( 0. , 1. ) < probB ) ;
-
+
if ( isFlipped ) {
if ( ( isB0Mixed( p ) ) || ( isBsMixed( p ) ) ) {
p->getParent()
->setId( EvtPDL::chargeConj( p->getParent()->getId() ) ) ;
p->setId( EvtPDL::chargeConj( p->getId() ) ) ;
}
else {
p->setId( EvtPDL::chargeConj( p->getId() ) ) ;
}
}
}
-
+
if ( ( isB0Mixed( p ) ) || ( isBsMixed( p ) ) ) {
// if B has mixed, tag flavour is charge conjugate of parent of B-meson
otherb = EvtPDL::chargeConj( p->getParent()->getId() ) ;
}
else {
// else it is opposite flavour than this B hadron
otherb = EvtPDL::chargeConj( p->getId() ) ;
}
return ;
}
//============================================================================
-// Return the tag of the event (ie the anti-flavour of the produced
+// Return the tag of the event (ie the anti-flavour of the produced
// B meson). No flip
//============================================================================
void EvtIncoherentMixing::OtherB( EvtParticle * p ,
double & t ,
- EvtId & otherb )
+ EvtId & otherb )
{
if ( ( isB0Mixed( p ) ) || ( isBsMixed( p ) ) ) {
p->getParent()->setLifetime() ;
t = p->getParent()->getLifetime() ;
}
else {
p->setLifetime() ;
t = p->getLifetime() ;
}
-
+
if ( ( isB0Mixed( p ) ) || ( isBsMixed( p ) ) ) {
// if B has mixed, tag flavour is charge conjugate of parent of B-meson
otherb = EvtPDL::chargeConj( p->getParent()->getId() ) ;
}
else {
// else it is opposite flavour than this B hadron
otherb = EvtPDL::chargeConj( p->getId() ) ;
}
return ;
}
// activate or desactivate the Bs mixing
void EvtIncoherentMixing::setB0Mixing() { _doB0Mixing = true ; }
-void EvtIncoherentMixing::unsetB0Mixing() { _doB0Mixing = false ; }
+void EvtIncoherentMixing::unsetB0Mixing() { _doB0Mixing = false ; }
// activate or desactivate the B0 mixing
-void EvtIncoherentMixing::setBsMixing() { _doBsMixing = true ; }
-void EvtIncoherentMixing::unsetBsMixing() { _doBsMixing = false ; }
+void EvtIncoherentMixing::setBsMixing() { _doBsMixing = true ; }
+void EvtIncoherentMixing::unsetBsMixing() { _doBsMixing = false ; }
-// is mixing activated ?
+// is mixing activated ?
bool EvtIncoherentMixing::doB0Mixing() { return _doB0Mixing ; }
bool EvtIncoherentMixing::doBsMixing() { return _doBsMixing ; }
// set values for the mixing
-void EvtIncoherentMixing::setdGammad( double value ) { _dGammad = value ; }
-void EvtIncoherentMixing::setdeltamd( double value ) { _deltamd = value ; }
-void EvtIncoherentMixing::setdGammas( double value ) { _dGammas = value ; }
-void EvtIncoherentMixing::setdeltams( double value ) { _deltams = value ; }
+void EvtIncoherentMixing::setdGammad( double value ) { _dGammad = value ; }
+void EvtIncoherentMixing::setdeltamd( double value ) { _deltamd = value ; }
+void EvtIncoherentMixing::setdGammas( double value ) { _dGammas = value ; }
+void EvtIncoherentMixing::setdeltams( double value ) { _deltams = value ; }
// get parameters for mixing
-double EvtIncoherentMixing::getdGammad() { return _dGammad ; }
+double EvtIncoherentMixing::getdGammad() { return _dGammad ; }
double EvtIncoherentMixing::getdeltamd() { return _deltamd ; }
-double EvtIncoherentMixing::getdGammas() { return _dGammas ; }
+double EvtIncoherentMixing::getdGammas() { return _dGammas ; }
double EvtIncoherentMixing::getdeltams() { return _deltams ; }
-bool EvtIncoherentMixing::flipIsEnabled() { return _enableFlip ; }
-void EvtIncoherentMixing::enableFlip() { _enableFlip = true ; }
-void EvtIncoherentMixing::disableFlip() { _enableFlip = false ; }
+bool EvtIncoherentMixing::flipIsEnabled() { return _enableFlip ; }
+void EvtIncoherentMixing::enableFlip() { _enableFlip = true ; }
+void EvtIncoherentMixing::disableFlip() { _enableFlip = false ; }
diff --git a/src/EvtGenBase/EvtIntegPdf1D.cpp b/src/EvtGenBase/EvtIntegPdf1D.cpp
index d2fa8b4..c2b3611 100644
--- a/src/EvtGenBase/EvtIntegPdf1D.cpp
+++ b/src/EvtGenBase/EvtIntegPdf1D.cpp
@@ -1,46 +1,43 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtIntegPdf1D.cpp,v 1.3 2009-03-16 15:48:09 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <assert.h>
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtMacros.hh"
#include "EvtGenBase/EvtIntegPdf1D.hh"
EvtIntegPdf1D::EvtIntegPdf1D(double min, double max)
: EvtPdf<EvtPoint1D>(), _min(min), _max(max)
{
assert(min <= max);
}
EvtIntegPdf1D::EvtIntegPdf1D(const EvtIntegPdf1D& other)
: EvtPdf<EvtPoint1D>(other), _min(other._min), _max(other._max)
{}
-EvtIntegPdf1D::~EvtIntegPdf1D()
-{}
-
EvtValError EvtIntegPdf1D::compute_integral() const
{
- double x1 = pdfIntegral(_min);
+ double x1 = pdfIntegral(_min);
double x2 = pdfIntegral(_max);
return EvtValError(x2-x1,0.);
}
EvtPoint1D EvtIntegPdf1D::randomPoint()
{
double itgmin = pdfIntegral(_min);
double itgmax = pdfIntegral(_max);
double itgrnd = EvtRandom::Flat(itgmin,itgmax);
return EvtPoint1D(_min,_max,pdfIntegralInverse(itgrnd));
}
diff --git a/src/EvtGenBase/EvtIntervalFlatPdf.cpp b/src/EvtGenBase/EvtIntervalFlatPdf.cpp
index f43b6cd..1dd8ad7 100644
--- a/src/EvtGenBase/EvtIntervalFlatPdf.cpp
+++ b/src/EvtGenBase/EvtIntervalFlatPdf.cpp
@@ -1,47 +1,44 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtIntervalFlatPdf.cpp,v 1.3 2009-03-16 15:51:08 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include "EvtGenBase/EvtPatches.hh"
#include <assert.h>
#include "EvtGenBase/EvtIntervalFlatPdf.hh"
#include "EvtGenBase/EvtRandom.hh"
EvtIntervalFlatPdf::EvtIntervalFlatPdf(double min, double max)
: EvtPdf<EvtPoint1D>(), _min(min), _max(max)
{
assert(max >= min);
}
EvtIntervalFlatPdf::EvtIntervalFlatPdf(const EvtIntervalFlatPdf& other)
: EvtPdf<EvtPoint1D>(other), _min(other._min), _max(other._max)
{}
-EvtIntervalFlatPdf::~EvtIntervalFlatPdf()
-{}
-
EvtPdf<EvtPoint1D>* EvtIntervalFlatPdf::clone() const
{
return new EvtIntervalFlatPdf(*this);
}
double EvtIntervalFlatPdf::pdf(const EvtPoint1D&) const
{
return 1.;
}
-
+
EvtValError EvtIntervalFlatPdf::compute_integral() const
{
return EvtValError(_max-_min,0.);
}
-
+
EvtPoint1D EvtIntervalFlatPdf::randomPoint()
{
return EvtPoint1D(_min,_max,EvtRandom::Flat(_min,_max));
}
diff --git a/src/EvtGenBase/EvtLASSAmp.cpp b/src/EvtGenBase/EvtLASSAmp.cpp
index aac6bc9..a01916e 100644
--- a/src/EvtGenBase/EvtLASSAmp.cpp
+++ b/src/EvtGenBase/EvtLASSAmp.cpp
@@ -1,131 +1,110 @@
/*******************************************************************************
- * Project: BaBar detector at the SLAC PEP-II B-factory
- * Package: EvtGenBase
- * Author: Denis Dujmic, ddujmic@slac.stanford.edu
- *
- * Copyright (C) 2005 SLAC
+ * Project: BaBar detector at the SLAC PEP-II B-factory
+ * Package: EvtGenBase
+ * Author: Denis Dujmic, ddujmic@slac.stanford.edu
+ *
+ * Copyright (C) 2005 SLAC
*******************************************************************************/
#include <assert.h>
#include <math.h>
#include <iostream>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtLASSAmp.hh"
#include "EvtGenBase/EvtDalitzCoord.hh"
#include "EvtGenBase/EvtdFunction.hh"
#include "EvtGenBase/EvtCyclic3.hh"
using std::endl;
using EvtCyclic3::Index;
using EvtCyclic3::Pair;
-EvtLASSAmp::EvtLASSAmp(EvtDalitzPlot *dp,
+EvtLASSAmp::EvtLASSAmp(EvtDalitzPlot *dp,
EvtCyclic3::Pair pair,
double m0, double g0,
double a, double r, double cutoff, std::string subtype) :
EvtAmplitude<EvtDalitzPoint>(),
_pair(pair),
_m0(m0),
_g0(g0),
_r(r),
_a(a),
_cutoff(cutoff),
_subtype(subtype)
{
_dalitzSpace = dp;
double ma = dp->m( first(pair) );
double mb = dp->m( second(pair) );
double E0a = 0.5 * (_m0*_m0 + ma*ma - mb*mb) / _m0;
_q0 = E0a*E0a - ma*ma;
assert(_q0>0);
_q0 = sqrt(_q0);
}
-
-EvtLASSAmp::EvtLASSAmp(const EvtLASSAmp& other) :
- EvtAmplitude<EvtDalitzPoint>(other),
- _pair(other._pair),
- _m0(other._m0),
- _g0(other._g0),
- _q0(other._q0),
- _r(other._r),
- _a(other._a),
- _cutoff(other._cutoff),
- _subtype(other._subtype)
-
-{
- _dalitzSpace = other._dalitzSpace;
-}
-
-
-EvtLASSAmp::~EvtLASSAmp() {}
-
-
-
-EvtComplex
+EvtComplex
EvtLASSAmp::amplitude(const EvtDalitzPoint &dalitzPoint) const {
-
+
/*
Parameterization of Kpi S-wave using LASS scattering data.
- Nucl.Phys.B296, 493 (1988)
- W.Dunwoodie,http://www.slac.stanford.edu/~wmd/kpi_swave/kpi_swave_fit.note
m m0^2*Gamma0/q0
----------------- + exp(2*i*delta) * --------------------------------
q*cot(delta)-i*q m0^2-m^2 - i*m0*Gamma0*q/m*m0/q0
where q = momentum of K or pi in Kpi system
-
+
q*cot(delta) = 1/ a + 1/2 * [ r * q**2 ]
a = scattering length
r = effective range
*/
double s = dalitzPoint.q(_pair);
double m = sqrt(s);
double q = dalitzPoint.p(first(_pair), _pair);
- // elastic scattering
+ // elastic scattering
double qcotd = 1./_a + 0.5*_r*q*q;
EvtComplex lass_elastic = m<_cutoff ? m / ( qcotd - EvtComplex(0,q) ) : 0;
// relative phase
double cosd=1;
double sind=0;
if (q>0) {
cosd = qcotd*qcotd/(q*q);
cosd = sqrt( cosd/(1+cosd) );
sind = sqrt( 1-cosd*cosd );
}
EvtComplex lass_phase( cosd, sind);
lass_phase *= lass_phase;
// K*(1430)
double gamma = _g0 * q/m * _m0/_q0;
- EvtComplex lass_Kstar = (_m0*_m0)*(_g0/_q0)/(_m0*_m0-m*m-EvtComplex(0.,_m0*gamma));
+ EvtComplex lass_Kstar = (_m0*_m0)*(_g0/_q0)/(_m0*_m0-m*m-EvtComplex(0.,_m0*gamma));
EvtComplex theAmplitude(0.0, 0.0);
if (_subtype == "LASS_ELASTIC") {
theAmplitude = lass_elastic;
} else if (_subtype == "LASS_RESONANT") {
theAmplitude = lass_phase * lass_Kstar;
} else {
theAmplitude = lass_phase * lass_Kstar + lass_elastic;
}
return theAmplitude;
-
+
}
diff --git a/src/EvtGenBase/EvtMTRandomEngine.cpp b/src/EvtGenBase/EvtMTRandomEngine.cpp
index ab64c87..011aa2f 100644
--- a/src/EvtGenBase/EvtMTRandomEngine.cpp
+++ b/src/EvtGenBase/EvtMTRandomEngine.cpp
@@ -1,45 +1,41 @@
-#ifdef EVTGEN_CPP11
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2015 University of Warwick, UK
//
// Module: EvtMTRandomEngine
//
// Generate random numbers using the Mersenne-Twister MT19937.
-// This requires c++11 features, hence the EVTGEN_CPP11 preprocessor.
//
// Modification history:
//
// John Back Aug 2015 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtMTRandomEngine.hh"
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtReport.hh"
#include <iostream>
EvtMTRandomEngine::EvtMTRandomEngine(unsigned int seed) :
engine_(seed),
distribution_(URDist(0.0, 1.0))
{
EvtGenReport(EVTGEN_INFO,"EvtMTRandomEngine")
<<"Mersenne-Twister random number generator with seed = "<<seed<<std::endl;
}
double EvtMTRandomEngine::random() {
return distribution_(engine_);
}
-
-#endif
diff --git a/src/EvtGenBase/EvtManyDeltaFuncLineShape.cpp b/src/EvtGenBase/EvtManyDeltaFuncLineShape.cpp
index 32b4031..c15f1e0 100644
--- a/src/EvtGenBase/EvtManyDeltaFuncLineShape.cpp
+++ b/src/EvtGenBase/EvtManyDeltaFuncLineShape.cpp
@@ -1,113 +1,110 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtLineShape.cc
//
// Description: Store particle properties for one particle.
//
// Modification history:
//
// Lange March 10, 2001 Module created
// Dvoretskii June 03, 2002 Reimplemented rollMass()
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtManyDeltaFuncLineShape.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtBlattWeisskopf.hh"
#include "EvtGenBase/EvtPropBreitWignerRel.hh"
#include "EvtGenBase/EvtPropBreitWigner.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtSpinType.hh"
EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape() {
}
-EvtManyDeltaFuncLineShape::~EvtManyDeltaFuncLineShape() {
-}
-
-EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp) {
+EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp) {
_mass=mass;
_width=width;
_spin=sp;
_maxRange=maxRange;
double maxdelta = width;
_massMax=mass+maxdelta;
_massMin=mass-maxdelta;
if ( _massMin< 0. ) _massMin=0.;
}
EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(const EvtManyDeltaFuncLineShape& x):
EvtAbsLineShape( x ) {
_mass=x._mass;
_width=x._width;
_spin=x._spin;
_massMax=x._massMax;
_massMin=x._massMin;
_maxRange=x._maxRange;
}
EvtManyDeltaFuncLineShape& EvtManyDeltaFuncLineShape::operator=(const EvtManyDeltaFuncLineShape& x){
_mass=x._mass;
_massMax=x._massMax;
_massMin=x._massMin;
_width=x._width;
_maxRange=x._maxRange;
_spin=x._spin;
return *this;
}
EvtAbsLineShape* EvtManyDeltaFuncLineShape::clone() {
return new EvtManyDeltaFuncLineShape(*this);
}
double EvtManyDeltaFuncLineShape::getMassProb(double mass, double massPar,int nDaug, double *massDau) {
-
+
double dTotMass=0.;
int i;
for (i=0; i<nDaug; i++) {
dTotMass+=massDau[i];
}
if ( (mass<dTotMass) ) return 0.;
if ( massPar>0.0000000001 ) {
if ( mass > massPar) return 0.;
}
return 1.;
}
double EvtManyDeltaFuncLineShape::getRandMass(EvtId*,int, EvtId*, EvtId*, double, double *) {
int nDelta = int((_massMax - _massMin)/_width);
nDelta++;
double rand=EvtRandom::Flat(0.,float(nDelta));
int randI=int(rand);
return _massMin+randI*_width;
}
diff --git a/src/EvtGenBase/EvtMassAmp.cpp b/src/EvtGenBase/EvtMassAmp.cpp
index d9c3677..6590e13 100644
--- a/src/EvtGenBase/EvtMassAmp.cpp
+++ b/src/EvtGenBase/EvtMassAmp.cpp
@@ -1,98 +1,105 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtMassAmp.cpp,v 1.3 2009-03-16 15:47:10 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtMassAmp.hh"
EvtMassAmp::EvtMassAmp(const EvtPropBreitWignerRel& prop, const EvtTwoBodyVertex& vd)
: EvtAmplitude<EvtPoint1D>()
- ,_prop(prop), _vd(vd), _vb(0)
+ ,_prop(prop), _vd(vd)
,_useBirthFact(false), _useDeathFact(false)
,_useBirthFactFF(false), _useDeathFactFF(false)
{}
EvtMassAmp::EvtMassAmp(const EvtMassAmp& other)
: EvtAmplitude<EvtPoint1D>(other)
,_prop(other._prop), _vd(other._vd)
- ,_vb(other._vb ? new EvtTwoBodyVertex(*other._vb) : 0)
+ ,_vb(other._vb ? new EvtTwoBodyVertex(*other._vb) : nullptr)
,_useBirthFact(other._useBirthFact)
,_useDeathFact(other._useDeathFact)
,_useBirthFactFF(other._useBirthFactFF)
,_useDeathFactFF(other._useDeathFactFF)
{}
-
-EvtMassAmp::~EvtMassAmp()
+EvtMassAmp&
+EvtMassAmp::operator=(const EvtMassAmp& other)
{
- if(_vb) delete _vb;
+ EvtAmplitude<EvtPoint1D>::operator=(other);
+ _prop = other._prop;
+ _vd = other._vd;
+ _vb.reset( other._vb ? new EvtTwoBodyVertex(*other._vb) : nullptr );
+ _useBirthFact = other._useBirthFact;
+ _useDeathFact = other._useDeathFact;
+ _useBirthFactFF = other._useBirthFactFF;
+ _useDeathFactFF = other._useDeathFactFF;
+ return *this;
}
-
-EvtComplex EvtMassAmp::amplitude(const EvtPoint1D& p) const
+EvtComplex EvtMassAmp::amplitude(const EvtPoint1D& p) const
{
// Modified vertex
double m = p.value();
// keep things from crashing..
if ( m< (_vd.mA()+_vd.mB()) ) return EvtComplex(0.,0.);
EvtTwoBodyKine vd(_vd.mA(),_vd.mB(),m);
-
+
// Compute mass-dependent width for relativistic propagator
- EvtPropBreitWignerRel bw(_prop.m0(),_prop.g0()*_vd.widthFactor(vd));
+ EvtPropBreitWignerRel bw(_prop.m0(),_prop.g0()*_vd.widthFactor(vd));
EvtComplex amp = bw.evaluate(m);
// Birth vertex factors
if(_useBirthFact) {
assert(_vb);
- if ( (m+_vb->mB()) < _vb->mAB() ) {
+ if ( (m+_vb->mB()) < _vb->mAB() ) {
EvtTwoBodyKine vb(m,_vb->mB(),_vb->mAB());
amp *= _vb->phaseSpaceFactor(vb,EvtTwoBodyKine::AB);
amp *= sqrt((vb.p() / _vb->pD()));
if(_useBirthFactFF) {
-
+
assert(_vb);
amp *= _vb->formFactor(vb);
}
}
else{
if ( _vb->L() != 0 ) amp=0.;
}
}
// Decay vertex factors
if(_useDeathFact) {
amp *= _vd.phaseSpaceFactor(vd,EvtTwoBodyKine::AB);
amp *= sqrt((vd.p() / _vd.pD()));
}
if(_useDeathFactFF) amp *= _vd.formFactor(vd);
return amp;
}
diff --git a/src/EvtGenBase/EvtNeutrinoParticle.cpp b/src/EvtGenBase/EvtNeutrinoParticle.cpp
index 7ee9e9d..1fcbe1f 100644
--- a/src/EvtGenBase/EvtNeutrinoParticle.cpp
+++ b/src/EvtGenBase/EvtNeutrinoParticle.cpp
@@ -1,154 +1,147 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtNeutrinoParticle.cc
//
// Description: Class to describe neutrinos
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtNeutrinoParticle.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
-EvtNeutrinoParticle::~EvtNeutrinoParticle(){}
-
-EvtNeutrinoParticle::EvtNeutrinoParticle(){
-
- return;
-}
-
void EvtNeutrinoParticle::init(EvtId part_n,const EvtVector4R& p4){
-
+
_validP4=true;
setp(p4);
setpart_num(part_n);
-
+
double e,px,py,pz;
e=p4.get(0);
px=p4.get(1);
py=p4.get(2);
pz=p4.get(3);
if (EvtPDL::getStdHep(part_n)==0){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Error in EvtNeutrinoParticle::init, part_n="
<< part_n.getId()<<endl;
}
- if (EvtPDL::getStdHep(part_n)>0){
-
+ if (EvtPDL::getStdHep(part_n)>0){
+
double beta,alpha,p2,norm;
-
+
// See Sakurai p. 167-169
// and Renton p. 126
-
+
p2=px*px+py*py+pz*pz;
-
+
beta=acos(pz/sqrt(p2));
alpha=atan2(py,px);
-
+
norm=sqrt(2*e);
-
+
double cosb,sinb,cosa,sina;
-
+
cosb=cos(0.5*beta);
sinb=sin(0.5*beta);
-
+
cosa=cos(0.5*alpha);
sina=sin(0.5*alpha);
-
+
spinor_parent.set(-norm*sinb*EvtComplex(cosa,-sina),
norm*cosb*EvtComplex(cosa,sina),
norm*sinb*EvtComplex(cosa,-sina),
-norm*cosb*EvtComplex(cosa,sina));
}
else{
px=-p4.get(1);
py=-p4.get(2);
pz=-p4.get(3);
-
+
double pn,sqrpn;
pn=e;
sqrpn=sqrt(pn-pz);
-
+
spinor_parent.set((1.0/sqrpn)*EvtComplex(px,-py),
EvtComplex(sqrpn,0.0),
(-1.0/sqrpn)*EvtComplex(px,-py),
- -EvtComplex(sqrpn,0.0));
+ -EvtComplex(sqrpn,0.0));
}
setLifetime();
-}
+}
EvtDiracSpinor EvtNeutrinoParticle::spParentNeutrino() const {
-
+
return spinor_parent;
}
EvtDiracSpinor EvtNeutrinoParticle::spNeutrino() const {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Tried to get neutrino spinor in restframe";
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Tried to get neutrino spinor in restframe";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
::abort();
return spinor_rest;
}
EvtSpinDensity EvtNeutrinoParticle::rotateToHelicityBasis() const{
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "rotateToHelicityBasis not implemented for neutrino.";
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "rotateToHelicityBasis not implemented for neutrino.";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
::abort();
EvtSpinDensity rho;
return rho;
-
+
}
EvtSpinDensity EvtNeutrinoParticle::rotateToHelicityBasis(double,
double,
double) const{
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "rotateToHelicityBasis(alpha,beta,gama) not implemented for neutrino.";
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "rotateToHelicityBasis(alpha,beta,gama) not implemented for neutrino.";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
::abort();
EvtSpinDensity R;
R.setDiag(1);
-
+
return R;
}
diff --git a/src/EvtGenBase/EvtNonresonantAmp.cpp b/src/EvtGenBase/EvtNonresonantAmp.cpp
index dda2ca6..da0cd25 100644
--- a/src/EvtGenBase/EvtNonresonantAmp.cpp
+++ b/src/EvtGenBase/EvtNonresonantAmp.cpp
@@ -1,102 +1,85 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
- * Project: BaBar detector at the SLAC PEP-II B-factory
- * Package: EvtGenBase
- * Author: Denis Dujmic, ddujmic@slac.stanford.edu
- *
- * Copyright (C) 2005 SLAC
+ * Project: BaBar detector at the SLAC PEP-II B-factory
+ * Package: EvtGenBase
+ * Author: Denis Dujmic, ddujmic@slac.stanford.edu
+ *
+ * Copyright (C) 2005 SLAC
*******************************************************************************/
#include <assert.h>
#include <math.h>
#include <iostream>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtNonresonantAmp.hh"
#include "EvtGenBase/EvtDalitzCoord.hh"
#include "EvtGenBase/EvtdFunction.hh"
#include "EvtGenBase/EvtCyclic3.hh"
using std::endl;
using EvtCyclic3::Index;
using EvtCyclic3::Pair;
-EvtNonresonantAmp::EvtNonresonantAmp(EvtDalitzPlot *dp,
- EvtPto3PAmp::NumType type,
- EvtCyclic3::Pair pair1, double par1,
+EvtNonresonantAmp::EvtNonresonantAmp(EvtDalitzPlot *dp,
+ EvtPto3PAmp::NumType type,
+ EvtCyclic3::Pair pair1, double par1,
EvtCyclic3::Pair pair2, double par2,
EvtSpinType::spintype spin) :
EvtAmplitude<EvtDalitzPoint>(),
+ _dalitzSpace{dp},
_type(type),
_pair1(pair1),
_pair2(pair2),
_par1(par1),
_par2(par2),
_spin(spin)
{
- _dalitzSpace = dp;
}
-EvtNonresonantAmp::EvtNonresonantAmp(const EvtNonresonantAmp& other) :
- EvtAmplitude<EvtDalitzPoint>(other),
- _type(other._type),
- _pair1(other._pair1),
- _pair2(other._pair2),
- _par1(other._par1),
- _par2(other._par2),
- _spin(other._spin)
-{
- _dalitzSpace = other._dalitzSpace;
-}
-
-
-EvtNonresonantAmp::~EvtNonresonantAmp() {}
-
-
-
-EvtComplex
+EvtComplex
EvtNonresonantAmp::amplitude(const EvtDalitzPoint &dalitzPoint) const {
-
+
// flat model
- if (_type==EvtPto3PAmp::NONRES) { return 1; }
+ if (_type==EvtPto3PAmp::NONRES) { return 1; }
// "linear model" (prop. to m^2)
- else if (_type==EvtPto3PAmp::NONRES_LIN) {
- return dalitzPoint.q(_pair1);
+ else if (_type==EvtPto3PAmp::NONRES_LIN) {
+ return dalitzPoint.q(_pair1);
}
- // Chen-Chua-Soni
+ // Chen-Chua-Soni
else if (_type==EvtPto3PAmp::NONRES_CCS) {
double s = dalitzPoint.q(_pair1);
double smin = _dalitzSpace->qAbsMin(_pair1);
- return sqrt(s-smin)/(s*log(s*_par1));
- }
+ return sqrt(s-smin)/(s*log(s*_par1));
+ }
// exp{par*m^2) (Belle model, Garmash et al, PRD71)
- else if (_type==EvtPto3PAmp::NONRES_EXP) {
+ else if (_type==EvtPto3PAmp::NONRES_EXP) {
return exp( _par1*dalitzPoint.q(_pair1) );
- }
-
+ }
+
// exp(par1*m12^2 + par2*m13^2) (Belle model, Garmash et al, PRD71)
- else if (_type==EvtPto3PAmp::NONRES_EXP_ADD) {
+ else if (_type==EvtPto3PAmp::NONRES_EXP_ADD) {
return exp( _par1*dalitzPoint.q(_pair1) + _par2*dalitzPoint.q(_pair2) );
- }
+ }
// Laura model (P.Harrison et al, BAD806)
else if (_type==EvtPto3PAmp::NONRES_LAURA) {
double m = sqrt( dalitzPoint.q(_pair1));
double mmin = sqrt(_dalitzSpace->qAbsMin(_pair1));
double dm = m-mmin;
assert(dm>0);
double cosTh = 1;
int ispin = EvtSpinType::getSpin2(_spin);
if (ispin>0) {
cosTh = dalitzPoint.cosTh( EvtCyclic3::next(_pair1), _pair1);
if (ispin>2) cosTh *= cosTh;
}
- return pow(dm,_par1) * exp( dm*_par2 ) * cosTh;
- }
+ return pow(dm,_par1) * exp( dm*_par2 ) * cosTh;
+ }
return 0;
}
diff --git a/src/EvtGenBase/EvtOrthogVector.cpp b/src/EvtGenBase/EvtOrthogVector.cpp
index 768be73..d1acbe0 100644
--- a/src/EvtGenBase/EvtOrthogVector.cpp
+++ b/src/EvtGenBase/EvtOrthogVector.cpp
@@ -1,128 +1,126 @@
//--------------------------------------------------------------------------
-//
-// Environment:
-// This software is part of the EvtGen package developed jointly
-// for the BaBar and CLEO collaborations. If you use all or part
+//
+// Environment:
+// This software is part of the EvtGen package developed jointly
+// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
-//
-// Copyright Information: See EvtGen/COPYRIGHT
+//
+// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, LLNL
-//
+//
// Module: EvtGen/EvtOrthogVector.hh
-//
+//
// Description:
-//
-// Modification history:
+//
+// Modification history:
//
// Lange August 11, 2000 Created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include "EvtGenBase/EvtOrthogVector.hh"
using std::fstream;
EvtOrthogVector::EvtOrthogVector(int n, std::vector<double> *vectors){
_dimen=n;
_holder.resize(n);
std::vector<int> temp;
-
+
int i;
for (i=0;i<n;i++) {
_orthogVector.push_back(0.);
temp.push_back(i);
}
findOrthog(_dimen,temp, vectors);
}
-EvtOrthogVector::~EvtOrthogVector(){
-}
-void EvtOrthogVector::findOrthog(int dim, std::vector<int> invect,
+void EvtOrthogVector::findOrthog(int dim, std::vector<int> invect,
std::vector<double> *vectors) {
if ( dim==2 ) {
_holder[0]=invect[0];
_holder[1]=invect[1];
int sign=findEvenOddSwaps();
{
double addition=1;
int i;
for (i=1; i<_dimen; i++){
addition*=vectors[i-1][_holder[i]];
}
addition*=sign;
_orthogVector[_holder[0]]+=addition;
}
-
+
_holder[0]=invect[1];
_holder[1]=invect[0];
-
+
{
double addition=1;
int i;
for (i=1; i<_dimen; i++){
addition*=vectors[i-1][_holder[i]];
}
addition*=sign;
_orthogVector[_holder[0]]-=addition;
}
-
+
return;
}
else{
std::vector<int> temp((2*dim));
int i;
for (i=0; i<dim; i++) temp[i]=invect[i];
for (i=0; i<dim; i++) temp[i+dim]=invect[i];
for (i=0; i<dim; i++) {
_holder[dim-1]=temp[dim-1+i];
std::vector<int> tempDim((dim-1));
int j;
for (j=0; j<(dim-1); j++) tempDim[j]=temp[j+i];
- findOrthog(dim-1, tempDim, vectors);
+ findOrthog(dim-1, tempDim, vectors);
}
}
-
+
return;
}
int EvtOrthogVector::findEvenOddSwaps() {
std::vector<int> temp(_dimen);
int i,j,nSwap;
for (i=0; i<_dimen; i++) temp[i]=_holder[i];
nSwap=0;
for (i=0; i<(_dimen-1); i++) {
for (j=i+1; j<_dimen; j++) {
if ( temp[i]>temp[j] ) {
int duh=temp[j];
temp[j]=temp[i];
temp[i]=duh;
nSwap+=1;
}
}
}
nSwap-= (nSwap/2)*2;
if ( nSwap ) return -1;
-
+
return 1;
}
diff --git a/src/EvtGenBase/EvtPDL.cpp b/src/EvtGenBase/EvtPDL.cpp
index c6a479c..adf94e5 100644
--- a/src/EvtGenBase/EvtPDL.cpp
+++ b/src/EvtGenBase/EvtPDL.cpp
@@ -1,432 +1,428 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtPDL.cc
//
// Description: routines to store particle properties in EvtPDL structure.
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtPartProp.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
using std::fstream;
using std::ifstream;
static int first=1;
unsigned int EvtPDL::_firstAlias;
int EvtPDL::_nentries;
std::map<std::string,int> EvtPDL::_particleNameLookup;
EvtPDL::EvtPDL() {
- if (first!=0) {
+ if (first!=0) {
first=0;
_nentries=0;
_firstAlias=999999;
}
}
-EvtPDL::~EvtPDL(){
-
-}
-
void EvtPDL::read(const char* fname)
{
readPDT(fname);
}
void EvtPDL::readPDT(const std::string fname){
ifstream indec;
-
+
indec.open(fname.c_str());
char cmnd[100];
char xxxx[100];
char pname[100];
int stdhepid;
double mass;
double pwidth;
double pmaxwidth;
- int chg3;
+ int chg3;
int spin2;
double ctau;
int lundkc;
EvtId i;
if (!indec) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Could not open:"<<fname.c_str()<<"EvtPDL"<<endl;
return;
}
do{
char ch,ch1;
do{
- indec.get(ch);
+ indec.get(ch);
if (ch=='\n') indec.get(ch);
if (ch!='*') {
indec.putback(ch);
}
else{
while (indec.get(ch1),ch1!='\n');
}
} while(ch=='*');
indec >> cmnd;
if (strcmp(cmnd,"end")){
if (!strcmp(cmnd,"add")){
indec >> xxxx;
indec >> xxxx;
indec >> pname;
indec >> stdhepid;
indec >> mass;
indec >> pwidth;
indec >> pmaxwidth;
- indec >> chg3;
+ indec >> chg3;
indec >> spin2;
indec >> ctau;
indec >> lundkc;
i=EvtId(_nentries,_nentries);
EvtPartProp tmp;
tmp.setSpinType(EvtSpinType::SCALAR);
-
-
+
+
if (spin2==0) tmp.setSpinType(EvtSpinType::SCALAR);
if (spin2==1) tmp.setSpinType(EvtSpinType::DIRAC);
if (spin2==2) tmp.setSpinType(EvtSpinType::VECTOR);
if (spin2==3) tmp.setSpinType(EvtSpinType::RARITASCHWINGER);
if (spin2==4) tmp.setSpinType(EvtSpinType::TENSOR);
if (spin2==5) tmp.setSpinType(EvtSpinType::SPIN5HALF);
if (spin2==6) tmp.setSpinType(EvtSpinType::SPIN3);
if (spin2==7) tmp.setSpinType(EvtSpinType::SPIN7HALF);
if (spin2==8) tmp.setSpinType(EvtSpinType::SPIN4);
if (spin2==2 && mass < 0.0001 ) tmp.setSpinType(EvtSpinType::PHOTON);
if (spin2==1 && mass < 0.0001 ) tmp.setSpinType(EvtSpinType::NEUTRINO);
-
-
+
+
if (!strcmp(pname,"string")){
tmp.setSpinType(EvtSpinType::STRING);
}
-
+
if (!strcmp(pname,"vpho")){
tmp.setSpinType(EvtSpinType::VECTOR);
}
-
-
+
+
tmp.setId(i);
tmp.setIdChgConj(EvtId(-1,-1));
tmp.setStdHep(stdhepid);
tmp.setLundKC(lundkc);
tmp.setName(pname);
if (_particleNameLookup.find(std::string(pname))!=
_particleNameLookup.end()) {
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"The particle name:"<<pname<<" is already defined."<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
::abort();
}
_particleNameLookup[std::string(pname)]=_nentries;
tmp.setctau(ctau);
tmp.setChg3(chg3);
-
+
tmp.initLineShape(mass,pwidth,pmaxwidth);
partlist().push_back(tmp);
_nentries++;
}
// if find a set read information and discard it
if (!strcmp(cmnd,"set")){
indec >> xxxx;
indec >> xxxx;
indec >> xxxx;
indec >> xxxx;
}
}
}while(strcmp(cmnd,"end"));
-
+
setUpConstsPdt();
}
void EvtPDL::aliasChgConj(EvtId a,EvtId abar){
if (EvtPDL::chargeConj(EvtId(a.getId(),a.getId()))!=
EvtId(abar.getId(),abar.getId())) {
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"Can't charge conjugate the two aliases:"
<<EvtPDL::name(a).c_str()<<" and "<<EvtPDL::name(abar).c_str()<<endl;
-
+
::abort();
}
partlist()[a.getAlias()].setIdChgConj(abar);
partlist()[abar.getAlias()].setIdChgConj(a);
}
EvtId EvtPDL::chargeConj(EvtId id){
// EvtId idchg=partlist()[id.getAlias()].getIdChgConj();
int index=id.getAlias();
EvtId idchg;
if (index>-1) {
idchg=partlist()[id.getAlias()].getIdChgConj();
}
if (idchg!=EvtId(-1,-1)) return idchg;
if (id.getId()!=id.getAlias()){
if (chargeConj(EvtId(id.getId(),id.getId()))==EvtId(id.getId(),id.getId())){
-
+
partlist()[id.getAlias()].setIdChgConj(id);
return id;
}
}
if (id.getAlias()!=id.getId()) {
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"Trying to charge conjugate alias particle:"
<<name(id).c_str()<<" without defining the alias!"<<endl;
-
+
::abort();
}
for (size_t i=0;i<partlist().size();i++){
if (partlist()[i].getStdHep()==-partlist()[id.getId()].getStdHep()){
partlist()[id.getId()].setIdChgConj(partlist()[i].getId());
return partlist()[i].getId();
}
}
-
+
partlist()[id.getId()].setIdChgConj(id);
return id;
-
+
}
EvtId EvtPDL::evtIdFromStdHep(int stdhep){
for (size_t i=0;i<partlist().size();i++){
if (partlist()[i].getStdHep()==stdhep)
return partlist()[i].getId();
}
-
+
return EvtId(-1,-1);
-
+
}
void EvtPDL::alias(EvtId num,const std::string& newname){
-
+
if ( _firstAlias < partlist().size() ) {
for(size_t i=_firstAlias;i<partlist().size();i--){
if (newname==partlist()[i].getName()){
EvtGenReport(EVTGEN_WARNING,"EvtGen")<<"Redefining alias:"<<newname.c_str()<<" will be ignored!"<<endl;
return;
}
}
}
else{
_firstAlias=partlist().size();
}
partlist().push_back(partlist()[num.getId()]);
int entry=partlist().size()-1;
partlist()[entry].setName(newname);
if (_particleNameLookup.find(std::string(newname))!=
_particleNameLookup.end()){
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"The particle name:"<<newname<<" is already defined."<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
::abort();
}
_particleNameLookup[std::string(newname)]=entry;
partlist()[entry].setId(EvtId(num.getId(),entry));
//Lange - Dec7, 2003. Unset the charge conjugate.
partlist()[entry].setIdChgConj(EvtId(-1,-1));
}
EvtId EvtPDL::getId(const std::string& name ){
std::map<std::string,int>::iterator it=_particleNameLookup.find(std::string(name));
if (it==_particleNameLookup.end()) return EvtId(-1,-1);
return partlist()[it->second].getId();
-
+
}
void EvtPDL::setUpConstsPdt(){
}
-// Function to get EvtId from LundKC ( == Pythia Hep Code , KF )
+// Function to get EvtId from LundKC ( == Pythia Hep Code , KF )
EvtId EvtPDL::evtIdFromLundKC(int pythiaId){
unsigned int i;
for (i=0;i<partlist().size();i++){
if (partlist()[i].getLundKC()==pythiaId)
return partlist()[i].getId();
}
-
+
return EvtId(-1,-1);
-
+
}
-
-double EvtPDL::getMeanMass(EvtId i ) {
- return partlist()[i.getId()].getMass();
+
+double EvtPDL::getMeanMass(EvtId i ) {
+ return partlist()[i.getId()].getMass();
}
double EvtPDL::getMass(EvtId i ) {
return partlist()[i.getId()].rollMass();
}
-double EvtPDL::getRandMass(EvtId i, EvtId *parId, int nDaug, EvtId *dauId,
- EvtId *othDaugId,double maxMass,
+double EvtPDL::getRandMass(EvtId i, EvtId *parId, int nDaug, EvtId *dauId,
+ EvtId *othDaugId,double maxMass,
double *dauMasses ) {
return partlist()[i.getId()].getRandMass(parId,nDaug,dauId,
othDaugId,maxMass,dauMasses);
}
-double EvtPDL::getMassProb(EvtId i, double mass, double massPar, int nDaug,
- double *massDau) {
+double EvtPDL::getMassProb(EvtId i, double mass, double massPar, int nDaug,
+ double *massDau) {
return partlist()[i.getId()].getMassProb(mass,massPar,nDaug,massDau);
}
double EvtPDL::getMaxMass(EvtId i ) {
return partlist()[i.getId()].getMassMax();
}
-double EvtPDL::getMinMass(EvtId i ) {
+double EvtPDL::getMinMass(EvtId i ) {
return partlist()[i.getId()].getMassMin();
}
double EvtPDL::getMaxRange(EvtId i ) {
return partlist()[i.getId()].getMaxRange();
}
-double EvtPDL::getWidth(EvtId i ) {
+double EvtPDL::getWidth(EvtId i ) {
return partlist()[i.getId()].getWidth();
}
double EvtPDL::getctau(EvtId i ) {
return partlist()[i.getId()].getctau();
}
int EvtPDL::getStdHep(EvtId id ) {
return partlist()[id.getId()].getStdHep();
}
int EvtPDL::getLundKC(EvtId id ) {
return partlist()[id.getId()].getLundKC();
}
int EvtPDL::chg3(EvtId i ) {
return partlist()[i.getId()].getChg3();
}
EvtSpinType::spintype EvtPDL::getSpinType(EvtId i ) {
return partlist()[i.getId()].getSpinType();
}
-std::string EvtPDL::name(EvtId i) {
+std::string EvtPDL::name(EvtId i) {
return partlist()[i.getAlias()].getName();
}
-size_t EvtPDL::entries() {
+size_t EvtPDL::entries() {
return partlist().size();
}
EvtId EvtPDL::getEntry(int i) {
return partlist()[i].getId();
}
void EvtPDL::reSetMass(EvtId i, double mass) {
partlist()[i.getId()].reSetMass(mass);
}
-void EvtPDL::reSetWidth(EvtId i, double width) {
+void EvtPDL::reSetWidth(EvtId i, double width) {
partlist()[i.getId()].reSetWidth(width);
}
-void EvtPDL::reSetMassMin(EvtId i, double mass) {
+void EvtPDL::reSetMassMin(EvtId i, double mass) {
partlist()[i.getId()].reSetMassMin(mass);
}
-void EvtPDL::reSetMassMax(EvtId i,double mass) {
+void EvtPDL::reSetMassMax(EvtId i,double mass) {
partlist()[i.getId()].reSetMassMax(mass);
}
void EvtPDL::reSetBlatt(EvtId i,double blatt) {
partlist()[i.getId()].reSetBlatt(blatt);
}
void EvtPDL::reSetBlattBirth(EvtId i,double blatt) {
partlist()[i.getId()].reSetBlattBirth(blatt);
}
void EvtPDL::includeBirthFactor(EvtId i,bool yesno) {
partlist()[i.getId()].includeBirthFactor(yesno);
}
void EvtPDL::includeDecayFactor(EvtId i,bool yesno) {
partlist()[i.getId()].includeDecayFactor(yesno);
}
-void EvtPDL::changeLS(EvtId i, std::string &newLS ) {
+void EvtPDL::changeLS(EvtId i, std::string &newLS ) {
partlist()[i.getId()].newLineShape(newLS);
}
-void EvtPDL::setPWForDecay(EvtId i, int spin, EvtId d1, EvtId d2) {
+void EvtPDL::setPWForDecay(EvtId i, int spin, EvtId d1, EvtId d2) {
partlist()[i.getId()].setPWForDecay(spin,d1,d2);
}
-void EvtPDL::setPWForBirthL(EvtId i, int spin, EvtId par, EvtId othD) {
+void EvtPDL::setPWForBirthL(EvtId i, int spin, EvtId par, EvtId othD) {
partlist()[i.getId()].setPWForBirthL(spin,par,othD);
}
diff --git a/src/EvtGenBase/EvtParserXml.cpp b/src/EvtGenBase/EvtParserXml.cpp
index e2f2ff2..6701f81 100644
--- a/src/EvtGenBase/EvtParserXml.cpp
+++ b/src/EvtGenBase/EvtParserXml.cpp
@@ -1,264 +1,251 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtParserXml.cc
//
// Description: Reading the decay XML file.
//
// Modification history:
//
// DCC 24 October, 2011 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <fstream>
#include <sstream>
#include <string.h>
#include <vector>
#include "EvtGenBase/EvtParserXml.hh"
#include "EvtGenBase/EvtReport.hh"
using namespace std;
-EvtParserXml::EvtParserXml(){
- _line = "";
- _lineNo=0;
- _tag = "";
- _tagTitle = "";
-}
-
-EvtParserXml::~EvtParserXml(){
-
-
-}
-
-
bool EvtParserXml::open(std::string filename){
-
+
if(!expandEnvVars(filename)) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Error while expanding environment variables in file name '"<<filename.c_str()<<"'"<<endl;
return false;
}
_fin.open(filename.c_str());
if (!_fin) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Could not open file '"<<filename.c_str()<<"'"<<endl;
return false;
}
return true;
-
+
}
bool EvtParserXml::close() {
_fin.close();
return true;
}
bool EvtParserXml::readNextTag() {
if(!processTagTree()) {
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "Unexpected end tag "<<_tagTitle<<" found near line "<<_lineNo<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "Will terminate execution!"<<endl;
return false;
}//first process the previous tag to find out where we are in the tag tree
while(_line.find("<") == std::string::npos) {//add lines until we find start of a tag
std::string addLine;
if(!std::getline(_fin, addLine)) return false;
_lineNo++;
_line += " ";
_line += addLine;
}
unsigned int startTag;
unsigned int endTag;
unsigned int endTagTitle;
startTag = _line.find("<");
if(_line[startTag+1] =='?') { //XML header tag - ignore then read the next tag
while(_line.find("?>", startTag) == std::string::npos) {
std::string addLine;
if(!std::getline(_fin, addLine)) return false;
_lineNo++;
_line += " ";
_line += addLine;
}
endTag = _line.find("?>", startTag);
_line = _line.substr(endTag + 2);
return readNextTag();
} else if(_line[startTag+1] == '!') { //XML comment tag - ignore then read the next tag
while(_line.find("-->", startTag) == std::string::npos) {
std::string addLine;
if(!std::getline(_fin, addLine)) return false;
_lineNo++;
_line += " ";
_line += addLine;
}
endTag = _line.find("-->", startTag);
_line = _line.substr(endTag + 3);
_tagTitle = "";
_tag = "";
return readNextTag();
} else { //parsable
while(_line.find(">", startTag) == std::string::npos) {//find end of a tag
std::string addLine;
if(!std::getline(_fin, addLine)) return false;
_lineNo++;
_line += " ";
_line += addLine;
}
endTag = _line.find(">", startTag);
_inLineTag = false;
if(_line.find("/>", startTag) < endTag) {
endTag--;
_inLineTag = true;
}
if(_line.find(" ", startTag) != std::string::npos && _line.find(" ", startTag) < endTag) {//find end of the first word in the tag
endTagTitle = _line.find(" ", startTag);
} else {
endTagTitle = endTag;
}
_tagTitle = _line.substr(startTag + 1, endTagTitle - startTag - 1);
_tag = _line.substr(startTag + 1, endTag - startTag - 1);
//now we have the tag lets remove it from the line
if(_inLineTag) {
_line = _line.substr(endTag+2);
} else {
_line = _line.substr(endTag+1);
}
return true;
}
}
std::string EvtParserXml::getParentTagTitle() {
if(_tagTree.empty()) return "";
else return _tagTree.back();
}
std::string EvtParserXml::readAttribute(std::string attribute, std::string defaultValue) {
std::string whitespace = " \t\n\v\f\r";
for(unsigned int i=0; i<whitespace.size(); i++) {
//find any whitespace followed by the attribute name followed by an '='
std::string attName = whitespace[i] + attribute + "=";
if (_tag.find(attName) != std::string::npos) {
int startAttri = _tag.find(attName);
int startQuote = _tag.find("\"", startAttri + 1);
int endQuote = _tag.find("\"", startQuote + 1);
return _tag.substr(startQuote + 1, endQuote - startQuote - 1);
}
}
return defaultValue;
}
bool EvtParserXml::readAttributeBool(std::string attribute, bool defaultValue) {
std::string valStr = readAttribute(attribute);
if(!defaultValue) return (valStr == "true" || valStr == "1" || valStr == "on" || valStr == "yes");
else return (valStr != "false" && valStr != "0" && valStr != "off" && valStr != "no");
}
int EvtParserXml::readAttributeInt(std::string attribute, int defaultValue) {
std::string valStr = readAttribute(attribute);
if (valStr == "") return defaultValue;
std::istringstream valStream(valStr);
int retVal;
valStream >> retVal;
return retVal;
}
double EvtParserXml::readAttributeDouble(std::string attribute, double defaultValue) {
std::string valStr = readAttribute(attribute);
if (valStr == "") return defaultValue;
std::istringstream valStream(valStr);
double retVal;
valStream >> retVal;
return retVal;
}
bool EvtParserXml::processTagTree() {
if(_tagTitle == "") return true;
if(_tagTitle[0] == '/') {
if(_tagTitle.substr(1) == _tagTree.back()) {
_tagTree.pop_back();
} else {
return false;
}
} else if(!_inLineTag) {
_tagTree.push_back(_tagTitle);
}
return true;
}
bool EvtParserXml::expandEnvVars(std::string& str) {
while(str.find('$') != std::string::npos) {
size_t varStart = str.find('$');
size_t varNameLength;
std::string varName;
-
+
//if this is the last character then just remove the $
if(varStart == str.length()-1) {
str.erase(varStart);
return true;
}
-
+
if(str[varStart+1] == '{') {
//deal with environment variables in {}s
size_t braceStart = varStart+1;
size_t braceEnd = str.find('}',braceStart);
-
+
if(braceEnd == std::string::npos) {
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "Incomplete environment variable found in text: "<<str<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "Will terminate execution!"<<endl;
return false;
}
varName = str.substr(braceStart+1,braceEnd-braceStart-1);
varNameLength = braceEnd-varStart;
} else {
//deal with everything else
varNameLength=0;
while(varNameLength + varStart + 1 < str.length() && isAlphaNum(str[varStart+varNameLength+1])) {
++varNameLength;
}
varName = str.substr(varStart+1,varNameLength);
}
char* envVar = getenv(varName.c_str());
if(envVar) str.replace(varStart,varNameLength+1,envVar);
else {
EvtGenReport(EVTGEN_WARNING,"EvtGen")
<< "Undefined environment variable found in text: "<<varName<<endl;
str.replace(varStart,varNameLength+1,"");
}
}
return true;
}
bool EvtParserXml::isAlphaNum(char c) {
if(c>='0' && c<='9') return true;
if(c>='A' && c<='Z') return true;
if(c>='a' && c<='z') return true;
if(c=='_') return true;
return false;
}
diff --git a/src/EvtGenBase/EvtPartProp.cpp b/src/EvtGenBase/EvtPartProp.cpp
index 12e3b1c..a31719e 100644
--- a/src/EvtGenBase/EvtPartProp.cpp
+++ b/src/EvtGenBase/EvtPartProp.cpp
@@ -1,167 +1,154 @@
#include "EvtGenBase/EvtPatches.hh"
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtPartProp.cc
//
// Description: Store particle properties for one particle.
//
// Modification history:
//
// RYD April 4, 1997 Module created
//
//------------------------------------------------------------------------
//
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctype.h>
#include "EvtGenBase/EvtPartProp.hh"
#include "EvtGenBase/EvtAbsLineShape.hh"
#include "EvtGenBase/EvtFlatLineShape.hh"
#include "EvtGenBase/EvtManyDeltaFuncLineShape.hh"
#include "EvtGenBase/EvtRelBreitWignerBarrierFact.hh"
#include <string>
using std::fstream;
EvtPartProp::EvtPartProp():
_id(-1,-1)
,_idchgconj(-1,-1)
,_chg3(0)
,_stdhep(0)
,_lundkc(0)
{
- _lineShape=0;
_ctau=0.0;
_name="*******";
_spintype=EvtSpinType::SCALAR;
}
EvtPartProp::EvtPartProp(const EvtPartProp& x){
- if (0!=x._lineShape){
- _lineShape=x._lineShape->clone();
- }
- else{
- _lineShape=0;
- }
+ _lineShape.reset(x._lineShape? x._lineShape->clone(): nullptr);
_ctau=x._ctau;
_name=x._name;
_spintype=x._spintype;
_id=x._id;
_idchgconj=x._idchgconj;
_chg3=x._chg3;
_stdhep=x._stdhep;
_lundkc=x._lundkc;
}
-EvtPartProp::~EvtPartProp() {
- if ( _lineShape ) delete _lineShape;
- _lineShape=0;
-}
-
void EvtPartProp::setName(std::string pname) {
_name=pname;
}
EvtPartProp& EvtPartProp::operator=(const EvtPartProp& x){
- _lineShape=x._lineShape->clone();
+ _lineShape.reset(x._lineShape? x._lineShape->clone(): nullptr);
_ctau=x._ctau;
_name=x._name;
_chg3=x._chg3;
_spintype=x._spintype;
return *this;
}
void EvtPartProp::initLineShape(double mass, double width, double maxRange){
- _lineShape=new EvtRelBreitWignerBarrierFact(mass,width,maxRange,_spintype);
+ _lineShape=std::make_unique<EvtRelBreitWignerBarrierFact>(mass,width,maxRange,_spintype);
}
void EvtPartProp::newLineShape(std::string type){
double m=_lineShape->getMass();
double w=_lineShape->getWidth();
double mR=_lineShape->getMaxRange();
EvtSpinType::spintype st=_lineShape->getSpinType();
- delete _lineShape;
if ( type == "RELBW" ) {
- _lineShape=new EvtRelBreitWignerBarrierFact(m,w,mR,st);
- }
- if ( type == "NONRELBW" ) {
- _lineShape = new EvtAbsLineShape(m,w,mR,st);
- }
- if ( type == "FLAT" ) {
- _lineShape = new EvtFlatLineShape(m,w,mR,st);
- }
- if ( type == "MANYDELTAFUNC" ) {
- _lineShape = new EvtManyDeltaFuncLineShape(m,w,mR,st);
+ _lineShape=std::make_unique<EvtRelBreitWignerBarrierFact>(m,w,mR,st);
+ } else if ( type == "NONRELBW" ) {
+ _lineShape = std::make_unique<EvtAbsLineShape>(m,w,mR,st);
+ } else if ( type == "FLAT" ) {
+ _lineShape = std::make_unique<EvtFlatLineShape>(m,w,mR,st);
+ } else if ( type == "MANYDELTAFUNC" ) {
+ _lineShape = std::make_unique<EvtManyDeltaFuncLineShape>(m,w,mR,st);
+ } else {
+ _lineShape.reset();
}
}
void EvtPartProp::reSetMass(double mass) {
if (!_lineShape) ::abort();
_lineShape->reSetMass(mass);
}
void EvtPartProp::reSetWidth(double width){
if (!_lineShape) ::abort();
_lineShape->reSetWidth(width);
}
-void EvtPartProp::setPWForDecay( int spin, EvtId d1, EvtId d2) {
+void EvtPartProp::setPWForDecay( int spin, EvtId d1, EvtId d2) {
if (!_lineShape) ::abort();
_lineShape->setPWForDecay(spin,d1,d2);
}
-void EvtPartProp::setPWForBirthL( int spin, EvtId par, EvtId othD) {
+void EvtPartProp::setPWForBirthL( int spin, EvtId par, EvtId othD) {
if (!_lineShape) ::abort();
_lineShape->setPWForBirthL(spin,par,othD);
}
void EvtPartProp::reSetMassMin(double mass){
if (!_lineShape) ::abort();
_lineShape->reSetMassMin(mass);
}
void EvtPartProp::reSetMassMax(double mass){
if (!_lineShape) ::abort();
_lineShape->reSetMassMax(mass);
}
void EvtPartProp::reSetBlatt(double blatt){
if (!_lineShape) ::abort();
_lineShape->reSetBlatt(blatt);
}
void EvtPartProp::reSetBlattBirth(double blatt){
if (!_lineShape) ::abort();
_lineShape->reSetBlattBirth(blatt);
}
void EvtPartProp::includeBirthFactor(bool yesno){
if (!_lineShape) ::abort();
_lineShape->includeBirthFactor(yesno);
}
void EvtPartProp::includeDecayFactor(bool yesno){
if (!_lineShape) ::abort();
_lineShape->includeDecayFactor(yesno);
}
diff --git a/src/EvtGenBase/EvtParticle.cpp b/src/EvtGenBase/EvtParticle.cpp
index 321d265..33cbfda 100644
--- a/src/EvtGenBase/EvtParticle.cpp
+++ b/src/EvtGenBase/EvtParticle.cpp
@@ -1,1236 +1,1236 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtParticle.cc
//
// Description: Class to describe all particles
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtRadCorr.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtDecayTable.hh"
#include "EvtGenBase/EvtDiracParticle.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtVectorParticle.hh"
#include "EvtGenBase/EvtTensorParticle.hh"
#include "EvtGenBase/EvtPhotonParticle.hh"
#include "EvtGenBase/EvtNeutrinoParticle.hh"
#include "EvtGenBase/EvtRaritaSchwingerParticle.hh"
#include "EvtGenBase/EvtStringParticle.hh"
#include "EvtGenBase/EvtStdHep.hh"
#include "EvtGenBase/EvtSecondary.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtParticleFactory.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtStatus.hh"
using std::endl;
EvtParticle::~EvtParticle() {
delete _decayProb;
}
EvtParticle::EvtParticle() {
_ndaug=0;
_parent=0;
_channel=-10;
_t=0.0;
_genlifetime=1;
_first=1;
_isInit=false;
_validP4=false;
_isDecayed=false;
_decayProb=0;
_intAttributes.clear();
_dblAttributes.clear();
// _mix=false;
}
void EvtParticle::setFirstOrNot() {
_first=0;
}
void EvtParticle::resetFirstOrNot() {
_first=1;
}
-void EvtParticle::setChannel( int i ) {
+void EvtParticle::setChannel( int i ) {
_channel=i;
}
EvtParticle *EvtParticle::getDaug(int i) { return _daug[i]; }
EvtParticle *EvtParticle::getParent() const { return _parent;}
void EvtParticle::setLifetime(double tau){
_t=tau;
}
void EvtParticle::setLifetime(){
if (_genlifetime){
_t=-log(EvtRandom::Flat())*EvtPDL::getctau(getId());
}
}
double EvtParticle::getLifetime(){
return _t;
}
void EvtParticle::addDaug(EvtParticle *node) {
node->_daug[node->_ndaug++]=this;
_ndaug=0;
- _parent=node;
+ _parent=node;
}
int EvtParticle::firstornot() const { return _first;}
EvtId EvtParticle::getId() const { return _id;}
int EvtParticle::getPDGId() const {return EvtPDL::getStdHep(_id);}
-EvtSpinType::spintype EvtParticle::getSpinType() const
+EvtSpinType::spintype EvtParticle::getSpinType() const
{ return EvtPDL::getSpinType(_id);}
-int EvtParticle::getSpinStates() const
+int EvtParticle::getSpinStates() const
{ return EvtSpinType::getSpinStates(EvtPDL::getSpinType(_id));}
const EvtVector4R& EvtParticle::getP4() const { return _p;}
int EvtParticle::getChannel() const { return _channel;}
size_t EvtParticle::getNDaug() const { return _ndaug;}
double EvtParticle::mass() const {
return _p.mass();
}
void EvtParticle::setDiagonalSpinDensity(){
_rhoForward.setDiag(getSpinStates());
}
void EvtParticle::setVectorSpinDensity(){
if (getSpinStates()!=3) {
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"Error in EvtParticle::setVectorSpinDensity"<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"spin_states:"<<getSpinStates()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"particle:"<<EvtPDL::name(_id).c_str()<<endl;
::abort();
}
EvtSpinDensity rho;
//Set helicity +1 and -1 to 1.
rho.setDiag(getSpinStates());
rho.set(1,1,EvtComplex(0.0,0.0));
setSpinDensityForwardHelicityBasis(rho);
}
void EvtParticle::setSpinDensityForwardHelicityBasis(const EvtSpinDensity& rho){
EvtSpinDensity R=rotateToHelicityBasis();
assert(R.getDim()==rho.getDim());
int n=rho.getDim();
_rhoForward.setDim(n);
int i,j,k,l;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
EvtComplex tmp=0.0;
for(k=0;k<n;k++){
for(l=0;l<n;l++){
tmp+=R.get(l,i)*rho.get(l,k)*conj(R.get(k,j));
}
}
_rhoForward.set(i,j,tmp);
}
}
}
void EvtParticle::setSpinDensityForwardHelicityBasis(const EvtSpinDensity& rho,
double alpha,
double beta,
double gamma){
EvtSpinDensity R=rotateToHelicityBasis(alpha,beta,gamma);
assert(R.getDim()==rho.getDim());
int n=rho.getDim();
_rhoForward.setDim(n);
int i,j,k,l;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
EvtComplex tmp=0.0;
for(k=0;k<n;k++){
for(l=0;l<n;l++){
tmp+=R.get(l,i)*rho.get(l,k)*conj(R.get(k,j));
}
}
_rhoForward.set(i,j,tmp);
}
}
}
void EvtParticle::initDecay(bool useMinMass) {
EvtParticle* p=this;
// carefull - the parent mass might be fixed in stone..
EvtParticle* par=p->getParent();
double parMass=-1.;
if ( par != 0 ) {
if ( par->hasValidP4() ) parMass=par->mass();
for (size_t i=0;i<par->getNDaug();i++) {
EvtParticle *tDaug=par->getDaug(i);
if ( p != tDaug )
parMass-=EvtPDL::getMinMass(tDaug->getId());
}
}
-
+
if ( _isInit ) {
//we have already been here - just reroll the masses!
if ( _ndaug>0) {
for(size_t ii=0;ii<_ndaug;ii++){
if ( _ndaug==1 || EvtPDL::getWidth(p->getDaug(ii)->getId()) > 0.0000001)
p->getDaug(ii)->initDecay(useMinMass);
else p->getDaug(ii)->setMass(EvtPDL::getMeanMass(p->getDaug(ii)->getId()));
}
}
-
+
EvtId *dauId=0;
double *dauMasses=0;
if ( _ndaug > 0) {
dauId=new EvtId[_ndaug];
dauMasses=new double[_ndaug];
- for (size_t j=0;j<_ndaug;j++) {
+ for (size_t j=0;j<_ndaug;j++) {
dauId[j]=p->getDaug(j)->getId();
dauMasses[j]=p->getDaug(j)->mass();
}
}
EvtId *parId=0;
EvtId *othDauId=0;
EvtParticle *tempPar=p->getParent();
if (tempPar) {
parId=new EvtId(tempPar->getId());
if ( tempPar->getNDaug()==2 ) {
if ( tempPar->getDaug(0) == this ) othDauId=new EvtId(tempPar->getDaug(1)->getId());
else othDauId=new EvtId(tempPar->getDaug(0)->getId());
}
}
if ( p->getParent() && _validP4==false ) {
if ( !useMinMass ) {
p->setMass(EvtPDL::getRandMass(p->getId(),parId,_ndaug,dauId,othDauId,parMass,dauMasses));
}
else p->setMass(EvtPDL::getMinMass(p->getId()));
}
if ( parId) delete parId;
if ( othDauId) delete othDauId;
if ( dauId) delete [] dauId;
if ( dauMasses) delete [] dauMasses;
return;
}
-
-
+
+
//Will include effects of mixing here
//added by Lange Jan4,2000
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
static EvtId BD0=EvtPDL::getId("B0");
static EvtId BDB=EvtPDL::getId("anti-B0");
static EvtId D0=EvtPDL::getId("D0");
static EvtId D0B=EvtPDL::getId("anti-D0");
static EvtId U4S=EvtPDL::getId("Upsilon(4S)");
static EvtIdSet borUps(BS0,BSB,BD0,BDB,U4S);
-
+
//only makes sense if there is no parent particle which is a B or an Upsilon
bool hasBorUps=false;
if ( getParent() && borUps.contains(getParent()->getId()) ) hasBorUps=true;
// if ( (getNDaug()==0)&&(getParent()==0) && (getId()==BS0||getId()==BSB||getId()==BD0||getId()==BDB)){
EvtId thisId=getId();
// remove D0 mixing for now.
// if ( (getNDaug()==0 && !hasBorUps) && (thisId==BS0||thisId==BSB||thisId==BD0||thisId==BDB||thisId==D0||thisId==D0B)){
if ( (getNDaug()==0 && !hasBorUps) && (thisId==BS0||thisId==BSB||thisId==BD0||thisId==BDB)){
double t;
int mix;
EvtCPUtil::getInstance()->incoherentMix(getId(), t, mix);
setLifetime(t);
-
+
if (mix) {
EvtScalarParticle* scalar_part;
-
+
scalar_part=new EvtScalarParticle;
if (getId()==BS0) {
EvtVector4R p_init(EvtPDL::getMass(BSB),0.0,0.0,0.0);
scalar_part->init(EvtPDL::chargeConj(getId()),p_init);
}
else if (getId()==BSB) {
EvtVector4R p_init(EvtPDL::getMass(BS0),0.0,0.0,0.0);
scalar_part->init(EvtPDL::chargeConj(getId()),p_init);
}
else if (getId()==BD0) {
EvtVector4R p_init(EvtPDL::getMass(BDB),0.0,0.0,0.0);
scalar_part->init(EvtPDL::chargeConj(getId()),p_init);
}
else if (getId()==BDB) {
EvtVector4R p_init(EvtPDL::getMass(BD0),0.0,0.0,0.0);
scalar_part->init(EvtPDL::chargeConj(getId()),p_init);
}
else if (getId()==D0) {
EvtVector4R p_init(EvtPDL::getMass(D0B),0.0,0.0,0.0);
scalar_part->init(EvtPDL::chargeConj(getId()),p_init);
}
else if (getId()==D0B) {
EvtVector4R p_init(EvtPDL::getMass(D0),0.0,0.0,0.0);
scalar_part->init(EvtPDL::chargeConj(getId()),p_init);
}
-
+
scalar_part->setLifetime(0);
- scalar_part->setDiagonalSpinDensity();
-
+ scalar_part->setDiagonalSpinDensity();
+
insertDaugPtr(0,scalar_part);
_ndaug=1;
_isInit=true;
p=scalar_part;
p->initDecay(useMinMass);
return;
}
}
EvtDecayBase *decayer;
decayer = EvtDecayTable::getInstance()->getDecayFunc(p);
if ( decayer ) {
p->makeDaughters(decayer->nRealDaughters(),decayer->getDaugs());
//then loop over the daughters and init their decay
for(size_t i=0;i<p->getNDaug();i++){
// std::cout << EvtPDL::name(p->getDaug(i)->getId()) << " " << i << " " << p->getDaug(i)->getSpinType() << " " << EvtPDL::name(p->getId()) << std::endl;
if ( EvtPDL::getWidth(p->getDaug(i)->getId()) > 0.0000001)
p->getDaug(i)->initDecay(useMinMass);
else p->getDaug(i)->setMass(EvtPDL::getMeanMass(p->getDaug(i)->getId()));
}
}
-
+
int j;
EvtId *dauId=0;
double *dauMasses=0;
int nDaugT=p->getNDaug();
if ( nDaugT > 0) {
dauId=new EvtId[nDaugT];
dauMasses=new double[nDaugT];
- for (j=0;j<nDaugT;j++) {
+ for (j=0;j<nDaugT;j++) {
dauId[j]=p->getDaug(j)->getId();
dauMasses[j]=p->getDaug(j)->mass();
}
}
EvtId *parId=0;
EvtId *othDauId=0;
EvtParticle *tempPar=p->getParent();
if (tempPar) {
parId=new EvtId(tempPar->getId());
if ( tempPar->getNDaug()==2 ) {
if ( tempPar->getDaug(0) == this ) othDauId=new EvtId(tempPar->getDaug(1)->getId());
else othDauId=new EvtId(tempPar->getDaug(0)->getId());
}
}
if ( p->getParent() && p->hasValidP4()==false ) {
if ( !useMinMass ) {
p->setMass(EvtPDL::getRandMass(p->getId(),parId,p->getNDaug(),dauId,othDauId,parMass,dauMasses));
}
else {
p->setMass(EvtPDL::getMinMass(p->getId()));
}
}
if ( parId) delete parId;
if ( othDauId) delete othDauId;
if ( dauId) delete [] dauId;
if ( dauMasses) delete [] dauMasses;
_isInit=true;
}
void EvtParticle::decay(){
//P is particle to decay, typically 'this' but sometime
- //modified by mixing
+ //modified by mixing
EvtParticle* p=this;
//Did it mix?
//if ( p->getMixed() ) {
//should take C(p) - this should only
//happen the first time we call decay for this
//particle
//p->takeCConj();
// p->setUnMixed();
//}
EvtDecayBase *decayer;
decayer = EvtDecayTable::getInstance()->getDecayFunc(p);
// if ( decayer ) {
// EvtGenReport(EVTGEN_INFO,"EvtGen") << "calling decay for " << EvtPDL::name(p->getId()) << " " << p->mass() << " " << p->getP4() << " " << p->getNDaug() << " " << p << endl;
// EvtGenReport(EVTGEN_INFO,"EvtGen") << "NDaug= " << decayer->getNDaug() << endl;
// int ti;
- // for ( ti=0; ti<decayer->getNDaug(); ti++)
+ // for ( ti=0; ti<decayer->getNDaug(); ti++)
// EvtGenReport(EVTGEN_INFO,"EvtGen") << "Daug " << ti << " " << EvtPDL::name(decayer->getDaug(ti)) << endl;
// }
//if (p->_ndaug>0) {
// EvtGenReport(EVTGEN_INFO,"EvtGen") <<"Is decaying particle with daughters!!!!!"<<endl;
// ::abort();
//return;
//call initdecay first - April 29,2002 - Lange
//}
//if there are already daughters, then this step is already done!
// figure out the masses
bool massTreeOK(true);
if ( _ndaug == 0 ) {
massTreeOK = generateMassTree();
}
if (massTreeOK == false) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Could not decay "<<EvtPDL::name(p->getId())
<<" with mass "<<p->mass()
<<" to decay channel number "<<_channel<<endl;
_isDecayed = false;
return;
}
-
+
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
static EvtId BD0=EvtPDL::getId("B0");
- static EvtId BDB=EvtPDL::getId("anti-B0");
+ static EvtId BDB=EvtPDL::getId("anti-B0");
// static EvtId D0=EvtPDL::getId("D0");
// static EvtId D0B=EvtPDL::getId("anti-D0");
EvtId thisId=getId();
// remove D0 mixing for now..
// if ( _ndaug==1 && (thisId==BS0||thisId==BSB||thisId==BD0||thisId==BDB||thisId==D0||thisId==D0B) ) {
if ( _ndaug==1 && (thisId==BS0||thisId==BSB||thisId==BD0||thisId==BDB) ) {
p=p->getDaug(0);
decayer = EvtDecayTable::getInstance()->getDecayFunc(p);
}
//now we have accepted a set of masses - time
if ( decayer != 0) {
decayer->makeDecay(p);
}
else{
p->_rhoBackward.setDiag(p->getSpinStates());
}
_isDecayed=true;
- return;
+ return;
}
bool EvtParticle::generateMassTree() {
bool isOK(true);
double massProb=1.;
double ranNum=2.;
int counter=0;
EvtParticle *p=this;
while (massProb<ranNum) {
//check it out the first time.
p->initDecay();
massProb=p->compMassProb();
ranNum=EvtRandom::Flat();
counter++;
if ( counter > 10000 ) {
if ( counter == 10001 ) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Too many iterations to determine the mass tree. Parent mass= "<< p->mass() << " " << massProb <<endl;
p->printTree();
- EvtGenReport(EVTGEN_INFO,"EvtGen") << "will take next combo with non-zero likelihood\n";
+ EvtGenReport(EVTGEN_INFO,"EvtGen") << "will take next combo with non-zero likelihood\n";
}
if ( massProb>0. ) massProb=2.0;
if ( counter > 20000 ) {
// one last try - take the minimum masses
p->initDecay(true);
p->printTree();
massProb=p->compMassProb();
if ( massProb>0. ) {
massProb=2.0;
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Taking the minimum mass of all particles in the chain\n";
}
else {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Sorry, no luck finding a valid set of masses. This may be a pathological combo\n";
isOK = false;
break;
}
}
}
}
return isOK;
}
double EvtParticle::compMassProb() {
EvtParticle *p=this;
double mass=p->mass();
double parMass=0.;
- if ( p->getParent()) {
+ if ( p->getParent()) {
parMass=p->getParent()->mass();
}
int nDaug=p->getNDaug();
double *dMasses=0;
int i;
if ( nDaug>0 ) {
dMasses=new double[nDaug];
for (i=0; i<nDaug; i++) dMasses[i]=p->getDaug(i)->mass();
}
double temp=1.0;
temp=EvtPDL::getMassProb(p->getId(), mass, parMass, nDaug, dMasses);
//If the particle already has a mass, we dont need to include
//it in the probability calculation
- if ( (!p->getParent() || _validP4 ) && temp>0.0 ) temp=1.;
+ if ( (!p->getParent() || _validP4 ) && temp>0.0 ) temp=1.;
delete [] dMasses;
for (i=0; i<nDaug; i++) {
temp*=p->getDaug(i)->compMassProb();
}
return temp;
}
void EvtParticle::deleteDaughters(bool keepChannel){
for(size_t i=0;i<_ndaug;i++){
_daug[i]->deleteTree();
}
-
+
_ndaug=0;
if ( !keepChannel) _channel=-10;
_first=1;
_isInit=false;
}
void EvtParticle::deleteTree(){
this->deleteDaughters();
-
+
delete this;
-
+
}
EvtVector4C EvtParticle::epsParent(int i) const {
EvtVector4C temp;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th polarization vector."
<<" I.e. you thought it was a"
<<" vector particle!" << endl;
::abort();
return temp;
}
EvtVector4C EvtParticle::eps(int i) const {
EvtVector4C temp;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th polarization vector."
<<" I.e. you thought it was a"
<<" vector particle!" << endl;
::abort();
return temp;
}
EvtVector4C EvtParticle::epsParentPhoton(int i){
EvtVector4C temp;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th polarization vector of photon."
<<" I.e. you thought it was a"
<<" photon particle!" << endl;
::abort();
return temp;
}
EvtVector4C EvtParticle::epsPhoton(int i){
EvtVector4C temp;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th polarization vector of a photon."
<<" I.e. you thought it was a"
<<" photon particle!" << endl;
::abort();
return temp;
}
EvtDiracSpinor EvtParticle::spParent(int i) const {
EvtDiracSpinor tempD;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th dirac spinor."
<<" I.e. you thought it was a"
<<" Dirac particle!" << endl;
::abort();
return tempD;
}
EvtDiracSpinor EvtParticle::sp(int i) const {
EvtDiracSpinor tempD;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th dirac spinor."
<<" I.e. you thought it was a"
<<" Dirac particle!" << endl;
::abort();
return tempD;
}
EvtDiracSpinor EvtParticle::spParentNeutrino() const {
EvtDiracSpinor tempD;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the "
<<"dirac spinor."
<<" I.e. you thought it was a"
<<" neutrino particle!" << endl;
::abort();
return tempD;
}
EvtDiracSpinor EvtParticle::spNeutrino() const {
EvtDiracSpinor tempD;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the "
<<"dirac spinor."
<<" I.e. you thought it was a"
<<" neutrino particle!" << endl;
::abort();
return tempD;
}
EvtTensor4C EvtParticle::epsTensorParent(int i) const {
- EvtTensor4C tempC;
+ EvtTensor4C tempC;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th tensor."
<<" I.e. you thought it was a"
<<" Tensor particle!" << endl;
::abort();
return tempC;
}
EvtTensor4C EvtParticle::epsTensor(int i) const {
- EvtTensor4C tempC;
+ EvtTensor4C tempC;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th tensor."
<<" I.e. you thought it was a"
<<" Tensor particle!" << endl;
::abort();
return tempC;
}
EvtRaritaSchwinger EvtParticle::spRSParent(int i) const {
EvtRaritaSchwinger tempD;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th Rarita-Schwinger spinor."
<<" I.e. you thought it was a"
<<" RaritaSchwinger particle!" << std::endl;
::abort();
return tempD;
}
EvtRaritaSchwinger EvtParticle::spRS(int i) const {
EvtRaritaSchwinger tempD;
printParticle();
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "and you have asked for the:"<<i
<<"th Rarita-Schwinger spinor."
<<" I.e. you thought it was a"
<<" RaritaSchwinger particle!" << std::endl;
::abort();
return tempD;
}
EvtVector4R EvtParticle::getP4Lab() const {
EvtVector4R temp,mom;
const EvtParticle *ptemp;
-
+
temp=this->getP4();
ptemp=this;
-
+
while (ptemp->getParent()!=0) {
ptemp=ptemp->getParent();
mom=ptemp->getP4();
- temp=boostTo(temp,mom);
- }
+ temp=boostTo(temp,mom);
+ }
return temp;
}
EvtVector4R EvtParticle::getP4LabBeforeFSR() {
EvtVector4R temp,mom;
EvtParticle *ptemp;
temp=this->_pBeforeFSR;
ptemp=this;
while (ptemp->getParent()!=0) {
ptemp=ptemp->getParent();
mom=ptemp->getP4();
temp=boostTo(temp,mom);
}
return temp;
}
EvtVector4R EvtParticle::getP4Restframe() const {
return EvtVector4R(mass(),0.0,0.0,0.0);
}
EvtVector4R EvtParticle::get4Pos() const {
EvtVector4R temp,mom;
EvtParticle *ptemp;
-
+
temp.set(0.0,0.0,0.0,0.0);
ptemp=getParent();
if (ptemp==0) return temp;
temp=(ptemp->_t/ptemp->mass())*(ptemp->getP4());
while (ptemp->getParent()!=0) {
ptemp=ptemp->getParent();
mom=ptemp->getP4();
temp=boostTo(temp,mom);
temp=temp+(ptemp->_t/ptemp->mass())*(ptemp->getP4());
- }
-
+ }
+
return temp;
}
EvtParticle * EvtParticle::nextIter(EvtParticle *rootOfTree) {
EvtParticle *bpart;
EvtParticle *current;
current=this;
size_t i;
if (_ndaug!=0) return _daug[0];
do{
bpart=current->_parent;
if (bpart==0) return 0;
i=0;
while (bpart->_daug[i]!=current) {i++;}
if ( bpart==rootOfTree ) {
if ( i+1 == bpart->_ndaug ) return 0;
}
i++;
current=bpart;
}while(i>=bpart->_ndaug);
return bpart->_daug[i];
}
void EvtParticle::makeStdHep(EvtStdHep& stdhep,EvtSecondary& secondary,
EvtId *list_of_stable){
//first add particle to the stdhep list;
stdhep.createParticle(getP4Lab(),get4Pos(),-1,-1,
EvtPDL::getStdHep(getId()));
int ii=0;
- //lets see if this is a longlived particle and terminate the
+ //lets see if this is a longlived particle and terminate the
//list building!
-
+
while (list_of_stable[ii]!=EvtId(-1,-1)) {
if (getId()==list_of_stable[ii]){
secondary.createSecondary(0,this);
return;
}
ii++;
}
for(size_t i=0;i<_ndaug;i++){
stdhep.createParticle(_daug[i]->getP4Lab(),_daug[i]->get4Pos(),0,0,
EvtPDL::getStdHep(_daug[i]->getId()));
}
for(size_t i=0;i<_ndaug;i++){
_daug[i]->makeStdHepRec(1+i,1+i,stdhep,secondary,list_of_stable);
}
return;
}
void EvtParticle::makeStdHep(EvtStdHep& stdhep){
//first add particle to the stdhep list;
stdhep.createParticle(getP4Lab(),get4Pos(),-1,-1,
EvtPDL::getStdHep(getId()));
for(size_t i=0;i<_ndaug;i++){
stdhep.createParticle(_daug[i]->getP4Lab(),_daug[i]->get4Pos(),0,0,
EvtPDL::getStdHep(_daug[i]->getId()));
}
for(size_t i=0;i<_ndaug;i++){
_daug[i]->makeStdHepRec(1+i,1+i,stdhep);
}
return;
}
void EvtParticle::makeStdHepRec(int firstparent,int lastparent,
EvtStdHep& stdhep,
EvtSecondary& secondary,
EvtId *list_of_stable){
int ii=0;
- //lets see if this is a longlived particle and terminate the
+ //lets see if this is a longlived particle and terminate the
//list building!
-
+
while (list_of_stable[ii]!=EvtId(-1,-1)) {
if (getId()==list_of_stable[ii]){
secondary.createSecondary(firstparent,this);
return;
}
ii++;
}
int parent_num=stdhep.getNPart();
for(size_t i=0;i<_ndaug;i++){
stdhep.createParticle(_daug[i]->getP4Lab(),_daug[i]->get4Pos(),
firstparent,lastparent,
EvtPDL::getStdHep(_daug[i]->getId()));
}
for(size_t i=0;i<_ndaug;i++){
_daug[i]->makeStdHepRec(parent_num+i,parent_num+i,stdhep,
secondary,list_of_stable);
}
return;
}
void EvtParticle::makeStdHepRec(int firstparent,int lastparent,
EvtStdHep& stdhep){
int parent_num=stdhep.getNPart();
for(size_t i=0;i<_ndaug;i++){
stdhep.createParticle(_daug[i]->getP4Lab(),_daug[i]->get4Pos(),
firstparent,lastparent,
EvtPDL::getStdHep(_daug[i]->getId()));
}
for(size_t i=0;i<_ndaug;i++){
_daug[i]->makeStdHepRec(parent_num+i,parent_num+i,stdhep);
}
return;
}
void EvtParticle::printTreeRec(unsigned int level) const {
size_t newlevel,i;
newlevel = level +1;
-
+
if (_ndaug!=0) {
if ( level > 0 ) {
for (i=0;i<(5*level);i++) {
EvtGenReport(EVTGEN_INFO,"") <<" ";
}
}
- EvtGenReport(EVTGEN_INFO,"") << EvtPDL::name(_id).c_str();
+ EvtGenReport(EVTGEN_INFO,"") << EvtPDL::name(_id).c_str();
EvtGenReport(EVTGEN_INFO,"") << " -> ";
for(i=0;i<_ndaug;i++){
EvtGenReport(EVTGEN_INFO,"") << EvtPDL::name(_daug[i]->getId()).c_str()<<" ";
}
for(i=0;i<_ndaug;i++){
EvtGenReport(EVTGEN_INFO,"") << _daug[i]->mass()<< " " << _daug[i]->getP4() << " " <<_daug[i]->getSpinStates() << "; ";
}
EvtGenReport(EVTGEN_INFO,"")<<endl;
for(i=0;i<_ndaug;i++){
_daug[i]->printTreeRec(newlevel);
}
}
}
void EvtParticle::printTree() const {
-
+
EvtGenReport(EVTGEN_INFO,"EvtGen") << "This is the current decay chain"<<endl;
EvtGenReport(EVTGEN_INFO,"") << "This top particle is "<<
- EvtPDL::name(_id).c_str()<<" " << this->mass() << " " << this->getP4() << endl;
-
+ EvtPDL::name(_id).c_str()<<" " << this->mass() << " " << this->getP4() << endl;
+
this->printTreeRec(0);
EvtGenReport(EVTGEN_INFO,"EvtGen") << "End of decay chain."<<endl;
}
std::string EvtParticle::treeStrRec(unsigned int level) const {
size_t newlevel,i;
newlevel = level +1;
std::string retval="";
for(i=0;i<_ndaug;i++){
retval+=EvtPDL::name(_daug[i]->getId());
if ( _daug[i]->getNDaug() > 0 ) {
retval+= " (";
retval+= _daug[i]->treeStrRec(newlevel);
retval+= ") ";
}
else{
if ( i+1 !=_ndaug) retval+=" ";
}
}
return retval;
}
std::string EvtParticle::treeStr() const {
std::string retval=EvtPDL::name(_id);
retval+=" -> ";
retval+=treeStrRec(0);
return retval;
}
void EvtParticle::printParticle() const {
- switch (EvtPDL::getSpinType(_id)){
+ switch (EvtPDL::getSpinType(_id)){
case EvtSpinType::SCALAR:
EvtGenReport(EVTGEN_INFO,"EvtGen") << "This is a scalar particle:"<<EvtPDL::name(_id).c_str()<<"\n";
- break;
+ break;
case EvtSpinType::VECTOR:
EvtGenReport(EVTGEN_INFO,"EvtGen") << "This is a vector particle:"<<EvtPDL::name(_id).c_str()<<"\n";
- break;
+ break;
case EvtSpinType::TENSOR:
EvtGenReport(EVTGEN_INFO,"EvtGen") << "This is a tensor particle:"<<EvtPDL::name(_id).c_str()<<"\n";
break;
case EvtSpinType::DIRAC:
EvtGenReport(EVTGEN_INFO,"EvtGen") << "This is a dirac particle:"<<EvtPDL::name(_id).c_str()<<"\n";
break;
case EvtSpinType::PHOTON:
EvtGenReport(EVTGEN_INFO,"EvtGen") << "This is a photon:"<<EvtPDL::name(_id).c_str()<<"\n";
break;
case EvtSpinType::NEUTRINO:
EvtGenReport(EVTGEN_INFO,"EvtGen") << "This is a neutrino:"<<EvtPDL::name(_id).c_str()<<"\n";
break;
case EvtSpinType::STRING:
EvtGenReport(EVTGEN_INFO,"EvtGen") << "This is a string:"<<EvtPDL::name(_id).c_str()<<"\n";
break;
default:
EvtGenReport(EVTGEN_INFO,"EvtGen") <<"Unknown particle type in EvtParticle::printParticle()"<<endl;
break;
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Number of daughters:"<<_ndaug<<"\n";
}
void init_vector( EvtParticle **part ){
- *part = (EvtParticle *) new EvtVectorParticle;
-}
+ *part = new EvtVectorParticle;
+}
void init_scalar( EvtParticle **part ){
- *part = (EvtParticle *) new EvtScalarParticle;
-}
+ *part = new EvtScalarParticle;
+}
void init_tensor( EvtParticle **part ){
- *part = (EvtParticle *) new EvtTensorParticle;
-}
+ *part = new EvtTensorParticle;
+}
void init_dirac( EvtParticle **part ){
- *part = (EvtParticle *) new EvtDiracParticle;
-}
+ *part = new EvtDiracParticle;
+}
void init_photon( EvtParticle **part ){
- *part = (EvtParticle *) new EvtPhotonParticle;
-}
+ *part = new EvtPhotonParticle;
+}
void init_neutrino( EvtParticle **part ){
- *part = (EvtParticle *) new EvtNeutrinoParticle;
-}
+ *part = new EvtNeutrinoParticle;
+}
void init_string( EvtParticle **part ){
- *part = (EvtParticle *) new EvtStringParticle;
-}
+ *part = new EvtStringParticle;
+}
double EvtParticle::initializePhaseSpace(
- unsigned int numdaughter,EvtId *daughters,
+ unsigned int numdaughter,EvtId *daughters,
bool forceDaugMassReset, double poleSize,
int whichTwo1, int whichTwo2) {
double m_b;
unsigned int i;
//lange
// this->makeDaughters(numdaughter,daughters);
static EvtVector4R p4[100];
static double mass[100];
m_b = this->mass();
//lange - Jan2,2002 - Need to check to see if the daughters of the parent
// have changed. If so, delete them and start over.
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "the parent is\n";
//if ( this->getParent() ) {
// if ( this->getParent()->getParent() ) this->getParent()->getParent()->printTree();
// this->getParent()->printTree();
//}
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "and this is\n";
//if ( this) this->printTree();
bool resetDaughters=false;
-
+
if ( numdaughter != this->getNDaug() && this->getNDaug() > 0 ) resetDaughters=true;
- if ( numdaughter == this->getNDaug() )
+ if ( numdaughter == this->getNDaug() )
for (i=0; i<numdaughter;i++) {
if ( this->getDaug(i)->getId() != daughters[i] ) resetDaughters=true;
- //EvtGenReport(EVTGEN_INFO,"EvtGen") << EvtPDL::name(this->getDaug(i)->getId())
+ //EvtGenReport(EVTGEN_INFO,"EvtGen") << EvtPDL::name(this->getDaug(i)->getId())
// << " " << EvtPDL::name(daughters[i]) << endl;
}
if ( resetDaughters || forceDaugMassReset) {
bool t1=true;
//but keep the decay channel of the parent.
this->deleteDaughters(t1);
this->makeDaughters(numdaughter,daughters);
bool massTreeOK = this->generateMassTree();
if (massTreeOK == false) {return 0.0;}
}
double weight=0.;
for (i=0; i<numdaughter;i++) {
mass[i]=this->getDaug(i)->mass();
}
if ( poleSize<-0.1) {
//special case to enforce 4-momentum conservation in 1->1 decays
if (numdaughter==1) {
this->getDaug(0)->init(daughters[0],EvtVector4R(m_b,0.0,0.0,0.0));
}
else{
EvtGenKine::PhaseSpace( numdaughter, mass, p4, m_b );
for(i=0;i<numdaughter;i++){
this->getDaug(i)->init(daughters[i],p4[i]);
}
}
}
else {
if ( numdaughter != 3 ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Only can generate pole phase space "
<< "distributions for 3 body final states"
<< endl<<"Will terminate."<<endl;
::abort();
}
bool ok=false;
if ( (whichTwo1 == 1 && whichTwo2 == 0 ) ||
(whichTwo1 == 0 && whichTwo2 == 1 ) ) {
- weight=EvtGenKine::PhaseSpacePole( m_b, mass[0], mass[1], mass[2],
+ weight=EvtGenKine::PhaseSpacePole( m_b, mass[0], mass[1], mass[2],
poleSize, p4);
this->getDaug(0)->init(daughters[0],p4[0]);
this->getDaug(1)->init(daughters[1],p4[1]);
this->getDaug(2)->init(daughters[2],p4[2]);
ok=true;
}
if ( (whichTwo1 == 1 && whichTwo2 == 2 ) ||
(whichTwo1 == 2 && whichTwo2 == 1 ) ) {
- weight=EvtGenKine::PhaseSpacePole( m_b, mass[2], mass[1], mass[0],
+ weight=EvtGenKine::PhaseSpacePole( m_b, mass[2], mass[1], mass[0],
poleSize, p4);
this->getDaug(0)->init(daughters[0],p4[2]);
this->getDaug(1)->init(daughters[1],p4[1]);
this->getDaug(2)->init(daughters[2],p4[0]);
ok=true;
}
if ( (whichTwo1 == 0 && whichTwo2 == 2 ) ||
(whichTwo1 == 2 && whichTwo2 == 0 ) ) {
- weight=EvtGenKine::PhaseSpacePole( m_b, mass[1], mass[0], mass[2],
+ weight=EvtGenKine::PhaseSpacePole( m_b, mass[1], mass[0], mass[2],
poleSize, p4);
this->getDaug(0)->init(daughters[0],p4[1]);
this->getDaug(1)->init(daughters[1],p4[0]);
this->getDaug(2)->init(daughters[2],p4[2]);
ok=true;
}
if ( !ok) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Invalid pair of particle to generate a pole dist "
<< whichTwo1 << " " << whichTwo2
<< endl<<"Will terminate."<<endl;
::abort();
}
}
return weight;
}
void EvtParticle::makeDaughters(unsigned int ndaugstore, std::vector<EvtId> idVector) {
// Convert the STL vector method to use the array method for now, since the
// array method pervades most of the EvtGen code...
unsigned int nVector = idVector.size();
if (nVector < ndaugstore) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Asking to make "<<ndaugstore<<" daughters when there "
<< "are only "<<nVector<<" EvtId values available"<<endl;
return;
}
EvtId *idArray=new EvtId[ndaugstore];
unsigned int i;
for (i = 0; i < ndaugstore; i++) {
idArray[i] = idVector[i];
}
this->makeDaughters(ndaugstore, idArray);
delete[] idArray;
}
void EvtParticle::makeDaughters( unsigned int ndaugstore, EvtId *id){
unsigned int i;
if ( _channel < 0 ) {
setChannel(0);
}
- EvtParticle* pdaug;
+ EvtParticle* pdaug;
if (_ndaug!=0 ){
if (_ndaug!=ndaugstore){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Asking to make a different number of "
<< "daughters than what was previously created."<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Original parent:"<<EvtPDL::name(_id)<<endl;
for (size_t i=0;i<_ndaug;i++){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Original daugther:"<<EvtPDL::name(getDaug(i)->getId())<<endl;
}
for (size_t i=0;i<ndaugstore;i++){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "New Daug:"<<EvtPDL::name(id[i])<<endl;
}
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate."<<endl;
::abort();
}
- }
+ }
else{
for(i=0;i<ndaugstore;i++){
pdaug=EvtParticleFactory::particleFactory(EvtPDL::getSpinType(id[i]));
pdaug->setId(id[i]);
- pdaug->addDaug(this);
+ pdaug->addDaug(this);
}
} //else
} //makeDaughters
void EvtParticle::setDecayProb(double prob) {
if ( _decayProb == 0 ) _decayProb=new double;
*_decayProb=prob;
}
std::string EvtParticle::getName() {
-
+
std::string theName = _id.getName();
return theName;
}
int EvtParticle::getAttribute(std::string attName) {
// Retrieve the attribute integer if the name exists.
// Otherwise, simply return 0
int attValue = 0;
EvtAttIntMap::iterator mapIter;
if ((mapIter = _intAttributes.find(attName)) != _intAttributes.end()) {
attValue = mapIter->second;
}
return attValue;
}
double EvtParticle::getAttributeDouble(std::string attName) {
// Retrieve the attribute double if the name exists.
// Otherwise, simply return 0.0
double attValue = 0.0;
EvtAttDblMap::iterator mapIter;
if ((mapIter = _dblAttributes.find(attName)) != _dblAttributes.end()) {
attValue = mapIter->second;
}
return attValue;
}
diff --git a/src/EvtGenBase/EvtPhotonParticle.cpp b/src/EvtGenBase/EvtPhotonParticle.cpp
index 91ccd6d..88aaa71 100644
--- a/src/EvtGenBase/EvtPhotonParticle.cpp
+++ b/src/EvtGenBase/EvtPhotonParticle.cpp
@@ -1,173 +1,168 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtPhotonParticle.cc
//
// Description: Class to describe massless vectors
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtPhotonParticle.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
-EvtPhotonParticle::EvtPhotonParticle() {
-}
-
-EvtPhotonParticle::~EvtPhotonParticle(){}
-
void EvtPhotonParticle::init(EvtId part_n,const EvtVector4R& p4){
init(part_n,p4.get(0),p4.get(1),
p4.get(2),p4.get(3));
}
void EvtPhotonParticle::init(EvtId part_n,double e,double px,double py,double pz){
_validP4=true;
setp(e,px,py,pz);
setpart_num(part_n);
setLifetime();
-
+
//defere calculation of basis vectors untill they are needed!
_evalBasis=0;
}
EvtVector4C EvtPhotonParticle::epsParentPhoton(int i){
if (!_evalBasis){
_evalBasis=1;
eps1.set(EvtComplex(0.0,0.0), EvtComplex(-1.0/sqrt(2.0),0.0),
EvtComplex(0.0,-1.0/sqrt(2.0)), EvtComplex(0.0,0.0));
eps2.set(EvtComplex(0.0,0.0), EvtComplex(1.0/sqrt(2.0),0.0),
EvtComplex(0.0,-1.0/sqrt(2.0)), EvtComplex(0.0,0.0));
-
- // These are for photon along z axis. Rotate to get
+
+ // These are for photon along z axis. Rotate to get
// correct direction...
-
+
double phi,theta;
EvtVector4R p=this->getP4();
double px=p.get(1);
double py=p.get(2);
double pz=p.get(3);
phi = atan2(py,px);
theta = acos(pz/sqrt(px*px+py*py+pz*pz));
eps1.applyRotateEuler(phi,theta,-phi);
eps2.applyRotateEuler(phi,theta,-phi);
-
+
}
EvtVector4C temp;
-
+
switch(i) {
case 0:
temp=eps1;
break;
case 1:
temp=eps2;
break;
default:
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtPhotonParticle.cc: Asked "
<< "for state:"<<i<<endl;
::abort();
break;
}
return temp;
}
EvtVector4C EvtPhotonParticle::epsPhoton(int ){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtPhotonParticle.cc: Can not get "
<< "state in photons restframe."<<endl;;
::abort();
return EvtVector4C();
}
EvtSpinDensity EvtPhotonParticle::rotateToHelicityBasis() const {
EvtVector4C eplus(0.0,-1.0/sqrt(2.0),
EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
EvtVector4C eminus(0.0,1.0/sqrt(2.0),
EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
//Really uggly have to cast away constness because the
//function epsParentPhoton caches the state vectors...
EvtVector4C e1=((EvtParticle*)this)->epsParentPhoton(0);
EvtVector4C e2=((EvtParticle*)this)->epsParentPhoton(1);
EvtSpinDensity R;
R.setDim(2);
R.set(0,0,(eplus.conj())*e1);
R.set(0,1,(eplus.conj())*e2);
-
+
R.set(1,0,(eminus.conj())*e1);
R.set(1,1,(eminus.conj())*e2);
-
+
return R;
-
+
}
EvtSpinDensity EvtPhotonParticle::rotateToHelicityBasis(double alpha,
double beta,
double gamma) const{
EvtVector4C eplus(0.0,-1.0/sqrt(2.0),
EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
EvtVector4C eminus(0.0,1.0/sqrt(2.0),
EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
-
+
eplus.applyRotateEuler(alpha,beta,gamma);
eminus.applyRotateEuler(alpha,beta,gamma);
-
-
+
+
//Really uggly have to cast away constness because the
//function epsParentPhoton caches the state vectors...
EvtVector4C e1=((EvtParticle*)this)->epsParentPhoton(0);
EvtVector4C e2=((EvtParticle*)this)->epsParentPhoton(1);
-
+
EvtSpinDensity R;
R.setDim(2);
-
+
R.set(0,0,(eplus.conj())*e1);
R.set(0,1,(eplus.conj())*e2);
-
+
R.set(1,0,(eminus.conj())*e1);
R.set(1,1,(eminus.conj())*e2);
-
+
return R;
}
diff --git a/src/EvtGenBase/EvtPoint1D.cpp b/src/EvtGenBase/EvtPoint1D.cpp
index a8354d3..fe72ba0 100644
--- a/src/EvtGenBase/EvtPoint1D.cpp
+++ b/src/EvtGenBase/EvtPoint1D.cpp
@@ -1,36 +1,33 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPoint1D.cpp,v 1.3 2009-03-16 15:44:41 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
// Point on a finite 1-D interval. isValid shows whether for a given specification,
// the coordinate _value is inside the interval defined by _min, _max.
#include <stdio.h>
#include "EvtGenBase/EvtPoint1D.hh"
EvtPoint1D::EvtPoint1D()
: _min(0.), _max(-1.), _value(0.), _valid(false)
{}
EvtPoint1D::EvtPoint1D(double value)
: _min(0.), _max(-1.), _value(value), _valid(true)
{}
EvtPoint1D::EvtPoint1D(double min, double max, double value)
: _min(min), _max(max), _value(value), _valid((_min <= _value && _value <= _max) ? true : false)
-{}
-
-EvtPoint1D::~EvtPoint1D()
{}
void EvtPoint1D::print() const
{
printf("%f (%f : %f)\n",_value,_min,_max);
}
diff --git a/src/EvtGenBase/EvtPropBreitWigner.cpp b/src/EvtGenBase/EvtPropBreitWigner.cpp
index f931913..8a98547 100644
--- a/src/EvtGenBase/EvtPropBreitWigner.cpp
+++ b/src/EvtGenBase/EvtPropBreitWigner.cpp
@@ -1,41 +1,32 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPropBreitWigner.cpp,v 1.3 2009-03-16 15:44:41 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <math.h>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtPropBreitWigner.hh"
-EvtPropBreitWigner::EvtPropBreitWigner(double m0, double g0)
- : EvtPropagator(m0,g0)
+EvtPropBreitWigner::EvtPropBreitWigner(double m0, double g0)
+ : EvtPropagator(m0,g0)
{}
-EvtPropBreitWigner::EvtPropBreitWigner(const EvtPropBreitWigner& other)
- : EvtPropagator(other)
-{}
-
-
-EvtPropBreitWigner::~EvtPropBreitWigner()
-{}
-
-
EvtAmplitude<EvtPoint1D>* EvtPropBreitWigner::clone() const
-{
- return new EvtPropBreitWigner(*this);
+{
+ return new EvtPropBreitWigner(*this);
}
EvtComplex EvtPropBreitWigner::amplitude(const EvtPoint1D& x) const
{
double m = x.value();
EvtComplex value = sqrt(_g0/EvtConst::twoPi)/(m-_m0-EvtComplex(0.0,_g0/2.));
return value;
}
diff --git a/src/EvtGenBase/EvtPropBreitWignerRel.cpp b/src/EvtGenBase/EvtPropBreitWignerRel.cpp
index b3e9e28..6c2e4af 100644
--- a/src/EvtGenBase/EvtPropBreitWignerRel.cpp
+++ b/src/EvtGenBase/EvtPropBreitWignerRel.cpp
@@ -1,39 +1,30 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPropBreitWignerRel.cpp,v 1.3 2009-03-16 15:44:41 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <math.h>
#include "EvtGenBase/EvtPropBreitWignerRel.hh"
-EvtPropBreitWignerRel::EvtPropBreitWignerRel(double m0, double g0)
- : EvtPropagator(m0,g0)
+EvtPropBreitWignerRel::EvtPropBreitWignerRel(double m0, double g0)
+ : EvtPropagator(m0,g0)
{}
-EvtPropBreitWignerRel::EvtPropBreitWignerRel(const EvtPropBreitWignerRel& other)
- : EvtPropagator(other)
-{}
-
-
-EvtPropBreitWignerRel::~EvtPropBreitWignerRel()
-{}
-
-
EvtAmplitude<EvtPoint1D>* EvtPropBreitWignerRel::clone() const
-{
- return new EvtPropBreitWignerRel(*this);
+{
+ return new EvtPropBreitWignerRel(*this);
}
EvtComplex EvtPropBreitWignerRel::amplitude(const EvtPoint1D& x) const
{
double m = x.value();
- return 1./(_m0*_m0-m*m-EvtComplex(0.,_m0*_g0));
+ return 1./(_m0*_m0-m*m-EvtComplex(0.,_m0*_g0));
}
diff --git a/src/EvtGenBase/EvtPropFlatte.cpp b/src/EvtGenBase/EvtPropFlatte.cpp
index 84a69b9..fa084b0 100644
--- a/src/EvtGenBase/EvtPropFlatte.cpp
+++ b/src/EvtGenBase/EvtPropFlatte.cpp
@@ -1,97 +1,83 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* Author : D. Dujmic, J. Thompson
*
* Copyright (C) 2005 SLAC
*******************************************************************************/
#include <math.h>
#include "EvtGenBase/EvtPropFlatte.hh"
#include <iostream>
using std::cout;
using std::endl;
-EvtPropFlatte::EvtPropFlatte(double m0,
- double g0, double m0a, double m0b,
+EvtPropFlatte::EvtPropFlatte(double m0,
+ double g0, double m0a, double m0b,
double g1, double m1a, double m1b) :
EvtPropagator( m0, g0),
_m0a(m0a),
_m0b(m0b),
_g1 (g1),
_m1a(m1a),
_m1b(m1b)
{}
-EvtPropFlatte::EvtPropFlatte(const EvtPropFlatte& other) :
- EvtPropagator(other),
- _m0a (other._m0a),
- _m0b (other._m0b),
- _g1 (other._g1),
- _m1a (other._m1a),
- _m1b (other._m1b)
-{}
-
-
-EvtPropFlatte::~EvtPropFlatte()
-{}
-
-
EvtAmplitude<EvtPoint1D>* EvtPropFlatte::clone() const
-{
- return new EvtPropFlatte(*this);
+{
+ return new EvtPropFlatte(*this);
}
EvtComplex EvtPropFlatte::amplitude(const EvtPoint1D& x) const
{
/*
Use BES parameterization:
1.
-----------------------------------------
m0^2 - m^2 - i*m0*( g1*rho1 + g2*rho2 )
-
+
Resonance mass: m0
Channel1: m0a, m0b, g0
Channel2: m1a, m1b, g1
where breakup momenta q's are:
E0a = (m^2 + m0a^2 - m0b^2) / 2m
q0 = sqrt( E0a^2 - m0a^2 )
E1a = (m^2 + m1a^2 - m1b^2) / 2m
q1 = sqrt( E1a^2 - m1a^2 )
*/
double s = x.value()*x.value();
double m = x.value();
-
+
double E0a = 0.5 * (s + _m0a*_m0a - _m0b*_m0b) / m;
double qSq0 = E0a*E0a - _m0a*_m0a;
double E1a = 0.5 * (s + _m1a*_m1a - _m1b*_m1b) / m;
double qSq1 = E1a*E1a - _m1a*_m1a;
EvtComplex gamma0 = qSq0 >= 0 ? EvtComplex( _g0 * sqrt(qSq0), 0) : EvtComplex( 0, _g0 * sqrt(-qSq0) );
EvtComplex gamma1 = qSq1 >= 0 ? EvtComplex( _g1 * sqrt(qSq1), 0) : EvtComplex( 0, _g1 * sqrt(-qSq1) );
EvtComplex gamma = gamma0 + gamma1;
-
+
EvtComplex a = 1.0/( _m0*_m0 - s - EvtComplex(0.0,2*_m0/m)*gamma );
return a;
}
diff --git a/src/EvtGenBase/EvtPropGounarisSakurai.cpp b/src/EvtGenBase/EvtPropGounarisSakurai.cpp
index 9037539..4785055 100644
--- a/src/EvtGenBase/EvtPropGounarisSakurai.cpp
+++ b/src/EvtGenBase/EvtPropGounarisSakurai.cpp
@@ -1,112 +1,100 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtPropGounarisSakurai.cpp,v 1.1 2009-03-16 16:47:03 robbep Exp $
- * Author: Matt Graham
+ * Author: Matt Graham
* modified from EvtPropBreitWignerRel...this should be used for rho's
*******************************************************************************/
#include <math.h>
#include "EvtGenBase/EvtPropGounarisSakurai.hh"
-EvtPropGounarisSakurai::EvtPropGounarisSakurai(EvtDalitzPlot *dp,
- EvtCyclic3::Pair pair, double m0, double g0)
+EvtPropGounarisSakurai::EvtPropGounarisSakurai(EvtDalitzPlot *dp,
+ EvtCyclic3::Pair pair, double m0, double g0)
: EvtPropagator(m0,g0),_pair(pair),_gbase(g0)
{
_dalitzSpace = dp;
_m1= dp->m(EvtCyclic3::first(_pair));
_m2= dp->m(EvtCyclic3::second(_pair));
}
-EvtPropGounarisSakurai::EvtPropGounarisSakurai(const EvtPropGounarisSakurai& other)
- : EvtPropagator(other), _pair(other._pair), _gbase(other._gbase),
- _m1(other._m1), _m2(other._m2)
-{
-_dalitzSpace = other._dalitzSpace;
-}
-
-
-EvtPropGounarisSakurai::~EvtPropGounarisSakurai()
-{}
-
-
EvtAmplitude<EvtPoint1D>* EvtPropGounarisSakurai::clone() const
-{
- return new EvtPropGounarisSakurai(*this);
+{
+ return new EvtPropGounarisSakurai(*this);
}
EvtComplex EvtPropGounarisSakurai::amplitude(const EvtPoint1D& x) const
{
double m = x.value();
double s = m*m;
double m2=_m0*_m0;
double _width=_gbase;
double _mass=_m0;
double A = ( 1 + dFun( m2 )*_width/_mass );
double B = s - m2 - fsFun( s );
// double C = sqrt(s)*_g0;//wrong!
double C = sqrt(m2)*_g0;//correct!
double D = B*B + C*C;
EvtComplex rpt( A*B/D, - A*C/D );
return rpt;
}
// adapted from RhoPiTools
double EvtPropGounarisSakurai::fsFun( double s ) const
{
double m2=_m0*_m0;
EvtTwoBodyKine vd(_m1,_m2,sqrt(s));
EvtTwoBodyKine vR(_m1,_m2,_m0);
double k_s = vd.p();
double k_Am2 = vR.p();
- //
+ //
double f = _gbase * m2 / pow( k_Am2, 3 )
- * (
+ * (
pow( k_s, 2 ) * (hFun( s ) - hFun( m2 ))
+ (m2 - s) * pow( k_Am2, 2 ) * dh_dsFun( m2 )
);
return f;
}
double EvtPropGounarisSakurai::hFun( double s ) const
{
double sm = _m1 + _m2;
double SQRTs = sqrt(s);
EvtTwoBodyKine vd(_m1,_m2,sqrt(s));
double k_s = vd.p();
return 2/EvtConst::pi * (k_s/SQRTs) * log( (SQRTs + 2*k_s)/(sm) );
}
double EvtPropGounarisSakurai::dh_dsFun( double s ) const
-{
+{
EvtTwoBodyKine vd(_m1,_m2,sqrt(s));
double k_s = vd.p();
-
+
return hFun(s) * ( 1/(8*pow( k_s, 2)) - 1/(2*s) ) + 1/(2*EvtConst::pi*s);
}
double EvtPropGounarisSakurai::dFun( double s ) const
{
double sm = _m1 + _m2;
double sm24 = sm*sm/4;
double m = sqrt(s);
EvtTwoBodyKine vd(_m1,_m2,sqrt(s));
double k_m2 = vd.p();
double _pi=EvtConst::pi;
- return 3.0/_pi * sm24/pow( k_m2, 2 ) * log( (m + 2*k_m2)/sm )
+ return 3.0/_pi * sm24/pow( k_m2, 2 ) * log( (m + 2*k_m2)/sm )
+ m/(2*_pi*k_m2) - sm24*m/(_pi * pow( k_m2, 3 ));
}
diff --git a/src/EvtGenBase/EvtPto3PAmpFactory.cpp b/src/EvtGenBase/EvtPto3PAmpFactory.cpp
index 0bc349e..b021326 100644
--- a/src/EvtGenBase/EvtPto3PAmpFactory.cpp
+++ b/src/EvtGenBase/EvtPto3PAmpFactory.cpp
@@ -1,353 +1,353 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtPto3PAmpFactory.cpp,v 1.3 2009-03-16 15:44:04 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module creator:
// Alexei Dvoretskii, Caltech, 2001-2002.
//-----------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
// AmpFactory for building a P -> 3P decay
// (pseudoscalar to three pseudoscalars)
#include <assert.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
+#include <memory>
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtCyclic3.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtPto3PAmp.hh"
#include "EvtGenBase/EvtNonresonantAmp.hh"
#include "EvtGenBase/EvtFlatAmp.hh"
#include "EvtGenBase/EvtLASSAmp.hh"
#include "EvtGenBase/EvtPto3PAmpFactory.hh"
#include "EvtGenBase/EvtPropBreitWigner.hh"
#include "EvtGenBase/EvtPropFlatte.hh"
#include "EvtGenBase/EvtPropBreitWignerRel.hh"
#include "EvtGenBase/EvtDalitzResPdf.hh"
#include "EvtGenBase/EvtDalitzFlatPdf.hh"
using namespace EvtCyclic3;
#include <iostream>
void EvtPto3PAmpFactory::processAmp(EvtComplex c, std::vector<std::string> vv, bool conj)
{
if(_verbose) {
-
+
printf("Make %samplitude\n",conj ? "CP conjugate" : "");
unsigned i;
for(i=0;i<vv.size();i++) printf("%s\n",vv[i].c_str());
printf("\n");
}
-
- EvtAmplitude<EvtDalitzPoint>* amp = 0;
- EvtPdf<EvtDalitzPoint>* pdf = 0;
+
+ std::unique_ptr<EvtAmplitude<EvtDalitzPoint>> amp;
+ std::unique_ptr<EvtPdf<EvtDalitzPoint>> pdf;
std::string name;
Pair pairRes=AB;
size_t i;
/*
Experimental amplitudes
*/
if(vv[0] == "PHASESPACE") {
-
- pdf = new EvtDalitzFlatPdf(_dp);
- amp = new EvtFlatAmp<EvtDalitzPoint>();
+
+ pdf = std::make_unique< EvtDalitzFlatPdf> (_dp);
+ amp = std::make_unique< EvtFlatAmp<EvtDalitzPoint>>();
name = "NR";
}
else if (!vv[0].find("NONRES")) {
double alpha=0;
EvtPto3PAmp::NumType typeNRes=EvtPto3PAmp::NONRES;
if (vv[0]=="NONRES_LIN") {
typeNRes=EvtPto3PAmp::NONRES_LIN;
pairRes=strToPair(vv[1].c_str());
}
else if (vv[0]=="NONRES_EXP") {
typeNRes=EvtPto3PAmp::NONRES_EXP;
pairRes = strToPair(vv[1].c_str());
alpha = strtod(vv[2].c_str(),0);
}
else assert(0);
- pdf = new EvtDalitzFlatPdf(_dp);
- amp = new EvtNonresonantAmp( &_dp, typeNRes, pairRes, alpha);
+ pdf = std::make_unique< EvtDalitzFlatPdf>(_dp);
+ amp = std::make_unique< EvtNonresonantAmp>( &_dp, typeNRes, pairRes, alpha);
}
else if (vv[0]=="LASS" || vv[0]=="LASS_ELASTIC" || vv[0]=="LASS_RESONANT") {
pairRes = strToPair(vv[1].c_str());
double m0 = strtod(vv[2].c_str(),0);
double g0 = strtod(vv[3].c_str(),0);
double a = strtod(vv[4].c_str(),0);
double r = strtod(vv[5].c_str(),0);
double cutoff = strtod(vv[6].c_str(),0);
- pdf = new EvtDalitzResPdf(_dp,m0,g0,pairRes);
- amp = new EvtLASSAmp( &_dp, pairRes, m0, g0, a, r, cutoff, vv[0]);
+ pdf = std::make_unique<EvtDalitzResPdf>(_dp,m0,g0,pairRes);
+ amp = std::make_unique<EvtLASSAmp>( &_dp, pairRes, m0, g0, a, r, cutoff, vv[0]);
}
/*
Resonant amplitudes
*/
else if(vv[0] == "RESONANCE") {
- EvtPto3PAmp* partAmp = 0;
-
+ std::unique_ptr<EvtPto3PAmp> partAmp;
+
// RESONANCE stanza
-
+
pairRes = strToPair(vv[1].c_str());
EvtSpinType::spintype spinR = EvtSpinType::SCALAR;
- double mR, gR;
+ double mR, gR;
name = vv[2];
EvtId resId = EvtPDL::getId(vv[2]);
if(_verbose) printf("Particles %s form %sresonance %s\n",
vv[1].c_str(),vv[2].c_str(), conj ? "(conj) " : "");
- // If no valid particle name is given, assume that
+ // If no valid particle name is given, assume that
// it is the spin, the mass and the width of the particle.
-
+
if(resId.getId() == -1) {
-
+
switch(atoi(vv[2].c_str())) {
-
+
case 0: { spinR = EvtSpinType::SCALAR; break; }
case 1: { spinR = EvtSpinType::VECTOR; break; }
case 2: { spinR = EvtSpinType::TENSOR; break; }
case 3: { spinR = EvtSpinType::SPIN3; break; }
case 4: { spinR = EvtSpinType::SPIN4; break; }
default: { assert(0); break; }
}
-
+
mR = strtod(vv[3].c_str(),0);
gR = strtod(vv[4].c_str(),0);
i = 4;
}
else {
-
+
// For a valid particle get spin, mass and width
-
+
spinR = EvtPDL::getSpinType(resId);
mR = EvtPDL::getMeanMass(resId);
gR = EvtPDL::getWidth(resId);
i = 2;
-
- // It's possible to specify mass and width of a particle
+
+ // It's possible to specify mass and width of a particle
// explicitly
-
+
if(vv[3] != "ANGULAR") {
-
- if(_verbose)
+
+ if(_verbose)
printf("Setting m(%s)=%s g(%s)=%s\n",
vv[2].c_str(),vv[3].c_str(),vv[2].c_str(),vv[4].c_str());
mR = strtod(vv[3].c_str(),0);
gR = strtod(vv[4].c_str(),0);
i = 4;
}
}
-
+
// ANGULAR stanza
-
+
if(vv[++i] != "ANGULAR") {
printf("%s instead of ANGULAR\n",vv[i].c_str());
exit(0);
}
Pair pairAng = strToPair(vv[++i].c_str());
if(_verbose) printf("Angle is measured between particles %s\n",vv[i].c_str());
-
+
// TYPE stanza
-
+
std::string typeName = vv[++i];
assert(typeName == "TYPE");
std::string type = vv[++i];
if(_verbose) printf("Propagator type %s\n",vv[i].c_str());
-
- if(type == "NBW") {
+
+ if(type == "NBW") {
EvtPropBreitWigner prop(mR,gR);
- partAmp = new EvtPto3PAmp(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::NBW);
+ partAmp = std::make_unique<EvtPto3PAmp>(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::NBW);
}
else if(type == "RBW_ZEMACH") {
-
+
EvtPropBreitWignerRel prop(mR,gR);
- partAmp = new EvtPto3PAmp(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::RBW_ZEMACH);
+ partAmp = std::make_unique<EvtPto3PAmp>(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::RBW_ZEMACH);
}
else if(type == "RBW_KUEHN") {
-
+
EvtPropBreitWignerRel prop(mR,gR);
- partAmp = new EvtPto3PAmp(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::RBW_KUEHN);
+ partAmp = std::make_unique<EvtPto3PAmp>(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::RBW_KUEHN);
}
else if(type == "RBW_CLEO") {
-
+
EvtPropBreitWignerRel prop(mR,gR);
- partAmp = new EvtPto3PAmp(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::RBW_CLEO);
- }
+ partAmp = std::make_unique<EvtPto3PAmp>(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::RBW_CLEO);
+ }
else if(type == "FLATTE") {
-
+
double m1a = _dp.m( first(pairRes) );
- double m1b = _dp.m( second(pairRes) );
+ double m1b = _dp.m( second(pairRes) );
// 2nd channel
double g2 = strtod(vv[++i].c_str(),0);
double m2a = strtod(vv[++i].c_str(),0);
double m2b = strtod(vv[++i].c_str(),0);
EvtPropFlatte prop( mR, gR, m1a, m1b, g2, m2a, m2b );
- partAmp = new EvtPto3PAmp(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::FLATTE);
+ partAmp = std::make_unique<EvtPto3PAmp>(_dp,pairAng,pairRes,spinR,prop,EvtPto3PAmp::FLATTE);
}
else assert(0);
-
+
// Optional DVFF, BVFF stanzas
-
+
if(i < vv.size() - 1) {
- if(vv[i+1] == "DVFF") {
+ if(vv[i+1] == "DVFF") {
i++;
if(vv[++i] == "BLATTWEISSKOPF") {
-
+
double R = strtod(vv[++i].c_str(),0);
partAmp->set_fd(R);
}
else assert(0);
}
}
-
+
if(i < vv.size() - 1) {
- if(vv[i+1] == "BVFF") {
+ if(vv[i+1] == "BVFF") {
i++;
if(vv[++i] == "BLATTWEISSKOPF") {
if(_verbose) printf("BVFF=%s\n",vv[i].c_str());
double R = strtod(vv[++i].c_str(),0);
partAmp->set_fb(R);
}
else assert(0);
}
}
const int minwidths=5;
//Optional resonance minimum and maximum
if(i < vv.size() - 1) {
- if(vv[i+1] == "CUTOFF") {
+ if(vv[i+1] == "CUTOFF") {
i++;
if(vv[i+1] == "MIN") {
i++;
double min = strtod(vv[++i].c_str(),0);
if(_verbose) std::cout<<"CUTOFF MIN = "<<min<<" "<<minwidths<<std::endl;
//ensure against cutting off too close to the resonance
assert( min<(mR-minwidths*gR) );
partAmp->setmin(min);
}
else if (vv[i+1] == "MAX") {
i++;
double max = strtod(vv[++i].c_str(),0);
if(_verbose) std::cout<<"CUTOFF MAX = "<<max<<" "<<minwidths<<std::endl;
//ensure against cutting off too close to the resonance
assert( max>(mR+minwidths*gR) );
partAmp->setmax(max);
}
else assert(0);
}
}
//2nd iteration in case min and max are both specified
if(i < vv.size() - 1) {
- if(vv[i+1] == "CUTOFF") {
+ if(vv[i+1] == "CUTOFF") {
i++;
if(vv[i+1] == "MIN") {
i++;
double min = strtod(vv[++i].c_str(),0);
if(_verbose) std::cout<<"CUTOFF MIN = "<<min<<std::endl;
//ensure against cutting off too close to the resonance
assert( min<(mR-minwidths*gR) );
partAmp->setmin(min);
}
else if (vv[i+1] == "MAX") {
i++;
double max = strtod(vv[++i].c_str(),0);
if(_verbose) std::cout<<"CUTOFF MAX = "<<max<<std::endl;
//ensure against cutting off too close to the resonance
assert( max>(mR+minwidths*gR) );
partAmp->setmax(max);
}
else assert(0);
}
}
i++;
-
- pdf = new EvtDalitzResPdf(_dp,mR,gR,pairRes);
- amp = partAmp;
+
+ pdf = std::make_unique<EvtDalitzResPdf>(_dp,mR,gR,pairRes);
+ amp = std::move(partAmp);
}
assert(amp);
assert(pdf);
+ double scale = matchIsobarCoef(*_amp, *pdf, pairRes);
+
if(!conj) {
- _amp->addOwnedTerm(c,amp);
- }
- else {
- _ampConj->addOwnedTerm(c,amp);
+ _amp->addOwnedTerm(c,std::move(amp));
+ } else {
+ _ampConj->addOwnedTerm(c,std::move(amp));
}
-
- double scale = matchIsobarCoef(_amp, pdf, pairRes);
- _pc->addOwnedTerm(abs2(c)*scale,pdf);
+ _pc->addOwnedTerm(abs2(c)*scale,std::move(pdf));
_names.push_back(name);
}
-
-double EvtPto3PAmpFactory::matchIsobarCoef(EvtAmplitude<EvtDalitzPoint>* amp,
- EvtPdf<EvtDalitzPoint>* pdf,
+
+double EvtPto3PAmpFactory::matchIsobarCoef(EvtAmplitude<EvtDalitzPoint>& amp,
+ EvtPdf<EvtDalitzPoint>& pdf,
EvtCyclic3::Pair ipair) {
- // account for differences in the definition of amplitudes by matching
- // Integral( c'*pdf ) = Integral( c*|A|^2 )
+ // account for differences in the definition of amplitudes by matching
+ // Integral( c'*pdf ) = Integral( c*|A|^2 )
// to improve generation efficiency ...
- double Ipdf = pdf->compute_integral(10000).value();
+ double Ipdf = pdf.compute_integral(10000).value();
double Iamp2 = 0;
EvtCyclic3::Pair jpair = EvtCyclic3::next(ipair);
EvtCyclic3::Pair kpair = EvtCyclic3::next(jpair);
// Trapezoidal integral
int N=10000;
-
+
double di = (_dp.qAbsMax(ipair) - _dp.qAbsMin(ipair))/((double) N);
-
+
double siMin = _dp.qAbsMin(ipair);
-
+
double s[3]; // playing with fire
for(int i=1; i<N; i++) {
-
+
s[ipair] = siMin + di*i;
- s[jpair] = _dp.q(jpair, 0.9999, ipair, s[ipair]);
+ s[jpair] = _dp.q(jpair, 0.9999, ipair, s[ipair]);
s[kpair] = _dp.bigM()*_dp.bigM() - s[ipair] - s[jpair]
+ _dp.mA()*_dp.mA() + _dp.mB()*_dp.mB() + _dp.mC()*_dp.mC();
-
- EvtDalitzPoint point( _dp.mA(), _dp.mB(), _dp.mC(),
+
+ EvtDalitzPoint point( _dp.mA(), _dp.mB(), _dp.mC(),
s[EvtCyclic3::AB], s[EvtCyclic3::BC], s[EvtCyclic3::CA]);
-
+
if (!point.isValid()) continue;
-
+
double p = point.p(other(ipair), ipair);
double q = point.p(first(ipair), ipair);
-
- double itg = abs2( amp->evaluate(point) )*di*4*q*p;
+
+ double itg = abs2( amp.evaluate(point) )*di*4*q*p;
Iamp2 += itg;
-
+
}
if (_verbose) std::cout << "integral = " << Iamp2 << " pdf="<<Ipdf << std::endl;
-
+
assert(Ipdf>0 && Iamp2>0);
-
+
return Iamp2/Ipdf;
}
diff --git a/src/EvtGenBase/EvtPto3PAmpSmpResolution.cpp b/src/EvtGenBase/EvtPto3PAmpSmpResolution.cpp
index ef378de..31db4b0 100644
--- a/src/EvtGenBase/EvtPto3PAmpSmpResolution.cpp
+++ b/src/EvtGenBase/EvtPto3PAmpSmpResolution.cpp
@@ -1,65 +1,56 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* Author: D. Dujmic, ddujmic@slac.stanford.edu
*
* Copyright (C) 2005 SLAC
*
*******************************************************************************/
#include <assert.h>
#include <math.h>
#include <iostream>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtPto3PAmpSmpResolution.hh"
#include "EvtGenBase/EvtPto3PAmp.hh"
#include "EvtGenBase/EvtDalitzCoord.hh"
#include "EvtGenBase/EvtCyclic3.hh"
using std::cout;
using std::endl;
using EvtCyclic3::Index;
using EvtCyclic3::Pair;
-EvtPto3PAmpSmpResolution::EvtPto3PAmpSmpResolution(EvtDalitzPlot dp, Pair pairAng, Pair pairRes,
- EvtSpinType::spintype spin,
- const EvtPropagator& prop, NumType typeN)
+EvtPto3PAmpSmpResolution::EvtPto3PAmpSmpResolution(EvtDalitzPlot dp, Pair pairAng, Pair pairRes,
+ EvtSpinType::spintype spin,
+ const EvtPropagator& prop, NumType typeN)
: EvtPto3PAmp(dp, pairAng, pairRes, spin, prop, typeN)
{}
-EvtPto3PAmpSmpResolution::EvtPto3PAmpSmpResolution(const EvtPto3PAmp& other)
- : EvtPto3PAmp(other)
-{}
-
-
-EvtPto3PAmpSmpResolution::~EvtPto3PAmpSmpResolution()
-{}
-
-
-EvtComplex
+EvtComplex
EvtPto3PAmpSmpResolution::evalPropagator(double m) const
{
EvtComplex prop(0,0);
-
+
if (_sigma>0) { // convolved
int nconv=20;
double min=m+_bias-_sigma*2.5;
double max=m+_bias+_sigma*2.5;
double dm=(max-min)/nconv;
static double sqrt2pi = sqrt(2*3.14159);
double ifact = 1./(sqrt2pi*_sigma);
for (int i=0;i<nconv; i++) {
double mprime = min+dm*(i+0.5);
double t = (mprime-m)/_sigma;
prop += ifact * exp(-0.5*t*t)*EvtPto3PAmp::evalPropagator(m)*dm;
}
} else {
prop = EvtPto3PAmp::evalPropagator(m);
}
return prop;
}
diff --git a/src/EvtGenBase/EvtRaritaSchwinger.cpp b/src/EvtGenBase/EvtRaritaSchwinger.cpp
index a0ab08a..940a37c 100644
--- a/src/EvtGenBase/EvtRaritaSchwinger.cpp
+++ b/src/EvtGenBase/EvtRaritaSchwinger.cpp
@@ -1,281 +1,278 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtGen/EvtRaritaSchwing.hh
//
// Description:Class to handle spin 3/2
//
// Modification history:
//
// RYD April 23, 2000 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtRaritaSchwinger.hh"
using std::endl;
using std::ostream;
-EvtRaritaSchwinger::~EvtRaritaSchwinger(){}
-
-
EvtRaritaSchwinger rotateEuler(const EvtRaritaSchwinger& rs,
double alpha,double beta,double gamma){
EvtRaritaSchwinger tmp(rs);
tmp.applyRotateEuler(alpha,beta,gamma);
return tmp;
}
EvtRaritaSchwinger boostTo(const EvtRaritaSchwinger& rs,
const EvtVector4R p4){
EvtRaritaSchwinger tmp(rs);
tmp.applyBoostTo(p4);
return tmp;
}
EvtRaritaSchwinger boostTo(const EvtRaritaSchwinger& rs,
const EvtVector3R boost){
EvtRaritaSchwinger tmp(rs);
tmp.applyBoostTo(boost);
return tmp;
}
void EvtRaritaSchwinger::set(int i,int j,const EvtComplex& sp){_rs[i][j]=sp;}
-EvtComplex EvtRaritaSchwinger::get(int i,int j) const {return _rs[i][j];}
+EvtComplex EvtRaritaSchwinger::get(int i,int j) const {return _rs[i][j];}
void EvtRaritaSchwinger::applyRotateEuler(double alpha,double beta,
double gamma){
//inefficient but simple to code...
EvtVector4C v0=getVector(0);
EvtVector4C v1=getVector(1);
EvtVector4C v2=getVector(2);
EvtVector4C v3=getVector(3);
v0.applyRotateEuler(alpha,beta,gamma);
v1.applyRotateEuler(alpha,beta,gamma);
v2.applyRotateEuler(alpha,beta,gamma);
v3.applyRotateEuler(alpha,beta,gamma);
setVector(0,v0);
setVector(1,v1);
setVector(2,v2);
setVector(3,v3);
EvtDiracSpinor sp0=getSpinor(0);
EvtDiracSpinor sp1=getSpinor(1);
EvtDiracSpinor sp2=getSpinor(2);
EvtDiracSpinor sp3=getSpinor(3);
sp0.applyRotateEuler(alpha,beta,gamma);
sp1.applyRotateEuler(alpha,beta,gamma);
sp2.applyRotateEuler(alpha,beta,gamma);
sp3.applyRotateEuler(alpha,beta,gamma);
setSpinor(0,sp0);
setSpinor(1,sp1);
setSpinor(2,sp2);
setSpinor(3,sp3);
}
-
+
void EvtRaritaSchwinger::applyBoostTo(const EvtVector4R p4){
double e=p4.get(0);
EvtVector3R boost(p4.get(1)/e,p4.get(2)/e,p4.get(3)/e);
applyBoostTo(boost);
-
+
return;
}
-
+
void EvtRaritaSchwinger::applyBoostTo(const EvtVector3R boost){
//inefficient but simple to code...
EvtVector4C v0=getVector(0);
EvtVector4C v1=getVector(1);
EvtVector4C v2=getVector(2);
EvtVector4C v3=getVector(3);
v0.applyBoostTo(boost);
v1.applyBoostTo(boost);
v2.applyBoostTo(boost);
v3.applyBoostTo(boost);
setVector(0,v0);
setVector(1,v1);
setVector(2,v2);
setVector(3,v3);
EvtDiracSpinor sp0=getSpinor(0);
EvtDiracSpinor sp1=getSpinor(1);
EvtDiracSpinor sp2=getSpinor(2);
EvtDiracSpinor sp3=getSpinor(3);
sp0.applyBoostTo(boost);
sp1.applyBoostTo(boost);
sp2.applyBoostTo(boost);
sp3.applyBoostTo(boost);
setSpinor(0,sp0);
setSpinor(1,sp1);
setSpinor(2,sp2);
setSpinor(3,sp3);
}
ostream& operator<<(ostream& s, const EvtRaritaSchwinger& rs){
int i,j;
s<< endl;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
s << rs._rs[i][j];
}
s << endl;
}
return s;
-
+
}
EvtVector4C EvtRaritaSchwinger::getVector(int i) const{
EvtVector4C tmp(_rs[i][0],_rs[i][1],_rs[i][2],_rs[i][3]);
return tmp;
}
-
+
EvtDiracSpinor EvtRaritaSchwinger::getSpinor(int i) const{
EvtDiracSpinor tmp;
tmp.set(_rs[0][i],_rs[1][i],_rs[2][i],_rs[3][i]);
return tmp;
}
void EvtRaritaSchwinger::setVector(int i,const EvtVector4C& v){
-
+
_rs[i][0]=v.get(0);
_rs[i][1]=v.get(1);
_rs[i][2]=v.get(2);
_rs[i][3]=v.get(3);
}
void EvtRaritaSchwinger::setSpinor(int i,const EvtDiracSpinor& sp){
_rs[0][i]=sp.get_spinor(0);
_rs[1][i]=sp.get_spinor(1);
_rs[2][i]=sp.get_spinor(2);
_rs[3][i]=sp.get_spinor(3);
}
EvtRaritaSchwinger dirProd(EvtVector4R v,EvtDiracSpinor u){
int i,j;
EvtRaritaSchwinger tmp;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
tmp._rs[i][j]=u.get_spinor(i)*v.get(j);
}
}
return tmp;
}
EvtRaritaSchwinger dirProd(EvtVector4C v,EvtDiracSpinor u){
int i,j;
EvtRaritaSchwinger tmp;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
tmp._rs[i][j]=u.get_spinor(i)*v.get(j);
}
}
return tmp;
}
EvtComplex operator*(const EvtRaritaSchwinger& u1,
const EvtRaritaSchwinger& u2){
int i,j;
EvtComplex tmp=0.0;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
tmp+=conj(u1._rs[i][j])*u2._rs[i][j];
}
}
return tmp;
}
EvtRaritaSchwinger& EvtRaritaSchwinger::operator+=(const EvtRaritaSchwinger& u2){
int i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_rs[i][j]+=u2._rs[i][j];
}
}
-
- return *this;
+
+ return *this;
}
EvtRaritaSchwinger operator+(const EvtRaritaSchwinger& u1,
const EvtRaritaSchwinger& u2){
-
+
return EvtRaritaSchwinger(u1)+=u2;
}
EvtRaritaSchwinger& EvtRaritaSchwinger::operator-=(const EvtRaritaSchwinger& u2){
int i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
_rs[i][j]+=u2._rs[i][j];
}
}
-
- return *this;
+
+ return *this;
}
EvtRaritaSchwinger operator-(const EvtRaritaSchwinger& u1,
const EvtRaritaSchwinger& u2){
-
+
return EvtRaritaSchwinger(u1)-=u2;
}
diff --git a/src/EvtGenBase/EvtRaritaSchwingerParticle.cpp b/src/EvtGenBase/EvtRaritaSchwingerParticle.cpp
index ed031ae..1707931 100644
--- a/src/EvtGenBase/EvtRaritaSchwingerParticle.cpp
+++ b/src/EvtGenBase/EvtRaritaSchwingerParticle.cpp
@@ -1,228 +1,219 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtRaritaSchwingerParticle.cc
//
// Description: Class to describe spin 1/2 particles.
//
// Modification history:
//
// RYD August 9, 2000 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtRaritaSchwingerParticle.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
-EvtRaritaSchwingerParticle::~EvtRaritaSchwingerParticle(){}
-
-
-EvtRaritaSchwingerParticle::EvtRaritaSchwingerParticle(){
-
- return;
-
-}
-
void EvtRaritaSchwingerParticle::init(EvtId id,const EvtVector4R& p4){
_validP4=true;
setp(p4);
setpart_num(id);
-
+
if (EvtPDL::getStdHep(id)==0){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Error in EvtRaritaSchwingerParticle::init, part_n="
<< id.getId()<<endl;
::abort();
}
-
-
-
+
+
+
double sqmt2=sqrt(2.0*(this->getP4().mass()));
-
+
EvtDiracSpinor spplus;
EvtDiracSpinor spminus;
-
- if (EvtPDL::getStdHep(getId())>0){
+
+ if (EvtPDL::getStdHep(getId())>0){
spplus.set(sqmt2,0.0,0.0,0.0);
spminus.set(0.0,sqmt2,0.0,0.0);
} else {
spplus.set(0.0,0.0,sqmt2,0.0);
spminus.set(0.0,0.0,0.0,sqmt2);
}
static EvtVector4C eplus(0.0,-1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
static EvtVector4C ezero(0.0,0.0,0.0,1.0);
static EvtVector4C eminus(0.0,1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
_spinorRest[0]=dirProd(eplus,spplus);
_spinorRest[1]=dirProd(sqrt(2.0/3.0)*ezero,spplus)+
dirProd(sqrt(1.0/3.0)*eplus,spminus);
_spinorRest[2]=dirProd(sqrt(2.0/3.0)*ezero,spminus)+
dirProd(sqrt(1.0/3.0)*eminus,spplus);
_spinorRest[3]=dirProd(eminus,spminus);
-
+
_spinor[0]=boostTo(_spinorRest[0],p4);
_spinor[1]=boostTo(_spinorRest[1],p4);
_spinor[2]=boostTo(_spinorRest[2],p4);
_spinor[3]=boostTo(_spinorRest[3],p4);
-
+
setLifetime();
}
void EvtRaritaSchwingerParticle::init(EvtId id,const EvtVector4R& p4,
const EvtRaritaSchwinger & prod1,
const EvtRaritaSchwinger & prod2,
const EvtRaritaSchwinger & prod3,
const EvtRaritaSchwinger & prod4,
const EvtRaritaSchwinger & rest1,
const EvtRaritaSchwinger & rest2,
const EvtRaritaSchwinger & rest3,
const EvtRaritaSchwinger & rest4){
_validP4=true;
setp(p4);
setpart_num(id);
if (EvtPDL::getStdHep(id)==0){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Error in EvtRaritaSchwingerParticle::init, part_n="
<< id.getId()<<std::endl;
::abort();
}
_spinorRest[0]=rest1;
_spinorRest[1]=rest2;
_spinorRest[2]=rest3;
_spinorRest[3]=rest4;
-
+
_spinor[0]=prod1;
_spinor[1]=prod2;
_spinor[2]=prod3;
_spinor[3]=prod4;
-
+
setLifetime();
}
-
+
EvtRaritaSchwinger EvtRaritaSchwingerParticle::spRSParent(int i) const {
return _spinor[i];
}
EvtRaritaSchwinger EvtRaritaSchwingerParticle::spRS(int i) const {
return _spinorRest[i];
}
EvtSpinDensity EvtRaritaSchwingerParticle::rotateToHelicityBasis() const{
double sqmt2=sqrt(2.0*(this->getP4().mass()));
-
+
EvtDiracSpinor spplus;
EvtDiracSpinor spminus;
-
- if (EvtPDL::getStdHep(getId())>0){
+
+ if (EvtPDL::getStdHep(getId())>0){
spplus.set(1.0,0.0,0.0,0.0);
spminus.set(0.0,1.0,0.0,0.0);
} else {
spplus.set(0.0,0.0,1.0,0.0);
spminus.set(0.0,0.0,0.0,1.0);
}
EvtVector4C eplus(0.0,-1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
EvtVector4C ezero(0.0,0.0,0.0,1.0);
EvtVector4C eminus(0.0,1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
EvtRaritaSchwinger sppp=dirProd(eplus,spplus);
EvtRaritaSchwinger spp=dirProd(sqrt(2.0/3.0)*ezero,spplus)+
dirProd(sqrt(1.0/3.0)*eplus,spminus);
EvtRaritaSchwinger spm=dirProd(sqrt(2.0/3.0)*ezero,spminus)+
dirProd(sqrt(1.0/3.0)*eminus,spplus);
EvtRaritaSchwinger spmm=dirProd(eminus,spminus);
EvtSpinDensity R;
R.setDim(4);
for ( int i=0; i<4; i++) {
R.set(0,i,(sppp*_spinorRest[i])/sqmt2);
R.set(1,i,(spp*_spinorRest[i])/sqmt2);
R.set(2,i,(spm*_spinorRest[i])/sqmt2);
R.set(3,i,(spmm*_spinorRest[i])/sqmt2);
}
return R;
}
EvtSpinDensity EvtRaritaSchwingerParticle::rotateToHelicityBasis(double alpha,
double beta,
double gamma) const{
EvtDiracSpinor spplus;
EvtDiracSpinor spminus;
-
- if (EvtPDL::getStdHep(getId())>0){
+
+ if (EvtPDL::getStdHep(getId())>0){
spplus.set(1.0,0.0,0.0,0.0);
spminus.set(0.0,1.0,0.0,0.0);
} else {
spplus.set(0.0,0.0,1.0,0.0);
spminus.set(0.0,0.0,0.0,1.0);
}
EvtVector4C eplus(0.0,-1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
EvtVector4C ezero(0.0,0.0,0.0,1.0);
EvtVector4C eminus(0.0,1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
EvtRaritaSchwinger sppp=dirProd(eplus,spplus);
EvtRaritaSchwinger spp=dirProd(sqrt(2.0/3.0)*ezero,spplus)+
dirProd(sqrt(1.0/3.0)*eplus,spminus);
EvtRaritaSchwinger spm=dirProd(sqrt(2.0/3.0)*ezero,spminus)+
dirProd(sqrt(1.0/3.0)*eminus,spplus);
EvtRaritaSchwinger spmm=dirProd(eminus,spminus);
sppp.applyRotateEuler(alpha,beta,gamma);
spp.applyRotateEuler(alpha,beta,gamma);
spm.applyRotateEuler(alpha,beta,gamma);
spmm.applyRotateEuler(alpha,beta,gamma);
EvtSpinDensity R;
R.setDim(4);
double sqmt2=sqrt(2.0*(this->getP4().mass()));
for ( int i=0; i<4; i++) {
R.set(0,i,(sppp*_spinorRest[i])/sqmt2);
R.set(1,i,(spp*_spinorRest[i])/sqmt2);
R.set(2,i,(spm*_spinorRest[i])/sqmt2);
R.set(3,i,(spmm*_spinorRest[i])/sqmt2);
}
return R;
}
diff --git a/src/EvtGenBase/EvtRelBreitWignerBarrierFact.cpp b/src/EvtGenBase/EvtRelBreitWignerBarrierFact.cpp
index 920943b..cb5c4fc 100644
--- a/src/EvtGenBase/EvtRelBreitWignerBarrierFact.cpp
+++ b/src/EvtGenBase/EvtRelBreitWignerBarrierFact.cpp
@@ -1,289 +1,283 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtLineShape.cc
//
// Description: Store particle properties for one particle.
//
// Modification history:
//
// Lange March 10, 2001 Module created
// Dvoretskii June 03, 2002 Reimplemented rollMass()
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPredGen.hh"
#include "EvtGenBase/EvtRelBreitWignerBarrierFact.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtPropBreitWignerRel.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtAmpPdf.hh"
#include "EvtGenBase/EvtMassAmp.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtIntervalFlatPdf.hh"
#include <algorithm>
-EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact() {
-
-}
-
-EvtRelBreitWignerBarrierFact::~EvtRelBreitWignerBarrierFact() {
-}
EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(double mass, double width, double maxRange, EvtSpinType::spintype sp) :
EvtAbsLineShape(mass,width,maxRange,sp)
{ // double mDaug1, double mDaug2, int l) {
_includeDecayFact=true;
_includeBirthFact=true;
_mass=mass;
_width=width;
_spin=sp;
_blattDecay=3.0;
_blattBirth=1.0;
_maxRange=maxRange;
_errorCond=false;
double maxdelta = 15.0*width;
if ( maxRange > 0.00001 ) {
_massMax=mass+maxdelta;
_massMin=mass-maxRange;
}
else{
_massMax=mass+maxdelta;
_massMin=mass-15.0*width;
}
-
+
_massMax=mass+maxdelta;
if ( _massMin< 0. ) {
if ( _width > 0.0001 ) {
_massMin = 0.00011;
} else {
_massMin=0.;
}
}
}
EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(const EvtRelBreitWignerBarrierFact& x) :
EvtAbsLineShape(x)
{
_massMax=x._massMax;
_massMin=x._massMin;
_blattDecay=x._blattDecay;
_blattBirth=x._blattBirth;
_maxRange=x._maxRange;
_includeDecayFact=x._includeDecayFact;
_includeBirthFact=x._includeBirthFact;
_errorCond=x._errorCond;
}
EvtRelBreitWignerBarrierFact& EvtRelBreitWignerBarrierFact::operator=(const EvtRelBreitWignerBarrierFact& x) {
_mass=x._mass;
_width=x._width;
_spin=x._spin;
_massMax=x._massMax;
_massMin=x._massMin;
_blattDecay=x._blattDecay;
_blattBirth=x._blattBirth;
_maxRange=x._maxRange;
_includeDecayFact=x._includeDecayFact;
_includeBirthFact=x._includeBirthFact;
_errorCond=x._errorCond;
-
+
return *this;
}
EvtAbsLineShape* EvtRelBreitWignerBarrierFact::clone() {
return new EvtRelBreitWignerBarrierFact(*this);
}
double EvtRelBreitWignerBarrierFact::getMassProb(double mass, double massPar,int nDaug, double *massDau) {
_errorCond=false;
//return EvtAbsLineShape::getMassProb(mass,massPar,nDaug,massDau);
if (nDaug!=2) return EvtAbsLineShape::getMassProb(mass,massPar,nDaug,massDau);
double dTotMass=0.;
int i;
for (i=0; i<nDaug; i++) {
dTotMass+=massDau[i];
}
//EvtGenReport(EVTGEN_INFO,"EvtGen") << mass << " " << massPar << " " << dTotMass << " "<< endl;
// if ( (mass-dTotMass)<0.0001 ) return 0.;
//EvtGenReport(EVTGEN_INFO,"EvtGen") << mass << " " << dTotMass << endl;
if ( (mass<dTotMass) ) return 0.;
if ( _width< 0.0001) return 1.;
if ( massPar>0.0000000001 ) {
if ( mass > massPar) return 0.;
}
if ( _errorCond ) return 0.;
// we did all the work in getRandMass
return 1.;
}
double EvtRelBreitWignerBarrierFact::getRandMass(EvtId *parId,int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses) {
if ( nDaug!=2) return EvtAbsLineShape::getRandMass(parId,nDaug,dauId,othDaugId,maxMass,dauMasses);
if ( _width< 0.00001) return _mass;
//first figure out L - take the lowest allowed.
EvtSpinType::spintype spinD1=EvtPDL::getSpinType(dauId[0]);
EvtSpinType::spintype spinD2=EvtPDL::getSpinType(dauId[1]);
int t1=EvtSpinType::getSpin2(spinD1);
int t2=EvtSpinType::getSpin2(spinD2);
int t3=EvtSpinType::getSpin2(_spin);
int Lmin=-10;
// the user has overridden the partial wave to use.
for (unsigned int vC=0; vC<_userSetPW.size(); vC++) {
if ( dauId[0]==_userSetPWD1[vC] && dauId[1]==_userSetPWD2[vC] ) {
- Lmin=2*_userSetPW[vC];
+ Lmin=2*_userSetPW[vC];
}
if ( dauId[0]==_userSetPWD2[vC] && dauId[1]==_userSetPWD1[vC] ) {
- Lmin=2*_userSetPW[vC];
+ Lmin=2*_userSetPW[vC];
}
}
-
+
// allow for special cases.
if (Lmin<-1 ) {
-
+
//There are some things I don't know how to deal with
if ( t3>4) return EvtAbsLineShape::getRandMass(parId,nDaug,dauId,othDaugId,maxMass,dauMasses);
if ( t1>4) return EvtAbsLineShape::getRandMass(parId,nDaug,dauId,othDaugId,maxMass,dauMasses);
if ( t2>4) return EvtAbsLineShape::getRandMass(parId,nDaug,dauId,othDaugId,maxMass,dauMasses);
-
+
//figure the min and max allowwed "spins" for the daughters state
Lmin=std::max(t3-t2-t1,std::max(t2-t3-t1,t1-t3-t2));
if (Lmin<0) Lmin=0;
assert(Lmin==0||Lmin==2||Lmin==4);
}
//double massD1=EvtPDL::getMeanMass(dauId[0]);
//double massD2=EvtPDL::getMeanMass(dauId[1]);
double massD1=dauMasses[0];
double massD2=dauMasses[1];
// I'm not sure how to define the vertex factor here - so retreat to nonRel code.
if ( (massD1+massD2)> _mass ) return EvtAbsLineShape::getRandMass(parId,nDaug,dauId,othDaugId,maxMass,dauMasses);
//parent vertex factor not yet implemented
double massOthD=-10.;
double massParent=-10.;
int birthl=-10;
if ( othDaugId) {
EvtSpinType::spintype spinOth=EvtPDL::getSpinType(*othDaugId);
EvtSpinType::spintype spinPar=EvtPDL::getSpinType(*parId);
-
+
int tt1=EvtSpinType::getSpin2(spinOth);
int tt2=EvtSpinType::getSpin2(spinPar);
int tt3=EvtSpinType::getSpin2(_spin);
-
-
+
+
//figure the min and max allowwed "spins" for the daughters state
if ( (tt1<=4) && ( tt2<=4) ) {
birthl=std::max(tt3-tt2-tt1,std::max(tt2-tt3-tt1,tt1-tt3-tt2));
if (birthl<0) birthl=0;
-
+
massOthD=EvtPDL::getMeanMass(*othDaugId);
massParent=EvtPDL::getMeanMass(*parId);
-
+
}
// allow user to override
for (size_t vC=0; vC<_userSetBirthPW.size(); vC++) {
if ( *othDaugId==_userSetBirthOthD[vC] && *parId==_userSetBirthPar[vC]){
birthl=2*_userSetBirthPW[vC];
- }
+ }
}
}
double massM=_massMax;
if ( (maxMass > -0.5) && (maxMass < massM) ) massM=maxMass;
//special case... if the parent mass is _fixed_ we can do a little better
//and only for a two body decay as that seems to be where we have problems
// Define relativistic propagator amplitude
EvtTwoBodyVertex vd(massD1,massD2,_mass,Lmin/2);
vd.set_f(_blattDecay);
EvtPropBreitWignerRel bw(_mass,_width);
EvtMassAmp amp(bw,vd);
if ( _includeDecayFact) {
amp.addDeathFact();
amp.addDeathFactFF();
}
if ( massParent>-1.) {
if ( _includeBirthFact ) {
EvtTwoBodyVertex vb(_mass,massOthD,massParent,birthl/2);
vb.set_f(_blattBirth);
amp.setBirthVtx(vb);
amp.addBirthFact();
amp.addBirthFactFF();
}
}
EvtAmpPdf<EvtPoint1D> pdf(amp);
// Estimate maximum and create predicate for accept reject
double tempMaxLoc=_mass;
if ( maxMass>-0.5 && maxMass<_mass) tempMaxLoc=maxMass;
double tempMax=_massMax;
if ( maxMass>-0.5 && maxMass<_massMax) tempMax=maxMass;
double tempMinMass=_massMin;
if ( massD1+massD2 > _massMin) tempMinMass=massD1+massD2;
//redo sanity check - is there a solution to our problem.
//if not return an error condition that is caught by the
//mass prob calculation above.
if ( tempMinMass > tempMax ) {
_errorCond=true;
return tempMinMass;
}
-
+
if ( tempMaxLoc < tempMinMass) tempMaxLoc=tempMinMass;
double safetyFactor=1.2;
EvtPdfMax<EvtPoint1D> max(safetyFactor*pdf.evaluate(EvtPoint1D(tempMinMass,tempMax,tempMaxLoc)));
EvtPdfPred<EvtPoint1D> pred(pdf);
pred.setMax(max);
EvtIntervalFlatPdf flat(tempMinMass,tempMax);
EvtPdfGen<EvtPoint1D> gen(flat);
EvtPredGen<EvtPdfGen<EvtPoint1D>,EvtPdfPred<EvtPoint1D> > predgen(gen,pred);
EvtPoint1D point = predgen();
return point.value();
}
diff --git a/src/EvtGenBase/EvtResonance.cpp b/src/EvtGenBase/EvtResonance.cpp
index 4acc736..c95c919 100644
--- a/src/EvtGenBase/EvtResonance.cpp
+++ b/src/EvtGenBase/EvtResonance.cpp
@@ -1,150 +1,147 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtResonance.cc
//
-// Description: resonance-defining class
+// Description: resonance-defining class
//
// Modification history:
//
// NK September 4, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <math.h>
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtKine.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtResonance.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtConst.hh"
using std::endl;
-EvtResonance::~EvtResonance(){}
-
-
EvtResonance& EvtResonance::operator = ( const EvtResonance &n)
{
if ( &n == this ) return *this;
_p4_p = n._p4_p;
_p4_d1 = n._p4_d1;
_p4_d2 = n._p4_d2;
_ampl = n._ampl;
_theta = n._theta;
_gamma = n._gamma;
_spin = n._spin;
_bwm = n._bwm;
return *this;
}
-
+
EvtResonance::EvtResonance(const EvtVector4R& p4_p, const EvtVector4R& p4_d1,
- const EvtVector4R& p4_d2, double ampl,
- double theta, double gamma, double bwm, int spin):
- _p4_p(p4_p),_p4_d1(p4_d1), _p4_d2(p4_d2),_ampl(ampl), _theta(theta),
+ const EvtVector4R& p4_d2, double ampl,
+ double theta, double gamma, double bwm, int spin):
+ _p4_p(p4_p),_p4_d1(p4_d1), _p4_d2(p4_d2),_ampl(ampl), _theta(theta),
_gamma(gamma), _bwm(bwm), _spin(spin) {}
EvtComplex EvtResonance::resAmpl() {
-
+
double pi180inv = 1.0/EvtConst::radToDegrees;
EvtComplex ampl;
//EvtVector4R _p4_d3 = _p4_p-_p4_d1-_p4_d2;
//get cos of the angle between the daughters from their 4-momenta
//and the 4-momentum of the parent
//in general, EvtDecayAngle(parent, part1+part2, part1) gives the angle
//the missing particle (not listed in the arguments) makes
//with part2 in the rest frame of both
//listed particles (12)
-
- //angle 3 makes with 2 in rest frame of 12 (CS3)
+
+ //angle 3 makes with 2 in rest frame of 12 (CS3)
double cos_phi_0 = EvtDecayAngle(_p4_p, _p4_d1+_p4_d2, _p4_d1);
//angle 3 makes with 1 in 12 is, of course, -cos_phi_0
switch (_spin) {
- case 0 :
+ case 0 :
ampl=(_ampl*EvtComplex(cos(_theta*pi180inv),sin(_theta*pi180inv))*
sqrt(_gamma/EvtConst::twoPi)*
- (1.0/((_p4_d1+_p4_d2).mass()-_bwm-EvtComplex(0.0,0.5*_gamma))));
+ (1.0/((_p4_d1+_p4_d2).mass()-_bwm-EvtComplex(0.0,0.5*_gamma))));
break;
- case 1 :
+ case 1 :
ampl=(_ampl*EvtComplex(cos(_theta*pi180inv),sin(_theta*pi180inv))*
sqrt(_gamma/EvtConst::twoPi)*
(cos_phi_0/((_p4_d1+_p4_d2).mass()-_bwm-EvtComplex(0.0,0.5*_gamma))));
break;
- case 2:
+ case 2:
ampl=(_ampl*EvtComplex(cos(_theta*pi180inv),sin(_theta*pi180inv))*
sqrt(_gamma/EvtConst::twoPi)*
((1.5*cos_phi_0*cos_phi_0-0.5)/((_p4_d1+_p4_d2).mass()-_bwm-EvtComplex(0.0, 0.5*_gamma))));
break;
-
- case 3:
+
+ case 3:
ampl=(_ampl*EvtComplex(cos(_theta*pi180inv),sin(_theta*pi180inv))*
sqrt(_gamma/EvtConst::twoPi)*
((2.5*cos_phi_0*cos_phi_0*cos_phi_0-1.5*cos_phi_0)/((_p4_d1+_p4_d2).mass()-_bwm-EvtComplex(0.0, 0.5*_gamma))));
break;
default:
EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "EvtGen: wrong spin in EvtResonance" << endl;
ampl = EvtComplex(0.0);
- break;
+ break;
}
return ampl;
}
EvtComplex EvtResonance::relBrWig(int i) {
-
+
//this function returns relativistic Breit-Wigner amplitude
//for a given resonance (for P-wave decays of scalars only at the moment!)
EvtComplex BW;
EvtVector4R _p4_d3 = _p4_p-_p4_d1-_p4_d2;
EvtVector4R _p4_12 = _p4_d1 + _p4_d2;
double msq13 = (_p4_d1 + _p4_d3).mass2();
double msq23 = (_p4_d2 + _p4_d3).mass2();
double msqParent = _p4_p.mass2();
double msq1 = _p4_d1.mass2();
double msq2 = _p4_d2.mass2();
- double msq3 = _p4_d3.mass2();
+ double msq3 = _p4_d3.mass2();
double M;
double p2 = sqrt((_p4_12.mass2() - (_p4_d1.mass() + _p4_d2.mass())*(_p4_d1.mass() + _p4_d2.mass()))*(_p4_12.mass2() - (_p4_d1.mass() - _p4_d2.mass())*(_p4_d1.mass() - _p4_d2.mass())))/(2.0*_p4_12.mass());
-
+
double p2R = sqrt((_bwm*_bwm - (_p4_d1.mass() + _p4_d2.mass())*(_p4_d1.mass() + _p4_d2.mass()))*(_bwm*_bwm - (_p4_d1.mass() - _p4_d2.mass())*(_p4_d1.mass() - _p4_d2.mass())))/(2.0*_bwm);
double gam, R;
if (i == 1) {
R = 2.0/(0.197);
}
else R = 5.0/(0.197);
-
+
gam = _gamma*(_bwm/_p4_12.mass())*(p2/p2R)*(p2/p2R)*(p2/p2R)*((1 + R*R*p2R*p2R)/(1 + R*R*p2*p2));
- M = (msq13 - msq23 - (msqParent - msq3)*(msq1 - msq2)/(_bwm*_bwm))*sqrt((1 + R*R*p2R*p2R)/(1 + R*R*p2*p2));
-
+ M = (msq13 - msq23 - (msqParent - msq3)*(msq1 - msq2)/(_bwm*_bwm))*sqrt((1 + R*R*p2R*p2R)/(1 + R*R*p2*p2));
+
BW = sqrt(_gamma)*M/((_bwm*_bwm - _p4_12.mass2()) - EvtComplex(0.0,1.0)*gam*_bwm);
-
+
return BW;
}
diff --git a/src/EvtGenBase/EvtScalarParticle.cpp b/src/EvtGenBase/EvtScalarParticle.cpp
index 2623f0a..f8562fe 100644
--- a/src/EvtGenBase/EvtScalarParticle.cpp
+++ b/src/EvtGenBase/EvtScalarParticle.cpp
@@ -1,76 +1,73 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtScalarParticle.cc
//
// Description: Class to describe scalar particles
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtVector4R.hh"
void EvtScalarParticle::init(EvtId part_n,double e,double px,double py,double pz){
_validP4=true;
setp(e,px,py,pz);
setpart_num(part_n);
setLifetime();
}
-EvtScalarParticle::~EvtScalarParticle() {}
-
-
void EvtScalarParticle::init(EvtId part_n,const EvtVector4R& p4){
_validP4=true;
setp(p4);
setpart_num(part_n);
setLifetime();
}
EvtSpinDensity EvtScalarParticle::rotateToHelicityBasis() const{
EvtSpinDensity R;
R.setDim(1);
-
+
R.set(0,0,1.0);
return R;
}
EvtSpinDensity EvtScalarParticle::rotateToHelicityBasis(double,
double,
double) const{
EvtSpinDensity R;
R.setDim(1);
-
+
R.set(0,0,1.0);
return R;
}
diff --git a/src/EvtGenBase/EvtSemiLeptonicBaryonAmp.cpp b/src/EvtGenBase/EvtSemiLeptonicBaryonAmp.cpp
index 4310176..34ec656 100644
--- a/src/EvtGenBase/EvtSemiLeptonicBaryonAmp.cpp
+++ b/src/EvtGenBase/EvtSemiLeptonicBaryonAmp.cpp
@@ -1,801 +1,797 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSemiLeptonicBaryonAmp.cc
//
// Description: Routine to implement semileptonic decays of Dirac baryons
//
// Modification history:
//
// R.J. Tesarek May 28, 2004 Module created
// Karen Gibson 1/20/2006 Module updated for 1/2+->1/2+,
// 1/2+->1/2-, 1/2+->3/2- Lambda decays
//
//--------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtDiracParticle.hh"
#include "EvtGenBase/EvtRaritaSchwinger.hh"
#include "EvtGenBase/EvtSemiLeptonicBaryonAmp.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
#include <stdlib.h>
using std::endl;
-EvtSemiLeptonicBaryonAmp::~EvtSemiLeptonicBaryonAmp(){
-}
-
-
void EvtSemiLeptonicBaryonAmp::CalcAmp( EvtParticle *parent,
EvtAmp& amp,
EvtSemiLeptonicFF *FormFactors ) {
static EvtId EM=EvtPDL::getId("e-");
static EvtId MUM=EvtPDL::getId("mu-");
static EvtId TAUM=EvtPDL::getId("tau-");
static EvtId EP=EvtPDL::getId("e+");
static EvtId MUP=EvtPDL::getId("mu+");
static EvtId TAUP=EvtPDL::getId("tau+");
-
+
//Add the lepton and neutrino 4 momenta to find q2
- EvtVector4R q = parent->getDaug(1)->getP4()
- + parent->getDaug(2)->getP4();
+ EvtVector4R q = parent->getDaug(1)->getP4()
+ + parent->getDaug(2)->getP4();
double q2 = (q.mass2());
double f1v,f1a,f2v,f2a;
double m_meson = parent->getDaug(0)->mass();
FormFactors->getbaryonff(parent->getId(),
parent->getDaug(0)->getId(),
q2,
m_meson,
- &f1v,
- &f1a,
- &f2v,
+ &f1v,
+ &f1a,
+ &f2v,
&f2a);
EvtVector4R p4b;
p4b.set(parent->mass(),0.0,0.0,0.0);
-
+
EvtVector4C temp_00_term1;
EvtVector4C temp_00_term2;
-
+
EvtVector4C temp_01_term1;
EvtVector4C temp_01_term2;
-
+
EvtVector4C temp_10_term1;
EvtVector4C temp_10_term2;
-
+
EvtVector4C temp_11_term1;
EvtVector4C temp_11_term2;
-
+
EvtDiracSpinor p0=parent->sp(0);
EvtDiracSpinor p1=parent->sp(1);
-
+
EvtDiracSpinor d0=parent->getDaug(0)->spParent(0);
EvtDiracSpinor d1=parent->getDaug(0)->spParent(1);
-
+
temp_00_term1.set(0,f1v*(d0*(EvtGammaMatrix::g0()*p0)));
temp_00_term2.set(0,f1a*(d0*((EvtGammaMatrix::g0()*EvtGammaMatrix::g5())*p0)));
temp_01_term1.set(0,f1v*(d0*(EvtGammaMatrix::g0()*p1)));
temp_01_term2.set(0,f1a*(d0*((EvtGammaMatrix::g0()*EvtGammaMatrix::g5())*p1)));
temp_10_term1.set(0,f1v*(d1*(EvtGammaMatrix::g0()*p0)));
temp_10_term2.set(0,f1a*(d1*((EvtGammaMatrix::g0()*EvtGammaMatrix::g5())*p0)));
temp_11_term1.set(0,f1v*(d1*(EvtGammaMatrix::g0()*p1)));
temp_11_term2.set(0,f1a*(d1*((EvtGammaMatrix::g0()*EvtGammaMatrix::g5())*p1)));
-
+
temp_00_term1.set(1,f1v*(d0*(EvtGammaMatrix::g1()*p0)));
temp_00_term2.set(1,f1a*(d0*((EvtGammaMatrix::g1()*EvtGammaMatrix::g5())*p0)));
temp_01_term1.set(1,f1v*(d0*(EvtGammaMatrix::g1()*p1)));
temp_01_term2.set(1,f1a*(d0*((EvtGammaMatrix::g1()*EvtGammaMatrix::g5())*p1)));
temp_10_term1.set(1,f1v*(d1*(EvtGammaMatrix::g1()*p0)));
temp_10_term2.set(1,f1a*(d1*((EvtGammaMatrix::g1()*EvtGammaMatrix::g5())*p0)));
temp_11_term1.set(1,f1v*(d1*(EvtGammaMatrix::g1()*p1)));
temp_11_term2.set(1,f1a*(d1*((EvtGammaMatrix::g1()*EvtGammaMatrix::g5())*p1)));
-
+
temp_00_term1.set(2,f1v*(d0*(EvtGammaMatrix::g2()*p0)));
temp_00_term2.set(2,f1a*(d0*((EvtGammaMatrix::g2()*EvtGammaMatrix::g5())*p0)));
temp_01_term1.set(2,f1v*(d0*(EvtGammaMatrix::g2()*p1)));
temp_01_term2.set(2,f1a*(d0*((EvtGammaMatrix::g2()*EvtGammaMatrix::g5())*p1)));
temp_10_term1.set(2,f1v*(d1*(EvtGammaMatrix::g2()*p0)));
temp_10_term2.set(2,f1a*(d1*((EvtGammaMatrix::g2()*EvtGammaMatrix::g5())*p0)));
temp_11_term1.set(2,f1v*(d1*(EvtGammaMatrix::g2()*p1)));
temp_11_term2.set(2,f1a*(d1*((EvtGammaMatrix::g2()*EvtGammaMatrix::g5())*p1)));
-
+
temp_00_term1.set(3,f1v*(d0*(EvtGammaMatrix::g3()*p0)));
temp_00_term2.set(3,f1a*(d0*((EvtGammaMatrix::g3()*EvtGammaMatrix::g5())*p0)));
temp_01_term1.set(3,f1v*(d0*(EvtGammaMatrix::g3()*p1)));
temp_01_term2.set(3,f1a*(d0*((EvtGammaMatrix::g3()*EvtGammaMatrix::g5())*p1)));
temp_10_term1.set(3,f1v*(d1*(EvtGammaMatrix::g3()*p0)));
temp_10_term2.set(3,f1a*(d1*((EvtGammaMatrix::g3()*EvtGammaMatrix::g5())*p0)));
temp_11_term1.set(3,f1v*(d1*(EvtGammaMatrix::g3()*p1)));
temp_11_term2.set(3,f1a*(d1*((EvtGammaMatrix::g3()*EvtGammaMatrix::g5())*p1)));
-
+
EvtVector4C l1,l2;
EvtId l_num = parent->getDaug(1)->getId();
if (l_num==EM||l_num==MUM||l_num==TAUM){
l1=EvtLeptonVACurrent(parent->getDaug(1)->spParent(0),
parent->getDaug(2)->spParentNeutrino());
l2=EvtLeptonVACurrent(parent->getDaug(1)->spParent(1),
parent->getDaug(2)->spParentNeutrino());
}
else{
if (l_num==EP||l_num==MUP||l_num==TAUP){
l1=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(0));
l2=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(1));
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Wrong lepton number"<<endl;
}
}
amp.vertex(0,0,0,l1.cont(temp_00_term1+temp_00_term2));
amp.vertex(0,0,1,l2.cont(temp_00_term1+temp_00_term2));
amp.vertex(0,1,0,l1.cont(temp_01_term1+temp_01_term2));
amp.vertex(0,1,1,l2.cont(temp_01_term1+temp_01_term2));
amp.vertex(1,0,0,l1.cont(temp_10_term1+temp_10_term2));
amp.vertex(1,0,1,l2.cont(temp_10_term1+temp_10_term2));
amp.vertex(1,1,0,l1.cont(temp_11_term1+temp_11_term2));
amp.vertex(1,1,1,l2.cont(temp_11_term1+temp_11_term2));
return;
}
-double EvtSemiLeptonicBaryonAmp::CalcMaxProb( EvtId parent, EvtId baryon,
+double EvtSemiLeptonicBaryonAmp::CalcMaxProb( EvtId parent, EvtId baryon,
EvtId lepton, EvtId nudaug,
EvtSemiLeptonicFF *FormFactors,
- EvtComplex r00, EvtComplex r01,
+ EvtComplex r00, EvtComplex r01,
EvtComplex r10, EvtComplex r11) {
//This routine takes the arguements parent, baryon, and lepton
//number, and a form factor model, and returns a maximum
//probability for this semileptonic form factor model. A
//brute force method is used. The 2D cos theta lepton and
//q2 phase space is probed.
//Start by declaring a particle at rest.
- //It only makes sense to have a scalar parent. For now.
+ //It only makes sense to have a scalar parent. For now.
//This should be generalized later.
// EvtScalarParticle *scalar_part;
// scalar_part=new EvtScalarParticle;
EvtDiracParticle *dirac_part;
EvtParticle *root_part;
dirac_part=new EvtDiracParticle;
//cludge to avoid generating random numbers!
// scalar_part->noLifeTime();
dirac_part->noLifeTime();
EvtVector4R p_init;
-
+
p_init.set(EvtPDL::getMass(parent),0.0,0.0,0.0);
// scalar_part->init(parent,p_init);
// root_part=(EvtParticle *)scalar_part;
// root_part->set_type(EvtSpinType::SCALAR);
dirac_part->init(parent,p_init);
root_part=(EvtParticle *)dirac_part;
- root_part->setDiagonalSpinDensity();
+ root_part->setDiagonalSpinDensity();
EvtParticle *daughter, *lep, *trino;
-
+
EvtAmp amp;
EvtId listdaug[3];
listdaug[0] = baryon;
listdaug[1] = lepton;
listdaug[2] = nudaug;
amp.init(parent,3,listdaug);
root_part->makeDaughters(3,listdaug);
daughter=root_part->getDaug(0);
lep=root_part->getDaug(1);
trino=root_part->getDaug(2);
//cludge to avoid generating random numbers!
daughter->noLifeTime();
lep->noLifeTime();
trino->noLifeTime();
- //Initial particle is unpolarized, well it is a scalar so it is
+ //Initial particle is unpolarized, well it is a scalar so it is
//trivial
EvtSpinDensity rho;
rho.setDiag(root_part->getSpinStates());
-
+
double mass[3];
-
+
double m = root_part->mass();
-
+
EvtVector4R p4baryon, p4lepton, p4nu, p4w;
double q2max;
double q2, elepton, plepton;
int i,j;
double erho,prho,costl;
double maxfoundprob = 0.0;
double prob = -10.0;
int massiter;
for (massiter=0;massiter<3;massiter++){
mass[0] = EvtPDL::getMass(baryon);
mass[1] = EvtPDL::getMass(lepton);
mass[2] = EvtPDL::getMass(nudaug);
if ( massiter==1 ) {
mass[0] = EvtPDL::getMinMass(baryon);
}
if ( massiter==2 ) {
mass[0] = EvtPDL::getMaxMass(baryon);
}
q2max = (m-mass[0])*(m-mass[0]);
-
+
//loop over q2
for (i=0;i<25;i++) {
q2 = ((i+0.5)*q2max)/25.0;
-
+
erho = ( m*m + mass[0]*mass[0] - q2 )/(2.0*m);
-
+
prho = sqrt(erho*erho-mass[0]*mass[0]);
-
+
p4baryon.set(erho,0.0,0.0,-1.0*prho);
p4w.set(m-erho,0.0,0.0,prho);
-
+
//This is in the W rest frame
elepton = (q2+mass[1]*mass[1])/(2.0*sqrt(q2));
plepton = sqrt(elepton*elepton-mass[1]*mass[1]);
-
+
double probctl[3];
for (j=0;j<3;j++) {
-
+
costl = 0.99*(j - 1.0);
-
+
//These are in the W rest frame. Need to boost out into
//the B frame.
p4lepton.set(elepton,0.0,
plepton*sqrt(1.0-costl*costl),plepton*costl);
p4nu.set(plepton,0.0,
-1.0*plepton*sqrt(1.0-costl*costl),-1.0*plepton*costl);
EvtVector4R boost((m-erho),0.0,0.0,1.0*prho);
p4lepton=boostTo(p4lepton,boost);
p4nu=boostTo(p4nu,boost);
//Now initialize the daughters...
daughter->init(baryon,p4baryon);
lep->init(lepton,p4lepton);
trino->init(nudaug,p4nu);
CalcAmp(root_part,amp,FormFactors,r00,r01,r10,r11);
//Now find the probability at this q2 and cos theta lepton point
//and compare to maxfoundprob.
//Do a little magic to get the probability!!
prob = rho.normalizedProb(amp.getSpinDensity());
probctl[j]=prob;
}
//probclt contains prob at ctl=-1,0,1.
//prob=a+b*ctl+c*ctl^2
double a=probctl[1];
double b=0.5*(probctl[2]-probctl[0]);
double c=0.5*(probctl[2]+probctl[0])-probctl[1];
prob=probctl[0];
if (probctl[1]>prob) prob=probctl[1];
if (probctl[2]>prob) prob=probctl[2];
if (fabs(c)>1e-20){
double ctlx=-0.5*b/c;
if (fabs(ctlx)<1.0){
double probtmp=a+b*ctlx+c*ctlx*ctlx;
if (probtmp>prob) prob=probtmp;
- }
+ }
}
//EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "prob,probctl:"<<prob<<" "
// << probctl[0]<<" "
// << probctl[1]<<" "
// << probctl[2]<<std::endl;
if ( prob > maxfoundprob ) {
- maxfoundprob = prob;
+ maxfoundprob = prob;
}
}
if ( EvtPDL::getWidth(baryon) <= 0.0 ) {
//if the particle is narrow dont bother with changing the mass.
massiter = 4;
}
}
- root_part->deleteTree();
+ root_part->deleteTree();
maxfoundprob *=1.1;
return maxfoundprob;
-
+
}
void EvtSemiLeptonicBaryonAmp::CalcAmp(EvtParticle *parent,
EvtAmp& amp,
EvtSemiLeptonicFF *FormFactors,
- EvtComplex r00, EvtComplex r01,
+ EvtComplex r00, EvtComplex r01,
EvtComplex r10, EvtComplex r11) {
// Leptons
static EvtId EM=EvtPDL::getId("e-");
static EvtId MUM=EvtPDL::getId("mu-");
static EvtId TAUM=EvtPDL::getId("tau-");
// Anti-Leptons
static EvtId EP=EvtPDL::getId("e+");
static EvtId MUP=EvtPDL::getId("mu+");
static EvtId TAUP=EvtPDL::getId("tau+");
// Baryons
static EvtId LAMCP=EvtPDL::getId("Lambda_c+");
static EvtId LAMC1P=EvtPDL::getId("Lambda_c(2593)+");
static EvtId LAMC2P=EvtPDL::getId("Lambda_c(2625)+");
static EvtId LAMB=EvtPDL::getId("Lambda_b0");
// Anti-Baryons
static EvtId LAMCM=EvtPDL::getId("anti-Lambda_c-");
static EvtId LAMC1M=EvtPDL::getId("anti-Lambda_c(2593)-");
static EvtId LAMC2M=EvtPDL::getId("anti-Lambda_c(2625)-");
static EvtId LAMBB=EvtPDL::getId("anti-Lambda_b0");
// Set the spin density matrix of the parent baryon
EvtSpinDensity rho;
rho.setDim(2);
rho.set(0,0,r00);
rho.set(0,1,r01);
rho.set(1,0,r10);
rho.set(1,1,r11);
EvtVector4R vector4P = parent->getP4Lab();
double pmag = vector4P.d3mag();
double cosTheta = vector4P.get(3)/pmag;
-
+
double theta = acos(cosTheta);
double phi = atan2(vector4P.get(2), vector4P.get(1));
-
+
parent->setSpinDensityForwardHelicityBasis(rho,phi,theta, 0.0);
//parent->setSpinDensityForward(rho);
// Set the four momentum of the parent baryon in it's rest frame
EvtVector4R p4b;
p4b.set(parent->mass(), 0.0,0.0,0.0);
// Get the four momentum of the daughter baryon in the parent's rest frame
EvtVector4R p4daught = parent->getDaug(0)->getP4();
-
+
// Add the lepton and neutrino 4 momenta to find q (q^2)
- EvtVector4R q = parent->getDaug(1)->getP4()
+ EvtVector4R q = parent->getDaug(1)->getP4()
+ parent->getDaug(2)->getP4();
-
+
double q2 = q.mass2();
EvtId l_num = parent->getDaug(1)->getId();
EvtId bar_num = parent->getDaug(0)->getId();
EvtId par_num = parent->getId();
-
+
double baryonmass = parent->getDaug(0)->mass();
-
+
// Handle spin-1/2 daughter baryon Dirac spinor cases
if( EvtPDL::getSpinType(parent->getDaug(0)->getId())==EvtSpinType::DIRAC ) {
// Set the form factors
double f1,f2,f3,g1,g2,g3;
FormFactors->getdiracff( par_num,
bar_num,
q2,
baryonmass,
&f1, &f2, &f3,
&g1, &g2, &g3);
-
+
const double form_fact[6] = {f1, f2, f3, g1, g2, g3};
-
+
EvtVector4C b11, b12, b21, b22, l1, l2;
// Lepton Current
if(l_num==EM || l_num==MUM || l_num==TAUM){
l1=EvtLeptonVACurrent(parent->getDaug(1)->spParent(0),
parent->getDaug(2)->spParentNeutrino());
l2=EvtLeptonVACurrent(parent->getDaug(1)->spParent(1),
parent->getDaug(2)->spParentNeutrino());
-
+
} else if (l_num==EP || l_num==MUP || l_num==TAUP) {
l1=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(0));
l2=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(1));
-
+
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen")<< "Wrong lepton number \n";
::abort();
}
// Baryon current
// Flag for particle/anti-particle parent, daughter with same/opp. parity
// pflag = 0 => particle, same parity parent, daughter
// pflag = 1 => particle, opp. parity parent, daughter
// pflag = 2 => anti-particle, same parity parent, daughter
// pflag = 3 => anti-particle, opp. parity parent, daughter
int pflag = 0;
// Handle 1/2+ -> 1/2+ first
- if ( (par_num==LAMB && bar_num==LAMCP)
+ if ( (par_num==LAMB && bar_num==LAMCP)
|| (par_num==LAMBB && bar_num==LAMCM) ) {
// Set particle/anti-particle flag
if (bar_num==LAMCP)
pflag = 0;
else if (bar_num==LAMCM)
pflag = 2;
b11=EvtBaryonVACurrent(parent->getDaug(0)->spParent(0),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b21=EvtBaryonVACurrent(parent->getDaug(0)->spParent(0),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
b12=EvtBaryonVACurrent(parent->getDaug(0)->spParent(1),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b22=EvtBaryonVACurrent(parent->getDaug(0)->spParent(1),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
}
// Handle 1/2+ -> 1/2- second
- else if( (par_num==LAMB && bar_num==LAMC1P)
+ else if( (par_num==LAMB && bar_num==LAMC1P)
|| (par_num==LAMBB && bar_num==LAMC1M) ) {
-
+
// Set particle/anti-particle flag
if (bar_num==LAMC1P)
pflag = 1;
else if (bar_num==LAMC1M)
pflag = 3;
b11=EvtBaryonVACurrent((parent->getDaug(0)->spParent(0)),
(EvtGammaMatrix::g5()*parent->sp(0)),
p4b, p4daught, form_fact, pflag);
b21=EvtBaryonVACurrent((parent->getDaug(0)->spParent(0)),
(EvtGammaMatrix::g5()*parent->sp(1)),
p4b, p4daught, form_fact, pflag);
b12=EvtBaryonVACurrent((parent->getDaug(0)->spParent(1)),
(EvtGammaMatrix::g5()*parent->sp(0)),
p4b, p4daught, form_fact, pflag);
b22=EvtBaryonVACurrent((parent->getDaug(0)->spParent(1)),
(EvtGammaMatrix::g5()*parent->sp(1)),
p4b, p4daught, form_fact, pflag);
-
+
}
else {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Dirac semilep. baryon current "
- << "not implemented for this decay sequence."
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Dirac semilep. baryon current "
+ << "not implemented for this decay sequence."
<< std::endl;
::abort();
}
-
+
amp.vertex(0,0,0,l1*b11);
amp.vertex(0,0,1,l2*b11);
-
+
amp.vertex(1,0,0,l1*b21);
amp.vertex(1,0,1,l2*b21);
-
+
amp.vertex(0,1,0,l1*b12);
amp.vertex(0,1,1,l2*b12);
-
+
amp.vertex(1,1,0,l1*b22);
amp.vertex(1,1,1,l2*b22);
}
-
- // Need special handling for the spin-3/2 daughter baryon
+
+ // Need special handling for the spin-3/2 daughter baryon
// Rarita-Schwinger spinor cases
else if( EvtPDL::getSpinType(parent->getDaug(0)->getId())==EvtSpinType::RARITASCHWINGER ) {
-
+
// Set the form factors
double f1,f2,f3,f4,g1,g2,g3,g4;
FormFactors->getraritaff( par_num,
bar_num,
q2,
baryonmass,
&f1, &f2, &f3, &f4,
&g1, &g2, &g3, &g4);
-
+
const double form_fact[8] = {f1, f2, f3, f4, g1, g2, g3, g4};
-
+
EvtId l_num = parent->getDaug(1)->getId();
-
+
EvtVector4C b11, b12, b21, b22, b13, b23, b14, b24, l1, l2;
// Lepton Current
if (l_num==EM || l_num==MUM || l_num==TAUM) {
// Lepton Current
l1=EvtLeptonVACurrent(parent->getDaug(1)->spParent(0),
parent->getDaug(2)->spParentNeutrino());
l2=EvtLeptonVACurrent(parent->getDaug(1)->spParent(1),
parent->getDaug(2)->spParentNeutrino());
}
else if (l_num==EP || l_num==MUP || l_num==TAUP) {
l1=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(0));
l2=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(1));
-
+
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen")<< "Wrong lepton number \n";
}
-
+
// Baryon Current
// Declare particle, anti-particle flag, same/opp. parity
// pflag = 0 => particle
// pflag = 1 => anti-particle
int pflag = 0;
-
+
// Handle cases of 1/2+ -> 3/2-
if (par_num==LAMB && bar_num==LAMC2P) {
// Set flag for particle case
pflag = 0;
}
else if (par_num==LAMBB && bar_num==LAMC2M) {
// Set flag for anti-particle case
pflag = 1;
}
else {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Rarita-Schwinger semilep. baryon current "
- << "not implemented for this decay sequence."
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Rarita-Schwinger semilep. baryon current "
+ << "not implemented for this decay sequence."
<< std::endl;
::abort();
}
-
+
// Baryon current
b11=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(0),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b21=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(0),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
-
+
b12=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(1),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b22=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(1),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
-
+
b13=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(2),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b23=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(2),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
-
+
b14=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(3),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b24=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(3),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
-
+
amp.vertex(0,0,0,l1*b11);
amp.vertex(0,0,1,l2*b11);
-
+
amp.vertex(1,0,0,l1*b21);
amp.vertex(1,0,1,l2*b21);
-
+
amp.vertex(0,1,0,l1*b12);
amp.vertex(0,1,1,l2*b12);
-
+
amp.vertex(1,1,0,l1*b22);
amp.vertex(1,1,1,l2*b22);
-
+
amp.vertex(0,2,0,l1*b13);
amp.vertex(0,2,1,l2*b13);
-
+
amp.vertex(1,2,0,l1*b23);
amp.vertex(1,2,1,l2*b23);
amp.vertex(0,3,0,l1*b14);
amp.vertex(0,3,1,l2*b14);
-
+
amp.vertex(1,3,0,l1*b24);
amp.vertex(1,3,1,l2*b24);
}
}
-
+
EvtVector4C EvtSemiLeptonicBaryonAmp::EvtBaryonVACurrent( const EvtDiracSpinor& Bf,
- const EvtDiracSpinor& Bi,
- EvtVector4R parent,
- EvtVector4R daught,
+ const EvtDiracSpinor& Bi,
+ EvtVector4R parent,
+ EvtVector4R daught,
const double *ff,
int pflag) {
- // flag == 0 => particle, same parity
- // flag == 1 => particle, opposite parity
- // flag == 2 => anti-particle, same parity
- // flag == 3 => anti-particle, opposite parity
+ // flag == 0 => particle, same parity
+ // flag == 1 => particle, opposite parity
+ // flag == 2 => anti-particle, same parity
+ // flag == 3 => anti-particle, opposite parity
// particle
EvtComplex cv = EvtComplex(1.0, 0.);
EvtComplex ca = EvtComplex(1.0, 0.);
EvtComplex cg0 = EvtComplex(1.0, 0.);
EvtComplex cg5 = EvtComplex(1.0, 0.);
// antiparticle- same parity parent & daughter
if( pflag == 2 ) {
cv = EvtComplex(-1.0, 0.);
ca = EvtComplex(1.0, 0.);
cg0 = EvtComplex(1.0, 0.0);
cg5 = EvtComplex(0.0, -1.0);
}
// antiparticle- opposite parity parent & daughter
else if( pflag == 3) {
cv = EvtComplex(1.0, 0.);
ca = EvtComplex(-1.0, 0.);
cg0 = EvtComplex(0.0, -1.0);
cg5 = EvtComplex(1.0, 0.0);
}
EvtVector4C t[6];
// Term 1 = \bar{u}(p',s')*(F_1(q^2)*\gamma_{mu})*u(p,s)
t[0] = cv*EvtLeptonVCurrent( Bf, Bi);
// Term 2 = \bar{u}(p',s')*(F_2(q^2)*(p_{mu}/m_{\Lambda_Q}))*u(p,s)
t[1] = cg0*EvtLeptonSCurrent( Bf, Bi ) * (parent/parent.mass());
// Term 3 = \bar{u}(p',s')*(F_3(q^2)*(p'_{mu}/m_{\Lambda_q}))*u(p,s)
t[2] = cg0*EvtLeptonSCurrent( Bf, Bi ) * (daught/daught.mass());
// Term 4 = \bar{u}(p',s')*(G_1(q^2)*\gamma_{mu}*\gamma_5)*u(p,s)
t[3] = ca*EvtLeptonACurrent( Bf, Bi);
// Term 5 = \bar{u}(p',s')*(G_2(q^2)*(p_{mu}/m_{\Lambda_Q})*\gamma_5)*u(p,s)
t[4] = cg5*EvtLeptonPCurrent( Bf, Bi ) * (parent/parent.mass());
// Term 6 = \bar{u}(p',s')*(G_3(q^2)*(p'_{mu}/m_{\Lambda_q})*\gamma_5)*u(p,s)
t[5] = cg5*EvtLeptonPCurrent( Bf, Bi ) * (daught/daught.mass());
// Sum the individual terms
EvtVector4C current = (ff[0]*t[0] + ff[1]*t[1] + ff[2]*t[2]
- ff[3]*t[3] - ff[4]*t[4] - ff[5]*t[5]);
-
+
return current;
}
EvtVector4C EvtSemiLeptonicBaryonAmp::EvtBaryonVARaritaCurrent( const EvtRaritaSchwinger& Bf,
- const EvtDiracSpinor& Bi,
- EvtVector4R parent,
- EvtVector4R daught,
+ const EvtDiracSpinor& Bi,
+ EvtVector4R parent,
+ EvtVector4R daught,
const double *ff,
int pflag) {
// flag == 0 => particle
// flag == 1 => anti-particle
// particle
EvtComplex cv = EvtComplex(1.0, 0.);
EvtComplex ca = EvtComplex(1.0, 0.);
EvtComplex cg0 = EvtComplex(1.0, 0.);
EvtComplex cg5 = EvtComplex(1.0, 0.);
// antiparticle
if( pflag == 1 ) {
cv = EvtComplex(-1.0, 0.);
ca = EvtComplex(1.0, 0.);
-
+
cg0 = EvtComplex(1.0, 0.0);
cg5 = EvtComplex(0.0, -1.0);
}
EvtVector4C t[8];
EvtTensor4C id;
id.setdiag(1.0,1.0,1.0,1.0);
EvtDiracSpinor tmp;
for(int i=0;i<4;i++){
tmp.set_spinor(i,Bf.getVector(i)*parent);
}
EvtVector4C v1,v2;
for(int i=0;i<4;i++){
v1.set(i,EvtLeptonSCurrent(Bf.getSpinor(i),Bi));
v2.set(i,EvtLeptonPCurrent(Bf.getSpinor(i),Bi));
}
// Term 1 = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})*(F_1(q^2)*\gamma_{mu})*u(p,s)
t[0] = (cv/parent.mass()) * EvtLeptonVCurrent(tmp, Bi);
- // Term 2
+ // Term 2
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})*(F_2(q^2)*(p_{mu}/m_{\Lambda_Q}))*u(p,s)
t[1] = ((cg0/parent.mass()) * EvtLeptonSCurrent(tmp, Bi)) * (parent/parent.mass());
- // Term 3
+ // Term 3
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})*(F_3(q^2)*(p'_{mu}/m_{\Lambda_q}))*u(p,s)
t[2] = ((cg0/parent.mass()) * EvtLeptonSCurrent(tmp, Bi)) * (daught/daught.mass());
// Term 4 = \bar{u}^{\alpha}(p',s')*(F_4(q^2)*g_{\alpha,\mu})*u(p,s)
t[3] = cg0*(id.cont2(v1));
- // Term 5
+ // Term 5
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})*(G_1(q^2)*\gamma_{mu}*\gamma_5)*u(p,s)
t[4] = (ca/parent.mass()) * EvtLeptonACurrent(tmp, Bi);
- // Term 6
+ // Term 6
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})
// *(G_2(q^2)*(p_{mu}/m_{\Lambda_Q})*\gamma_5)*u(p,s)
t[5] = ((cg5/parent.mass()) * EvtLeptonPCurrent(tmp, Bi)) * (parent/parent.mass());
- // Term 7
+ // Term 7
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})
// *(G_3(q^2)*(p'_{mu}/m_{\Lambda_q})*\gamma_5)*u(p,s)
t[6] = ((cg5/parent.mass()) * EvtLeptonPCurrent(tmp, Bi)) * (daught/daught.mass());
// Term 8 = \bar{u}^{\alpha}(p',s')*(G_4(q^2)*g_{\alpha,\mu}*\gamma_5))*u(p,s)
t[7] = cg5*(id.cont2(v2));
// Sum the individual terms
EvtVector4C current = (ff[0]*t[0] + ff[1]*t[1] + ff[2]*t[2] + ff[3]*t[3]
- ff[4]*t[4] - ff[5]*t[5] - ff[6]*t[6] - ff[7]*t[7]);
-
+
return current;
}
diff --git a/src/EvtGenBase/EvtStringParticle.cpp b/src/EvtGenBase/EvtStringParticle.cpp
index 78bf506..71c7940 100644
--- a/src/EvtGenBase/EvtStringParticle.cpp
+++ b/src/EvtGenBase/EvtStringParticle.cpp
@@ -1,124 +1,91 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtStringParticle.cc
//
// Description: Class to describe the partons that are produced in JetSet.
//
// Modification history:
//
// RYD Febuary 27,1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include "EvtGenBase/EvtStringParticle.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtReport.hh"
-
-EvtStringParticle::~EvtStringParticle(){
-
- if (_npartons!=0){
-
- delete [] _p4partons;
- delete [] _idpartons;
-
- }
-
-}
-
-
-EvtStringParticle::EvtStringParticle(){
-
- _p4partons=0;
- _idpartons=0;
- _npartons=0;
-
- return;
-
-}
-
void EvtStringParticle::init(EvtId id, const EvtVector4R& p4){
_validP4=true;
setp(p4);
setpart_num(id);
}
-
void EvtStringParticle::initPartons(int npartons,
EvtVector4R* p4partons,EvtId* idpartons){
- _p4partons = new EvtVector4R[npartons];
- _idpartons = new EvtId[npartons];
-
- int i;
-
- _npartons=npartons;
-
- for(i=0;i<npartons;i++){
-
+ _p4partons.resize(npartons);
+ _idpartons.resize(npartons);
+ for(int i=0;i<npartons;i++){
_p4partons[i]=p4partons[i];
_idpartons[i]=idpartons[i];
-
}
}
int EvtStringParticle::getNPartons(){
- return _npartons;
+ return _p4partons.size();
}
EvtId EvtStringParticle::getIdParton(int i){
return _idpartons[i];
}
EvtVector4R EvtStringParticle::getP4Parton(int i){
return _p4partons[i];
}
-
+
EvtSpinDensity EvtStringParticle::rotateToHelicityBasis() const{
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "rotateToHelicityBasis not implemented for strin particle.";
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "rotateToHelicityBasis not implemented for strin particle.";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
::abort();
EvtSpinDensity rho;
return rho;
}
EvtSpinDensity EvtStringParticle::rotateToHelicityBasis(double,
double,
double) const{
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "rotateToHelicityBasis(alpha,beta,gamma) not implemented for string particle.";
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "rotateToHelicityBasis(alpha,beta,gamma) not implemented for string particle.";
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution.";
::abort();
EvtSpinDensity rho;
return rho;
}
-
-
diff --git a/src/EvtGenBase/EvtSymTable.cpp b/src/EvtGenBase/EvtSymTable.cpp
index d648dd4..9485c7d 100644
--- a/src/EvtGenBase/EvtSymTable.cpp
+++ b/src/EvtGenBase/EvtSymTable.cpp
@@ -1,64 +1,62 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSymTable.cc
//
// Description: Class to hold the symbols that are defined
// in the DECAY files.
// Modification history:
//
// RYD May 8, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctype.h>
#include "EvtGenBase/EvtSymTable.hh"
#include "EvtGenBase/EvtReport.hh"
#include <string>
using std::endl;
using std::fstream;
std::map<std::string,std::string> EvtSymTable::_symMap;
-EvtSymTable::~EvtSymTable(){}
-
EvtSymTable::EvtSymTable() {
}
void EvtSymTable::define(const std::string& symname,std::string d) {
if ( _symMap.find(symname)!=_symMap.end() ) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "Symbol:"<<symname.c_str()<<
" redefined, old value:"<<_symMap[symname].c_str()<<" new value:"<<d.c_str()<<endl;
_symMap[symname]=d;
return;
}
_symMap[symname]=d;
return;
}
std::string EvtSymTable::get(const std::string& symname,int& ierr) {
ierr=0;
if ( _symMap.find(symname)!=_symMap.end() ) return _symMap[symname];
// If no matching symbol found just return the string
return symname;
}
diff --git a/src/EvtGenBase/EvtTensor3C.cpp b/src/EvtGenBase/EvtTensor3C.cpp
index 1bdb7d5..23a0545 100644
--- a/src/EvtGenBase/EvtTensor3C.cpp
+++ b/src/EvtGenBase/EvtTensor3C.cpp
@@ -1,405 +1,402 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTensor3C.cc
//
// Description: Implementation of 3 tensors.
//
// Modification history:
//
// RYD September 14, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector3C.hh"
#include "EvtGenBase/EvtTensor3C.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
using std::ostream;
-EvtTensor3C::~EvtTensor3C(){}
-
-
EvtTensor3C::EvtTensor3C( const EvtTensor3C& t1 ) {
int i,j;
-
+
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
t[i][j] = t1.t[i][j];
}
}
}
EvtTensor3C::EvtTensor3C(double d11, double d22, double d33) {
int i,j;
-
+
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
t[i][j] = 0.0;
}
}
t[0][0]=d11;
t[1][1]=d22;
t[2][2]=d33;
}
EvtTensor3C& EvtTensor3C::operator=(const EvtTensor3C& t1) {
int i,j;
-
+
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
t[i][j] = t1.t[i][j];
}
}
return *this;
}
EvtTensor3C EvtTensor3C::conj() const {
EvtTensor3C temp;
-
+
int i,j;
-
+
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
temp.set(j,i,::conj(t[i][j]));
}
}
return temp;
}
void EvtTensor3C::zero(){
int i,j;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
t[i][j]=EvtComplex(0.0,0.0);
}
}
}
EvtTensor3C::EvtTensor3C(){
-
+
int i,j;
-
+
for(i=0;i<3;i++){
for(j=0;j<3;j++){
t[i][j]=EvtComplex(0.0,0.0);
}
}
}
EvtTensor3C EvtTensor3C::operator+=(const EvtTensor3C& t2) {
-
+
int i,j;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
t[i][j]+=t2.t[i][j];
}
}
return *this;
}
EvtTensor3C EvtTensor3C::operator-=(const EvtTensor3C& t2) {
-
+
int i,j;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
t[i][j]-=t2.t[i][j];
}
}
return *this;
}
EvtTensor3C EvtTensor3C::operator*=(const EvtComplex& c) {
int i,j;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
t[i][j]*=c;
}
}
return *this;
}
EvtTensor3C EvtTensor3C::operator*=(const double c){
int i,j;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
t[i][j]*=EvtComplex(c);
}
}
return *this;
}
-EvtTensor3C EvtGenFunctions::directProd(const EvtVector3C& c1,const EvtVector3C& c2){
+EvtTensor3C EvtGenFunctions::directProd(const EvtVector3C& c1,const EvtVector3C& c2){
EvtTensor3C temp;
int i,j;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
temp.set(i,j,c1.get(i)*c2.get(j));
}
}
return temp;
}
-EvtTensor3C EvtGenFunctions::directProd(const EvtVector3C& c1,const EvtVector3R& c2){
+EvtTensor3C EvtGenFunctions::directProd(const EvtVector3C& c1,const EvtVector3R& c2){
EvtTensor3C temp;
int i,j;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
temp.set(i,j,c1.get(i)*c2.get(j));
}
}
return temp;
}
-EvtTensor3C EvtGenFunctions::directProd(const EvtVector3R& c1,const EvtVector3R& c2){
+EvtTensor3C EvtGenFunctions::directProd(const EvtVector3R& c1,const EvtVector3R& c2){
EvtTensor3C temp;
int i,j;
-
+
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
temp.t[i][j]=EvtComplex(c1.get(i)*c2.get(j),0.0);
}
}
return temp;
}
-EvtTensor3C conj(const EvtTensor3C& t2) {
+EvtTensor3C conj(const EvtTensor3C& t2) {
EvtTensor3C temp;
-
+
int i,j;
- for(i=0;i<3;i++){
- for(j=0;j<3;j++){
+ for(i=0;i<3;i++){
+ for(j=0;j<3;j++){
temp.set(i,j,::conj((t2.get(i,j))));
}
}
-
+
return temp;
}
-EvtTensor3C cont22(const EvtTensor3C& t1,const EvtTensor3C& t2){
+EvtTensor3C cont22(const EvtTensor3C& t1,const EvtTensor3C& t2){
EvtTensor3C temp;
int i,j;
EvtComplex c;
-
- for(i=0;i<3;i++){
- for(j=0;j<3;j++){
+
+ for(i=0;i<3;i++){
+ for(j=0;j<3;j++){
c=t1.get(i,0)*t2.get(j,0)+t1.get(i,1)*t2.get(j,1)
+t1.get(i,2)*t2.get(j,2);
temp.set(i,j,c);
}
}
-
+
return temp;
}
-EvtTensor3C cont11(const EvtTensor3C& t1,const EvtTensor3C& t2){
+EvtTensor3C cont11(const EvtTensor3C& t1,const EvtTensor3C& t2){
EvtTensor3C temp;
-
+
int i,j;
EvtComplex c;
-
- for(i=0;i<3;i++){
- for(j=0;j<3;j++){
+
+ for(i=0;i<3;i++){
+ for(j=0;j<3;j++){
c=t1.get(0,i)*t2.get(0,j)+t1.get(1,i)*t2.get(1,j)
+t1.get(2,i)*t2.get(2,j);
temp.set(i,j,c);
}
}
-
+
return temp;
}
EvtVector3C EvtTensor3C::cont1(const EvtVector3C& v) const {
EvtVector3C temp;
-
+
int i;
-
+
for(i=0;i<3;i++){
temp.set(i,t[0][i]*v.get(0)+t[1][i]*v.get(1)
+t[2][i]*v.get(2));
}
-
+
return temp;
-}
+}
EvtVector3C EvtTensor3C::cont2(const EvtVector3C& v) const {
EvtVector3C temp;
int i;
-
+
for(i=0;i<3;i++){
temp.set(i,t[i][0]*v.get(0)+t[i][1]*v.get(1)
+t[i][2]*v.get(2));
}
-
+
return temp;
-}
+}
EvtVector3C EvtTensor3C::cont1(const EvtVector3R& v) const {
EvtVector3C temp;
-
+
int i;
-
+
for(i=0;i<3;i++){
temp.set(i,t[0][i]*v.get(0)+t[1][i]*v.get(1)
+t[2][i]*v.get(2));
}
return temp;
-}
+}
EvtVector3C EvtTensor3C::cont2(const EvtVector3R& v) const {
EvtVector3C temp;
-
+
int i;
-
+
for(i=0;i<3;i++){
temp.set(i,t[i][0]*v.get(0)+t[i][1]*v.get(1)
+t[i][2]*v.get(2));
}
-
+
return temp;
-}
+}
EvtTensor3C EvtGenFunctions::eps(const EvtVector3R& v){
EvtTensor3C temp;
temp.t[0][0]=0.0;
temp.t[1][1]=0.0;
temp.t[2][2]=0.0;
temp.t[0][1]=v.get(2);
temp.t[0][2]=-v.get(1);
temp.t[1][0]=-v.get(2);
temp.t[1][2]=v.get(0);
temp.t[2][0]=v.get(1);
temp.t[2][1]=-v.get(0);
return temp;
}
const EvtTensor3C& EvtTensor3C::id(){
static EvtTensor3C identity(1.0,1.0,1.0);
return identity;
}
ostream& operator<<(ostream& s,const EvtTensor3C& v){
s<<endl<<"("<<v.t[0][0]<<","<<v.t[0][1]<<","<<v.t[0][2]<<")";
s<<endl<<"("<<v.t[1][0]<<","<<v.t[1][1]<<","<<v.t[1][2]<<")";
s<<endl<<"("<<v.t[2][0]<<","<<v.t[2][1]<<","<<v.t[2][2]<<")"<<endl;
-
+
return s;
}
EvtTensor3C EvtGenFunctions::rotateEuler(const EvtTensor3C& v,
double alpha,double beta,double gamma){
EvtTensor3C tmp(v);
tmp.applyRotateEuler(alpha,beta,gamma);
return tmp;
}
void EvtTensor3C::applyRotateEuler(double phi,double theta,double ksi){
EvtComplex temp[3][3];
double sp,st,sk,cp,ct,ck;
double r[3][3];
int i,j,k;
sp=sin(phi);
st=sin(theta);
sk=sin(ksi);
cp=cos(phi);
ct=cos(theta);
ck=cos(ksi);
r[0][0]=ck*ct*cp-sk*sp;
r[0][1]=ck*ct*sp+sk*cp;
r[0][2]=-ck*st;
r[1][0]=-sk*ct*cp-ck*sp;
r[1][1]=-sk*ct*sp+ck*cp;
r[1][2]=sk*st;
r[2][0]=st*cp;
r[2][1]=st*sp;
r[2][2]=ct;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
temp[i][j]=0.0;
for(k=0;k<3;k++){
temp[i][j]+=r[i][k]*t[k][j];
}
}
}
for(i=0;i<3;i++){
for(j=0;j<3;j++){
t[i][j]=0.0;
for(k=0;k<3;k++){
t[i][j]+=r[i][k]*temp[j][k];
}
}
}
}
diff --git a/src/EvtGenBase/EvtTensor4C.cpp b/src/EvtGenBase/EvtTensor4C.cpp
index ead8433..09f2882 100644
--- a/src/EvtGenBase/EvtTensor4C.cpp
+++ b/src/EvtGenBase/EvtTensor4C.cpp
@@ -1,583 +1,581 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTensor4C.cc
//
// Description: Implementation of tensor particles.
//
// Modification history:
//
// DJL/RYD September 25,1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include <assert.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
using std::endl;
using std::ostream;
EvtTensor4C::EvtTensor4C( const EvtTensor4C& t1 ) {
int i,j;
-
+
for(i=0;i<4;i++) {
for(j=0;j<4;j++) {
t[i][j] = t1.t[i][j];
}
}
}
-EvtTensor4C::~EvtTensor4C() { }
-
const EvtTensor4C& EvtTensor4C::g(){
static EvtTensor4C g_metric(1.0,-1.0,-1.0,-1.0);
return g_metric;
}
EvtTensor4C& EvtTensor4C::operator=(const EvtTensor4C& t1) {
int i,j;
-
+
for(i=0;i<4;i++) {
for(j=0;j<4;j++) {
t[i][j] = t1.t[i][j];
}
}
return *this;
}
EvtTensor4C EvtTensor4C::conj() const {
EvtTensor4C temp;
-
+
int i,j;
-
+
for(i=0;i<4;i++) {
for(j=0;j<4;j++) {
temp.set(j,i,::conj(t[i][j]));
}
}
return temp;
}
EvtTensor4C rotateEuler(const EvtTensor4C& rs,
double alpha,double beta,double gamma){
EvtTensor4C tmp(rs);
tmp.applyRotateEuler(alpha,beta,gamma);
return tmp;
}
EvtTensor4C boostTo(const EvtTensor4C& rs,
const EvtVector4R p4){
EvtTensor4C tmp(rs);
tmp.applyBoostTo(p4);
return tmp;
}
EvtTensor4C boostTo(const EvtTensor4C& rs,
const EvtVector3R boost){
EvtTensor4C tmp(rs);
tmp.applyBoostTo(boost);
return tmp;
}
void EvtTensor4C::applyBoostTo(const EvtVector4R& p4){
double e=p4.get(0);
EvtVector3R boost(p4.get(1)/e,p4.get(2)/e,p4.get(3)/e);
applyBoostTo(boost);
return;
}
void EvtTensor4C::applyBoostTo(const EvtVector3R& boost){
double bx,by,bz,gamma,b2;
double lambda[4][4];
EvtComplex tt[4][4];
bx=boost.get(0);
by=boost.get(1);
bz=boost.get(2);
double bxx=bx*bx;
double byy=by*by;
double bzz=bz*bz;
b2=bxx+byy+bzz;
if (b2==0.0){
return;
}
assert(b2<1.0);
gamma=1.0/sqrt(1-b2);
int i,j,k;
-
-
+
+
if (b2==0.0){
return ;
}
-
+
lambda[0][0]=gamma;
lambda[0][1]=gamma*bx;
lambda[1][0]=gamma*bx;
lambda[0][2]=gamma*by;
lambda[2][0]=gamma*by;
lambda[0][3]=gamma*bz;
lambda[3][0]=gamma*bz;
lambda[1][1]=1.0+(gamma-1.0)*bx*bx/b2;
lambda[2][2]=1.0+(gamma-1.0)*by*by/b2;
lambda[3][3]=1.0+(gamma-1.0)*bz*bz/b2;
-
+
lambda[1][2]=(gamma-1.0)*bx*by/b2;
lambda[2][1]=(gamma-1.0)*bx*by/b2;
-
+
lambda[1][3]=(gamma-1.0)*bx*bz/b2;
lambda[3][1]=(gamma-1.0)*bx*bz/b2;
-
+
lambda[3][2]=(gamma-1.0)*bz*by/b2;
lambda[2][3]=(gamma-1.0)*bz*by/b2;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
tt[i][j] = EvtComplex(0.0);
for(k=0;k<4;k++){
- tt[i][j]=tt[i][j]+lambda[j][k]*t[i][k];
+ tt[i][j]=tt[i][j]+lambda[j][k]*t[i][k];
}
}
}
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
t[i][j] = EvtComplex(0.0);
for(k=0;k<4;k++){
- t[i][j]=t[i][j]+lambda[i][k]*tt[k][j];
+ t[i][j]=t[i][j]+lambda[i][k]*tt[k][j];
}
}
}
-
+
}
void EvtTensor4C::zero(){
int i,j;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
t[i][j]=EvtComplex(0.0,0.0);
}
}
}
ostream& operator<<(ostream& s,const EvtTensor4C& t){
int i,j;
s<< endl;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
s << t.t[i][j];
}
s << endl;
}
return s;
}
void EvtTensor4C::setdiag(double g00, double g11, double g22, double g33){
t[0][0]=EvtComplex(g00);
t[1][1]=EvtComplex(g11);
t[2][2]=EvtComplex(g22);
t[3][3]=EvtComplex(g33);
t[0][1] = EvtComplex(0.0);
t[0][2] = EvtComplex(0.0);
t[0][3] = EvtComplex(0.0);
t[1][0] = EvtComplex(0.0);
t[1][2] = EvtComplex(0.0);
t[1][3] = EvtComplex(0.0);
t[2][0] = EvtComplex(0.0);
t[2][1] = EvtComplex(0.0);
t[2][3] = EvtComplex(0.0);
t[3][0] = EvtComplex(0.0);
t[3][1] = EvtComplex(0.0);
t[3][2] = EvtComplex(0.0);
}
EvtTensor4C& EvtTensor4C::operator+=(const EvtTensor4C& t2){
-
+
int i,j;
-
+
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
t[i][j]+=t2.get(i,j);
}
}
return *this;
}
EvtTensor4C& EvtTensor4C::operator-=(const EvtTensor4C& t2){
int i,j;
-
+
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
t[i][j]-=t2.get(i,j);
}
}
return *this;
}
EvtTensor4C& EvtTensor4C::operator*=(const EvtComplex& c) {
int i,j;
-
+
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
t[i][j]*=c;
}
}
return *this;
}
EvtTensor4C operator*(const EvtTensor4C& t1,const EvtComplex& c){
return EvtTensor4C(t1)*=c;
}
EvtTensor4C operator*(const EvtComplex& c,const EvtTensor4C& t1){
return EvtTensor4C(t1)*=c;
}
EvtTensor4C& EvtTensor4C::operator*=(double d) {
int i,j;
-
+
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
t[i][j]*=EvtComplex(d,0.0);
}
}
return *this;
}
EvtTensor4C operator*(const EvtTensor4C& t1, double d){
return EvtTensor4C(t1)*=EvtComplex(d,0.0);
}
EvtTensor4C operator*(double d, const EvtTensor4C& t1){
return EvtTensor4C(t1)*=EvtComplex(d,0.0);
}
EvtComplex cont(const EvtTensor4C& t1,const EvtTensor4C& t2){
EvtComplex sum(0.0,0.0);
int i,j;
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
if ((i==0&&j!=0) || (j==0&&i!=0)) {
sum -= t1.t[i][j]*t2.t[i][j];
} else {
- sum += t1.t[i][j]*t2.t[i][j];
+ sum += t1.t[i][j]*t2.t[i][j];
}
}
}
return sum;
}
EvtTensor4C EvtGenFunctions::directProd(const EvtVector4C& c1,
- const EvtVector4C& c2){
+ const EvtVector4C& c2){
EvtTensor4C temp;
int i,j;
-
+
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
temp.set(i,j,c1.get(i)*c2.get(j));
}
}
return temp;
}
EvtTensor4C EvtGenFunctions::directProd(const EvtVector4C& c1,
- const EvtVector4R& c2){
+ const EvtVector4R& c2){
EvtTensor4C temp;
int i,j;
-
+
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
temp.set(i,j,c1.get(i)*c2.get(j));
}
}
return temp;
}
EvtTensor4C EvtGenFunctions::directProd(const EvtVector4R& c1,
- const EvtVector4R& c2){
+ const EvtVector4R& c2){
EvtTensor4C temp;
int i,j;
-
+
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
temp.t[i][j]=EvtComplex(c1.get(i)*c2.get(j),0.0);
}
}
return temp;
}
-EvtTensor4C& EvtTensor4C::addDirProd(const EvtVector4R& p1,const EvtVector4R& p2){
+EvtTensor4C& EvtTensor4C::addDirProd(const EvtVector4R& p1,const EvtVector4R& p2){
int i,j;
-
+
for (i=0;i<4;i++) {
for (j=0;j<4;j++) {
t[i][j]+=p1.get(i)*p2.get(j);
}
}
return *this;
}
-EvtTensor4C dual(const EvtTensor4C& t2){
-
+EvtTensor4C dual(const EvtTensor4C& t2){
+
EvtTensor4C temp;
-
+
temp.set(0,0,EvtComplex(0.0,0.0));
temp.set(1,1,EvtComplex(0.0,0.0));
temp.set(2,2,EvtComplex(0.0,0.0));
temp.set(3,3,EvtComplex(0.0,0.0));
-
+
temp.set(0,1,t2.get(3,2)-t2.get(2,3));
temp.set(0,2,-t2.get(3,1)+t2.get(1,3));
temp.set(0,3,t2.get(2,1)-t2.get(1,2));
-
+
temp.set(1,2,-t2.get(3,0)+t2.get(0,3));
temp.set(1,3,t2.get(2,0)-t2.get(0,2));
-
+
temp.set(2,3,-t2.get(1,0)+t2.get(0,1));
-
+
temp.set(1,0,-temp.get(0,1));
temp.set(2,0,-temp.get(0,2));
temp.set(3,0,-temp.get(0,3));
-
+
temp.set(2,1,-temp.get(1,2));
temp.set(3,1,-temp.get(1,3));
temp.set(3,2,-temp.get(2,3));
-
+
return temp;
-
+
}
-EvtTensor4C conj(const EvtTensor4C& t2) {
+EvtTensor4C conj(const EvtTensor4C& t2) {
EvtTensor4C temp;
-
+
int i,j;
- for(i=0;i<4;i++){
- for(j=0;j<4;j++){
+ for(i=0;i<4;i++){
+ for(j=0;j<4;j++){
temp.set(i,j,::conj((t2.get(i,j))));
}
}
-
+
return temp;
}
-EvtTensor4C cont22(const EvtTensor4C& t1,const EvtTensor4C& t2){
+EvtTensor4C cont22(const EvtTensor4C& t1,const EvtTensor4C& t2){
EvtTensor4C temp;
int i,j;
EvtComplex c;
-
- for(i=0;i<4;i++){
- for(j=0;j<4;j++){
+
+ for(i=0;i<4;i++){
+ for(j=0;j<4;j++){
c=t1.get(i,0)*t2.get(j,0)-t1.get(i,1)*t2.get(j,1)
-t1.get(i,2)*t2.get(j,2)-t1.get(i,3)*t2.get(j,3);
temp.set(i,j,c);
}
}
-
+
return temp;
}
-EvtTensor4C cont11(const EvtTensor4C& t1,const EvtTensor4C& t2){
+EvtTensor4C cont11(const EvtTensor4C& t1,const EvtTensor4C& t2){
EvtTensor4C temp;
-
+
int i,j;
EvtComplex c;
-
- for(i=0;i<4;i++){
- for(j=0;j<4;j++){
+
+ for(i=0;i<4;i++){
+ for(j=0;j<4;j++){
c=t1.get(0,i)*t2.get(0,j)-t1.get(1,i)*t2.get(1,j)
-t1.get(2,i)*t2.get(2,j)-t1.get(3,i)*t2.get(3,j);
temp.set(i,j,c);
}
}
-
+
return temp;
}
EvtVector4C EvtTensor4C::cont1(const EvtVector4C& v4) const {
EvtVector4C temp;
-
+
int i;
-
+
for(i=0;i<4;i++){
temp.set(i,t[0][i]*v4.get(0)-t[1][i]*v4.get(1)
-t[2][i]*v4.get(2)-t[3][i]*v4.get(3));
}
-
+
return temp;
-}
+}
EvtVector4C EvtTensor4C::cont2(const EvtVector4C& v4) const {
EvtVector4C temp;
int i;
-
+
for(i=0;i<4;i++){
temp.set(i,t[i][0]*v4.get(0)-t[i][1]*v4.get(1)
-t[i][2]*v4.get(2)-t[i][3]*v4.get(3));
}
-
+
return temp;
-}
+}
EvtVector4C EvtTensor4C::cont1(const EvtVector4R& v4) const {
EvtVector4C temp;
-
+
int i;
-
+
for(i=0;i<4;i++){
temp.set(i,t[0][i]*v4.get(0)-t[1][i]*v4.get(1)
-t[2][i]*v4.get(2)-t[3][i]*v4.get(3));
}
return temp;
-}
+}
EvtVector4C EvtTensor4C::cont2(const EvtVector4R& v4) const {
EvtVector4C temp;
-
+
int i;
-
+
for(i=0;i<4;i++){
temp.set(i,t[i][0]*v4.get(0)-t[i][1]*v4.get(1)
-t[i][2]*v4.get(2)-t[i][3]*v4.get(3));
}
-
+
return temp;
-}
+}
void EvtTensor4C::applyRotateEuler(double phi,double theta,double ksi){
EvtComplex tt[4][4];
double sp,st,sk,cp,ct,ck;
double lambda[4][4];
sp=sin(phi);
st=sin(theta);
sk=sin(ksi);
cp=cos(phi);
ct=cos(theta);
ck=cos(ksi);
lambda[0][0]=1.0;
lambda[0][1]=0.0;
lambda[1][0]=0.0;
lambda[0][2]=0.0;
lambda[2][0]=0.0;
lambda[0][3]=0.0;
lambda[3][0]=0.0;
lambda[1][1]= ck*ct*cp-sk*sp;
lambda[1][2]=-sk*ct*cp-ck*sp;
lambda[1][3]=st*cp;
lambda[2][1]= ck*ct*sp+sk*cp;
lambda[2][2]=-sk*ct*sp+ck*cp;
lambda[2][3]=st*sp;
lambda[3][1]=-ck*st;
lambda[3][2]=sk*st;
lambda[3][3]=ct;
-
+
int i,j,k;
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
tt[i][j] = EvtComplex(0.0);
for(k=0;k<4;k++){
- tt[i][j]+=lambda[j][k]*t[i][k];
+ tt[i][j]+=lambda[j][k]*t[i][k];
}
}
}
-
+
for(i=0;i<4;i++){
for(j=0;j<4;j++){
t[i][j] = EvtComplex(0.0);
for(k=0;k<4;k++){
- t[i][j]+=lambda[i][k]*tt[k][j];
+ t[i][j]+=lambda[i][k]*tt[k][j];
}
}
}
-
+
}
diff --git a/src/EvtGenBase/EvtTensorParticle.cpp b/src/EvtGenBase/EvtTensorParticle.cpp
index 0883072..7378d08 100644
--- a/src/EvtGenBase/EvtTensorParticle.cpp
+++ b/src/EvtGenBase/EvtTensorParticle.cpp
@@ -1,194 +1,185 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTensorParticle.cc
//
// Description: Class to describe spin 2 particles.
//
// Modification history:
//
// DJL/RYD September 25,1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensorParticle.hh"
#include "EvtGenBase/EvtReport.hh"
-EvtTensorParticle::~EvtTensorParticle(){}
-
void EvtTensorParticle::init(EvtId part_n,const EvtVector4R& p4){
-
+
init(part_n,p4.get(0),p4.get(1)
,p4.get(2),p4.get(3));
setLifetime();
-
+
}
void EvtTensorParticle::init(EvtId part_n,double e,double px,double py,double pz){
_validP4=true;
setp(e,px,py,pz);
setpart_num(part_n);
-
+
eps[0].setdiag(0.0,-1.0/sqrt(6.0),-1.0/sqrt(6.0),
2.0/sqrt(6.0));
eps[1].setdiag(0.0,1.0/sqrt(2.0),-1.0/sqrt(2.0),0.0);
eps[2].setdiag(0.0,0.0,0.0,0.0);
eps[3].setdiag(0.0,0.0,0.0,0.0);
eps[4].setdiag(0.0,0.0,0.0,0.0);
eps[2].set(1,2,EvtComplex(1.0/sqrt(2.0),0.0));
eps[2].set(2,1,EvtComplex(1.0/sqrt(2.0),0.0));
eps[3].set(1,3,EvtComplex(1.0/sqrt(2.0),0.0));
eps[3].set(3,1,EvtComplex(1.0/sqrt(2.0),0.0));
eps[4].set(2,3,EvtComplex(1.0/sqrt(2.0),0.0));
eps[4].set(3,2,EvtComplex(1.0/sqrt(2.0),0.0));
setLifetime();
-
+
}
void EvtTensorParticle::init(EvtId part_n,const EvtVector4R& p4,
- const EvtTensor4C& epsin1,
+ const EvtTensor4C& epsin1,
const EvtTensor4C& epsin2,
- const EvtTensor4C& epsin3,
+ const EvtTensor4C& epsin3,
const EvtTensor4C& epsin4,
const EvtTensor4C& epsin5){
-
+
_validP4=true;
setp(p4);
setpart_num(part_n);
eps[0]=epsin1;
eps[1]=epsin2;
eps[2]=epsin3;
eps[3]=epsin4;
eps[4]=epsin5;
setLifetime();
-
+
}
EvtTensor4C EvtTensorParticle::epsTensorParent(int i) const {
EvtTensor4C temp=eps[i];
temp.applyBoostTo(this->getP4());
return temp;
-
+
} //epsParent
EvtTensor4C EvtTensorParticle::epsTensor(int i) const {
-
+
return eps[i];
} //eps
EvtSpinDensity EvtTensorParticle::rotateToHelicityBasis() const{
static EvtVector4C eplus(0.0,-1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
static EvtVector4C ezero(0.0,0.0,0.0,1.0);
static EvtVector4C eminus(0.0,1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
-
+
static EvtTensor4C dPpp(EvtGenFunctions::directProd(eplus,eplus));
static EvtTensor4C dPp0(EvtGenFunctions::directProd(eplus,ezero));
static EvtTensor4C dP0p(EvtGenFunctions::directProd(ezero,eplus));
static EvtTensor4C dPpm(EvtGenFunctions::directProd(eplus,eminus));
static EvtTensor4C dP00(EvtGenFunctions::directProd(ezero,ezero));
static EvtTensor4C dPmp(EvtGenFunctions::directProd(eminus,eplus));
static EvtTensor4C dPmm(EvtGenFunctions::directProd(eminus,eminus));
static EvtTensor4C dPm0(EvtGenFunctions::directProd(eminus,ezero));
static EvtTensor4C dP0m(EvtGenFunctions::directProd(ezero,eminus));
static EvtTensor4C es0(conj(dPpp));
static EvtTensor4C es1(conj((1/sqrt(2.0))*dPp0 +(1/sqrt(2.0))*dP0p));
static EvtTensor4C es2(conj((1/sqrt(6.0))*dPpm +(2/sqrt(6.0))*dP00 +(1/sqrt(6.0))*dPmp));
static EvtTensor4C es3(conj((1/sqrt(2.0))*dPm0 +(1/sqrt(2.0))*dP0m));
static EvtTensor4C es4(conj(dPmm));
EvtSpinDensity R;
R.setDim(5);
for (int j=0; j<5; j++) {
R.set(0,j,cont(es0,eps[j]));
R.set(1,j,cont(es1,eps[j]));
R.set(2,j,cont(es2,eps[j]));
R.set(3,j,cont(es3,eps[j]));
R.set(4,j,cont(es4,eps[j]));
}
return R;
}
EvtSpinDensity EvtTensorParticle::rotateToHelicityBasis(double alpha,
double beta,
double gamma) const{
EvtTensor4C es[5];
static EvtVector4C eplus(0.0,-1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
static EvtVector4C ezero(0.0,0.0,0.0,1.0);
static EvtVector4C eminus(0.0,1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
eplus.applyRotateEuler(alpha,beta,gamma);
ezero.applyRotateEuler(alpha,beta,gamma);
eminus.applyRotateEuler(alpha,beta,gamma);
- for (int i=0; i<5; i++) es[i].zero();
-
+ for (int i=0; i<5; i++) es[i].zero();
+
es[0]=EvtGenFunctions::directProd(eplus,eplus);
es[1] =(1/sqrt(2.0))*EvtGenFunctions::directProd(eplus,ezero)
+(1/sqrt(2.0))*EvtGenFunctions::directProd(ezero,eplus);
es[2] =(1/sqrt(6.0))*EvtGenFunctions::directProd(eplus,eminus)
+(2/sqrt(6.0))*EvtGenFunctions::directProd(ezero,ezero)
+(1/sqrt(6.0))*EvtGenFunctions::directProd(eminus,eplus);
es[3] =(1/sqrt(2.0))*EvtGenFunctions::directProd(eminus,ezero)
+(1/sqrt(2.0))*EvtGenFunctions::directProd(ezero,eminus);
es[4]=EvtGenFunctions::directProd(eminus,eminus);
- for (int i=0; i<5; i++) es[i]=conj(es[i]);
+ for (int i=0; i<5; i++) es[i]=conj(es[i]);
EvtSpinDensity R;
R.setDim(5);
for (int i=0; i<5; i++)
for (int j=0; j<5; j++)
R.set(i,j,cont(es[i],eps[j]));
return R;
}
-
-
-
-
-
-
-
diff --git a/src/EvtGenBase/EvtTwoBodyKine.cpp b/src/EvtGenBase/EvtTwoBodyKine.cpp
index 5be2837..b59644c 100644
--- a/src/EvtGenBase/EvtTwoBodyKine.cpp
+++ b/src/EvtGenBase/EvtTwoBodyKine.cpp
@@ -1,105 +1,98 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtTwoBodyKine.cpp,v 1.3 2009-03-16 15:37:54 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <iostream>
#include <assert.h>
#include <math.h>
#include "EvtGenBase/EvtTwoBodyKine.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
using std::ostream;
EvtTwoBodyKine::EvtTwoBodyKine()
: _mA(0.), _mB(0.), _mAB(0.)
{}
EvtTwoBodyKine::EvtTwoBodyKine(double mA, double mB, double mAB)
: _mA(mA), _mB(mB), _mAB(mAB)
{
if(mAB < mA + mB) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << mAB << " < " << mA << " + " << mB << endl;
assert(0);
}
}
-EvtTwoBodyKine::EvtTwoBodyKine(const EvtTwoBodyKine& other)
- : _mA(other._mA), _mB(other._mB), _mAB(other._mAB)
-{}
-
-EvtTwoBodyKine::~EvtTwoBodyKine()
-{}
-
double EvtTwoBodyKine::m(Index i) const
{
double ret = _mAB;
if(A == i) ret = _mA;
else
if(B == i) ret = _mB;
return ret;
}
double EvtTwoBodyKine::p(Index i) const
{
double p0 = 0.;
if(i == AB) {
double x = _mAB*_mAB - _mA*_mA - _mB*_mB;
double y = 2*_mA*_mB;
p0 = sqrt(x*x - y*y)/2./_mAB;
}
else
if(i == A) {
double x = _mA*_mA - _mAB*_mAB - _mB*_mB;
double y = 2*_mAB*_mB;
p0 = sqrt(x*x - y*y)/2./_mA;
}
else {
double x = _mB*_mB - _mAB*_mAB - _mA*_mA;
double y = 2*_mAB*_mA;
p0 = sqrt(x*x - y*y)/2./_mB;
}
return p0;
}
double EvtTwoBodyKine::e(Index i, Index j) const
{
double ret = m(i);
if(i != j) {
double pD = p(j);
ret = sqrt(ret*ret + pD*pD);
}
return ret;
}
void EvtTwoBodyKine::print(ostream& os) const
{
os << " mA = " << _mA << endl;
os << " mB = " << _mB << endl;
os << "mAB = " << _mAB << endl;
}
ostream& operator<<(ostream& os, const EvtTwoBodyKine& p)
{
p.print(os);
return os;
}
diff --git a/src/EvtGenBase/EvtTwoBodyVertex.cpp b/src/EvtGenBase/EvtTwoBodyVertex.cpp
index a2623f3..02fbbf5 100644
--- a/src/EvtGenBase/EvtTwoBodyVertex.cpp
+++ b/src/EvtGenBase/EvtTwoBodyVertex.cpp
@@ -1,103 +1,106 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtTwoBodyVertex.cpp,v 1.3 2009-03-16 15:38:39 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <iostream>
#include <math.h>
#include <assert.h>
#include "EvtGenBase/EvtMacros.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
using std::endl;
using std::ostream;
// Default ctor can sometimes be useful
EvtTwoBodyVertex::EvtTwoBodyVertex()
- : _LL(0), _p0(0), _f(0)
+ : _LL(0), _p0(0)
{}
EvtTwoBodyVertex::EvtTwoBodyVertex(double mA, double mB, double mAB, int L)
- : _kine(), _LL(L), _p0(0), _f(0)
+ : _kine(), _LL(L), _p0(0)
{
// Kinematics is initialized only if the decay is above threshold
if(mAB > mA + mB) {
_kine = EvtTwoBodyKine(mA,mB,mAB);
_p0 = _kine.p();
}
}
EvtTwoBodyVertex::EvtTwoBodyVertex(const EvtTwoBodyVertex& other)
- : _kine(other._kine), _LL(other._LL), _p0(other._p0),
- _f( (other._f) ? new EvtBlattWeisskopf(*other._f) : 0 )
+ : _kine(other._kine), _LL(other._LL), _p0(other._p0),
+ _f( (other._f) ? new EvtBlattWeisskopf(*other._f) : nullptr )
{}
-EvtTwoBodyVertex::~EvtTwoBodyVertex()
+EvtTwoBodyVertex&
+EvtTwoBodyVertex::operator=(const EvtTwoBodyVertex& other)
{
- if(_f) delete _f;
+ _kine = other._kine;
+ _LL = other._LL;
+ _p0 = other._p0;
+ _f.reset( other._f ? new EvtBlattWeisskopf(*other._f) : nullptr );
+ return *this;
}
-
-void EvtTwoBodyVertex::set_f(double R)
+void EvtTwoBodyVertex::set_f(double R)
{
- if(_f) delete _f;
- _f = new EvtBlattWeisskopf(_LL,R,_p0);
+ _f = std::make_unique<EvtBlattWeisskopf>(_LL,R,_p0);
}
double EvtTwoBodyVertex::widthFactor(EvtTwoBodyKine x) const
{
assert(_p0 > 0.);
double p1 = x.p();
double ff = formFactor(x);
double factor = pow(p1/_p0,2*_LL+1)*mAB()/x.mAB() * ff * ff;
return factor;
}
double EvtTwoBodyVertex::phaseSpaceFactor(EvtTwoBodyKine x,EvtTwoBodyKine::Index i) const
{
double p1 = x.p(i);
double factor = pow(p1,_LL);
return factor;
}
double EvtTwoBodyVertex::formFactor(EvtTwoBodyKine x) const
{
double ff = 1.;
if(_f) {
double p1 = x.p();
ff = (*_f)(p1);
}
-
+
return ff;
}
void EvtTwoBodyVertex::print(ostream& os) const
{
os << " mA = " << mA() << endl;
os << " mB = " << mB() << endl;
os << "mAB = " << mAB() << endl;
os << " L = " << _LL << endl;
os << " p0 = " << _p0 << endl;
}
ostream& operator<<(ostream& os, const EvtTwoBodyVertex& v)
{
v.print(os);
return os;
}
diff --git a/src/EvtGenBase/EvtValError.cpp b/src/EvtGenBase/EvtValError.cpp
index f13b905..d3f1de8 100644
--- a/src/EvtGenBase/EvtValError.cpp
+++ b/src/EvtGenBase/EvtValError.cpp
@@ -1,160 +1,157 @@
#include "EvtGenBase/EvtPatches.hh"
/*******************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenBase
* File: $Id: EvtValError.cpp,v 1.3 2009-03-16 15:39:28 robbep Exp $
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
*
* Copyright (C) 2002 Caltech
*******************************************************************************/
#include <assert.h>
#include <math.h>
#include <iostream>
#include "EvtGenBase/EvtValError.hh"
using std::endl;
using std::ostream;
-EvtValError::EvtValError()
+EvtValError::EvtValError()
: _valKnown(0), _val(0.), _errKnown(0), _err(0.)
{}
EvtValError::EvtValError(double val)
: _valKnown(1), _val(val), _errKnown(0), _err(0.)
{}
EvtValError::EvtValError(double val, double err)
: _valKnown(1), _val(val), _errKnown(1), _err(err)
{}
-
-EvtValError::EvtValError(const EvtValError& other)
- : _valKnown(other._valKnown), _val(other._val),
- _errKnown(other._errKnown), _err(other._err)
-{}
-EvtValError::~EvtValError()
+EvtValError::EvtValError(const EvtValError& other)
+ : _valKnown(other._valKnown), _val(other._val),
+ _errKnown(other._errKnown), _err(other._err)
{}
-double EvtValError::prec() const
-{
- assert(_valKnown && _errKnown);
- return ( _val != 0) ? _err/_val : 0;
+double EvtValError::prec() const
+{
+ assert(_valKnown && _errKnown);
+ return ( _val != 0) ? _err/_val : 0;
}
void EvtValError::operator=(const EvtValError& other)
{
_valKnown = other._valKnown;
_val = other._val;
_errKnown = other._errKnown;
_err = other._err;
}
void EvtValError::operator*=(const EvtValError& other)
{
assert(_valKnown && other._valKnown);
// Relative errors add in quadrature
if(_errKnown && other._errKnown)
_err = _val * other._val * sqrt(prec()*prec() + other.prec() * other.prec());
else _errKnown = 0;
-
- // Modify the value
+
+ // Modify the value
_val *= other._val;
}
void EvtValError::operator/=(const EvtValError& other)
{
assert(_valKnown && other._valKnown && other._val != 0.);
// Relative errors add in quadrature
if(_errKnown && other._errKnown)
_err = _val/other._val * sqrt(prec()*prec() + other.prec() * other.prec());
else _errKnown = 0;
-
- // Modify the value
+
+ // Modify the value
_val /= other._val;
}
void EvtValError::print(ostream& os) const
{
if(_valKnown) os << _val;
else os << "Undef";
os << " +/- ";
if(_errKnown) os << _err;
else os << "Undef";
os << endl;
}
void EvtValError::operator+=(const EvtValError& other)
{
assert(_valKnown); assert(other._valKnown);
_val += other._val;
-
+
// add errors in quadrature
-
+
if(_errKnown && other._errKnown) {
_err = sqrt(_err*_err + other._err*other._err);
}
else {
-
+
_errKnown = 0;
}
}
void EvtValError::operator*=(double c) {
-
+
assert(_valKnown);
_val *= c;
if(_errKnown) _err*=c;
}
EvtValError operator*(const EvtValError& x1, const EvtValError& x2)
{
EvtValError ret(x1);
ret *= x2;
return ret;
}
EvtValError operator/(const EvtValError& x1, const EvtValError& x2)
{
EvtValError ret(x1);
ret /= x2;
return ret;
}
EvtValError operator+(const EvtValError& x1, const EvtValError& x2)
{
EvtValError ret(x1);
ret += x2;
return ret;
}
-EvtValError operator*(const EvtValError& x,double c)
+EvtValError operator*(const EvtValError& x,double c)
{
EvtValError ret(x);
ret*=c;
return ret;
}
-EvtValError operator*(double c,const EvtValError& x)
+EvtValError operator*(double c,const EvtValError& x)
{
EvtValError ret(x);
ret*=c;
return ret;
}
ostream& operator<<(ostream& os, const EvtValError& other)
{
other.print(os);
return os;
}
diff --git a/src/EvtGenBase/EvtVector3C.cpp b/src/EvtGenBase/EvtVector3C.cpp
index f26bdd0..c57358b 100644
--- a/src/EvtGenBase/EvtVector3C.cpp
+++ b/src/EvtGenBase/EvtVector3C.cpp
@@ -1,102 +1,96 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVector3C.cc
//
// Description: Complex 3 vectors.
//
// Modification history:
//
// RYD September 5, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector3C.hh"
using std::ostream;
EvtVector3C::EvtVector3C(){
- v[0]=EvtComplex(0.0); v[1]=EvtComplex(0.0); v[2]=EvtComplex(0.0);
-}
-
-EvtVector3C::~EvtVector3C(){
-
- return;
+ v[0]=EvtComplex(0.0); v[1]=EvtComplex(0.0); v[2]=EvtComplex(0.0);
}
-
EvtVector3C::EvtVector3C(const EvtComplex& e1,const EvtComplex& e2,const EvtComplex& e3){
v[0]=e1; v[1]=e2; v[2]=e3;
}
EvtVector3C EvtVector3C::cross( const EvtVector3C& p2 ){
//Calcs the cross product. Added by djl on July 27, 1995.
EvtVector3C temp;
-
+
temp.v[0] = v[1]*p2.v[2] - v[2]*p2.v[1];
temp.v[1] = v[2]*p2.v[0] - v[0]*p2.v[2];
temp.v[2] = v[0]*p2.v[1] - v[1]*p2.v[0];
return temp;
}
EvtVector3C rotateEuler(const EvtVector3C& v,
double alpha,double beta,double gamma){
EvtVector3C tmp(v);
tmp.applyRotateEuler(alpha,beta,gamma);
return tmp;
}
void EvtVector3C::applyRotateEuler(double phi,double theta,double ksi){
EvtComplex temp[3];
double sp,st,sk,cp,ct,ck;
sp=sin(phi);
st=sin(theta);
sk=sin(ksi);
cp=cos(phi);
ct=cos(theta);
ck=cos(ksi);
temp[0]=( ck*ct*cp-sk*sp)*v[0]+( -sk*ct*cp-ck*sp)*v[1]+st*cp*v[2];
temp[1]=( ck*ct*sp+sk*cp)*v[0]+(-sk*ct*sp+ck*cp)*v[1]+st*sp*v[2];
temp[2]=-ck*st*v[0]+sk*st*v[1]+ct*v[2];
v[0]=temp[0];
v[1]=temp[1];
v[2]=temp[2];
}
ostream& operator<<(ostream& s,const EvtVector3C& v){
s<<"("<<v.v[0]<<","<<v.v[1]<<","<<v.v[2]<<")";
-
+
return s;
}
diff --git a/src/EvtGenBase/EvtVector3R.cpp b/src/EvtGenBase/EvtVector3R.cpp
index 0f90eac..190d74a 100644
--- a/src/EvtGenBase/EvtVector3R.cpp
+++ b/src/EvtGenBase/EvtVector3R.cpp
@@ -1,120 +1,118 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVector3R.cc
//
// Description: Real implementation of 3-vectors
//
// Modification history:
//
// RYD September 5, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtVector3R.hh"
using std::ostream;
-EvtVector3R::~EvtVector3R(){}
-
EvtVector3R::EvtVector3R(){
-
+
v[0]=v[1]=v[2]=0.0;
}
EvtVector3R::EvtVector3R(double x,double y, double z){
-
+
v[0]=x; v[1]=y; v[2]=z;
}
EvtVector3R rotateEuler(const EvtVector3R& v,
double alpha,double beta,double gamma){
EvtVector3R tmp(v);
tmp.applyRotateEuler(alpha,beta,gamma);
return tmp;
}
void EvtVector3R::applyRotateEuler(double phi,double theta,double ksi){
double temp[3];
double sp,st,sk,cp,ct,ck;
sp=sin(phi);
st=sin(theta);
sk=sin(ksi);
cp=cos(phi);
ct=cos(theta);
ck=cos(ksi);
temp[0]=( ck*ct*cp-sk*sp)*v[0]+( -sk*ct*cp-ck*sp)*v[1]+st*cp*v[2];
temp[1]=( ck*ct*sp+sk*cp)*v[0]+(-sk*ct*sp+ck*cp)*v[1]+st*sp*v[2];
temp[2]=-ck*st*v[0]+sk*st*v[1]+ct*v[2];
v[0]=temp[0];
v[1]=temp[1];
v[2]=temp[2];
}
ostream& operator<<(ostream& s,const EvtVector3R& v){
-
+
s<<"("<<v.v[0]<<","<<v.v[1]<<","<<v.v[2]<<")";
return s;
}
EvtVector3R cross( const EvtVector3R& p1,const EvtVector3R& p2 ){
//Calcs the cross product. Added by djl on July 27, 1995.
//Modified for real vectros by ryd Aug 28-96
return EvtVector3R(p1.v[1]*p2.v[2] - p1.v[2]*p2.v[1],
p1.v[2]*p2.v[0] - p1.v[0]*p2.v[2],
p1.v[0]*p2.v[1] - p1.v[1]*p2.v[0]);
}
double EvtVector3R::d3mag() const
// returns the 3 momentum mag.
{
double temp;
temp = v[0]*v[0]+v[1]*v[1]+v[2]*v[2];
temp = sqrt( temp );
return temp;
} // r3mag
double EvtVector3R::dot ( const EvtVector3R& p2 ){
double temp;
temp = v[0]*p2.v[0];
temp += v[0]*p2.v[0];
temp += v[0]*p2.v[0];
-
+
return temp;
} //dot
diff --git a/src/EvtGenBase/EvtVector4C.cpp b/src/EvtGenBase/EvtVector4C.cpp
index b73930f..32b9b74 100644
--- a/src/EvtGenBase/EvtVector4C.cpp
+++ b/src/EvtGenBase/EvtVector4C.cpp
@@ -1,163 +1,161 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVector4C.cc
//
// Description: EvtComplex implemention of 4 - vectors
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <math.h>
#include <assert.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
using std::ostream;
EvtVector4C::EvtVector4C(){
- v[0]=EvtComplex(0.0); v[1]=EvtComplex(0.0);
+ v[0]=EvtComplex(0.0); v[1]=EvtComplex(0.0);
v[2]=EvtComplex(0.0); v[3]=EvtComplex(0.0);
}
-EvtVector4C::~EvtVector4C(){}
-
EvtVector4C::EvtVector4C(const EvtComplex& e0,const EvtComplex& e1,
const EvtComplex& e2,const EvtComplex& e3){
v[0]=e0; v[1]=e1; v[2]=e2; v[3]=e3;
}
EvtVector4C rotateEuler(const EvtVector4C& rs,
double alpha,double beta,double gamma){
EvtVector4C tmp(rs);
tmp.applyRotateEuler(alpha,beta,gamma);
return tmp;
}
EvtVector4C boostTo(const EvtVector4C& rs,
const EvtVector4R p4){
EvtVector4C tmp(rs);
tmp.applyBoostTo(p4);
return tmp;
}
EvtVector4C boostTo(const EvtVector4C& rs,
const EvtVector3R boost){
EvtVector4C tmp(rs);
tmp.applyBoostTo(boost);
return tmp;
}
void EvtVector4C::applyBoostTo(const EvtVector4R& p4){
double e=p4.get(0);
EvtVector3R boost(p4.get(1)/e,p4.get(2)/e,p4.get(3)/e);
applyBoostTo(boost);
return;
}
void EvtVector4C::applyBoostTo(const EvtVector3R& boost){
double bx,by,bz,gamma,b2;
bx=boost.get(0);
by=boost.get(1);
bz=boost.get(2);
double bxx=bx*bx;
double byy=by*by;
double bzz=bz*bz;
b2=bxx+byy+bzz;
if (b2==0.0){
return;
}
assert(b2<1.0);
gamma=1.0/sqrt(1-b2);
double gb2=(gamma-1.0)/b2;
double gb2xy=gb2*bx*by;
double gb2xz=gb2*bx*bz;
double gb2yz=gb2*by*bz;
double gbx=gamma*bx;
double gby=gamma*by;
double gbz=gamma*bz;
EvtComplex e2=v[0];
EvtComplex px2=v[1];
EvtComplex py2=v[2];
EvtComplex pz2=v[3];
v[0]=gamma*e2+gbx*px2+gby*py2+gbz*pz2;
v[1]=gbx*e2+gb2*bxx*px2+px2+gb2xy*py2+gb2xz*pz2;
v[2]=gby*e2+gb2*byy*py2+py2+gb2xy*px2+gb2yz*pz2;
v[3]=gbz*e2+gb2*bzz*pz2+pz2+gb2yz*py2+gb2xz*px2;
return;
}
void EvtVector4C::applyRotateEuler(double phi,double theta,double ksi){
double sp=sin(phi);
double st=sin(theta);
double sk=sin(ksi);
double cp=cos(phi);
double ct=cos(theta);
double ck=cos(ksi);
EvtComplex x=( ck*ct*cp-sk*sp)*v[1]+( -sk*ct*cp-ck*sp)*v[2]+st*cp*v[3];
EvtComplex y=( ck*ct*sp+sk*cp)*v[1]+(-sk*ct*sp+ck*cp)*v[2]+st*sp*v[3];
EvtComplex z=-ck*st*v[1]+sk*st*v[2]+ct*v[3];
v[1]=x;
v[2]=y;
v[3]=z;
-
+
}
ostream& operator<<(ostream& s, const EvtVector4C& v){
s<<"("<<v.v[0]<<","<<v.v[1]<<","<<v.v[2]<<","<<v.v[3]<<")";
return s;
}
diff --git a/src/EvtGenBase/EvtVectorParticle.cpp b/src/EvtGenBase/EvtVectorParticle.cpp
index 6da210d..25a1c3d 100644
--- a/src/EvtGenBase/EvtVectorParticle.cpp
+++ b/src/EvtGenBase/EvtVectorParticle.cpp
@@ -1,127 +1,125 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVectorParticle.cc
//
// Description: Class to describe spin 1 particles
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <math.h>
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVectorParticle.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
-EvtVectorParticle::~EvtVectorParticle(){}
-
void EvtVectorParticle::init(EvtId part_n,double e,double px,double py,double pz){
_validP4=true;
setp(e,px,py,pz);
setpart_num(part_n);
-
+
_eps[0].set(0.0,1.0,0.0,0.0);
_eps[1].set(0.0,0.0,1.0,0.0);
_eps[2].set(0.0,0.0,0.0,1.0);
setLifetime();
}
void EvtVectorParticle::init(EvtId part_n,const EvtVector4R& p4){
_validP4=true;
setp(p4);
setpart_num(part_n);
-
+
_eps[0].set(0.0,1.0,0.0,0.0);
_eps[1].set(0.0,0.0,1.0,0.0);
_eps[2].set(0.0,0.0,0.0,1.0);
setLifetime();
}
void EvtVectorParticle::init(EvtId part_n,const EvtVector4R& p4,
const EvtVector4C & epsin1,
const EvtVector4C & epsin2,
const EvtVector4C & epsin3){
_validP4=true;
setp(p4);
setpart_num(part_n);
-
+
_eps[0]=epsin1;
_eps[1]=epsin2;
_eps[2]=epsin3;
setLifetime();
}
EvtSpinDensity EvtVectorParticle::rotateToHelicityBasis() const{
static EvtVector4C eplus(0.0,-1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
static EvtVector4C ezero(0.0,0.0,0.0,1.0);
static EvtVector4C eminus(0.0,1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
-
+
static EvtVector4C eplusC(eplus.conj());
static EvtVector4C ezeroC(ezero.conj());
static EvtVector4C eminusC(eminus.conj());
EvtSpinDensity R;
R.setDim(3);
for ( int i=0; i<3; i++ ) {
R.set(0,i,(eplusC)*_eps[i]);
R.set(1,i,(ezeroC)*_eps[i]);
R.set(2,i,(eminusC)*_eps[i]);
}
return R;
}
EvtSpinDensity EvtVectorParticle::rotateToHelicityBasis(double alpha,
double beta,
double gamma) const{
EvtVector4C eplus(0.0,-1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
EvtVector4C ezero(0.0,0.0,0.0,1.0);
EvtVector4C eminus(0.0,1.0/sqrt(2.0),EvtComplex(0.0,-1.0/sqrt(2.0)),0.0);
-
+
eplus.applyRotateEuler(alpha,beta,gamma);
ezero.applyRotateEuler(alpha,beta,gamma);
eminus.applyRotateEuler(alpha,beta,gamma);
EvtSpinDensity R;
R.setDim(3);
for ( int i=0; i<3; i++ ) {
R.set(0,i,(eplus.conj())*_eps[i]);
R.set(1,i,(ezero.conj())*_eps[i]);
R.set(2,i,(eminus.conj())*_eps[i]);
}
return R;
}
diff --git a/src/EvtGenExternal/EvtExternalGenFactory.cpp b/src/EvtGenExternal/EvtExternalGenFactory.cpp
index 2dbc5ee..4d3a22d 100644
--- a/src/EvtGenExternal/EvtExternalGenFactory.cpp
+++ b/src/EvtGenExternal/EvtExternalGenFactory.cpp
@@ -1,174 +1,163 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Module: EvtExternalGenFactory
//
// Description: A factory type method to create engines for external physics
// generators like Pythia.
//
// Modification history:
//
// John Back April 2011 Module created
//
//------------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenExternal/EvtExternalGenFactory.hh"
#ifdef EVTGEN_PYTHIA
#include "EvtGenExternal/EvtPythiaEngine.hh"
#endif
#ifdef EVTGEN_PHOTOS
#include "EvtGenExternal/EvtPhotosEngine.hh"
#endif
#ifdef EVTGEN_TAUOLA
#include "EvtGenExternal/EvtTauolaEngine.hh"
#endif
#include <iostream>
using std::endl;
EvtExternalGenFactory::EvtExternalGenFactory() {
_extGenMap.clear();
}
EvtExternalGenFactory::~EvtExternalGenFactory() {
ExtGenMap::iterator iter;
for (iter = _extGenMap.begin(); iter != _extGenMap.end(); ++iter) {
EvtAbsExternalGen* theGenerator = iter->second;
delete theGenerator;
}
_extGenMap.clear();
}
EvtExternalGenFactory* EvtExternalGenFactory::getInstance() {
static EvtExternalGenFactory* theFactory = 0;
if (theFactory == 0) {
theFactory = new EvtExternalGenFactory();
}
return theFactory;
}
-void EvtExternalGenFactory::definePythiaGenerator(std::string xmlDir,
- bool convertPhysCodes,
- bool useEvtGenRandom) {
+void EvtExternalGenFactory::definePythiaGenerator(std::string xmlDir, bool convertPhysCodes, bool useEvtGenRandom) {
// Only define the generator if we have the external ifdef variable set
#ifdef EVTGEN_PYTHIA
int genId = EvtExternalGenFactory::PythiaGenId;
- EvtAbsExternalGen* pythiaGenerator = _extGenMap[genId];
- if (!pythiaGenerator) {
-
- EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Defining EvtPythiaEngine: data tables defined in "
- <<xmlDir<<endl;
-
- if (convertPhysCodes == true) {
- EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Pythia 6 codes in decay files will be converted to Pythia 8 codes"<<endl;
- } else {
- EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Pythia 8 codes need to be used in decay files"<<endl;
- }
-
- if (useEvtGenRandom == true) {
- EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Using EvtGen random engine for Pythia 8 as well"<<endl;
- }
-
- pythiaGenerator = new EvtPythiaEngine(xmlDir, convertPhysCodes, useEvtGenRandom);
- _extGenMap[genId] = pythiaGenerator;
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Defining EvtPythiaEngine: data tables defined in "
+ <<xmlDir<<endl;
+ if (convertPhysCodes == true) {
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Pythia 6 codes in decay files will be converted to Pythia 8 codes"<<endl;
+ } else {
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Pythia 8 codes need to be used in decay files"<<endl;
+ }
+ if (useEvtGenRandom == true) {
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Using EvtGen random engine for Pythia 8 as well"<<endl;
}
+ EvtAbsExternalGen* pythiaGenerator = new EvtPythiaEngine(xmlDir, convertPhysCodes, useEvtGenRandom);
+ _extGenMap[genId] = pythiaGenerator;
+
#endif
}
void EvtExternalGenFactory::definePhotosGenerator(std::string photonType, bool useEvtGenRandom) {
#ifdef EVTGEN_PHOTOS
int genId = EvtExternalGenFactory::PhotosGenId;
- EvtAbsExternalGen* photosGenerator = _extGenMap[genId];
- if (!photosGenerator) {
-
- EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Defining EvtPhotosEngine using photonType = "<<photonType<<endl;
-
- photosGenerator = new EvtPhotosEngine(photonType, useEvtGenRandom);
- _extGenMap[genId] = photosGenerator;
- }
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Defining EvtPhotosEngine using photonType = "<<photonType<<endl;
+
+ EvtAbsExternalGen* photosGenerator = new EvtPhotosEngine(photonType, useEvtGenRandom);
+ _extGenMap[genId] = photosGenerator;
#endif
}
void EvtExternalGenFactory::defineTauolaGenerator(bool useEvtGenRandom) {
#ifdef EVTGEN_TAUOLA
int genId = EvtExternalGenFactory::TauolaGenId;
- EvtAbsExternalGen* tauolaGenerator = _extGenMap[genId];
- if (!tauolaGenerator) {
-
- EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Defining EvtTauolaEngine."<<endl;
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Defining EvtTauolaEngine."<<endl;
- tauolaGenerator = new EvtTauolaEngine(useEvtGenRandom);
- _extGenMap[genId] = tauolaGenerator;
- }
+ EvtAbsExternalGen* tauolaGenerator = new EvtTauolaEngine(useEvtGenRandom);
+ _extGenMap[genId] = tauolaGenerator;
#endif
}
EvtAbsExternalGen* EvtExternalGenFactory::getGenerator(int genId) {
EvtAbsExternalGen* theGenerator(0);
ExtGenMap::iterator iter;
if ((iter = _extGenMap.find(genId)) != _extGenMap.end()) {
// Retrieve the external generator engine
theGenerator = iter->second;
+ } else {
+
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"EvtAbsExternalGen::getGenerator: could not find generator for genId = "
+ <<genId<<endl;
+
}
return theGenerator;
}
void EvtExternalGenFactory::initialiseAllGenerators() {
ExtGenMap::iterator iter;
for (iter = _extGenMap.begin(); iter != _extGenMap.end(); ++iter) {
EvtAbsExternalGen* theGenerator = iter->second;
if (theGenerator != 0) {
theGenerator->initialise();
}
}
}
diff --git a/src/EvtGenExternal/EvtPHOTOS.cpp b/src/EvtGenExternal/EvtPHOTOS.cpp
index a6ef2ba..778a8ef 100644
--- a/src/EvtGenExternal/EvtPHOTOS.cpp
+++ b/src/EvtGenExternal/EvtPHOTOS.cpp
@@ -1,50 +1,39 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtPHOTOS.cc
//
// Description: This routine takes the particle *p and applies
// the PHOTOS package to generate final state radiation
// on the produced mesons.
//
// Modification history:
//
// RYD October 1, 1997 Module created
// JJB May 2011 Modified to use new PHOTOS generator
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenExternal/EvtPHOTOS.hh"
#include "EvtGenExternal/EvtExternalGenFactory.hh"
-EvtPHOTOS::EvtPHOTOS() {
-
- _photosEngine = 0;
-
-}
-
-EvtPHOTOS::~EvtPHOTOS() {
-
-}
-
void EvtPHOTOS::doRadCorr(EvtParticle *p) {
- if (_photosEngine == 0) {
+ if (!_photosEngine) {
_photosEngine = EvtExternalGenFactory::getInstance()->getGenerator(EvtExternalGenFactory::PhotosGenId);
}
- if (_photosEngine != 0) {
+ if (_photosEngine) {
_photosEngine->doDecay(p);
}
-
-}
+}
diff --git a/src/EvtGenExternal/EvtPhotosEngine.cpp b/src/EvtGenExternal/EvtPhotosEngine.cpp
index 50a183d..3d0de81 100644
--- a/src/EvtGenExternal/EvtPhotosEngine.cpp
+++ b/src/EvtGenExternal/EvtPhotosEngine.cpp
@@ -1,307 +1,303 @@
#ifdef EVTGEN_PHOTOS
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Module: EvtPhotosEngine
//
// Description: Interface to the PHOTOS external generator
//
// Modification history:
//
// John Back May 2011 Module created
//
//------------------------------------------------------------------------
#include "EvtGenExternal/EvtPhotosEngine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtPhotonParticle.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtRandom.hh"
#include <iostream>
#include <sstream>
#include <vector>
using std::endl;
EvtPhotosEngine::EvtPhotosEngine(std::string photonType, bool useEvtGenRandom) {
_photonType = photonType;
_gammaId = EvtId(-1,-1);
_gammaPDG = 22; // default photon pdg integer
_mPhoton = 0.0;
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Setting up PHOTOS."<<endl;
if (useEvtGenRandom == true) {
-
+
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Using EvtGen random number engine also for Photos++"<<endl;
Photospp::Photos::setRandomGenerator(EvtRandom::Flat);
}
Photospp::Photos::initialize();
// Increase the maximum possible value of the interference weight
Photospp::Photos::maxWtInterference(64.0); // 2^n, where n = number of charges (+,-)
Photospp::Photos::setInterference(true);
Photospp::Photos::setExponentiation(true); // Sets the infrared cutoff at 1e-7
// Reset the minimum photon energy, if required, in units of half of the decaying particle mass.
// This must be done after exponentiation! Keep the cut at 1e-7, i.e. 0.1 keV at the 1 GeV scale,
// which is appropriate for B decays
Photospp::Photos::setInfraredCutOff(1.0e-7);
_initialised = false;
}
-EvtPhotosEngine::~EvtPhotosEngine() {
-
-}
-
void EvtPhotosEngine::initialise() {
if (_initialised == false) {
_gammaId = EvtPDL::getId(_photonType);
if (_gammaId == EvtId(-1,-1)) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Error in EvtPhotosEngine. Do not recognise the photon type "
<<_photonType<<". Setting this to \"gamma\". "<<endl;
_gammaId = EvtPDL::getId("gamma");
}
_gammaPDG = EvtPDL::getStdHep(_gammaId);
_mPhoton = EvtPDL::getMeanMass(_gammaId);
_initialised = true;
-
+
}
}
bool EvtPhotosEngine::doDecay(EvtParticle* theMother) {
if (_initialised == false) {this->initialise();}
if (theMother == 0) {return false;}
// Create a dummy HepMC GenEvent containing a single vertex, with the mother
// assigned as the incoming particle and its daughters as outgoing particles.
// We then pass this event to Photos for processing.
// It will return a modified version of the event, updating the momentum of
- // the original particles and will contain any new photon particles.
+ // the original particles and will contain any new photon particles.
// We add these extra photons to the mother particle daughter list.
// Skip running Photos if the particle has no daughters, since we can't add FSR.
// Also skip Photos if the particle has too many daughters (>= 10) to avoid a problem
// with a hard coded upper limit in the PHOENE subroutine.
int nDaug(theMother->getNDaug());
if (nDaug == 0 || nDaug >= 10) {return false;}
// Create the dummy event.
GenEvent* theEvent = new GenEvent(Units::GEV, Units::MM);
// Create the decay "vertex".
GenVertexPtr theVertex = newGenVertexPtr();
theEvent->add_vertex(theVertex);
// Add the mother particle as the incoming particle to the vertex.
GenParticlePtr hepMCMother = this->createGenParticle(theMother, true);
theVertex->add_particle_in(hepMCMother);
// Find all daughter particles and assign them as outgoing particles to the vertex.
// Keep track of the number of photons already in the decay (e.g. we may have B -> K* gamma)
int iDaug(0), nGamma(0);
for (iDaug = 0; iDaug < nDaug; iDaug++) {
EvtParticle* theDaughter = theMother->getDaug(iDaug);
GenParticlePtr hepMCDaughter = this->createGenParticle(theDaughter, false);
theVertex->add_particle_out(hepMCDaughter);
if (theDaughter) {
int daugId = theDaughter->getPDGId();
if (daugId == _gammaPDG) {nGamma++;}
}
}
// Now pass the event to Photos for processing
// Create a Photos event object
#ifdef EVTGEN_HEPMC3
Photospp::PhotosHepMC3Event photosEvent(theEvent);
#else
Photospp::PhotosHepMCEvent photosEvent(theEvent);
#endif
// Run the Photos algorithm
- photosEvent.process();
+ photosEvent.process();
// Find the number of (outgoing) photons in the event
int nPhotons = this->getNumberOfPhotons(theVertex);
// See if Photos has created additional photons. If not, do nothing extra
int nDiffPhotons = nPhotons - nGamma;
int iLoop(0);
if (nDiffPhotons > 0) {
// We have extra particles from Photos; these would have been appended
// to the outgoing particle list
// Get the iterator of outgoing particles for this vertex
#ifdef EVTGEN_HEPMC3
for (auto outParticle: theVertex->particles_out()) {
#else
HepMC::GenVertex::particles_out_const_iterator outIter;
for (outIter = theVertex->particles_out_const_begin();
outIter != theVertex->particles_out_const_end(); ++outIter) {
// Get the next HepMC GenParticle
HepMC::GenParticle *outParticle = *outIter;
#endif
// Get the three-momentum Photos result for this particle, and the PDG id
double px(0.0), py(0.0), pz(0.0);
int pdgId(0);
if (outParticle != 0) {
FourVector HepMCP4 = outParticle->momentum();
px = HepMCP4.px();
py = HepMCP4.py();
pz = HepMCP4.pz();
pdgId = outParticle->pdg_id();
}
// Create an empty 4-momentum vector for the new/modified daughters
EvtVector4R newP4;
if (iLoop < nDaug) {
// Original daughters
EvtParticle* daugParticle = theMother->getDaug(iLoop);
if (daugParticle != 0) {
// Keep the original particle mass, but set the three-momentum
- // according to what Photos has modified. However, this will
+ // according to what Photos has modified. However, this will
// violate energy conservation (from what Photos has provided).
double mass = daugParticle->mass();
double energy = sqrt(mass*mass + px*px + py*py + pz*pz);
newP4.set(energy, px, py, pz);
// Set the new four-momentum (FSR applied)
daugParticle->setP4WithFSR(newP4);
}
} else if (pdgId == _gammaPDG) {
// Extra photon particle. Setup the four-momentum object
double energy = sqrt(_mPhoton*_mPhoton + px*px + py*py + pz*pz);
newP4.set(energy, px, py, pz);
// Create a new photon particle and add it to the list of daughters
EvtPhotonParticle* gamma = new EvtPhotonParticle();
gamma->init(_gammaId, newP4);
// Set the pre-FSR photon momentum to zero
gamma->setFSRP4toZero();
// Let the mother know about this new photon
gamma->addDaug(theMother);
// Set its particle attribute to specify it is a FSR photon
gamma->setAttribute("FSR", 1); // it is a FSR photon
gamma->setAttribute("ISR", 0); // it is not an ISR photon
}
// Increment the loop counter for detecting additional photon particles
iLoop++;
- }
+ }
}
// Cleanup
theEvent->clear();
delete theEvent;
return true;
}
GenParticlePtr EvtPhotosEngine::createGenParticle(EvtParticle* theParticle, bool incoming) {
// Method to create an HepMC::GenParticle version of the given EvtParticle.
if (theParticle == 0) {return 0;}
// Get the 4-momentum (E, px, py, pz) for the EvtParticle
EvtVector4R p4(0.0, 0.0, 0.0, 0.0);
if (incoming == true) {
p4 = theParticle->getP4Restframe();
} else {
p4 = theParticle->getP4();
}
-
+
// Convert this to the HepMC 4-momentum
double E = p4.get(0);
double px = p4.get(1);
double py = p4.get(2);
double pz = p4.get(3);
FourVector hepMC_p4(px, py, pz, E);
int PDGInt = EvtPDL::getStdHep(theParticle->getId());
- // Set the status flag for the particle. This is required, otherwise Photos++
+ // Set the status flag for the particle. This is required, otherwise Photos++
// will crash from out-of-bounds array index problems.
int status = Photospp::PhotosParticle::HISTORY;
if (incoming == false) {status = Photospp::PhotosParticle::STABLE;}
GenParticlePtr genParticle = newGenParticlePtr(hepMC_p4, PDGInt, status);
return genParticle;
}
int EvtPhotosEngine::getNumberOfPhotons(const GenVertexPtr theVertex) const {
// Find the number of photons from the outgoing particle list
if (!theVertex) {return 0;}
int nPhotons(0);
// Get the iterator of outgoing particles for this vertex
#ifdef EVTGEN_HEPMC3
for (auto outParticle: theVertex->particles_out()){
#else
HepMC::GenVertex::particles_out_const_iterator outIter;
for (outIter = theVertex->particles_out_const_begin();
outIter != theVertex->particles_out_const_end(); ++outIter) {
// Get the next HepMC GenParticle
HepMC::GenParticle *outParticle = *outIter;
#endif
// Get the PDG id
int pdgId(0);
if (outParticle != 0) {pdgId = outParticle->pdg_id();}
-
+
// Keep track of how many photons there are
if (pdgId == _gammaPDG) {nPhotons++;}
}
return nPhotons;
}
#endif
diff --git a/src/EvtGenExternal/EvtPythia.cpp b/src/EvtGenExternal/EvtPythia.cpp
index ec085d9..a195330 100644
--- a/src/EvtGenExternal/EvtPythia.cpp
+++ b/src/EvtGenExternal/EvtPythia.cpp
@@ -1,161 +1,161 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
// 2011 University of Warwick, UK
// Module: EvtPythia.cc
//
// Description: Routine to decay a particle according th phase space
//
// Modification history:
//
// RYD January 8, 1997 Module created
// JJB April 2011 Modified to use new Pythia8 interface
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtSpinDensity.hh"
#include "EvtGenExternal/EvtPythia.hh"
#include "EvtGenExternal/EvtExternalGenFactory.hh"
#include "EvtGenModels/EvtAbsExternalGen.hh"
#include "EvtGenBase/EvtDecayBase.hh"
#include <iostream>
#include <cmath>
EvtPythia::EvtPythia() {
// Set the Pythia engine to a null pointer at first.
// When we do the decay, we retrieve the pointer to the Pythia engine
// and use that for all decays. All clones will use the same Pythia engine.
_pythiaEngine = 0;
}
EvtPythia::~EvtPythia() {
_commandList.clear();
}
std::string EvtPythia::getName(){
return "PYTHIA";
}
EvtDecayBase* EvtPythia::clone(){
return new EvtPythia();
}
void EvtPythia::init(){
// Do not check for any arguments. The PythiaEngine will check
// to see if there is an integer specifying the decay physics,
// otherwise it just uses phase-space.
}
void EvtPythia::initProbMax(){
noProbMax();
}
void EvtPythia::decay( EvtParticle *p ){
// We have to initialise the Pythia engine after the decay.dec files have been read in,
// since we will be modifying Pythia data tables, and that is only possible once we have
// defined all Pythia-type decays we want to use.
// We check to see if the engine has been created before doing the decay.
// This should only create the full Pythia engine once, and all clones will point to the same engine.
- if (_pythiaEngine == 0) {
+ if (!_pythiaEngine) {
_pythiaEngine = EvtExternalGenFactory::getInstance()->getGenerator(EvtExternalGenFactory::PythiaGenId);
}
- if (_pythiaEngine != 0) {
+ if (_pythiaEngine) {
_pythiaEngine->doDecay(p);
}
this->fixPolarisations(p);
}
void EvtPythia::fixPolarisations(EvtParticle *p) {
// Special case to handle the J/psi polarisation
- if (p == 0) {return;}
+ if (!p) {return;}
int nDaug = p->getNDaug();
int i(0);
static EvtId Jpsi = EvtPDL::getId("J/psi");
for (i = 0; i < nDaug; i++){
EvtParticle* theDaug = p->getDaug(i);
- if (theDaug != 0) {
+ if (theDaug) {
if (theDaug->getId() == Jpsi) {
EvtSpinDensity rho;
rho.setDim(3);
rho.set(0,0,0.5);
rho.set(0,1,0.0);
rho.set(0,2,0.0);
rho.set(1,0,0.0);
rho.set(1,1,1.0);
rho.set(1,2,0.0);
rho.set(2,0,0.0);
rho.set(2,1,0.0);
rho.set(2,2,0.5);
EvtVector4R p4Psi = theDaug->getP4();
double alpha = atan2(p4Psi.get(2),p4Psi.get(1));
double beta = acos(p4Psi.get(3)/p4Psi.d3mag());
theDaug->setSpinDensityForwardHelicityBasis(rho,alpha,beta,0.0);
setDaughterSpinDensity(i);
}
}
}
}
std::string EvtPythia::commandName() {
// Allow backward compatibility for decay.dec files
// having JetSetPar parameters. They are obsolete for Pythia 8,
// since the JetSet-type array variables do not exist.
// Need to think about including user defined parameters in
// EvtPythiaEngine::updatePhysicsParameters().
return std::string("JetSetPar");
}
void EvtPythia::command(std::string cmd) {
// Locally store commands in a vector
_commandList.push_back(cmd);
}
diff --git a/src/EvtGenExternal/EvtPythiaEngine.cpp b/src/EvtGenExternal/EvtPythiaEngine.cpp
index 8c85130..b9c52a8 100644
--- a/src/EvtGenExternal/EvtPythiaEngine.cpp
+++ b/src/EvtGenExternal/EvtPythiaEngine.cpp
@@ -1,863 +1,852 @@
#ifdef EVTGEN_PYTHIA
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Module: EvtPythiaEngine
//
// Description: Interface to the Pytha 8 external generator
//
// Modification history:
//
// John Back April 2011 Module created
//
//------------------------------------------------------------------------
#include "EvtGenExternal/EvtPythiaEngine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtDecayTable.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtParticleFactory.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtExtGeneratorCommandsTable.hh"
#include "EvtGenExternal/EvtPythia6CommandConverter.hh"
#include "Pythia8/Event.h"
#include "Pythia8/ParticleData.h"
#include <cmath>
#include <iostream>
#include <sstream>
using std::endl;
EvtPythiaEngine::EvtPythiaEngine(std::string xmlDir, bool convertPhysCodes,
bool useEvtGenRandom) {
// Create two Pythia generators. One will be for generic
- // Pythia decays in the decay.dec file. The other one will be to
- // only decay aliased particles, which are in general "signal"
+ // Pythia decays in the decay.dec file. The other one will be to
+ // only decay aliased particles, which are in general "signal"
// decays different from those in the decay.dec file.
// Even though it is not possible to have two different particle
- // versions in one Pythia generator, we can use two generators to
+ // versions in one Pythia generator, we can use two generators to
// get the required behaviour.
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Creating generic Pythia generator"<<endl;
- _genericPythiaGen = new Pythia8::Pythia(xmlDir);
+ _genericPythiaGen = std::make_unique<Pythia8::Pythia>(xmlDir);
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Creating alias Pythia generator"<<endl;
- _aliasPythiaGen = new Pythia8::Pythia(xmlDir, false);
+ _aliasPythiaGen = std::make_unique<Pythia8::Pythia>(xmlDir, false);
_thePythiaGenerator = 0;
_daugPDGVector.clear(); _daugP4Vector.clear();
_convertPhysCodes = convertPhysCodes;
// Specify if we are going to use the random number generator (engine)
// from EvtGen for Pythia 8.
_useEvtGenRandom = useEvtGenRandom;
- _evtgenRandom = new EvtPythiaRandom();
+ _evtgenRandom = std::make_unique<EvtPythiaRandom>();
_initialised = false;
}
EvtPythiaEngine::~EvtPythiaEngine() {
- delete _genericPythiaGen; _genericPythiaGen = 0;
- delete _aliasPythiaGen; _aliasPythiaGen = 0;
-
- delete _evtgenRandom; _evtgenRandom = 0;
-
- _thePythiaGenerator = 0;
-
+ _thePythiaGenerator = nullptr;
this->clearDaughterVectors();
this->clearPythiaModeMap();
-
+
}
void EvtPythiaEngine::clearDaughterVectors() {
_daugPDGVector.clear();
_daugP4Vector.clear();
}
void EvtPythiaEngine::clearPythiaModeMap() {
PythiaModeMap::iterator iter;
for (iter = _pythiaModeMap.begin(); iter != _pythiaModeMap.end(); ++iter) {
std::vector<int> modeVector = iter->second;
modeVector.clear();
}
_pythiaModeMap.clear();
}
void EvtPythiaEngine::initialise() {
if (_initialised) {return;}
this->clearPythiaModeMap();
this->updateParticleLists();
// Hadron-level processes only (hadronized, string fragmentation and secondary decays).
// We do not want to generate the full pp or e+e- event structure etc..
_genericPythiaGen->readString("ProcessLevel:all = off");
_aliasPythiaGen->readString("ProcessLevel:all = off");
// Turn off Pythia warnings, e.g. changes to particle properties
_genericPythiaGen->readString("Print:quiet = on");
_aliasPythiaGen->readString("Print:quiet = on");
-
+
// Apply any other physics (or special particle) requirements/cuts etc..
this->updatePhysicsParameters();
// Set the random number generator
if (_useEvtGenRandom == true) {
- _genericPythiaGen->setRndmEnginePtr(_evtgenRandom);
- _aliasPythiaGen->setRndmEnginePtr(_evtgenRandom);
+ _genericPythiaGen->setRndmEnginePtr(_evtgenRandom.get());
+ _aliasPythiaGen->setRndmEnginePtr(_evtgenRandom.get());
}
_genericPythiaGen->init();
_aliasPythiaGen->init();
_initialised = true;
}
bool EvtPythiaEngine::doDecay(EvtParticle* theParticle) {
// Store the mother particle within a Pythia8 Event object.
// Then do the hadron level decays.
// The EvtParticle must be a colour singlet (meson/baryon/lepton), i.e. not a gluon or quark
// We delete any daughters the particle may have, since we are asking Pythia
// to generate the decay anew. Also note that _any_ Pythia decay allowed for the particle
// will be generated and not the specific Pythia decay mode that EvtGen has already
// specified. This is necessary since we only want to initialise the Pythia decay table
// once; all Pythia branching fractions for a given mother particle are renormalised to sum to 1.0.
// In EvtGen decay.dec files, it may be the case that Pythia decays are only used
// for some of the particle decays (i.e. Pythia BF sum < 1.0). As we loop over many events,
// the total frequency for each Pythia decay mode will normalise correctly to what
// we wanted via the specifications made to the decay.dec file, even though event-by-event
// the EvtGen decay channel and the Pythia decay channel may be different.
if (_initialised == false) {this->initialise();}
-
+
if (theParticle == 0) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Error in EvtPythiaEngine::doDecay. The mother particle is null. Not doing any Pythia decay."<<endl;
return false;
}
// Delete EvtParticle daughters if they already exist
if (theParticle->getNDaug() != 0) {
bool keepChannel(false);
theParticle->deleteDaughters(keepChannel);
}
EvtId particleId = theParticle->getId();
int isAlias = particleId.isAlias();
// Choose the generator depending if we have an aliased (parent) particle or not
- _thePythiaGenerator = _genericPythiaGen;
- if (isAlias == 1) {_thePythiaGenerator = _aliasPythiaGen;}
+ _thePythiaGenerator = (isAlias == 1 ? _aliasPythiaGen.get(): _genericPythiaGen.get() );
// Need to use the reference to the Pythia8::Event object,
// otherwise it will just return a new empty, default event object.
Pythia8::Event& theEvent = _thePythiaGenerator->event;
theEvent.reset();
// Initialise the event to be the particle rest frame
int PDGCode = EvtPDL::getStdHep(particleId);
int status(1);
int colour(0), anticolour(0);
double px(0.0), py(0.0), pz(0.0);
double m0 = theParticle->mass();
double E = m0;
theEvent.append(PDGCode, status, colour, anticolour, px, py, pz, E, m0);
// Generate the Pythia event
int iTrial(0);
bool generatedEvent(false);
for (iTrial = 0; iTrial < 10; iTrial++) {
-
generatedEvent = _thePythiaGenerator->next();
if (generatedEvent) {break;}
-
}
bool success(false);
if (generatedEvent) {
// Store the daughters for this particle from the Pythia decay tree.
// This is a recursive function that will continue looping through
- // all available daughters until the first set of non-quark and non-gluon
+ // all available daughters until the first set of non-quark and non-gluon
// particles are encountered in the Pythia Event structure.
// First, clear up the internal vectors storing the daughter
// EvtId types and 4-momenta.
this->clearDaughterVectors();
// Now store the daughter info. Since this is a recursive function
- // to loop through the full Pythia decay tree, we do not want to create
+ // to loop through the full Pythia decay tree, we do not want to create
// EvtParticles here but in the next step.
this->storeDaughterInfo(theParticle, 1);
// Now create the EvtParticle daughters of the (parent) particle.
// We need to use the EvtParticle::makeDaughters function
// owing to the way EvtParticle stores parent-daughter information.
this->createDaughterEvtParticles(theParticle);
//theParticle->printTree();
//theEvent.list(true, true);
success = true;
- }
+ }
return success;
}
void EvtPythiaEngine::storeDaughterInfo(EvtParticle* theParticle, int startInt) {
-
+
Pythia8::Event& theEvent = _thePythiaGenerator->event;
std::vector<int> daugList = theEvent.daughterList(startInt);
std::vector<int>::iterator daugIter;
for (daugIter = daugList.begin(); daugIter != daugList.end(); ++daugIter) {
int daugInt = *daugIter;
// Ask if the daughter is a quark or gluon. If so, recursively search again.
Pythia8::Particle& daugParticle = theEvent[daugInt];
if (daugParticle.isQuark() || daugParticle.isGluon()) {
// Recursively search for correct daughter type
this->storeDaughterInfo(theParticle, daugInt);
} else {
// We have a daughter that is not a quark nor gluon particle.
// Make sure we are not double counting particles, since several quarks
// and gluons make one particle.
// Set the status flag for any "new" particle to say that we have stored it.
// Use status flag = 1000 (within the user allowed range for Pythia codes).
// Check that the status flag for the particle is not equal to 1000
int statusCode = daugParticle.status();
if (statusCode != 1000) {
int daugPDGInt = daugParticle.id();
double px = daugParticle.px();
double py = daugParticle.py();
double pz = daugParticle.pz();
double E = daugParticle.e();
EvtVector4R daughterP4(E, px, py, pz);
// Now store the EvtId and 4-momentum in the internal vectors
_daugPDGVector.push_back(daugPDGInt);
_daugP4Vector.push_back(daughterP4);
// Set the status flag for the Pythia particle to let us know
// that we have already considered it to avoid double counting.
daugParticle.status(1000);
} // Status code != 1000
}
}
}
void EvtPythiaEngine::createDaughterEvtParticles(EvtParticle* theParent) {
if (theParent == 0) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Error in EvtPythiaEngine::createDaughterEvtParticles. The parent is null"<<endl;
return;
}
// Get the list of Pythia decay modes defined for this particle id alias.
- // It would be easier to just use the decay channel number that Pythia chose to use
+ // It would be easier to just use the decay channel number that Pythia chose to use
// for the particle decay, but this is not accessible from the Pythia interface at present.
int nDaughters = _daugPDGVector.size();
std::vector<EvtId> daugAliasIdVect(0);
EvtId particleId = theParent->getId();
// Check to see if we have an anti-particle. If we do, charge conjugate the particle id to get the
// Pythia "alias" we can compare with the defined (particle) Pythia modes.
int PDGId = EvtPDL::getStdHep(particleId);
int aliasInt = particleId.getAlias();
int pythiaAliasInt(aliasInt);
if (PDGId < 0) {
// We have an anti-particle.
EvtId conjPartId = EvtPDL::chargeConj(particleId);
pythiaAliasInt = conjPartId.getAlias();
}
std::vector<int> pythiaModes = _pythiaModeMap[pythiaAliasInt];
// Loop over all available Pythia decay modes and find the channel that matches
// the daughter ids. Set each daughter id to also use the alias integer.
// This will then convert the Pythia generated channel to the EvtGen alias defined one.
std::vector<int>::iterator modeIter;
bool gotMode(false);
for (modeIter = pythiaModes.begin(); modeIter != pythiaModes.end(); ++modeIter) {
// Stop the loop if we have the right decay mode channel
if (gotMode) {break;}
int pythiaModeInt = *modeIter;
EvtDecayBase* decayModel = EvtDecayTable::getInstance()->findDecayModel(aliasInt, pythiaModeInt);
if (decayModel != 0) {
int nModeDaug = decayModel->getNDaug();
// We need to make sure that the number of daughters match
if (nDaughters == nModeDaug) {
int iModeDaug(0);
for (iModeDaug = 0; iModeDaug < nModeDaug; iModeDaug++) {
EvtId daugId = decayModel->getDaug(iModeDaug);
int daugPDGId = EvtPDL::getStdHep(daugId);
// Pythia has used the right PDG codes for this decay mode, even for conjugate modes
int pythiaPDGId = _daugPDGVector[iModeDaug];
if (daugPDGId == pythiaPDGId) {
daugAliasIdVect.push_back(daugId);
}
} // Loop over EvtGen mode daughters
int daugAliasSize = daugAliasIdVect.size();
if (daugAliasSize == nDaughters) {
// All daughter Id codes are accounted for. Set the flag to stop the loop.
gotMode = true;
} else {
// We do not have the correct daughter ordering. Clear the id vector
// and try another mode.
daugAliasIdVect.clear();
}
} // Same number of daughters
-
+
} // decayModel != 0
- } // Loop over available Pythia modes
+ } // Loop over available Pythia modes
if (gotMode == false) {
// We did not find a match for the daughter aliases. Just use the normal PDG codes
// from the Pythia decay result
int iPyDaug(0);
for (iPyDaug = 0; iPyDaug < nDaughters; iPyDaug++) {
int daugPDGCode = _daugPDGVector[iPyDaug];
EvtId daugPyId = EvtPDL::evtIdFromStdHep(daugPDGCode);
daugAliasIdVect.push_back(daugPyId);
}
}
// Make the EvtParticle daughters (with correct alias id's). Their 4-momenta are uninitialised.
theParent->makeDaughters(nDaughters, daugAliasIdVect);
// Now set the 4-momenta of the daughters.
int iDaug(0);
// Can use an iterator here, but we already had to use the vector size...
for (iDaug = 0; iDaug < nDaughters; iDaug++) {
EvtParticle* theDaughter = theParent->getDaug(iDaug);
// Set the correct 4-momentum for each daughter particle.
if (theDaughter != 0) {
EvtId theDaugId = daugAliasIdVect[iDaug];
const EvtVector4R theDaugP4 = _daugP4Vector[iDaug];
theDaughter->init(theDaugId, theDaugP4);
}
-
+
}
}
void EvtPythiaEngine::updateParticleLists() {
// Use the EvtGen decay table (decay/user.dec) to update Pythia particle
// decay modes. Also, make sure the generic and alias Pythia generators
// use the same particle data entries as defined by EvtGen (evt.pdl).
// Loop over all entries in the EvtPDL particle data table.
// Aliases are added at the end with id numbers equal to the
// original particle, but with alias integer = lastPDLEntry+1 etc..
int iPDL;
int nPDL = EvtPDL::entries();
// Reset the _addedPDGCodes map that keeps track
// of any new particles added to the Pythia input data stream
_addedPDGCodes.clear();
for (iPDL = 0; iPDL < nPDL; iPDL++) {
EvtId particleId = EvtPDL::getEntry(iPDL);
int aliasInt = particleId.getAlias();
// Pythia and EvtGen should use the same PDG codes for particles
int PDGCode = EvtPDL::getStdHep(particleId);
-
+
// Update pole mass, width, lifetime and mass range
double mass = EvtPDL::getMeanMass(particleId);
double width = EvtPDL::getWidth(particleId);
double lifetime = EvtPDL::getctau(particleId);
double mmin = EvtPDL::getMinMass(particleId);
double mmax = EvtPDL::getMaxMass(particleId);
// Particle data pointers. The generic and alias Pythia generator pointers have
// their own Pythia8::ParticleData particleData public data members which contain
// the particle properties table. We can extract and change individual particle
// entries using the particleDataEntryPtr() function within ParticleData.
// However, we must be careful when accessing the particleData table. We must do
// this directly, since assigning it to another Pythia8::ParticleData object via copying
// or assignment will give it a different memory address and it will no longer refer to
// the original particleData information from the generator pointer.
Pythia8::ParticleDataEntry* entry_generic =
_genericPythiaGen->particleData.particleDataEntryPtr(PDGCode);
Pythia8::ParticleDataEntry* entry_alias =
_aliasPythiaGen->particleData.particleDataEntryPtr(PDGCode);
// Check that the PDG code is not zero/null and exclude other
// special cases, e.g. those reserved for internal generator use
if (entry_generic != 0 && this->validPDGCode(PDGCode)) {
entry_generic->setM0(mass);
entry_generic->setMWidth(width);
entry_generic->setTau0(lifetime);
if (std::fabs(width) > 0.0) {
entry_generic->setMMin(mmin);
entry_generic->setMMax(mmax);
}
}
// Check that the PDG code is not zero/null and exclude other
// special cases, e.g. those reserved for internal generator use
if (entry_alias != 0 && this->validPDGCode(PDGCode)) {
entry_alias->setM0(mass);
entry_alias->setMWidth(width);
entry_alias->setTau0(lifetime);
if (std::fabs(width) > 0.0) {
entry_alias->setMMin(mmin);
entry_alias->setMMax(mmax);
}
}
-
+
// Check which particles have a Pythia decay defined.
// Get the list of all possible decays for the particle, using the alias integer.
// If the particle is not actually an alias, aliasInt = idInt.
bool hasPythiaDecays = EvtDecayTable::getInstance()->hasPythia(aliasInt);
if (hasPythiaDecays) {
int isAlias = particleId.isAlias();
// Decide what generator to use depending on whether we have
// an aliased particle or not
- _thePythiaGenerator = _genericPythiaGen;
- if (isAlias == 1) {_thePythiaGenerator = _aliasPythiaGen;}
+ _thePythiaGenerator = ( isAlias==1 ? _aliasPythiaGen.get() : _genericPythiaGen.get() );
// Find the Pythia particle name given the standard PDG code integer
std::string dataName = _thePythiaGenerator->particleData.name(PDGCode);
- bool alreadyStored(false);
- if (_addedPDGCodes.find(abs(PDGCode)) != _addedPDGCodes.end()) {alreadyStored = true;}
+ bool alreadyStored = (_addedPDGCodes.find(abs(PDGCode)) != _addedPDGCodes.end());
- if (dataName == " " && alreadyStored == false) {
+ if (dataName == " " && !alreadyStored ) {
- // Particle and its antiparticle does not exist in the Pythia database.
- // Create a new particle, then create the new decay modes.
- this->createPythiaParticle(particleId, PDGCode);
+ // Particle and its antiparticle do not exist in the Pythia database.
+ // Create a new particle, then create the new decay modes.
+ this->createPythiaParticle(particleId, PDGCode);
}
// For the particle, create the Pythia decay modes.
// Update Pythia data tables.
this->updatePythiaDecayTable(particleId, aliasInt, PDGCode);
} // Loop over Pythia decays
} // Loop over EvtPDL entries
//EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Writing out changed generic Pythia decay list"<<endl;
//_genericPythiaGen->particleData.listChanged();
//EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Writing out changed alias Pythia decay list"<<endl;
//_aliasPythiaGen->particleData.listChanged();
}
bool EvtPythiaEngine::validPDGCode(int PDGCode) {
// Exclude certain PDG codes: void = 0 and special values = 81 to 100, which are reserved
// for internal generator use (pseudoparticles) according to PDG guidelines. Also exclude
// nu'_tau (nu_L) = 18, which has different masses: Pythia8 = 400 GeV, EvtGen = 0 GeV.
bool isValid(true);
int absPDGCode = abs(PDGCode);
if (absPDGCode == 0 || absPDGCode == 18) {
// Void and nu_L or nu'_tau
isValid = false;
} else if (absPDGCode >= 81 && absPDGCode <= 100) {
// Pseudoparticles
isValid = false;
}
return isValid;
}
void EvtPythiaEngine::updatePythiaDecayTable(EvtId& particleId, int aliasInt, int PDGCode) {
-
+
// Update the particle data table in Pythia.
// The tables store information about the allowed decay modes
// where the PDGId for all particles must be positive; anti-particles are stored
// with the corresponding particle entry.
// Since we do not want to implement CP violation here, just use the same branching
// fractions for particle and anti-particle modes.
int nModes = EvtDecayTable::getInstance()->getNModes(aliasInt);
int iMode(0);
bool firstMode(true);
// Only process positive PDG codes.
- if (PDGCode < 0) {return;}
+ if (PDGCode < 0) {return;}
// Keep track of which decay modes are Pythia decays for each aliasInt
std::vector<int> pythiaModes(0);
// Loop over the decay modes for this particle
for (iMode = 0; iMode < nModes; iMode++) {
-
+
EvtDecayBase* decayModel = EvtDecayTable::getInstance()->findDecayModel(aliasInt, iMode);
if (decayModel != 0) {
int nDaug = decayModel->getNDaug();
- // If the decay mode has no daughters, then that means that there will be
- // no entries for any submode re-definitions for Pythia.
+ // If the decay mode has no daughters, then that means that there will be
+ // no entries for any submode re-definitions for Pythia.
// This sometimes occurs for any mode using non-standard Pythia 6 codes.
// Do not refine the decay mode, i.e. accept the Pythia 8 default (if it exists).
if (nDaug > 0) {
// Check to see if we have a Pythia decay mode
std::string modelName = decayModel->getModelName();
if (modelName == "PYTHIA") {
- // Keep track which decay mode is a Pythia one. We need this in order to
+ // Keep track which decay mode is a Pythia one. We need this in order to
// reassign alias Id values for particles generated in the decay.
pythiaModes.push_back(iMode);
std::ostringstream oss;
oss.setf(std::ios::scientific);
// Write out the absolute value of the PDG code, since
// particles and anti-particles occupy the same part of the Pythia table.
oss << PDGCode;
if (firstMode) {
// Create a new channel
oss <<":oneChannel = ";
firstMode = false;
} else {
// Add the channel
oss <<":addChannel = ";
}
// Select all channels (particle and anti-particle).
- // For CP violation, or different BFs for particle and anti-particle,
+ // For CP violation, or different BFs for particle and anti-particle,
// use options 2 or 3 (not here).
int onMode(1);
oss << onMode << " ";
double BF = decayModel->getBranchingFraction();
oss << BF << " ";
-
+
// Need to convert the old Pythia physics mode integers with the new ones
// To do this, get the model argument and write a conversion method.
int modeInt = this->getModeInt(decayModel);
oss << modeInt;
-
- int iDaug(0);
+
+ int iDaug(0);
for (iDaug = 0; iDaug < nDaug; iDaug++) {
-
+
EvtId daugId = decayModel->getDaug(iDaug);
int daugPDG = EvtPDL::getStdHep(daugId);
oss << " " << daugPDG;
-
+
} // Daughter list
_thePythiaGenerator->readString(oss.str());
-
+
} // is Pythia
} else {
- EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Warning in EvtPythiaEngine. Trying to redefine Pythia table for "
- <<EvtPDL::name(particleId)<<" for a decay channel that has no daughters."
- <<" Keeping Pythia default (if available)."<<endl;
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Warning in EvtPythiaEngine. Trying to redefine Pythia table for "
+ <<EvtPDL::name(particleId)<<" for a decay channel that has no daughters."
+ <<" Keeping Pythia default (if available)."<<endl;
}
-
+
} else {
-
- EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Error in EvtPythiaEngine. decayModel is null for particle "
- <<EvtPDL::name(particleId)<<" mode number "<<iMode<<endl;
-
+
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Error in EvtPythiaEngine. decayModel is null for particle "
+ <<EvtPDL::name(particleId)<<" mode number "<<iMode<<endl;
+
}
} // Loop over modes
_pythiaModeMap[aliasInt] = pythiaModes;
// Now, renormalise the decay branching fractions to sum to 1.0
std::ostringstream rescaleStr;
rescaleStr.setf(std::ios::scientific);
rescaleStr << PDGCode << ":rescaleBR = 1.0";
-
+
_thePythiaGenerator->readString(rescaleStr.str());
}
int EvtPythiaEngine::getModeInt(EvtDecayBase* decayModel) {
int tmpModeInt(0), modeInt(0);
if (decayModel != 0) {
int nVars = decayModel->getNArg();
- // Just read the first integer, which specifies the Pythia decay model.
+ // Just read the first integer, which specifies the Pythia decay model.
// Ignore any other values.
if (nVars > 0) {
tmpModeInt = static_cast<int>(decayModel->getArg(0));
}
}
if (_convertPhysCodes) {
// Extra code to convert the old Pythia decay model integer MDME(ICC,2) to the new one.
// This should be removed eventually after updating decay.dec files to use
// the new convention.
-
+
if (tmpModeInt == 0) {
modeInt = 0; // phase-space
} else if (tmpModeInt == 1) {
modeInt = 1; // omega or phi -> 3pi
} else if (tmpModeInt == 2) {
modeInt = 11; // Dalitz decay
} else if (tmpModeInt == 3) {
modeInt = 2; // V -> PS PS
} else if (tmpModeInt == 4) {
modeInt = 92; // onium -> ggg or gg gamma
} else if (tmpModeInt == 11) {
modeInt = 42; // phase-space of hadrons from available quarks
} else if (tmpModeInt == 12) {
modeInt = 42; // phase-space for onia resonances
} else if (tmpModeInt == 13) {
modeInt = 43; // phase-space of at least 3 hadrons
} else if (tmpModeInt == 14) {
modeInt = 44; // phase-space of at least 4 hadrons
} else if (tmpModeInt == 15) {
modeInt = 45; // phase-space of at least 5 hadrons
} else if (tmpModeInt >= 22 && tmpModeInt <= 30) {
modeInt = tmpModeInt + 40; // phase space of hadrons with fixed multiplicity (modeInt - 60)
} else if (tmpModeInt == 31) {
modeInt = 42; // two or more quarks phase-space; one spectactor quark
} else if (tmpModeInt == 32) {
modeInt = 91; // qqbar or gg pair
} else if (tmpModeInt == 33) {
modeInt = 0; // triplet q X qbar, where X = gluon or colour singlet (superfluous, since g's are created anyway)
} else if (tmpModeInt == 41) {
modeInt = 21; // weak decay phase space, weighting nu_tau spectrum
} else if (tmpModeInt == 42) {
modeInt = 22; // weak decay V-A matrix element
} else if (tmpModeInt == 43) {
modeInt = 22; // weak decay V-A matrix element, quarks as jets (superfluous)
} else if (tmpModeInt == 44) {
modeInt = 22; // weak decay V-A matrix element, parton showers (superfluous)
} else if (tmpModeInt == 48) {
modeInt = 23; // weak decay V-A matrix element, at least 3 decay products
} else if (tmpModeInt == 50) {
modeInt = 0; // default behaviour
} else if (tmpModeInt == 51) {
modeInt = 0; // step threshold (channel switched off when mass daughters > mother mass
} else if (tmpModeInt == 52 || tmpModeInt == 53) {
modeInt = 0; // beta-factor threshold
} else if (tmpModeInt == 84) {
modeInt = 42; // unknown physics process - just use phase-space
} else if (tmpModeInt == 101) {
modeInt = 0; // continuation line
} else if (tmpModeInt == 102) {
modeInt = 0; // off mass shell particles.
} else {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Pythia mode integer "<<tmpModeInt
<<" is not recognised. Using phase-space model"<<endl;
modeInt = 0; // Use phase-space for anything else
}
} else {
// No need to convert the physics mode integer code
modeInt = tmpModeInt;
}
return modeInt;
}
void EvtPythiaEngine::createPythiaParticle(EvtId& particleId, int PDGCode) {
// Use the EvtGen name, PDGId and other variables to define the new Pythia particle.
EvtId antiPartId = EvtPDL::chargeConj(particleId);
std::string aliasName = EvtPDL::name(particleId); // If not an alias, aliasName = normal name
std::string antiName = EvtPDL::name(antiPartId);
EvtSpinType::spintype spinType = EvtPDL::getSpinType(particleId);
int spin = EvtSpinType::getSpin2(spinType);
int charge = EvtPDL::chg3(particleId);
// Must set the correct colour type manually here, since the evt.pdl file
// does not store this information. This is required for quarks otherwise
// Pythia cannot generate the decay properly.
int PDGId = EvtPDL::getStdHep(particleId);
int colour(0);
if (PDGId == 21) {
colour = 2; // gluons
} else if (PDGId <= 8 && PDGId > 0) {
colour = 1; // single quarks
}
double m0 = EvtPDL::getMeanMass(particleId);
double mWidth = EvtPDL::getWidth(particleId);
double mMin = EvtPDL::getMinMass(particleId);
double mMax = EvtPDL::getMaxMass(particleId);
double tau0 = EvtPDL::getctau(particleId);
std::ostringstream oss;
oss.setf(std::ios::scientific);
int absPDGCode = abs(PDGCode);
oss << absPDGCode << ":new = " << aliasName << " " << antiName << " "
- << spin << " " << charge << " " << colour << " "
+ << spin << " " << charge << " " << colour << " "
<< m0 << " " << mWidth << " " << mMin << " " << mMax << " "
<< tau0;
-
+
// Pass this information to Pythia
_thePythiaGenerator->readString(oss.str());
// Also store the absolute value of the PDG entry
// to keep track of which new particles have been added,
// which also automatically includes the anti-particle.
// We need to avoid creating new anti-particles when
// they already exist when the particle was added.
_addedPDGCodes[absPDGCode] = 1;
}
void EvtPythiaEngine::updatePhysicsParameters() {
// Update any more Pythia physics (or special particle) requirements/cuts etc..
// This should be used if any of the Pythia 6 parameters like JetSetPar MSTJ(i) = x
// are needed. Such commands will need to be implemented using the new interface
// pythiaGenerator->readString(cmd); Here cmd is a string telling Pythia 8
// what physics parameters to change. This will need to be done for the generic and
// alias generator pointers, as appropriate.
// Set the multiplicity level for hadronic weak decays
std::string multiWeakCut("ParticleDecays:multIncreaseWeak = 2.0");
_genericPythiaGen->readString(multiWeakCut);
_aliasPythiaGen->readString(multiWeakCut);
// Set the multiplicity level for all other decays
std::string multiCut("ParticleDecays:multIncrease = 4.5");
_genericPythiaGen->readString(multiCut);
_aliasPythiaGen->readString(multiCut);
//Now read in any custom configuration entered in the XML
GeneratorCommands commands = EvtExtGeneratorCommandsTable::getInstance()->getCommands("PYTHIA");
GeneratorCommands::iterator it = commands.begin();
for( ; it!=commands.end(); it++) {
Command command = *it;
std::vector<std::string> commandStrings;
if(command["VERSION"] == "PYTHIA6") {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Converting Pythia 6 command: "<<command["MODULE"]<<"("<<command["PARAM"]<<")="<<command["VALUE"]<<"..."<<endl;
commandStrings = convertPythia6Command(command);
} else if(command["VERSION"] == "PYTHIA8") {
commandStrings.push_back(command["MODULE"]+":"+command["PARAM"]+" = "+command["VALUE"]);
} else {
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Pythia command received by EvtPythiaEngine has bad version:"<<endl;
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Received "<<command["VERSION"]<<" but expected PYTHIA6 or PYTHIA8."<<endl;
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "The error is likely to be in EvtDecayTable.cpp"<<endl;
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "EvtGen will now abort."<<endl;
::abort();
}
std::string generator = command["GENERATOR"];
if(generator == "GENERIC" || generator == "Generic" || generator == "generic" ||
generator == "BOTH" || generator == "Both" || generator == "both") {
std::vector<std::string>::iterator it2 = commandStrings.begin();
for( ; it2!=commandStrings.end(); it2++) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Configuring generic Pythia generator: " << (*it2) << endl;
_genericPythiaGen->readString(*it2);
}
}
if(generator == "ALIAS" || generator == "Alias" || generator == "alias" ||
generator == "BOTH" || generator == "Both" || generator == "both") {
std::vector<std::string>::iterator it2 = commandStrings.begin();
for( ; it2!=commandStrings.end(); it2++) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Configuring alias Pythia generator: " << (*it2) << endl;
_aliasPythiaGen->readString(*it2);
}
}
}
}
#endif
diff --git a/src/EvtGenExternal/EvtTauola.cpp b/src/EvtGenExternal/EvtTauola.cpp
index 7297020..57a3233 100644
--- a/src/EvtGenExternal/EvtTauola.cpp
+++ b/src/EvtGenExternal/EvtTauola.cpp
@@ -1,82 +1,71 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Description: Use the Tauola external generator for tau decays
//
// Modification history:
//
// John Back May 2011 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenExternal/EvtTauola.hh"
#include "EvtGenExternal/EvtExternalGenFactory.hh"
#include "EvtGenModels/EvtAbsExternalGen.hh"
#include "EvtGenBase/EvtDecayBase.hh"
#include <string>
#include <iostream>
#include <cmath>
-EvtTauola::EvtTauola() {
-
- // Set the Tauola engine to a null pointer at first.
- // When we do the decay, we retrieve the pointer to the Tauola engine
- // and use that for all decays. All clones will use the same Tauola engine.
- _tauolaEngine = 0;
-
-}
-
-EvtTauola::~EvtTauola() {}
-
std::string EvtTauola::getName(){
return "TAUOLA";
}
EvtDecayBase* EvtTauola::clone(){
return new EvtTauola();
}
void EvtTauola::init(){
}
void EvtTauola::initProbMax(){
noProbMax();
}
void EvtTauola::decay( EvtParticle *p ){
// We check to see if the Tauola engine has been created before doing the decay.
- // This should only create the full Tauola engine once, and all clones will
+ // This should only create the full Tauola engine once, and all clones will
// point to the same engine.
- if (_tauolaEngine == 0) {
+ if (!_tauolaEngine) {
_tauolaEngine = EvtExternalGenFactory::getInstance()->getGenerator(EvtExternalGenFactory::TauolaGenId);
}
-
- if (_tauolaEngine != 0) {
+
+ if (_tauolaEngine) {
_tauolaEngine->doDecay(p);
}
}
diff --git a/src/EvtGenExternal/EvtTauolaEngine.cpp b/src/EvtGenExternal/EvtTauolaEngine.cpp
index 6b61090..b4d29f3 100644
--- a/src/EvtGenExternal/EvtTauolaEngine.cpp
+++ b/src/EvtGenExternal/EvtTauolaEngine.cpp
@@ -1,614 +1,609 @@
#ifdef EVTGEN_TAUOLA
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2011 University of Warwick, UK
//
// Module: EvtTauolaEngine
//
-// Description: Interface to the TAUOLA external generator, which
+// Description: Interface to the TAUOLA external generator, which
// decays tau particles
//
// Modification history:
//
// John Back May 2011 Module created
//
//------------------------------------------------------------------------
#include "EvtGenExternal/EvtTauolaEngine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtDecayTable.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtSymTable.hh"
#include "Tauola/Log.h"
#include "Tauola/Tauola.h"
#include <iostream>
#include <sstream>
#include <string>
#include <cmath>
+#include <memory>
using std::endl;
EvtTauolaEngine::EvtTauolaEngine(bool useEvtGenRandom) {
// PDG standard code integer ID for tau particle
- _tauPDG = 15;
+ _tauPDG = 15;
// Number of possible decay modes in Tauola
_nTauolaModes = 22;
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Setting up TAUOLA."<<endl;
// These three lines are not really necessary since they are the default.
// But they are here so that we know what the initial conditions are.
Tauolapp::Tauola::setDecayingParticle(_tauPDG); // tau PDG code
Tauolapp::Tauola::setSameParticleDecayMode(Tauolapp::Tauola::All); // all modes allowed
Tauolapp::Tauola::setOppositeParticleDecayMode(Tauolapp::Tauola::All); // all modes allowed
// Limit the number of warnings printed out. Can't choose zero here, unfortunately
Tauolapp::Log::SetWarningLimit(1);
// Initial the Tauola external generator
if (useEvtGenRandom == true) {
-
+
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Using EvtGen random number engine also for Tauola++"<<endl;
-
+
Tauolapp::Tauola::setRandomGenerator(EvtRandom::Flat);
-
+
}
// Use the BaBar-tuned chiral current calculations by default. Can be changed using the
// TauolaCurrentOption keyword in decay files
Tauolapp::Tauola::setNewCurrents(1);
Tauolapp::Tauola::initialize();
-
+
// Initialise various default parameters
// Neutral and charged spin propagator choices
_neutPropType = 0;
_posPropType = 0;
_negPropType = 0;
// Set-up possible decay modes _after_ we have read the (user) decay file
_initialised = false;
}
-EvtTauolaEngine::~EvtTauolaEngine() {
-
-}
-
void EvtTauolaEngine::initialise() {
// Set up all possible tau decay modes.
// This should be done just before the first doDecay() call,
// since we want to make sure that any decay.dec files are processed
// first to get lists of particle modes and their alias definitions
// (for creating EvtParticles with the right history information).
if (_initialised == false) {
this->setUpPossibleTauModes();
this->setOtherParameters();
_initialised = true;
}
}
void EvtTauolaEngine::setUpPossibleTauModes() {
// Get the decay table list defined by the decay.dec files.
- // Only look for the first tau particle decay mode definitions with the Tauola name,
+ // Only look for the first tau particle decay mode definitions with the Tauola name,
// since that generator only allows the same BFs for both tau+ and tau- decays.
- // We can not choose a specific tau decay event-by-event, since this is
+ // We can not choose a specific tau decay event-by-event, since this is
// only possible before we call Tauola::initialize().
// Otherwise, we could have selected a random mode ourselves for tau- and tau+
- // separately (via selecting a random number and comparing it to be less than
+ // separately (via selecting a random number and comparing it to be less than
// the cumulative BF) for each event.
int nPDL = EvtPDL::entries();
int iPDL(0);
bool gotAnyTauolaModes(false);
for (iPDL = 0; iPDL < nPDL; iPDL++) {
EvtId particleId = EvtPDL::getEntry(iPDL);
int PDGId = EvtPDL::getStdHep(particleId);
if (abs(PDGId) == _tauPDG && gotAnyTauolaModes == false) {
int aliasInt = particleId.getAlias();
// Get the list of decay modes for this tau particle (alias)
int nModes = EvtDecayTable::getInstance()->getNModes(aliasInt);
int iMode(0), iTauMode(0);
// Vector to store tau mode branching fractions.
// The size of this vector equals the total number of possible
// Tauola decay modes. Initialise all BFs to zero.
std::vector<double> tauolaModeBFs(_nTauolaModes);
for (iTauMode = 0; iTauMode < _nTauolaModes; iTauMode++) {
tauolaModeBFs[iTauMode] = 0.0;
}
-
+
double totalTauModeBF(0.0);
int nNonTauolaModes(0);
// Loop through each decay mode
for (iMode = 0; iMode < nModes; iMode++) {
EvtDecayBase* decayModel = EvtDecayTable::getInstance()->findDecayModel(aliasInt, iMode);
- if (decayModel != 0) {
+ if (decayModel) {
// Check that the decay model name matches TAUOLA
std::string modelName = decayModel->getName();
if (modelName == "TAUOLA") {
-
+
if (gotAnyTauolaModes == false) {gotAnyTauolaModes = true;}
-
+
// Extract the decay mode integer type and branching fraction
double BF = decayModel->getBranchingFraction();
int modeArrayInt = this->getModeInt(decayModel) - 1;
-
+
if (modeArrayInt >= 0 && modeArrayInt < _nTauolaModes) {
tauolaModeBFs[modeArrayInt] = BF;
totalTauModeBF += BF;
}
-
+
} else {
nNonTauolaModes++;
}
} // Decay mode exists
} // Loop over decay models
if (gotAnyTauolaModes == true && nNonTauolaModes > 0) {
-
+
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Please remove all non-TAUOLA decay modes for particle "
<<EvtPDL::name(particleId)<<endl;
::abort();
-
+
}
-
- // Normalise all (non-zero) tau mode BFs to sum up to 1.0, and
+
+ // Normalise all (non-zero) tau mode BFs to sum up to 1.0, and
// let Tauola know about these normalised branching fractions
if (totalTauModeBF > 0.0) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Setting TAUOLA BF modes using the definitions for the particle "
<<EvtPDL::name(particleId)<<endl;
for (iTauMode = 0; iTauMode < _nTauolaModes; iTauMode++) {
-
+
tauolaModeBFs[iTauMode] /= totalTauModeBF;
double modeBF = tauolaModeBFs[iTauMode];
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Setting TAUOLA BF for mode "<<iTauMode+1<<" = "<<modeBF<<endl;
Tauolapp::Tauola::setTauBr(iTauMode+1, modeBF);
-
+
}
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Any other TAUOLA BF modes for other tau particle decay mode definitions will be ignored!"
<<endl;
}
-
+
} // Got tau particle and have yet to get a TAUOLA mode
} // Loop through PDL entries
}
int EvtTauolaEngine::getModeInt(EvtDecayBase* decayModel) {
int modeInt(0);
- if (decayModel != 0) {
+ if (decayModel) {
int nVars = decayModel->getNArg();
if (nVars > 0) {
modeInt = static_cast<int>(decayModel->getArg(0));
}
}
return modeInt;
}
void EvtTauolaEngine::setOtherParameters() {
// Set other Tauola parameters using the "Defined" keyword in the decay file. If any of
// these are not found in the decay file, then default values are assumed/kept
// 1) TauolaNeutralProp: Specify the neutral propagator type used for spin matrix calculations
// "Z" (default), "Gamma", "Higgs" (H0), "PseudoHiggs" (A0), "MixedHiggs" (A0/H0)
int iErr(0);
std::string neutPropName = EvtSymTable::get("TauolaNeutralProp", iErr);
if (neutPropName == "Z0" || neutPropName == "Z") {
_neutPropType = Tauolapp::TauolaParticle::Z0;
} else if (neutPropName == "Gamma") {
_neutPropType = Tauolapp::TauolaParticle::GAMMA;
} else if (neutPropName == "Higgs") {
_neutPropType = Tauolapp::TauolaParticle::HIGGS;
} else if (neutPropName == "PseudoHiggs") {
_neutPropType = Tauolapp::TauolaParticle::HIGGS_A;
} else if (neutPropName == "MixedHiggs") {
_neutPropType = Tauolapp::Tauola::getHiggsScalarPseudoscalarPDG();
}
if (_neutPropType != 0) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"TAUOLA neutral spin propagator PDG id set to "<<_neutPropType<<endl;
}
// 2) TauolaChargedProp: Specify the charged propagator type used for spin matrix calculations
// "W" (default), "Higgs" (H+/H-)
std::string chargedPropName = EvtSymTable::get("TauolaChargedProp", iErr);
if (chargedPropName == "W") {
_negPropType = Tauolapp::TauolaParticle::W_MINUS;
_posPropType = Tauolapp::TauolaParticle::W_PLUS;
} else if (chargedPropName == "Higgs") {
_negPropType = Tauolapp::TauolaParticle::HIGGS_MINUS;
_posPropType = Tauolapp::TauolaParticle::HIGGS_PLUS;
}
if (_negPropType != 0) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"TAUOLA negative charge spin propagator PDG id set to "
<<_negPropType<<endl;
}
if (_posPropType != 0) {
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"TAUOLA positive charge spin propagator PDG id set to "
<<_posPropType<<endl;
- }
-
+ }
+
// 3) TauolaHiggsMixingAngle: Specify the mixing angle between the neutral scalar & pseudoscalar Higgs
// A0/H0; the default mixing angle is pi/4 radians
std::string mixString = EvtSymTable::get("TauolaHiggsMixingAngle", iErr);
// If the definition name is not found, get() just returns the first argument string
if (mixString != "TauolaHiggsMixingAngle") {
double mixAngle = std::atof(mixString.c_str());
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"TAUOLA Higgs mixing angle set to "<<mixAngle<<" radians"<<endl;
Tauolapp::Tauola::setHiggsScalarPseudoscalarMixingAngle(mixAngle);
}
// 4) TauolaBRi, where i = 1,2,3,4: Redefine sub-channel branching fractions using the setTaukle
// function, after initialized() has been called. Default values = 0.5, 0.5, 0.5 and 0.6667
int j(1);
std::vector<double> BRVect;
BRVect.push_back(0.5);
BRVect.push_back(0.5);
BRVect.push_back(0.5);
BRVect.push_back(0.6667);
for (j = 1; j < 5; j++) {
std::ostringstream o;
o << j;
std::string BRName = "TauolaBR" + o.str();
std::string stringBR = EvtSymTable::get(BRName, iErr);
// If the definition name is not found, get() just returns the first argument string
if (stringBR != BRName) {
BRVect[j-1] = std::atof(stringBR.c_str());
}
}
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"TAUOLA::setTaukle values are "<<BRVect[0]
<<", "<<BRVect[1]<<", "<<BRVect[2]<<", "<<BRVect[3]<<endl;
Tauolapp::Tauola::setTaukle(BRVect[0], BRVect[1], BRVect[2], BRVect[3]);
// 5) Specify the hadronic current option, e.g. orig CLEO = 0, BaBar-tuned = 1 (default), ...
// No check is made by EvtGen on valid integer options - its just passed to Tauola
std::string currentOption = EvtSymTable::get("TauolaCurrentOption", iErr);
// If the definition name is not found, get() just returns the first argument string
if (currentOption != "TauolaCurrentOption") {
int currentOpt = std::atoi(currentOption.c_str());
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"TAUOLA current option = "<<currentOpt<<endl;
Tauolapp::Tauola::setNewCurrents(currentOpt);
}
}
bool EvtTauolaEngine::doDecay(EvtParticle* tauParticle) {
if (_initialised == false) {this->initialise();}
if (tauParticle == 0) {return false;}
// Check that we have a tau particle.
EvtId partId = tauParticle->getId();
if (abs(EvtPDL::getStdHep(partId)) != _tauPDG) {return false;}
int nTauDaug = tauParticle->getNDaug();
// If the number of tau daughters is not zero, then we have already decayed
// it using Tauola/another decay algorithm.
if (nTauDaug > 0) {return true;}
this->decayTauEvent(tauParticle);
return true;
}
void EvtTauolaEngine::decayTauEvent(EvtParticle* tauParticle) {
// Either we have a tau particle within a decay chain, or a single particle.
- // Create a dummy HepMC event & vertex for the parent particle, containing the tau as
- // one of the outgoing particles. If we have a decay chain, the parent will be the
- // incoming particle, while the daughters, including the tau, are outgoing particles.
- // For the single particle case, the incoming particle is null, while the single tau
+ // Create a dummy HepMC event & vertex for the parent particle, containing the tau as
+ // one of the outgoing particles. If we have a decay chain, the parent will be the
+ // incoming particle, while the daughters, including the tau, are outgoing particles.
+ // For the single particle case, the incoming particle is null, while the single tau
// is the only outgoing particle.
- // We can then pass this event to Tauola which should then decay the tau particle.
+ // We can then pass this event to Tauola which should then decay the tau particle.
// We also consider all other tau particles from the parent decay in the logic below.
-
+
// Create the dummy event.
- GenEvent* theEvent = new GenEvent(Units::GEV,Units::MM);
-
+ auto theEvent = std::make_unique<GenEvent>(Units::GEV, Units::MM);
+
// Create the decay "vertex".
GenVertexPtr theVertex = newGenVertexPtr();
theEvent->add_vertex(theVertex);
-
+
// Get the parent of this tau particle
EvtParticle* theParent = tauParticle->getParent();
GenParticlePtr hepMCParent(0);
// Assign the parent particle as the incoming particle to the vertex.
- if (theParent != 0) {
+ if (theParent) {
hepMCParent = this->createGenParticle(theParent);
theVertex->add_particle_in(hepMCParent);
} else {
// The tau particle has no parent. Set "itself" as the incoming particle for the first vertex.
- // This is needed, otherwise Tauola warns of momentum non-conservation for this (1st) vertex.
+ // This is needed, otherwise Tauola warns of momentum non-conservation for this (1st) vertex.
GenParticlePtr tauGenInit = this->createGenParticle(tauParticle);
theVertex->add_particle_in(tauGenInit);
}
// Find all daughter particles and assign them as outgoing particles to the vertex.
// This will include the tau particle we are currently processing.
// If the parent decay has more than one tau particle, we need to include them as well.
// This is important since Tauola needs the correct physics correlations: we do not
// want Tauola to decay each particle separately if they are from tau pair combinations.
- // Tauola will process the event, and we will create EvtParticles from all tau decay
+ // Tauola will process the event, and we will create EvtParticles from all tau decay
// products, i.e. the tau particle we currently have and any other tau particles.
// EvtGen will try to decay the other tau particle(s) by calling EvtTauola and therefore
// this function. However, we check to see if the tau candidate has any daughters already.
// If it does, then we have already set the tau decay products from Tauola.
-
+
// Map to store (HepMC,EvtParticle) pairs for each tau candidate from the parent
// decay. This is needed to find out what EvtParticle corresponds to a given tau HepMC
// candidate: we do not want to recreate existing EvtParticle pointers.
std::map<GenParticlePtr, EvtParticle*> tauMap;
// Keep track of the original EvtId of the parent particle, since we may need to set
// the equivalent HepMCParticle has a gauge boson to let Tauola calculate spin effects
EvtId origParentId(-1,-1);
- if (theParent != 0) {
-
+ if (theParent) {
+
// Original parent id
origParentId = EvtPDL::getId(theParent->getName());
-
+
// Find all tau particles in the decay tree and store them in the map.
// Keep track of how many tau daughters this parent particle has
int nTaus(0);
int nDaug(theParent->getNDaug());
int iDaug(0);
-
+
for (iDaug = 0; iDaug < nDaug; iDaug++) {
-
+
EvtParticle* theDaughter = theParent->getDaug(iDaug);
-
- if (theDaughter != 0) {
-
+
+ if (theDaughter) {
+
GenParticlePtr hepMCDaughter = this->createGenParticle(theDaughter);
theVertex->add_particle_out(hepMCDaughter);
EvtId theId = theDaughter->getId();
int PDGInt = EvtPDL::getStdHep(theId);
-
+
if (abs(PDGInt) == _tauPDG) {
// Delete any siblings for the tau particle
if (theDaughter->getNDaug() > 0) {theDaughter->deleteDaughters(false);}
tauMap[hepMCDaughter] = theDaughter;
nTaus++;
} else {
// Treat all other particles as "stable"
hepMCDaughter->set_status(Tauolapp::TauolaParticle::STABLE);
}
-
+
} // theDaughter != 0
} // Loop over daughters
// For the parent particle, artifically set the PDG to a boson with the same 4-momentum
- // so that spin correlations are calculated inside Tauola.
+ // so that spin correlations are calculated inside Tauola.
// This leaves the original parent _EvtParticle_ unchanged
- if (nTaus > 0 && hepMCParent != 0) {
+ if (nTaus > 0 && hepMCParent) {
int parCharge = EvtPDL::chg3(origParentId)/3; // (3*particle charge)/3 = particle charge
if (parCharge == 0 && _neutPropType != 0) {
hepMCParent->set_pdg_id(_neutPropType);
} else if (parCharge == -1 && _negPropType != 0) {
hepMCParent->set_pdg_id(_negPropType);
} else if (parCharge == 1 && _posPropType != 0) {
hepMCParent->set_pdg_id(_posPropType);
}
}
} else {
// We only have the one tau particle. Store only this in the map.
GenParticlePtr singleTau = this->createGenParticle(tauParticle);
theVertex->add_particle_out(singleTau);
tauMap[singleTau] = tauParticle;
}
-
+
// Now pass the event to Tauola for processing
// Create a Tauola event object
#ifdef EVTGEN_HEPMC3
- Tauolapp::TauolaHepMC3Event tauolaEvent(theEvent);
+ Tauolapp::TauolaHepMC3Event tauolaEvent(theEvent.get());
#else
- Tauolapp::TauolaHepMCEvent tauolaEvent(theEvent);
+ Tauolapp::TauolaHepMCEvent tauolaEvent(theEvent.get());
#endif
// Run the Tauola algorithm
tauolaEvent.decayTaus();
// Loop over all tau particles in the HepMC event and create their EvtParticle daughters.
// Store all final "stable" descendent particles as the tau daughters, i.e.
// let Tauola decay any resonances such as a_1 or rho.
// If there is more than one tau particle in the event, then also create the
- // corresponding EvtParticles for their daughters as well. They will not be
- // re-decayed since we check at the start of this function if the tau particle has
+ // corresponding EvtParticles for their daughters as well. They will not be
+ // re-decayed since we check at the start of this function if the tau particle has
// any daughters before running Tauola decayTaus().
-
+
#ifdef EVTGEN_HEPMC3
for (auto aParticle: theEvent->particles()) {
#else
HepMC::GenEvent::particle_iterator eventIter;
- for (eventIter = theEvent->particles_begin(); eventIter != theEvent->particles_end();
+ for (eventIter = theEvent->particles_begin(); eventIter != theEvent->particles_end();
++eventIter) {
-
+
// Check to see if we have a tau particle
HepMC::GenParticle* aParticle = (*eventIter);
#endif
-
- if (aParticle != 0 && abs(aParticle->pdg_id()) == _tauPDG) {
-
+
+ if (aParticle && abs(aParticle->pdg_id()) == _tauPDG) {
+
// Find out what EvtParticle corresponds to the HepMC particle.
// We need this to create and attach EvtParticle daughters.
EvtParticle* tauEvtParticle = tauMap[aParticle];
- if (tauEvtParticle != 0) {
+ if (tauEvtParticle) {
// Get the tau 4-momentum in the lab (first mother) frame. We need to boost
// all the tau daughters to this frame, such that daug.getP4() is in the tau restframe.
EvtVector4R tauP4CM = tauEvtParticle->getP4Lab();
tauP4CM.set(tauP4CM.get(0), -tauP4CM.get(1), -tauP4CM.get(2), -tauP4CM.get(3));
-
+
// Get the decay vertex for the tau particle
GenVertexPtr endVertex = aParticle->end_vertex();
-
-
+
std::vector<EvtId> daugIdVect;
std::vector<EvtVector4R> daugP4Vect;
-
+
// Loop through all descendants
#ifdef EVTGEN_HEPMC3
for (auto tauDaug: HepMC3::Relatives::DESCENDANTS(endVertex)) {
#else
HepMC::GenVertex::particle_iterator tauIter;
// Loop through all descendants
for (tauIter = endVertex->particles_begin(HepMC::descendants);
tauIter != endVertex->particles_end(HepMC::descendants); ++tauIter) {
-
+
HepMC::GenParticle* tauDaug = (*tauIter);
#endif
// Check to see if this descendant has its own decay vertex, e.g. rho resonance.
// If so, skip this daughter and continue looping through the descendant list
// until we reach the final "stable" products (e.g. pi pi from rho -> pi pi).
GenVertexPtr daugDecayVtx = tauDaug->end_vertex();
- if (daugDecayVtx != 0) {continue;}
-
+ if (daugDecayVtx) {continue;}
+
// Store the particle id and 4-momentum
int tauDaugPDG = tauDaug->pdg_id();
EvtId daugId = EvtPDL::evtIdFromStdHep(tauDaugPDG);
daugIdVect.push_back(daugId);
-
+
FourVector tauDaugP4 = tauDaug->momentum();
double tauDaug_px = tauDaugP4.px();
double tauDaug_py = tauDaugP4.py();
double tauDaug_pz = tauDaugP4.pz();
double tauDaug_E = tauDaugP4.e();
-
+
EvtVector4R daugP4(tauDaug_E, tauDaug_px, tauDaug_py, tauDaug_pz);
daugP4Vect.push_back(daugP4);
-
+
} // Loop over HepMC tau daughters
-
+
// Create the tau EvtParticle daughters and assign their ids and 4-mtm
int nDaug = daugIdVect.size();
tauEvtParticle->makeDaughters(nDaug, daugIdVect);
int iDaug(0);
for (iDaug = 0; iDaug < nDaug; iDaug++) {
-
+
EvtParticle* theDaugPart = tauEvtParticle->getDaug(iDaug);
-
- if (theDaugPart != 0) {
+
+ if (theDaugPart) {
EvtId theDaugId = daugIdVect[iDaug];
EvtVector4R theDaugP4 = daugP4Vect[iDaug];
theDaugP4.applyBoostTo(tauP4CM); // Boost the 4-mtm to the tau rest frame
theDaugPart->init(theDaugId, theDaugP4);
}
-
+
} // Loop over tau daughters
-
+
}
} // We have a tau HepMC particle in the event
-
+
}
-
+
theEvent->clear();
- delete theEvent;
}
GenParticlePtr EvtTauolaEngine::createGenParticle(EvtParticle* theParticle) {
// Method to create an HepMC::GenParticle version of the given EvtParticle.
if (theParticle == 0) {return 0;}
// Get the 4-momentum (E, px, py, pz) for the EvtParticle
EvtVector4R p4 = theParticle->getP4Lab();
// Convert this to the HepMC 4-momentum
double E = p4.get(0);
double px = p4.get(1);
double py = p4.get(2);
double pz = p4.get(3);
FourVector hepMC_p4(px, py, pz, E);
int PDGInt = EvtPDL::getStdHep(theParticle->getId());
// Set the status flag for the particle.
int status = Tauolapp::TauolaParticle::HISTORY;
GenParticlePtr genParticle = newGenParticlePtr(hepMC_p4, PDGInt, status);
return genParticle;
}
#endif
diff --git a/src/EvtGenModels/EvtBBScalar.cpp b/src/EvtGenModels/EvtBBScalar.cpp
index ac93c0e..2e96f5e 100644
--- a/src/EvtGenModels/EvtBBScalar.cpp
+++ b/src/EvtGenModels/EvtBBScalar.cpp
@@ -1,452 +1,452 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech
//
// Module: EvtGen/EvtBBScalar
//
// Description:Implementation of the decay B- -> lambda p_bar pi according to
// hep-ph/0204185, hep-ph/0211240
// This model is intended to be applicable to all decays of the type B-> baryon baryon scalar
//
// Modification history:
//
// Jan Strube March 24, 2006 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtBBScalar.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include <cmath>
using namespace std;
const float pi = 3.14159;
const EvtComplex EvtBBScalar::I = EvtComplex(0, 1);
const EvtComplex EvtBBScalar::V_ub = EvtComplex(3.67e-3*cos(60/180*pi), 3.67e-3*cos(60/180*pi));
const EvtComplex EvtBBScalar::V_us_star = EvtComplex(0.22, 0);
const EvtComplex EvtBBScalar::a1 = EvtComplex(1.05, 0);
const EvtComplex EvtBBScalar::V_tb = EvtComplex(0.99915, 0);
const EvtComplex EvtBBScalar::V_ts_star = EvtComplex(-0.04029-0.000813*cos(60/180*pi), -0.000813*cos(60/180*pi));
const EvtComplex EvtBBScalar::a4 = EvtComplex(-387.3e-4, -121e-4);
const EvtComplex EvtBBScalar::a6 = EvtComplex(-555.3e-4, -121e-4);
const double EvtBBScalar::x[] = {420.96, -10485.50, 100639.97, -433916.61, 613780.15};
const double EvtBBScalar::y[] = {292.62, -735.73};
const double EvtBBScalar::m_s = 0.120;
const double EvtBBScalar::m_u = 0.029 * 0.120;
const double EvtBBScalar::m_b = 4.88;
EvtBBScalar::EvtBBScalar()
: EvtDecayAmp()
, _massRatio(0)
, _baryonMassSum(0)
{
FormFactor dummy;
dummy.value = 0.36;
dummy.sigma1 = 0.43;
dummy.sigma2 = 0.0;
dummy.mV = 5.42;
_f1Map.insert(make_pair(string("K"), dummy));
dummy.sigma1 = 0.70;
dummy.sigma2 = 0.27;
_f0Map.insert(make_pair(string("K"), dummy));
dummy.value = 0.29;
dummy.sigma1 = 0.48;
dummy.sigma2 = 0.0;
dummy.mV = 5.32;
_f1Map.insert(make_pair(string("pi"), dummy));
dummy.sigma1 = 0.76;
dummy.sigma2 = 0.28;
_f0Map.insert(make_pair(string("pi"), dummy));
}
std::string EvtBBScalar::getName(){
return "B_TO_2BARYON_SCALAR";
}
-EvtDecayBase* EvtBBScalar::clone(){
+EvtBBScalar* EvtBBScalar::clone(){
return new EvtBBScalar;
}
void EvtBBScalar::setKnownBaryonTypes(const EvtId& baryon) {
int baryonId = EvtPDL::getStdHep(baryon);
if (EvtPDL::getStdHep(EvtPDL::getId("Lambda0")) == baryonId
or EvtPDL::getStdHep(EvtPDL::getId("anti-Lambda0")) == baryonId ) {
_baryonCombination.set(Lambda);
} else if (EvtPDL::getStdHep(EvtPDL::getId("p+")) == baryonId
or EvtPDL::getStdHep(EvtPDL::getId("anti-p-")) == baryonId ) {
_baryonCombination.set(Proton);
} else if (EvtPDL::getStdHep(EvtPDL::getId("n0")) == baryonId
or EvtPDL::getStdHep(EvtPDL::getId("anti-n0")) == baryonId) {
_baryonCombination.set(Neutron);
} else if (EvtPDL::getStdHep(EvtPDL::getId("Sigma0")) == baryonId
or EvtPDL::getStdHep(EvtPDL::getId("anti-Sigma0")) == baryonId ) {
_baryonCombination.set(Sigma0);
} else if (EvtPDL::getStdHep(EvtPDL::getId("Sigma-")) == baryonId
or EvtPDL::getStdHep(EvtPDL::getId("anti-Sigma+")) == baryonId ) {
_baryonCombination.set(Sigma_minus);
} else if (EvtPDL::getStdHep(EvtPDL::getId("Xi0")) == baryonId
or EvtPDL::getStdHep(EvtPDL::getId("anti-Xi0")) == baryonId) {
_baryonCombination.set(Xi0);
} else if (EvtPDL::getStdHep(EvtPDL::getId("Xi-")) == baryonId
or EvtPDL::getStdHep(EvtPDL::getId("anti-Xi+")) == baryonId) {
_baryonCombination.set(Xi_minus);
} else {
EvtGenReport(EVTGEN_ERROR, "EvtGen")
<< "EvtBBScalar::init: Don't know what to do with this type as the first or second baryon\n";
exit(2);
}
}
double EvtBBScalar::baryonF1F2(double t) const {
// check for known form factors for combination of baryons
if (_baryonCombination.test(Lambda) and _baryonCombination.test(Proton)) {
return -sqrt(1.5) * G_p(t);
} else if (_baryonCombination.test(Sigma0) and _baryonCombination.test(Proton)) {
return -sqrt(0.5) * (G_p(t) + 2* G_n(t));
} else if (_baryonCombination.test(Sigma_minus) and _baryonCombination.test(Neutron)) {
return -G_p(t) - 2* G_n(t);
} else if (_baryonCombination.test(Xi0) and _baryonCombination.test(Sigma_minus)) {
return G_p(t) - G_n(t);
} else if (_baryonCombination.test(Xi_minus) and _baryonCombination.test(Sigma0)) {
return sqrt(0.5) * (G_p(t) - G_n(t));
} else if (_baryonCombination.test(Xi_minus) and _baryonCombination.test(Lambda)) {
return sqrt(1.5) * (G_p(t) + G_n(t));
} else {
EvtGenReport(EVTGEN_ERROR, "EvtGen")
<< "EvtBBScalar::baryonF1F2: Don't know what to do with this type as the first or second baryon\n";
exit(2);
}
}
double EvtBBScalar::formFactorFit(double t, const vector<double>& params) const {
static const double gamma = 2.148;
static const double Lambda_0 = 0.3;
double result = 0;
for (size_t i=0; i<params.size(); ++i) {
result += params[i]/pow(t, static_cast<int>(i+1));
}
return result * pow(log(t/pow(Lambda_0, 2)), -gamma);
}
double EvtBBScalar::G_p(double t) const {
const vector<double> v_x(x, x+5);
return formFactorFit(t, v_x);
}
double EvtBBScalar::G_n(double t) const {
const vector<double> v_y(y, y+2);
return -formFactorFit(t, v_y);
}
double EvtBBScalar::baryon_gA(double t) const {
// check for known form factors for combination of baryons
if (_baryonCombination.test(Lambda) and _baryonCombination.test(Proton)) {
return -1/sqrt(6.) * (D_A(t) + 3*F_A(t));
} else if (_baryonCombination.test(Sigma0) and _baryonCombination.test(Proton)) {
return 1/sqrt(2.) * (D_A(t) - F_A(t));
} else if (_baryonCombination.test(Sigma_minus) and _baryonCombination.test(Neutron)) {
return D_A(t) - F_A(t);
} else if (_baryonCombination.test(Xi0) and _baryonCombination.test(Sigma_minus)) {
return D_A(t) + F_A(t);
} else if (_baryonCombination.test(Xi_minus) and _baryonCombination.test(Sigma0)) {
return 1/sqrt(2.) * (D_A(t) + F_A(t));
} else if (_baryonCombination.test(Xi_minus) and _baryonCombination.test(Lambda)) {
return -1 / sqrt(6.) * (D_A(t) - 3*F_A(t));
} else {
EvtGenReport(EVTGEN_ERROR, "EvtGen")
<< "EvtBBScalar::baryon_gA: Don't know what to do with this type as the first or second baryon\n";
exit(2);
}
}
double EvtBBScalar::baryon_gP(double t) const {
// check for known form factors for combination of baryons
if (_baryonCombination.test(Lambda) and _baryonCombination.test(Proton)) {
return -1/sqrt(6.) * (D_P(t) + 3*F_P(t));
} else if (_baryonCombination.test(Sigma0) and _baryonCombination.test(Proton)) {
return 1/sqrt(2.) * (D_P(t) - F_P(t));
} else if (_baryonCombination.test(Sigma_minus) and _baryonCombination.test(Neutron)) {
return D_P(t) - F_P(t);
} else if (_baryonCombination.test(Xi0) and _baryonCombination.test(Sigma_minus)) {
return D_P(t) + F_P(t);
} else if (_baryonCombination.test(Xi_minus) and _baryonCombination.test(Sigma0)) {
return 1/sqrt(2.) * (D_P(t) + F_P(t));
} else if (_baryonCombination.test(Xi_minus) and _baryonCombination.test(Lambda)) {
return -1 / sqrt(6.) * (D_P(t) - 3*F_P(t));
} else {
EvtGenReport(EVTGEN_ERROR, "EvtGen")
<< "EvtBBScalar::baryon_gP: Don't know what to do with this type as the first or second baryon\n";
exit(2);
}
}
double EvtBBScalar::baryon_fS(double t) const {
// check for known form factors for combination of baryons
if (_baryonCombination.test(Lambda) and _baryonCombination.test(Proton)) {
return -1/sqrt(6.) * (D_S(t) + 3*F_S(t));
} else if (_baryonCombination.test(Sigma0) and _baryonCombination.test(Proton)) {
return 1/sqrt(2.) * (D_S(t) - F_S(t));
} else if (_baryonCombination.test(Sigma_minus) and _baryonCombination.test(Neutron)) {
return D_S(t) - F_S(t);
} else if (_baryonCombination.test(Xi0) and _baryonCombination.test(Sigma_minus)) {
return D_S(t) + F_S(t);
} else if (_baryonCombination.test(Xi_minus) and _baryonCombination.test(Sigma0)) {
return 1/sqrt(2.) * (D_S(t) + F_S(t));
} else if (_baryonCombination.test(Xi_minus) and _baryonCombination.test(Lambda)) {
return -1 / sqrt(6.) * (D_S(t) - 3*F_S(t));
} else {
EvtGenReport(EVTGEN_ERROR, "EvtGen")
<< "EvtBBScalar::baryon_fS: Don't know what to do with this type as the first or second baryon\n";
exit(2);
}
}
double EvtBBScalar::D_A(double t) const {
const double d_tilde[] = {x[0]-1.5*y[0], -478};
const vector<double> v_d_tilde(d_tilde, d_tilde+2);
return formFactorFit(t, v_d_tilde);
}
double EvtBBScalar::F_A(double t) const {
const double f_tilde[] = {2./3*x[0]+0.5*y[0], -478};
const vector<double> v_f_tilde(f_tilde, f_tilde+2);
return formFactorFit(t, v_f_tilde);
}
double EvtBBScalar::D_P(double t) const {
const double d_bar[] = {1.5*y[0]* _massRatio, /*-952*/0};
const vector<double> v_d_bar(d_bar, d_bar+2);
return formFactorFit(t, v_d_bar);
}
double EvtBBScalar::F_P(double t) const {
const double f_bar[] = {(x[0]-0.5*y[0]) * _massRatio, /*-952*/0};
const vector<double> v_f_bar(f_bar, f_bar+2);
return formFactorFit(t, v_f_bar);
}
double EvtBBScalar::D_S(double t) const {
return -1.5 * _massRatio * G_n(t);
}
double EvtBBScalar::F_S(double t) const {
return (G_p(t) + 0.5*G_n(t)) * _massRatio;
}
double EvtBBScalar::baryon_hA(double t) const {
return (1/_massRatio*baryon_gP(t)-baryon_gA(t))*pow(_baryonMassSum, 2)/t;
}
void EvtBBScalar::init() {
// no arguments, daughter lambda p_bar pi
// charge conservation is checked by base class
checkNArg(0);
checkNDaug(3);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0, EvtSpinType::DIRAC);
checkSpinDaughter(1, EvtSpinType::DIRAC);
checkSpinDaughter(2, EvtSpinType::SCALAR);
EvtId baryon1 = getDaug(0);
EvtId baryon2 = getDaug(1);
EvtId scalar = getDaug(2);
int scalarId = EvtPDL::getStdHep(scalar);
-
+
// Different form factors for the B-pi or B-K transition.
if ( scalarId == EvtPDL::getStdHep(EvtPDL::getId("pi+"))
or scalarId == EvtPDL::getStdHep(EvtPDL::getId("pi-"))
or scalarId == EvtPDL::getStdHep(EvtPDL::getId("pi0"))) {
_scalarType = "pi";
} else if (scalarId == EvtPDL::getStdHep(EvtPDL::getId("K+"))
or scalarId == EvtPDL::getStdHep(EvtPDL::getId("K-"))
or scalarId == EvtPDL::getStdHep(EvtPDL::getId("K0"))
or scalarId == EvtPDL::getStdHep(EvtPDL::getId("anti-K0"))) {
_scalarType = "K";
} else {
EvtGenReport(EVTGEN_ERROR, "EvtGen")
<< "EvtBBScalar::init: Can only deal with Kaons or pions as the third particle\n"
<< "\tFound: " << scalarId << endl;
exit(2);
}
// check for known particles
setKnownBaryonTypes(baryon1);
setKnownBaryonTypes(baryon2);
double mass1 = EvtPDL::getMass(baryon1);
double mass2 = EvtPDL::getMass(baryon2);
// This whole model deals only with baryons that differ in s-u
if (mass1 > mass2)
_massRatio = (mass1-mass2) / (m_s-m_u);
else
_massRatio = (mass2-mass1) / (m_s-m_u);
_baryonMassSum = mass1 + mass2;
}
// initialize phasespace and calculate the amplitude
void EvtBBScalar::decay(EvtParticle* p) {
p->initializePhaseSpace(getNDaug(), getDaugs());
EvtVector4R B_Momentum = p->getP4Lab();
EvtDiracParticle* theLambda = dynamic_cast<EvtDiracParticle*>(p->getDaug(0));
EvtDiracParticle* theAntiP = dynamic_cast<EvtDiracParticle*>(p->getDaug(1));
EvtScalarParticle* theScalar = dynamic_cast<EvtScalarParticle*>(p->getDaug(2));
EvtVector4R scalarMomentum = theScalar->getP4Lab();
// The amplitude consists of three matrix elements. These will be calculated one by one here.
-
+
// loop over all possible spin states
for (int i=0; i<2; ++i) {
EvtDiracSpinor lambdaPol = theLambda->spParent(i);
for (int j=0; j<2; ++j) {
EvtDiracSpinor antiP_Pol = theAntiP->spParent(j);
EvtVector4C theAmplitudePartA = amp_A(B_Momentum, scalarMomentum);
EvtComplex amplitude;
for (int index=0; index<4; ++index) {
amplitude += theAmplitudePartA.get(index)
* ( const_B*amp_B(theLambda, lambdaPol, theAntiP, antiP_Pol, index)
+ const_C*amp_C(theLambda, lambdaPol, theAntiP, antiP_Pol, index) );
- }
+ }
vertex(i, j, amplitude);
}
}
}
void EvtBBScalar::initProbMax()
{
// setProbMax(1);
setProbMax(0.2); // found by trial and error
}
// Form factor f1 for B-pi transition
double EvtBBScalar::B_pi_f1(double t) const
{
FormFactor f = _f1Map[_scalarType];
double mv2 = f.mV*f.mV;
return f.value / ((1-t/mv2) * (1-f.sigma1*t/mv2+f.sigma2*t*t/mv2/mv2));
}
// Form factor f0 for B-pi transition
double EvtBBScalar::B_pi_f0(double t) const
{
FormFactor f = _f0Map[_scalarType];
double mv2 = f.mV*f.mV;
return f.value / (1 - f.sigma1*t/mv2 + f.sigma2*t*t/mv2/mv2);
}
// constants of the B and C parts of the amplitude
const EvtComplex EvtBBScalar::const_B = V_ub*V_us_star*a1 - V_tb*V_ts_star*a4;
const EvtComplex EvtBBScalar::const_C = 2*a6*V_tb*V_ts_star;
// part A of the amplitude, see hep-ph/0204185
const EvtVector4C
EvtBBScalar::amp_A(const EvtVector4R& p4B, const EvtVector4R& p4Scalar)
{
double mB2 = p4B.mass2();
double mScalar2 = p4Scalar.mass2();
double t = (p4B-p4Scalar).mass2();
return ((p4B+p4Scalar) - (mB2-mScalar2)/t * (p4B-p4Scalar)) * B_pi_f1(t)
+ (mB2-mScalar2)/t * (p4B-p4Scalar) * B_pi_f0(t);
}
// part B of the amplitude, Vector and Axial Vector parts
const EvtComplex
EvtBBScalar::amp_B(const EvtDiracParticle* baryon1, const EvtDiracSpinor& b1Pol
, const EvtDiracParticle* baryon2, const EvtDiracSpinor& b2Pol
, int index)
{
return amp_B_vectorPart(baryon1, b1Pol, baryon2, b2Pol, index)
- amp_B_axialPart(baryon1, b1Pol, baryon2, b2Pol, index);
}
const EvtComplex
EvtBBScalar::amp_B_vectorPart(const EvtDiracParticle* baryon1, const EvtDiracSpinor& b1Pol
, const EvtDiracParticle* baryon2, const EvtDiracSpinor& b2Pol
, int index)
{
double t = (baryon1->getP4Lab() + baryon2->getP4Lab()).mass2();
EvtGammaMatrix gamma;
for (int i=0; i<4; ++i) {
gamma += EvtTensor4C::g().get(index, i) * EvtGammaMatrix::g(i);
}
// The F2 contribution that is written out in the paper is neglected here.
// see hep-ph/0204185
EvtDiracSpinor A = EvtComplex(baryonF1F2(t))*b2Pol ;
EvtDiracSpinor Adjb1Pol = b1Pol.adjoint() ;
EvtDiracSpinor gammaA = gamma * A ;
return Adjb1Pol * gammaA ;
- // return b1Pol.adjoint()*(gamma*(EvtComplex(baryonF1F2(t))*b2Pol));
+ // return b1Pol.adjoint()*(gamma*(EvtComplex(baryonF1F2(t))*b2Pol));
}
const EvtComplex
EvtBBScalar::amp_B_axialPart(const EvtDiracParticle* baryon1, const EvtDiracSpinor& b1Pol
, const EvtDiracParticle* baryon2, const EvtDiracSpinor& b2Pol
, int index)
{
EvtGammaMatrix gamma;
for (int i=0; i<4; ++i) {
gamma += EvtTensor4C::g().get(index, i) * EvtGammaMatrix::g(i);
}
double t = (baryon1->getP4Lab() + baryon2->getP4Lab()).mass2();
double mSum = baryon1->mass() + baryon2->mass();
EvtVector4C momentum_upper = (baryon1->getP4Lab()+baryon2->getP4Lab());
EvtVector4C momentum;
for (int mu=0; mu<0; ++mu) {
EvtComplex dummy;
for (int i=0; i<4; ++i) {
dummy += EvtTensor4C::g().get(index, i)*momentum_upper.get(i);
}
momentum.set(mu, dummy);
}
return b1Pol.adjoint() * (((baryon_gA(t) * gamma +
EvtGammaMatrix::id()*baryon_hA(t)/mSum*momentum.get(index))
* EvtGammaMatrix::g5()) * b2Pol);
}
// part C of the amplitude, Scalar and Pseudoscalar parts
const EvtComplex
EvtBBScalar::amp_C(const EvtDiracParticle* baryon1, const EvtDiracSpinor& b1Pol
, const EvtDiracParticle* baryon2, const EvtDiracSpinor& b2Pol
, int index)
{
EvtVector4C baryonSumP4_upper = baryon1->getP4Lab() + baryon2->getP4Lab();
EvtVector4C baryonSumP4;
for (int mu=0; mu<4; ++mu) {
EvtComplex dummy;
for (int i=0; i<4; ++i) {
dummy += EvtTensor4C::g().get(mu, i) * baryonSumP4_upper.get(i);
}
baryonSumP4.set(mu, dummy);
}
double t = (baryon1->getP4Lab() + baryon2->getP4Lab()).mass2();
return baryonSumP4.get(index)/(m_b-m_u)*(amp_C_scalarPart(b1Pol, b2Pol, t) + amp_C_pseudoscalarPart(b1Pol, b2Pol, t));
}
const EvtComplex
EvtBBScalar::amp_C_scalarPart(const EvtDiracSpinor& b1Pol, const EvtDiracSpinor& b2Pol, double t)
{
return baryon_fS(t) * b1Pol.adjoint()*b2Pol;
}
const EvtComplex
EvtBBScalar::amp_C_pseudoscalarPart(const EvtDiracSpinor& b1Pol, const EvtDiracSpinor& b2Pol, double t)
{
return baryon_gP(t) * b1Pol.adjoint()*(EvtGammaMatrix::g5()*b2Pol);
}
diff --git a/src/EvtGenModels/EvtBHadronic.cpp b/src/EvtGenModels/EvtBHadronic.cpp
index 31c3618..37fd06d 100644
--- a/src/EvtGenModels/EvtBHadronic.cpp
+++ b/src/EvtGenModels/EvtBHadronic.cpp
@@ -1,286 +1,284 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBHadronic.cc
//
-// Description: Model for hadronic B decays. Uses naive factorization.
+// Description: Model for hadronic B decays. Uses naive factorization.
//
// Modification history:
//
// RYD June 14, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenModels/EvtISGW2FF.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtISGW2FF.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtBHadronic.hh"
#include "EvtGenBase/EvtReport.hh"
#include <string>
using std::endl;
-EvtBHadronic::~EvtBHadronic() {}
-
std::string EvtBHadronic::getName(){
- return "BHADRONIC";
+ return "BHADRONIC";
}
-EvtDecayBase* EvtBHadronic::clone(){
+EvtBHadronic* EvtBHadronic::clone(){
return new EvtBHadronic;
}
void EvtBHadronic::init(){
// check that there are 2 argument
checkNArg(2);
}
void EvtBHadronic::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId D0=EvtPDL::getId("D0");
static EvtId DST0=EvtPDL::getId("D*0");
static EvtId D3P10=EvtPDL::getId("D'_10");
static EvtId D3P20=EvtPDL::getId("D_2*0");
static EvtId D3P00=EvtPDL::getId("D_0*0");
static EvtId D1P10=EvtPDL::getId("D_10");
static EvtISGW2FF ffmodel;
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4R p4[MAX_DAUG];
p->mass();
int i,j;
for ( i=0; i<getNDaug(); i++) {
p4[i]=p->getDaug(i)->getP4();
}
int bcurrent,wcurrent;
int nbcurrent=0;
int nwcurrent=0;
bcurrent=(int)getArg(0);
wcurrent=(int)getArg(1);
EvtVector4C jb[5],jw[5];
EvtTensor4C g,tds;
EvtVector4R p4b;
p4b.set(p->mass(),0.0,0.0,0.0);
EvtVector4R q;
double q2;
EvtComplex ep_meson_bb[5];
double f,gf,ap,am;
double fp,fm;
double hf,kf,bp,bm;
EvtVector4R pp,pm;
EvtVector4C ep_meson_b[5];
switch (bcurrent) {
-
+
// D0
case 1:
q=p4b-p4[0];
q2=q*q;
nbcurrent=1;
ffmodel.getscalarff(B0,D0,EvtPDL::getMeanMass(D0),
EvtPDL::getMeanMass(getDaugs()[1]),&fp,&fm);
jb[0]=EvtVector4C(fp*(p4b+p4[0])-fm*q);
break;
// D*
case 2:
q=p4b-p4[0];
q2=q*q;
nbcurrent=3;
ffmodel.getvectorff(B0,DST0,EvtPDL::getMeanMass(DST0),q2,&f,&gf,&ap,&am);
g.setdiag(1.0,-1.0,-1.0,-1.0);
- tds = -f*g
+ tds = -f*g
-ap*(EvtGenFunctions::directProd(p4b,p4b)+EvtGenFunctions::directProd(p4b,p4[0]))
-gf*EvtComplex(0.0,1.0)*dual(EvtGenFunctions::directProd(p4[0]+p4b,p4b-p4[0]))
-am*((EvtGenFunctions::directProd(p4b,p4b)-
EvtGenFunctions::directProd(p4b,p4[0])));
jb[0]=tds.cont1(p->getDaug(0)->epsParent(0).conj());
jb[1]=tds.cont1(p->getDaug(0)->epsParent(1).conj());
jb[2]=tds.cont1(p->getDaug(0)->epsParent(2).conj());
break;
// D1
case 3:
q=p4b-p4[0];
q2=q*q;
nbcurrent=3;
ffmodel.getvectorff(B0,D3P10,EvtPDL::getMeanMass(D3P10),q2,&f,&gf,&ap,&am);
g.setdiag(1.0,-1.0,-1.0,-1.0);
- tds = -f*g
+ tds = -f*g
-ap*(EvtGenFunctions::directProd(p4b,p4b)+
EvtGenFunctions::directProd(p4b,p4[0]))
-gf*EvtComplex(0.0,1.0)*dual(EvtGenFunctions::directProd(p4[0]+p4b,p4b-p4[0]))
-am*((EvtGenFunctions::directProd(p4b,p4b)-
EvtGenFunctions::directProd(p4b,p4[0])));
jb[0]=tds.cont1(p->getDaug(0)->epsParent(0).conj());
jb[1]=tds.cont1(p->getDaug(0)->epsParent(1).conj());
jb[2]=tds.cont1(p->getDaug(0)->epsParent(2).conj());
break;
// D2*
case 4:
q=p4b-p4[0];
q2=q*q;
nbcurrent=5;
ffmodel.gettensorff(B0,D3P20,EvtPDL::getMeanMass(D3P20),q2,&hf,&kf,&bp,&bm);
g.setdiag(1.0,-1.0,-1.0,-1.0);
-
+
ep_meson_b[0] = ((p->getDaug(0)->epsTensorParent(0)).cont2(p4b)).conj();
ep_meson_b[1] = ((p->getDaug(0)->epsTensorParent(1)).cont2(p4b)).conj();
ep_meson_b[2] = ((p->getDaug(0)->epsTensorParent(2)).cont2(p4b)).conj();
ep_meson_b[3] = ((p->getDaug(0)->epsTensorParent(3)).cont2(p4b)).conj();
ep_meson_b[4] = ((p->getDaug(0)->epsTensorParent(4)).cont2(p4b)).conj();
-
+
pp=p4b+p4[0];
pm=p4b-p4[0];
-
+
ep_meson_bb[0]=ep_meson_b[0]*(p4b);
ep_meson_bb[1]=ep_meson_b[1]*(p4b);
ep_meson_bb[2]=ep_meson_b[2]*(p4b);
ep_meson_bb[3]=ep_meson_b[3]*(p4b);
ep_meson_bb[4]=ep_meson_b[4]*(p4b);
-
+
jb[0]=EvtComplex(0.0,(1.0)*hf)*dual(EvtGenFunctions::directProd(pp,pm)).cont2(ep_meson_b[0])
-kf*ep_meson_b[0]
-bp*ep_meson_bb[0]*pp-bm*ep_meson_bb[0]*pm;
-
+
jb[1]=EvtComplex(0.0,(1.0)*hf)*dual(EvtGenFunctions::directProd(pp,pm)).cont2(ep_meson_b[1])
-kf*ep_meson_b[1]
-bp*ep_meson_bb[1]*pp-bm*ep_meson_bb[1]*pm;
-
+
jb[2]=EvtComplex(0.0,(1.0)*hf)*dual(EvtGenFunctions::directProd(pp,pm)).cont2(ep_meson_b[2])
-kf*ep_meson_b[2]
-bp*ep_meson_bb[2]*pp-bm*ep_meson_bb[2]*pm;
-
+
jb[3]=EvtComplex(0.0,(1.0)*hf)*dual(EvtGenFunctions::directProd(pp,pm)).cont2(ep_meson_b[3])
-kf*ep_meson_b[3]
-bp*ep_meson_bb[3]*pp-bm*ep_meson_bb[3]*pm;
-
+
jb[4]=EvtComplex(0.0,(1.0)*hf)*dual(EvtGenFunctions::directProd(pp,pm)).cont2(ep_meson_b[4])
-kf*ep_meson_b[4]
-bp*ep_meson_bb[4]*pp-bm*ep_meson_bb[4]*pm;
break;
// D_0*
case 5:
q=p4b-p4[0];
q2=q*q;
double f,gf,ap,am;
nbcurrent=3;
ffmodel.getvectorff(B0,D1P10,EvtPDL::getMeanMass(D1P10),q2,&f,&gf,&ap,&am);
g.setdiag(1.0,-1.0,-1.0,-1.0);
- tds = -f*g
+ tds = -f*g
-ap*(EvtGenFunctions::directProd(p4b,p4b)+
EvtGenFunctions::directProd(p4b,p4[0]))
+gf*EvtComplex(0.0,1.0)*dual(EvtGenFunctions::directProd(p4[0]+p4b,p4b-p4[0]))
-am*((EvtGenFunctions::directProd(p4b,p4b)-
EvtGenFunctions::directProd(p4b,p4[0])));
jb[0]=tds.cont1(p->getDaug(0)->epsParent(0).conj());
jb[1]=tds.cont1(p->getDaug(0)->epsParent(1).conj());
jb[2]=tds.cont1(p->getDaug(0)->epsParent(2).conj());
break;
// D_1
case 6:
q=p4b-p4[0];
q2=q*q;
nbcurrent=1;
ffmodel.getscalarff(B0,D3P00,EvtPDL::getMeanMass(D3P00),q2,&fp,&fm);
jb[0]=fp*(p4b+p4[0])+fm*q;
break;
default:
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"In EvtBHadronic, unknown hadronic current."<<endl;
-
- }
+
+ }
double norm;
switch (wcurrent) {
case 1: case 3: case 4:
nwcurrent=1;
jw[0]=p4[getNDaug()-1];
break;
case 2: case 5: case 6:
nwcurrent=3;
norm=1.0/sqrt(p4[1].get(0)*p4[1].get(0)/p4[1].mass2()-1.0);
jw[0]=norm*p->getDaug(getNDaug()-1)->epsParent(0);
jw[1]=norm*p->getDaug(getNDaug()-1)->epsParent(1);
jw[2]=norm*p->getDaug(getNDaug()-1)->epsParent(2);
break;
default:
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"In EvtBHadronic, unknown W current."<<endl;
- }
+ }
if (nbcurrent==1&&nwcurrent==1){
vertex(jb[0]*jw[0]);
return;
}
if (nbcurrent==1){
for(j=0;j<nwcurrent;j++){
vertex(j,jb[0]*jw[j]);
}
return;
}
if (nwcurrent==1){
for(j=0;j<nbcurrent;j++){
vertex(j,jb[j]*jw[0]);
}
return;
}
for(j=0;j<nbcurrent;j++){
for(i=0;i<nwcurrent;i++){
vertex(j,i,jb[j]*jw[i]);
}
}
return;
}
diff --git a/src/EvtGenModels/EvtBLLNuL.cpp b/src/EvtGenModels/EvtBLLNuL.cpp
index 0608ab9..ff10de1 100644
--- a/src/EvtGenModels/EvtBLLNuL.cpp
+++ b/src/EvtGenModels/EvtBLLNuL.cpp
@@ -1,156 +1,152 @@
//--------------------------------------------------------------------------
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtBLLNuL.cpp
//
// Description: The main file for the model "BLLNUL" which simulates
// the rare four-leptonic B-decays
// B^-(p) -> ell^+(k_1) ell^-(k_2) neu (k_3) ell^-(k_4)
//
// Modification history:
//
// Anna Danilina (anna.danilina@cern.ch) and
// Nikolai Nikitin (Nikolai.Nikitine@cern.ch) Nov 2018 Module created
// John B Code optimisations
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenModels/EvtBLLNuL.hh"
EvtBLLNuL::EvtBLLNuL() :
calcAmp_()
{
}
-EvtBLLNuL::~EvtBLLNuL()
-{
-}
-
std::string EvtBLLNuL::getName()
{
// The model name
return "BLLNUL";
}
EvtDecayBase* EvtBLLNuL::clone()
{
return new EvtBLLNuL();
}
void EvtBLLNuL::init()
{
// check that there are 4 daughters
checkNDaug(4);
// We expect that the parent to be a scalar (B meson) and
// the daughters to be ell+ (k1), ell- (k2), neutrino (k3)
// and the last lepton ell- (k4)
// Check spin types
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0, EvtSpinType::DIRAC); // ell+(k_1)
checkSpinDaughter(1, EvtSpinType::DIRAC); // ell-(k_2)
checkSpinDaughter(2, EvtSpinType::NEUTRINO); // neu (k_3)
checkSpinDaughter(3, EvtSpinType::DIRAC); // ell-(k_4)
// Check that we have a charged B parent
static EvtIdSet BMesons("B-", "B+");
if (!BMesons.contains(getParentId())) {
EvtGenReport(EVTGEN_ERROR, "EvtBLLNuL") << "Expecting the parent to be a charged B. Found PDG = "
<< EvtPDL::getStdHep(getParentId()) << std::endl;
::abort();
}
// Make sure the first two leptons are charged conjugates of each other
int id1 = EvtPDL::getStdHep(getDaug(0));
int id2 = EvtPDL::getStdHep(getDaug(1));
if (id1 != -id2) {
EvtGenReport(EVTGEN_ERROR, "EvtBLLNuL") << "Expecting the first 2 leptons, with PDG codes " << id1 << " and "
<< id2 << ", to be charged conjugates of each other" << std::endl;
::abort();
}
// Check that the last lepton has the same charge as the B parent
int q3 = EvtPDL::chg3(getDaug(3))/3;
int qB = EvtPDL::chg3(getParentId())/3;
if (q3 != qB) {
EvtGenReport(EVTGEN_ERROR, "EvtBLLNuL") << "The 3rd lepton charge " << q3
<< " does not match the B charge "
<< qB << std::endl;
::abort();
}
// Also check that the 2nd lepton has the same charge as the 3rd one
int q2 = EvtPDL::chg3(getDaug(1))/3;
if (q2 != q3) {
EvtGenReport(EVTGEN_ERROR, "EvtBLLNuL") << "The 2nd lepton charge " << q2
<< " does not match the 3rd lepton charge "
<< q3 << std::endl;
::abort();
}
// Identify if the decay has 3 charged leptons with the same flavour.
// If so, then we need to include amplitude terms where the 2nd and 3rd
// same-sign leptons are interchanged: k2 <-> k4
bool symmetry(false);
int id3 = EvtPDL::getStdHep(getDaug(3));
if (abs(id1) == abs(id2) && abs(id1) == abs(id3)) {
symmetry = true;
}
// Specify the qSq minimum cut-off as 4*(muon mass)^2 = 0.044655 and the
// kSq minimum cut off as 4*(electron mass)^2 = 1.044e-6
double muMass = EvtPDL::getMeanMass(EvtPDL::getId("mu+"));
double eMass = EvtPDL::getMeanMass(EvtPDL::getId("e+"));
double qSqMin = 4.0*muMass*muMass;
double kSqMin = 4.0*eMass*eMass;
// Optionally set these cut-offs using two decay file parameters. We may
// have a 3rd parameter (max prob), so check for at least 2 parameters
if (getNArg() >= 2) {
qSqMin = getArg(0);
kSqMin = getArg(1);
}
// Define the amplitude qSq and kSq cut-offs, also
// specifying if the decay mode has flavour symmetry
calcAmp_.setParameters(qSqMin, kSqMin, symmetry);
}
void EvtBLLNuL::initProbMax()
{
// Set the maximum probability of the decay
double maxProb(3.2);
// Optional 3rd decay file parameter, e.g. if qSq and/or kSq min have changed.
// Note that both qSq and kSq parameters must still be specified in the decay
// file to ensure that the maximum probability value is the 3rd parameter!
if (getNArg() == 3) {
maxProb = getArg(2);
}
setProbMax(maxProb);
}
void EvtBLLNuL::decay(EvtParticle *p)
{
p->initializePhaseSpace(getNDaug(), getDaugs());
calcAmp_.CalcAmp(p, _amp2);
}
diff --git a/src/EvtGenModels/EvtBLLNuLAmp.cpp b/src/EvtGenModels/EvtBLLNuLAmp.cpp
index 6ba313b..8025ea9 100644
--- a/src/EvtGenModels/EvtBLLNuLAmp.cpp
+++ b/src/EvtGenModels/EvtBLLNuLAmp.cpp
@@ -1,440 +1,431 @@
//--------------------------------------------------------------------------
//
// Module: EvtBLLNuLAmp.cpp
//
// Description: Amplitude calculation class for the "BLLNUL" model of
// rare four-leptonic B-decays:
// B^-(p) -> ell^+(k_1) ell^-(k_2) neu (k_3) ell^-(k_4)
//
// Modification history:
//
// Anna Danilina (anna.danilina@cern.ch) and
// Nikolai Nikitin (Nikolai.Nikitine@cern.ch) Nov 2018 Module created
// John B Code optimisations
//
//-----------------------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenModels/EvtBLLNuLAmp.hh"
#include <cmath>
EvtBLLNuLAmp::EvtBLLNuLAmp(double Vub) :
qSqMin_(0.0),
kSqMin_(0.0),
symmetry_(false),
BpId_(EvtPDL::getId("B+")),
BnId_(EvtPDL::getId("B-")),
coupling_(0.0),
sqrt2_(sqrt(2.0)),
fBu_(0.191), // leptonic constant (GeV)
- Bstar_(new EvtBLLNuLAmp::ResPole(5.32, 0.00658, 0.183/3.0)),
- Upsilon_(new EvtBLLNuLAmp::ResPole(9.64, 0.0, 0.0)),
+ Bstar_(EvtBLLNuLAmp::ResPole(5.32, 0.00658, 0.183/3.0)),
+ Upsilon_(EvtBLLNuLAmp::ResPole(9.64, 0.0, 0.0)),
resPoles_(),
nPoles_(0),
zero_(EvtComplex(0.0, 0.0)),
unitI_(EvtComplex(0.0, 1.0))
{
double GF = 1.166371e-5; // GeV^{-2}
double alphaEM = 1.0/137.0;
// Normalisation constant, multiplied by 1e4 to increase probability scale
coupling_ = 400.0*GF*EvtConst::pi*alphaEM*Vub*1e4/sqrt2_;
// Define VMD resonance poles using PDG 2016 values with constants from
// D.Melikhov, N.Nikitin and K.Toms, Phys. Atom. Nucl. 68, 1842 (2005)
- EvtBLLNuLAmp::ResPole* rho = new EvtBLLNuLAmp::ResPole(0.77526, 0.1491, 1.0/5.04);
+
+ // Rho and omega resonances
+ EvtBLLNuLAmp::ResPole rho = EvtBLLNuLAmp::ResPole(0.77526, 0.1491, 1.0/5.04);
resPoles_.push_back(rho);
-
- EvtBLLNuLAmp::ResPole* omega = new EvtBLLNuLAmp::ResPole(0.78265, 0.00849, 1.0/17.1);
+
+ EvtBLLNuLAmp::ResPole omega = EvtBLLNuLAmp::ResPole(0.78265, 0.00849, 1.0/17.1);
resPoles_.push_back(omega);
nPoles_ = resPoles_.size();
}
EvtBLLNuLAmp::EvtBLLNuLAmp(double qSqMin, double kSqMin, bool symmetry, double Vub) :
qSqMin_(qSqMin),
kSqMin_(kSqMin),
symmetry_(symmetry),
BpId_(EvtPDL::getId("B+")),
BnId_(EvtPDL::getId("B-")),
coupling_(0.0),
sqrt2_(sqrt(2.0)),
fBu_(0.191), // leptonic constant (GeV)
- Bstar_(new EvtBLLNuLAmp::ResPole(5.32, 0.00658, 0.183/3.0)),
- Upsilon_(new EvtBLLNuLAmp::ResPole(9.64, 0.0, 0.0)),
+ Bstar_(EvtBLLNuLAmp::ResPole(5.32, 0.00658, 0.183/3.0)),
+ Upsilon_(EvtBLLNuLAmp::ResPole(9.64, 0.0, 0.0)),
resPoles_(),
nPoles_(0),
zero_(EvtComplex(0.0, 0.0)),
unitI_(EvtComplex(0.0, 1.0))
{
double GF = 1.166371e-5; // GeV^{-2}
double alphaEM = 1.0/137.0;
// Normalisation constant, multiplied by 1e4 to increase probability scale
coupling_ = 400.0*GF*EvtConst::pi*alphaEM*Vub*1e4/sqrt2_;
// Define VMD resonance poles using PDG 2016 values with constants from
// D.Melikhov, N.Nikitin and K.Toms, Phys. Atom. Nucl. 68, 1842 (2005)
- EvtBLLNuLAmp::ResPole* rho = new EvtBLLNuLAmp::ResPole(0.77526, 0.1491, 1.0/5.04);
+
+ // Rho and omega resonances
+ EvtBLLNuLAmp::ResPole rho = EvtBLLNuLAmp::ResPole(0.77526, 0.1491, 1.0/5.04);
resPoles_.push_back(rho);
-
- EvtBLLNuLAmp::ResPole* omega = new EvtBLLNuLAmp::ResPole(0.78265, 0.00849, 1.0/17.1);
+
+ EvtBLLNuLAmp::ResPole omega = EvtBLLNuLAmp::ResPole(0.78265, 0.00849, 1.0/17.1);
resPoles_.push_back(omega);
nPoles_ = resPoles_.size();
}
-EvtBLLNuLAmp::~EvtBLLNuLAmp()
-{
- delete Bstar_;
- delete Upsilon_;
- // Delete VMD poles
- std::vector<EvtBLLNuLAmp::ResPole*>::iterator iter;
- for (iter = resPoles_.begin(); iter != resPoles_.end(); ++iter) {
- delete *iter;
- }
- resPoles_.clear();
-
-}
-
// Storing resonance pole information
EvtBLLNuLAmp::ResPole::ResPole(double mass, double width, double coupling) :
m0_(mass),
m0Sq_(mass*mass),
w0_(width),
c_(coupling),
I_(EvtComplex(0.0, 1.0)),
Imw_(I_*mass*width)
{
}
EvtComplex EvtBLLNuLAmp::ResPole::propagator(double qSq, int numForm) const
{
// Numerator term: mass-squared (default) or mass
double num(m0Sq_);
if (numForm == 1) {num = m0_;}
EvtComplex result = num*c_/((qSq - m0Sq_) + Imw_);
return result;
}
// Amplitude calculation
void EvtBLLNuLAmp::CalcAmp(EvtParticle *parent, EvtAmp& amp) const
{
// Check for 4 daughters and an existing parent
if (!parent || parent->getNDaug() != 4) {return;}
// The first two charged leptons. The 2nd one will have
// the same charge as the 3rd charged lepton
EvtParticle* lepA = parent->getDaug(0);
EvtParticle* lepB = parent->getDaug(1);
// The neutrino
EvtParticle* neu = parent->getDaug(2);
// The third charged lepton
EvtParticle* lepC = parent->getDaug(3);
// Kinematics
double MB = parent->mass(); // B-meson mass, GeV
// 4-momenta of the leptons in the B rest frame. The daughters will already
// be in the correct order since this check is done in EvtBLLNuL::init()
// when initialising the model using the decay file
EvtVector4R p1 = lepA->getP4();
EvtVector4R p2 = lepB->getP4();
EvtVector4R p3 = neu->getP4();
EvtVector4R p4 = lepC->getP4();
// 4-momenta sums
EvtVector4R q12 = p1 + p2;
EvtVector4R k34 = p3 + p4;
// Mandelstam variables: q^2 and k^2
double q12Sq = q12.mass2();
double k34Sq = k34.mass2();
// Check if we are above mass thresholds
bool threshold(true);
if (q12Sq < qSqMin_ || k34Sq < kSqMin_) {
threshold = false;
}
// For the symmetric terms when we exchange the
// 2nd and 3rd charged leptons: p2 <-> p4
EvtVector4R q14, k23;
double q14Sq(0.0), k23Sq(0.0);
if (symmetry_) {
q14 = p1 + p4;
k23 = p2 + p3;
q14Sq = q14.mass2();
k23Sq = k23.mass2();
if (q14Sq < qSqMin_ || k23Sq < kSqMin_) {
threshold = false;
}
}
// B meson id
EvtId parId = parent->getId();
// B+ or B- decays
int sign(1);
if (parId == BnId_) {sign = -1;}
// Hadronic tensors
EvtTensor4C THadronA = getHadronTensor(q12, k34, q12Sq, k34Sq, MB, sign);
// When we need to include the symmetric terms
EvtTensor4C THadronB;
if (symmetry_) {
THadronB = getHadronTensor(q14, k23, q14Sq, k23Sq, MB, sign);
}
// Leptonic currents: A for normal terms, B for symmetric terms
EvtVector4C L1A, L2A, L1B, L2B;
int leptonSpins[4]; // array for saving the leptonic spin configuration
// Loop over lepton spin states
for (int i2 = 0; i2 < 2; i2++) {
leptonSpins[0] = i2;
for (int i1 = 0; i1 < 2; i1++) {
leptonSpins[1] = i1;
if (sign == -1) {
// B- currents
// L2^{\nu} = \bar mu(k_2) \gamma^{\nu} mu(- k_1)
L2A = EvtLeptonVCurrent(lepB->spParent(i2), lepA->spParent(i1));
if (symmetry_) {
// Swapping the 2nd and 3rd charged leptons
L1B = EvtLeptonVACurrent(lepB->spParent(i2), neu->spParentNeutrino());
}
} else {
// B+ currents
// L2^{\nu} = \bar mu(k_1) \gamma^{\nu} mu(- k_2)
L2A = EvtLeptonVCurrent(lepA->spParent(i1), lepB->spParent(i2));
if (symmetry_) {
// Swapping the 2nd and 3rd charged leptons
L1B = EvtLeptonVACurrent(neu->spParentNeutrino(), lepB->spParent(i2));
}
}
// Production: Tfi^{\mu} = THadron^{\mu \nu} L_{2 \nu}
EvtVector4C THL2A = THadronA.cont2(L2A);
for (int i4 = 0; i4 < 2; i4++) {
leptonSpins[2] = i4;
leptonSpins[3] = 0; // neutrino handedness
if (sign == -1) {
// B- currents
// L1^{\mu} = \bar e(k_4) \gamma^{\mu} (1 - \gamma^5) nu_e(- k_3)
L1A = EvtLeptonVACurrent(lepC->spParent(i4), neu->spParentNeutrino());
if (symmetry_) {
// Swapping the 2nd and 3rd charged leptons
L2B = EvtLeptonVCurrent(lepC->spParent(i4), lepA->spParent(i1));
}
} else {
// B+ currents
// L1^{\mu} = \bar nu_e(k_3) \gamma^{\mu} (1 - \gamma^5) e(- k_4)
L1A = EvtLeptonVACurrent(neu->spParentNeutrino(), lepC->spParent(i4));
if (symmetry_) {
// Swapping the 2nd and 3rd charged leptons
L2B = EvtLeptonVCurrent(lepA->spParent(i1), lepC->spParent(i4));
}
}
if (threshold == false) {
// Below kinematic thresholds
amp.vertex(leptonSpins, zero_);
} else {
// Decay amplitude calculation: L_1^{\mu} Tfi_{\mu}
EvtComplex decAmp = L1A*THL2A;
// If we also need to swap the 2nd and 3rd charged leptons
if (symmetry_) {
// Hadronic current production term. L2B depends on i4 so we need
// it here instead of inside the i2 loop as was the case for THL2A
EvtVector4C THL2B = THadronB.cont2(L2B);
// The symmetric amplitude
EvtComplex ampB = L1B*THL2B;
// Subtract this from the total amplitude
decAmp -= ampB;
}
amp.vertex(leptonSpins, decAmp);
}
} // i4 loop
} // i1 loop
} // i2 loop
}
EvtTensor4C EvtBLLNuLAmp::getHadronTensor(const EvtVector4R& q, const EvtVector4R& k,
const double qSq, const double kSq, const double MB,
const int sign) const
{
// Hadronic tensor calculation
EvtTensor4C epskq = dual(EvtGenFunctions::directProd(k, q));
EvtTensor4C qk = EvtGenFunctions::directProd(q, k);
EvtComplex BstarAmp = getBStarTerm(qSq, kSq, MB);
std::vector<EvtComplex> VMDAmps = getVMDTerms(qSq, kSq, MB);
EvtComplex FF_ekq = BstarAmp + VMDAmps[0];
EvtComplex FF_g = VMDAmps[1] - fBu_;
EvtComplex FF_qk = VMDAmps[2];
// Full hadronic tensor
EvtTensor4C THadron = sign*2.0*FF_ekq*epskq + unitI_*(2.0*FF_qk*qk - FF_g*EvtTensor4C::g());
// Kinematic cuts
double coeffcut(0.0);
if (qSq > qSqMin_ && kSq > kSqMin_) {
coeffcut = 1.0/qSq;
}
// Normalisation constant
THadron *= coeffcut*coupling_;
return THadron;
}
std::vector<EvtComplex> EvtBLLNuLAmp::getVMDTerms(double qSq, double kSq, double MB) const
{
// Find the 3 VMD form factors: epsilon*k*q, g(uv) and q*k terms
EvtComplex VMD1(0.0, 0.0), VMD2(0.0, 0.0), VMD3(0.0, 0.0);
// Loop over the VMD poles
for (int iPole = 0; iPole < nPoles_; iPole++) {
- EvtBLLNuLAmp::ResPole* pole = resPoles_[iPole];
+ auto pole = resPoles_[iPole];
// Propagator term, common for all factors
- EvtComplex prop = pole->propagator(qSq);
+ EvtComplex prop = pole.propagator(qSq);
- double mSum = MB + pole->getMass();
+ double mSum = MB + pole.getMass();
VMD1 += prop/mSum;
VMD2 += mSum*prop;
}
// Third pole summation term is the same as the first one
VMD3 = VMD1;
// Multiply by couplings for the given kSq
VMD1 *= FF_V(kSq);
VMD2 *= FF_A1(kSq);
VMD3 *= FF_A2(kSq);
// Return the factors as a vector
std::vector<EvtComplex> factors;
factors.push_back(VMD1);
factors.push_back(VMD2);
factors.push_back(VMD3);
return factors;
}
EvtComplex EvtBLLNuLAmp::getBStarTerm(double qSq, double kSq, double MB) const
{
- EvtComplex amplitude = Bstar_->propagator(kSq, 1)*FF_B2Bstar(qSq)/(MB + Bstar_->getMass());
+ EvtComplex amplitude = Bstar_.propagator(kSq, 1)*FF_B2Bstar(qSq)/(MB + Bstar_.getMass());
return amplitude;
}
double EvtBLLNuLAmp::FF_B2Bstar(double qSq) const
{
// Electromagnetic FF for B -> B* transition, when gamma is emitted from the b quark
// D.Melikhov, private communication
- double y = qSq/Upsilon_->getMassSq();
+ double y = qSq/Upsilon_.getMassSq();
double denom = (1.0 - y)*(1.0 - 0.81*y);
double V(0.0);
if (fabs(denom) > 1e-10) {
V = 1.044/denom;
}
return V;
}
double EvtBLLNuLAmp::FF_V(double kSq) const
{
// D. Melikhov and B. Stech, PRD 62, 014006 (2000) Table XV
- double y = kSq/Bstar_->getMassSq();
+ double y = kSq/Bstar_.getMassSq();
double denom = sqrt2_*(1.0 - y)*(1.0 - 0.59*y);
double V(0.0);
if (fabs(denom) > 1e-10) {
V = 0.31/denom;
}
return V;
}
double EvtBLLNuLAmp::FF_A1(double kSq) const
{
// D. Melikhov and B. Stech, PRD 62, 014006 (2000) Table XV
- double y = kSq/Bstar_->getMassSq();
+ double y = kSq/Bstar_.getMassSq();
double denom = ((0.1*y - 0.73)*y + 1.0)*sqrt2_;
double A1(0.0);
if (fabs(denom) > 1e-10) {
A1 = 0.26/denom;
}
return A1;
}
double EvtBLLNuLAmp::FF_A2(double kSq) const
{
// D. Melikhov and B. Stech, PRD 62, 014006 (2000) Table XV
- double y = kSq/Bstar_->getMassSq();
+ double y = kSq/Bstar_.getMassSq();
double denom = ((0.5*y - 1.4)*y + 1.0)*sqrt2_;
double A2(0.0);
if (fabs(denom) > 1e-10) {
A2 = 0.24/denom;
}
return A2;
}
diff --git a/src/EvtGenModels/EvtBTo3piCP.cpp b/src/EvtGenModels/EvtBTo3piCP.cpp
index 1d1bc66..02390da 100644
--- a/src/EvtGenModels/EvtBTo3piCP.cpp
+++ b/src/EvtGenModels/EvtBTo3piCP.cpp
@@ -1,151 +1,149 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBTo3piCP.cc
//
// Description: Routine to decay B->pi+ pi- pi0
// and has CP violation.
//
// Modification history:
//
// MK September, 2016 Reimplementation to C++
// RYD/VERSILLE March 2, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtBTo3piCP.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtBTo3piCP::~EvtBTo3piCP() {}
-
std::string EvtBTo3piCP::getName(){
- return "BTO3PI_CP";
+ return "BTO3PI_CP";
}
-EvtDecayBase* EvtBTo3piCP::clone(){
+EvtBTo3piCP* EvtBTo3piCP::clone(){
return new EvtBTo3piCP;
}
void EvtBTo3piCP::init(){
// check that there are 2 arguments
checkNArg(2);
checkNDaug(3);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
}
void EvtBTo3piCP::initProbMax(){
// perform common blocks initialization before
// first use
double alpha=getArg(1);
int iset;
iset=10000;
EvtVector4R p4piplus,p4piminus,p4gamm1,p4gamm2;
double realA,imgA,realbarA,imgbarA;
generator.Evt3pi(alpha, iset, p4piplus, p4piminus, p4gamm1, p4gamm2, realA,
imgA, realbarA, imgbarA);
setProbMax(1.5);
}
void EvtBTo3piCP::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
EvtParticle *pip,*pim,*pi0;
p->makeDaughters(getNDaug(),getDaugs());
// p->init_daug(SCALAR,&pip,SCALAR,&pim,SCALAR,&pi0);
pip=p->getDaug(0);
pim=p->getDaug(1);
pi0=p->getDaug(2);
EvtVector4R p4[3];
double dm=getArg(0);
double alpha=getArg(1);
int iset;
iset=0;
EvtVector4R p4piplus,p4piminus,p4gamm1,p4gamm2;
double realA,imgA,realbarA,imgbarA;
generator.Evt3pi(alpha, iset, p4[0], p4[1], p4gamm1, p4gamm2, realA,
imgA, realbarA, imgbarA);
p4[2] = p4gamm1+p4gamm2;
if (pip->getId()==EvtPDL::getId("pi+")) {
pip->init( getDaug(0), p4[0] );
pim->init( getDaug(1), p4[1] );
}
else {
pip->init( getDaug(0), p4[1] );
- pim->init( getDaug(1), p4[0] );
+ pim->init( getDaug(1), p4[0] );
}
pi0->init( getDaug(2), p4[2] );
-
+
EvtComplex amp;
EvtComplex A(realA,imgA);
EvtComplex Abar(realbarA,imgbarA);
if (other_b==B0B){
amp=A*cos(dm*t/(2*EvtConst::c))+
EvtComplex(0.,1.)*Abar*sin(dm*t/(2*EvtConst::c));
}
if (other_b==B0){
amp=Abar*cos(dm*t/(2*EvtConst::c))+
EvtComplex(0.,1.)*A*sin(dm*t/(2*EvtConst::c));
}
vertex(amp);
return ;
}
diff --git a/src/EvtGenModels/EvtBTo4piCP.cpp b/src/EvtGenModels/EvtBTo4piCP.cpp
index f0e1e64..6831cb0 100644
--- a/src/EvtGenModels/EvtBTo4piCP.cpp
+++ b/src/EvtGenModels/EvtBTo4piCP.cpp
@@ -1,259 +1,258 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBTo4piCP.cc
//
// Description: Routine to decay B->pi+ pi- pi+ pi-.
//
// Modification history:
//
// RYD March 2, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
+#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtBTo4piCP.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtConst.hh"
#include <string>
-EvtBTo4piCP::~EvtBTo4piCP() {}
-
EvtComplex EvtAmpA2(const EvtVector4R& p4pi1,const EvtVector4R& p4pi2,
const EvtVector4R& p4pi3,const EvtVector4R& p4pi4){
//added by Lange Jan4,2000
static EvtId A2M=EvtPDL::getId("a_2-");
static EvtId RHO0=EvtPDL::getId("rho0");
EvtVector4R p4a2,p4rho,p4b;
p4rho=p4pi1+p4pi2;
p4a2=p4rho+p4pi3;
p4b=p4a2+p4pi4;
EvtVector4R p4b_a2,p4rho_a2,p4pi1_a2,p4a2_a2;
p4b_a2=boostTo(p4b,p4a2);
p4rho_a2=boostTo(p4rho,p4a2);
p4pi1_a2=boostTo(p4pi1,p4a2);
p4a2_a2=boostTo(p4a2,p4a2);
EvtVector4R p4pi1_rho;
p4pi1_rho=boostTo(p4pi1_a2,p4rho_a2);
EvtVector4R vb,vrho,vpi,t;
vb=p4b_a2/p4b_a2.d3mag();
vrho=p4rho_a2/p4rho_a2.d3mag();
vpi=p4pi1_rho/p4pi1_rho.d3mag();
t.set(1.0,0.0,0.0,0.0);
// EvtComplex amp_a1,amp_a2;
EvtComplex amp_a2;
-
+
// double bwm_a1=EvtPDL::getMeanMass(A1M);
// double gamma_a1=EvtPDL::getWidth(A1M);
double bwm_a2=EvtPDL::getMeanMass(A2M);
double gamma_a2=EvtPDL::getWidth(A2M);
double bwm_rho=EvtPDL::getMeanMass(RHO0);
double gamma_rho=EvtPDL::getWidth(RHO0);
amp_a2=(sqrt(gamma_a2/EvtConst::twoPi)/
((p4a2).mass()-bwm_a2-EvtComplex(0.0,0.5*gamma_a2)))*
(sqrt(gamma_rho/EvtConst::twoPi)/
((p4rho).mass()-bwm_rho-EvtComplex(0.0,0.5*gamma_rho)));
return amp_a2*
(vb.get(1)*vrho.get(1)+vb.get(2)*vrho.get(2)+vb.get(3)*vrho.get(3))*
(
vpi.get(1)*(vb.get(2)*vrho.get(3)-vb.get(3)*vrho.get(2))+
vpi.get(2)*(vb.get(3)*vrho.get(1)-vb.get(1)*vrho.get(3))+
vpi.get(3)*(vb.get(1)*vrho.get(2)-vb.get(2)*vrho.get(1))
);
}
EvtComplex EvtAmpA1(const EvtVector4R& p4pi1,const EvtVector4R& p4pi2,
const EvtVector4R& p4pi3,const EvtVector4R& p4pi4){
//added by Lange Jan4,2000
static EvtId A1M=EvtPDL::getId("a_1-");
static EvtId RHO0=EvtPDL::getId("rho0");
EvtVector4R p4a1,p4rho,p4b;
p4rho=p4pi1+p4pi2;
p4a1=p4rho+p4pi3;
p4b=p4a1+p4pi4;
EvtVector4R p4b_a1,p4rho_a1,p4pi1_a1,p4a1_a1;
p4b_a1=boostTo(p4b,p4a1);
p4rho_a1=boostTo(p4rho,p4a1);
p4pi1_a1=boostTo(p4pi1,p4a1);
p4a1_a1=boostTo(p4a1,p4a1);
EvtVector4R p4pi1_rho;
p4pi1_rho=boostTo(p4pi1_a1,p4rho_a1);
EvtVector4R vb,vrho,vpi,t;
vb=p4b_a1/p4b_a1.d3mag();
vrho=p4rho_a1/p4rho_a1.d3mag();
vpi=p4pi1_rho/p4pi1_rho.d3mag();
t.set(1.0,0.0,0.0,0.0);
EvtComplex amp_a1;
-
+
double bwm_a1=EvtPDL::getMeanMass(A1M);
double gamma_a1=EvtPDL::getWidth(A1M);
// double bwm_a2=EvtPDL::getMeanMass(A2M);
// double gamma_a2=EvtPDL::getWidth(A2M);
double bwm_rho=EvtPDL::getMeanMass(RHO0);
double gamma_rho=EvtPDL::getWidth(RHO0);
amp_a1=(sqrt(gamma_a1/EvtConst::twoPi)/
((p4a1).mass()-bwm_a1-EvtComplex(0.0,0.5*gamma_a1)))*
(sqrt(gamma_rho/EvtConst::twoPi)/
((p4rho).mass()-bwm_rho-EvtComplex(0.0,0.5*gamma_rho)));
return amp_a1*
(vb.get(1)*vpi.get(1)+vb.get(2)*vpi.get(2)+vb.get(3)*vpi.get(3));
}
std::string EvtBTo4piCP::getName(){
-
- return "BTO4PI_CP";
+
+ return "BTO4PI_CP";
}
-EvtDecayBase* EvtBTo4piCP::clone(){
+EvtBTo4piCP* EvtBTo4piCP::clone(){
return new EvtBTo4piCP;
}
void EvtBTo4piCP::init(){
// check that there are 18 arguments
checkNArg(18);
checkNDaug(4);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
checkSpinDaughter(3,EvtSpinType::SCALAR);
}
void EvtBTo4piCP::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
-
+
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4R mom1 = p->getDaug(0)->getP4();
EvtVector4R mom2 = p->getDaug(1)->getP4();
EvtVector4R mom3 = p->getDaug(2)->getP4();
EvtVector4R mom4 = p->getDaug(3)->getP4();
// double alpha=getArg(0);
//double dm=getArg(1);
EvtComplex amp;
EvtComplex A,Abar;
EvtComplex A_a1p,Abar_a1p,A_a2p,Abar_a2p;
EvtComplex A_a1m,Abar_a1m,A_a2m,Abar_a2m;
A_a1p=EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
Abar_a1p=EvtComplex(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5)));
A_a2p=EvtComplex(getArg(6)*cos(getArg(7)),getArg(6)*sin(getArg(7)));
Abar_a2p=EvtComplex(getArg(8)*cos(getArg(9)),getArg(8)*sin(getArg(9)));
A_a1m=EvtComplex(getArg(10)*cos(getArg(11)),getArg(10)*sin(getArg(11)));
Abar_a1m=EvtComplex(getArg(12)*cos(getArg(13)),getArg(12)*sin(getArg(13)));
A_a2m=EvtComplex(getArg(14)*cos(getArg(15)),getArg(14)*sin(getArg(15)));
Abar_a2m=EvtComplex(getArg(16)*cos(getArg(17)),getArg(16)*sin(getArg(17)));
EvtComplex a2p_amp=EvtAmpA2(mom1,mom2,mom3,mom4)+
EvtAmpA2(mom1,mom4,mom3,mom2)+
EvtAmpA2(mom3,mom2,mom1,mom4)+
EvtAmpA2(mom3,mom4,mom1,mom2);
EvtComplex a2m_amp=EvtAmpA2(mom2,mom3,mom4,mom1)+
EvtAmpA2(mom2,mom1,mom4,mom3)+
EvtAmpA2(mom4,mom3,mom2,mom1)+
EvtAmpA2(mom4,mom1,mom2,mom3);
EvtComplex a1p_amp=EvtAmpA1(mom1,mom2,mom3,mom4)+
EvtAmpA1(mom1,mom4,mom3,mom2)+
EvtAmpA1(mom3,mom2,mom1,mom4)+
EvtAmpA1(mom3,mom4,mom1,mom2);
EvtComplex a1m_amp=EvtAmpA1(mom2,mom3,mom4,mom1)+
EvtAmpA1(mom2,mom1,mom4,mom3)+
EvtAmpA1(mom4,mom3,mom2,mom1)+
EvtAmpA1(mom4,mom1,mom2,mom3);
A=A_a2p*a2p_amp+A_a1p*a1p_amp+
A_a2m*a2m_amp+A_a1m*a1m_amp;
Abar=Abar_a2p*a2p_amp+Abar_a1p*a1p_amp+
Abar_a2m*a2m_amp+Abar_a1m*a1m_amp;
if (other_b==B0B){
amp=A*cos(getArg(1)*t/(2*EvtConst::c))+
EvtComplex(cos(-2.0*getArg(0)),sin(-2.0*getArg(0)))*
getArg(2)*EvtComplex(0.0,1.0)*Abar*sin(getArg(1)*t/(2*EvtConst::c));
}
if (other_b==B0){
amp=A*EvtComplex(cos(2.0*getArg(0)),sin(2.0*getArg(0)))*
- EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
+ EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
getArg(2)*Abar*cos(getArg(1)*t/(2*EvtConst::c));
}
-
+
vertex(amp);
return ;
}
diff --git a/src/EvtGenModels/EvtBToDDalitzCPK.cpp b/src/EvtGenModels/EvtBToDDalitzCPK.cpp
index 446d88d..4ab2c72 100644
--- a/src/EvtGenModels/EvtBToDDalitzCPK.cpp
+++ b/src/EvtGenModels/EvtBToDDalitzCPK.cpp
@@ -1,136 +1,132 @@
// $Id: EvtBToDDalitzCPK.cpp,v 1.2 2009-03-16 16:28:42 robbep Exp $
-// Include files
+// Include files
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtVector4C.hh"
// local
#include "EvtGenModels/EvtBToDDalitzCPK.hh"
//-----------------------------------------------------------------------------
// Implementation file for class : EvtBToDDalitzCPK
// Decay Model for B->D0K with D0->Ks pi+ pi-
-// it is just a way to get the arguments...
+// it is just a way to get the arguments...
// Works also for other B->D0K decays...
// 2003-12-08 : Patrick Robbe
//-----------------------------------------------------------------------------
//=============================================================================
-// Standard destructor
-//=============================================================================
-EvtBToDDalitzCPK::~EvtBToDDalitzCPK ( ) { }
-//=============================================================================
// Name of the model
//=============================================================================
-std::string EvtBToDDalitzCPK::getName( )
+std::string EvtBToDDalitzCPK::getName( )
{
return "BTODDALITZCPK" ;
}
//=============================================================================
// Clone method
//=============================================================================
-EvtDecayBase * EvtBToDDalitzCPK::clone ( )
+EvtBToDDalitzCPK* EvtBToDDalitzCPK::clone ( )
{
return new EvtBToDDalitzCPK ;
}
//=============================================================================
// Initialisation method
//=============================================================================
-void EvtBToDDalitzCPK::init ( )
+void EvtBToDDalitzCPK::init ( )
{
- // Check that there are 3 arguments
+ // Check that there are 3 arguments
checkNArg( 3 ) ;
// Check that there are 2 daughters
checkNDaug( 2 ) ;
// Check that the particles of the decay are :
// B+/- -> D0/bar K+/-
// B+/- -> K+/- D0/bar
// B0/bar -> K*0/bar D0/bar
// and nothing else ...
static EvtId BP = EvtPDL::getId( "B+" ) ;
static EvtId BM = EvtPDL::getId( "B-" ) ;
static EvtId B0 = EvtPDL::getId( "B0" ) ;
static EvtId B0B = EvtPDL::getId( "anti-B0" ) ;
static EvtId KP = EvtPDL::getId( "K+" ) ;
- static EvtId KM = EvtPDL::getId( "K-" ) ;
+ static EvtId KM = EvtPDL::getId( "K-" ) ;
static EvtId KS = EvtPDL::getId( "K*0" ) ;
static EvtId KSB = EvtPDL::getId( "anti-K*0" ) ;
static EvtId D0 = EvtPDL::getId( "D0" ) ;
static EvtId D0B = EvtPDL::getId( "anti-D0" ) ;
_flag = 0 ;
-
+
EvtId parent = getParentId() ;
EvtId d1 = getDaug( 0 ) ;
EvtId d2 = getDaug( 1 ) ;
if ( ( ( parent == BP ) || ( parent == BM ) ) &&
- ( ( d1 == D0 ) || ( d1 == D0B ) ) &&
+ ( ( d1 == D0 ) || ( d1 == D0B ) ) &&
( ( d2 == KP ) || ( d2 == KM ) ) ) {
_flag = 1 ;
- // PHSP Decay
+ // PHSP Decay
}
else if ( ( ( parent == BP ) || ( parent == BM ) ) &&
- ( ( d1 == KP ) || ( d1 == KM ) ) &&
+ ( ( d1 == KP ) || ( d1 == KM ) ) &&
( ( d2 == D0 ) || ( d2 == D0B ) ) ) {
_flag = 1 ;
// also PHSP decay
}
else if ( ( ( parent == B0 ) || ( parent == B0B ) ) &&
- ( ( d1 == KS ) || ( d1 == KSB ) ) &&
+ ( ( d1 == KS ) || ( d1 == KSB ) ) &&
( ( d2 == D0 ) || ( d2 == D0B ) ) ) {
_flag = 2 ;
// SVS Decay
}
-
+
if ( _flag == 0 ) {
- EvtGenReport(EVTGEN_ERROR , "EvtGen" ) << "EvtBToDDalitzCPK : Invalid mode."
+ EvtGenReport(EVTGEN_ERROR , "EvtGen" ) << "EvtBToDDalitzCPK : Invalid mode."
<< std::endl ;
assert( 0 ) ;
}
}
//=============================================================================
// Set prob max
//=============================================================================
-void EvtBToDDalitzCPK::initProbMax( )
+void EvtBToDDalitzCPK::initProbMax( )
{
if ( _flag == 1 ) {
// PHSP
setProbMax ( 0. ) ;
}
else if ( _flag == 2 ) {
// SVS
setProbMax ( 1.0 ) ;
}
}
//=============================================================================
// decay particle
//=============================================================================
-void EvtBToDDalitzCPK::decay( EvtParticle * p )
+void EvtBToDDalitzCPK::decay( EvtParticle * p )
{
if ( _flag == 1 ) {
// PHSP
p -> initializePhaseSpace( getNDaug() , getDaugs() ) ;
vertex ( 0. ) ;
}
else if ( _flag == 2 ) {
// SVS
p->initializePhaseSpace(getNDaug(),getDaugs());
-
+
EvtParticle *v;
v = p->getDaug(0);
double massv = v->mass();
EvtVector4R momv = v->getP4();
EvtVector4R moms = p->getDaug(1)->getP4();
double m_parent = p->mass();
EvtVector4R p4_parent = momv+moms;
-
+
double norm=massv/(momv.d3mag()*m_parent);
p4_parent = norm*p4_parent;
vertex(0,p4_parent*(v->epsParent(0)));
vertex(1,p4_parent*(v->epsParent(1)));
vertex(2,p4_parent*(v->epsParent(2)));
}
}
diff --git a/src/EvtGenModels/EvtBToDiBaryonlnupQCD.cpp b/src/EvtGenModels/EvtBToDiBaryonlnupQCD.cpp
index 3dec9a4..7029532 100644
--- a/src/EvtGenModels/EvtBToDiBaryonlnupQCD.cpp
+++ b/src/EvtGenModels/EvtBToDiBaryonlnupQCD.cpp
@@ -1,249 +1,232 @@
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBToDiBaryonlnupQCD.cc
//
// Description: Routine to implement B -> Baryon Anti-baryon l nu decays.
// The form factors are from arXiv.1107.0801 (2011)
//
//
// Modification history:
//
// Mark Smith 17/07/2017 Module created
// Ryan Newcombe May 2018 Additional baryons and
// Rarita-Schwinger-type particles
// John B Oct 2018 Optimisations
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtBToDiBaryonlnupQCD.hh"
-#include "EvtGenModels/EvtBToDiBaryonlnupQCDFF.hh"
-#include "EvtGenModels/EvtSLDiBaryonAmp.hh"
-
-using std::endl;
-
-EvtBToDiBaryonlnupQCD::EvtBToDiBaryonlnupQCD() :
- ffModel_(0),
- calcAmp_(0)
-{
-}
-
-EvtBToDiBaryonlnupQCD::~EvtBToDiBaryonlnupQCD() {
- delete ffModel_;
- ffModel_ = 0;
- delete calcAmp_;
- calcAmp_ = 0;
-}
std::string EvtBToDiBaryonlnupQCD::getName() {
return "BToDiBaryonlnupQCD";
}
EvtDecayBase* EvtBToDiBaryonlnupQCD::clone() {
return new EvtBToDiBaryonlnupQCD;
}
void EvtBToDiBaryonlnupQCD::decay(EvtParticle *p) {
p->initializePhaseSpace(getNDaug(), getDaugs(), true);
calcAmp_->CalcAmp(p, _amp2);
}
void EvtBToDiBaryonlnupQCD::init() {
if ( !(getNArg() == 6 || getNArg() == 7) ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBToDiBaryonlnupQCD model expected "
- << " 6 or 7 arguments but found:" << getNArg() << endl;
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << endl;
+ << " 6 or 7 arguments but found:" << getNArg() << std::endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << std::endl;
::abort();
}
if (getNDaug() != 4) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Wrong number of daughters in EvtBToDiBaryonlnupQCD model: "
- << "4 daughters expected but found: " << getNDaug() << endl;
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << endl;
+ << "4 daughters expected but found: " << getNDaug() << std::endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << std::endl;
::abort();
}
// We expect B -> baryon baryon lepton neutrino
EvtSpinType::spintype parentType = EvtPDL::getSpinType(getParentId());
EvtSpinType::spintype leptonType = EvtPDL::getSpinType(getDaug(2));
EvtSpinType::spintype neutrinoType = EvtPDL::getSpinType(getDaug(3));
if (parentType != EvtSpinType::SCALAR) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBToDiBaryonlnupQCD model expected "
<< " a SCALAR parent, found:"
- << EvtPDL::name(getParentId()) << endl;
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << endl;
+ << EvtPDL::name(getParentId()) << std::endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << std::endl;
::abort();
}
if (leptonType != EvtSpinType::DIRAC) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBToDiBaryonlnupQCD model expected "
<< " a DIRAC 3rd daughter, found:"
- << EvtPDL::name(getDaug(2)) << endl;
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << endl;
+ << EvtPDL::name(getDaug(2)) << std::endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << std::endl;
::abort();
}
if (neutrinoType != EvtSpinType::NEUTRINO) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBToDiBaryonlnupQCD model expected "
<< " a NEUTRINO 4th daughter, found:"
- << EvtPDL::name(getDaug(3)) << endl;
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << endl;
+ << EvtPDL::name(getDaug(3)) << std::endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << std::endl;
::abort();
}
// Get the 6 form factor D parameters from model arguments in the decay file
std::vector<double> DPars(6);
for (int i = 0; i < 6; i++) {
DPars[i] = getArg(i);
}
// Form factor model
- ffModel_ = new EvtBToDiBaryonlnupQCDFF(DPars);
+ ffModel_ = std::make_unique<EvtBToDiBaryonlnupQCDFF>(DPars);
// Set amplitude calculation pointer.
// Accomodate for spin 1/2 (DIRAC) or 3/2 (RARITASCHWINGER) baryons
EvtSpinType::spintype baryon1Type = EvtPDL::getSpinType(getDaug(0));
EvtSpinType::spintype baryon2Type = EvtPDL::getSpinType(getDaug(1));
if ( (baryon1Type == EvtSpinType::DIRAC && baryon2Type == EvtSpinType::RARITASCHWINGER) ||
(baryon1Type == EvtSpinType::RARITASCHWINGER && baryon2Type == EvtSpinType::DIRAC) ||
(baryon1Type == EvtSpinType::DIRAC && baryon2Type == EvtSpinType::DIRAC) ) {
- calcAmp_ = new EvtSLDiBaryonAmp(*ffModel_);
+ calcAmp_ = std::make_unique<EvtSLDiBaryonAmp>(*ffModel_);
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Wrong baryon spin type in EvtBToDiBaryonlnupQCD model. "
<< "Expected spin type " << EvtSpinType::DIRAC
<< " or " << EvtSpinType::RARITASCHWINGER
- << ", found spin types " << baryon1Type << " and " << baryon2Type << endl;
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << endl;
+ << ", found spin types " << baryon1Type << " and " << baryon2Type << std::endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << std::endl;
::abort();
}
}
void EvtBToDiBaryonlnupQCD::initProbMax() {
// Set maximum prob using dec file parameter if present
if (getNArg() == 7) {
setProbMax(getArg(6));
} else {
// Default probability for the B -> p p l nu mode, where l = e, mu or tau
setProbMax(3.0e6);
// Specific decay modes, where we have one proton plus a second
// baryon that can be any (excited) state. They all have lower
// maximum probabilities compared to the default pp mode in order
// to improve accept/reject generation efficiency
static EvtIdSet BMesons("B-", "B+");
static EvtIdSet Delta("Delta+", "anti-Delta-");
static EvtIdSet LambdaC("Lambda_c+", "anti-Lambda_c-");
static EvtIdSet LambdaC1("Lambda_c(2593)+", "anti-Lambda_c(2593)-");
static EvtIdSet LambdaC2("Lambda_c(2625)+", "anti-Lambda_c(2625)-");
static EvtIdSet N1440("N(1440)+", "anti-N(1440)-");
static EvtIdSet N1520("N(1520)+", "anti-N(1520)-");
static EvtIdSet N1535("N(1535)+", "anti-N(1535)-");
static EvtIdSet N1650("N(1650)+", "anti-N(1650)-");
static EvtIdSet N1700("N(1700)+", "anti-N(1700)-");
static EvtIdSet N1710("N(1710)+", "anti-N(1710)-");
static EvtIdSet N1720("N(1720)+", "anti-N(1720)-");
EvtId parId = getParentId();
EvtId bar1Id = getDaug(0);
EvtId bar2Id = getDaug(1);
// These probabilties are sensitive to the sub-decay modes of the excited baryon states,
// which limit the available phase space and allows for events to be generated within the
// 10,000 event trial limit. Otherwise the amplitude varies too much (by more than a factor
// of a million) and events fail to be generated correctly. In case of problems, specify
// the maximum probability by passing an extra 7th model parameter
if (BMesons.contains(parId)) {
if (Delta.contains(bar1Id) || Delta.contains(bar2Id)) {
// Delta
setProbMax(1e7);
} else if (LambdaC.contains(bar1Id) || LambdaC.contains(bar2Id)) {
// Lambda_c+
setProbMax(1000.0);
} else if (LambdaC1.contains(bar1Id) || LambdaC1.contains(bar2Id)) {
// Lambda_c+(2593)
setProbMax(200.0);
} else if (LambdaC2.contains(bar1Id) || LambdaC2.contains(bar2Id)) {
// Lambda_c+(2625)
setProbMax(500.0);
} else if (N1440.contains(bar1Id) || N1440.contains(bar2Id)) {
// N(1440)
setProbMax(8e5);
} else if (N1520.contains(bar1Id) || N1520.contains(bar2Id)) {
// N(1520)
setProbMax(8e6);
} else if (N1535.contains(bar1Id) || N1535.contains(bar2Id)) {
// N(1535)
setProbMax(8e5);
} else if (N1650.contains(bar1Id) || N1650.contains(bar2Id)) {
// N(1650)
setProbMax(8e5);
} else if (N1700.contains(bar1Id) || N1700.contains(bar2Id)) {
// N(1700)
setProbMax(4e6);
} else if (N1710.contains(bar1Id) || N1710.contains(bar2Id)) {
// N(1710)
setProbMax(5e5);
} else if (N1720.contains(bar1Id) || N1720.contains(bar2Id)) {
// N(1720)
setProbMax(4e6);
} // Baryon combinations
} // B parent
} // Specific modes
}
diff --git a/src/EvtGenModels/EvtBToKpipiCP.cpp b/src/EvtGenModels/EvtBToKpipiCP.cpp
index db56485..a3b3ac6 100644
--- a/src/EvtGenModels/EvtBToKpipiCP.cpp
+++ b/src/EvtGenModels/EvtBToKpipiCP.cpp
@@ -1,141 +1,139 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBToKpipiCP.cc
//
// Description: Routine to decay B->K pi pi
// and has CP violation.
// --- This is the routine to be called by the Main generator
// to get the decay of B0 -->-- K+ pi- pi0
// The decay proceeeds through three channels:
// a) B0 -->-- K*+ pi- ; K*+ -->-- K+ pi0
// b) K*0 pi0 ; K*0bar -->-- K+ pi-
// c) K- rho+ ; rho+ -->-- pi+ pi0
// It provides at the same time the CP conjugate decay
// B0bar -->-- K- pi+ pi0
//
// Modification history:
//
// MK September, 2016 Reimplementation to C++
// Versille September, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtBToKpipiCP.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include <string>
-EvtBToKpipiCP::~EvtBToKpipiCP() {}
-
std::string EvtBToKpipiCP::getName(){
- return "BTOKPIPI_CP";
+ return "BTOKPIPI_CP";
}
-EvtDecayBase* EvtBToKpipiCP::clone(){
+EvtBToKpipiCP* EvtBToKpipiCP::clone(){
return new EvtBToKpipiCP;
}
void EvtBToKpipiCP::init(){
// check that there are 3 arguments
checkNArg(3);
checkNDaug(3);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
double alpha=getArg(1);
double beta=getArg(2);
int iset;
iset=10000;
EvtVector4R p4Kplus,p4piminus,p4gamm1,p4gamm2;
double realA,imgA,realbarA,imgbarA;
generator.EvtKpipi(alpha, beta, iset, p4Kplus, p4piminus, p4gamm1, p4gamm2,
realA, imgA, realbarA, imgbarA);
}
void EvtBToKpipiCP::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
EvtParticle *Kp,*pim,*pi0;
p->makeDaughters(getNDaug(),getDaugs());
Kp=p->getDaug(0);
pim=p->getDaug(1);
pi0=p->getDaug(2);
EvtVector4R p4[3];
//double dm=getArg(0);
double alpha=getArg(1);
double beta=getArg(2);
int iset;
iset=0;
EvtVector4R p4Kplus,p4piminus,p4gamm1,p4gamm2;
double realA,imgA,realbarA,imgbarA;
generator.EvtKpipi(alpha, beta, iset, p4[0], p4[1], p4gamm1, p4gamm2,
realA, imgA, realbarA, imgbarA);
p4[2] = p4gamm1+p4gamm2;
Kp->init( getDaug(0), p4[0] );
pim->init( getDaug(1), p4[1] );
pi0->init( getDaug(2), p4[2] );
EvtComplex amp;
EvtComplex A(realA,imgA);
EvtComplex Abar(realbarA,imgbarA);
if (other_b==B0B){
amp=Abar;
}
if (other_b==B0){
amp=A;
}
vertex(amp);
return ;
}
diff --git a/src/EvtGenModels/EvtBToPlnuBK.cpp b/src/EvtGenModels/EvtBToPlnuBK.cpp
index 77b0afb..b79ec67 100644
--- a/src/EvtGenModels/EvtBToPlnuBK.cpp
+++ b/src/EvtGenModels/EvtBToPlnuBK.cpp
@@ -1,111 +1,100 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGenModels/EvtBToPlnuBK.cc
//
// Description: B->Xu l nu with BK (Becirevic-Kaidalov) parametrization
// Xu is a pseudoscalar (pi_plus,pi0,eta or eta_prime)
//
// Modification history:
//
// Martin Simard, U. de Montreal, 08/01/2007 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <assert.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtBToPlnuBK.hh"
#include "EvtGenModels/EvtBToPlnuBKFF.hh"
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
using std::fstream;
using std::cout;
using std::endl;
-EvtBToPlnuBK::EvtBToPlnuBK():
- BKmodel(0)
- ,calcamp(0)
-{}
-
-EvtBToPlnuBK::~EvtBToPlnuBK(){
- delete BKmodel;
- BKmodel=0;
- delete calcamp;
- calcamp=0;
-}
std::string EvtBToPlnuBK::getName(){
-
+
return "BTOPLNUBK";
}
-EvtDecayBase* EvtBToPlnuBK::clone(){
-
+EvtBToPlnuBK* EvtBToPlnuBK::clone(){
+
return new EvtBToPlnuBK;
-
+
}
void EvtBToPlnuBK::initProbMax(){
-
+
EvtId parnum,mesnum,lnum,nunum;
-
+
parnum = getParentId();
mesnum = getDaug(0);
lnum = getDaug(1);
nunum = getDaug(2);
-
+
double mymaxprob = calcamp->CalcMaxProb(parnum,mesnum,
- lnum,nunum,BKmodel);
-
+ lnum,nunum,BKmodel.get());
+
setProbMax(mymaxprob);
}
void EvtBToPlnuBK::init(){
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
EvtSpinType::spintype d1type = EvtPDL::getSpinType(getDaug(0));
if ( d1type==EvtSpinType::SCALAR) {
checkNArg(2);
- BKmodel = new EvtBToPlnuBKFF(getArg(0),getArg(1));
- calcamp = new EvtSemiLeptonicScalarAmp;
+ BKmodel = std::make_unique< EvtBToPlnuBKFF >(getArg(0),getArg(1));
+ calcamp = std::make_unique< EvtSemiLeptonicScalarAmp >();
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "BK model handles only scalar meson daughters. Sorry."<<endl;
::abort();
}
}
void EvtBToPlnuBK::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,BKmodel);
+ calcamp->CalcAmp(p,_amp2,BKmodel.get());
}
diff --git a/src/EvtGenModels/EvtBToVlnuBall.cpp b/src/EvtGenModels/EvtBToVlnuBall.cpp
index 35c3d26..24df473 100644
--- a/src/EvtGenModels/EvtBToVlnuBall.cpp
+++ b/src/EvtGenModels/EvtBToVlnuBall.cpp
@@ -1,110 +1,97 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGenModels/EvtBToVlnuBall.cc
//
// Description: B->Xu l nu with the Ball/Zwicky decay model
// Xu is a vector (rho, rho0, omega)
//
//
// Modification history:
//
// Wells Wulsin 2008 Aug 14 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <assert.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtBToVlnuBall.hh"
#include "EvtGenModels/EvtBToVlnuBallFF.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
#include <string>
using std::endl;
-EvtBToVlnuBall::EvtBToVlnuBall():
- _Ballmodel(0)
- ,_calcamp(0)
-{}
-
-EvtBToVlnuBall::~EvtBToVlnuBall() {
- delete _Ballmodel;
- _Ballmodel=0;
- delete _calcamp;
- _calcamp=0;
-}
-
-
std::string EvtBToVlnuBall::getName(){
return "BTOVLNUBALL";
}
-EvtDecayBase* EvtBToVlnuBall::clone(){
+EvtBToVlnuBall* EvtBToVlnuBall::clone(){
return new EvtBToVlnuBall;
}
void EvtBToVlnuBall::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- _calcamp->CalcAmp(p,_amp2,_Ballmodel);
+ _calcamp->CalcAmp(p,_amp2,_Ballmodel.get());
}
void EvtBToVlnuBall::initProbMax(){
EvtId parnum,mesnum,lnum,nunum;
parnum = getParentId();
mesnum = getDaug(0);
lnum = getDaug(1);
nunum = getDaug(2);
double mymaxprob = _calcamp->CalcMaxProb(parnum,mesnum,
- lnum,nunum,_Ballmodel);
+ lnum,nunum,_Ballmodel.get());
setProbMax(mymaxprob);
}
void EvtBToVlnuBall::init(){
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
EvtSpinType::spintype d1type = EvtPDL::getSpinType(getDaug(0));
if ( d1type==EvtSpinType::VECTOR) {
checkNArg(8); // the number of arguments needed for the Ball model
- _Ballmodel = new EvtBToVlnuBallFF(getArg(0),getArg(1),getArg(2),getArg(3),getArg(4),getArg(5),getArg(6),getArg(7));
- _calcamp = new EvtSemiLeptonicVectorAmp;
+ _Ballmodel = std::make_unique< EvtBToVlnuBallFF> (getArg(0),getArg(1),getArg(2),getArg(3),getArg(4),getArg(5),getArg(6),getArg(7));
+ _calcamp = std::make_unique< EvtSemiLeptonicVectorAmp >();
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Ball model handles only vector meson daughters. Sorry." << endl;
::abort();
}
-
+
}
diff --git a/src/EvtGenModels/EvtBaryonPCR.cpp b/src/EvtGenModels/EvtBaryonPCR.cpp
index a114512..f8b51fb 100644
--- a/src/EvtGenModels/EvtBaryonPCR.cpp
+++ b/src/EvtGenModels/EvtBaryonPCR.cpp
@@ -1,199 +1,187 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBaryonVminusA.cc
//
// Description: Routine to implement semileptonic decays using realistic
-// dynamics. The form factors are from
+// dynamics. The form factors are from
// M.Pervin,S.Capstick,W. Roberts, Phys.Rev. C72 035201(2005).
-//
+//
//
// Modification history:
//
// R.J. Tesarek May 28, 2004 Module created
// Karen Gibson 1/20/2006 Module updated for 1/2+->1/2+,
// 1/2+->1/2-, 1/2+->3/2- Lambda decays
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtBaryonPCR.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include <string>
#include "EvtGenModels/EvtBaryonPCRFF.hh"
using namespace std;
#ifdef D0
#undef D0
#endif
-EvtBaryonPCR::EvtBaryonPCR():
- baryonpcrffmodel(0)
- ,calcamp(0)
-{}
+std::string EvtBaryonPCR::getName(){
-EvtBaryonPCR::~EvtBaryonPCR() {
- delete baryonpcrffmodel;
- baryonpcrffmodel=0;
- delete calcamp;
- calcamp=0;
-}
+ return "BaryonPCR";
-std::string EvtBaryonPCR::getName(){
-
- return "BaryonPCR";
-
}
-EvtDecayBase* EvtBaryonPCR::clone(){
-
+EvtBaryonPCR* EvtBaryonPCR::clone(){
+
return new EvtBaryonPCR;
-
+
}
void EvtBaryonPCR::decay( EvtParticle *p ){
-
+
//This is a kludge to avoid warnings because the K_2* mass becomes to large.
static EvtIdSet regenerateMasses("K_2*+","K_2*-","K_2*0","anti-K_2*0",
"K_1+","K_1-","K_10","anti-K_10",
"D'_1+","D'_1-","D'_10","anti-D'_10");
-
+
if (regenerateMasses.contains(getDaug(0))){
p->resetFirstOrNot();
}
-
+
p->initializePhaseSpace(getNDaug(),getDaugs());
-
+
EvtComplex r00(getArg(0), 0.0 );
EvtComplex r01(getArg(1), 0.0 );
EvtComplex r10(getArg(2), 0.0 );
EvtComplex r11(getArg(3), 0.0 );
- calcamp->CalcAmp(p,_amp2,baryonpcrffmodel, r00, r01, r10, r11);
-
+ calcamp->CalcAmp(p,_amp2,baryonpcrffmodel.get(), r00, r01, r10, r11);
+
}
void EvtBaryonPCR::initProbMax() {
// Baryons (partial list 5/28/04)
static EvtId SIGC0=EvtPDL::getId("Sigma_c0");
static EvtId SIGC0B=EvtPDL::getId("anti-Sigma_c0");
static EvtId SIGCP=EvtPDL::getId("Sigma_c+");
static EvtId SIGCM=EvtPDL::getId("anti-Sigma_c-");
static EvtId SIGCPP=EvtPDL::getId("Sigma_c++");
static EvtId SIGCMM=EvtPDL::getId("anti-Sigma_c--");
static EvtId LAMCP=EvtPDL::getId("Lambda_c+");
static EvtId LAMCM=EvtPDL::getId("anti-Lambda_c-");
static EvtId LAMC1P=EvtPDL::getId("Lambda_c(2593)+");
static EvtId LAMC1M=EvtPDL::getId("anti-Lambda_c(2593)-");
static EvtId LAMC2P=EvtPDL::getId("Lambda_c(2625)+");
static EvtId LAMC2M=EvtPDL::getId("anti-Lambda_c(2625)-");
static EvtId LAMB=EvtPDL::getId("Lambda_b0");
static EvtId LAMBB=EvtPDL::getId("anti-Lambda_b0");
-
+
EvtId parnum,barnum,lnum;
-
+
parnum = getParentId();
barnum = getDaug(0);
lnum = getDaug(1);
if( parnum==LAMB || parnum==LAMBB ) {
- if( barnum==LAMCP|| barnum==LAMCM
+ if( barnum==LAMCP|| barnum==LAMCM
|| barnum==LAMC1P || barnum==LAMC1M || barnum==LAMC2P || barnum==LAMC2M
- || barnum==SIGC0 || barnum==SIGC0B || barnum==SIGCP || barnum==SIGCM
+ || barnum==SIGC0 || barnum==SIGC0B || barnum==SIGCP || barnum==SIGCM
|| barnum==SIGCPP || barnum==SIGCMM ) {
setProbMax(22000.0);
return;
}
}
-
+
//This is a real cludge.. (ryd)
setProbMax(0.0);
-
+
}
void EvtBaryonPCR::init(){
-
+
//if (getNArg()!=0) {
if (getNArg()!=4) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBaryonPCR generator expected "
<< " 4 arguments but found:"<<getNArg()<<endl;
//<< " 0 arguments but found:"<<getNArg()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
if ( getNDaug()!=3 ) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
- << "Wrong number of daughters in EvtBaryonPCR.cc "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ << "Wrong number of daughters in EvtBaryonPCR.cc "
<< " 3 daughters expected but found: "<<getNDaug()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
EvtSpinType::spintype parenttype=EvtPDL::getSpinType(getParentId());
EvtSpinType::spintype baryontype=EvtPDL::getSpinType(getDaug(0));
EvtSpinType::spintype leptontype=EvtPDL::getSpinType(getDaug(1));
EvtSpinType::spintype neutrinotype=EvtPDL::getSpinType(getDaug(2));
if ( parenttype != EvtSpinType::DIRAC ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBaryonPCR generator expected "
<< " a DIRAC parent, found:"<<
EvtPDL::name(getParentId())<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
if ( leptontype != EvtSpinType::DIRAC ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBaryonPCR generator expected "
<< " a DIRAC 2nd daughter, found:"<<
EvtPDL::name(getDaug(1))<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
if ( neutrinotype != EvtSpinType::NEUTRINO ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBaryonPCR generator expected "
<< " a NEUTRINO 3rd daughter, found:"<<
EvtPDL::name(getDaug(2))<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
- baryonpcrffmodel = new EvtBaryonPCRFF;
-
- if ( baryontype==EvtSpinType::DIRAC
- || baryontype==EvtSpinType::RARITASCHWINGER) {
- calcamp = new EvtSemiLeptonicBaryonAmp;
+ baryonpcrffmodel = std::make_unique< EvtBaryonPCRFF> ();
+
+ if ( baryontype==EvtSpinType::DIRAC
+ || baryontype==EvtSpinType::RARITASCHWINGER) {
+ calcamp = std::make_unique< EvtSemiLeptonicBaryonAmp> ();
}
else {
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
- << "Wrong baryon spin type in EvtBaryonPCR.cc "
- << "Expected spin type " << EvtSpinType::DIRAC
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ << "Wrong baryon spin type in EvtBaryonPCR.cc "
+ << "Expected spin type " << EvtSpinType::DIRAC
<< ", found spin type " << baryontype <<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" <<endl;
::abort();
}
-
+
}
diff --git a/src/EvtGenModels/EvtBcBsNPi.cpp b/src/EvtGenModels/EvtBcBsNPi.cpp
index fe6139d..978b960 100644
--- a/src/EvtGenModels/EvtBcBsNPi.cpp
+++ b/src/EvtGenModels/EvtBcBsNPi.cpp
@@ -1,72 +1,69 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtGenModels/EvtBcBsNPi.hh
//
// Description: Decay model for Bc -> Bs + npi
//
// Modification history:
//
// A.Berezhnoy, A.Likhoded, A.Luchinsky July 2011 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenModels/EvtBcBsNPi.hh"
EvtBcBsNPi::EvtBcBsNPi() {
_beta=-0.108; _mRho=0.775; _gammaRho=0.149;
_mRhopr=1.364; _gammaRhopr=0.400; _mA1=1.23; _gammaA1=0.4;
// Fp_N=1.3; Fp_c1=0.30; Fp_c2=0.069;
Fp_N=3*1.3; Fp_c1=0.30; Fp_c2=0.069;
Fm_N=0.0; Fm_c1=0.0; Fm_c2=0.0;
}
-EvtBcBsNPi::~EvtBcBsNPi() {
-}
-
std::string EvtBcBsNPi::getName() {
return "BC_BS_NPI";
}
-EvtDecayBase* EvtBcBsNPi::clone() {
+EvtBcBsNPi* EvtBcBsNPi::clone() {
return new EvtBcBsNPi;
}
void EvtBcBsNPi::init() {
checkNArg(0);
// check spins
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
// the others are scalar
for (int i=1; i<=(getNDaug()-1);i++) {
checkSpinDaughter(i,EvtSpinType::SCALAR);
}
}
void EvtBcBsNPi::initProbMax() {
if ( getNDaug() == 2 ) {
setProbMax(250.);
} else if ( getNDaug() == 3 ) {
setProbMax(25000.);// checked at 30k events
} else if( getNDaug() == 4 ) {
setProbMax(45000.); // checked at 30k events
}
}
diff --git a/src/EvtGenModels/EvtBcBsStarNPi.cpp b/src/EvtGenModels/EvtBcBsStarNPi.cpp
index e2ba6bd..78b6118 100644
--- a/src/EvtGenModels/EvtBcBsStarNPi.cpp
+++ b/src/EvtGenModels/EvtBcBsStarNPi.cpp
@@ -1,76 +1,73 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtGenModels/EvtBcBsStarNPi.hh
//
// Description: Decay model for Bc -> Bs* + npi
//
// Modification history:
//
// A.Berezhnoy, A.Likhoded, A.Luchinsky April 2011 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtBcBsStarNPi.hh"
#include "EvtGenBase/EvtSpinType.hh"
EvtBcBsStarNPi::EvtBcBsStarNPi() {
_beta=-0.108; _mRho=0.775; _gammaRho=0.149;
_mRhopr=1.364; _gammaRhopr=0.400; _mA1=1.23; _gammaA1=0.4;
FA0_N=8.1; FA0_c1=0.30; FA0_c2=0.069;
FAm_N=0.0; FAm_c1=0.0; FAm_c2=0.0;
FAp_N=0.15; FAp_c1=0.30; FAp_c2=0.069;
- FV_N= 1.08; FV_c1=0.30; FV_c2=0.069;
+ FV_N= 1.08; FV_c1=0.30; FV_c2=0.069;
}
-EvtBcBsStarNPi::~EvtBcBsStarNPi() {
-
-}
std::string EvtBcBsStarNPi::getName() {
return "BC_BSSTAR_NPI";
}
-EvtDecayBase* EvtBcBsStarNPi::clone() {
+EvtBcBsStarNPi* EvtBcBsStarNPi::clone() {
return new EvtBcBsStarNPi;
}
void EvtBcBsStarNPi::init() {
checkNArg(0);
// check spins
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
// the others are scalar
for (int i=1; i<=(getNDaug()-1);i++) {
checkSpinDaughter(i,EvtSpinType::SCALAR);
}
}
void EvtBcBsStarNPi::initProbMax() {
if ( getNDaug() == 2 ) {
setProbMax(100.);
} else if( getNDaug() == 3 ) {
setProbMax(40000.);
} else if( getNDaug() == 4 ) {
setProbMax(620.); // checked, 30k events
}
}
diff --git a/src/EvtGenModels/EvtBcPsiNPi.cpp b/src/EvtGenModels/EvtBcPsiNPi.cpp
index 1d389cb..190afc2 100644
--- a/src/EvtGenModels/EvtBcPsiNPi.cpp
+++ b/src/EvtGenModels/EvtBcPsiNPi.cpp
@@ -1,76 +1,72 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtGenModels/EvtBcBsNPi.hh
//
// Description: Decay model for Bc -> J/psi + npi
//
// Modification history:
//
// A.Berezhnoy, A.Likhoded, A.Luchinsky April 2011 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtBcPsiNPi.hh"
#include "EvtGenBase/EvtSpinType.hh"
EvtBcPsiNPi::EvtBcPsiNPi() {
_beta=-0.108; _mRho=0.775; _gammaRho=0.149;
_mRhopr=1.364; _gammaRhopr=0.400; _mA1=1.23; _gammaA1=0.4;
FA0_N=5.9; FA0_c1= 0.049; FA0_c2= 0.0015;
FAm_N=0.0; FAm_c1=0.0; FAm_c2=0.0;
FAp_N=-0.074; FAp_c1= 0.049; FAp_c2= 0.0015;
- FV_N=0.11; FV_c1= 0.049; FV_c2= 0.0015;
-
-}
-
-EvtBcPsiNPi::~EvtBcPsiNPi() {
+ FV_N=0.11; FV_c1= 0.049; FV_c2= 0.0015;
}
std::string EvtBcPsiNPi::getName() {
return "BC_PSI_NPI";
}
-EvtDecayBase* EvtBcPsiNPi::clone() {
+EvtBcPsiNPi* EvtBcPsiNPi::clone() {
return new EvtBcPsiNPi;
}
void EvtBcPsiNPi::init() {
checkNArg(0);
// check spins
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
// the others are scalar
for (int i=1; i<=(getNDaug()-1);i++) {
checkSpinDaughter(i,EvtSpinType::SCALAR);
}
}
void EvtBcPsiNPi::initProbMax() {
setProbMax(100.);
if( getNDaug() == 2 ) {
setProbMax(330.);
} else if( getNDaug() == 3 ) {
setProbMax(11000.); // checked with 30k events
} else if( getNDaug() == 4 ) {
setProbMax(36000.);
}
}
diff --git a/src/EvtGenModels/EvtBcSMuNu.cpp b/src/EvtGenModels/EvtBcSMuNu.cpp
index fff614b..5936479 100644
--- a/src/EvtGenModels/EvtBcSMuNu.cpp
+++ b/src/EvtGenModels/EvtBcSMuNu.cpp
@@ -1,98 +1,95 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBcSMuNu.cc
//
// Description: Routine to implement semileptonic Bc -> scalar l nu decays
//
// Modification history:
//
// AVL Jul 6, 2012 Module created
// AVL Feb 5, 2018 D0, D*0 modes added
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
#include <string>
#include <iostream>
#include "EvtGenModels/EvtBcSMuNu.hh"
#include "EvtGenModels/EvtBCSFF.hh"
using namespace std;
-EvtBcSMuNu::~EvtBcSMuNu() {
-}
-
std::string EvtBcSMuNu::getName(){
- return "BC_SMN";
+ return "BC_SMN";
}
EvtDecayBase* EvtBcSMuNu::clone(){
return new EvtBcSMuNu;
}
void EvtBcSMuNu::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,ffmodel);
+ calcamp->CalcAmp(p,_amp2,ffmodel.get());
}
void EvtBcSMuNu::init(){
checkNArg(1);
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
idScalar = getDaug(0).getId();
whichfit = int(getArg(0)+0.1);
- ffmodel = new EvtBCSFF(idScalar,whichfit);
-
- calcamp = new EvtSemiLeptonicScalarAmp;
-
+ ffmodel = std::make_unique< EvtBCSFF >(idScalar,whichfit);
+
+ calcamp = std::make_unique< EvtSemiLeptonicScalarAmp >();
+
}
void EvtBcSMuNu::initProbMax() {
EvtId parId = getParentId();
EvtId mesonId = getDaug(0);
EvtId lepId = getDaug(1);
EvtId nuId = getDaug(2);
int nQ2Bins = 200;
- double maxProb = calcamp->CalcMaxProb(parId, mesonId, lepId, nuId, ffmodel, nQ2Bins);
+ double maxProb = calcamp->CalcMaxProb(parId, mesonId, lepId, nuId, ffmodel.get(), nQ2Bins);
if (verbose()) {
EvtGenReport(EVTGEN_INFO,"EvtBcSMuNu") << "Max prob = " << maxProb << endl;
}
setProbMax(maxProb);
-
+
}
diff --git a/src/EvtGenModels/EvtBcTMuNu.cpp b/src/EvtGenModels/EvtBcTMuNu.cpp
index d0b1191..2c4427c 100644
--- a/src/EvtGenModels/EvtBcTMuNu.cpp
+++ b/src/EvtGenModels/EvtBcTMuNu.cpp
@@ -1,100 +1,96 @@
-
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBcTMuNu.cc
//
// Description: Routine to implement semileptonic B->T lnu decays
//
// Modification history:
//
// AVL July 6, 2012 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh"
#include <string>
#include <iostream>
#include "EvtGenModels/EvtBcTMuNu.hh"
#include "EvtGenModels/EvtBCTFF.hh"
using namespace std;
-EvtBcTMuNu::~EvtBcTMuNu() {
-}
-
std::string EvtBcTMuNu::getName(){
- return "BC_TMN";
+ return "BC_TMN";
}
EvtDecayBase* EvtBcTMuNu::clone(){
return new EvtBcTMuNu;
}
void EvtBcTMuNu::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,ffmodel);
+ calcamp->CalcAmp(p,_amp2,ffmodel.get());
}
void EvtBcTMuNu::init(){
-
+
checkNArg(1);
checkNDaug(3);
//We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::TENSOR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
-
+
idTensor = getDaug(0).getId();
whichfit = int(getArg(0)+0.1);
- ffmodel = new EvtBCTFF(idTensor,whichfit);
-
- calcamp = new EvtSemiLeptonicTensorAmp;
-
+ ffmodel = std::make_unique<EvtBCTFF>(idTensor,whichfit);
+
+ calcamp = std::make_unique<EvtSemiLeptonicTensorAmp>();
+
}
void EvtBcTMuNu::initProbMax() {
EvtId parId = getParentId();
EvtId mesonId = getDaug(0);
EvtId lepId = getDaug(1);
EvtId nuId = getDaug(2);
int nQ2Bins = 200;
- double maxProb = calcamp->CalcMaxProb(parId, mesonId, lepId, nuId, ffmodel, nQ2Bins);
+ double maxProb = calcamp->CalcMaxProb(parId, mesonId, lepId, nuId, ffmodel.get(), nQ2Bins);
if (verbose()) {
EvtGenReport(EVTGEN_INFO,"EvtBcTMuNu") << "Max prob = " << maxProb << endl;
}
setProbMax(maxProb);
}
diff --git a/src/EvtGenModels/EvtBcToNPi.cpp b/src/EvtGenModels/EvtBcToNPi.cpp
index 01ebee8..c12d4e3 100644
--- a/src/EvtGenModels/EvtBcToNPi.cpp
+++ b/src/EvtGenModels/EvtBcToNPi.cpp
@@ -1,339 +1,336 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtGenModels/EvtBcToNPi.hh
//
// Description: General decay model for Bc -> V + npi and Bc -> P + npi
//
// Modification history:
//
// A.Berezhnoy, A.Likhoded, A.Luchinsky April 2011 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenModels/EvtBcToNPi.hh"
#include <iostream>
using std::endl;
EvtBcToNPi::EvtBcToNPi(bool printAuthorInfo) {
nCall=0; maxAmp2=0;
if (printAuthorInfo == true) {this->printAuthorInfo();}
}
-EvtBcToNPi::~EvtBcToNPi() {
-}
-
std::string EvtBcToNPi::getName(){
- return "EvtBcToNPi";
+ return "EvtBcToNPi";
}
EvtDecayBase* EvtBcToNPi::clone(){
return new EvtBcToNPi;
}
void EvtBcToNPi::init(){
// check spins
checkSpinParent(EvtSpinType::SCALAR);
// the others are scalar
for (int i=1; i<=(getNDaug()-1);i++) {
checkSpinDaughter(i,EvtSpinType::SCALAR);
- }
+ };
_beta=-0.108; _mRho=0.775; _gammaRho=0.149;
_mRhopr=1.364; _gammaRhopr=0.400; _mA1=1.23; _gammaA1=0.4;
// read arguments
if( EvtPDL::getSpinType(getDaug(0)) == EvtSpinType::VECTOR) {
checkNArg(10);
int n=0;
_maxProb=getArg(n++);
FA0_N=getArg(n++);
FA0_c1=getArg(n++);
FA0_c2=getArg(n++);
FAp_N=getArg(n++);
FAp_c1=getArg(n++);
FAp_c2=getArg(n++);
FV_N=getArg(n++);
FV_c1=getArg(n++);
FV_c2=getArg(n++);
FAm_N=0;
FAm_c1=0;
FAm_c2=0;
}
else if( EvtPDL::getSpinType(getDaug(0)) == EvtSpinType::SCALAR) {
checkNArg(4);
int n=0;
_maxProb=getArg(n++);
Fp_N=getArg(n++);
Fp_c1=getArg(n++);
Fp_c2=getArg(n++);
Fm_N=0;
Fm_c1=0;
Fm_c2=0;
}
else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Have not yet implemented this final state in BCPSINPI model" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Ndaug="<<getNDaug() << endl;
- for ( int id=0; id<(getNDaug()-1); id++ )
+ for ( int id=0; id<(getNDaug()-1); id++ )
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Daug " << id << " "<<EvtPDL::name(getDaug(id)).c_str() << endl;
return;
- }
+ };
if(getNDaug()<2 || getNDaug()>4) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Have not yet implemented this final state in BCPSINPI model" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Ndaug="<<getNDaug() << endl;
- for ( int id=0; id<(getNDaug()-1); id++ )
+ for ( int id=0; id<(getNDaug()-1); id++ )
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Daug " << id << " "<<EvtPDL::name(getDaug(id)).c_str() << endl;
return;
}
}
double EvtBcToNPi::_ee(double M, double m1, double m2) {
return (M*M+m1*m1-m2*m2)/(2*M);
}
double EvtBcToNPi::_pp(double M, double m1, double m2) {
double __ee=_ee(M,m1,m2);
return sqrt(__ee*__ee-m1*m1);
}
void EvtBcToNPi::initProbMax(){
if(_maxProb>0.) setProbMax(_maxProb);
else {
EvtId id=getParentId();
EvtScalarParticle *p=new EvtScalarParticle();
p->init(id, EvtPDL::getMass(id),0., 0., 0.);
p->setDiagonalSpinDensity();
// add daughters
p->makeDaughters(getNDaug(), getDaugs() );
// fill the momenta
if(getNDaug()==2) {
double M=EvtPDL::getMass(id), m1=EvtPDL::getMass(getDaug(0)), m2=EvtPDL::getMass(getDaug(1));
double __pp=_pp(M,m1,m2);
p->getDaug(0)->setP4( EvtVector4R( _ee(M,m1,m2), 0., 0., __pp) );
p->getDaug(1)->setP4( EvtVector4R( _ee(M,m2,m1), 0., 0., -__pp) );
}
else if( getNDaug()==3) {
- double M=EvtPDL::getMass(id),
- m1=EvtPDL::getMass(getDaug(0)),
+ double M=EvtPDL::getMass(id),
+ m1=EvtPDL::getMass(getDaug(0)),
m2=EvtPDL::getMass(getDaug(1)),
m3=EvtPDL::getMass(getDaug(2));
double __ppRho=_pp(M,m1,_mRho), __ppPi=_pp(_mRho,m2,m3);
p->getDaug(0)->setP4( EvtVector4R( _ee(M,m1,_mRho), 0., 0., __ppRho) );
EvtVector4R _pRho( _ee(M,_mRho,m1), 0., 0., -__ppRho);
EvtVector4R _p2( _ee(_mRho, m2, m3), 0., 0., __ppPi); _p2.applyBoostTo(_pRho);
EvtVector4R _p3( _ee(_mRho, m2, m3), 0., 0., -__ppPi); _p3.applyBoostTo(_pRho);
p->getDaug(1)->setP4(_p2);
p->getDaug(2)->setP4(_p3);
}
else if( getNDaug()==4) {
- double M=EvtPDL::getMass(id),
- m1=EvtPDL::getMass(getDaug(0)),
+ double M=EvtPDL::getMass(id),
+ m1=EvtPDL::getMass(getDaug(0)),
m2=EvtPDL::getMass(getDaug(1)),
m3=EvtPDL::getMass(getDaug(2)),
m4=EvtPDL::getMass(getDaug(3));
if(M<m1+_mA1) return;
double __ppA1=_pp(M,m1,_mA1),
__ppRho=_pp(_mA1,_mRho,m4),
__ppPi=_pp(_mRho, m2, m3);
p->getDaug(0)->setP4( EvtVector4R( _ee(M,m1,_mRho), 0., 0., __ppA1) );
EvtVector4R _pA1( _ee(M,_mA1,m1), 0., 0., -__ppA1);
EvtVector4R _pRho(_ee(_mA1, _mRho, m4), 0, 0, __ppRho);
_pRho.applyBoostTo(_pA1);
EvtVector4R _p4( _ee(_mA1, m4, _mRho), 0, 0, -__ppRho); _p4.applyBoostTo(_pA1);
p->getDaug(3)->setP4(_p4);
EvtVector4R _p2( _ee(_mRho, m2, m3), 0, 0, __ppPi); _p2.applyBoostTo(_pRho);
p->getDaug(1)->setP4(_p2);
EvtVector4R _p3( _ee(_mRho, m2, m3), 0, 0, -__ppPi); _p2.applyBoostTo(_pRho);
p->getDaug(2)->setP4(_p3);
- }
+ };
_amp2.init(p->getId(),getNDaug(),getDaugs());
- decay(p);
+ decay(p);
EvtSpinDensity rho=_amp2.getSpinDensity();
double prob=p->getSpinDensityForward().normalizedProb(rho);
if(prob>0) setProbMax(0.9*prob);
- }
+ };
}
void EvtBcToNPi::decay( EvtParticle *root_particle ){
++nCall;
EvtIdSet thePis("pi+","pi-","pi0");
EvtComplex I=EvtComplex(0.0, 1.0);
root_particle->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4R
p(root_particle->mass(), 0., 0., 0.), // Bc momentum
k=root_particle->getDaug(0)->getP4(), // J/psi momenta
Q=p-k;
-
+
double Q2=Q.mass2();
// check pi-mesons and calculate hadronic current
EvtVector4C hardCur;
bool foundHadCurr=false;
if ( getNDaug() == 2 ) // Bc -> psi pi+
{
hardCur=Q;
foundHadCurr=true;
}
else if ( getNDaug() == 3 ) // Bc -> psi pi+ pi0
{
EvtVector4R p1,p2;
p1=root_particle->getDaug(1)->getP4(), // pi+ momenta
p2=root_particle->getDaug(2)->getP4(), // pi0 momentum
hardCur=Fpi(p1,p2)*(p1-p2);
foundHadCurr=true;
}
else if( getNDaug()==4 ) // Bc -> psi pi+ pi pi
{
int diffPi(0),samePi1(0),samePi2(0);
if ( getDaug( 1) == getDaug( 2) ) {diffPi= 3; samePi1= 1; samePi2= 2;}
if ( getDaug( 1) == getDaug( 3) ) {diffPi= 2; samePi1= 1; samePi2= 3;}
if ( getDaug( 2) == getDaug( 3) ) {diffPi= 1; samePi1= 2; samePi2= 3;}
EvtVector4R p1=root_particle->getDaug(samePi1)->getP4();
EvtVector4R p2=root_particle->getDaug(samePi2)->getP4();
EvtVector4R p3=root_particle->getDaug(diffPi)->getP4();
-
+
EvtComplex BA1;
double GA1=_gammaA1*pi3G(Q2,samePi1)/pi3G(_mA1*_mA1,samePi1);
EvtComplex denBA1(_mA1*_mA1 - Q.mass2(),-1.*_mA1*GA1);
BA1 = _mA1*_mA1 / denBA1;
hardCur = BA1*( (p1-p3) - (Q*(Q*(p1-p3))/Q2)*Fpi(p2,p3) +
- (p2-p3) - (Q*(Q*(p2-p3))/Q2)*Fpi(p1,p3) );
+ (p2-p3) - (Q*(Q*(p2-p3))/Q2)*Fpi(p1,p3) );
foundHadCurr=true;
}
if ( !foundHadCurr ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Have not yet implemented this final state in BCNPI model" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Ndaug="<<getNDaug() << endl;
int id;
- for ( id=0; id<(getNDaug()-1); id++ )
+ for ( id=0; id<(getNDaug()-1); id++ )
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Daug " << id << " "<<EvtPDL::name(getDaug(id)).c_str() << endl;
::abort();
- }
+ };
EvtTensor4C H;
double amp2=0.;
if( root_particle->getDaug(0)->getSpinType() == EvtSpinType::VECTOR) {
double FA0=FA0_N*exp(FA0_c1*Q2 + FA0_c2*Q2*Q2);
double FAp=FAp_N*exp(FAp_c1*Q2 + FAp_c2*Q2*Q2);
double FAm=FAm_N*exp(FAm_c1*Q2 + FAm_c2*Q2*Q2);
double FV= FV_N* exp( FV_c1*Q2 + FV_c2*Q2*Q2 );
H=-FA0*EvtTensor4C::g()
-FAp*EvtGenFunctions::directProd(p,p+k)
+FAm*EvtGenFunctions::directProd(p,p-k)
+2*I*FV*dual(EvtGenFunctions::directProd(p,k));
EvtVector4C Heps=H.cont2(hardCur);
for(int i=0; i<4; i++) {
EvtVector4C eps=root_particle->getDaug(0)->epsParent(i).conj(); // psi-meson polarization vector
EvtComplex amp=eps*Heps;
vertex(i,amp);
amp2+=pow( abs(amp),2);
}
}
else if( root_particle->getDaug(0)->getSpinType() == EvtSpinType::SCALAR) {
double Fp=Fp_N*exp(Fp_c1*Q2 + Fp_c2*Q2*Q2);
double Fm=Fm_N*exp(Fm_c1*Q2 + Fm_c2*Q2*Q2);
EvtVector4C H=Fp*(p+k)+Fm*(p-k);
EvtComplex amp=H*hardCur;
vertex(amp);
amp2+=pow( abs(amp),2);
- }
+ };
if(amp2>maxAmp2) maxAmp2=amp2;
return ;
}
EvtComplex EvtBcToNPi::Fpi( EvtVector4R q1, EvtVector4R q2) {
double m1=q1.mass();
double m2=q2.mass();
-
+
EvtVector4R Q = q1 + q2;
double mQ2= Q*Q;
-
+
// momenta in the rho->pipi decay
double dRho= _mRho*_mRho - m1*m1 - m2*m2;
double pPiRho = (1.0/_mRho)*sqrt((dRho*dRho)/4.0 - m1*m1*m2*m2);
-
+
double dRhopr= _mRhopr*_mRhopr - m1*m1 - m2*m2;
double pPiRhopr = (1.0/_mRhopr)*sqrt((dRhopr*dRhopr)/4.0 - m1*m1*m2*m2);
-
+
double dQ= mQ2 - m1*m1 - m2*m2;
double pPiQ = (1.0/sqrt(mQ2))*sqrt((dQ*dQ)/4.0 - m1*m1*m2*m2);
-
-
+
+
double gammaRho = _gammaRho*_mRho/sqrt(mQ2)*pow((pPiQ/pPiRho),3);
EvtComplex BRhoDem(_mRho*_mRho - mQ2,-1.0*_mRho*gammaRho);
EvtComplex BRho= _mRho*_mRho / BRhoDem;
-
+
double gammaRhopr = _gammaRhopr*_mRhopr/sqrt(mQ2)*pow((pPiQ/pPiRhopr),3);
EvtComplex BRhoprDem(_mRhopr*_mRhopr - mQ2,-1.0*_mRho*gammaRhopr);
EvtComplex BRhopr= _mRhopr*_mRhopr / BRhoprDem;
-
+
return (BRho + _beta*BRhopr)/(1+_beta);
}
double EvtBcToNPi::pi3G(double m2,int dupD) {
double mPi= EvtPDL::getMeanMass(getDaug(dupD));
if ( m2 > (_mRho+mPi) ) {
return m2*(1.623 + 10.38/m2 - 9.32/(m2*m2) + 0.65/(m2*m2*m2));
}
else {
double t1=m2-9.0*mPi*mPi;
return 4.1*pow(t1,3.0)*(1.0 - 3.3*t1+5.8*t1*t1);
}
}
void EvtBcToNPi::printAuthorInfo() {
-
+
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Defining EvtBcToNPi model: Bc -> V + npi and Bc -> P + npi decays\n"
<<"from A.V. Berezhnoy, A.K. Likhoded, A.V. Luchinsky: "
<<"Phys.Rev.D 82, 014012 (2010) and arXiV:1104.0808."<<endl;
}
diff --git a/src/EvtGenModels/EvtBcVHad.cpp b/src/EvtGenModels/EvtBcVHad.cpp
index 3351730..1fccfee 100644
--- a/src/EvtGenModels/EvtBcVHad.cpp
+++ b/src/EvtGenModels/EvtBcVHad.cpp
@@ -1,276 +1,259 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtBcVHad.cc
//
// Description: Module to implement Bc -> psi + (n pi) + (m K) decays
//
// Modification history:
//
// A V Luchinsky Jan 29, 2013 Module created
// A V Luchinsky Apr 30, 2019 psi K_S K mode added
//
//------------------------------------------------------------------------
#include "EvtGenModels/EvtBcVHad.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtBCVFF2.hh"
#include "EvtGenModels/EvtWHad.hh"
#include <iostream>
-
-EvtBcVHad::EvtBcVHad() :
- whichfit(0),
- idVector(0),
- out_code(0),
- ffmodel(0),
- wcurr(0)
-{
-}
-
-EvtBcVHad::~EvtBcVHad()
-{
-
- if (ffmodel) {delete ffmodel;}
- if (wcurr) {delete wcurr;}
-
-}
std::string EvtBcVHad::getName() {
return "BC_VHAD";
}
EvtDecayBase* EvtBcVHad::clone() {
return new EvtBcVHad;
}
//======================================================
void EvtBcVHad::init() {
checkNArg(1);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0, EvtSpinType::VECTOR);
for (int i = 1; i <= (getNDaug() - 1); i++) {
checkSpinDaughter(i, EvtSpinType::SCALAR);
}
if (getNDaug() < 2 || getNDaug() > 6) {
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Have not yet implemented this final state in BC_VHAD model" << std::endl;
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Ndaug=" << getNDaug() << std::endl;
for (int id = 0; id < (getNDaug() - 1); id++) {
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Daug " << id << " " << EvtPDL::name(getDaug(id)).c_str() << std::endl;
}
return;
}
idVector = getDaug(0).getId();
whichfit = int(getArg(0) + 0.1);
- ffmodel = new EvtBCVFF2(idVector, whichfit);
+ ffmodel = std::make_unique<EvtBCVFF2>(idVector, whichfit);
- wcurr = new EvtWHad();
+ wcurr = std::make_unique<EvtWHad>();
// determine the code of final hadronic state
EvtIdSet thePis("pi+", "pi-", "pi0");
EvtIdSet theK("K+", "K-", "K_S0");
if (getNDaug() == 2 && thePis.contains(getDaug(1))) {
out_code = 1;
} else if (getNDaug() == 3 && thePis.contains(getDaug(1)) && thePis.contains(getDaug(2))) {
out_code = 2;
} else if (getNDaug() == 4 && thePis.contains(getDaug(1)) && thePis.contains(getDaug(2)) &&
thePis.contains(getDaug(3))) {
out_code = 3;
} else if (getNDaug() == 5 && thePis.contains(getDaug(1)) && thePis.contains(getDaug(2)) &&
thePis.contains(getDaug(3)) && thePis.contains(getDaug(4))) {
out_code = 4;
} else if (getNDaug() == 6 && thePis.contains(getDaug(1)) && thePis.contains(getDaug(2)) &&
thePis.contains(getDaug(3)) && thePis.contains(getDaug(4)) && thePis.contains(getDaug(5))) {
out_code = 5;
} else if (getNDaug() == 4 && theK.contains(getDaug(1)) && theK.contains(getDaug(2)) &&
thePis.contains(getDaug(3))) {
out_code = 6;
} else if (getNDaug() == 4 && theK.contains(getDaug(1)) && thePis.contains(getDaug(2)) &&
thePis.contains(getDaug(3))) {
out_code = 7;
} else if (getNDaug() == 3 && theK.contains(getDaug(1)) && theK.contains(getDaug(2))) {
out_code = 8;
}
}
//======================================================
void EvtBcVHad::initProbMax() {
if (out_code == 3) {
if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 1 && getNDaug() == 4) setProbMax(42000.);
else if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 2 && getNDaug() == 4) setProbMax(16000.);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 1 && getNDaug() == 4) setProbMax(1200.);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 2 && getNDaug() == 4) setProbMax(2600.);
} else if (out_code == 5) {
if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 1 && getNDaug() == 6) setProbMax(720000.);
else if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 2 && getNDaug() == 6) setProbMax(471817.);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 1 && getNDaug() == 6) setProbMax(40000.);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 2 && getNDaug() == 6) setProbMax(30000.);
} else if (out_code == 6) {
if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 1) setProbMax(50000.);
else if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 2) setProbMax(20000.0);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 1) setProbMax(2100.0);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 2) setProbMax(1700.00);
} else if (out_code == 7) {
if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 1) setProbMax(2.2e+06);
else if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 2) setProbMax(830000);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 1) setProbMax(92000.0);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 2) setProbMax(93000.0);
} else if (out_code == 8) {
if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 1) setProbMax(2e2);
else if (idVector == EvtPDL::getId("J/psi").getId() && whichfit == 2) setProbMax(80);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 1) setProbMax(10);
else if (idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 2) setProbMax(10);
} else {
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Have not yet implemented this final state in BC_VHAD model" << std::endl;
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Ndaug=" << getNDaug() << std::endl;
for (int id = 0; id < (getNDaug() - 1); id++) {
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Daug " << id << " " << EvtPDL::name(getDaug(id)).c_str() << std::endl;
}
::abort();
}
}
//======================================================
EvtVector4C EvtBcVHad::hardCurr(EvtParticle *root_particle) const {
EvtVector4C hardCur;
if (out_code == 1) {
// pi+
hardCur = wcurr->WCurrent(root_particle->getDaug(1)->getP4());
} else if (out_code == 2) {
// pi+ pi0
hardCur = wcurr->WCurrent(root_particle->getDaug(1)->getP4(),
root_particle->getDaug(2)->getP4());
} else if (out_code == 3) {
// pi+ pi+ pi-
hardCur = wcurr->WCurrent(root_particle->getDaug(1)->getP4(),
root_particle->getDaug(2)->getP4(),
root_particle->getDaug(3)->getP4());
} else if (out_code == 5) {
// Bc -> psi pi+ pi+ pi- pi- pi+ from Kuhn, Was, hep-ph/0602162
hardCur = wcurr->WCurrent(root_particle->getDaug(1)->getP4(),
root_particle->getDaug(2)->getP4(),
root_particle->getDaug(3)->getP4(),
root_particle->getDaug(4)->getP4(),
root_particle->getDaug(5)->getP4());
} else if (out_code == 6) {
// K+ K- pi+
hardCur = wcurr->WCurrent_KKP(root_particle->getDaug(1)->getP4(),
root_particle->getDaug(2)->getP4(),
root_particle->getDaug(3)->getP4());
} else if (out_code == 7) {
// K+ pi+ pi-
hardCur = wcurr->WCurrent_KPP(root_particle->getDaug(1)->getP4(),
root_particle->getDaug(2)->getP4(),
root_particle->getDaug(3)->getP4());
} else if (out_code == 8) {
// K_S0 K+
hardCur = wcurr->WCurrent_KSK(root_particle->getDaug(1)->getP4(),
root_particle->getDaug(2)->getP4());
} else {
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Have not yet implemented this final state in BC_VHAD model" << std::endl;
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Ndaug=" << getNDaug() << std::endl;
for (int id = 0; id < (getNDaug() - 1); id++) {
EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Daug " << id << " " << EvtPDL::name(getDaug(id)).c_str() << std::endl;
}
::abort();
}
return hardCur;
}
//======================================================
void EvtBcVHad::decay(EvtParticle *root_particle) {
root_particle->initializePhaseSpace(getNDaug(), getDaugs());
// Calculate hadronic current
EvtVector4C hardCur = hardCurr(root_particle);
EvtParticle* Jpsi = root_particle->getDaug(0);
EvtVector4R
p4b(root_particle->mass(), 0., 0., 0.), // Bc momentum
p4meson = Jpsi->getP4(), // J/psi momenta
Q = p4b - p4meson,
p4Sum = p4meson + p4b;
double Q2 = Q.mass2();
// Calculate Bc -> V W form-factors
double a1f(0.0), a2f(0.0), vf(0.0), a0f(0.0);
double m_meson = Jpsi->mass();
double m_b = root_particle->mass();
double mVar = m_b + m_meson;
ffmodel->getvectorff(root_particle->getId(),
Jpsi->getId(),
Q2, m_meson, &a1f, &a2f, &vf, &a0f);
double a3f = (mVar/(2.0*m_meson))*a1f - ((m_b - m_meson)/(2.0*m_meson))*a2f;
// Calculate Bc -> V W current
EvtTensor4C H = a1f*mVar*EvtTensor4C::g();
H.addDirProd((-a2f/mVar)*p4b, p4Sum);
H += EvtComplex(0.0, vf/mVar)*dual(EvtGenFunctions::directProd(p4Sum, Q));
H.addDirProd((a0f - a3f)*2.0*(m_meson/Q2)*p4b, Q);
EvtVector4C Heps = H.cont2(hardCur);
for (int i = 0; i < 4; i++) {
EvtVector4C eps = Jpsi->epsParent(i).conj(); // psi-meson polarization vector
EvtComplex amp = eps*Heps;
vertex(i, amp);
}
}
diff --git a/src/EvtGenModels/EvtBcVMuNu.cpp b/src/EvtGenModels/EvtBcVMuNu.cpp
index 639fccd..b3f21fb 100755
--- a/src/EvtGenModels/EvtBcVMuNu.cpp
+++ b/src/EvtGenModels/EvtBcVMuNu.cpp
@@ -1,98 +1,95 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBcVMuNu.cc
//
// Description: Routine to implement semileptonic Bc -> vector l nu decays
//
// Modification history:
//
// AVL Jul 6, 2012 Module created
// AVL Feb 5, 2018 D0, D*0 modes added
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include <string>
#include <iostream>
#include "EvtGenModels/EvtBcVMuNu.hh"
#include "EvtGenModels/EvtBCVFF.hh"
using namespace std;
-EvtBcVMuNu::~EvtBcVMuNu() {
-}
-
std::string EvtBcVMuNu::getName(){
- return "BC_VMN";
+ return "BC_VMN";
}
EvtDecayBase* EvtBcVMuNu::clone(){
return new EvtBcVMuNu;
}
void EvtBcVMuNu::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,ffmodel);
+ calcamp->CalcAmp(p,_amp2,ffmodel.get());
}
void EvtBcVMuNu::init(){
checkNArg(1);
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
idVector = getDaug(0).getId();
whichfit = int(getArg(0)+0.1);
- ffmodel = new EvtBCVFF(idVector,whichfit);
+ ffmodel = std::make_unique<EvtBCVFF>(idVector,whichfit);
+
+ calcamp = std::make_unique<EvtSemiLeptonicVectorAmp>();
- calcamp = new EvtSemiLeptonicVectorAmp;
-
}
void EvtBcVMuNu::initProbMax() {
EvtId parId = getParentId();
EvtId mesonId = getDaug(0);
EvtId lepId = getDaug(1);
EvtId nuId = getDaug(2);
int nQ2Bins = 200;
- double maxProb = calcamp->CalcMaxProb(parId, mesonId, lepId, nuId, ffmodel, nQ2Bins);
+ double maxProb = calcamp->CalcMaxProb(parId, mesonId, lepId, nuId, ffmodel.get(), nQ2Bins);
if (verbose()) {
EvtGenReport(EVTGEN_INFO,"EvtBcVMuNu") << "Max prob = " << maxProb << endl;
}
setProbMax(maxProb);
}
diff --git a/src/EvtGenModels/EvtBcVNpi.cpp b/src/EvtGenModels/EvtBcVNpi.cpp
index 12b914b..717169c 100644
--- a/src/EvtGenModels/EvtBcVNpi.cpp
+++ b/src/EvtGenModels/EvtBcVNpi.cpp
@@ -1,183 +1,174 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBcVNpi.cc
//
// Description: Module to implement Bc -> psi + (n pi) decays
//
// Modification history:
//
// AVL July 6, 2012 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
-#include <iostream>
-#include <iomanip>
-#include <fstream>
#include <ctype.h>
#include <stdlib.h>
-#include <string.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtTauHadnu.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtParser.hh"
#include "EvtGenModels/EvtBcVNpi.hh"
#include "EvtGenModels/EvtWnPi.hh"
-EvtBcVNpi::~EvtBcVNpi() {
-// cout<<"BcVNpi::destructor : nCall = "<<nCall<<" getProbMax(-1) = "<<getProbMax(-1)<<endl;
-
-}
-
std::string EvtBcVNpi::getName(){ return "BC_VNPI";}
EvtDecayBase* EvtBcVNpi::clone() { return new EvtBcVNpi;}
//======================================================
void EvtBcVNpi::init(){
//cout<<"BcVNpi::init()"<<endl;
-
+
checkNArg(1);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
for (int i=1; i<=(getNDaug()-1);i++) {
checkSpinDaughter(i,EvtSpinType::SCALAR);
};
if(getNDaug()<2 || getNDaug()>6) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Have not yet implemented this final state in BcVNpi model" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Ndaug="<<getNDaug() << endl;
- for ( int id=0; id<(getNDaug()-1); id++ )
+ for ( int id=0; id<(getNDaug()-1); id++ )
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Daug " << id << " "<<EvtPDL::name(getDaug(id)).c_str() << endl;
return;
}
-
+
// for(int i=0; i<getNDaug(); i++)
// cout<<"BcVNpi::init \t\t daughter "<<i<<" : "<<getDaug(i).getId()<<" "<<EvtPDL::name(getDaug(i)).c_str()<<endl;
idVector = getDaug(0).getId();
whichfit = int(getArg(0)+0.1);
// cout<<"BcVNpi: whichfit ="<<whichfit<<" idVector="<<idVector<<endl;
- ffmodel = new EvtBCVFF(idVector,whichfit);
-
- wcurr = new EvtWnPi();
-
+ ffmodel = std::make_unique<EvtBCVFF>(idVector,whichfit);
+
+ wcurr = std::make_unique<EvtWnPi>();
+
nCall = 0;
}
//======================================================
void EvtBcVNpi::initProbMax() {
// cout<<"BcVNpi::initProbMax()"<<endl;
if(idVector == EvtPDL::getId("J/psi").getId() && whichfit == 1 && getNDaug()==6) setProbMax(720000.);
else if(idVector == EvtPDL::getId("J/psi").getId() && whichfit == 2 && getNDaug()==6) setProbMax(471817.);
else if(idVector == EvtPDL::getId("J/psi").getId() && whichfit == 1 && getNDaug()==4) setProbMax(42000.);
else if(idVector == EvtPDL::getId("J/psi").getId() && whichfit == 2 && getNDaug()==4) setProbMax(16000.);
-
+
else if(idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 1 && getNDaug()==4) setProbMax(1200.);
else if(idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 2 && getNDaug()==4) setProbMax(2600.);
else if(idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 1 && getNDaug()==6) setProbMax(40000.);
else if(idVector == EvtPDL::getId("psi(2S)").getId() && whichfit == 2 && getNDaug()==6) setProbMax(30000.);
}
//======================================================
void EvtBcVNpi::decay( EvtParticle *root_particle ) {
++nCall;
// cout<<"BcVNpi::decay()"<<endl;
root_particle->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4R
p4b(root_particle->mass(), 0., 0., 0.), // Bc momentum
p4meson=root_particle->getDaug(0)->getP4(), // J/psi momenta
Q=p4b-p4meson;
double Q2=Q.mass2();
// check pi-mesons and calculate hadronic current
EvtVector4C hardCur;
// bool foundHadCurr=false;
if( getNDaug() == 2) {
hardCur = wcurr->WCurrent( root_particle->getDaug(1)->getP4() );
// foundHadCurr=true;
}
else if( getNDaug() == 3) {
- hardCur = wcurr->WCurrent( root_particle->getDaug(1)->getP4() ,
- root_particle->getDaug(2)->getP4()
+ hardCur = wcurr->WCurrent( root_particle->getDaug(1)->getP4() ,
+ root_particle->getDaug(2)->getP4()
);
-// foundHadCurr=true;
+// foundHadCurr=true;
}
else if( getNDaug() == 4) {
- hardCur = wcurr->WCurrent( root_particle->getDaug(1)->getP4() ,
- root_particle->getDaug(2)->getP4(),
- root_particle->getDaug(3)->getP4()
+ hardCur = wcurr->WCurrent( root_particle->getDaug(1)->getP4() ,
+ root_particle->getDaug(2)->getP4(),
+ root_particle->getDaug(3)->getP4()
);
-// foundHadCurr=true;
+// foundHadCurr=true;
}
else if( getNDaug() == 6) // Bc -> psi pi+ pi+ pi- pi- pi+ from [Kuhn, Was, hep-ph/0602162
{
hardCur = wcurr->WCurrent(root_particle->getDaug(1)->getP4(),
root_particle->getDaug(2)->getP4(),
root_particle->getDaug(3)->getP4(),
root_particle->getDaug(4)->getP4(),
root_particle->getDaug(5)->getP4()
);
// foundHadCurr=true;
- }
+ }
else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Have not yet implemented this final state in BCNPI model" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Ndaug="<<getNDaug() << endl;
int id;
- for ( id=0; id<(getNDaug()-1); id++ )
+ for ( id=0; id<(getNDaug()-1); id++ )
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Daug " << id << " "<<EvtPDL::name(getDaug(id)).c_str() << endl;
::abort();
- };
+ };
// calculate Bc -> V W form-factors
double a1f, a2f, vf, a0f;
double m_meson = root_particle->getDaug(0)->mass();
double m_b = root_particle->mass();
ffmodel->getvectorff(root_particle->getId(),
root_particle->getDaug(0)->getId(),
Q2,
m_meson,
- &a1f,
- &a2f,
- &vf,
+ &a1f,
+ &a2f,
+ &vf,
&a0f);
double a3f = ((m_b+m_meson)/(2.0*m_meson))*a1f -
((m_b-m_meson)/(2.0*m_meson))*a2f;
// calculate Bc -> V W current
EvtTensor4C H;
H = a1f*(m_b+m_meson)*EvtTensor4C::g();
H.addDirProd((-a2f/(m_b+m_meson))*p4b,p4b+p4meson);
H+=EvtComplex(0.0,vf/(m_b+m_meson))*dual(EvtGenFunctions::directProd(p4meson+p4b,p4b-p4meson));
H.addDirProd((a0f-a3f)*2.0*(m_meson/Q2)*p4b,p4b-p4meson);
EvtVector4C Heps=H.cont2(hardCur);
-
+
for(int i=0; i<4; i++) {
EvtVector4C eps=root_particle->getDaug(0)->epsParent(i).conj(); // psi-meson polarization vector
EvtComplex amp=eps*Heps;
vertex(i,amp);
};
}
diff --git a/src/EvtGenModels/EvtBsMuMuKK.cpp b/src/EvtGenModels/EvtBsMuMuKK.cpp
index 14f6c29..7350205 100644
--- a/src/EvtGenModels/EvtBsMuMuKK.cpp
+++ b/src/EvtGenModels/EvtBsMuMuKK.cpp
@@ -1,643 +1,648 @@
////////////////////////////////////////////////////////////////////////////////
// //
// Environment: //
// This software is part of the EvtGen package. //
// //
// Copyright Information: See EvtGen/COPYRIGHT //
// //
// Module: EvtBsMUMUKK.cc //
// //
// Description: Routine to implement Bs -> J/psi KK //
// //
// Modification history: //
// Veronika Chobanova, Jeremy Dalseno, Diego Martinez Santos //
// April 21, 2016 Module created LHCb collaboration //
// Marcos Romero Lamas //
// February 8, 2019 Module updated LHCb collaboration //
// //
////////////////////////////////////////////////////////////////////////////////
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtdFunction.hh"
#include "EvtGenBase/EvtKine.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector3R.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenModels/EvtBsMuMuKK.hh"
const double pi = EvtConst::pi;
const EvtComplex I = EvtComplex(0.0,1.0);
const double sq2 = sqrt(2.0);
+std::string EvtBsMuMuKK::getName()
+{
+ return "BS_MUMUKK";
+}
+
EvtDecayBase* EvtBsMuMuKK::clone()
{
return new EvtBsMuMuKK;
}
void EvtBsMuMuKK::init()
{
// DecFile parameters
checkNArg(37);
// Non-resonant S wave
f_S_NR = getArg(0);
delta_S_NR = getArg(1);
phis_S_NR = getArg(2);
lambda_S_NR_abs = getArg(3);
// f0 (S wave)
f_f0 = getArg(4);
delta_f0 = getArg(5);
phis_f0 = getArg(6);
lambda_f0_abs = getArg(7);
// phi (P wave)
f_phi = getArg(8);
f_phi_0 = getArg(9);
delta_phi_0 = getArg(10);
phis_phi_0 = getArg(11);
lambda_phi_0_abs = getArg(12);
f_phi_perp = getArg(13);
delta_phi_perp = pi - getArg(14);
phis_phi_perp = getArg(15);
lambda_phi_perp_abs = getArg(16);
delta_phi_par = pi - getArg(17);
phis_phi_par = getArg(18);
lambda_phi_par_abs = getArg(19);
// f2' (D wave)
f_f2p_0 = getArg(20);
delta_f2p_0 = getArg(21);
phis_f2p_0 = getArg(22);
lambda_f2p_0_abs = getArg(23);
f_f2p_perp = getArg(24);
delta_f2p_perp = pi - getArg(25);
phis_f2p_perp = getArg(26);
lambda_f2p_perp_abs = getArg(27);
delta_f2p_par = pi - getArg(28);
phis_f2p_par = getArg(29);
lambda_f2p_par_abs = getArg(30);
// Time dependence
Gamma = getArg(31);
deltaGamma = getArg(32);
deltaMs = getArg(33);
// mKK window
Mf0 = getArg(34);
kin_lower_limit = getArg(35); // the minimum is approx 2.03*MKp
kin_upper_limit = getArg(36);
// PDG masses
MBs = EvtPDL::getMass(EvtPDL::getId("B_s0"));
MJpsi = EvtPDL::getMeanMass(EvtPDL::getId("J/psi"));
Mphi = EvtPDL::getMeanMass(EvtPDL::getId("phi"));
Mf2p = EvtPDL::getMeanMass(EvtPDL::getId("f'_2"));
MKp = EvtPDL::getMass(EvtPDL::getId("K+"));
MKm = EvtPDL::getMass(EvtPDL::getId("K-"));
MK0 = EvtPDL::getMass(EvtPDL::getId("K0"));
Mpip = EvtPDL::getMass(EvtPDL::getId("pi+"));
Mpi0 = EvtPDL::getMass(EvtPDL::getId("pi0"));
Mmu = EvtPDL::getMass(EvtPDL::getId("mu+"));
double MBsSq = MBs*MBs;
// Amplitudes and other time parameters
A_S_NR = sqrt(f_S_NR);
A_f0 = sqrt(f_f0);
A_phi_0 = sqrt(f_phi_0*f_phi);
A_phi_perp = sqrt(f_phi_perp*f_phi);
// Use fabs to make sure subtractions are >= 0, since subtracting 0 from 0 can give -0
A_phi_par = sqrt(fabs(f_phi-A_phi_perp*A_phi_perp-A_phi_0*A_phi_0));
f_f2p = fabs(1.0 - f_S_NR - f_f0 - f_phi);
A_f2p_0 = sqrt(f_f2p_0*f_f2p);
A_f2p_perp = sqrt(f_f2p_perp*f_f2p);
A_f2p_par = sqrt(fabs(f_f2p-A_f2p_perp*A_f2p_perp-A_f2p_0*A_f2p_0));
ctau = 1.0/Gamma;
Gamma0phi = EvtPDL::getWidth(EvtPDL::getId("phi"));
Gamma0f2p = EvtPDL::getWidth(EvtPDL::getId("f'_2"));
kin_middle = 0.5*(kin_upper_limit+kin_lower_limit);
int_const_NR = sqrt(Integral(1.0, 1.0, 0, 1, 1.0, kin_lower_limit, kin_upper_limit, 0));
int_Flatte_f0 = sqrt(Integral(1.0, Mf0, 0, 1, 1.0, kin_lower_limit, kin_upper_limit, 1));
p30Kp_mid_CMS = sqrt((pow(kin_middle,2) - pow(MKp+MKm,2)) * (pow(kin_middle,2) - pow(MKp-MKm,2)))/(2.0*kin_middle);
p30Kp_ll_CMS = sqrt((pow(kin_lower_limit,2) - pow(MKp+MKm,2)) * (pow(kin_lower_limit,2) - pow(MKp-MKm,2)))/(2.0*kin_lower_limit);
p30Kp_phi_CMS = sqrt((Mphi*Mphi - pow(MKp+MKm,2)) * (Mphi*Mphi - pow(MKp-MKm,2)))/(2.0*Mphi);
p30Kp_f2p_CMS = sqrt((Mf2p*Mf2p - pow(MKp+MKm,2)) * (Mf2p*Mf2p - pow(MKp-MKm,2)))/(2.0*Mf2p);
p30Jpsi_mid_CMS = sqrt((MBsSq - pow(kin_middle+MJpsi,2)) * (MBsSq - pow(kin_middle-MJpsi,2)))/(2.0*MBs);
p30Jpsi_ll_CMS = sqrt((MBsSq - pow(kin_lower_limit+MJpsi,2)) * (MBsSq - pow(kin_lower_limit-MJpsi,2)))/(2.0*MBs);
p30Jpsi_phi_CMS = sqrt((MBsSq - pow(Mphi+MJpsi,2)) * (MBsSq - pow(Mphi-MJpsi,2)))/(2.0*MBs);
p30Jpsi_f2p_CMS = sqrt((MBsSq - pow(Mf2p+MJpsi,2)) * (MBsSq - pow(Mf2p-MJpsi,2)))/(2.0*MBs);
int_BW_phi = sqrt(Integral(Gamma0phi, Mphi, 1, 0, p30Kp_phi_CMS, kin_lower_limit, kin_upper_limit, 2));
int_BW_f2p = sqrt(Integral(Gamma0f2p, Mf2p, 2, 1, p30Kp_f2p_CMS, kin_lower_limit, kin_upper_limit, 2));
// 4 daughters
checkNDaug(4);
// Spin-0 parent
checkSpinParent(EvtSpinType::SCALAR); // B_s0 (anti-B_s0)
// Daughters
checkSpinDaughter(0,EvtSpinType::DIRAC); // mu+ (mu-)
checkSpinDaughter(1,EvtSpinType::DIRAC); // mu- (mu+)
checkSpinDaughter(2,EvtSpinType::SCALAR); // K+ (K-)
checkSpinDaughter(3,EvtSpinType::SCALAR); // K- (K+)
// B_s0 parent (Parent must be B_s0 or anti-B_s0)
const EvtId p = getParentId();
if (p != EvtPDL::getId("B_s0") && p != EvtPDL::getId("anti-B_s0")) {
assert(0);
}
// Daughter types and ordering (should be mu+-, mu-+, K+-, K-+)
const EvtId d1 = getDaug(0);
const EvtId d2 = getDaug(1);
const EvtId d3 = getDaug(2);
const EvtId d4 = getDaug(3);
if (!((d1 == EvtPDL::getId("mu+") || d1 == EvtPDL::getId("mu-")) &&
(d2 == EvtPDL::getId("mu-") || d2 == EvtPDL::getId("mu+")) &&
(d3 == EvtPDL::getId("K+") || d3 == EvtPDL::getId("K-")) &&
(d4 == EvtPDL::getId("K-") || d4 == EvtPDL::getId("K+")) )) {
assert(0);
}
}
// Get ProbMax
void EvtBsMuMuKK::initProbMax()
{
const EvtComplex term11 = sqrt(p30Jpsi_f2p_CMS*p30Kp_f2p_CMS);
const EvtComplex term12 = X_J(2, p30Kp_f2p_CMS, 0)*X_J(1, p30Jpsi_f2p_CMS, 1)*
p30Kp_f2p_CMS*p30Kp_f2p_CMS*p30Jpsi_f2p_CMS*
(A_f2p_0 + 0.3*A_f2p_perp + 0.3*A_f2p_par);
const EvtComplex term13 = f_f2p*Breit_Wigner(Gamma0f2p, Mf2p, Mf2p, 2,
p30Kp_f2p_CMS, p30Kp_f2p_CMS)/int_BW_f2p;
const EvtComplex term21 = sqrt(p30Jpsi_phi_CMS*p30Kp_phi_CMS);
const EvtComplex term22 = X_J(1, p30Kp_phi_CMS, 0)*
p30Kp_phi_CMS*
(0.65*A_phi_0 + 0.6*A_phi_perp + 0.6*A_phi_par);
const EvtComplex term23 = f_phi*Breit_Wigner(Gamma0phi, Mphi, Mphi, 1,
p30Kp_phi_CMS, p30Kp_phi_CMS)/int_BW_phi;
const EvtComplex term31 = sqrt(p30Jpsi_ll_CMS*p30Kp_ll_CMS);
const EvtComplex term32 = X_J(1, p30Jpsi_ll_CMS, 1)*p30Jpsi_ll_CMS;
const EvtComplex term33 = f_f0*Flatte(Mf0, kin_lower_limit)/int_Flatte_f0;
const EvtComplex term41 = sqrt(p30Jpsi_mid_CMS*p30Kp_mid_CMS);
const EvtComplex term42 = X_J(1, p30Jpsi_mid_CMS, 1)*p30Jpsi_mid_CMS;
const EvtComplex term43 = 1.2*f_S_NR/int_const_NR;
const EvtComplex hm = term11*term12*term13 + term21*term22*term23 +
term31*term32*term33 + term41*term42*term43;
// Increase by 10%
setProbMax(0.5*abs2(hm)*1.1);
}
// Decay function
void EvtBsMuMuKK::decay(EvtParticle *p)
{
EvtId other_b;
double time(0.0);
EvtCPUtil::getInstance()->OtherB(p,time,other_b);
time = -log(EvtRandom::Flat())*ctau; // This overrules the ctau made in OtherB
if (EvtCPUtil::getInstance()->isBsMixed(p)) {
p->getParent()->setLifetime(time*EvtConst::c/1e12); // units: mm
} else {
p->setLifetime(time*EvtConst::c/1e12); // units: mm
}
double DGtime = 0.25*deltaGamma*time;
double DMtime = 0.5*deltaMs*time;
double mt = exp(-DGtime);
double pt = exp(+DGtime);
double cDMt = cos(DMtime);
double sDMt = sin(DMtime);
EvtComplex termplus = EvtComplex(cDMt, sDMt);
EvtComplex terminus = EvtComplex(cDMt, -sDMt);
EvtComplex gplus = 0.5*(mt*termplus + pt*terminus);
EvtComplex gminus = 0.5*(mt*termplus - pt*terminus);
EvtId BSB = EvtPDL::getId("anti-B_s0");
// Flavour: first assume B_s0, otherwise choose anti-B_s0
int q(1);
if (other_b == BSB) {q = -1;}
p->setAttribute("q",q);
// Amplitudes
EvtComplex a_S_NR = AmpTime(q, gplus, gminus, delta_S_NR,
lambda_S_NR_abs, A_S_NR, phis_S_NR, -1);
EvtComplex a_f0 = AmpTime(q, gplus, gminus, delta_f0,
lambda_f0_abs, A_f0, phis_f0, -1);
EvtComplex a0_phi = AmpTime(q, gplus, gminus, delta_phi_0,
lambda_phi_0_abs, A_phi_0, phis_phi_0, 1);
EvtComplex aperp_phi = AmpTime(q, gplus, gminus, delta_phi_perp,
lambda_phi_perp_abs, A_phi_perp, phis_phi_perp, -1);
EvtComplex apar_phi = AmpTime(q, gplus, gminus, delta_phi_par,
lambda_phi_par_abs, A_phi_par, phis_phi_par, 1);
EvtComplex a0_f2p = AmpTime(q, gplus, gminus, delta_f2p_0,
lambda_f2p_0_abs, A_f2p_0, phis_f2p_0, -1);
EvtComplex aperp_f2p = AmpTime(q, gplus, gminus, delta_f2p_perp,
lambda_f2p_perp_abs, A_f2p_perp, phis_f2p_perp, 1);
EvtComplex apar_f2p = AmpTime(q, gplus, gminus, delta_f2p_par,
lambda_f2p_par_abs, A_f2p_par, phis_f2p_par, -1);
// Generate 4-momenta
double mKK = EvtRandom::Flat(kin_lower_limit, kin_upper_limit);
double mass[10] = {MJpsi, mKK, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
double Kmass[10] = {MKp, MKm, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
double muMass[10] = {Mmu, Mmu, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
EvtVector4R mypV[2], mypK[2], mypmu[2];
EvtGenKine::PhaseSpace(2, mass, mypV, MBs);
EvtGenKine::PhaseSpace(2, Kmass, mypK, mKK);
EvtGenKine::PhaseSpace(2, muMass, mypmu, MJpsi);
EvtVector4R p4mup = boostTo(mypmu[0], mypV[0]);
EvtVector4R p4mum = boostTo(mypmu[1], mypV[0]);
EvtVector4R p4Kp = boostTo(mypK[0], mypV[1]);
EvtVector4R p4Km = boostTo(mypK[1], mypV[1]);
p->makeDaughters(getNDaug(), getDaugs());
EvtParticle *thisparticle;
EvtParticle *muplus, *muminus, *Kplus, *Kminus;
// Check particle ID
for (int k = 0; k <= 3; k++) {
thisparticle = p->getDaug(k);
EvtId pId = thisparticle->getId();
if (pId == EvtPDL::getId("mu+")) {
muplus = thisparticle;
muplus->init(getDaug(k), p4mup);
} else if (pId == EvtPDL::getId("mu-")) {
muminus = thisparticle;
muminus->init(getDaug(k), p4mum);
} else if (pId == EvtPDL::getId("K+")) {
Kplus = thisparticle;
Kplus->init(getDaug(k), p4Kp);
} else if (pId == EvtPDL::getId("K-")) {
Kminus = thisparticle;
Kminus->init(getDaug(k), p4Km);
}
}
EvtVector4R p4KK = p4Kp + p4Km;
EvtVector4R p4mumu = p4mup + p4mum;
EvtVector4R p4Bs = p4mumu + p4KK;
double p4KK_mass2 = p4KK.mass2();
double p4KK_mass = p4KK.mass();
double p4Bs_mass2 = p4Bs.mass2();
double p4Bs_mass = p4Bs.mass();
// Kp momentum in the KK CMS
double p3Kp_KK_CMS = sqrt( (p4KK_mass2 - pow(MKp+MKm,2)) *
(p4KK_mass2 - pow(MKp-MKm,2)) )/(2.0*p4KK_mass);
// J/psi momentum in the KK CMS
double p3Jpsi_KK_CMS = sqrt( (p4Bs_mass2 - pow(p4KK_mass+MJpsi,2)) *
(p4Bs_mass2 - pow(p4KK_mass-MJpsi,2)) )/(2.0*p4Bs_mass);
// Mass lineshapes
// Non-resonant S wave
EvtComplex P_NR = 1.0/int_const_NR;
// f0 Flatte
EvtComplex F_f0 = Flatte(Mf0, p4KK_mass)/int_Flatte_f0;
// phi Breit Wigner
EvtComplex BW_phi = Breit_Wigner(Gamma0phi, Mphi, p4KK_mass, 1,
p30Kp_phi_CMS, p3Kp_KK_CMS)/int_BW_phi;
// f2' Breit Wigner
EvtComplex BW_f2p = Breit_Wigner(Gamma0f2p, Mf2p, p4KK_mass, 1,
p30Kp_f2p_CMS, p3Kp_KK_CMS )/int_BW_f2p;
// Barrier factors: Always taking the lowest Bs L
double X_KK_0 = 1.0;
double X_KK_1 = X_J(1, p3Kp_KK_CMS, 0);
double X_KK_2 = X_J(2, p3Kp_KK_CMS, 0);
double X_NR_Jpsi_1 = X_J(1, p3Jpsi_KK_CMS, 1);
double X_f0_Jpsi_1 = X_J(1, p3Jpsi_KK_CMS, 1);
double X_phi_Jpsi_0 = 1.0;
double X_f2p_Jpsi_1 = X_J(1, p3Jpsi_KK_CMS, 1);
// Birth momentum factors: pow(p3(K+),LR)* pow(p3(J/psi),LB)
double f_PHSP = sqrt(p3Jpsi_KK_CMS*p3Kp_KK_CMS);
double f_BMF_NR = p3Jpsi_KK_CMS;
double f_BMF_f0 = p3Jpsi_KK_CMS;
double f_BMF_phi = p3Kp_KK_CMS;
double f_BMF_f2p = p3Kp_KK_CMS*p3Kp_KK_CMS*p3Jpsi_KK_CMS;
// Angular distribution and sum over KK states
double CosK = EvtDecayAngle(p4Bs, p4KK, p4Kp);
double CosMu = EvtDecayAngle(p4Bs, p4mumu, p4mup);
double chi = EvtDecayAngleChi(p4Bs, p4mup, p4mum, p4Kp, p4Km);
// Build helicity amplitudes
// phi
EvtComplex H0_phi = a0_phi;
EvtComplex Hp_phi = (apar_phi + aperp_phi)/sq2;
EvtComplex Hm_phi = (apar_phi - aperp_phi)/sq2;
// f2p
EvtComplex H0_f2p = a0_f2p;
EvtComplex Hp_f2p = (apar_f2p + aperp_f2p)/sq2;
EvtComplex Hm_f2p = (apar_f2p - aperp_f2p)/sq2;
// muon polarization +1
EvtComplex swaveangdist1 = AngularDist(0, 0, 1, CosK,CosMu,chi);
// KK Spin-0 NR
EvtComplex mp_hS_NR = a_S_NR*swaveangdist1;
EvtComplex Amp_p_NR = P_NR*X_KK_0*X_NR_Jpsi_1*f_BMF_NR * mp_hS_NR;
// KK Spin-0 f0
EvtComplex mp_h_f0 = a_f0*swaveangdist1;
EvtComplex Amp_p_f0 = F_f0*X_KK_0*X_f0_Jpsi_1*f_BMF_f0 * mp_h_f0;
// KK Spin-1
EvtComplex mp_h0_phi = H0_phi*AngularDist(1, 0, 1, CosK,CosMu,chi);
EvtComplex mp_hp_phi = Hp_phi*AngularDist(1, 1, 1, CosK,CosMu,chi);
EvtComplex mp_hm_phi = Hm_phi*AngularDist(1,-1, 1, CosK,CosMu,chi);
EvtComplex Amp_p_phi = BW_phi*X_KK_1*X_phi_Jpsi_0*f_BMF_phi *
(mp_h0_phi + mp_hp_phi + mp_hm_phi);
// KK Spin-2
EvtComplex mp_h0_f2p = H0_f2p*AngularDist(2, 0, 1, CosK,CosMu,chi);
EvtComplex mp_hp_f2p = Hp_f2p*AngularDist(2, 1, 1, CosK,CosMu,chi);
EvtComplex mp_hm_f2p = Hm_f2p*AngularDist(2,-1, 1, CosK,CosMu,chi);
EvtComplex Amp_p_f2p = BW_f2p*X_KK_2*X_f2p_Jpsi_1*f_BMF_f2p *
(mp_h0_f2p + mp_hp_f2p + mp_hm_f2p);
// muon polarization -1
EvtComplex swaveangdist2 = AngularDist(0, 0,-1, CosK,CosMu,chi);
// KK Spin-0 NR
EvtComplex mm_hS_NR = a_S_NR*swaveangdist2;
EvtComplex Amp_m_NR = P_NR*X_KK_0*X_NR_Jpsi_1*f_BMF_NR * mm_hS_NR;
// KK Spin-0
EvtComplex mm_h_f0 = a_f0*swaveangdist2;
EvtComplex Amp_m_f0 = F_f0*X_KK_0*X_f0_Jpsi_1*f_BMF_f0 * mm_h_f0;
// KK Spin-1
EvtComplex mm_h0_phi = H0_phi*AngularDist(1, 0,-1, CosK,CosMu,chi);
EvtComplex mm_hp_phi = Hp_phi*AngularDist(1,+1,-1, CosK,CosMu,chi);
EvtComplex mm_hm_phi = Hm_phi*AngularDist(1,-1,-1, CosK,CosMu,chi);
EvtComplex Amp_m_phi = BW_phi*X_KK_1*X_phi_Jpsi_0*f_BMF_phi *
(mm_h0_phi + mm_hp_phi + mm_hm_phi);
// KK Spin-2
EvtComplex mm_h0_f2p = H0_f2p*AngularDist(2, 0,-1, CosK,CosMu,chi);
EvtComplex mm_hp_f2p = Hp_f2p*AngularDist(2, 1,-1, CosK,CosMu,chi);
EvtComplex mm_hm_f2p = Hm_f2p*AngularDist(2,-1,-1, CosK,CosMu,chi);
EvtComplex Amp_m_f2p = BW_f2p*X_KK_2*X_f2p_Jpsi_1*f_BMF_f2p *
(mm_h0_f2p + mm_hp_f2p + mm_hm_f2p);
// Total amplitudes
EvtComplex Amp_tot_plus = f_PHSP*(Amp_p_NR + Amp_p_f0 + Amp_p_phi + Amp_p_f2p);
EvtComplex Amp_tot_minus = f_PHSP*(Amp_m_NR + Amp_m_f0 + Amp_m_phi + Amp_m_f2p);
vertex(0, 0, 0.0);
vertex(0, 1, Amp_tot_plus);
vertex(1, 0, Amp_tot_minus);
vertex(1, 1, 0.0);
}
// Rho function
EvtComplex EvtBsMuMuKK::GetRho(const double m0, const double m) const
{
double rho_sq = 1.0 - (4.0*m0*m0/(m*m));
EvtComplex rho;
if (rho_sq > 0.0) {
rho = EvtComplex(sqrt(rho_sq), 0.0);
} else {
rho = EvtComplex(0.0, sqrt(-rho_sq));
}
return rho;
}
// Flatte function
EvtComplex EvtBsMuMuKK::Flatte(const double m0, const double m) const
{
double gpipi = 0.167;
double gKK = 3.05*gpipi;
EvtComplex term1 = (2.0*GetRho(Mpip, m) + GetRho(Mpi0, m))/3.0;
EvtComplex term2 = (GetRho(MKp, m) + GetRho(MK0, m))/2.0;
EvtComplex w = gpipi*term1 + gKK*term2;
EvtComplex Flatte_0 = 1.0/(m0*m0 - m*m - I*m0*w);
return Flatte_0;
}
// Breit-Wigner function
EvtComplex EvtBsMuMuKK::Breit_Wigner(const double Gamma0, const double m0, const double m,
const int J, const double q0, const double q) const
{
double X_J_q0_sq = pow(X_J(J, q0, 0), 2);
double X_J_q_sq = pow(X_J(J, q, 0), 2);
double Gamma = Gamma0*pow(q/q0,2*J+1)*(m0/m)*(X_J_q_sq/X_J_q0_sq);
return 1.0/(m0*m0-m*m - I*m0*Gamma);
}
// Integral
double EvtBsMuMuKK::Integral(const double Gamma0, const double m0, const int JR, const int JB, const double q0,
const double M_KK_ll, const double M_KK_ul, const int fcntype) const
{
int bins = 1000;
double bin_width = (M_KK_ul-M_KK_ll)/static_cast<double>(bins);
EvtComplex integral(0.0, 0.0);
double MKpiKm2 = pow(MKp+MKm,2);
double MBs2 = pow(MBs,2);
for (int i = 0; i < bins; i++) {
double M_KK_i = M_KK_ll + static_cast<double>(i)*bin_width;
double M_KK_f = M_KK_ll + static_cast<double>(i+1)*bin_width;
double p3Kp_KK_CMS_i = (pow(M_KK_i,2) - MKpiKm2)/(2.0*M_KK_i);
double p3Kp_KK_CMS_f = (pow(M_KK_f,2) - MKpiKm2)/(2.0*M_KK_f);
double p3Jpsi_Bs_CMS_i = sqrt((MBs2 - pow(M_KK_i+MJpsi,2)) *
(MBs2 - pow(M_KK_i-MJpsi,2)) )/(2.0*MBs);
double p3Jpsi_Bs_CMS_f = sqrt((MBs2 - pow(M_KK_f+MJpsi,2)) *
(MBs2 - pow(M_KK_f-MJpsi,2)) )/(2.0*MBs);
double f_PHSP_i = sqrt(p3Kp_KK_CMS_i*p3Jpsi_Bs_CMS_i);
double f_PHSP_f = sqrt(p3Kp_KK_CMS_f*p3Jpsi_Bs_CMS_f);
double f_MBF_KK_i = pow(p3Kp_KK_CMS_i, JR);
double f_MBF_KK_f = pow(p3Kp_KK_CMS_f, JR);
double f_MBF_Bs_i = pow(p3Jpsi_Bs_CMS_i, JB);
double f_MBF_Bs_f = pow(p3Jpsi_Bs_CMS_f, JB);
double X_JR_i = X_J(JR, p3Kp_KK_CMS_i, 0);
double X_JR_f = X_J(JR, p3Kp_KK_CMS_f, 0);
double X_JB_i = X_J(JB, p3Jpsi_Bs_CMS_i, 1);
double X_JB_f = X_J(JB, p3Jpsi_Bs_CMS_f, 1);
EvtComplex fcn_i(1.0, 0.0), fcn_f(1.0, 0.0);
if (fcntype == 1) {
fcn_i = Flatte(m0, M_KK_i);
fcn_f = Flatte(m0, M_KK_f);
} else if (fcntype == 2) {
fcn_i = Breit_Wigner(Gamma0, m0, M_KK_i, JR, q0, p3Kp_KK_CMS_i);
fcn_f = Breit_Wigner(Gamma0, m0, M_KK_f, JR, q0, p3Kp_KK_CMS_f);
}
EvtComplex a_i = f_PHSP_i*f_MBF_KK_i*f_MBF_Bs_i*X_JR_i*X_JB_i*fcn_i;
EvtComplex a_st_i = conj(a_i);
EvtComplex a_f = f_PHSP_f*f_MBF_KK_f*f_MBF_Bs_f*X_JR_f*X_JB_f*fcn_f;
EvtComplex a_st_f = conj(a_f);
integral += 0.5*bin_width*(a_i*a_st_i + a_f*a_st_f);
}
return sqrt(abs2(integral));
}
// Blatt-Weisskopf barrier factors
double EvtBsMuMuKK::X_J(const int J, const double q, const int isB) const
{
double r_BW = 1.0;
if (isB == 0) {
r_BW = 1.5;
} else if (isB == 1) {
r_BW = 5.0;
}
double zsq = pow(r_BW*q,2);
double X_J(1.0);
if (J == 1) {
X_J = sqrt(1.0/(1.0+zsq));
} else if (J == 2) {
X_J = sqrt(1.0/(zsq*zsq+3.0*zsq+9.0));
}
return X_J;
}
// EvtGen d matrix: Input is 2J instead of J etc
double EvtBsMuMuKK::Wignerd(const int J, const int l, const int alpha, const double theta) const
{
return EvtdFunction::d(2*J, 2*l, 2*alpha, theta);
}
// J spin of KK, l spin proj of J/psi, alpha dimuon spin
EvtComplex EvtBsMuMuKK::AngularDist(const int J, const int l, const int alpha,
const double cK, const double cL, const double chi) const
{
double thetaL = acos(cL);
double thetaK = acos(cK);
EvtComplex out = 0.5*sqrt((2*J+1)/pi)*exp(EvtComplex(0,-l*chi));
out *= Wignerd(1, l, alpha, thetaL)*Wignerd(J, -l, 0, thetaK);
return out;
}
// Time-dependent amplitude calculation
EvtComplex EvtBsMuMuKK::AmpTime(const int q, const EvtComplex& gplus, const EvtComplex& gminus,
const double delta, const double lambda_abs, const double Amp,
const double phis, const int eta) const
{
EvtComplex amp_time = Amp * EvtComplex(cos(-delta), sin(-delta));
double qphis = q*phis;
amp_time *= (gplus + eta*pow(lambda_abs,-1.0*q) * EvtComplex(cos(qphis), sin(qphis)) * gminus);
if (q == 1) {amp_time *= eta;}
return amp_time;
}
diff --git a/src/EvtGenModels/EvtBsquark.cpp b/src/EvtGenModels/EvtBsquark.cpp
index a106162..4b5cc50 100644
--- a/src/EvtGenModels/EvtBsquark.cpp
+++ b/src/EvtGenModels/EvtBsquark.cpp
@@ -1,218 +1,216 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTauScalarnu.cc
//
// Description: The leptonic decay of the tau meson.
// E.g., tau- -> e- nueb nut
//
// Modification history:
//
// RYD January 17, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtDiracParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtBsquark.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
#include "EvtGenBase/EvtReport.hh"
-EvtBsquark::~EvtBsquark() {}
-
std::string EvtBsquark::getName(){
- return "BSQUARK";
+ return "BSQUARK";
}
EvtDecayBase* EvtBsquark::clone(){
return new EvtBsquark;
}
void EvtBsquark::init(){
// check that there are 5 arguments
checkNArg(5);
}
void EvtBsquark::initProbMax(){
//For now do not set a maximum.
//SetProbMax(0.000000000005);
}
void EvtBsquark::decay(EvtParticle *p){
static EvtId cquark=EvtPDL::getId("c");
static EvtId anticquark=EvtPDL::getId("anti-c");
static EvtIdSet leptons("e-","mu-","tau-");
p->initializePhaseSpace(getNDaug(),getDaugs());
int charge=1;
EvtParticle* lepton;
lepton = p->getDaug(1);
if (leptons.contains(lepton->getId())){
charge=-1;
}
-
+
EvtDiracParticle charmquark;
//this is a very crude approximation...
if (charge==-1){
charmquark.init(cquark,p->getDaug(0)->getP4());
}
else{
charmquark.init(anticquark,p->getDaug(0)->getP4());
}
-
+
EvtVector4R p4c = p->getDaug(0)->getP4();
EvtVector4R p4sn = p->getDaug(2)->getP4();
EvtVector4R p4b(p->mass(),0.0,0.0,0.0);
EvtComplex M[2][2];
int il,ic;
//project out the right handed current
EvtGammaMatrix PR=0.5*(EvtGammaMatrix::id()+EvtGammaMatrix::g5());
double tanbeta=getArg(1);
double cosbeta=cos(atan(tanbeta));
double sinbeta=sin(atan(tanbeta));
double mb=4.9;
double mc=1.3;
double mw=80.4;
double Mass=getArg(2);
double mu=getArg(3);
double mchargino=getArg(4);
double tan2phim=2*sqrt(2.0)*mw*(mu*cosbeta+Mass*sinbeta)/
(Mass*Mass-mu*mu+2*mw*mw*cos(2*atan(tanbeta)));
double phim=0.5*atan(tan2phim);
-
+
EvtComplex U11=cos(phim);
EvtComplex U12=sin(phim);
EvtComplex U21=-sin(phim);
EvtComplex U22=cos(phim);
double tan2phip=2*sqrt(2.0)*mw*(mu*cosbeta+Mass*sinbeta)/
(Mass*Mass-mu*mu-2*mw*mw*cos(2*atan(tanbeta)));
double phip=0.5*atan(tan2phip);
EvtComplex V11=cos(phip);
EvtComplex V12=sin(phip);
EvtComplex V21=-sin(phip);
EvtComplex V22=cos(phip);
double theta=getArg(0);
double ctheta=cos(theta);
double stheta=sin(theta);
double vcsb=0.08;
- double mchi1=mchargino;
+ double mchi1=mchargino;
double mchi2=mchargino;
//overall scale factor
double g=1.0;
EvtComplex a1=mchi1*(U11*ctheta-mb*U12*stheta/(sqrt(2.0)*mw*cosbeta));
EvtComplex a2=mchi2*(U21*ctheta-mb*U22*stheta/(sqrt(2.0)*mw*cosbeta));
-
+
EvtComplex b1=mc*conj(V12)*ctheta/(sqrt(2.0)*mw*sinbeta);
EvtComplex b2=mc*conj(V22)*ctheta/(sqrt(2.0)*mw*sinbeta);
EvtComplex f1=-(g*g*V11*vcsb)/((p4b-p4c).mass2()-mchi1*mchi1);
EvtComplex f2=-(g*g*V21*vcsb)/((p4b-p4c).mass2()-mchi1*mchi2);
//EvtGenReport(EVTGEN_INFO,"EvtGen") <<g<<" "<<V11<<" "<<FL<<" "<<vcsb<<" "<<mchi1<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "f1:"<<f1<<" "<<(p4b-p4c).mass2()<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "f2:"<<f2<<" "<<(p4b-p4c).mass2()<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "p4sn:"<<p4sn<<endl;
EvtGammaMatrix pslash=p4sn.get(0)*EvtGammaMatrix::g0()
-p4sn.get(1)*EvtGammaMatrix::g1()
-p4sn.get(2)*EvtGammaMatrix::g2()
-p4sn.get(3)*EvtGammaMatrix::g3();
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "pslash:"<<pslash<<endl;
for(il=0;il<2;il++){
for(ic=0;ic<2;ic++){
EvtComplex a=0.0;
EvtComplex b=0.0;
if (charge==-1){
a=charmquark.spParent(ic)*(PR*lepton->spParent(il));
b=charmquark.spParent(ic)*((pslash*PR)*lepton->spParent(il));
}
else{
a=lepton->spParent(il)*(PR*charmquark.spParent(ic));
b=lepton->spParent(il)*((pslash*PR)*charmquark.spParent(ic));
}
//EvtGenReport(EVTGEN_INFO,"EvtGen") <<"pslash*PR:"<<pslash*PR<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen") <<"sp charm:"<<charmquark.spParent(ic)<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen") <<"sp lepton:"<<lepton->spParent(il)<<endl;
M[ic][il]=f1*(a1*a+b1*b)+f2*(a2*a+b2*b);
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "Contr1:"<<a1<<" "<<a<<" "<<b1<<" "<<b<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "Contr2:"<<a2<<" "<<a<<" "<<b2<<" "<<b<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen") <<"case1:"<<f1<<" "<<a1<<" "<<b1<<" "<<a<<" "<<b<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen") <<"case2:"<<f2<<" "<<a2<<" "<<b2<<" "<<a<<" "<<b<<endl;
}
}
-
+
double prob=real(M[0][0]*conj(M[0][0])+
M[1][0]*conj(M[1][0])+
M[0][1]*conj(M[0][1])+
M[1][1]*conj(M[1][1]));
//EvtGenReport(EVTGEN_INFO,"EvtGen") <<"prob:"<<prob<<endl;
setProb(prob);
return;
}
diff --git a/src/EvtGenModels/EvtBto2piCPiso.cpp b/src/EvtGenModels/EvtBto2piCPiso.cpp
index 04bac32..dfe429c 100644
--- a/src/EvtGenModels/EvtBto2piCPiso.cpp
+++ b/src/EvtGenModels/EvtBto2piCPiso.cpp
@@ -1,238 +1,236 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBto2piCPiso.cc
//
-// Description: Routine to decay B -> pi pi with isospin amplitudes
+// Description: Routine to decay B -> pi pi with isospin amplitudes
//
// Modification history:
//
// RYD,NK Febuary 7, 1998 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtBto2piCPiso.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtBto2piCPiso::~EvtBto2piCPiso() {}
-
std::string EvtBto2piCPiso::getName(){
- return "BTO2PI_CP_ISO";
+ return "BTO2PI_CP_ISO";
}
EvtDecayBase* EvtBto2piCPiso::clone(){
return new EvtBto2piCPiso;
}
void EvtBto2piCPiso::init(){
// check that there are 10 arguments
checkNArg(10);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtBto2piCPiso::initProbMax() {
//added by Lange Jan4,2000
static EvtId PI0=EvtPDL::getId("pi0");
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PIM=EvtPDL::getId("pi-");
//this may need to be revised
if (((getDaugs()[0]==PIP) && (getDaugs()[1]==PIM)) || ((getDaugs()[0]==PIM) && (getDaugs()[1]==PIP))) {
setProbMax(4.0*(getArg(2)*getArg(2)+getArg(4)*getArg(4)));
}
if ((getDaugs()[0]==PI0) && (getDaugs()[1]==PI0)) {
setProbMax(2.0*(4.0*getArg(2)*getArg(2)+getArg(4)*getArg(4)));
}
if (((getDaugs()[0]==PIP) && (getDaugs()[1]==PI0)) || ((getDaugs()[0]==PI0) && (getDaugs()[1]==PIP))) {
setProbMax(6.0*getArg(2)*getArg(2));
}
if (((getDaugs()[0]==PI0) && (getDaugs()[1]==PIM)) || ((getDaugs()[0]==PIM) && (getDaugs()[1]==PI0))) {
setProbMax(6.0*getArg(4)*getArg(4));
}
}
void EvtBto2piCPiso::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
static EvtId PI0=EvtPDL::getId("pi0");
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PIM=EvtPDL::getId("pi-");
double t;
EvtId other_b;
int charged=0;
-//randomly generate the tag (B0 or B0B)
+//randomly generate the tag (B0 or B0B)
double tag = EvtRandom::Flat(0.0,1.0);
if (tag < 0.5) {
EvtCPUtil::getInstance()->OtherB(p,t,other_b,1.0);
other_b = B0;
}
else {
-
+
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.0);
other_b = B0B;
}
EvtComplex amp;
EvtComplex A,Abar;
EvtComplex A2, A2_bar, A0, A0_bar;
A2 = EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
A2_bar = EvtComplex(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5)));
-
+
A0 = EvtComplex(getArg(6)*cos(getArg(7)),getArg(6)*sin(getArg(7)));
A0_bar = EvtComplex(getArg(8)*cos(getArg(9)),getArg(8)*sin(getArg(9)));
-
- //depending on what combination of pi pi we have, there will be different
+
+ //depending on what combination of pi pi we have, there will be different
//A and Abar
if (((getDaugs()[0]==PIP) && (getDaugs()[1]==PI0)) || ((getDaugs()[0]==PI0) && (getDaugs()[1]==PIP))) {
//pi+ pi0, so just A_2
-
+
charged = 1;
A = 3.0*A2;
-
+
}
if (((getDaugs()[0]==PI0) && (getDaugs()[1]==PIM)) || ((getDaugs()[0]==PIM) && (getDaugs()[1]==PI0))) {
//pi- pi0, so just A2_bar
-
- charged = 1;
+
+ charged = 1;
A = 3.0*A2_bar;
-
+
}
if (((getDaugs()[0]==PIP) && (getDaugs()[1]==PIM)) || ((getDaugs()[0]==PIM) && (getDaugs()[1]==PIP))) {
-
+
//pi+ pi-, so A_2 - A_0
charged = 0;
A=sqrt(2.0)*(A2-A0);
Abar=sqrt(2.0)*(A2_bar-A0_bar);
}
-
+
if ((getDaugs()[0]==PI0) && (getDaugs()[1]==PI0)) {
-
+
//pi0 pi0, so 2*A_2 + A_0
-
+
charged = 0;
A=2.0*A2 + A0;
Abar=2.0*A2_bar + A0_bar;
}
-
+
if(charged == 0) {
-
+
if (other_b==B0B){
amp=A*cos(getArg(1)*t/(2*EvtConst::c))+
EvtComplex(cos(-2.0*getArg(0)),sin(-2.0*getArg(0)))*
EvtComplex(0.0,1.0)*Abar*sin(getArg(1)*t/(2*EvtConst::c));
}
if (other_b==B0){
amp=A*EvtComplex(cos(2.0*getArg(0)),sin(2.0*getArg(0)))*
- EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
+ EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
Abar*cos(getArg(1)*t/(2*EvtConst::c));
}
}
else amp = A;
-
+
vertex(amp);
-
+
return ;
}
std::string EvtBto2piCPiso::getParamName(int i) {
switch(i) {
case 0:
return "weakPhase";
case 1:
return "deltaM";
case 2:
return "A2";
case 3:
return "A2Phase";
case 4:
return "A2bar";
case 5:
return "A2barPhase";
case 6:
return "A0";
case 7:
return "A0Phase";
case 8:
return "A0bar";
case 9:
return "A0barPhase";
default:
return "";
}
}
std::string EvtBto2piCPiso::getParamDefault(int i) {
switch(i) {
case 2:
return "1.0";
case 3:
return "0.0";
case 4:
return "1.0";
case 5:
return "0.0";
case 6:
return "1.0";
case 7:
return "0.0";
case 8:
return "1.0";
case 9:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtBtoKD3P.cpp b/src/EvtGenModels/EvtBtoKD3P.cpp
index 5740b53..1b31f55 100644
--- a/src/EvtGenModels/EvtBtoKD3P.cpp
+++ b/src/EvtGenModels/EvtBtoKD3P.cpp
@@ -1,224 +1,207 @@
//-----------------------------------------------------------------------
-// File and Version Information:
+// File and Version Information:
// $Id: EvtBtoKD3P.cpp,v 1.2 2009-04-02 15:22:28 robbep Exp $
-//
+//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 2003, Colorado State University
//
// Module creator:
// Abi soffer, CSU, 2003
//-----------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
// Decay model that does the decay B+->D0K, D0->3 psudoscalars
#include <assert.h>
#include "EvtGenModels/EvtBtoKD3P.hh"
#include "EvtGenBase/EvtDecayTable.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenModels/EvtPto3P.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtDalitzPoint.hh"
#include "EvtGenBase/EvtCyclic3.hh"
using std::endl;
//------------------------------------------------------------------
-EvtBtoKD3P::EvtBtoKD3P() :
- _model1(0),
- _model2(0),
- _decayedOnce(false)
-{
-}
-
-//------------------------------------------------------------------
-EvtBtoKD3P::EvtBtoKD3P(const EvtBtoKD3P & other) :
- EvtDecayAmp( other ){
+EvtDecayBase * EvtBtoKD3P::clone(){
+ return new EvtBtoKD3P();
}
//------------------------------------------------------------------
-EvtBtoKD3P::~EvtBtoKD3P(){
-}
-
-//------------------------------------------------------------------
-EvtDecayBase * EvtBtoKD3P::clone(){
- return new EvtBtoKD3P();
-}
-
-//------------------------------------------------------------------
std::string EvtBtoKD3P::getName(){
- return "BTOKD3P";
+ return "BTOKD3P";
}
//------------------------------------------------------------------
void EvtBtoKD3P::init(){
checkNArg(2); // r, phase
- checkNDaug(3); // K, D0(allowed), D0(suppressed).
+ checkNDaug(3); // K, D0(allowed), D0(suppressed).
// The last two daughters are really one particle
// check that the mother and all daughters are scalars:
checkSpinParent ( EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
// Check that the B dtr types are K D D:
// get the parameters:
_r = getArg(0);
double phase = getArg(1);
_exp = EvtComplex(cos(phase), sin(phase));
}
//------------------------------------------------------------------
void EvtBtoKD3P::initProbMax(){
setProbMax(1); // this is later changed in decay()
}
//------------------------------------------------------------------
void EvtBtoKD3P::decay(EvtParticle *p){
// tell the subclass that we decay the daughter:
_daugsDecayedByParentModel = true;
// the K is the 1st daughter of the B EvtParticle.
// The decay mode of the allowed D (the one produced in b->c decay) is 2nd
// The decay mode of the suppressed D (the one produced in b->u decay) is 3rd
const int KIND = 0;
const int D1IND = 1;
const int D2IND = 2;
- // generate kinematics of daughters (K and D):
+ // generate kinematics of daughters (K and D):
EvtId tempDaug[2] = {getDaug(KIND), getDaug(D1IND)};
- p->initializePhaseSpace(2, tempDaug);
+ p->initializePhaseSpace(2, tempDaug);
// Get the D daughter particle and the decay models of the allowed
// and suppressed D modes:
- EvtParticle * theD = p->getDaug(D1IND);
+ EvtParticle * theD = p->getDaug(D1IND);
EvtPto3P * model1 = (EvtPto3P*)(EvtDecayTable::getInstance()->getDecayFunc(theD));
// for the suppressed mode, re-initialize theD as the suppressed D alias:
theD->init(getDaug(D2IND), theD->getP4());
EvtPto3P * model2 = (EvtPto3P*)(EvtDecayTable::getInstance()->getDecayFunc(theD));
- // on the first call:
+ // on the first call:
if (false == _decayedOnce) {
_decayedOnce = true;
// store the D decay model pointers:
_model1 = model1;
_model2 = model2;
// check the decay models of the first 2 daughters and that they
// have the same final states:
std::string name1=model1->getName();
std::string name2=model2->getName();
if (name1 != "PTO3P") {
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "D daughters of EvtBtoKD3P decay must decay via the \"PTO3P\" model"
<< endl
- << " but found to decay via " << name1.c_str()
- << " or " << name2.c_str()
+ << " but found to decay via " << name1.c_str()
+ << " or " << name2.c_str()
<< ". Will terminate execution!" << endl;
assert(0);
}
EvtId * daugs1 = model1->getDaugs();
EvtId * daugs2 = model2->getDaugs();
-
+
bool idMatch = true;
int d;
for (d = 0; d < 2; ++d) {
if (daugs1[d] != daugs2[d]) {
idMatch = false;
}
}
if (false == idMatch) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "D daughters of EvtBtoKD3P decay must decay to the same final state"
<< endl
<< " particles in the same order (not CP-conjugate order)," << endl
<< " but they were found to decay to" << endl;
for (d = 0; d < model1->getNDaug(); ++d) {
EvtGenReport(EVTGEN_ERROR,"") << " " << EvtPDL::name(daugs1[d]).c_str() << " ";
}
EvtGenReport(EVTGEN_ERROR,"") << endl;
for (d = 0; d < model1->getNDaug(); ++d) {
EvtGenReport(EVTGEN_ERROR,"") << " " << EvtPDL::name(daugs2[d]).c_str() << " ";
}
EvtGenReport(EVTGEN_ERROR,"") << endl << ". Will terminate execution!" << endl;
assert(0);
- }
+ }
// estimate the probmax. Need to know the probmax's of the 2
// models for this:
- setProbMax(model1->getProbMax(0)
+ setProbMax(model1->getProbMax(0)
+ _r * _r * model2->getProbMax(0)
+ 2 * _r * sqrt(model1->getProbMax(0) * model2->getProbMax(0)));
} // end of things to do on the first call
-
+
// make sure the models haven't changed since the first call:
if (_model1 != model1 || _model2 != model2) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "D daughters of EvtBtoKD3P decay should have only 1 decay modes, "
<< endl
<< " but a new decay mode was found after the first call" << endl
<< " Will terminate execution!" << endl;
assert(0);
}
// get the cover function for each of the models and add them up.
// They are summed with coefficients 1 because we are willing to
// take a small inefficiency (~50%) in order to ensure that the
// cover function is large enough without getting into complications
// associated with the smallness of _r:
EvtPdfSum<EvtDalitzPoint> * pc1 = model1->getPC();
EvtPdfSum<EvtDalitzPoint> * pc2 = model2->getPC();
EvtPdfSum<EvtDalitzPoint> pc;
pc.addTerm(1.0, *pc1);
pc.addTerm(1.0, *pc2);
// from this combined cover function, generate the Dalitz point:
EvtDalitzPoint x = pc.randomPoint();
// get the aptitude for each of the models on this point and add them up:
EvtComplex amp1 = model1->amplNonCP(x);
EvtComplex amp2 = model2->amplNonCP(x);
EvtComplex amp = amp1 + amp2 * _r * _exp;
// get the value of the cover function for this point and set the
// relative amplitude for this decay:
double comp = sqrt(pc.evaluate (x));
vertex (amp/comp);
-
+
// Make the daughters of theD:
bool massTreeOK = theD->generateMassTree();
if (massTreeOK == false) {return;}
// Now generate the p4's of the daughters of theD:
- std::vector<EvtVector4R> v = model2->initDaughters(x);
-
- if(v.size() != theD->getNDaug()) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
- << "Number of daughters " << theD->getNDaug()
- << " != " << "Momentum vector size " << v.size()
+ std::vector<EvtVector4R> v = model2->initDaughters(x);
+
+ if(v.size() != theD->getNDaug()) {
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ << "Number of daughters " << theD->getNDaug()
+ << " != " << "Momentum vector size " << v.size()
<< endl
<< " Terminating execution." << endl;
assert(0);
}
-
+
// Apply the new p4's to the daughters:
for(unsigned int i=0; i<theD->getNDaug(); ++i){
theD->getDaug(i)->init(model2->getDaugs()[i], v[i]);
- }
+ }
}
diff --git a/src/EvtGenModels/EvtBtoKpiCPiso.cpp b/src/EvtGenModels/EvtBtoKpiCPiso.cpp
index e20b6a1..330d00b 100644
--- a/src/EvtGenModels/EvtBtoKpiCPiso.cpp
+++ b/src/EvtGenModels/EvtBtoKpiCPiso.cpp
@@ -1,187 +1,185 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtBtoKpiCPiso.cc
//
// Description: Routine to decay B -> K pi with isospin amplitudes
//
// Modification history:
//
// RYD/NK Febuary 7, 1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtBtoKpiCPiso.hh"
#include <string>
-EvtBtoKpiCPiso::~EvtBtoKpiCPiso() {}
-
std::string EvtBtoKpiCPiso::getName(){
- return "BTOKPI_CP_ISO";
+ return "BTOKPI_CP_ISO";
}
EvtDecayBase* EvtBtoKpiCPiso::clone(){
return new EvtBtoKpiCPiso;
}
void EvtBtoKpiCPiso::init(){
// check that there are 15 arguments
checkNArg(15);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtBtoKpiCPiso::initProbMax() {
//this might need to be revised
//added by Lange Jan4,2000
static EvtId PI0=EvtPDL::getId("pi0");
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PIM=EvtPDL::getId("pi+");
static EvtId K0=EvtPDL::getId("K0");
static EvtId KB=EvtPDL::getId("anti-K0");
static EvtId KP=EvtPDL::getId("K+");
static EvtId KM=EvtPDL::getId("K-");
if (((getDaug(0)==PI0) && (getDaug(1)==KP)) || ((getDaug(0)==KP) && (getDaug(1)==PI0))) {
setProbMax(2.0*(getArg(2)*getArg(2) + getArg(10)*getArg(10)));
}
if (((getDaug(0)==PI0) && (getDaug(1)==KM)) || ((getDaug(0)==KM) && (getDaug(1)==PI0))) {
setProbMax( 2.0*(getArg(4)*getArg(4) + getArg(12)*getArg(12)));
}
if (((getDaug(0)==PIP) && (getDaug(1)==K0)) || ((getDaug(0)==K0) && (getDaug(1)==PIP))) {
setProbMax( 4.0*(getArg(6)*getArg(6) + getArg(10)*getArg(10)));
}
if (((getDaug(0)==PIM) && (getDaug(1)==KB)) || ((getDaug(0)==KB) && (getDaug(1)==PIM))) {
setProbMax( 4.0*(getArg(8)*getArg(8) + getArg(12)*getArg(12)));
}
-if (((getDaug(0)==PI0) && (getDaug(1)==K0)) || ((getDaug(0)==K0) && (getDaug(1)==PI0))) {
- setProbMax( 2.0*(getArg(2)*getArg(2) + getArg(10)*getArg(10)));
+if (((getDaug(0)==PI0) && (getDaug(1)==K0)) || ((getDaug(0)==K0) && (getDaug(1)==PI0))) {
+ setProbMax( 2.0*(getArg(2)*getArg(2) + getArg(10)*getArg(10)));
}
if (((getDaug(0)==PI0) && (getDaug(1)==KB)) || ((getDaug(0)==KB) && (getDaug(1)==PI0))) {
- setProbMax( 2.0*(getArg(4)*getArg(4) + getArg(12)*getArg(12)));
+ setProbMax( 2.0*(getArg(4)*getArg(4) + getArg(12)*getArg(12)));
}
if (((getDaug(0)==PIM) && (getDaug(1)==KP)) || ((getDaug(0)==KP) && (getDaug(1)==PIM))) {
setProbMax( 4.0*(getArg(6)*getArg(6) + getArg(10)*getArg(10)));
}
if (((getDaug(0)==PIP) && (getDaug(1)==KM)) || ((getDaug(0)==KM) && (getDaug(1)==PIP))) {
setProbMax( 4.0*(getArg(8)*getArg(8) + getArg(12)*getArg(12)));
}
}
void EvtBtoKpiCPiso::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
//added by Lange Jan4,2000
static EvtId PI0=EvtPDL::getId("pi0");
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PIM=EvtPDL::getId("pi+");
static EvtId K0=EvtPDL::getId("K0");
static EvtId KB=EvtPDL::getId("anti-K0");
static EvtId KP=EvtPDL::getId("K+");
static EvtId KM=EvtPDL::getId("K-");
EvtComplex A;
EvtComplex U, Ubar, V, Vbar, W, Wbar;
U = EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
Ubar = EvtComplex(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5)));
V = EvtComplex(getArg(6)*cos(getArg(7)),getArg(6)*sin(getArg(7)));
Vbar = EvtComplex(getArg(8)*cos(getArg(9)),getArg(8)*sin(getArg(9)));
W = EvtComplex(getArg(10)*cos(getArg(11)),getArg(10)*sin(getArg(11)));
- Wbar = EvtComplex(getArg(12)*cos(getArg(13)),getArg(12)*sin(getArg(13)));
+ Wbar = EvtComplex(getArg(12)*cos(getArg(13)),getArg(12)*sin(getArg(13)));
-//depending on what combination of K pi we have, there will be different
+//depending on what combination of K pi we have, there will be different
//A and Abar (only A given in comments!)
if (((getDaug(0)==PI0) && (getDaug(1)==KP)) || ((getDaug(0)==KP) && (getDaug(1)==PI0))) {
//pi0 K+, so U - W
A = U - W;
}
-
+
if (((getDaug(0)==PI0) && (getDaug(1)==KM)) || ((getDaug(0)==KM) && (getDaug(1)==PI0))) {
//pi0 K-, so Ubar - Wbar
-
+
A = Ubar - Wbar;
}
if (((getDaug(0)==PIP) && (getDaug(1)==K0)) || ((getDaug(0)==K0) && (getDaug(1)==PIP))) {
//pi+ K0, so V + W
-
+
A = sqrt(2.0)*(V + W);
}
if (((getDaug(0)==PIM) && (getDaug(1)==KB)) || ((getDaug(0)==KB) && (getDaug(1)==PIM))) {
//pi- K0bar, so Vbar + Wbar
A = sqrt(2.0)*(Vbar + Wbar);
}
- if (((getDaug(0)==PI0) && (getDaug(1)==K0)) || ((getDaug(0)==K0) && (getDaug(1)==PI0))) {
+ if (((getDaug(0)==PI0) && (getDaug(1)==K0)) || ((getDaug(0)==K0) && (getDaug(1)==PI0))) {
//pi0 K0, so U + W
A= U + W;
}
if (((getDaug(0)==PI0) && (getDaug(1)==KB)) || ((getDaug(0)==KB) && (getDaug(1)==PI0))) {
A = Ubar + Wbar;
}
if (((getDaug(0)==PIM) && (getDaug(1)==KP)) || ((getDaug(0)==KP) && (getDaug(1)==PIM))) {
//pi- K+, so V - W
-
+
A = sqrt(2.0)*(V - W);
}
if (((getDaug(0)==PIP) && (getDaug(1)==KM)) || ((getDaug(0)==KM) && (getDaug(1)==PIP))) {
A = sqrt(2.0)*(Vbar - Wbar);
}
vertex(A);
return ;
}
diff --git a/src/EvtGenModels/EvtBtoXsEtap.cpp b/src/EvtGenModels/EvtBtoXsEtap.cpp
index 0c6006a..6922e75 100644
--- a/src/EvtGenModels/EvtBtoXsEtap.cpp
+++ b/src/EvtGenModels/EvtBtoXsEtap.cpp
@@ -1,171 +1,169 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsEtap.cc
//
// Description: Routine to perform two-body non-resonant B->Xs,gluon decays.
// It generates an X_s mass spectrum based on a parameterisation of the
// b->s,gluon spectrum of Atwood-Soni. The resultant X_s particles may
// be decayed by JETSET.
//
// Modification history:
//
// Adlene Hicheur January 10, 2001 Module created
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtBtoXsEtap.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
using std::endl;
-EvtBtoXsEtap::~EvtBtoXsEtap() {}
-
std::string EvtBtoXsEtap::getName(){
- return "BTOXSETAP";
+ return "BTOXSETAP";
}
EvtDecayBase* EvtBtoXsEtap::clone(){
return new EvtBtoXsEtap;
}
void EvtBtoXsEtap::init(){
// check that there are no arguments
checkNArg(0);
}
void EvtBtoXsEtap::initProbMax(){
noProbMax();
}
void EvtBtoXsEtap::decay( EvtParticle *p ){
// useless
// if ( p->getNDaug() != 0 ) {
// //Will end up here because maxrate multiplies by 1.2
// EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "In EvtBtoXsEtap: X_s daughters should not be here!"<<endl;
// return;
//}
double m_b;
int i;
p->makeDaughters(getNDaug(),getDaugs());
EvtParticle *pdaug[MAX_DAUG];
for(i=0;i<getNDaug();i++){
- pdaug[i]=p->getDaug(i);
+ pdaug[i]=p->getDaug(i);
}
static EvtVector4R p4[MAX_DAUG];
static double mass[MAX_DAUG];
m_b = p->mass();
// Prepare for phase space routine.
mass[1] = EvtPDL::getMass(getDaug(1));
double xbox, ybox, min, max,hichfit;
min=0.493;
max=4.3;
const double TwoPi = EvtConst::twoPi;
int Xscode = EvtPDL::getStdHep(getDaug(0));
// A five parameters fit, the shape is taken from Atwood & Soni
// double par[18];
double par[6];
- if ((Xscode == 30343) || (Xscode == -30343) ||
+ if ((Xscode == 30343) || (Xscode == -30343) ||
(Xscode == 30353) || (Xscode == -30353)) { // Xsu or Xsd
min=0.6373; // Just above K pi threshold for Xsd/u
//min=0.6333; // K pi threshold for neutral Xsd
// par[0]=-2057.2380371094;
par[0]=2.36816;
// par[1]=2502.2556152344;
par[1]=0.62325725;
// par[2]=1151.5632324219;
par[2]=2.2;
// par[3]=0.82431584596634;
par[3]=-0.2109375;
// par[4]=-4110.5234375000;
par[4]=2.7;
// par[5]=8445.6757812500;
par[5]=0.54;
// par[6]=-3034.1894531250;
// par[7]=1.1557708978653;
// par[8]=1765.9311523438;
// par[9]=1.3730158805847;
// par[10]=0.51371538639069;
// par[11]=2.0056934356689;
// par[12]=37144.097656250;
// par[13]=-50296.781250000;
// par[14]=27319.095703125;
// par[15]=-7408.0678710938;
// par[16]=1000.8093261719;
// par[17]=-53.834449768066;
} else {
EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "In EvtBtoXsEtap: Particle with id " << Xscode << " is not a Xsd/u particle"<<endl;
return;
}
double boxheight=par[5];
double boxwidth=max-min;
mass[0]=0.0;
while ((mass[0] > max) || (mass[0] < min)){
xbox = EvtRandom::Flat(boxwidth)+min;
ybox=EvtRandom::Flat(boxheight);
if (xbox<par[2]) {
- hichfit=(1/sqrt(TwoPi*par[1]))*exp(-0.5*pow((xbox-par[0])/par[1],2));
+ hichfit=(1/sqrt(TwoPi*par[1]))*exp(-0.5*pow((xbox-par[0])/par[1],2));
// alifit=par[0]+par[1]*xbox+par[2]*pow(xbox,2);
// } else if (xbox<par[7]) {
// alifit=par[4]+par[5]*xbox+par[6]*pow(xbox,2);
// } else if (xbox<par[11]) {
// alifit=par[8]*exp(-0.5*pow((xbox-par[9])/par[10],2));
} else {
hichfit=par[3]*pow((xbox-par[4]),2)+par[5];
// alifit=par[12]+par[13]*xbox+par[14]*pow(xbox,2)+par[15]*pow(xbox,3)+par[16]*pow(xbox,4)+par[17]*pow(xbox,5);
}
if (ybox>hichfit) {
mass[0]=0.0;
} else {
mass[0]=xbox;
}
}
// debug stuff: EvtGenReport(EVTGEN_INFO,"EvtGen") << "Xscode " << Xscode << " daughter 1 mass " << mass[0] << " daughter 2 mass " << mass[1] << endl;
EvtGenKine::PhaseSpace( getNDaug(), mass, p4, m_b );
for(i=0;i<getNDaug();i++){
pdaug[i]->init( getDaugs()[i], p4[i] );
}
return ;
}
diff --git a/src/EvtGenModels/EvtBtoXsgamma.cpp b/src/EvtGenModels/EvtBtoXsgamma.cpp
index 70ee8a4..53b1677 100644
--- a/src/EvtGenModels/EvtBtoXsgamma.cpp
+++ b/src/EvtGenModels/EvtBtoXsgamma.cpp
@@ -1,143 +1,137 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsgamma.cc
//
// Description: Routine to perform two-body non-resonant B->Xs,gamma decays.
// Set the first input parameter to 1 to use the Ali-Greub model,
// or 2 to use the Kagan-Neubert model.
//
// Modification history:
//
// Mark Ian Williams July 20, 2000 Module created
// Mark Ian Williams July 21, 2000 Module works
// Mark Ian Williams July 25, 2000 Works for all Xs modes
// Mark Ian Williams Aug 09, 2000 New values for mass minima
// Mark Ian Williams Sept 06, 2000 14 parameter M_Xs function
// Mark Ian Williams Sept 07, 2000 18 parameter M_Xs function
// Mark Ian Williams Sept 07, 2000 Tidied up the code
// Mark Ian Williams Sept 10, 2000 Updated parameters
// Mark Ian Williams Sept 11, 2000 Finalised code
// Jane Tinslay March 21, 2001 Re-worked so that you can choose
// between the Ali-Greub and Kagan-Neubert
-// Modules.
+// Modules.
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtBtoXsgamma.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenModels/EvtBtoXsgammaAliGreub.hh"
#include "EvtGenModels/EvtBtoXsgammaKagan.hh"
#include "EvtGenModels/EvtBtoXsgammaFixedMass.hh"
#include "EvtGenModels/EvtBtoXsgammaFlatEnergy.hh"
using std::endl;
-EvtBtoXsgamma::~EvtBtoXsgamma() {
-
- delete _model; _model=0;
-
-}
-
std::string EvtBtoXsgamma::getName(){
- return "BTOXSGAMMA";
+ return "BTOXSGAMMA";
}
EvtDecayBase* EvtBtoXsgamma::clone(){
return new EvtBtoXsgamma;
}
void EvtBtoXsgamma::init(){
//Arguments:
// 0: Ali-Greub model = 1, Kagan model = 2
//No more arguments for Ali-Greub model
// 1:
// 2:
// 3:
// check that at least one b->sg model has been selected
if (getNArg() == 0) {
-
+
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBtoXsgamma generator expected "
<< " at least 1 argument but found: "<<getNArg()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
- }
+ }
}
void EvtBtoXsgamma::initProbMax(){
noProbMax();
}
void EvtBtoXsgamma::decay( EvtParticle *p ){
//initialize here. -- its too damn slow otherwise.
if ( _model == 0 ) {
-
- if (getArg(0) == 1) _model = new EvtBtoXsgammaAliGreub();
- else if (getArg(0) == 2) _model = new EvtBtoXsgammaKagan();
- else if (getArg(0) == 3) _model = new EvtBtoXsgammaFixedMass();
- else if (getArg(0) == 4) _model = new EvtBtoXsgammaFlatEnergy();
+
+ if (getArg(0) == 1) _model = std::make_unique< EvtBtoXsgammaAliGreub >();
+ else if (getArg(0) == 2) _model = std::make_unique< EvtBtoXsgammaKagan >();
+ else if (getArg(0) == 3) _model = std::make_unique< EvtBtoXsgammaFixedMass >();
+ else if (getArg(0) == 4) _model = std::make_unique< EvtBtoXsgammaFlatEnergy >();
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "No valid EvtBtoXsgamma generator model selected "
<< "Set arg(0) to 1 for Ali-Greub model or 2 for "
<<" Kagan model or 3 for a fixed mass"<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
-
+
}
_model->init(getNArg(),getArgs());
}
// if ( p->getNDaug() != 0 ) {
//Will end up here because maxrate multiplies by 1.2
// EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "In EvtBtoXsgamma: X_s daughters should not be here!"<<endl;
// return;
//}
double m_b;
int i;
p->makeDaughters(getNDaug(),getDaugs());
EvtParticle *pdaug[MAX_DAUG];
for(i=0;i<getNDaug();i++){
- pdaug[i]=p->getDaug(i);
+ pdaug[i]=p->getDaug(i);
}
static EvtVector4R p4[MAX_DAUG];
static double mass[MAX_DAUG];
m_b = p->mass();
mass[1] = EvtPDL::getMass(getDaug(1));
-
+
int Xscode = EvtPDL::getStdHep(getDaug(0));
-
+
mass[0] = _model->GetMass(Xscode);
EvtGenKine::PhaseSpace( getNDaug(), mass, p4, m_b );
for(i=0;i<getNDaug();i++){
pdaug[i]->init( getDaugs()[i], p4[i] );
}
}
diff --git a/src/EvtGenModels/EvtBtoXsgammaAbsModel.cpp b/src/EvtGenModels/EvtBtoXsgammaAbsModel.cpp
index 81c5a0b..87abd32 100644
--- a/src/EvtGenModels/EvtBtoXsgammaAbsModel.cpp
+++ b/src/EvtGenModels/EvtBtoXsgammaAbsModel.cpp
@@ -1,36 +1,34 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsgammaAbsModel.cc
//
// Description:
// B->Xs gamma model base class.
//
// Modification history:
//
// Jane Tinslay March 21, 2000 Module Created
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenModels/EvtBtoXsgammaAbsModel.hh"
-EvtBtoXsgammaAbsModel::~EvtBtoXsgammaAbsModel() {}
-
void EvtBtoXsgammaAbsModel::init(int, double*) {
//This default version of init does nothing;
//A specialized version of this function can be
//supplied for each decay model to do initialization.
return;
}
diff --git a/src/EvtGenModels/EvtBtoXsgammaAliGreub.cpp b/src/EvtGenModels/EvtBtoXsgammaAliGreub.cpp
index f5e0ccf..3b94590 100644
--- a/src/EvtGenModels/EvtBtoXsgammaAliGreub.cpp
+++ b/src/EvtGenModels/EvtBtoXsgammaAliGreub.cpp
@@ -1,147 +1,145 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsgammaAliGreub.cc
//
// Description: Routine to perform two-body non-resonant B->Xs,gamma decays.
// It generates an X_s mass spectrum based on a parameterisation of the
// b->s,gamma photon spectrum of Ali-Greub. The resultant X_s particles may
// be decayed by JETSET.
//
// Modification history:
//
// Mark Ian Williams July 20, 2000 Module created
// Mark Ian Williams July 21, 2000 Module works
// Mark Ian Williams July 25, 2000 Works for all Xs modes
// Mark Ian Williams Aug 09, 2000 New values for mass minima
// Mark Ian Williams Sept 06, 2000 14 parameter M_Xs function
// Mark Ian Williams Sept 07, 2000 18 parameter M_Xs function
// Mark Ian Williams Sept 07, 2000 Tidied up the code
// Mark Ian Williams Sept 10, 2000 Updated parameters
// Mark Ian Williams Sept 11, 2000 Finalised code
-// Jane Tinslay March 21, 2000 Separated from EvtBtoXsgamma
+// Jane Tinslay March 21, 2000 Separated from EvtBtoXsgamma
// class to allow choice of input models.
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenModels/EvtBtoXsgammaAliGreub.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
-EvtBtoXsgammaAliGreub::~EvtBtoXsgammaAliGreub(){}
-
void EvtBtoXsgammaAliGreub::init(int nArg, double* /*args*/){
-
+
if ((nArg - 1) != 0) {
-
+
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBtoXsgamma generator model "
- << "EvtBtoXsgammaAliGreub expected "
+ << "EvtBtoXsgammaAliGreub expected "
<< "zero arguments but found: "<<nArg-1<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
-
+
}
-
+
}
double EvtBtoXsgammaAliGreub::GetMass(int Xscode) {
// The special lineshape for strange hadrons X_s in b -> s gamma:
// An 18 parameter function fitted to the theoretical mass spectrum
// of Ali & Greub for a B meson mass of 5.279 GeV; top quark mass of
- // 174.3 GeV; strange quark mass of 0.48 GeV (tuned to give minimum
+ // 174.3 GeV; strange quark mass of 0.48 GeV (tuned to give minimum
// M_Xs of 0.64 GeV) and Fermi momentum of 265 MeV for spectator quark
// mass of 150 MeV (from CLEO fit). Truncated at max on high side
// and min (just above K pi or KK thresold) on low side.
double min=0.64;
double max=4.5;
double xbox, ybox, alifit;
double mass=0.0;
double par[18];
- if ((Xscode == 30343) || (Xscode == -30343) ||
+ if ((Xscode == 30343) || (Xscode == -30343) ||
(Xscode == 30353) || (Xscode == -30353)) { // Xsu or Xsd
min=0.6373; // Just above K pi threshold for Xsd/u
//min=0.6333; // K pi threshold for neutral Xsd
par[0]=-2057.2380371094;
par[1]=2502.2556152344;
par[2]=1151.5632324219;
par[3]=0.82431584596634;
par[4]=-4110.5234375000;
par[5]=8445.6757812500;
par[6]=-3034.1894531250;
par[7]=1.1557708978653;
par[8]=1765.9311523438;
par[9]=1.3730158805847;
par[10]=0.51371538639069;
par[11]=2.0056934356689;
par[12]=37144.097656250;
par[13]=-50296.781250000;
par[14]=27319.095703125;
par[15]=-7408.0678710938;
par[16]=1000.8093261719;
par[17]=-53.834449768066;
} else if ((Xscode == 30363) || (Xscode == -30363)) {
min = 0.9964; // Just above KK threshold for Xss
par[0]=-32263.908203125;
par[1]=57186.589843750;
par[2]=-24230.728515625;
par[3]=1.1155973672867;
par[4]=-12161.131835938;
par[5]=20162.146484375;
par[6]=-7198.8564453125;
par[7]=1.3783323764801;
par[8]=1995.1691894531;
par[9]=1.4655895233154;
par[10]=0.48869228363037;
par[11]=2.1038570404053;
par[12]=55100.058593750;
par[13]=-75201.703125000;
par[14]=41096.066406250;
par[15]=-11205.986328125;
par[16]=1522.4024658203;
par[17]=-82.379623413086;
} else {
EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "In EvtBtoXsgammaAliGreub: Particle with id " << Xscode << " is not a Xss particle"<<endl;
return 0;
}
double boxheight=par[8];
double boxwidth=max-min;
while ((mass > max) || (mass < min)){
xbox = EvtRandom::Flat(boxwidth)+min;
ybox=EvtRandom::Flat(boxheight);
if (xbox<par[3]) {
alifit=par[0]+par[1]*xbox+par[2]*pow(xbox,2);
} else if (xbox<par[7]) {
alifit=par[4]+par[5]*xbox+par[6]*pow(xbox,2);
} else if (xbox<par[11]) {
alifit=par[8]*exp(-0.5*pow((xbox-par[9])/par[10],2));
} else {
alifit=par[12]+par[13]*xbox+par[14]*pow(xbox,2)+par[15]*pow(xbox,3)+par[16]*pow(xbox,4)+par[17]*pow(xbox,5);
}
if (ybox>alifit) {
mass=0.0;
} else {
mass=xbox;
}
}
return mass;
}
diff --git a/src/EvtGenModels/EvtBtoXsgammaFermiUtil.cpp b/src/EvtGenModels/EvtBtoXsgammaFermiUtil.cpp
index 6d5218c..4f9249c 100644
--- a/src/EvtGenModels/EvtBtoXsgammaFermiUtil.cpp
+++ b/src/EvtGenModels/EvtBtoXsgammaFermiUtil.cpp
@@ -1,210 +1,194 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsgammaFermiUtil.cc
//
// Description:
-// Class to hold various fermi functions and their helper functions. The
+// Class to hold various fermi functions and their helper functions. The
// fermi functions are used in EvtBtoXsgammaKagan.
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
//-----------------------
// This Class's Header --
//-----------------------
#include "EvtGenModels/EvtBtoXsgammaFermiUtil.hh"
#include "EvtGenModels/EvtItgTwoCoeffFcn.hh"
#include "EvtGenModels/EvtBtoXsgammaRootFinder.hh"
#include "EvtGenModels/EvtItgFunction.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtReport.hh"
//---------------
// C++ Headers --
//---------------
#include <iostream>
#include <math.h>
using std::endl;
double EvtBtoXsgammaFermiUtil::FermiExpFunc(double y, const std::vector<double> &coeffs) {
//coeffs: 1 = lambdabar, 2 = a, 3 = lam1, 4 = norm
// EvtGenReport(EVTGEN_INFO,"EvtGen")<<coeffs[4]<<endl;
return (pow(1. - (y/coeffs[1]),coeffs[2])*exp((-3.*pow(coeffs[1],2.)/coeffs[3])*y/coeffs[1]))/coeffs[4];
}
double EvtBtoXsgammaFermiUtil::FermiGaussFunc(double y, const std::vector<double> &coeffs) {
//coeffs: 1 = lambdabar, 2 = a, 3 = c, 4 = norm
return (pow(1. - (y/coeffs[1]),coeffs[2])*exp(-pow(coeffs[3],2.)*pow(1. - (y/coeffs[1]),2.)))/coeffs[4];
}
double EvtBtoXsgammaFermiUtil::FermiGaussFuncRoot(double lambdabar, double lam1, double mb, std::vector<double> &gammaCoeffs) {
-
- std::vector<double> coeffs1(3);
- std::vector<double> coeffs2(3);
-
- coeffs1[0]=0.2;
- coeffs1[1]=lambdabar;
- coeffs1[2]=0.0;
-
- coeffs2[0]=0.2;
- coeffs2[1]=lambdabar;
- coeffs2[2]=-lam1/3.;
-
- EvtItgTwoCoeffFcn *lhFunc = new EvtItgTwoCoeffFcn(&FermiGaussRootFcnA, -mb, lambdabar, coeffs1, gammaCoeffs);
- EvtItgTwoCoeffFcn *rhFunc = new EvtItgTwoCoeffFcn(&FermiGaussRootFcnB, -mb, lambdabar, coeffs2, gammaCoeffs);
-
- EvtBtoXsgammaRootFinder *rootFinder = new EvtBtoXsgammaRootFinder();
-
- double root = rootFinder->GetGaussIntegFcnRoot(lhFunc, rhFunc, 1.0e-4, 1.0e-4, 40, 40, -mb, lambdabar, 0.2, 0.4, 1.0e-6);
-
- delete rootFinder; rootFinder=0;
- delete lhFunc; lhFunc=0;
- delete rhFunc; rhFunc=0;
- return root;
+
+
+ std::vector<double> coeffs1 = { 0.2,lambdabar,0.0 };
+ std::vector<double> coeffs2 = { 0.2, lambdabar, -lam1/3. };
+
+ auto lhFunc = EvtItgTwoCoeffFcn{&FermiGaussRootFcnA, -mb, lambdabar, coeffs1, gammaCoeffs};
+ auto rhFunc = EvtItgTwoCoeffFcn{&FermiGaussRootFcnB, -mb, lambdabar, coeffs2, gammaCoeffs};
+ auto rootFinder = EvtBtoXsgammaRootFinder{};
+
+ return rootFinder.GetGaussIntegFcnRoot(&lhFunc, &rhFunc, 1.0e-4, 1.0e-4, 40, 40, -mb, lambdabar, 0.2, 0.4, 1.0e-6);
}
double EvtBtoXsgammaFermiUtil::FermiGaussRootFcnA(double y, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2) {
-
+
//coeffs1: 0=ap, 1=lambdabar, coeffs2=gamma function coeffs
double cp = Gamma((2.0 + coeffs1[0])/2., coeffs2)/Gamma((1.0 + coeffs1[0])/2., coeffs2);
return (y*y)*pow((1. - (y/coeffs1[1])),coeffs1[0])*exp(-pow(cp,2)*pow((1.-(y/coeffs1[1])),2.));
}
double EvtBtoXsgammaFermiUtil::FermiGaussRootFcnB(double y, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2) {
//coeffs1: 0=ap, 1=lambdabar, coeffs2=gamma function coeffs
double cp = Gamma((2.0 + coeffs1[0])/2., coeffs2)/Gamma((1.0 + coeffs1[0])/2., coeffs2);
return pow((1. - (y/coeffs1[1])),coeffs1[0])*exp(-pow(cp,2)*pow((1.-(y/coeffs1[1])),2.));
}
double EvtBtoXsgammaFermiUtil::Gamma(double z, const std::vector<double> &coeffs) {
//Lifted from Numerical Recipies in C
double x, y, tmp, ser;
-
+
int j;
y = z;
x = z;
-
+
tmp = x + 5.5;
tmp = tmp - (x+0.5)*log(tmp);
ser=1.000000000190015;
for (j=0;j<6;j++) {
y = y +1.0;
ser = ser + coeffs[j]/y;
}
return exp(-tmp+log(2.5066282746310005*ser/x));
}
double EvtBtoXsgammaFermiUtil::BesselK1(double x) {
//Lifted from Numerical Recipies in C : Returns the modified Bessel
//function K_1(x) for positive real x
if (x<0.0) EvtGenReport(EVTGEN_INFO,"EvtGen") <<"x is negative !"<<endl;
-
+
double y, ans;
if (x <= 2.0) {
y=x*x/4.0;
ans = (log(x/2.0)*BesselI1(x))+(1.0/x)*(1.0+y*(0.15443144+y*(-0.67278579+y*(-0.18156897+y*(-0.1919402e-1+y*(-0.110404e-2+y*(-0.4686e-4)))))));
}
else {
y=2.0/x;
ans=(exp(-x)/sqrt(x))*(1.25331414+y*(0.23498619+y*(-0.3655620e-1+y*(0.1504268e-1+y*(-0.780353e-2+y*(0.325614e-2+y*(-0.68245e-3)))))));
}
return ans;
}
double EvtBtoXsgammaFermiUtil::BesselI1(double x) {
//Lifted from Numerical Recipies in C : Returns the modified Bessel
//function I_1(x) for any real x
double ax, ans;
double y;
ax=fabs(x);
if ( ax < 3.75) {
y=x/3.75;
y*=y;
ans=ax*(0.5+y*(0.87890594+y*(0.51498869+y*(0.15084934+y*(0.2658733e-1+y*(0.301532e-2+y*0.32411e-3))))));
}
else {
y=3.75/ax;
ans=0.2282967e-1+y*(-0.2895312e-1+y*(0.1787654e-1 -y*0.420059e-2));
ans=0.398914228+y*(-0.3988024e-1+y*(-0.362018e-2+y*(0.163801e-2+y*(-0.1031555e-1+y*ans))));
ans*=(exp(ax)/sqrt(ax));
}
return x < 0.0 ? -ans:ans;
}
double EvtBtoXsgammaFermiUtil::FermiRomanFuncRoot(double lambdabar, double lam1) {
-
- EvtItgFunction *lhFunc = new EvtItgFunction(&FermiRomanRootFcnA, -1.e-6, 1.e6);
-
- EvtBtoXsgammaRootFinder *rootFinder = new EvtBtoXsgammaRootFinder();
+
+ auto lhFunc = EvtItgFunction{&FermiRomanRootFcnA, -1.e-6, 1.e6};
+
+ auto rootFinder = EvtBtoXsgammaRootFinder{};
double rhSide = 1.0 - (lam1/(3.0*lambdabar*lambdabar));
- double rho = rootFinder->GetRootSingleFunc(lhFunc, rhSide, 0.1, 0.4, 1.0e-6);
+ double rho = rootFinder.GetRootSingleFunc(&lhFunc, rhSide, 0.1, 0.4, 1.0e-6);
//rho=0.250353;
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"rho/2 "<<rho/2.<<" bessel "<<BesselK1(rho/2.)<<endl;
double pF = lambdabar*sqrt(EvtConst::pi)/(rho*exp(rho/2.)*BesselK1(rho/2.));
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"rho "<<rho<<" pf "<<pF<<endl;
-
- delete lhFunc; lhFunc=0;
- delete rootFinder; rootFinder=0;
- return rho;
+ return rho;
}
double EvtBtoXsgammaFermiUtil::FermiRomanRootFcnA(double y) {
return EvtConst::pi*(2. + y)*pow(y,-2.)*exp(-y)*pow(BesselK1(y/2.),-2.);
}
double EvtBtoXsgammaFermiUtil::FermiRomanFunc(double y, const std::vector<double> &coeffs) {
if (y == (coeffs[1]-coeffs[2])) y=0.99999999*(coeffs[1]-coeffs[2]);
//coeffs: 1 = mB, 2=mb, 3=rho, 4=lambdabar, 5=norm
double pF = coeffs[4]*sqrt(EvtConst::pi)/(coeffs[3]*exp(coeffs[3]/2.)*BesselK1(coeffs[3]/2.));
// EvtGenReport(EVTGEN_INFO,"EvtGen")<<" pf "<<y<<" "<<pF<<" "<<coeffs[1]<<" "<<coeffs[2]<<" "<<coeffs[3]<<" "<<coeffs[4]<<" "<<coeffs[5]<<endl;
//double pF=0.382533;
//EvtGenReport(EVTGEN_INFO,"EvtGen")<<(coeffs[1]-coeffs[2])*(1./(sqrt(EvtConst::pi)*pF))<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen")<<(1.-y/(coeffs[1]-coeffs[2]))<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen")<<(coeffs[1]-coeffs[2])<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen")<<(coeffs[1]-coeffs[2])*(1.-y/(coeffs[1]-coeffs[2]))<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen")<<" "<<pF*coeffs[3]/((coeffs[1]-coeffs[2])*(1.-y/(coeffs[1]-coeffs[2])))<<endl;
// EvtGenReport(EVTGEN_INFO,"EvtGen")<<" "<<((coeffs[1]-coeffs[2])/pF)*(1. -y/(coeffs[1]-coeffs[2]))<<endl;
//EvtGenReport(EVTGEN_INFO,"EvtGen")<<"result "<<(coeffs[1]-coeffs[2])*(1./(sqrt(EvtConst::pi)*pF))*exp(-(1./4.)*pow(pF*(coeffs[3]/((coeffs[1]-coeffs[2])*(1.-y/(coeffs[1]-coeffs[2])))) - ((coeffs[1]-coeffs[2])/pF)*(1. -y/(coeffs[1]-coeffs[2])),2.))/coeffs[5];
//EvtGenReport(EVTGEN_INFO,"EvtGen")<<"leaving"<<endl;
return (coeffs[1]-coeffs[2])*(1./(sqrt(EvtConst::pi)*pF))*exp(-(1./4.)*pow(pF*(coeffs[3]/((coeffs[1]-coeffs[2])*(1.-y/(coeffs[1]-coeffs[2])))) - ((coeffs[1]-coeffs[2])/pF)*(1. -y/(coeffs[1]-coeffs[2])),2.))/coeffs[5];
-
+
}
diff --git a/src/EvtGenModels/EvtBtoXsgammaFixedMass.cpp b/src/EvtGenModels/EvtBtoXsgammaFixedMass.cpp
index 57a208d..a08bca3 100644
--- a/src/EvtGenModels/EvtBtoXsgammaFixedMass.cpp
+++ b/src/EvtGenModels/EvtBtoXsgammaFixedMass.cpp
@@ -1,54 +1,51 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsgammaKagan.cc
//
// Description:
-// Routine to perform two-body B->Xs,gamma decays with a fixed hadronic
+// Routine to perform two-body B->Xs,gamma decays with a fixed hadronic
// mass. For spectrum measurements.
// The input parameters are 1: the hadronic mass
// Modification history:
//
// Jim Libby October 11 2002
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenModels/EvtBtoXsgamma.hh"
#include "EvtGenModels/EvtBtoXsgammaFixedMass.hh"
#include "EvtGenBase/EvtReport.hh"
#include <fstream>
using std::endl;
using std::fstream;
-EvtBtoXsgammaFixedMass::~EvtBtoXsgammaFixedMass(){
-}
-
void EvtBtoXsgammaFixedMass::init(int nArg, double* args){
if ((nArg) > 2 || (nArg > 1 && nArg <2)){
-
+
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBtoXsgamma generator model "
- << "EvtBtoXsgammaFixedMass expected "
+ << "EvtBtoXsgammaFixedMass expected "
<< "either 1(default config) or two arguments but found: "<<nArg<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
- ::abort();
+ ::abort();
}
-
+
if(nArg == 1){
_mH = 2.0;
}else{
_mH=args[1];
}
}
double EvtBtoXsgammaFixedMass::GetMass( int /*Xscode*/ ){
return _mH;
}
diff --git a/src/EvtGenModels/EvtBtoXsgammaFlatEnergy.cpp b/src/EvtGenModels/EvtBtoXsgammaFlatEnergy.cpp
index fee3f98..c779b08 100644
--- a/src/EvtGenModels/EvtBtoXsgammaFlatEnergy.cpp
+++ b/src/EvtGenModels/EvtBtoXsgammaFlatEnergy.cpp
@@ -1,70 +1,67 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsgammaKagan.cc
//
// Description:
-// Routine to perform two-body B->Xs,gamma decays with a fixed hadronic
+// Routine to perform two-body B->Xs,gamma decays with a fixed hadronic
// mass. For spectrum measurements.
// The input parameters are 1: the hadronic mass
// Modification history:
//
// Jim Libby October 11 2002
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenModels/EvtBtoXsgamma.hh"
#include "EvtGenModels/EvtBtoXsgammaFlatEnergy.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtReport.hh"
#include <fstream>
using std::endl;
using std::fstream;
-EvtBtoXsgammaFlatEnergy::~EvtBtoXsgammaFlatEnergy(){
-}
-
void EvtBtoXsgammaFlatEnergy::init(int nArg, double* args){
if ((nArg) > 3 || (nArg > 1 && nArg <3)){
-
+
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBtoXsgamma generator model "
- << "EvtBtoXsgammaFlatEnergy expected "
+ << "EvtBtoXsgammaFlatEnergy expected "
<< "either 1(default config) or two arguments but found: "<<nArg<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
- ::abort();
+ ::abort();
}
- _mB0=5.2794;
+ _mB0=5.2794;
double mPi = 0.140;
double mK = 0.494;
if(nArg == 1){
_eMin = 1.7;
- //Invariant mass of Xsd must be greater the m_pi+m_K leads to
+ //Invariant mass of Xsd must be greater the m_pi+m_K leads to
//Egamma < (m_B**2-(m_pi+m_k)**2)/(2m_B)
- _eMax = (pow(_mB0,2)-pow(mPi+mK,2))/(2.0*_mB0);
+ _eMax = (pow(_mB0,2)-pow(mPi+mK,2))/(2.0*_mB0);
}else{
_eMin=args[1];
_eMax=args[2];
}
if (_eMax>(pow(_mB0,2)-pow(mPi+mK,2))/(2.0*_mB0)){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Emax greater than Kinematic limit" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Reset to the kinematic limit" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "(m_B**2-(m_pi+m_k)**2)/(2m_B)" << endl;
_eMax = (pow(_mB0,2)-pow(mPi+mK,2))/(2.0*_mB0);
}
_eRange=_eMax-_eMin;
}
double EvtBtoXsgammaFlatEnergy::GetMass( int /*Xscode*/ ){
-
+
double eGamma = EvtRandom::Flat(_eRange)+_eMin;
- double mH = sqrt(pow(_mB0,2)-2.0*_mB0*eGamma);
+ double mH = sqrt(pow(_mB0,2)-2.0*_mB0*eGamma);
return mH;
}
diff --git a/src/EvtGenModels/EvtBtoXsgammaKagan.cpp b/src/EvtGenModels/EvtBtoXsgammaKagan.cpp
index 87d7a86..80ac088 100644
--- a/src/EvtGenModels/EvtBtoXsgammaKagan.cpp
+++ b/src/EvtGenModels/EvtBtoXsgammaKagan.cpp
@@ -1,777 +1,732 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsgammaKagan.cc
//
// Description:
// Routine to perform two-body non-resonant B->Xs,gamma decays.
-// The X_s mass spectrum generated is based on the Kagan-Neubert model.
+// The X_s mass spectrum generated is based on the Kagan-Neubert model.
// See hep-ph/9805303 for the model details and input parameters.
//
-// The input parameters are 1:fermi_model, 2:mB, 3:mb, 4:mu, 5:lam1,
-// 6:delta, 7:z, 8:nIntervalS, 9:nIntervalmH. Choosing fermi_model=1
-// uses an exponential shape function, fermi_model=2 uses a gaussian
+// The input parameters are 1:fermi_model, 2:mB, 3:mb, 4:mu, 5:lam1,
+// 6:delta, 7:z, 8:nIntervalS, 9:nIntervalmH. Choosing fermi_model=1
+// uses an exponential shape function, fermi_model=2 uses a gaussian
// shape function and fermi_model=3 a roman shape function. The complete mass
-// spectrum for a given set of input parameters is calculated from
+// spectrum for a given set of input parameters is calculated from
// scratch in bins of nIntervalmH. The s22, s27 and s28 coefficients are calculated
// in bins of nIntervalS. As the program includes lots of integration, the
// theoretical hadronic mass spectra is computed for the first time
-// the init method is called. Then, all the other times (eg if we want to decay a B0
+// the init method is called. Then, all the other times (eg if we want to decay a B0
// as well as an anti-B0) the vector mass info stored the first time is used again.
//
// Modification history:
//
// Jane Tinslay, Francesca Di Lodovico March 21, 2001 Module created
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenModels/EvtBtoXsgamma.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenModels/EvtBtoXsgammaKagan.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtItgSimpsonIntegrator.hh"
#include "EvtGenModels/EvtItgFunction.hh"
#include "EvtGenModels/EvtItgPtrFunction.hh"
#include "EvtGenModels/EvtItgTwoCoeffFcn.hh"
#include "EvtGenModels/EvtItgThreeCoeffFcn.hh"
#include "EvtGenModels/EvtItgFourCoeffFcn.hh"
#include "EvtGenModels/EvtItgAbsIntegrator.hh"
#include "EvtGenModels/EvtBtoXsgammaFermiUtil.hh"
#include <fstream>
using std::endl;
using std::fstream;
bool EvtBtoXsgammaKagan::bbprod = false;
double EvtBtoXsgammaKagan::intervalMH = 0;
-EvtBtoXsgammaKagan::~EvtBtoXsgammaKagan(){
- delete [] massHad;
- delete [] brHad;
-}
void EvtBtoXsgammaKagan::init(int nArg, double* args){
if ((nArg) > 12 || (nArg > 1 && nArg <10) || nArg == 11){
-
+
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtBtoXsgamma generator model "
- << "EvtBtoXsgammaKagan expected "
- << "either 1(default config) or "
- << "10 (default mass range) or "
+ << "EvtBtoXsgammaKagan expected "
+ << "either 1(default config) or "
+ << "10 (default mass range) or "
<< "12 (user range) arguments but found: "
<<nArg<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
- ::abort();
+ ::abort();
}
-
+
if(nArg == 1){
bbprod = true;
getDefaultHadronicMass();
}else{
bbprod = false;
computeHadronicMass(nArg, args);
}
double mHminLimit=0.6373;
double mHmaxLimit=4.5;
if (nArg>10){
_mHmin = args[10];
- _mHmax = args[11];
+ _mHmax = args[11];
if (_mHmin > _mHmax){
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Minimum hadronic mass exceeds maximum "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Minimum hadronic mass exceeds maximum "
<< endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!" << endl;
::abort();
}
if (_mHmin < mHminLimit){
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Minimum hadronic mass below K pi threshold"
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Minimum hadronic mass below K pi threshold"
<< endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Resetting to K pi threshold" << endl;
_mHmin = mHminLimit;
- }
+ }
if (_mHmax > mHmaxLimit){
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Maximum hadronic mass above 4.5 GeV/c^2"
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Maximum hadronic mass above 4.5 GeV/c^2"
<< endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Resetting to 4.5 GeV/c^2" << endl;
_mHmax = mHmaxLimit;
- }
+ }
}else{
_mHmin=mHminLimit; // usually just above K pi threshold for Xsd/u
- _mHmax=mHmaxLimit;
- }
-
+ _mHmax=mHmaxLimit;
+ }
+
}
void EvtBtoXsgammaKagan::getDefaultHadronicMass(){
- massHad = new double[81];
- brHad = new double[81];
-
- double mass[81] = { 0, 0.0625995, 0.125199, 0.187798, 0.250398, 0.312997, 0.375597, 0.438196, 0.500796, 0.563395, 0.625995, 0.688594, 0.751194, 0.813793, 0.876392, 0.938992, 1.00159, 1.06419, 1.12679, 1.18939, 1.25199, 1.31459, 1.37719, 1.43979, 1.50239, 1.56499, 1.62759, 1.69019, 1.75278, 1.81538, 1.87798, 1.94058, 2.00318, 2.06578, 2.12838, 2.19098, 2.25358, 2.31618, 2.37878, 2.44138, 2.50398, 2.56658, 2.62918, 2.69178, 2.75438, 2.81698, 2.87958, 2.94217, 3.00477, 3.06737, 3.12997, 3.19257, 3.25517, 3.31777, 3.38037, 3.44297, 3.50557, 3.56817, 3.63077, 3.69337, 3.75597, 3.81857, 3.88117, 3.94377, 4.00637, 4.06896, 4.13156, 4.19416, 4.25676, 4.31936, 4.38196, 4.44456, 4.50716, 4.56976, 4.63236, 4.69496, 4.75756, 4.82016, 4.88276, 4.94536, 5.00796};
-
- double br[81] = { 0, 1.03244e-09, 3.0239e-08, 1.99815e-07, 7.29392e-07, 1.93129e-06, 4.17806e-06, 7.86021e-06, 1.33421e-05, 2.09196e-05, 3.07815e-05, 4.29854e-05, 5.74406e-05, 7.3906e-05, 9.2003e-05, 0.000111223, 0.000130977, 0.000150618, 0.000169483, 0.000186934, 0.000202392, 0.000215366, 0.000225491, 0.000232496, 0.000236274, 0.000236835, 0.000234313, 0.000228942, 0.000221042, 0.000210994, 0.000199215, 0.000186137, 0.000172194, 0.000157775, 0.000143255, 0.000128952, 0.000115133, 0.000102012, 8.97451e-05, 7.84384e-05, 6.81519e-05, 5.89048e-05, 5.06851e-05, 4.34515e-05, 3.71506e-05, 3.1702e-05, 2.70124e-05, 2.30588e-05, 1.96951e-05, 1.68596e-05, 1.44909e-05, 1.25102e-05, 1.08596e-05, 9.48476e-06, 8.34013e-06, 7.38477e-06, 6.58627e-06, 5.91541e-06, 5.35022e-06, 4.87047e-06, 4.46249e-06, 4.11032e-06, 3.80543e-06, 3.54051e-06, 3.30967e-06, 3.10848e-06, 2.93254e-06, 2.78369e-06, 2.65823e-06, 2.55747e-06, 2.51068e-06, 2.57179e-06, 2.74684e-06, 3.02719e-06, 3.41182e-06, 3.91387e-06, 4.56248e-06, 5.40862e-06, 6.53915e-06, 8.10867e-06, 1.04167e-05 };
+ massHad = { 0, 0.0625995, 0.125199, 0.187798, 0.250398, 0.312997, 0.375597, 0.438196, 0.500796, 0.563395, 0.625995, 0.688594, 0.751194, 0.813793, 0.876392, 0.938992, 1.00159, 1.06419, 1.12679, 1.18939, 1.25199, 1.31459, 1.37719, 1.43979, 1.50239, 1.56499, 1.62759, 1.69019, 1.75278, 1.81538, 1.87798, 1.94058, 2.00318, 2.06578, 2.12838, 2.19098, 2.25358, 2.31618, 2.37878, 2.44138, 2.50398, 2.56658, 2.62918, 2.69178, 2.75438, 2.81698, 2.87958, 2.94217, 3.00477, 3.06737, 3.12997, 3.19257, 3.25517, 3.31777, 3.38037, 3.44297, 3.50557, 3.56817, 3.63077, 3.69337, 3.75597, 3.81857, 3.88117, 3.94377, 4.00637, 4.06896, 4.13156, 4.19416, 4.25676, 4.31936, 4.38196, 4.44456, 4.50716, 4.56976, 4.63236, 4.69496, 4.75756, 4.82016, 4.88276, 4.94536, 5.00796};
+ brHad = { 0, 1.03244e-09, 3.0239e-08, 1.99815e-07, 7.29392e-07, 1.93129e-06, 4.17806e-06, 7.86021e-06, 1.33421e-05, 2.09196e-05, 3.07815e-05, 4.29854e-05, 5.74406e-05, 7.3906e-05, 9.2003e-05, 0.000111223, 0.000130977, 0.000150618, 0.000169483, 0.000186934, 0.000202392, 0.000215366, 0.000225491, 0.000232496, 0.000236274, 0.000236835, 0.000234313, 0.000228942, 0.000221042, 0.000210994, 0.000199215, 0.000186137, 0.000172194, 0.000157775, 0.000143255, 0.000128952, 0.000115133, 0.000102012, 8.97451e-05, 7.84384e-05, 6.81519e-05, 5.89048e-05, 5.06851e-05, 4.34515e-05, 3.71506e-05, 3.1702e-05, 2.70124e-05, 2.30588e-05, 1.96951e-05, 1.68596e-05, 1.44909e-05, 1.25102e-05, 1.08596e-05, 9.48476e-06, 8.34013e-06, 7.38477e-06, 6.58627e-06, 5.91541e-06, 5.35022e-06, 4.87047e-06, 4.46249e-06, 4.11032e-06, 3.80543e-06, 3.54051e-06, 3.30967e-06, 3.10848e-06, 2.93254e-06, 2.78369e-06, 2.65823e-06, 2.55747e-06, 2.51068e-06, 2.57179e-06, 2.74684e-06, 3.02719e-06, 3.41182e-06, 3.91387e-06, 4.56248e-06, 5.40862e-06, 6.53915e-06, 8.10867e-06, 1.04167e-05 };
+ massHad.resize(81);
+ brHad.resize(81);
- for(int i=0; i<81; i++){
- massHad[i] = mass[i];
- brHad[i] = br[i];
- }
intervalMH=80;
}
void EvtBtoXsgammaKagan::computeHadronicMass(int /*nArg*/, double* args){
//Input parameters
int fermiFunction = (int)args[1];
_mB = args[2];
_mb = args[3];
_mu = args[4];
_lam1 = args[5];
_delta = args[6];
_z = args[7];
_nIntervalS = args[8];
_nIntervalmH = args[9];
std::vector<double> mHVect(int(_nIntervalmH+1.0));
- massHad = new double[int(_nIntervalmH+1.0)];
- brHad = new double[int(_nIntervalmH+1.0)];
+ massHad.clear(); massHad.resize(int(_nIntervalmH+1.0));
+ brHad.clear(); brHad.resize(int(_nIntervalmH+1.0));
intervalMH=_nIntervalmH;
//Going to have to add a new entry into the data file - takes ages...
EvtGenReport(EVTGEN_WARNING,"EvtGen") << "EvtBtoXsgammaKagan: calculating new hadronic mass spectra. This takes a while..." << endl;
-
+
//Now need to compute the mHVect vector for
//the current parameters
-
+
//A few more parameters
double _mubar = _mu;
_mW = 80.33;
_mt = 175.0;
_alpha = 1./137.036;
_lambdabar = _mB - _mb;
_kappabar = 3.382 - 4.14*(sqrt(_z) - 0.29);
_fz=Fz(_z);
_rer8 = (44./9.) - (8./27.)*pow(EvtConst::pi,2.);
_r7 = (-10./3.) - (8./9.)*pow(EvtConst::pi,2.);
_rer2 = -4.092 + 12.78*(sqrt(_z) -.29);
_gam77 = 32./3.;
_gam27 = 416./81.;
_gam87 = -32./9.;
_lam2 = .12;
_beta0 = 23./3.;
_beta1 = 116./3.;
_alphasmZ = .118;
_mZ = 91.187;
_ms = _mb/50.;
-
+
double eGammaMin = 0.5*_mB*(1. - _delta);
double eGammaMax = 0.5*_mB;
double yMin = 2.*eGammaMin/_mB;
double yMax = 2.*eGammaMax/_mB;
double _CKMrat= 0.976;
double Nsl = 1.0;
-
+
//Calculate alpha the various scales
_alphasmW = CalcAlphaS(_mW);
_alphasmt = CalcAlphaS(_mt);
_alphasmu = CalcAlphaS(_mu);
_alphasmubar = CalcAlphaS(_mubar);
-
- //Calculate the Wilson Coefficients and Delta
+
+ //Calculate the Wilson Coefficients and Delta
_etamu = _alphasmW/_alphasmu;
_kSLemmu = (12./23.)*((1./_etamu) -1.);
CalcWilsonCoeffs();
CalcDelta();
-
+
//Build s22 and s27 vector - saves time because double
//integration is required otherwise
std::vector<double> s22Coeffs(int(_nIntervalS+1.0));
std::vector<double> s27Coeffs(int(_nIntervalS+1.0));
std::vector<double> s28Coeffs(int(_nIntervalS+1.0));
-
+
double dy = (yMax - yMin)/_nIntervalS;
double yp = yMin;
-
+
std::vector<double> sCoeffs(1);
sCoeffs[0] = _z;
-
+
//Define s22 and s27 functions
- EvtItgPtrFunction *mys22Func = new EvtItgPtrFunction(&s22Func, 0., yMax+0.1, sCoeffs);
- EvtItgPtrFunction *mys27Func = new EvtItgPtrFunction(&s27Func, 0., yMax+0.1, sCoeffs);
-
+ auto mys22Func = EvtItgPtrFunction{&s22Func, 0., yMax+0.1, sCoeffs};
+ auto mys27Func = EvtItgPtrFunction{&s27Func, 0., yMax+0.1, sCoeffs};
+
//Use a simpson integrator
- EvtItgAbsIntegrator *mys22Simp = new EvtItgSimpsonIntegrator(*mys22Func, 1.0e-4, 20);
- EvtItgAbsIntegrator *mys27Simp = new EvtItgSimpsonIntegrator(*mys27Func, 1.0e-4, 50);
+ auto mys22Simp = EvtItgSimpsonIntegrator{mys22Func, 1.0e-4, 20};
+ auto mys27Simp = EvtItgSimpsonIntegrator{mys27Func, 1.0e-4, 50};
int i;
for (i=0;i<int(_nIntervalS+1.0);i++) {
-
- s22Coeffs[i] = (16./27.)*mys22Simp->evaluate(1.0e-20,yp);
- s27Coeffs[i] = (-8./9.)*_z*mys27Simp->evaluate(1.0e-20,yp);
+
+ s22Coeffs[i] = (16./27.)*mys22Simp.evaluate(1.0e-20,yp);
+ s27Coeffs[i] = (-8./9.)*_z*mys27Simp.evaluate(1.0e-20,yp);
s28Coeffs[i] = -s27Coeffs[i]/3.;
yp = yp + dy;
-
+
}
- delete mys22Func;
- delete mys27Func;
- delete mys22Simp;
- delete mys27Simp;
-
//Define functions and vectors used to calculate mHVect. Each function takes a set
//of vectors which are used as the function coefficients
std::vector<double> FermiCoeffs(6);
std::vector<double> varCoeffs(3);
std::vector<double> DeltaCoeffs(1);
std::vector<double> s88Coeffs(2);
std::vector<double> sInitCoeffs(3);
-
+
varCoeffs[0] = _mB;
varCoeffs[1] = _mb;
varCoeffs[2] = 0.;
-
+
DeltaCoeffs[0] = _alphasmu;
-
+
s88Coeffs[0] = _mb;
s88Coeffs[1] = _ms;
-
+
sInitCoeffs[0] = _nIntervalS;
sInitCoeffs[1] = yMin;
sInitCoeffs[2] = yMax;
-
+
FermiCoeffs[0]=fermiFunction;
FermiCoeffs[1]=0.0;
FermiCoeffs[2]=0.0;
FermiCoeffs[3]=0.0;
FermiCoeffs[4]=0.0;
FermiCoeffs[5]=0.0;
-
+
//Coefficients for gamma function
std::vector<double> gammaCoeffs(6);
gammaCoeffs[0]=76.18009172947146;
gammaCoeffs[1]=-86.50532032941677;
gammaCoeffs[2]=24.01409824083091;
gammaCoeffs[3]=-1.231739572450155;
gammaCoeffs[4]=0.1208650973866179e-2;
gammaCoeffs[5]=-0.5395239384953e-5;
-
+
//Calculate quantities for the fermi function to be used
//Distinguish among the different shape functions
if (fermiFunction == 1) {
-
+
FermiCoeffs[1]=_lambdabar;
FermiCoeffs[2]=(-3.*pow(_lambdabar,2.)/_lam1) - 1.;
FermiCoeffs[3]=_lam1;
FermiCoeffs[4]=1.0;
-
- EvtItgPtrFunction *myNormFunc = new EvtItgPtrFunction(&EvtBtoXsgammaFermiUtil::FermiExpFunc, -_mb, _mB-_mb, FermiCoeffs);
- EvtItgAbsIntegrator *myNormSimp = new EvtItgSimpsonIntegrator(*myNormFunc, 1.0e-4, 40);
+
+ auto myNormFunc = std::make_unique< EvtItgPtrFunction >(&EvtBtoXsgammaFermiUtil::FermiExpFunc, -_mb, _mB-_mb, FermiCoeffs);
+ auto myNormSimp = std::make_unique< EvtItgSimpsonIntegrator >(*myNormFunc, 1.0e-4, 40);
FermiCoeffs[4]=myNormSimp->normalisation();
- delete myNormFunc; myNormFunc=0;
- delete myNormSimp; myNormSimp=0;
-
+
} else if (fermiFunction == 2) {
-
+
double a = EvtBtoXsgammaFermiUtil::FermiGaussFuncRoot(_lambdabar, _lam1, _mb, gammaCoeffs);
FermiCoeffs[1]=_lambdabar;
FermiCoeffs[2]=a;
FermiCoeffs[3]= EvtBtoXsgammaFermiUtil::Gamma((2.0 + a)/2., gammaCoeffs)/
EvtBtoXsgammaFermiUtil::Gamma((1.0 + a)/2., gammaCoeffs);
FermiCoeffs[4]=1.0;
-
- EvtItgPtrFunction *myNormFunc = new EvtItgPtrFunction(&EvtBtoXsgammaFermiUtil::FermiGaussFunc, -_mb, _mB-_mb, FermiCoeffs);
- EvtItgAbsIntegrator *myNormSimp = new EvtItgSimpsonIntegrator(*myNormFunc, 1.0e-4, 40);
+
+ auto myNormFunc = std::make_unique< EvtItgPtrFunction>(&EvtBtoXsgammaFermiUtil::FermiGaussFunc, -_mb, _mB-_mb, FermiCoeffs);
+ auto myNormSimp = std::make_unique< EvtItgSimpsonIntegrator> (*myNormFunc, 1.0e-4, 40);
FermiCoeffs[4]=myNormSimp->normalisation();
- delete myNormFunc; myNormFunc=0;
- delete myNormSimp; myNormSimp=0;
-
+
}
else if (fermiFunction == 3) {
-
+
double rho = EvtBtoXsgammaFermiUtil::FermiRomanFuncRoot(_lambdabar, _lam1);
FermiCoeffs[1]=_mB;
FermiCoeffs[2]=_mb;
FermiCoeffs[3]= rho;
FermiCoeffs[4]=_lambdabar;
FermiCoeffs[5]=1.0;
-
- EvtItgPtrFunction *myNormFunc = new EvtItgPtrFunction(&EvtBtoXsgammaFermiUtil::FermiRomanFunc, -_mb, _mB-_mb, FermiCoeffs);
- EvtItgAbsIntegrator *myNormSimp = new EvtItgSimpsonIntegrator(*myNormFunc, 1.0e-4, 40);
+
+ auto myNormFunc = std::make_unique< EvtItgPtrFunction>(&EvtBtoXsgammaFermiUtil::FermiRomanFunc, -_mb, _mB-_mb, FermiCoeffs);
+ auto myNormSimp = std::make_unique< EvtItgSimpsonIntegrator>(*myNormFunc, 1.0e-4, 40);
FermiCoeffs[5]=myNormSimp->normalisation();
- delete myNormFunc; myNormFunc=0;
- delete myNormSimp; myNormSimp=0;
-
+
}
-
+
//Define functions
- EvtItgThreeCoeffFcn* myDeltaFermiFunc = new EvtItgThreeCoeffFcn(&DeltaFermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, DeltaCoeffs);
- EvtItgThreeCoeffFcn* mys88FermiFunc = new EvtItgThreeCoeffFcn(&s88FermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, s88Coeffs);
- EvtItgTwoCoeffFcn* mys77FermiFunc = new EvtItgTwoCoeffFcn(&s77FermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs);
- EvtItgTwoCoeffFcn* mys78FermiFunc = new EvtItgTwoCoeffFcn(&s78FermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs);
- EvtItgFourCoeffFcn* mys22FermiFunc = new EvtItgFourCoeffFcn(&sFermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, sInitCoeffs, s22Coeffs);
- EvtItgFourCoeffFcn* mys27FermiFunc = new EvtItgFourCoeffFcn(&sFermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, sInitCoeffs, s27Coeffs);
- EvtItgFourCoeffFcn* mys28FermiFunc = new EvtItgFourCoeffFcn(&sFermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, sInitCoeffs, s28Coeffs);
-
+ auto myDeltaFermiFunc = EvtItgThreeCoeffFcn{&DeltaFermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, DeltaCoeffs};
+ auto mys88FermiFunc = EvtItgThreeCoeffFcn{&s88FermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, s88Coeffs};
+ auto mys77FermiFunc = EvtItgTwoCoeffFcn{&s77FermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs};
+ auto mys78FermiFunc = EvtItgTwoCoeffFcn{&s78FermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs};
+ auto mys22FermiFunc = EvtItgFourCoeffFcn{&sFermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, sInitCoeffs, s22Coeffs};
+ auto mys27FermiFunc = EvtItgFourCoeffFcn{&sFermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, sInitCoeffs, s27Coeffs};
+ auto mys28FermiFunc = EvtItgFourCoeffFcn{&sFermiFunc, -_mb, _mB-_mb, FermiCoeffs, varCoeffs, sInitCoeffs, s28Coeffs};
+
//Define integrators
- EvtItgSimpsonIntegrator* myDeltaFermiSimp =
- new EvtItgSimpsonIntegrator(*myDeltaFermiFunc, 1.0e-4, 40);
- EvtItgSimpsonIntegrator* mys77FermiSimp =
- new EvtItgSimpsonIntegrator(*mys77FermiFunc, 1.0e-4, 40);
- EvtItgSimpsonIntegrator* mys88FermiSimp =
- new EvtItgSimpsonIntegrator(*mys88FermiFunc, 1.0e-4, 40);
- EvtItgSimpsonIntegrator* mys78FermiSimp =
- new EvtItgSimpsonIntegrator(*mys78FermiFunc, 1.0e-4, 40);
- EvtItgSimpsonIntegrator* mys22FermiSimp =
- new EvtItgSimpsonIntegrator(*mys22FermiFunc, 1.0e-4, 40);
- EvtItgSimpsonIntegrator* mys27FermiSimp =
- new EvtItgSimpsonIntegrator(*mys27FermiFunc, 1.0e-4, 40);
- EvtItgSimpsonIntegrator* mys28FermiSimp =
- new EvtItgSimpsonIntegrator(*mys28FermiFunc, 1.0e-4, 40);
-
+ auto myDeltaFermiSimp = EvtItgSimpsonIntegrator{myDeltaFermiFunc, 1.0e-4, 40};
+ auto mys77FermiSimp = EvtItgSimpsonIntegrator{mys77FermiFunc, 1.0e-4, 40};
+ auto mys88FermiSimp = EvtItgSimpsonIntegrator{mys88FermiFunc, 1.0e-4, 40};
+ auto mys78FermiSimp = EvtItgSimpsonIntegrator{mys78FermiFunc, 1.0e-4, 40};
+ auto mys22FermiSimp = EvtItgSimpsonIntegrator{mys22FermiFunc, 1.0e-4, 40};
+ auto mys27FermiSimp = EvtItgSimpsonIntegrator{mys27FermiFunc, 1.0e-4, 40};
+ auto mys28FermiSimp = EvtItgSimpsonIntegrator{mys28FermiFunc, 1.0e-4, 40};
+
//Finally calculate mHVect for the range of hadronic masses
double mHmin = sqrt(_mB*_mB - 2.*_mB*eGammaMax);
double mHmax = sqrt(_mB*_mB - 2.*_mB*eGammaMin);
double dmH = (mHmax - mHmin)/_nIntervalmH;
-
+
double mH=mHmin;
//Calculating the Branching Fractions
for (i=0;i<int(_nIntervalmH+1.0);i++) {
-
+
double ymH = 1. - ((mH*mH)/(_mB*_mB));
-
+
//Need to set ymH as one of the input parameters
- myDeltaFermiFunc->setCoeff(2, 2, ymH);
- mys77FermiFunc->setCoeff(2, 2, ymH);
- mys88FermiFunc->setCoeff(2, 2, ymH);
- mys78FermiFunc->setCoeff(2, 2, ymH);
- mys22FermiFunc->setCoeff(2, 2, ymH);
- mys27FermiFunc->setCoeff(2, 2, ymH);
- mys28FermiFunc->setCoeff(2, 2, ymH);
-
+ myDeltaFermiFunc.setCoeff(2, 2, ymH);
+ mys77FermiFunc.setCoeff(2, 2, ymH);
+ mys88FermiFunc.setCoeff(2, 2, ymH);
+ mys78FermiFunc.setCoeff(2, 2, ymH);
+ mys22FermiFunc.setCoeff(2, 2, ymH);
+ mys27FermiFunc.setCoeff(2, 2, ymH);
+ mys28FermiFunc.setCoeff(2, 2, ymH);
+
//Integrate
-
- double deltaResult = myDeltaFermiSimp->evaluate((_mB*ymH-_mb),_mB-_mb);
- double s77Result = mys77FermiSimp->evaluate((_mB*ymH-_mb),_mB-_mb);
- double s88Result = mys88FermiSimp->evaluate((_mB*ymH-_mb),_mB-_mb);
- double s78Result = mys78FermiSimp->evaluate((_mB*ymH-_mb),_mB-_mb);
- double s22Result = mys22FermiSimp->evaluate((_mB*ymH-_mb),_mB-_mb);
- double s27Result = mys27FermiSimp->evaluate((_mB*ymH-_mb),_mB-_mb);
- mys28FermiSimp->evaluate((_mB*ymH-_mb),_mB-_mb);
-
+
+ double deltaResult = myDeltaFermiSimp.evaluate((_mB*ymH-_mb),_mB-_mb);
+ double s77Result = mys77FermiSimp.evaluate((_mB*ymH-_mb),_mB-_mb);
+ double s88Result = mys88FermiSimp.evaluate((_mB*ymH-_mb),_mB-_mb);
+ double s78Result = mys78FermiSimp.evaluate((_mB*ymH-_mb),_mB-_mb);
+ double s22Result = mys22FermiSimp.evaluate((_mB*ymH-_mb),_mB-_mb);
+ double s27Result = mys27FermiSimp.evaluate((_mB*ymH-_mb),_mB-_mb);
+ mys28FermiSimp.evaluate((_mB*ymH-_mb),_mB-_mb);
+
double py = (pow(_CKMrat,2.)*(6./_fz)*(_alpha/EvtConst::pi)*(deltaResult*_cDeltatot + (_alphasmu/EvtConst::pi)*(s77Result*pow(_c70mu,2.) + s27Result*_c2mu*(_c70mu - _c80mu/3.) + s78Result*_c70mu*_c80mu + s22Result*_c2mu*_c2mu + s88Result*_c80mu*_c80mu ) ) );
-
+
mHVect[i] = 2.*(mH/(_mB*_mB))*0.105*Nsl*py;
massHad[i] = mH;
brHad[i] = 2.*(mH/(_mB*_mB))*0.105*Nsl*py;
mH = mH+dmH;
-
+
}
- //Clean up
- delete myDeltaFermiFunc; myDeltaFermiFunc=0;
- delete mys88FermiFunc; mys88FermiFunc=0;
- delete mys77FermiFunc; mys77FermiFunc=0;
- delete mys78FermiFunc; mys78FermiFunc=0;
- delete mys22FermiFunc; mys22FermiFunc=0;
- delete mys27FermiFunc; mys27FermiFunc=0;
- delete mys28FermiFunc; mys28FermiFunc=0;
-
- delete myDeltaFermiSimp; myDeltaFermiSimp=0;
- delete mys77FermiSimp; mys77FermiSimp=0;
- delete mys88FermiSimp; mys88FermiSimp=0;
- delete mys78FermiSimp; mys78FermiSimp=0;
- delete mys22FermiSimp; mys22FermiSimp=0;
- delete mys27FermiSimp; mys27FermiSimp=0;
- delete mys28FermiSimp; mys28FermiSimp=0;
-
}
double EvtBtoXsgammaKagan::GetMass( int /*Xscode*/ ){
-
+
// Get hadronic mass for the event according to the hadronic mass spectra computed in computeHadronicMass
double mass=0.0;
double min=_mHmin;
if(bbprod)min=1.1;
// double max=4.5;
double max=_mHmax;
double xbox(0), ybox(0);
double boxheight(0);
double trueHeight(0);
double boxwidth=max-min;
double wgt(0.);
for (int i=0;i<int(intervalMH+1.0);i++) {
if(brHad[i]>boxheight)boxheight=brHad[i];
}
while ((mass > max) || (mass < min)){
xbox = EvtRandom::Flat(boxwidth)+min;
ybox=EvtRandom::Flat(boxheight);
trueHeight=0.0;
// Correction by Peter Richardson
for( int i = 1 ; i < int( intervalMH + 1.0 ) ; ++i ) {
if ( ( massHad[i] >= xbox ) && ( 0.0 == trueHeight ) ) {
wgt=(xbox-massHad[i-1])/(massHad[i]-massHad[i-1]);
trueHeight=brHad[i-1]+wgt*(brHad[i]-brHad[i-1]);
}
}
if (ybox>trueHeight) {
mass=0.0;
} else {
mass=xbox;
}
}
-
+
return mass;
}
double EvtBtoXsgammaKagan::CalcAlphaS(double scale) {
double v = 1. -_beta0*(_alphasmZ/(2.*EvtConst::pi))*(log(_mZ/scale));
return (_alphasmZ/v)*(1. - ((_beta1/_beta0)*(_alphasmZ/(4.*EvtConst::pi))*(log(v)/v)));
}
void EvtBtoXsgammaKagan::CalcWilsonCoeffs( ){
-
+
double mtatmw=_mt*pow((_alphasmW/_alphasmt),(12./23.))*(1 + (12./23.)*((253./18.) - (116./23.))*((_alphasmW - _alphasmt)/(4.0*EvtConst::pi)) - (4./3.)*(_alphasmt/EvtConst::pi));
double xt=pow(mtatmw,2.)/pow(_mW,2.);
-
-
+
+
/////LO
_c2mu = .5*pow(_etamu,(-12./23.)) + .5*pow(_etamu,(6./23.));
-
+
double c7mWsm = ((3.*pow(xt,3.) - 2.*pow(xt,2.))/(4.*pow((xt - 1.),4.)))*log(xt)
+ ((-8.*pow(xt,3.) - 5.*pow(xt,2.) + 7.*xt)/(24.*pow((xt - 1.),3.) )) ;
-
+
double c8mWsm = ((-3.*pow(xt,2.))/(4.*pow((xt - 1.),4.)))*log(xt)
+ ((- pow(xt,3.) + 5.*pow(xt,2.) + 2.*xt)/(8.*pow((xt - 1.),3.)));
-
+
double c7constmu = (626126./272277.)*pow(_etamu,(14./23.))
- - (56281./51730.)*pow(_etamu,(16./23.)) - (3./7.)*pow(_etamu,(6./23.))
- - (1./14.)*pow(_etamu,(-12./23.)) - .6494*pow(_etamu,.4086) - .038*pow(_etamu,-.423)
+ - (56281./51730.)*pow(_etamu,(16./23.)) - (3./7.)*pow(_etamu,(6./23.))
+ - (1./14.)*pow(_etamu,(-12./23.)) - .6494*pow(_etamu,.4086) - .038*pow(_etamu,-.423)
- .0186*pow(_etamu,-.8994) - .0057*pow(_etamu,.1456);
-
+
_c70mu = c7mWsm*pow(_etamu,(16./23.)) + (8./3.)*(pow(_etamu,(14./23.))
-pow(_etamu,(16./23.)))*c8mWsm + c7constmu;
-
+
double c8constmu = (313063./363036.)*pow(_etamu,(14./23.))
-.9135*pow(_etamu,.4086) + .0873*pow(_etamu,-.423) - .0571*pow(_etamu,-.8994)
+ .0209*pow(_etamu,.1456);
_c80mu = c8mWsm*pow(_etamu,(14./23.)) + c8constmu;
//Compute the dilogarithm (PolyLog(2,x)) with the Simpson integrator
//The dilogarithm is defined as: Li_2(x)=Int_0^x(-log(1.-z)/z)
//however, Mathematica implements it as Sum[z^k/k^2,{k,1,Infinity}], so, althought the two
//results are similar and both implemented in the program, we prefer to use the
//one closer to the Mathematica implementation as identical to what used by the theorists.
-
+
// EvtItgFunction *myDiLogFunc = new EvtItgFunction(&diLogFunc, 0., 1.-1./xt);
//EvtItgAbsIntegrator *myDiLogSimp = new EvtItgSimpsonIntegrator(*myDiLogFunc, 1.0e-4, 50);
//double li2 = myDiLogSimp->evaluate(1.0e-20,1.-1./xt);
double li2=diLogMathematica(1.-1./xt);
double c7mWsm1 = ( (-16. *pow(xt,4.) -122. *pow(xt,3.) + 80. *pow(xt,2.) -8. *xt)/
(9. *pow((xt -1.),4.)) * li2 +
(6. *pow(xt,4.) + 46. *pow(xt,3.) -28. *pow(xt,2.))/(3. *pow((xt-1.),5.)) *pow(log(xt),2.)
+ (-102. *pow(xt,5.) -588. *pow(xt,4.) -2262. *pow(xt,3.) + 3244. *pow(xt,2.) -1364. *xt
+ 208.)/(81. *pow((xt-1),5.)) *log(xt)
+ (1646. *pow(xt,4.) + 12205. *pow(xt,3.) -10740. *pow(xt,2.) + 2509. *xt -436.)/
(486. *pow((xt-1),4.)) );
double c8mWsm1 = ((-4. *pow(xt,4.) + 40. *pow(xt,3.) + 41. *pow(xt,2.) + xt)/
(6. *pow((xt-1.),4.)) * li2
+ (-17. *pow(xt,3.) -31. *pow(xt,2.))/(2. *pow((xt-1.),5.) ) *pow(log(xt),2.)
+ (-210. *pow(xt,5.) + 1086. *pow(xt,4.) + 4893. *pow(xt,3.) + 2857. *pow(xt,2.)
-1994. *xt + 280.)/(216. *pow((xt-1),5.)) *log(xt)
+ (737. *pow(xt,4.) -14102. *pow(xt,3.) -28209. *pow(xt,2.) + 610. *xt -508.)/
(1296. *pow((xt-1),4.)) );
double E1 = (xt *(18. -11. *xt -pow(xt,2.))/(12.*pow( (1. -xt),3.))
+ pow(xt,2.)* (15. -16. *xt + 4. *pow(xt,2.))/(6. *pow((1. -xt),4.)) *log(xt)
-2./3. *log(xt) );
double e1 = 4661194./816831.;
double e2 = -8516./2217. ;
double e3 = 0.;
double e4 = 0.;
double e5 = -1.9043;
double e6 = -.1008;
double e7 = .1216;
double e8 = .0183;
double f1 = -17.3023;
double f2 = 8.5027;
double f3 = 4.5508;
double f4 = .7519;
double f5 = 2.004;
double f6 = .7476;
double f7 = -.5385;
double f8 = .0914;
double g1 = 14.8088;
double g2 = -10.809;
double g3 = -.874;
double g4 = .4218;
double g5 = -2.9347;
double g6 = .3971;
double g7 = .1600;
double g8 = .0225;
double c71constmu = ((e1 *_etamu *E1 + f1 + g1 *_etamu) *pow(_etamu,(14./23.))
+ (e2 *_etamu *E1 + f2 + g2 *_etamu) *pow(_etamu,(16./23.))
+ (e3 *_etamu *E1 + f3 + g3 *_etamu) *pow(_etamu,(6./23.))
+ (e4 *_etamu *E1 + f4 + g4 *_etamu) *pow(_etamu,(-12./23.))
+ (e5 *_etamu *E1 + f5 + g5 *_etamu) *pow(_etamu,.4086)
+ (e6 *_etamu *E1 + f6 + g6 *_etamu) *pow(_etamu,(-.423))
+ (e7 *_etamu *E1 + f7 + g7 *_etamu) *pow(_etamu,(-.8994))
+ (e8 *_etamu *E1 + f8 + g8 *_etamu) *pow(_etamu,.1456 ));
double c71pmu = ( ((297664./14283. *pow(_etamu,(16./23.))
-7164416./357075. *pow(_etamu,(14./23.))
+ 256868./14283. *pow(_etamu,(37./23.)) - 6698884./357075. *pow(_etamu,(39./23.)))
*(c8mWsm))
+ 37208./4761. *(pow(_etamu,(39./23.)) - pow(_etamu,(16./23.))) *(c7mWsm)
+ c71constmu );
_c71mu = (_alphasmW/_alphasmu *(pow(_etamu,(16./23.))* c7mWsm1 + 8./3. *(pow(_etamu,(14./23.))
- pow(_etamu,(16./23.)) ) *c8mWsm1 ) + c71pmu);
_c7emmu = ((32./75. *pow(_etamu,(-9./23.)) - 40./69. *pow(_etamu,(-7./23.)) +
88./575. *pow(_etamu,(16./23.))) *c7mWsm + (-32./575. *pow(_etamu,(-9./23.)) +
32./1449. *pow(_etamu,(-7./23.)) + 640./1449.*pow(_etamu,(14./23.)) -
704./1725.*pow(_etamu,(16./23.)) ) *c8mWsm
- 190./8073.*pow(_etamu,(-35./23.)) - 359./3105. *pow(_etamu,(-17./23.)) +
4276./121095. *pow(_etamu,(-12./23.)) + 350531./1009125.*pow(_etamu,(-9./23.))
+ 2./4347. *pow(_etamu,(-7./23.)) - 5956./15525. *pow(_etamu,(6./23.)) +
38380./169533. *pow(_etamu,(14./23.)) - 748./8625. *pow(_etamu,(16./23.)));
// Wilson coefficients values as according to Kagan's program
// _c2mu=1.10566;
//_c70mu=-0.314292;
-// _c80mu=-0.148954;
+// _c80mu=-0.148954;
// _c71mu=0.480964;
// _c7emmu=0.0323219;
-
+
}
void EvtBtoXsgammaKagan::CalcDelta() {
double cDelta77 = (1. + (_alphasmu/(2.*EvtConst::pi)) *(_r7 - (16./3.) + _gam77*log(_mb/_mu)) + ( (pow((1. - _z),4.)/_fz) - 1.)*(6.*_lam2/pow(_mb,2.)) + (_alphasmubar/(2.*EvtConst::pi))*_kappabar )*pow(_c70mu,2.);
-
+
double cDelta27 = ((_alphasmu/(2.*EvtConst::pi))*(_rer2 + _gam27*log(_mb/_mu)) - (_lam2/(9.*_z*pow(_mb,2.))))*_c2mu*_c70mu;
-
+
double cDelta78 = (_alphasmu/(2.*EvtConst::pi))*(_rer8 + _gam87*log(_mb/_mu))*_c70mu*_c80mu;
-
+
_cDeltatot = cDelta77 + cDelta27 + cDelta78 + (_alphasmu/(2.*EvtConst::pi))*_c71mu*_c70mu + (_alpha/_alphasmu)*(2.*_c7emmu*_c70mu - _kSLemmu*pow(_c70mu,2.));
-
+
}
double EvtBtoXsgammaKagan::Delta(double y, double alphasMu) {
-
+
//Fix for singularity at endpoint
if (y >= 1.0) y = 0.9999999999;
-
+
return ( - 4.*(alphasMu/(3.*EvtConst::pi*(1. - y)))*(log(1. - y) + 7./4.)*
exp(-2.*(alphasMu/(3.*EvtConst::pi))*(pow(log(1. - y),2) + (7./2.)*log(1. - y))));
-
+
}
double EvtBtoXsgammaKagan::s77(double y) {
-
+
//Fix for singularity at endpoint
if (y >= 1.0) y = 0.9999999999;
-
+
return ((1./3.)*(7. + y - 2.*pow(y,2) - 2.*(1. + y)*log(1. - y)));
}
double EvtBtoXsgammaKagan::s88(double y, double mb, double ms) {
-
+
//Fix for singularity at endpoint
if (y >= 1.0) y = 0.9999999999;
-
+
return ((1./27.)*((2.*(2. - 2.*y + pow(y,2))/y)*(log(1. - y) + 2.*log(mb/ms))
- 2.*pow(y,2) - y - 8.*((1. - y)/y)));
}
double EvtBtoXsgammaKagan::s78(double y) {
-
+
//Fix for singularity at endpoint
if (y >= 1.0) y = 0.9999999999;
-
+
return ((8./9.)*(((1. - y)/y)*log(1. - y) + 1. + (pow(y,2)/4.)));
}
double EvtBtoXsgammaKagan::ReG(double y) {
-
+
if (y < 4.) return -2.*pow(atan(sqrt(y/(4. - y))),2.);
else {
return 2.*(pow(log((sqrt(y) + sqrt(y - 4.))/2.),2.)) - (1./2.)*pow(EvtConst::pi,2.);
}
-
+
}
double EvtBtoXsgammaKagan::ImG(double y) {
-
+
if (y < 4.) return 0.0;
else {
return (-2.*EvtConst::pi*log((sqrt(y) + sqrt(y - 4.))/2.));
}
}
double EvtBtoXsgammaKagan::s22Func(double y, const std::vector<double> &coeffs) {
//coeffs[0]=z
return (1. - y)*((pow(coeffs[0],2.)/pow(y,2.))*(pow(ReG(y/coeffs[0]),2.) + pow(ImG(y/coeffs[0]),2.)) + (coeffs[0]/y)*ReG(y/coeffs[0]) + (1./4.));
-
+
}
double EvtBtoXsgammaKagan::s27Func(double y, const std::vector<double> &coeffs) {
-
+
//coeffs[0] = z
return (ReG(y/coeffs[0]) + y/(2.*coeffs[0]));
}
-double EvtBtoXsgammaKagan::DeltaFermiFunc(double y, const std::vector<double> &coeffs1,
+double EvtBtoXsgammaKagan::DeltaFermiFunc(double y, const std::vector<double> &coeffs1,
const std::vector<double> &coeffs2, const std::vector<double> &coeffs3) {
-
- //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
+
+ //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
//coeffs2[2]=ymH, coeffs3[0]=DeltaCoeff (alphasmu)
-
+
return FermiFunc(y,coeffs1)*(coeffs2[0]/(coeffs2[1]+y))*
Delta((coeffs2[0]*coeffs2[2])/(coeffs2[1]+y),coeffs3[0]);
}
-double EvtBtoXsgammaKagan::s77FermiFunc(double y, const std::vector<double> &coeffs1,
+double EvtBtoXsgammaKagan::s77FermiFunc(double y, const std::vector<double> &coeffs1,
const std::vector<double> &coeffs2) {
- //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
+ //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
//coeffs2[2]=ymH
return FermiFunc(y,coeffs1)*(coeffs2[0]/(coeffs2[1]+y))*
s77((coeffs2[0]*coeffs2[2])/(coeffs2[1]+y));
}
-double EvtBtoXsgammaKagan::s88FermiFunc(double y, const std::vector<double> &coeffs1,
+double EvtBtoXsgammaKagan::s88FermiFunc(double y, const std::vector<double> &coeffs1,
const std::vector<double> &coeffs2, const std::vector<double> &coeffs3) {
- //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
+ //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
//coeffs2[2]=ymH, coeffs3=s88 coeffs
return FermiFunc(y,coeffs1)*(coeffs2[0]/(coeffs2[1]+y))*
s88((coeffs2[0]*coeffs2[2])/(coeffs2[1]+y),coeffs3[0], coeffs3[1]);
}
-double EvtBtoXsgammaKagan::s78FermiFunc(double y, const std::vector<double> &coeffs1,
+double EvtBtoXsgammaKagan::s78FermiFunc(double y, const std::vector<double> &coeffs1,
const std::vector<double> &coeffs2) {
- //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
+ //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
//coeffs2[2]=ymH
return FermiFunc(y,coeffs1)*(coeffs2[0]/(coeffs2[1]+y))*
s78((coeffs2[0]*coeffs2[2])/(coeffs2[1]+y));
}
-double EvtBtoXsgammaKagan::sFermiFunc(double y, const std::vector<double> &coeffs1,
- const std::vector<double> &coeffs2, const std::vector<double> &coeffs3,
+double EvtBtoXsgammaKagan::sFermiFunc(double y, const std::vector<double> &coeffs1,
+ const std::vector<double> &coeffs2, const std::vector<double> &coeffs3,
const std::vector<double> &coeffs4) {
- //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
+ //coeffs1=fermi function coeffs, coeffs2[0]=mB, coeffs2[1]=mb,
//coeffs2[2]=ymH, coeffs3[0]=nIntervals in s22 or s27 array, coeffs3[1]=yMin,
//coeffs3[2]=yMax, coeffs4=s22 or s27 array
return FermiFunc(y,coeffs1)*(coeffs2[0]/(coeffs2[1]+y))*
GetArrayVal(coeffs2[0]*coeffs2[2]/(coeffs2[1]+y), coeffs3[0], coeffs3[1], coeffs3[2], coeffs4);
}
double EvtBtoXsgammaKagan::Fz(double z) {
return (1. -8.*z + 8.*pow(z,3.) - pow(z,4.) - 12.*pow(z,2.)*log(z));
}
double EvtBtoXsgammaKagan::GetArrayVal(double xp, double nInterval, double xMin, double xMax, std::vector<double> array) {
-
+
double dx = (xMax - xMin)/nInterval;
int bin1 = int(((xp-xMin)/(xMax - xMin))*nInterval);
double x1 = double(bin1)*dx + xMin;
if (xp == x1) return array[bin1];
int bin2(0);
if (xp > x1) {
bin2 = bin1 + 1;
}
else if (xp < x1) {
bin2 = bin1 - 1;
}
if (bin1 <= 0) {
bin1=0;
bin2 = 1;
}
//If xp is in the last bin, always interpolate between the last two bins
if (bin1 == (int)nInterval){
bin2 = (int)nInterval;
bin1 = (int)nInterval - 1;
x1 = double(bin1)*dx + xMin;
}
-
+
double x2 = double(bin2)*dx + xMin;
double y1 = array[bin1];
double y2 = array[bin2];
double m = (y2 - y1)/(x2 - x1);
double c = y1 - m*x1;
double result = m*xp + c;
return result;
-
+
}
double EvtBtoXsgammaKagan::FermiFunc(double y, const std::vector<double> &coeffs) {
//Fermi shape functions :1=exponential, 2=gaussian, 3=roman
if (int(coeffs[0]) == 1) return EvtBtoXsgammaFermiUtil::FermiExpFunc(y, coeffs);
if (int(coeffs[0]) == 2) return EvtBtoXsgammaFermiUtil::FermiGaussFunc(y, coeffs);
if (int(coeffs[0]) == 3) return EvtBtoXsgammaFermiUtil::FermiRomanFunc(y, coeffs);
return 1.;
}
double EvtBtoXsgammaKagan::diLogFunc(double y) {
return -log(fabs(1. - y))/y;
}
double EvtBtoXsgammaKagan::diLogMathematica(double y) {
double li2(0);
for(int i=1; i<1000; i++){ //the value 1000 should actually be Infinite...
li2+=pow(y,i)/(i*i);
}
return li2;
}
diff --git a/src/EvtGenModels/EvtBtoXsgammaRootFinder.cpp b/src/EvtGenModels/EvtBtoXsgammaRootFinder.cpp
index 33efcf1..e940927 100644
--- a/src/EvtGenModels/EvtBtoXsgammaRootFinder.cpp
+++ b/src/EvtGenModels/EvtBtoXsgammaRootFinder.cpp
@@ -1,206 +1,199 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsgammaRootFinder.cc
//
// Description:
// Root finders for EvtBtoXsgammaKagan module.
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtBtoXsgammaRootFinder.hh"
#include "EvtGenModels/EvtItgTwoCoeffFcn.hh"
#include "EvtGenModels/EvtItgSimpsonIntegrator.hh"
#include "EvtGenBase/EvtReport.hh"
#include <math.h>
using std::endl;
//-------------
// C Headers --
//-------------
extern "C" {
}
//-----------------------------------------------------------------------
// Local Macros, Typedefs, Structures, Unions and Forward Declarations --
//-----------------------------------------------------------------------
#define EVTITGROOTFINDER_MAXIT 100
#define EVTITGROOTFINDER_RELATIVEPRECISION 1.0e-16
-EvtBtoXsgammaRootFinder::EvtBtoXsgammaRootFinder() {}
-
-EvtBtoXsgammaRootFinder::~EvtBtoXsgammaRootFinder( )
-{}
-
double
EvtBtoXsgammaRootFinder::GetRootSingleFunc(const EvtItgAbsFunction* theFunc, double functionValue, double lowerValue, double upperValue, double precision) {
-
+
// Use the bisection to find the root.
// Iterates until find root to the accuracy of precision
double xLower = 0.0, xUpper = 0.0;
double root=0;
double f1 = theFunc->value(lowerValue) - functionValue;
double f2 = theFunc->value(upperValue) - functionValue;
if ( f1*f2 > 0.0 ) {
- EvtGenReport(EVTGEN_WARNING,"EvtGen") << "EvtBtoXsgammaRootFinder: No root in specified range !"<<endl;
+ EvtGenReport(EVTGEN_WARNING,"EvtGen") << "EvtBtoXsgammaRootFinder: No root in specified range !"<<endl;
return 0;
}
// Already have root
if (fabs(f1) < precision) {
root = lowerValue;
return root;
}
if (fabs(f2) < precision) {
root = upperValue;
return root;
}
-
+
// Orient search so that f(xLower) < 0
if (f1 < 0.0) {
xLower = lowerValue;
xUpper = upperValue;
} else {
xLower = upperValue;
xUpper = lowerValue;
}
-
+
double rootGuess = 0.5*(lowerValue + upperValue);
double dxold = fabs(upperValue - lowerValue);
double dx = dxold;
-
+
double f = theFunc->value(rootGuess) - functionValue;
-
+
for (int j = 0; j< EVTITGROOTFINDER_MAXIT; j++) {
-
+
dxold = dx;
dx = 0.5*(xUpper-xLower);
rootGuess = xLower+dx;
// If change in root is negligible, take it as solution.
if (fabs(xLower - rootGuess) < precision) {
root = rootGuess;
return root;
}
-
+
f = theFunc->value(rootGuess) - functionValue;
-
+
if (f < 0.0) {
xLower = rootGuess;
} else {
xUpper = rootGuess;
}
-
+
}
-
+
EvtGenReport(EVTGEN_WARNING,"EvtGen") << "EvtBtoXsgammaRootFinder: Maximum number of iterations "
- <<"in EvtBtoXsgammaRootFinder::foundRoot exceeded!"
+ <<"in EvtBtoXsgammaRootFinder::foundRoot exceeded!"
<<" Returning false."<<endl;
return 0;
-
+
}
double
EvtBtoXsgammaRootFinder::GetGaussIntegFcnRoot(EvtItgAbsFunction *theFunc1, EvtItgAbsFunction *theFunc2, double integ1Precision, double integ2Precision, int maxLoop1, int maxLoop2, double integLower, double integUpper, double lowerValue, double upperValue, double precision) {
-
+
// Use the bisection to find the root.
// Iterates until find root to the accuracy of precision
-
+
//Need to work with integrators
- EvtItgAbsIntegrator *func1Integ = new EvtItgSimpsonIntegrator(*theFunc1, integ1Precision, maxLoop1);
- EvtItgAbsIntegrator *func2Integ = new EvtItgSimpsonIntegrator(*theFunc2, integ2Precision, maxLoop2);
-
-
+ auto func1Integ = EvtItgSimpsonIntegrator{*theFunc1, integ1Precision, maxLoop1};
+ auto func2Integ = EvtItgSimpsonIntegrator{*theFunc2, integ2Precision, maxLoop2};
+
+
//coefficient 1 of the integrators is the root to be found
//need to set this to lower value to start off with
theFunc1->setCoeff(1,0,lowerValue);
theFunc2->setCoeff(1,0,lowerValue);
-
- double f1 = func1Integ->evaluate(integLower,integUpper) - theFunc2->getCoeff(1,2)*func2Integ->evaluate(integLower,integUpper);
+
+ double f1 = func1Integ.evaluate(integLower,integUpper) - theFunc2->getCoeff(1,2)*func2Integ.evaluate(integLower,integUpper);
theFunc1->setCoeff(1,0,upperValue);
theFunc2->setCoeff(1,0,upperValue);
- double f2 = func1Integ->evaluate(integLower,integUpper) - theFunc2->getCoeff(1,2)*func2Integ->evaluate(integLower,integUpper);
-
+ double f2 = func1Integ.evaluate(integLower,integUpper) - theFunc2->getCoeff(1,2)*func2Integ.evaluate(integLower,integUpper);
+
double xLower = 0.0, xUpper = 0.0;
double root=0;
if ( f1*f2 > 0.0 ) {
- EvtGenReport(EVTGEN_WARNING,"EvtGen") << "EvtBtoXsgammaRootFinder: No root in specified range !"<<endl;
+ EvtGenReport(EVTGEN_WARNING,"EvtGen") << "EvtBtoXsgammaRootFinder: No root in specified range !"<<endl;
return false;
}
// Already have root
if (fabs(f1) < precision) {
root = lowerValue;
return root;
}
if (fabs(f2) < precision) {
root = upperValue;
return root;
}
-
+
// Orient search so that f(xLower) < 0
if (f1 < 0.0) {
xLower = lowerValue;
xUpper = upperValue;
} else {
xLower = upperValue;
xUpper = lowerValue;
}
-
+
double rootGuess = 0.5*(lowerValue + upperValue);
double dxold = fabs(upperValue - lowerValue);
double dx = dxold;
-
+
theFunc1->setCoeff(1,0,rootGuess);
theFunc2->setCoeff(1,0,rootGuess);
- double f = func1Integ->evaluate(integLower,integUpper) - theFunc2->getCoeff(1,2)*func2Integ->evaluate(integLower,integUpper);
-
+ double f = func1Integ.evaluate(integLower,integUpper) - theFunc2->getCoeff(1,2)*func2Integ.evaluate(integLower,integUpper);
+
for (int j = 0; j< EVTITGROOTFINDER_MAXIT; j++) {
-
+
dxold = dx;
dx = 0.5*(xUpper-xLower);
rootGuess = xLower+dx;
-
+
// If change in root is negligible, take it as solution.
if (fabs(xLower - rootGuess) < precision) {
root = rootGuess;
return root;
}
-
+
theFunc1->setCoeff(1,0,rootGuess);
theFunc2->setCoeff(1,0,rootGuess);
- f = func1Integ->evaluate(integLower,integUpper) - theFunc2->getCoeff(1,2)*func2Integ->evaluate(integLower,integUpper);
-
+ f = func1Integ.evaluate(integLower,integUpper) - theFunc2->getCoeff(1,2)*func2Integ.evaluate(integLower,integUpper);
+
if (f < 0.0) {
xLower = rootGuess;
} else {
xUpper = rootGuess;
}
-
+
}
-
+
EvtGenReport(EVTGEN_WARNING,"EvtGen") << "EvtBtoXsgammaRootFinder: Maximum number of iterations "
- <<"in EvtBtoXsgammaRootFinder::foundRoot exceeded!"
+ <<"in EvtBtoXsgammaRootFinder::foundRoot exceeded!"
<<" Returning false."<<endl;
return 0;
-
-}
-
+}
diff --git a/src/EvtGenModels/EvtBtoXsll.cpp b/src/EvtGenModels/EvtBtoXsll.cpp
index 6be9b8e..d9a013e 100644
--- a/src/EvtGenModels/EvtBtoXsll.cpp
+++ b/src/EvtGenModels/EvtBtoXsll.cpp
@@ -1,404 +1,400 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtBtoXsll.cc
//
// Description: Routine to generate non-resonant B -> Xs l+ l- decays.
// It generates a dilepton mass spectrum according to Kruger and Sehgal
// and then generates the two lepton momenta accoring to Ali et al.
// The resultant X_s particles may be decayed by JETSET.
//
// Modification history:
//
// Stephane Willocq Jan 17, 2001 Module created
// Stephane Willocq Jul 15, 2003 Input model parameters
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtbTosllAmp.hh"
#include "EvtGenModels/EvtBtoXsll.hh"
#include "EvtGenModels/EvtBtoXsllUtil.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtId.hh"
using std::endl;
-EvtBtoXsll::~EvtBtoXsll() {
- delete _calcprob;
-}
-
std::string EvtBtoXsll::getName(){
- return "BTOXSLL";
+ return "BTOXSLL";
}
EvtDecayBase* EvtBtoXsll::clone(){
return new EvtBtoXsll;
}
void EvtBtoXsll::init(){
// check that there are no arguments
checkNArg(0,4,5);
checkNDaug(3);
// Check that the two leptons are the same type
EvtId lepton1type = getDaug(1);
EvtId lepton2type = getDaug(2);
int etyp = 0;
int mutyp = 0;
int tautyp = 0;
if ( lepton1type == EvtPDL::getId("e+") ||
lepton1type == EvtPDL::getId("e-") ) { etyp++;}
if ( lepton2type == EvtPDL::getId("e+") ||
lepton2type == EvtPDL::getId("e-") ) { etyp++;}
if ( lepton1type == EvtPDL::getId("mu+") ||
lepton1type == EvtPDL::getId("mu-") ) { mutyp++;}
if ( lepton2type == EvtPDL::getId("mu+") ||
lepton2type == EvtPDL::getId("mu-") ) { mutyp++;}
if ( lepton1type == EvtPDL::getId("tau+") ||
lepton1type == EvtPDL::getId("tau-") ) { tautyp++;}
if ( lepton2type == EvtPDL::getId("tau+") ||
lepton2type == EvtPDL::getId("tau-") ) { tautyp++;}
if ( etyp != 2 && mutyp != 2 && tautyp != 2 ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Expect two leptons of the same type in EvtBtoXsll.cc\n";
::abort();
}
// Check that the second and third entries are leptons with positive
// and negative charge, respectively
int lpos = 0;
int lneg = 0;
if ( lepton1type == EvtPDL::getId("e+") ||
lepton1type == EvtPDL::getId("mu+") ||
lepton1type == EvtPDL::getId("tau+") ) { lpos++;}
if ( lepton2type == EvtPDL::getId("e-") ||
lepton2type == EvtPDL::getId("mu-") ||
lepton2type == EvtPDL::getId("tau-") ) { lneg++;}
if ( lpos != 1 || lneg != 1 ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Expect 2nd and 3rd particles to be positive and negative leptons in EvtBtoXsll.cc\n";
::abort();
}
-
+
_mb=4.8;
_ms=0.2;
_mq=0.;
_pf=0.41;
_mxmin=1.1;
- if ( getNArg()==4)
+ if ( getNArg()==4)
{
// b-quark mass
_mb = getArg(0);
// s-quark mass
_ms = getArg(1);
// spectator quark mass
_mq = getArg(2);
// Fermi motion parameter
_pf = getArg(3);
}
- if ( getNArg()==5)
+ if ( getNArg()==5)
{
_mxmin = getArg(4);
}
- _calcprob = new EvtBtoXsllUtil;
+ _calcprob = std::make_unique<EvtBtoXsllUtil>();
double ml = EvtPDL::getMeanMass(getDaug(1));
// determine the maximum probability density from dGdsProb
int i, j;
int nsteps = 100;
double s = 0.0;
double smin = 4.0 * ml * ml;
double smax = (_mb - _ms)*(_mb - _ms);
double probMax = -10000.0;
double sProbMax = -10.0;
double uProbMax = -10.0;
for (i=0;i<nsteps;i++)
{
s = smin + (i+0.002)*(smax - smin)/(double)nsteps;
double prob = _calcprob->dGdsProb(_mb, _ms, ml, s);
if (prob > probMax)
{
sProbMax = s;
probMax = prob;
}
}
_dGdsProbMax = probMax;
if ( verbose() ) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "dGdsProbMax = " << probMax << " for s = " << sProbMax << endl;
}
// determine the maximum probability density from dGdsdupProb
probMax = -10000.0;
sProbMax = -10.0;
for (i=0;i<nsteps;i++)
{
s = smin + (i+0.002)*(smax - smin)/(double)nsteps;
double umax = sqrt((s - (_mb + _ms)*(_mb + _ms)) * (s - (_mb - _ms)*(_mb - _ms)));
for (j=0;j<nsteps;j++)
{
double u = -umax + (j+0.002)*(2.0*umax)/(double)nsteps;
double prob = _calcprob->dGdsdupProb(_mb, _ms, ml, s, u);
if (prob > probMax)
{
sProbMax = s;
uProbMax = u;
probMax = prob;
}
}
}
_dGdsdupProbMax = 2.0*probMax;
if ( verbose() ) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "dGdsdupProbMax = " << probMax << " for s = " << sProbMax
<< " and u = " << uProbMax << endl;
}
}
void EvtBtoXsll::initProbMax(){
noProbMax();
}
void EvtBtoXsll::decay( EvtParticle *p ){
p->makeDaughters(getNDaug(),getDaugs());
EvtParticle* xhadron = p->getDaug(0);
EvtParticle* leptonp = p->getDaug(1);
EvtParticle* leptonn = p->getDaug(2);
double mass[3];
-
+
findMasses( p, getNDaug(), getDaugs(), mass );
double mB = p->mass();
double ml = mass[1];
double pb(0.);
int im = 0;
static int nmsg = 0;
double xhadronMass = -999.0;
EvtVector4R p4xhadron;
EvtVector4R p4leptonp;
EvtVector4R p4leptonn;
// require the hadronic system has mass greater than that of a Kaon pion pair
// while (xhadronMass < 0.6333)
// the above minimum value of K+pi mass appears to be too close
// to threshold as far as JETSET is concerned
// (JETSET gets caught in an infinite loop)
// so we choose a lightly larger value for the threshold
while (xhadronMass < _mxmin)
{
im++;
// Apply Fermi motion and determine effective b-quark mass
// Old BaBar MC parameters
// double pf = 0.25;
// double ms = 0.2;
// double mq = 0.3;
double mb = 0.0;
double xbox, ybox;
while (mb <= 0.0)
{
pb = _calcprob->FermiMomentum(_pf);
// effective b-quark mass
mb = mB*mB + _mq*_mq - 2.0*mB*sqrt(pb*pb + _mq*_mq);
if ( mb>0. && sqrt(mb)-_ms < 2.0*ml ) mb= -10.;
}
mb = sqrt(mb);
-
+
// cout << "b-quark momentum = " << pb << " mass = " << mb << endl;
// generate a dilepton invariant mass
double s = 0.0;
double smin = 4.0 * ml * ml;
double smax = (mb - _ms)*(mb - _ms);
while (s == 0.0)
{
xbox = EvtRandom::Flat(smin, smax);
ybox = EvtRandom::Flat(_dGdsProbMax);
double prob= _calcprob->dGdsProb(mb, _ms, ml, xbox);
if ( !(prob>=0.0) && !(prob<=0.0)) {
// EvtGenReport(EVTGEN_INFO,"EvtGen") << "nan from dGdsProb " << prob << " " << mb << " " << _ms << " " << ml << " " << xbox << std::endl;
}
if ( ybox < prob ) s=xbox;
}
// cout << "dGdsProb(s) = " << _calcprob->dGdsProb(mb, _ms, ml, s)
// << " for s = " << s << endl;
// two-body decay of b quark at rest into s quark and dilepton pair:
// b -> s (ll)
EvtVector4R p4sdilep[2];
double msdilep[2];
msdilep[0] = _ms;
msdilep[1] = sqrt(s);
EvtGenKine::PhaseSpace(2, msdilep, p4sdilep, mb);
// generate dilepton decay with the expected asymmetry: (ll) -> l+ l-
EvtVector4R p4ll[2];
double mll[2];
mll[0] = ml;
mll[1] = ml;
double tmp = 0.0;
while (tmp == 0.0)
{
// (ll) -> l+ l- decay in dilepton rest frame
EvtGenKine::PhaseSpace(2, mll, p4ll, msdilep[1]);
// boost to b-quark rest frame
p4ll[0] = boostTo(p4ll[0], p4sdilep[1]);
p4ll[1] = boostTo(p4ll[1], p4sdilep[1]);
// compute kinematical variable u
EvtVector4R p4slp = p4sdilep[0] + p4ll[0];
EvtVector4R p4sln = p4sdilep[0] + p4ll[1];
double u = p4slp.mass2() - p4sln.mass2();
ybox = EvtRandom::Flat(_dGdsdupProbMax);
double prob = _calcprob->dGdsdupProb(mb, _ms, ml, s, u);
if ( !(prob>=0.0) && !(prob<=0.0)) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "nan from dGdsProb " << prob << " " << mb << " " << _ms << " " << ml << " " << s << " " << u << std::endl;
}
if (prob > _dGdsdupProbMax && nmsg < 20)
{
EvtGenReport(EVTGEN_INFO,"EvtGen") << "d2gdsdup GT d2gdsdup_max:" << prob
<< " " << _dGdsdupProbMax
<< " for s = " << s << " u = " << u << " mb = " << mb << endl;
nmsg++;
}
if (ybox < prob)
{
tmp = 1.0;
// cout << "dGdsdupProb(s) = " << prob
// << " for u = " << u << endl;
}
}
// assign 4-momenta to valence quarks inside B meson in B rest frame
double phi = EvtRandom::Flat( EvtConst::twoPi );
double costh = EvtRandom::Flat( -1.0, 1.0 );
double sinth = sqrt(1.0 - costh*costh);
// b-quark four-momentum in B meson rest frame
EvtVector4R p4b(sqrt(mb*mb + pb*pb),
pb*sinth*sin(phi),
pb*sinth*cos(phi),
pb*costh);
// B meson in its rest frame
//
// EvtVector4R p4B(mB, 0.0, 0.0, 0.0);
//
// boost B meson to b-quark rest frame
//
// p4B = boostTo(p4B, p4b);
//
// cout << " B meson mass in b-quark rest frame = " << p4B.mass() << endl;
// boost s, l+ and l- to B meson rest frame
// EvtVector4R p4s = boostTo(p4sdilep[0], p4B);
// p4leptonp = boostTo(p4ll[0], p4B);
// p4leptonn = boostTo(p4ll[1], p4B);
EvtVector4R p4s = boostTo(p4sdilep[0], p4b);
p4leptonp = boostTo(p4ll[0], p4b);
p4leptonn = boostTo(p4ll[1], p4b);
// spectator quark in B meson rest frame
EvtVector4R p4q( sqrt(pb*pb + _mq*_mq), -p4b.get(1), -p4b.get(2), -p4b.get(3) );
// hadron system in B meson rest frame
p4xhadron = p4s + p4q;
xhadronMass = p4xhadron.mass();
// cout << "Xs mass = " << xhadronMass << " trial " << im << endl;
}
// initialize the decay products
xhadron->init(getDaug(0), p4xhadron);
// For B-bar mesons (i.e. containing a b quark) we have the normal
// order of leptons
if ( p->getId() == EvtPDL::getId("anti-B0") ||
p->getId() == EvtPDL::getId("B-") )
{
leptonp->init(getDaug(1), p4leptonp);
leptonn->init(getDaug(2), p4leptonn);
}
// For B mesons (i.e. containing a b-bar quark) we need to flip the
// role of the positive and negative leptons in order to produce the
// correct forward-backward asymmetry between the two leptons
else
{
leptonp->init(getDaug(1), p4leptonn);
leptonn->init(getDaug(2), p4leptonp);
}
return ;
}
diff --git a/src/EvtGenModels/EvtCBTo3piMPP.cpp b/src/EvtGenModels/EvtCBTo3piMPP.cpp
index 4c0af71..05411b4 100644
--- a/src/EvtGenModels/EvtCBTo3piMPP.cpp
+++ b/src/EvtGenModels/EvtCBTo3piMPP.cpp
@@ -1,127 +1,125 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtCBTo3piMPP.cc
//
// Description: Routine to decay B+/-->pi+ pi- pi+/-
// and has CP violation.
//
// Modification history:
//
// MK September, 2016 Reimplementation to C++
// RYD/Versille May 6, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenModels/EvtCBTo3piMPP.hh"
#include <string>
-EvtCBTo3piMPP::~EvtCBTo3piMPP() {}
-
std::string EvtCBTo3piMPP::getName(){
- return "CB3PI-MPP";
+ return "CB3PI-MPP";
}
-EvtDecayBase* EvtCBTo3piMPP::clone(){
+EvtCBTo3piMPP* EvtCBTo3piMPP::clone(){
return new EvtCBTo3piMPP;
}
void EvtCBTo3piMPP::init(){
// check that there are 1 argument
checkNArg(1);
checkNDaug(3);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
-
+
EvtVector4R p4[3];
double alpha = getArg(0);
int iset(10000);
double realA, imgA, realbarA, imgbarA;
generator.Evt3piMPP(alpha, iset, p4[0], p4[1], p4[2],
realA, imgA, realbarA, imgbarA);
-
+
}
void EvtCBTo3piMPP::initProbMax(){
setProbMax(1.5);
}
void EvtCBTo3piMPP::decay( EvtParticle *p ){
//added by Lange Jan4,2000
static EvtId BM=EvtPDL::getId("B-");
static EvtId BP=EvtPDL::getId("B+");
EvtParticle *pi1,*pi2,*pi3;
p->makeDaughters(getNDaug(),getDaugs());
pi1=p->getDaug(0);
pi2=p->getDaug(1);
pi3=p->getDaug(2);
EvtVector4R p4[3];
double alpha = getArg(0);
int iset(0);
double realA,imgA,realbarA,imgbarA;
- generator.Evt3piMPP(alpha, iset, p4[0], p4[1], p4[2],
- realA, imgA, realbarA, imgbarA);
+ generator.Evt3piMPP(alpha, iset, p4[0], p4[1], p4[2],
+ realA, imgA, realbarA, imgbarA);
pi1->init( getDaug(0), p4[0] );
pi2->init( getDaug(1), p4[1] );
pi3->init( getDaug(2), p4[2] );
EvtComplex A(realA,imgA);
EvtComplex Abar(realbarA, imgbarA);
//amp is filled just to make sure the compiler will
//do its job!! but one has to define amp differently
// if one wants the B+ or the B- to decay to 3pi!
- //
+ //
EvtComplex amp;
if(p->getId()==BP)
{
amp = A;
}
if(p->getId()==BM)
{
amp = Abar;
- }
+ }
vertex(amp);
return ;
}
diff --git a/src/EvtGenModels/EvtCBTo3piP00.cpp b/src/EvtGenModels/EvtCBTo3piP00.cpp
index a374dec..8d7ba20 100644
--- a/src/EvtGenModels/EvtCBTo3piP00.cpp
+++ b/src/EvtGenModels/EvtCBTo3piP00.cpp
@@ -1,128 +1,126 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtCBTo3piP00.cc
//
// Description: Routine to decay B+/-->pi0 pi0 pi+/-
// and has CP violation.
//
// Modification history:
//
// MK September, 2016 Reimplementation to C++
// RYD,Versille May 6, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtCBTo3piP00.hh"
#include <string>
-EvtCBTo3piP00::~EvtCBTo3piP00() {}
-
std::string EvtCBTo3piP00::getName(){
- return "CB3PI-P00";
+ return "CB3PI-P00";
}
-EvtDecayBase* EvtCBTo3piP00::clone(){
+EvtCBTo3piP00* EvtCBTo3piP00::clone(){
return new EvtCBTo3piP00;
}
void EvtCBTo3piP00::init(){
// check that there are 1 argument
checkNArg(1);
checkNDaug(3);
checkSpinParent(EvtSpinType::SCALAR);
-
+
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
int iset(10000);
double alpha = getArg(0);
EvtVector4R pin, p4pi1, p4Gamma11, p4Gamma12;
EvtVector4R p4Gamma21, p4Gamma22;
double realA, imgA, realbarA, imgbarA;
generator.Evt3piP00(alpha, iset, pin, p4Gamma11, p4Gamma12,
p4Gamma21, p4Gamma22, realA, imgA, realbarA,
imgbarA);
}
void EvtCBTo3piP00::initProbMax(){
setProbMax(1.5);
}
void EvtCBTo3piP00::decay( EvtParticle *p ){
//added by Lange Jan4,2000
static EvtId BM=EvtPDL::getId("B-");
static EvtId BP=EvtPDL::getId("B+");
EvtParticle *pi1,*pi2,*pi3;
p->makeDaughters(getNDaug(),getDaugs());
pi1=p->getDaug(0);
pi2=p->getDaug(1);
pi3=p->getDaug(2);
EvtVector4R p4[3];
double alpha = getArg(0);
int iset(0);
EvtVector4R p4pi1,p4Gamma11,p4Gamma12;
EvtVector4R p4Gamma21,p4Gamma22;
double realA,imgA,realbarA,imgbarA;
generator.Evt3piP00(alpha, iset, p4[0], p4Gamma11, p4Gamma12,
p4Gamma21, p4Gamma22, realA, imgA, realbarA,
imgbarA);
p4[1] = p4Gamma11+p4Gamma12;
p4[2] = p4Gamma21+p4Gamma22;
pi1->init( getDaug(0), p4[0] );
pi2->init( getDaug(1), p4[1] );
pi3->init( getDaug(2), p4[2] );
EvtComplex A(realA,imgA);
EvtComplex Abar(realbarA, imgbarA);
-
+
EvtComplex amp;
if(p->getId()==BP)
{
amp = A;
}
if(p->getId()==BM)
{
amp = Abar;
}
vertex(amp);
return ;
}
diff --git a/src/EvtGenModels/EvtD0gammaDalitz.cpp b/src/EvtGenModels/EvtD0gammaDalitz.cpp
index 40f51b4..5a9d2db 100644
--- a/src/EvtGenModels/EvtD0gammaDalitz.cpp
+++ b/src/EvtGenModels/EvtD0gammaDalitz.cpp
@@ -1,322 +1,311 @@
//--------------------------------------------------------------------------
//
// Module: EvtD0gammaDalitz.cc
//
// Modification history:
//
// JGT February 13, 2012 Module created
//
//------------------------------------------------------------------------
#include <cstdlib>
#include <string>
#include <cmath>
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtResonance.hh"
#include "EvtGenBase/EvtResonance2.hh"
#include "EvtGenModels/EvtD0gammaDalitz.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtFlatte.hh"
#include "EvtGenBase/EvtDecayTable.hh"
// Initialize the static variables.
const EvtSpinType::spintype& EvtD0gammaDalitz::_SCALAR = EvtSpinType::SCALAR;
const EvtSpinType::spintype& EvtD0gammaDalitz::_VECTOR = EvtSpinType::VECTOR;
const EvtSpinType::spintype& EvtD0gammaDalitz::_TENSOR = EvtSpinType::TENSOR;
const EvtDalitzReso::CouplingType& EvtD0gammaDalitz::_EtaPic = EvtDalitzReso::EtaPic;
const EvtDalitzReso::CouplingType& EvtD0gammaDalitz::_PicPicKK = EvtDalitzReso::PicPicKK;
const EvtDalitzReso::NumType& EvtD0gammaDalitz::_RBW = EvtDalitzReso::RBW_CLEO_ZEMACH;
const EvtDalitzReso::NumType& EvtD0gammaDalitz::_GS = EvtDalitzReso::GS_CLEO_ZEMACH;
const EvtDalitzReso::NumType& EvtD0gammaDalitz::_KMAT = EvtDalitzReso::K_MATRIX;
const EvtCyclic3::Pair& EvtD0gammaDalitz::_AB = EvtCyclic3::AB;
const EvtCyclic3::Pair& EvtD0gammaDalitz::_AC = EvtCyclic3::AC;
const EvtCyclic3::Pair& EvtD0gammaDalitz::_BC = EvtCyclic3::BC;
-EvtD0gammaDalitz::EvtD0gammaDalitz()
-{
- /* Empty constructor. */
-}
-
-
-EvtD0gammaDalitz::~EvtD0gammaDalitz()
-{
- /* Empty destructor. */
-}
-
std::string EvtD0gammaDalitz::getName()
{
return "D0GAMMADALITZ";
}
EvtDecayBase* EvtD0gammaDalitz::clone()
{
return new EvtD0gammaDalitz;
}
void EvtD0gammaDalitz::init()
{
// check that there are 0 arguments
checkNArg(0);
// Check that this model is valid for the specified decay.
checkNDaug( 3 );
checkSpinParent ( _SCALAR );
checkSpinDaughter( 0, _SCALAR );
checkSpinDaughter( 1, _SCALAR );
checkSpinDaughter( 2, _SCALAR );
// Get the values of the EvtId objects from the data files.
readPDGValues();
// Get the EvtId of the D0 and its 3 daughters.
getParentId();
EvtId dau[ 3 ];
for ( int index = 0; index < 3; index++ )
{
dau[ index ] = getDaug( index );
}
// Look for K0bar h+ h-. The order will be K[0SL] h+ h-
for ( int index = 0; index < 3; index++ )
{
if ( ( dau[ index ] == _K0B ) || ( dau[ index ] == _KS ) || ( dau[ index ] == _KL ) )
{
_d1 = index;
}
else if ( ( dau[ index ] == _PIP ) || ( dau[ index ] == _KP ) )
{
_d2 = index;
}
else if ( ( dau[ index ] == _PIM ) || ( dau[ index ] == _KM ) )
{
_d3 = index;
}
else
{
reportInvalidAndExit();
}
}
// Check if we're dealing with Ks pi pi or with Ks K K.
_isKsPiPi = false;
if ( dau[ _d2 ] == _PIP || dau[ _d2 ] == _PIM )
{
_isKsPiPi = true;
}
}
void EvtD0gammaDalitz::initProbMax()
{
setProbMax( 5200. );
}
void EvtD0gammaDalitz::decay( EvtParticle* part )
{
// Check if the D is from a B+- -> D0 K+- decay with the appropriate model.
EvtParticle* parent = part->getParent(); // If there are no mistakes, should be B+ or B-.
if (parent != 0 && EvtDecayTable::getInstance()->getDecayFunc( parent )->getName() == "BTODDALITZCPK" )
{
EvtId parId = parent->getId();
if ( ( parId == _BP ) || ( parId == _BM ) ||
( parId == _B0 ) || ( parId == _B0B) )
{
_bFlavor = parId;
}
else
{
reportInvalidAndExit();
}
}
else
{
reportInvalidAndExit();
}
// Read the D decay parameters from the B decay model.
// Gamma angle in rad.
double gamma = EvtDecayTable::getInstance()->getDecayFunc( parent )->getArg( 0 );
// Strong phase in rad.
double delta = EvtDecayTable::getInstance()->getDecayFunc( parent )->getArg( 1 );
// Ratio between B->D0K and B->D0barK
double rB = EvtDecayTable::getInstance()->getDecayFunc( parent )->getArg( 2 );
// Same structure for all of these decays.
part->initializePhaseSpace( getNDaug(), getDaugs() );
EvtVector4R pA = part->getDaug( _d1 )->getP4();
EvtVector4R pB = part->getDaug( _d2 )->getP4();
EvtVector4R pC = part->getDaug( _d3 )->getP4();
// Squared invariant masses.
double mSqAB = ( pA + pB ).mass2();
double mSqAC = ( pA + pC ).mass2();
double mSqBC = ( pB + pC ).mass2();
EvtComplex amp( 1.0, 0.0 );
// Direct and conjugated amplitudes.
EvtComplex ampDir;
EvtComplex ampCnj;
if ( _isKsPiPi )
{
// Direct and conjugated Dalitz points.
EvtDalitzPoint pointDir( _mKs, _mPi, _mPi, mSqAB, mSqBC, mSqAC );
EvtDalitzPoint pointCnj( _mKs, _mPi, _mPi, mSqAC, mSqBC, mSqAB );
// Direct and conjugated amplitudes.
ampDir = dalitzKsPiPi( pointDir );
ampCnj = dalitzKsPiPi( pointCnj );
}
else
{
// Direct and conjugated Dalitz points.
EvtDalitzPoint pointDir( _mKs, _mK, _mK, mSqAB, mSqBC, mSqAC );
EvtDalitzPoint pointCnj( _mKs, _mK, _mK, mSqAC, mSqBC, mSqAB );
// Direct and conjugated amplitudes.
ampDir = dalitzKsKK( pointDir );
ampCnj = dalitzKsKK( pointCnj );
}
if ( _bFlavor == _BP || _bFlavor == _B0 )
{
amp = ampCnj + rB * exp( EvtComplex( 0., delta + gamma ) ) * ampDir;
}
else
{
amp = ampDir + rB * exp( EvtComplex( 0., delta - gamma ) ) * ampCnj;
}
vertex( amp );
return;
}
EvtComplex EvtD0gammaDalitz::dalitzKsPiPi( const EvtDalitzPoint& point ) const
{
static const EvtDalitzPlot plot( _mKs, _mPi, _mPi, _mD0 );
EvtComplex amp = 0.;
// This corresponds to relativistic Breit-Wigner distributions. Not K-matrix.
// Defining resonances.
static EvtDalitzReso KStarm ( plot, _BC, _AC, _VECTOR, 0.893606, 0.0463407, _RBW );
static EvtDalitzReso KStarp ( plot, _BC, _AB, _VECTOR, 0.893606, 0.0463407, _RBW );
static EvtDalitzReso rho0 ( plot, _AC, _BC, _VECTOR, 0.7758 , 0.1464 , _GS );
static EvtDalitzReso omega ( plot, _AC, _BC, _VECTOR, 0.78259 , 0.00849 , _RBW );
static EvtDalitzReso f0_980 ( plot, _AC, _BC, _SCALAR, 0.975 , 0.044 , _RBW );
static EvtDalitzReso f0_1370 ( plot, _AC, _BC, _SCALAR, 1.434 , 0.173 , _RBW );
static EvtDalitzReso f2_1270 ( plot, _AC, _BC, _TENSOR, 1.2754 , 0.1851 , _RBW );
static EvtDalitzReso K0Starm_1430( plot, _BC, _AC, _SCALAR, 1.459 , 0.175 , _RBW );
static EvtDalitzReso K0Starp_1430( plot, _BC, _AB, _SCALAR, 1.459 , 0.175 , _RBW );
static EvtDalitzReso K2Starm_1430( plot, _BC, _AC, _TENSOR, 1.4256 , 0.0985 , _RBW );
static EvtDalitzReso K2Starp_1430( plot, _BC, _AB, _TENSOR, 1.4256 , 0.0985 , _RBW );
static EvtDalitzReso sigma ( plot, _AC, _BC, _SCALAR, 0.527699, 0.511861 , _RBW );
static EvtDalitzReso sigma2 ( plot, _AC, _BC, _SCALAR, 1.03327 , 0.0987890, _RBW );
static EvtDalitzReso KStarm_1680 ( plot, _BC, _AC, _VECTOR, 1.677 , 0.205 , _RBW );
// Adding terms to the amplitude with their corresponding amplitude and phase terms.
amp += EvtComplex( .848984 , .893618 );
amp += EvtComplex( -1.16356 , 1.19933 ) * KStarm .evaluate( point );
amp += EvtComplex( .106051 , - .118513 ) * KStarp .evaluate( point );
amp += EvtComplex( 1.0 , 0.0 ) * rho0 .evaluate( point );
amp += EvtComplex( - .0249569, .0388072 ) * omega .evaluate( point );
amp += EvtComplex( - .423586 , - .236099 ) * f0_980 .evaluate( point );
amp += EvtComplex( -2.16486 , 3.62385 ) * f0_1370 .evaluate( point );
amp += EvtComplex( .217748 , - .133327 ) * f2_1270 .evaluate( point );
amp += EvtComplex( 1.62128 , 1.06816 ) * K0Starm_1430.evaluate( point );
amp += EvtComplex( .148802 , .0897144 ) * K0Starp_1430.evaluate( point );
amp += EvtComplex( 1.15489 , - .773363 ) * K2Starm_1430.evaluate( point );
amp += EvtComplex( .140865 , - .165378 ) * K2Starp_1430.evaluate( point );
amp += EvtComplex( -1.55556 , - .931685 ) * sigma .evaluate( point );
amp += EvtComplex( - .273791 , - .0535596 ) * sigma2 .evaluate( point );
amp += EvtComplex( -1.69720 , .128038 ) * KStarm_1680 .evaluate( point );
return amp;
}
EvtComplex EvtD0gammaDalitz::dalitzKsKK( const EvtDalitzPoint& point ) const
{
static const EvtDalitzPlot plot( _mKs, _mK, _mK, _mD0 );
// Defining resonances.
static EvtDalitzReso a00_980 ( plot, _AC, _BC, _SCALAR, 0.999 , _RBW, .550173, .324, _EtaPic );
static EvtDalitzReso phi ( plot, _AC, _BC, _VECTOR, 1.01943, .00459319 , _RBW );
static EvtDalitzReso a0p_980 ( plot, _AC, _AB, _SCALAR, 0.999 , _RBW, .550173, .324, _EtaPic );
static EvtDalitzReso f0_1370 ( plot, _AC, _BC, _SCALAR, 1.350 , .265 , _RBW );
static EvtDalitzReso a0m_980 ( plot, _AB, _AC, _SCALAR, 0.999 , _RBW, .550173, .324, _EtaPic );
static EvtDalitzReso f0_980 ( plot, _AC, _BC, _SCALAR, 0.965 , _RBW, .695 , .165, _PicPicKK );
static EvtDalitzReso f2_1270 ( plot, _AC, _BC, _TENSOR, 1.2754 , .1851 , _RBW );
static EvtDalitzReso a00_1450( plot, _AC, _BC, _SCALAR, 1.474 , .265 , _RBW );
static EvtDalitzReso a0p_1450( plot, _AC, _AB, _SCALAR, 1.474 , .265 , _RBW );
static EvtDalitzReso a0m_1450( plot, _AB, _AC, _SCALAR, 1.474 , .265 , _RBW );
// Adding terms to the amplitude with their corresponding amplitude and phase terms.
EvtComplex amp( 0., 0. ); // Phase space amplitude.
amp += EvtComplex( 1.0 , 0.0 ) * a00_980 .evaluate( point );
amp += EvtComplex( -.126314 , .188701 ) * phi .evaluate( point );
amp += EvtComplex( -.561428 , .0135338 ) * a0p_980 .evaluate( point );
amp += EvtComplex( .035 , -.00110488 ) * f0_1370 .evaluate( point );
amp += EvtComplex( -.0872735 , .0791190 ) * a0m_980 .evaluate( point );
amp += EvtComplex( 0. , 0. ) * f0_980 .evaluate( point );
amp += EvtComplex( .257341 , -.0408343 ) * f2_1270 .evaluate( point );
amp += EvtComplex( -.0614342 , -.649930 ) * a00_1450.evaluate( point );
amp += EvtComplex( -.104629 , .830120 ) * a0p_1450.evaluate( point );
amp += EvtComplex( 0. , 0. ) * a0m_1450.evaluate( point );
return 2.8 * amp; // Multiply by 2.8 in order to reuse the same probmax as Ks pi pi.
}
void EvtD0gammaDalitz::readPDGValues()
{
// Define the EvtIds.
_BP = EvtPDL::getId( "B+" );
_BM = EvtPDL::getId( "B-" );
_B0 = EvtPDL::getId( "B0" );
_B0B = EvtPDL::getId( "anti-B0" );
_D0 = EvtPDL::getId( "D0" );
_D0B = EvtPDL::getId( "anti-D0" );
_KM = EvtPDL::getId( "K-" );
_KP = EvtPDL::getId( "K+" );
_K0 = EvtPDL::getId( "K0" );
_K0B = EvtPDL::getId( "anti-K0" );
_KL = EvtPDL::getId( "K_L0" );
_KS = EvtPDL::getId( "K_S0" );
_PIM = EvtPDL::getId( "pi-" );
_PIP = EvtPDL::getId( "pi+" );
// Read the relevant masses.
_mD0 = EvtPDL::getMass( _D0 );
_mKs = EvtPDL::getMass( _KS );
_mPi = EvtPDL::getMass( _PIP );
_mK = EvtPDL::getMass( _KP );
}
void EvtD0gammaDalitz::reportInvalidAndExit() const
{
EvtGenReport(EVTGEN_ERROR, "EvtD0gammaDalitz" ) << "EvtD0gammaDalitz: Invalid mode." << std::endl;
exit( 1 );
}
diff --git a/src/EvtGenModels/EvtD0mixDalitz.cpp b/src/EvtGenModels/EvtD0mixDalitz.cpp
index 7767c77..8aeb795 100644
--- a/src/EvtGenModels/EvtD0mixDalitz.cpp
+++ b/src/EvtGenModels/EvtD0mixDalitz.cpp
@@ -1,341 +1,341 @@
/*********************************************************************************
* Project: BaBar detector at the SLAC PEP-II B-factory
* Package: EvtGenModels
* File: $Id: EvtD0mixDalitz.cpp,v 1.2 2009-10-19 15:47:44 robbep Exp $
*
* Description:
* The D0mixDalitz model, with many resonances and mixing implemented.
*
* Modification history:
* Jordi Garra Ticó 2008/07/03 File created
* Jordi Garra Ticó 2015/06/29 Bug solved for negative values of y
*********************************************************************************/
#include <cmath> // for std::fabs
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtResonance.hh"
#include "EvtGenBase/EvtDalitzPlot.hh"
#include "EvtGenBase/EvtDalitzReso.hh"
#include "EvtGenModels/EvtD0mixDalitz.hh"
// Initialize the static variables.
const EvtSpinType::spintype& EvtD0mixDalitz::_SCALAR = EvtSpinType::SCALAR;
const EvtSpinType::spintype& EvtD0mixDalitz::_VECTOR = EvtSpinType::VECTOR;
const EvtSpinType::spintype& EvtD0mixDalitz::_TENSOR = EvtSpinType::TENSOR;
const EvtDalitzReso::CouplingType& EvtD0mixDalitz::_EtaPic = EvtDalitzReso::EtaPic;
const EvtDalitzReso::CouplingType& EvtD0mixDalitz::_PicPicKK = EvtDalitzReso::PicPicKK;
const EvtDalitzReso::NumType& EvtD0mixDalitz::_RBW = EvtDalitzReso::RBW_CLEO_ZEMACH;
const EvtDalitzReso::NumType& EvtD0mixDalitz::_GS = EvtDalitzReso::GS_CLEO_ZEMACH;
const EvtDalitzReso::NumType& EvtD0mixDalitz::_KMAT = EvtDalitzReso::K_MATRIX;
const EvtCyclic3::Pair& EvtD0mixDalitz::_AB = EvtCyclic3::AB;
const EvtCyclic3::Pair& EvtD0mixDalitz::_AC = EvtCyclic3::AC;
const EvtCyclic3::Pair& EvtD0mixDalitz::_BC = EvtCyclic3::BC;
void EvtD0mixDalitz::init()
{
// check that there are 0 arguments
checkNDaug( 3 );
if ( getNArg() ) {
if ( getNArg() == 2 ) {
_x = getArg( 0 );
_y = getArg( 1 );
} else if ( getNArg() == 4 ) {
_x = getArg( 0 );
_y = getArg( 1 );
_qp = EvtComplex( getArg( 2 ), getArg( 3 ) );
} else if ( getNArg() == 5 ) {
_x = getArg( 0 );
_y = getArg( 1 );
_qp = EvtComplex( getArg( 2 ), getArg( 3 ) );
_isRBWmodel = ! getArg( 4 ); // RBW by default. If arg4 is set, do K-matrix.
} else {
EvtGenReport(EVTGEN_ERROR, "EvtD0mixDalitz" ) << "Number of arguments for this model must be 0, 2, 4 or 5:" << std::endl
- << "[ x y ][ qp.re qp.im ][ doK-matrix ]" << std::endl
- << "Check your dec file." << std::endl;
+ << "[ x y ][ qp.re qp.im ][ doK-matrix ]" << std::endl
+ << "Check your dec file." << std::endl;
exit( 1 );
}
}
checkSpinParent ( _SCALAR );
checkSpinDaughter( 0, _SCALAR );
checkSpinDaughter( 1, _SCALAR );
checkSpinDaughter( 2, _SCALAR );
readPDGValues();
// Get the EvtId of the D0 and its (3) daughters.
EvtId parId = getParentId();
EvtId dau[ 3 ];
for ( int index = 0; index < 3; index++ )
dau[ index ] = getDaug( index );
if ( parId == _D0 ) // Look for K0bar h+ h-. The order must be K[0SL] h+ h-
for ( int index = 0; index < 3; index++ )
if ( ( dau[ index ] == _K0B ) || ( dau[ index ] == _KS ) || ( dau[ index ] == _KL ) )
_d1 = index;
else if ( ( dau[ index ] == _PIP ) || ( dau[ index ] == _KP ) )
_d2 = index;
else if ( ( dau[ index ] == _PIM ) || ( dau[ index ] == _KM ) )
_d3 = index;
else
reportInvalidAndExit();
else if ( parId == _D0B ) // Look for K0 h+ h-. The order must be K[0SL] h- h+
for ( int index = 0; index < 3; index++ )
if ( ( dau[ index ] == _K0 ) || ( dau[ index ] == _KS ) || ( dau[ index ] == _KL ) )
_d1 = index;
else if ( ( dau[ index ] == _PIM ) || ( dau[ index ] == _KM ) )
_d2 = index;
else if ( ( dau[ index ] == _PIP ) || ( dau[ index ] == _KP ) )
_d3 = index;
else
reportInvalidAndExit();
else
reportInvalidAndExit();
// If the D meson is a D0bar, the expressions should use p/q instead of q/p.
if ( parId == _D0B )
_qp = 1.0 / _qp;
// At this point, if parId is D0bar, the amplitude is the D0bar amplitude, the conjugated amplitude
// is the amplitude of the D0 decay, and _qp means p/q, so it is like changing the meaning of
// A <-> Abar, and p <-> q. It is just a trick so after this point the code for D0bar can be the
// same as the code for D0.
// Check if we're dealing with Ks pi pi or with Ks K K.
_isKsPiPi = false;
if ( dau[ _d2 ] == _PIP || dau[ _d2 ] == _PIM )
_isKsPiPi = true;
}
void EvtD0mixDalitz::decay( EvtParticle* part )
{
// Same structure for all of these decays.
part->initializePhaseSpace( getNDaug(), getDaugs() );
EvtVector4R pA = part->getDaug( _d1 )->getP4();
EvtVector4R pB = part->getDaug( _d2 )->getP4();
EvtVector4R pC = part->getDaug( _d3 )->getP4();
// Squared invariant masses.
double m2AB = ( pA + pB ).mass2();
double m2AC = ( pA + pC ).mass2();
double m2BC = ( pB + pC ).mass2();
// Dalitz amplitudes of the decay of the particle and that of the antiparticle.
EvtComplex ampDalitz;
EvtComplex ampAntiDalitz;
if ( _isKsPiPi )
{ // For Ks pi pi
EvtDalitzPoint point ( _mKs, _mPi, _mPi, m2AB, m2BC, m2AC );
EvtDalitzPoint antiPoint( _mKs, _mPi, _mPi, m2AC, m2BC, m2AB );
ampDalitz = dalitzKsPiPi( point );
ampAntiDalitz = dalitzKsPiPi( antiPoint );
}
else
{ // For Ks K K
EvtDalitzPoint point ( _mKs, _mK, _mK, m2AB, m2BC, m2AC );
EvtDalitzPoint antiPoint( _mKs, _mK, _mK, m2AC, m2BC, m2AB );
ampDalitz = dalitzKsKK( point );
ampAntiDalitz = dalitzKsKK( antiPoint );
}
// Assume there's no direct CP violation.
EvtComplex barAOverA = ampAntiDalitz / ampDalitz;
// CP violation in the interference. _qp implements CP violation in the mixing.
EvtComplex chi = _qp * barAOverA;
// Generate a negative exponential life time. p( gt ) = ( 1 - y ) * e^{ - ( 1 - y ) gt }
double gt = -log( EvtRandom::Flat() ) / ( 1.0 - std::fabs( _y ) );
part->setLifetime( gt / _gamma );
// Compute time dependent amplitude.
EvtComplex amp = 0.5 * ampDalitz * exp( - std::fabs( _y ) * gt / 2.0 ) * ( ( 1.0 + chi ) * h1( gt ) + ( 1.0 - chi ) * h2( gt ) );
vertex( amp );
return;
}
void EvtD0mixDalitz::readPDGValues()
{
// Define the EvtIds.
_D0 = EvtPDL::getId( "D0" );
_D0B = EvtPDL::getId( "anti-D0" );
_KM = EvtPDL::getId( "K-" );
_KP = EvtPDL::getId( "K+" );
_K0 = EvtPDL::getId( "K0" );
_K0B = EvtPDL::getId( "anti-K0" );
_KL = EvtPDL::getId( "K_L0" );
_KS = EvtPDL::getId( "K_S0" );
_PIM = EvtPDL::getId( "pi-" );
_PIP = EvtPDL::getId( "pi+" );
// Read the relevant masses.
_mD0 = EvtPDL::getMass( _D0 );
_mKs = EvtPDL::getMass( _KS );
_mPi = EvtPDL::getMass( _PIP );
_mK = EvtPDL::getMass( _KP );
// Compute the decay rate from the parameter in the evt.pdl file.
_ctau = EvtPDL::getctau( EvtPDL::getId( "D0" ) );
_gamma = 1.0 / _ctau; // ALERT: Gamma is not 1 / tau.
}
EvtComplex EvtD0mixDalitz::dalitzKsPiPi( const EvtDalitzPoint& point )
{
static const EvtDalitzPlot plot( _mKs, _mPi, _mPi, _mD0 );
EvtComplex amp = 0.;
if ( _isRBWmodel )
{
// This corresponds to relativistic Breit-Wigner distributions. Not K-matrix.
// Defining resonances.
static EvtDalitzReso KStarm ( plot, _BC, _AC, _VECTOR, 0.893606, 0.0463407, _RBW );
static EvtDalitzReso KStarp ( plot, _BC, _AB, _VECTOR, 0.893606, 0.0463407, _RBW );
static EvtDalitzReso rho0 ( plot, _AC, _BC, _VECTOR, 0.7758 , 0.1464 , _GS );
static EvtDalitzReso omega ( plot, _AC, _BC, _VECTOR, 0.78259 , 0.00849 , _RBW );
static EvtDalitzReso f0_980 ( plot, _AC, _BC, _SCALAR, 0.975 , 0.044 , _RBW );
static EvtDalitzReso f0_1370 ( plot, _AC, _BC, _SCALAR, 1.434 , 0.173 , _RBW );
static EvtDalitzReso f2_1270 ( plot, _AC, _BC, _TENSOR, 1.2754 , 0.1851 , _RBW );
static EvtDalitzReso K0Starm_1430( plot, _BC, _AC, _SCALAR, 1.459 , 0.175 , _RBW );
static EvtDalitzReso K0Starp_1430( plot, _BC, _AB, _SCALAR, 1.459 , 0.175 , _RBW );
static EvtDalitzReso K2Starm_1430( plot, _BC, _AC, _TENSOR, 1.4256 , 0.0985 , _RBW );
static EvtDalitzReso K2Starp_1430( plot, _BC, _AB, _TENSOR, 1.4256 , 0.0985 , _RBW );
static EvtDalitzReso sigma ( plot, _AC, _BC, _SCALAR, 0.527699, 0.511861 , _RBW );
static EvtDalitzReso sigma2 ( plot, _AC, _BC, _SCALAR, 1.03327 , 0.0987890, _RBW );
static EvtDalitzReso KStarm_1680 ( plot, _BC, _AC, _VECTOR, 1.677 , 0.205 , _RBW );
// Adding terms to the amplitude with their corresponding amplitude and phase terms.
amp += EvtComplex( 0.848984 , 0.893618 );
amp += EvtComplex( -1.16356 , 1.19933 ) * KStarm .evaluate( point );
amp += EvtComplex( 0.106051 , -0.118513 ) * KStarp .evaluate( point );
amp += EvtComplex( 1.0 , 0.0 ) * rho0 .evaluate( point );
amp += EvtComplex( -0.0249569, 0.0388072 ) * omega .evaluate( point );
amp += EvtComplex( -0.423586 , -0.236099 ) * f0_980 .evaluate( point );
amp += EvtComplex( -2.16486 , 3.62385 ) * f0_1370 .evaluate( point );
amp += EvtComplex( 0.217748 , -0.133327 ) * f2_1270 .evaluate( point );
amp += EvtComplex( 1.62128 , 1.06816 ) * K0Starm_1430.evaluate( point );
amp += EvtComplex( 0.148802 , 0.0897144 ) * K0Starp_1430.evaluate( point );
amp += EvtComplex( 1.15489 , -0.773363 ) * K2Starm_1430.evaluate( point );
amp += EvtComplex( 0.140865 , -0.165378 ) * K2Starp_1430.evaluate( point );
amp += EvtComplex( -1.55556 , -0.931685 ) * sigma .evaluate( point );
amp += EvtComplex( -0.273791 , -0.0535596 ) * sigma2 .evaluate( point );
amp += EvtComplex( -1.69720 , 0.128038 ) * KStarm_1680 .evaluate( point );
}
else
{
// This corresponds to the complete model (RBW, GS, LASS and K-matrix).
// Defining resonances.
static EvtDalitzReso KStarm ( plot, _BC, _AC, _VECTOR, 0.893619, 0.0466508, _RBW );
static EvtDalitzReso KStarp ( plot, _BC, _AB, _VECTOR, 0.893619, 0.0466508, _RBW );
static EvtDalitzReso rho0 ( plot, _AC, _BC, _VECTOR, 0.7758 , 0.1464 , _GS );
static EvtDalitzReso omega ( plot, _AC, _BC, _VECTOR, 0.78259 , 0.00849 , _RBW );
static EvtDalitzReso f2_1270 ( plot, _AC, _BC, _TENSOR, 1.2754 , 0.1851 , _RBW );
static EvtDalitzReso K0Starm_1430( plot, _AC, 1.46312, 0.232393, 1.0746, -1.83214, .803516, 2.32788, 1.0, -5.31306 ); // LASS
static EvtDalitzReso K0Starp_1430( plot, _AB, 1.46312, 0.232393, 1.0746, -1.83214, .803516, 2.32788, 1.0, -5.31306 ); // LASS
static EvtDalitzReso K2Starm_1430( plot, _BC, _AC, _TENSOR, 1.4256 , 0.0985 , _RBW );
static EvtDalitzReso K2Starp_1430( plot, _BC, _AB, _TENSOR, 1.4256 , 0.0985 , _RBW );
static EvtDalitzReso KStarm_1680 ( plot, _BC, _AC, _VECTOR, 1.677 , 0.205 , _RBW );
// Defining K-matrix.
static EvtComplex fr12( 1.87981, -0.628378 );
static EvtComplex fr13( 4.3242 , 2.75019 );
static EvtComplex fr14( 3.22336, 0.271048 );
static EvtComplex fr15( 0.0 , 0.0 );
static EvtDalitzReso Pole1 ( plot, _BC, "Pole1" , _KMAT, fr12, fr13, fr14, fr15, -0.0694725 );
static EvtDalitzReso Pole2 ( plot, _BC, "Pole2" , _KMAT, fr12, fr13, fr14, fr15, -0.0694725 );
static EvtDalitzReso Pole3 ( plot, _BC, "Pole3" , _KMAT, fr12, fr13, fr14, fr15, -0.0694725 );
static EvtDalitzReso Pole4 ( plot, _BC, "Pole4" , _KMAT, fr12, fr13, fr14, fr15, -0.0694725 );
static EvtDalitzReso kmatrix( plot, _BC, "f11prod", _KMAT, fr12, fr13, fr14, fr15, -0.0694725 );
// Adding terms to the amplitude with their corresponding amplitude and phase terms.
amp += EvtComplex( - 1.31394 , 1.14072 ) * KStarm .evaluate( point );
amp += EvtComplex( 0.116239 , -0.107287 ) * KStarp .evaluate( point );
amp += EvtComplex( 1.0 , 0.0 ) * rho0 .evaluate( point );
amp += EvtComplex( - 0.0313343 , 0.0424013 ) * omega .evaluate( point );
amp += EvtComplex( 0.559412 , -0.232336 ) * f2_1270 .evaluate( point );
amp += EvtComplex( 7.35400 , -3.67637 ) * K0Starm_1430.evaluate( point );
amp += EvtComplex( 0.255913 , -0.190459 ) * K0Starp_1430.evaluate( point );
amp += EvtComplex( 1.05397 , -0.936297 ) * K2Starm_1430.evaluate( point );
amp += EvtComplex( - 0.00760136, -0.0908624 ) * K2Starp_1430.evaluate( point );
amp += EvtComplex( - 1.45336 , -0.164494 ) * KStarm_1680 .evaluate( point );
amp += EvtComplex( - 1.81830 , 9.10680 ) * Pole1 .evaluate( point );
amp += EvtComplex( 10.1751 , 3.87961 ) * Pole2 .evaluate( point );
amp += EvtComplex( 23.6569 , -4.94551 ) * Pole3 .evaluate( point );
amp += EvtComplex( 0.0725431 , -9.16264 ) * Pole4 .evaluate( point );
amp += EvtComplex( - 2.19449 , -7.62666 ) * kmatrix .evaluate( point );
amp *= 0.97; // Multiply by a constant in order to use the same maximum as RBW model.
}
return amp;
}
EvtComplex EvtD0mixDalitz::dalitzKsKK( const EvtDalitzPoint& point )
{
static const EvtDalitzPlot plot( _mKs, _mK, _mK, _mD0 );
// Defining resonances.
static EvtDalitzReso a00_980 ( plot, _AC, _BC, _SCALAR, 0.999 , _RBW, 0.550173, 0.324, _EtaPic );
static EvtDalitzReso phi ( plot, _AC, _BC, _VECTOR, 1.01943, 0.00459319 , _RBW );
static EvtDalitzReso a0p_980 ( plot, _AC, _AB, _SCALAR, 0.999 , _RBW, 0.550173, 0.324, _EtaPic );
static EvtDalitzReso f0_1370 ( plot, _AC, _BC, _SCALAR, 1.350 , 0.265 , _RBW );
static EvtDalitzReso a0m_980 ( plot, _AB, _AC, _SCALAR, 0.999 , _RBW, 0.550173, 0.324, _EtaPic );
static EvtDalitzReso f0_980 ( plot, _AC, _BC, _SCALAR, 0.965 , _RBW, 0.695 , 0.165, _PicPicKK );
static EvtDalitzReso f2_1270 ( plot, _AC, _BC, _TENSOR, 1.2754 , 0.1851 , _RBW );
static EvtDalitzReso a00_1450( plot, _AC, _BC, _SCALAR, 1.474 , 0.265 , _RBW );
static EvtDalitzReso a0p_1450( plot, _AC, _AB, _SCALAR, 1.474 , 0.265 , _RBW );
static EvtDalitzReso a0m_1450( plot, _AB, _AC, _SCALAR, 1.474 , 0.265 , _RBW );
// Adding terms to the amplitude with their corresponding amplitude and phase terms.
EvtComplex amp( 0., 0. ); // Phase space amplitude.
amp += EvtComplex( 1.0 , 0.0 ) * a00_980 .evaluate( point );
amp += EvtComplex( -0.126314 , 0.188701 ) * phi .evaluate( point );
amp += EvtComplex( -0.561428 , 0.0135338 ) * a0p_980 .evaluate( point );
amp += EvtComplex( 0.035 , -0.00110488 ) * f0_1370 .evaluate( point );
amp += EvtComplex( -0.0872735 , 0.0791190 ) * a0m_980 .evaluate( point );
amp += EvtComplex( 0.0 , 0.0 ) * f0_980 .evaluate( point );
amp += EvtComplex( 0.257341 , -0.0408343 ) * f2_1270 .evaluate( point );
amp += EvtComplex( -0.0614342 , -0.649930 ) * a00_1450.evaluate( point );
amp += EvtComplex( -0.104629 , 0.830120 ) * a0p_1450.evaluate( point );
amp += EvtComplex( 0.0 , 0.0 ) * a0m_1450.evaluate( point );
return 2.8 * amp; // Multiply by 2.8 in order to reuse the same probmax as Ks pi pi.
}
// < f | H | D^0 (t) > = 1/2 * [ ( 1 + \chi_f ) * A_f * e_1(gt) + ( 1 - \chi_f ) * A_f * e_2(gt) ]
// < f | H | D^0 (t) > = 1/2 * exp( -gamma t / 2 ) * [ ( 1 + \chi_f ) * A_f * h_1(t) + ( 1 - \chi_f ) * A_f * h_2(t) ]
// e{1,2}( gt ) = exp( -gt / 2 ) * h{1,2}( gt ).
EvtComplex EvtD0mixDalitz::h1( const double& gt ) const
{
return exp( - EvtComplex( _y, _x ) * gt / 2. );
}
EvtComplex EvtD0mixDalitz::h2( const double& gt ) const
{
return exp( EvtComplex( _y, _x ) * gt / 2. );
}
diff --git a/src/EvtGenModels/EvtDDalitz.cpp b/src/EvtGenModels/EvtDDalitz.cpp
index 607164b..e174fce 100644
--- a/src/EvtGenModels/EvtDDalitz.cpp
+++ b/src/EvtGenModels/EvtDDalitz.cpp
@@ -1,796 +1,794 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtDDalitz.cc
//
// Description: Routine to handle three-body decays of D0/D0_bar or D+/D-
//
// Modification history:
//
// NK September 3, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtResonance.hh"
#include "EvtGenBase/EvtResonance2.hh"
#include "EvtGenModels/EvtDDalitz.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtFlatte.hh"
#include "EvtGenBase/EvtDecayTable.hh"
#include <vector>
#include <utility>
#include <algorithm>
using std::endl;
-EvtDDalitz::~EvtDDalitz() {}
-
std::string EvtDDalitz::getName(){
-
- return "D_DALITZ";
+
+ return "D_DALITZ";
}
EvtDecayBase* EvtDDalitz::clone(){
return new EvtDDalitz;
}
bool isNeutralKaon(const EvtId& theId) {
// See if the particle id matches that for a neutral kaon
bool result(false);
static EvtId K0 = EvtPDL::getId("K0");
static EvtId KB = EvtPDL::getId("anti-K0");
static EvtId KL = EvtPDL::getId("K_L0");
static EvtId KS = EvtPDL::getId("K_S0");
- // Compare EvtId integers, which are unique for each particle type,
- // corresponding to the order particles appear in the "evt.pdl" table.
+ // Compare EvtId integers, which are unique for each particle type,
+ // corresponding to the order particles appear in the "evt.pdl" table.
// Aliased particles will have the same ids (but different "alias" values)
if (theId == KB || theId == K0 || theId == KL || theId == KS) {
result = true;
}
return result;
}
bool compareIds(const std::pair<EvtId, int> &left,
const std::pair<EvtId, int> &right) {
// Compare id numbers to achieve the ordering KB/K0/KS/KL, KM, PIM, PI0, PIP, KP, i.e.
// neutral kaon first, then normal PDG id ordering for the other particles.
- // The current 12 decay modes do not use two or more neutral kaons. If in the future
+ // The current 12 decay modes do not use two or more neutral kaons. If in the future
// such modes are added, the ordering will be KM, KB, PIM, PI0, KL, PIP, KS, K0, KP
bool result(false);
if (isNeutralKaon(left.first) == true && isNeutralKaon(right.first) == false) {
// Left is a neutral kaon, right is not
result = true;
} else if (isNeutralKaon(left.first) == false && isNeutralKaon(right.first) == true) {
// Right is a neutral kaon, left is not
result = false;
} else {
// Just compare PDG integers to achieve ascending order
int leftPDGid = EvtPDL::getStdHep(left.first);
int rightPDGid = EvtPDL::getStdHep(right.first);
if (leftPDGid < rightPDGid) {
result = true;
}
}
return result;
}
void EvtDDalitz::init(){
static EvtId DM=EvtPDL::getId("D-");
static EvtId DP=EvtPDL::getId("D+");
static EvtId D0=EvtPDL::getId("D0");
static EvtId D0B=EvtPDL::getId("anti-D0");
static EvtId DSP=EvtPDL::getId("D_s+");
static EvtId DSM=EvtPDL::getId("D_s-");
static EvtId KM=EvtPDL::getId("K-");
static EvtId KP=EvtPDL::getId("K+");
//static EvtId K0=EvtPDL::getId("K0");
//static EvtId KB=EvtPDL::getId("anti-K0");
//static EvtId KL=EvtPDL::getId("K_L0");
//static EvtId KS=EvtPDL::getId("K_S0");
static EvtId PIM=EvtPDL::getId("pi-");
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PI0=EvtPDL::getId("pi0");
static double MPI = EvtPDL::getMeanMass(PI0);
static double MKP = EvtPDL::getMeanMass(KP);
// check that there are 0 arguments and 3 daughters
checkNArg(0);
checkNDaug(3);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
EvtId parnum=getParentId();
/*
* To decide which decay we have, we take the list of daughters (or charge
* conjugate of daughters for D-, D0B or Ds-), sort these in the order
- * KB/K0/KS/KL, KM, PIM, PI0, PIP, KP, keeping track which daughter is which,
- * and at the end have a single if statement picking up the decay and assigning
- * the correct order for the daughters (same condition used for charm and anti-charm).
- * If we have two or more neutral kaons in the daughter list, then the compareIds()
+ * KB/K0/KS/KL, KM, PIM, PI0, PIP, KP, keeping track which daughter is which,
+ * and at the end have a single if statement picking up the decay and assigning
+ * the correct order for the daughters (same condition used for charm and anti-charm).
+ * If we have two or more neutral kaons in the daughter list, then the compareIds()
* ordering will simply follow ascending PDG ids: KM, KB, PIM, PI0, KL, PIP, KS, K0, KP
*/
std::vector<std::pair<EvtId, int> > daughters;
if ( parnum == D0 || parnum == DP || parnum == DSP )
{
for (int i=0; i<3; ++i) {
daughters.push_back(std::make_pair(getDaug(i), i));
}
}
else
{
for (int i=0; i<3; ++i) {
daughters.push_back(std::make_pair(EvtPDL::chargeConj(getDaug(i)), i));
}
}
// Sort daughters, they will end up in the order KB/K0/KS/KL, KM, PIM, PI0, PIP, KP
// for the current 12 decay modes
std::sort(daughters.begin(), daughters.end(), compareIds);
/*
std::cout << "DDALITZ sorting: ";
for (int i=0; i<3; ++i ) {
std::cout << EvtPDL::getStdHep(daughters[i].first) << " ";
}
std::cout << std::endl;
*/
_flag=0;
// D0 or anti-D0 modes. We only need to check the particle modes, since anti-particle
// modes have their ordered daughter ids charged-conjugated above
if ( parnum == D0 || parnum == D0B) {
// Look for D0 to K- pi+ pi0
if (daughters[0].first == KM && daughters[1].first == PI0 &&
daughters[2].first == PIP) {
_flag = 4;
_d1 = daughters[0].second;
_d2 = daughters[2].second;
_d3 = daughters[1].second;
}
// Look for D0 to KB pi- pi+
if (isNeutralKaon(daughters[0].first) == true &&
daughters[1].first == PIM && daughters[2].first == PIP) {
_flag = 3;
_d1 = daughters[0].second;
_d2 = daughters[1].second;
_d3 = daughters[2].second;
}
// Look for D0 to KB K+ K-
if (isNeutralKaon(daughters[0].first) == true &&
daughters[1].first == KM && daughters[2].first == KP) {
_flag = 5;
_d1 = daughters[0].second;
_d2 = daughters[2].second;
_d3 = daughters[1].second;
}
// Look for D0 to pi- pi+ pi0
if (daughters[0].first == PIM && daughters[1].first == PI0 &&
daughters[2].first == PIP) {
_flag = 12;
_d1 = daughters[0].second;
_d2 = daughters[2].second;
_d3 = daughters[1].second;
}
}
// D+ (or D-) modes
if ( parnum == DP || parnum == DM ) {
// Look for D+ to KB pi+ pi0
if (isNeutralKaon(daughters[0].first) == true &&
daughters[1].first == PI0 && daughters[2].first == PIP) {
_flag = 2;
_d1 = daughters[0].second;
_d2 = daughters[2].second;
_d3 = daughters[1].second;
}
// Look for D+ to K- pi+ pi+
if (daughters[0].first == KM && daughters[1].first == PIP &&
daughters[2].first == PIP) {
_flag = 1;
_d1 = daughters[0].second;
_d2 = daughters[1].second;
_d3 = daughters[2].second;
}
// Look for D+ to K- K+ pi+
if (daughters[0].first == KM && daughters[1].first == PIP &&
daughters[2].first == KP) {
_flag = 7;
_d1 = daughters[0].second;
_d2 = daughters[2].second;
_d3 = daughters[1].second;
}
// Look for D+ to pi- pi+ K+
if (daughters[0].first == PIM && daughters[1].first == PIP &&
daughters[2].first == KP) {
_flag = 8;
_d1 = daughters[0].second;
_d2 = daughters[1].second;
_d3 = daughters[2].second;
}
// Look for D+ to pi- pi+ pi+
if (daughters[0].first == PIM && daughters[1].first == PIP &&
daughters[2].first == PIP) {
_flag = 10;
_d1 = daughters[0].second;
_d2 = daughters[1].second;
_d3 = daughters[2].second;
}
}
// Ds+ (or Ds-) modes
if ( parnum == DSP || parnum == DSM) {
// Look for Ds+ to K- K+ pi+
if (daughters[0].first == KM && daughters[1].first == PIP &&
daughters[2].first == KP) {
_flag = 6;
_d1 = daughters[0].second;
_d2 = daughters[2].second;
_d3 = daughters[1].second;
}
// Look for Ds+ to pi- pi+ K+
if (daughters[0].first == PIM && daughters[1].first == PIP &&
daughters[2].first == KP) {
_flag = 9;
_d1 = daughters[0].second;
_d2 = daughters[1].second;
_d3 = daughters[2].second;
}
// Look for Ds+ to pi- pi+ pi+
if (daughters[0].first == PIM && daughters[1].first == PIP &&
daughters[2].first == PIP) {
_flag = 11;
_d1 = daughters[0].second;
_d2 = daughters[1].second;
_d3 = daughters[2].second;
}
}
if ( _flag==6) {
_kkpi_params.push_back(EvtFlatteParam(MPI, MPI, 0.406));
_kkpi_params.push_back(EvtFlatteParam(MKP, MKP, 0.800));
}
if ( _flag==0) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtDDaltiz: Invalid mode."<<endl;
assert(0);
}
/*
- EvtGenReport(EVTGEN_INFO,"EvtGen") << "DDALITZ ordering for " << parnum.getName()
- << " with mode = " << _flag << ": "
- << getDaug(_d1).getName() << " "
- << getDaug(_d2).getName() << " "
- << getDaug(_d3).getName() << std::endl;
+ EvtGenReport(EVTGEN_INFO,"EvtGen") << "DDALITZ ordering for " << parnum.getName()
+ << " with mode = " << _flag << ": "
+ << getDaug(_d1).getName() << " "
+ << getDaug(_d2).getName() << " "
+ << getDaug(_d3).getName() << std::endl;
*/
}
void EvtDDalitz::initProbMax() {
- // probmax different for different modes!
+ // probmax different for different modes!
if ( _flag==1 ) {setProbMax(2500.0);}
if ( _flag==2 ) {setProbMax(150.0);}
if ( _flag==3 ) {setProbMax(3000.0);}
if ( _flag==4 ) {setProbMax(600.0);}
if ( _flag==5 ) {setProbMax(2500000.0);}
if ( _flag==6 ) {setProbMax(45000.0);}
if ( _flag==7 ) {setProbMax(35000.0);}
if ( _flag==8 ) {setProbMax(2500.0);}
if ( _flag==9 ) {setProbMax(1700.0);}
if ( _flag==10 ) {setProbMax(1300.0);}
if ( _flag==11 ) {setProbMax(2200.0);}
if ( _flag==12 ) {setProbMax(1000.0);}
}
void EvtDDalitz::decay( EvtParticle *p){
- static EvtId BP = EvtPDL::getId("B+");
- static EvtId BM = EvtPDL::getId("B-");
- static EvtId B0 = EvtPDL::getId("B0");
- static EvtId B0B = EvtPDL::getId("anti-B0");
+ static EvtId BP = EvtPDL::getId("B+");
+ static EvtId BM = EvtPDL::getId("B-");
+ static EvtId B0 = EvtPDL::getId("B0");
+ static EvtId B0B = EvtPDL::getId("anti-B0");
static EvtId D0=EvtPDL::getId("D0");
double oneby2 = 0.707106782;
- bool isBToDK=false;
- if ( p -> getParent () ) {
- EvtId parId = p -> getParent()->getId ();
- if ( ( BP == parId ) || ( BM == parId ) || ( B0 == parId ) ||
+ bool isBToDK=false;
+ if ( p -> getParent () ) {
+ EvtId parId = p -> getParent()->getId ();
+ if ( ( BP == parId ) || ( BM == parId ) || ( B0 == parId ) ||
( B0B == parId ) )
- if (EvtDecayTable::getInstance()->getDecayFunc(p->getParent())->getName() == "BTODDALITZCPK") isBToDK=true;
- }
-
+ if (EvtDecayTable::getInstance()->getDecayFunc(p->getParent())->getName() == "BTODDALITZCPK") isBToDK=true;
+ }
+
//same structure for all of these decays
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4R moms1 = p->getDaug(_d1)->getP4();
EvtVector4R moms2 = p->getDaug(_d2)->getP4();
EvtVector4R moms3 = p->getDaug(_d3)->getP4();
EvtVector4R p4_p;
p4_p.set(p->mass(),0.0,0.0,0.0);
EvtComplex amp(1.0,0.0);
//now determine which D and which decay
//data from Anjos et al, Phys.Rev.D 1993, v.48,num.1,p.56 (E691 resuls)
//for D+ -> K- pi+ pi+, and from Adler et al, Phys.Lett. B196 (1987), 107
-//(Mark III results) for D+ -> K0bar pi+ pi0.
+//(Mark III results) for D+ -> K0bar pi+ pi0.
//CLEO results for D0->k-pi+pi0
if ( _flag==1) {
// D+ -> K- pi+ pi+ decay, or charge conjugate
-// //Anjos etal e691 - Phys Rev D48, 56 (1993)
+// //Anjos etal e691 - Phys Rev D48, 56 (1993)
// EvtResonance DplusRes11(p4_p,moms1,moms2,0.78,-60.0,0.0498,0.89610,1);
// EvtResonance DplusRes12(p4_p,moms3,moms1,0.78,-60.0,0.0498,0.89610,1);//K*(892)
-
+
// EvtResonance DplusRes21(p4_p,moms1,moms2,0.53,132.0,0.287,1.429,0);
// EvtResonance DplusRes22(p4_p,moms3,moms1,0.53,132.0,0.287,1.429,0);//K*(1430)
-
+
// EvtResonance DplusRes31(p4_p,moms1,moms2,0.47,-51.0,0.323,1.714,1);
// EvtResonance DplusRes32(p4_p,moms3,moms1,0.47,-51.0,0.323,1.714,1);//K*(1680)
-
+
// amp = amp + oneby2*(-DplusRes11.resAmpl()+DplusRes12.resAmpl()) + oneby2*(DplusRes21.resAmpl() + DplusRes22.resAmpl()) + oneby2*(-DplusRes31.resAmpl()+ DplusRes32.resAmpl());
-
+
// EvtResonance DplusRes11(p4_p,moms1,moms2,amp,phase,width,mass,L);
- //CLEO-c p15,arxiv:0802.4214v2
+ //CLEO-c p15,arxiv:0802.4214v2
EvtResonance2 DplusRes11(p4_p,moms1,moms2,1.0, 0.0, 0.0503, 0.896, 1, true);
EvtResonance2 DplusRes12(p4_p,moms3,moms1,1.0, 0.0, 0.0503, 0.896, 1, true);//K*(892)
EvtResonance2 DplusRes21(p4_p,moms1,moms2,3.0, 49.7-180.0, 0.164, 1.463, 0);
EvtResonance2 DplusRes22(p4_p,moms3,moms1,3.0, 49.7-180.0, 0.164, 1.463, 0);//K*(1430)
- EvtResonance2 DplusRes31(p4_p, moms1, moms2, 0.96, -29.9+180.0, 0.109, 1.4324, 2, true);
+ EvtResonance2 DplusRes31(p4_p, moms1, moms2, 0.96, -29.9+180.0, 0.109, 1.4324, 2, true);
EvtResonance2 DplusRes32(p4_p, moms3, moms1, 0.96, -29.9+180.0, 0.109, 1.4324, 2, true);// K*_2(1430)
EvtResonance2 DplusRes41(p4_p,moms1,moms2, 6.5, 29.0, 0.323, 1.717, 1, true);
EvtResonance2 DplusRes42(p4_p,moms3,moms1, 6.5, 29.0, 0.323, 1.717, 1, true);//K*(1680)
EvtResonance2 DplusRes51(p4_p,moms1,moms2, 5.01, -163.7+180.0, 0.470, 0.809, 0);
EvtResonance2 DplusRes52(p4_p,moms3,moms1, 5.01, -163.7+180.0, 0.470, 0.809, 0);//kappa(800)
- double pi180inv = 1.0/EvtConst::radToDegrees;
+ double pi180inv = 1.0/EvtConst::radToDegrees;
amp = EvtComplex(7.4*cos((-18.4+180.0)*pi180inv),7.4*sin((-18.4+180.0)*pi180inv))+ oneby2*(-DplusRes11.resAmpl()+DplusRes12.resAmpl()) + oneby2*(DplusRes21.resAmpl() + DplusRes22.resAmpl()) + oneby2*(DplusRes31.resAmpl()+ DplusRes32.resAmpl()) + oneby2*(-DplusRes41.resAmpl()+ DplusRes42.resAmpl()) + oneby2*(DplusRes51.resAmpl()+ DplusRes52.resAmpl());
//amp = amp+oneby2*(-DplusRes11.resAmpl()+DplusRes12.resAmpl());
-
+
}
-
+
if ( _flag==2) {
-//have a D+ -> K0bar pi+ pi0 decay
-//adler etal MarkIII - Phys Lett B196, 107 (1987)
+//have a D+ -> K0bar pi+ pi0 decay
+//adler etal MarkIII - Phys Lett B196, 107 (1987)
// Results in this paper:
// Kbar rho+ FitFraction = 68+/-8+/-12 Phase 0
// Kbar* pi+ 19+/-6+/-6 43+/-23
-// nonres 13+/-7+/-8 250+/-19
+// nonres 13+/-7+/-8 250+/-19
// These numbers below seem not to be exactly the same
// the phases are equiv to -106=254 and 41
-//
- EvtResonance DplusKpipi0Res1(p4_p,moms2,moms3,1.00,0.00,0.1512,0.7699,1); //rho+
+//
+ EvtResonance DplusKpipi0Res1(p4_p,moms2,moms3,1.00,0.00,0.1512,0.7699,1); //rho+
EvtResonance DplusKpipi0Res2(p4_p,moms3,moms1,0.8695,0.7191,0.0498,0.89159,1); //K*0
-
+
amp = 0.9522*EvtComplex(cos(-1.8565),sin(-1.8565)) + 1.00*DplusKpipi0Res1.relBrWig(0) + 0.8695*EvtComplex(cos(0.7191),sin(0.7191))*DplusKpipi0Res2.relBrWig(1);
-
+
}
if(_flag==3) {
- // D0 -> K0bar pi- pi+ & CC
- // If it does not come from a B->DK, decay it as D0 or D0bar separately
- // if p4_p is D0, moms1 is K0, moms2 is pi-, moms3 is pi+
- // if p4_p is D0bar, moms1 is K0, moms2 is pi+, moms3 is pi-
+ // D0 -> K0bar pi- pi+ & CC
+ // If it does not come from a B->DK, decay it as D0 or D0bar separately
+ // if p4_p is D0, moms1 is K0, moms2 is pi-, moms3 is pi+
+ // if p4_p is D0bar, moms1 is K0, moms2 is pi+, moms3 is pi-
if ( isBToDK ) {
- // Gamma angle in rad.
+ // Gamma angle in rad.
double gamma = EvtDecayTable::getInstance()->getDecayFunc( p->getParent() )
-> getArg( 0 ) ;
- // Strong phase in rad.
+ // Strong phase in rad.
double delta = EvtDecayTable::getInstance()->getDecayFunc( p->getParent() )
-> getArg( 1 ) ;
- // Ratio between B->D0K and B->D0barK
+ // Ratio between B->D0K and B->D0barK
double A = EvtDecayTable::getInstance()->getDecayFunc( p->getParent() )
-> getArg( 2 ) ;
EvtComplex Factor( fabs( A ) * cos ( delta ) ,
fabs( A ) * sin ( delta ) ) ;
if ( ( p->getParent()->getId() == BP ) ||
( p->getParent()->getId() == B0 ) ) {
- // the ratio D/Dbar
+ // the ratio D/Dbar
Factor = Factor * EvtComplex( cos ( gamma ) , sin ( gamma ) ) ;
if ( p->getId() == D0 ) {
- // the flavor of the particle has no meaning. But we need
- // it to know which daughter is pi+ or pi-
- // M( B+ or B0 ) = f(Dbar) + factor * f(D)
- // f(Dbar) = amplDtoK0PiPi(pD, K0, pi+, pi-)
- // f(D) = amplDtoK0PiPi(pD, K0, pi-, pi+)
- // Then ...
+ // the flavor of the particle has no meaning. But we need
+ // it to know which daughter is pi+ or pi-
+ // M( B+ or B0 ) = f(Dbar) + factor * f(D)
+ // f(Dbar) = amplDtoK0PiPi(pD, K0, pi+, pi-)
+ // f(D) = amplDtoK0PiPi(pD, K0, pi-, pi+)
+ // Then ...
amp = amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) +
Factor * amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) ;
}
else {
amp = amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) +
Factor * amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) ;
}
}
else if ( ( p->getParent() -> getId() == BM ) ||
( p->getParent() -> getId() == B0B ) ) {
Factor = Factor * EvtComplex( cos ( gamma ) , - sin ( gamma ) ) ;
- // here M( B- or B0bar ) = f(D) + factor * f(Dbar) then ...
+ // here M( B- or B0bar ) = f(D) + factor * f(Dbar) then ...
if ( p->getId() == D0 ) {
amp = amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) +
Factor * amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) ;
}
else {
amp = amplDtoK0PiPi( p4_p , moms1 , moms3 , moms2 ) +
Factor * amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) ;
}
}
}
else {
amp = amplDtoK0PiPi( p4_p , moms1 , moms2 , moms3 ) ;
}
}
-
+
if(_flag==4) {
// D0 to K- pi+ pi0
EvtResonance2 DKpipi0Res1(p4_p,moms2,moms3,1.0 ,0.0 ,0.1507,0.770 ,1); //rho
EvtResonance2 DKpipi0Res2(p4_p,moms1,moms2,0.39, -0.2 ,0.0505,0.8961,1); //k*0
EvtResonance2 DKpipi0Res3(p4_p,moms1,moms3,0.44, 163.0 ,0.050 ,0.8915,1); //k*-
-
+
EvtResonance2 DKpipi0Res4(p4_p,moms1,moms3,0.77 ,55.5 ,0.294 ,1.412 ,0); //k01430-
EvtResonance2 DKpipi0Res5(p4_p,moms1,moms2,0.85 ,166.0 ,0.294 ,1.412 ,0); //k01430bar
EvtResonance2 DKpipi0Res6(p4_p,moms2,moms3,2.5 ,171.0 ,0.240 ,1.700 ,1); //rho1700
EvtResonance2 DKpipi0Res7(p4_p,moms1,moms3,2.5 ,103.0 ,0.322 ,1.717 ,1); //K*1680-
-
-
-
+
+
+
double pi180inv = 1.0/EvtConst::radToDegrees;
-
- amp = EvtComplex(1.75*cos(31.2*pi180inv),1.75*sin(31.2*pi180inv))
+
+ amp = EvtComplex(1.75*cos(31.2*pi180inv),1.75*sin(31.2*pi180inv))
+ DKpipi0Res1.resAmpl() + DKpipi0Res2.resAmpl() + DKpipi0Res3.resAmpl()
- + DKpipi0Res4.resAmpl() + DKpipi0Res5.resAmpl()
+ + DKpipi0Res4.resAmpl() + DKpipi0Res5.resAmpl()
+ DKpipi0Res6.resAmpl()
+ DKpipi0Res7.resAmpl();
-
+
}
-
+
if(_flag==5) {
- // D0 -> K0bar K+ K- & CC
- // If it does not come from a B->DK, decay it as D0 or D0bar separately
- // if p4_p is D0, moms1 is K0, moms2 is pi-, moms3 is pi+
- // if p4_p is D0bar, moms1 is K0, moms2 is pi+, moms3 is pi-
+ // D0 -> K0bar K+ K- & CC
+ // If it does not come from a B->DK, decay it as D0 or D0bar separately
+ // if p4_p is D0, moms1 is K0, moms2 is pi-, moms3 is pi+
+ // if p4_p is D0bar, moms1 is K0, moms2 is pi+, moms3 is pi-
if ( isBToDK ){
- // Gamma angle in rad.
+ // Gamma angle in rad.
double gamma = EvtDecayTable::getInstance()->getDecayFunc( p->getParent() )
-> getArg( 0 ) ;
- // Strong phase in rad.
+ // Strong phase in rad.
double delta = EvtDecayTable::getInstance()->getDecayFunc( p->getParent() )
-> getArg( 1 ) ;
- // Ratio between B->D0K and B->D0barK
+ // Ratio between B->D0K and B->D0barK
double A = EvtDecayTable::getInstance()->getDecayFunc( p->getParent() )
-> getArg( 2 ) ;
EvtComplex Factor( fabs( A ) * cos ( delta ) ,
fabs( A ) * sin ( delta ) ) ;
if ( ( p->getParent()->getId() == BP ) ||
( p->getParent()->getId() == B0 ) ) {
- // the ratio D/Dbar
+ // the ratio D/Dbar
Factor = Factor * EvtComplex( cos ( gamma ) , sin ( gamma ) ) ;
if ( p->getId() == D0 ) {
- // the flavor of the particle has no meaning. But we need
- // it to know which daughter is pi+ or pi-
- // M( B+ or B0 ) = f(Dbar) + factor * f(D)
- // f(Dbar) = amplDtoK0PiPi(pD, K0, K+, K-)
- // f(D) = amplDtoK0PiPi(pD, K0, K-, K+)
- // Then ...
+ // the flavor of the particle has no meaning. But we need
+ // it to know which daughter is pi+ or pi-
+ // M( B+ or B0 ) = f(Dbar) + factor * f(D)
+ // f(Dbar) = amplDtoK0PiPi(pD, K0, K+, K-)
+ // f(D) = amplDtoK0PiPi(pD, K0, K-, K+)
+ // Then ...
amp = amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) +
Factor * amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) ;
}
else {
amp = amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) +
Factor * amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) ;
}
}
else if ( ( p->getParent() -> getId() == BM ) ||
( p->getParent() -> getId() == B0B ) ) {
Factor = Factor * EvtComplex( cos ( gamma ) , - sin ( gamma ) ) ;
- // here M( B- or B0bar ) = f(D) + factor * f(Dbar) then ...
+ // here M( B- or B0bar ) = f(D) + factor * f(Dbar) then ...
if ( p->getId() == D0 ) {
amp = amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) +
Factor * amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) ;
}
else {
amp = amplDtoK0KK( p4_p , moms1 , moms3 , moms2 ) +
Factor * amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) ;
}
}
}
else {
amp = amplDtoK0KK( p4_p , moms1 , moms2 , moms3 ) ;
}
}
// Ds+ -> K- K+ pi+
//Babar, arxiv:1011.4190
if(_flag==6) {
EvtResonance2 DsKKpiRes1(p4_p, moms3, moms1, 1.0, 0.0, 0.0455, 0.8944, 1, true); // K*(892)
EvtResonance2 DsKKpiRes2(p4_p, moms3, moms1, 1.48, 138., 0.290, 1.414, 0); // K*_0(1430)
EvtFlatte DsKKpiRes3(p4_p, moms1, moms2, 5.07, 156., 0.965, _kkpi_params); // f_0(980)
EvtResonance2 DsKKpiRes4(p4_p, moms1, moms2, 1.15, -10., 0.00426, 1.019455, 1, true); // phi(1020)
EvtResonance2 DsKKpiRes5(p4_p, moms1, moms2, 1.28, 53., 0.265, 1.350, 0); // f_0(1370)
EvtResonance2 DsKKpiRes6(p4_p, moms1, moms2, 1.19, 87., 0.137, 1.724, 0); // f_0(1710)
amp = DsKKpiRes1.resAmpl() + DsKKpiRes2.resAmpl() + DsKKpiRes3.resAmpl()
+ DsKKpiRes4.resAmpl() + DsKKpiRes5.resAmpl() + DsKKpiRes6.resAmpl();
}
//D+ -> K- K+ pi+
//CLEO PRD 78, 072003 (2008) Fit A
if(_flag==7) {
EvtResonance2 DpKKpiRes1(p4_p, moms3, moms1, 1.0, 0.0, 0.0503, 0.8960, 1, true); // K*(892)
EvtResonance2 DpKKpiRes2(p4_p, moms3, moms1, 3.7, 73.0, 0.290, 1.414, 0); // K*_0(1430)
EvtResonance2 DpKKpiRes3(p4_p, moms1, moms2, 1.189, -179.0+180.0, 0.00426, 1.019455, 1, true); // phi(1020)
EvtResonance2 DpKKpiRes4(p4_p, moms1, moms2, 1.72, 123., 0.265, 1.474, 0); // a_0(1450)
EvtResonance2 DpKKpiRes5(p4_p, moms1, moms2, 1.9, -52.0+180.0, 0.15, 1.68, 1, true); // phi(1680)
- EvtResonance2 DpKKpiRes6(p4_p, moms3, moms1, 6.4, 150., 0.109, 1.4324, 2, true); // K*_2(1430)
- double pi180inv = 1.0/EvtConst::radToDegrees;
+ EvtResonance2 DpKKpiRes6(p4_p, moms3, moms1, 6.4, 150., 0.109, 1.4324, 2, true); // K*_2(1430)
+ double pi180inv = 1.0/EvtConst::radToDegrees;
amp = EvtComplex(5.1*cos((53.0)*pi180inv),5.1*sin((53.0)*pi180inv)) +
DpKKpiRes1.resAmpl() + DpKKpiRes2.resAmpl() + DpKKpiRes3.resAmpl()
+ DpKKpiRes4.resAmpl() + DpKKpiRes5.resAmpl() + DpKKpiRes6.resAmpl();
}
-
+
//D+ -> pi- pi+ K+ WS (DCS)
//FOCUS PLB 601 10 (2004) ; amplitudes there are individually normalized (although not explicit in the paper)
// thus the magnitudes appearing below come from dividing the ones appearing in the paper by the sqrt of the
// integral over the DP of the corresponding squared amplitude. Writing as pi- pi+ K+ so pipi resonances are (12)
// and Kpi resonances are (31); masses and widths corresponds to PDG 2010
if(_flag==8) {
EvtResonance2 DpKpipiDCSRes1(p4_p, moms1, moms2, 1.0, 0.0, 0.149, 0.775, 1, true); // rho(770)
EvtResonance2 DpKpipiDCSRes2(p4_p, moms3, moms1, 1.0971, -167.1, 0.0487, 0.896, 1, true); // K*(890)
EvtResonance2 DpKpipiDCSRes3(p4_p, moms1, moms2, 0.4738, -134.5, 0.059, 0.972, 0); // f0(980) as simple BW
EvtResonance2 DpKpipiDCSRes4(p4_p, moms3, moms1, 2.2688, 54.4, 0.109, 1.432, 2, true); // K*2(1430)
amp = DpKpipiDCSRes1.resAmpl() + DpKpipiDCSRes2.resAmpl() + DpKpipiDCSRes3.resAmpl()
+ DpKpipiDCSRes4.resAmpl();
}
//Ds+ -> pi- pi+ K+ WS (CS)
//FOCUS PLB 601 10 (2004) ; amplitudes there are individually normalized (although not explicit in the paper)
// thus the magnitudes appearing below come from dividing the ones appearing in the paper by the sqrt of the
// integral over the DP of the corresponding squared amplitude. Writing as pi- pi+ K+ so pipi resonances are (12)
// and Kpi resonances are (31); masses and widths corresponds to PDG 2010
// PROBLEM: by simply doing the procedure for D+, the resulting DP and projections do not resemble what is
// in the paper; the best model is by adding 180 to the vector Kpi resonances
if(_flag==9) {
EvtResonance2 DsKpipiCSRes1(p4_p, moms1, moms2, 1.0, 0.0, 0.149, 0.775, 1, true); // rho(770)
EvtResonance2 DsKpipiCSRes2(p4_p, moms3, moms1, 0.7236, -18.3, 0.0487, 0.896, 1, true); // K*(890)
EvtResonance2 DsKpipiCSRes3(p4_p, moms3, moms1, 2.711, 145.2, 0.232, 1.414, 1, true); // K*(1410)
EvtResonance2 DsKpipiCSRes4(p4_p, moms3, moms1, 1.7549, 59.3, 0.270, 1.425, 0); // K*0(1430)
EvtResonance2 DsKpipiCSRes5(p4_p, moms1, moms2, 7.0589, -151.7, 0.400, 1.465, 1, true); // rho(1450)
- double pi180inv = 1.0/EvtConst::radToDegrees;
+ double pi180inv = 1.0/EvtConst::radToDegrees;
amp = EvtComplex(3.98*cos(43.1*pi180inv),3.98*sin(43.1*pi180inv)) + DsKpipiCSRes1.resAmpl()
+ DsKpipiCSRes2.resAmpl() + DsKpipiCSRes3.resAmpl() + DsKpipiCSRes4.resAmpl()
+ DsKpipiCSRes5.resAmpl();
}
// D+ -> pi- pi+ pi+ from E791 [PRL 86 770 (2001)]
// masses and widths below correspond to what they used; there, the amplitudes were individually normalized
// (although not explicit) so magnitudes here are obtained after correcting for that
// Breit-Wigner has a factor of (-1) there which changes the relative phase of the NR wrt to the resonances
// thus the NR magnitude is set as negative
if(_flag==10) {
EvtResonance2 DppipipiRes11(p4_p, moms1, moms2, 1.0, 0.0, 0.150, 0.769, 1, true); // rho(770)
EvtResonance2 DppipipiRes12(p4_p, moms3, moms1, 1.0, 0.0, 0.150, 0.769, 1, true); // rho(770)
EvtResonance2 DppipipiRes21(p4_p, moms1, moms2, 2.2811, 205.7, 0.324, 0.478, 0); // sigma(500)
EvtResonance2 DppipipiRes22(p4_p, moms3, moms1, 2.2811, 205.7, 0.324, 0.478, 0); // sigma(500)
EvtResonance2 DppipipiRes31(p4_p, moms1, moms2, 0.4265, 165.0, 0.044, 0.977, 0); // f0(980) simple BW
EvtResonance2 DppipipiRes32(p4_p, moms3, moms1, 0.4265, 165.0, 0.044, 0.977, 0); // f0(980) simple BW
EvtResonance2 DppipipiRes41(p4_p, moms1, moms2, 2.0321, 57.3, 0.185, 1.275, 2, true); // f2(1270)
EvtResonance2 DppipipiRes42(p4_p, moms3, moms1, 2.0321, 57.3, 0.185, 1.275, 2, true); // f2(1270)
EvtResonance2 DppipipiRes51(p4_p, moms1, moms2, 0.7888, 105.4, 0.173, 1.434, 0); // f0(1370)
EvtResonance2 DppipipiRes52(p4_p, moms3, moms1, 0.7888, 105.4, 0.173, 1.434, 0); // f0(1370)
EvtResonance2 DppipipiRes61(p4_p, moms1, moms2, 0.7363, 319.1, 0.310, 1.465, 1, true); // rho(1450)
EvtResonance2 DppipipiRes62(p4_p, moms3, moms1, 0.7363, 319.1, 0.310, 1.465, 1, true); // rho(1450)
- double pi180inv = 1.0/EvtConst::radToDegrees;
+ double pi180inv = 1.0/EvtConst::radToDegrees;
amp = EvtComplex(-3.98*cos(57.3*pi180inv),-3.98*sin(57.3*pi180inv))
+ (DppipipiRes11.resAmpl() - DppipipiRes12.resAmpl()) //spin1
+ (DppipipiRes21.resAmpl() + DppipipiRes22.resAmpl()) + (DppipipiRes31.resAmpl() + DppipipiRes32.resAmpl())
+ (DppipipiRes41.resAmpl() + DppipipiRes42.resAmpl()) + (DppipipiRes51.resAmpl() + DppipipiRes52.resAmpl())
+ (DppipipiRes61.resAmpl() - DppipipiRes62.resAmpl()); //spin1
}
// Ds+ -> pi- pi+ pi+ from E791 [PRL 86 765 (2001)]
// masses and widths below correspond to what they used; there, the amplitudes were individually normalized
// (although not explicit) so magnitudes here are obtained after correcting for that
// Breit-Wigner has a factor of (-1) there which changes the relative phase of the NR wrt to the resonances
// thus the NR magnitude is set as negative
if(_flag==11) {
EvtResonance2 DspipipiRes11(p4_p, moms1, moms2, 0.288, 109., 0.150, 0.769, 1, true); // rho(770)
EvtResonance2 DspipipiRes12(p4_p, moms3, moms1, 0.288, 109., 0.150, 0.769, 1, true); // rho(770)
EvtResonance2 DspipipiRes21(p4_p, moms1, moms2, 1.0, 0.0, 0.044, 0.977, 0); // f0(980) simple BW
EvtResonance2 DspipipiRes22(p4_p, moms3, moms1, 1.0, 0.0, 0.044, 0.977, 0); // f0(980) simple BW
EvtResonance2 DspipipiRes31(p4_p, moms1, moms2, 1.075, 133., 0.185, 1.275, 2, true); // f2(1270)
EvtResonance2 DspipipiRes32(p4_p, moms3, moms1, 1.075, 133., 0.185, 1.275, 2, true); // f2(1270)
EvtResonance2 DspipipiRes41(p4_p, moms1, moms2, 2.225, 198., 0.173, 1.434, 0); // f0(1370)
EvtResonance2 DspipipiRes42(p4_p, moms3, moms1, 2.225, 198., 0.173, 1.434, 0); // f0(1370)
EvtResonance2 DspipipiRes51(p4_p, moms1, moms2, 1.107, 162., 0.310, 1.465, 1, true); // rho(1450)
EvtResonance2 DspipipiRes52(p4_p, moms3, moms1, 1.107, 162., 0.310, 1.465, 1, true); // rho(1450)
- double pi180inv = 1.0/EvtConst::radToDegrees;
+ double pi180inv = 1.0/EvtConst::radToDegrees;
amp = EvtComplex(-0.723*cos(181.*pi180inv),-0.723*sin(181.*pi180inv))
+ (DspipipiRes11.resAmpl() - DspipipiRes12.resAmpl()) //spin1
+ (DspipipiRes21.resAmpl() + DspipipiRes22.resAmpl()) + (DspipipiRes31.resAmpl() + DspipipiRes32.resAmpl())
+ (DspipipiRes41.resAmpl() + DspipipiRes42.resAmpl())
+ (DspipipiRes51.resAmpl() - DspipipiRes52.resAmpl()); //spin1
- }
-
+ }
+
//D0 -> pi- pi+ pi0
//PRL 99, 251801 (2007)
//arXiv:hep-ex/0703037
if(_flag==12) {
EvtResonance2 DpipipiRes1p(p4_p, moms2, moms3, 1.0, 0.0, 0.149, 0.775, 1, true);//rho+(770)
EvtResonance2 DpipipiRes1(p4_p, moms1, moms2, 0.588, 16.2, 0.149, 0.775, 1, true);//rho0(770)
EvtResonance2 DpipipiRes1m(p4_p, moms3, moms1, 0.714, -2.0, 0.149, 0.775, 1, true);//rho-(770)
EvtResonance2 DpipipiRes2p(p4_p, moms2, moms3, 0.21, -146.0, 0.400, 1.465, 1, true);//rho+(1450)
EvtResonance2 DpipipiRes2(p4_p, moms1, moms2, 0.33, 10.0, 0.400, 1.465, 1, true);//rho0(1450)
EvtResonance2 DpipipiRes2m(p4_p, moms3, moms1, 0.82, 16.0, 0.400, 1.465, 1, true);//rho-(1450)
EvtResonance2 DpipipiRes3p(p4_p, moms2, moms3, 2.25, -17.0, 0.250, 1.720, 1, true);//rho+(1700)
EvtResonance2 DpipipiRes3(p4_p, moms1, moms2, 2.51, -17.0, 0.250, 1.720, 1, true);//rho0(1700)
EvtResonance2 DpipipiRes3m(p4_p, moms3, moms1, 2.00, -50.0, 0.250, 1.720, 1, true);//rho-(1700)
EvtResonance2 DpipipiRes4(p4_p, moms1, moms2, 0.015, -59.0, 0.07, 0.980, 0);//f0(980)
EvtResonance2 DpipipiRes5(p4_p, moms1, moms2, 0.063, 156.0, 0.350, 1.370, 0);//f0(1370)
EvtResonance2 DpipipiRes6(p4_p, moms1, moms2, 0.058, 12.0, 0.109, 1.505, 0);//f0(1500)
EvtResonance2 DpipipiRes7(p4_p, moms1, moms2, 0.112, 51.0, 0.135, 1.720, 0);//f0(1720)
EvtResonance2 DpipipiRes8(p4_p, moms1, moms2, 1.04, -171.0, 0.185, 1.275, 2, true);//f2(1270)
EvtResonance2 DpipipiRes9(p4_p, moms1, moms2, 0.069, 8.0, 0.600, 0.400, 0);//sigma(400)
-
- double pi180inv = 1.0/EvtConst::radToDegrees;
+
+ double pi180inv = 1.0/EvtConst::radToDegrees;
amp = EvtComplex(0.57*cos(-11.0*pi180inv),0.57*sin(-11.0*pi180inv))
+ DpipipiRes1p.resAmpl() + DpipipiRes1.resAmpl() + DpipipiRes1m.resAmpl()
+ DpipipiRes2p.resAmpl() + DpipipiRes2.resAmpl() + DpipipiRes2m.resAmpl()
+ DpipipiRes3p.resAmpl() + DpipipiRes3.resAmpl() + DpipipiRes3m.resAmpl()
+ DpipipiRes4.resAmpl() + DpipipiRes5.resAmpl() + DpipipiRes6.resAmpl()
+ DpipipiRes7.resAmpl() + DpipipiRes8.resAmpl() + DpipipiRes9.resAmpl();
-
- }
-
+
+ }
+
vertex(amp);
return ;
}
-EvtComplex EvtDDalitz::amplDtoK0PiPi(EvtVector4R p4_p, EvtVector4R moms1,
+EvtComplex EvtDDalitz::amplDtoK0PiPi(EvtVector4R p4_p, EvtVector4R moms1,
EvtVector4R moms2, EvtVector4R moms3) {
//K*(892)-
EvtResonance2 DK2piRes1(p4_p,moms1,moms2,1.418,-190.0,0.0508,0.89166,1);
//K0*(1430)-
EvtResonance2 DK2piRes2(p4_p,moms1,moms2,1.818,-337.0,0.294 ,1.412 ,0);
//K2*(1430)-
EvtResonance2 DK2piRes3(p4_p,moms1,moms2,0.909, -5.0,0.0985,1.4256 ,2);
//K*(1680)-
EvtResonance2 DK2piRes4(p4_p,moms1,moms2,5.091,-166.0,0.322 ,1.717 ,1);
//DCS K*(892)+
EvtResonance2 DK2piRes5(p4_p,moms1,moms3,0.100, -19.0,0.0508,0.89166,1);
-
+
//Rho0
EvtResonance2 DK2piRes6(p4_p,moms3,moms2,0.909,-340.0,0.1502,0.7693,1);
//Omega
EvtResonance2 DK2piRes7(p4_p,moms3,moms2,.0336,-226.0,0.00844,0.78257,1);
//f0(980)
EvtResonance2 DK2piRes8(p4_p,moms3,moms2,0.309,-152.0,0.05,0.977,0);
//f0(1370)
EvtResonance2 DK2piRes9(p4_p,moms3,moms2,1.636,-255.0,0.272,1.31,0);
//f2(1270)
EvtResonance2 DK2piRes10(p4_p,moms3,moms2,0.636,-32.0,0.1851,1.2754,2);
-
- return EvtComplex(1.0,0.0) +
+
+ return EvtComplex(1.0,0.0) +
DK2piRes1.resAmpl() + DK2piRes2.resAmpl() +
- DK2piRes3.resAmpl() + DK2piRes4.resAmpl() +
- DK2piRes5.resAmpl() + DK2piRes6.resAmpl() +
- DK2piRes7.resAmpl() + DK2piRes8.resAmpl() +
+ DK2piRes3.resAmpl() + DK2piRes4.resAmpl() +
+ DK2piRes5.resAmpl() + DK2piRes6.resAmpl() +
+ DK2piRes7.resAmpl() + DK2piRes8.resAmpl() +
DK2piRes9.resAmpl() + DK2piRes10.resAmpl();
}
//
// BaBar decay amplitudes for D0->Ks K+ K-
//
// p4_p is D0
// moms1 is K0s
// moms2 is K+
// moms3 is K-
// Amplitudes and phases are taken from BaBar hep-ex/0207089
-// with convention : Non Resonant = Amp 1. / Phase 0.
+// with convention : Non Resonant = Amp 1. / Phase 0.
-EvtComplex EvtDDalitz::amplDtoK0KK(EvtVector4R p4_p, EvtVector4R moms1,
+EvtComplex EvtDDalitz::amplDtoK0KK(EvtVector4R p4_p, EvtVector4R moms1,
EvtVector4R moms2, EvtVector4R moms3) {
//phi
EvtResonance DK0KKRes1( p4_p, moms2, moms3, 113.75, -40.0, 0.0043,
1.019456, 1 ) ;
//a0(980)
EvtResonance DK0KKRes2( p4_p, moms2, moms3, 152.25, 69.0, 0.1196 , 0.9847,
0 ) ;
//f0(980)
- EvtResonance DK0KKRes3( p4_p, moms2, moms3, 30.5, -201.0, 0.05, 0.980 ,
+ EvtResonance DK0KKRes3( p4_p, moms2, moms3, 30.5, -201.0, 0.05, 0.980 ,
0 ) ;
//a0(980)+
EvtResonance DK0KKRes4( p4_p, moms1, moms2, 85.75, -93.0, 0.1196 , 0.9847,
0 ) ;
//a0(980)-
EvtResonance DK0KKRes5( p4_p, moms3, moms1, 8. , -53.0 ,0.1196, 0.9847,
0 ) ;
return EvtComplex(1.0,0.0) +
DK0KKRes1.resAmpl() + DK0KKRes2.resAmpl() +
- DK0KKRes3.resAmpl() + DK0KKRes4.resAmpl() +
+ DK0KKRes3.resAmpl() + DK0KKRes4.resAmpl() +
DK0KKRes5.resAmpl() ;
}
diff --git a/src/EvtGenModels/EvtDMix.cpp b/src/EvtGenModels/EvtDMix.cpp
index a88b00a..f10741f 100644
--- a/src/EvtGenModels/EvtDMix.cpp
+++ b/src/EvtGenModels/EvtDMix.cpp
@@ -1,99 +1,97 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtDMix.cc
//
// Description: Routine to decay a particle according th phase space
//
// Modification history:
//
// RYD January 8, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtDMix.hh"
#include "EvtGenBase/EvtRandom.hh"
#include <string>
-EvtDMix::~EvtDMix() {}
-
std::string EvtDMix::getName(){
- return "DMIX";
+ return "DMIX";
}
EvtDecayBase* EvtDMix::clone(){
return new EvtDMix;
}
void EvtDMix::init(){
// check that there are 0 arguments
checkNArg(3);
_rd=getArg(0);
_xpr=getArg(1);
_ypr=getArg(2);
}
void EvtDMix::initProbMax(){
noProbMax();
}
void EvtDMix::decay( EvtParticle *p ){
//unneeded - lange - may13-02
//if ( p->getNDaug() != 0 ) {
//Will end up here because maxrate multiplies by 1.2
// EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "In EvtDMix: has "
// <<" daugthers should not be here!"<<endl;
// return;
//}
p->initializePhaseSpace(getNDaug(),getDaugs());
double ctau=EvtPDL::getctau(p->getId());
if ( ctau==0. ) return;
double pdf, random, gt, weight;
double maxPdf=_rd + sqrt(_rd)*_ypr*50. + 2500.0*(_xpr*_xpr+_ypr*_ypr)/4.0;
bool keepGoing=true;
while ( keepGoing ) {
random=EvtRandom::Flat();
gt=-log(random);
weight=random;
pdf=_rd + sqrt(_rd)*_ypr*gt + gt*gt*(_xpr*_xpr+_ypr*_ypr)/4.0;
pdf*=exp(-1.0*gt);
pdf/=weight;
if ( pdf > maxPdf )
std::cout << pdf << " " << weight << " " << maxPdf << " " << gt << std::endl;
if ( pdf > maxPdf*EvtRandom::Flat()) keepGoing=false;
}
p->setLifetime(gt*ctau);
return ;
}
diff --git a/src/EvtGenModels/EvtEta2MuMuGamma.cpp b/src/EvtGenModels/EvtEta2MuMuGamma.cpp
index fadd69a..f6d7e83 100644
--- a/src/EvtGenModels/EvtEta2MuMuGamma.cpp
+++ b/src/EvtGenModels/EvtEta2MuMuGamma.cpp
@@ -1,117 +1,115 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtPi0Dalitz.cc
//
-// Description: pi0 -> e+ e- gamma
+// Description: pi0 -> e+ e- gamma
//
// Modification history:
//
// DJL/RYD June 30, 1998 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <fstream>
#include <stdio.h>
#include <string>
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtEta2MuMuGamma.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
using std::fstream;
-EvtEta2MuMuGamma::~EvtEta2MuMuGamma() {}
-
std::string EvtEta2MuMuGamma::getName(){
return "ETA2MUMUGAMMA";
}
EvtDecayBase* EvtEta2MuMuGamma::clone(){
return new EvtEta2MuMuGamma;
}
void EvtEta2MuMuGamma::initProbMax(){
setProbMax(3.5);
}
void EvtEta2MuMuGamma::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
-
+
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::PHOTON);
}
void EvtEta2MuMuGamma::decay( EvtParticle *p){
EvtParticle *ep, *em, *gamma;
setWeight(p->initializePhaseSpace(getNDaug(),getDaugs(),false,
0.00000002,0,1));
ep=p->getDaug(0);
em=p->getDaug(1);
gamma=p->getDaug(2);
// the next four lines generates events with a weight such that
// the efficiency for selecting them is good. The parameter below of
// 0.1 is the size of the peak at low q^2 (in arbitrary units).
- // The value of 0.1 is appropriate for muons.
+ // The value of 0.1 is appropriate for muons.
// when you use this remember to remove the cut on q^2!
-
+
//ep em invariant mass^2
double m2=(ep->getP4()+em->getP4()).mass2();
EvtVector4R q=ep->getP4()+em->getP4();
//Just use the prob summed over spins...
EvtTensor4C w,v;
- v=2.0*(gamma->getP4()*q)*EvtGenFunctions::directProd(q,gamma->getP4())
+ v=2.0*(gamma->getP4()*q)*EvtGenFunctions::directProd(q,gamma->getP4())
- (gamma->getP4()*q)*(gamma->getP4()*q)*EvtTensor4C::g()
-m2*EvtGenFunctions::directProd(gamma->getP4(),gamma->getP4());
-
- w=4.0*( EvtGenFunctions::directProd(ep->getP4(),em->getP4()) +
+
+ w=4.0*( EvtGenFunctions::directProd(ep->getP4(),em->getP4()) +
EvtGenFunctions::directProd(em->getP4(),ep->getP4())
-EvtTensor4C::g()*(ep->getP4()*em->getP4()-ep->getP4().mass2()));
double prob=(real(cont(v,w)))/(m2*m2);
prob *=(1.0/( (0.768*0.768-m2)*(0.768*0.768-m2)
+0.768*0.768*0.151*0.151));
// EvtGenReport(EVTGEN_INFO,"EvtGen") << "prob is "<<prob<<endl;
setProb(prob);
return;
}
diff --git a/src/EvtGenModels/EvtEtaDalitz.cpp b/src/EvtGenModels/EvtEtaDalitz.cpp
index dea58c2..9a0ff4e 100644
--- a/src/EvtGenModels/EvtEtaDalitz.cpp
+++ b/src/EvtGenModels/EvtEtaDalitz.cpp
@@ -1,89 +1,87 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtEtaDalitz.cc
//
// Description: Routine to decay eta -> pi+ pi- pi0
//
// Modification history:
//
// DJL/RYD July 23, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtEtaDalitz.hh"
#include "EvtGenBase/EvtReport.hh"
#include <string>
-EvtEtaDalitz::~EvtEtaDalitz() {}
-
std::string EvtEtaDalitz::getName(){
- return "ETA_DALITZ";
+ return "ETA_DALITZ";
}
EvtDecayBase* EvtEtaDalitz::clone(){
return new EvtEtaDalitz;
}
void EvtEtaDalitz::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
}
void EvtEtaDalitz::initProbMax(){
setProbMax(2.1);
}
void EvtEtaDalitz::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4R mompi0 = p->getDaug(2)->getP4();
double masspip = p->getDaug(0)->mass();
double masspim = p->getDaug(1)->mass();
double masspi0 = p->getDaug(2)->mass();
double m_eta = p->mass();
double y;
//The decay amplitude coems from Layter et al PRD 7 2565 (1973).
y=(mompi0.get(0)-masspi0)*(3.0/(m_eta-masspip-masspim-masspi0))-1.0;
EvtComplex amp(sqrt(1.0-1.07*y),0.0);
vertex(amp);
return ;
-
+
}
diff --git a/src/EvtGenModels/EvtFlatQ2.cpp b/src/EvtGenModels/EvtFlatQ2.cpp
index ed74ee8..0682354 100644
--- a/src/EvtGenModels/EvtFlatQ2.cpp
+++ b/src/EvtGenModels/EvtFlatQ2.cpp
@@ -1,142 +1,138 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtFlatQ2.cc
//
// Description: B->Xu l nu with flat q2 distribution
//
// Modification history:
//
// David Cote, U. de Montreal, 11/02/2003 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtFlatQ2.hh"
#include <fstream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
-double lambda(double q, double m1, double m2)
+double lambda(double q, double m1, double m2)
{
- double L(1.0);
- double mSum = m1 + m2;
- double mDiff = m1 - m2;
- double qSq = q*q;
+ double L(1.0);
+ double mSum = m1 + m2;
+ double mDiff = m1 - m2;
+ double qSq = q*q;
- if (qSq > 0.0) {
+ if (qSq > 0.0) {
- double prodTerm = (qSq - mSum*mSum)*(qSq - mDiff*mDiff);
+ double prodTerm = (qSq - mSum*mSum)*(qSq - mDiff*mDiff);
- if (prodTerm > 0.0) {L = sqrt(prodTerm)/qSq;}
+ if (prodTerm > 0.0) {L = sqrt(prodTerm)/qSq;}
- }
+ }
- return L;
+ return L;
}
-EvtFlatQ2::~EvtFlatQ2() {}
-
std::string EvtFlatQ2::getName(){
return "FLATQ2";
}
EvtDecayBase* EvtFlatQ2::clone(){
return new EvtFlatQ2;
}
void EvtFlatQ2::initProbMax(){
setProbMax(100);
}
void EvtFlatQ2::init(){
// check that there are 3 daughters
checkNDaug(3);
// We expect B -> X lepton lepton events
checkSpinParent(EvtSpinType::SCALAR);
EvtSpinType::spintype d1type = EvtPDL::getSpinType(getDaug(1));
EvtSpinType::spintype d2type = EvtPDL::getSpinType(getDaug(2));
if (!(d1type == EvtSpinType::DIRAC || d1type == EvtSpinType::NEUTRINO)) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtFlatQ2 expects 2nd daughter to "
- << "be a lepton" <<std::endl;
+ << "be a lepton" <<std::endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<std::endl;
::abort();
}
if (!(d2type == EvtSpinType::DIRAC || d2type == EvtSpinType::NEUTRINO)) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtFlatQ2 expects 3rd daughter to "
- << "be a lepton" <<std::endl;
+ << "be a lepton" <<std::endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<std::endl;
::abort();
}
// Specify if we want to use the phase space factor
_usePhsp = false;
if (getNArg() > 0) {
if (getArg(0) != 0) {_usePhsp = true;}
}
EvtGenReport(EVTGEN_INFO,"EvtGen") <<"EvtFlatQ2 usePhsp = "<<int(_usePhsp)<<std::endl;
}
void EvtFlatQ2::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4R p4Xu = p->getDaug(0)->getP4();
EvtVector4R p4ell1 = p->getDaug(1)->getP4();
EvtVector4R p4ell2 = p->getDaug(2)->getP4();
double pXu_x2 = p4Xu.get(1)*p4Xu.get(1);
double pXu_y2 = p4Xu.get(2)*p4Xu.get(2);
double pXu_z2 = p4Xu.get(3)*p4Xu.get(3);
double pXu = sqrt(pXu_x2+pXu_y2+pXu_z2);
double prob(0.0);
if (fabs(pXu) > 0.0) {prob = 1/pXu;}
// Include the phase space factor if requested
if (_usePhsp) {
// Invariant mass of lepton pair
double q = (p4ell1+p4ell2).mass();
// Rest masses of the leptons
double m1 = p4ell1.mass();
double m2 = p4ell2.mass();
// Phase space factor, which includes the various square roots
double Lambda = lambda(q, m1, m2);
if (Lambda > 0.0) {prob = prob/Lambda;}
}
if (pXu > 0.01) {setProb(prob);}
return;
}
-
-
diff --git a/src/EvtGenModels/EvtGoityRoberts.cpp b/src/EvtGenModels/EvtGoityRoberts.cpp
index 149c429..5297c2b 100644
--- a/src/EvtGenModels/EvtGoityRoberts.cpp
+++ b/src/EvtGenModels/EvtGoityRoberts.cpp
@@ -1,431 +1,429 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGoityRoberts.cc
//
// Description: Routine to decay vector-> scalar scalar
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtGoityRoberts.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include <string>
#include "EvtGenBase/EvtVector4C.hh"
-EvtGoityRoberts::~EvtGoityRoberts() {}
-
std::string EvtGoityRoberts::getName(){
- return "GOITY_ROBERTS";
+ return "GOITY_ROBERTS";
}
EvtDecayBase* EvtGoityRoberts::clone(){
return new EvtGoityRoberts;
}
void EvtGoityRoberts::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(4);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::DIRAC);
checkSpinDaughter(3,EvtSpinType::NEUTRINO);
}
void EvtGoityRoberts::initProbMax() {
setProbMax( 3000.0);
-}
+}
void EvtGoityRoberts::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId DST0=EvtPDL::getId("D*0");
static EvtId DSTB=EvtPDL::getId("anti-D*0");
static EvtId DSTP=EvtPDL::getId("D*+");
static EvtId DSTM=EvtPDL::getId("D*-");
static EvtId D0=EvtPDL::getId("D0");
static EvtId D0B=EvtPDL::getId("anti-D0");
static EvtId DP=EvtPDL::getId("D+");
static EvtId DM=EvtPDL::getId("D-");
EvtId meson=getDaug(0);
if (meson==DST0||meson==DSTP||meson==DSTM||meson==DSTB) {
DecayBDstarpilnuGR(p,getDaug(0),getDaug(2),getDaug(3));
}
else{
if (meson==D0||meson==DP||meson==DM||meson==D0B) {
DecayBDpilnuGR(p,getDaug(0),getDaug(2),getDaug(3));
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Wrong daugther in EvtGoityRoberts!\n";
}
}
return ;
}
void EvtGoityRoberts::DecayBDstarpilnuGR(EvtParticle *pb,EvtId ndstar,
EvtId nlep, EvtId /*nnu*/)
{
pb->initializePhaseSpace(getNDaug(),getDaugs());
//added by Lange Jan4,2000
static EvtId EM=EvtPDL::getId("e-");
static EvtId EP=EvtPDL::getId("e+");
static EvtId MUM=EvtPDL::getId("mu-");
static EvtId MUP=EvtPDL::getId("mu+");
EvtParticle *dstar, *pion, *lepton, *neutrino;
-
+
// pb->makeDaughters(getNDaug(),getDaugs());
dstar=pb->getDaug(0);
pion=pb->getDaug(1);
lepton=pb->getDaug(2);
neutrino=pb->getDaug(3);
EvtVector4C l1, l2, et0, et1, et2;
-
+
EvtVector4R v,vp,p4_pi;
double w;
-
+
v.set(1.0,0.0,0.0,0.0); //4-velocity of B meson
vp=(1.0/dstar->getP4().mass())*dstar->getP4(); //4-velocity of D*
p4_pi=pion->getP4();
w=v*vp; //four velocity transfere.
EvtTensor4C omega;
double mb=EvtPDL::getMeanMass(pb->getId()); //B mass
double md=EvtPDL::getMeanMass(ndstar); //D* mass
EvtComplex dmb(0.0460,-0.5*0.00001); // B*-B mass splitting ?
EvtComplex dmd(0.1421,-0.5*0.00006);
// The last two sets of numbers should
// be correctly calculated from the
// dstar and pion charges.
double g = 0.5; // EvtAmplitude proportional to these coupling constants
double alpha3 = 0.690; // See table I in G&R's paper
double alpha1 = -1.430;
double alpha2 = -0.140;
double f0 = 0.093; // The pion decay constants set to 93 MeV
- EvtComplex dmt3(0.563,-0.5*0.191); // Mass splitting = dmt - iGamma/2
+ EvtComplex dmt3(0.563,-0.5*0.191); // Mass splitting = dmt - iGamma/2
EvtComplex dmt1(0.392,-0.5*1.040);
EvtComplex dmt2(0.709,-0.5*0.405);
-
+
double betas=0.285; // magic number for meson wave function ground state
double betap=0.280; // magic number for meson wave function state "1"
double betad=0.260; // magic number for meson wave function state "2"
double betasp=betas*betas+betap*betap;
double betasd=betas*betas+betad*betad;
double lambdabar=0.750; //M(0-,1-) - mQ From Goity&Roberts's code
// Isgur&Wise fct
double xi = exp(lambdabar*lambdabar*(1.0-w*w)/(4*betas*betas));
double xi1= -1.0*sqrt(2.0/3.0)*(
lambdabar*lambdabar*(w*w-1.0)/(4*betas*betas))*
exp(lambdabar*lambdabar*(1.0-w*w)/(4*betas*betas));
double rho1= sqrt(1.0/2.0)*(lambdabar/betas)*
pow((2*betas*betap/(betasp)),2.5)*
exp(lambdabar*lambdabar*(1.0-w*w)/(2*betasp));
double rho2= sqrt(1.0/8.0)*(lambdabar*lambdabar/(betas*betas))*
pow((2*betas*betad/(betasd)),3.5)*
exp(lambdabar*lambdabar*(1.0-w*w)/(2*betasd));
//EvtGenReport(EVTGEN_INFO,"EvtGen") <<"rho's:"<<rho1<<rho2<<endl;
EvtComplex h1nr,h2nr,h3nr,f1nr,f2nr;
EvtComplex f3nr,f4nr,f5nr,f6nr,knr,g1nr,g2nr,g3nr,g4nr,g5nr;
EvtComplex h1r,h2r,h3r,f1r,f2r,f3r,f4r,f5r,f6r,kr,g1r,g2r,g3r,g4r,g5r;
EvtComplex h1,h2,h3,f1,f2,f3,f4,f5,f6,k,g1,g2,g3,g4,g5;
// Non-resonance part
h1nr = -g*xi*(p4_pi*v)/(f0*mb*md*(EvtComplex(p4_pi*v,0.0)+dmb));
h2nr = -g*xi/(f0*mb*(EvtComplex(p4_pi*v,0.0)+dmb));
h3nr = -(g*xi/(f0*md))*(1.0/(EvtComplex(p4_pi*v,0.0)+dmb)
-EvtComplex((1.0+w)/(p4_pi*vp),0.0));
f1nr = -(g*xi/(2*f0*mb))*(1.0/(EvtComplex(p4_pi*v,0.0)+dmb) -
1.0/(EvtComplex(p4_pi*vp,0.0)+dmd));
f2nr = f1nr*mb/md;
f3nr = EvtComplex(0.0);
f4nr = EvtComplex(0.0);
f5nr = (g*xi/(2*f0*mb*md))*(EvtComplex(1.0,0.0)
+(p4_pi*v)/(EvtComplex(p4_pi*v,0.0)+dmb));
f6nr = (g*xi/(2*f0*mb))*(1.0/(EvtComplex(p4_pi*v,0.0)+dmb)
-EvtComplex(1.0/(p4_pi*vp),0.0));
knr = (g*xi/(2*f0))*((p4_pi*(vp-w*v))/(EvtComplex(p4_pi*v,0.0)+dmb) +
EvtComplex((p4_pi*(v-w*vp))/(p4_pi*vp),0.0));
-
+
g1nr = EvtComplex(0.0);
g2nr = EvtComplex(0.0);
g3nr = EvtComplex(0.0);
g4nr = (g*xi)/(f0*md*EvtComplex(p4_pi*vp));
g5nr = EvtComplex(0.0);
// Resonance part (D** removed by hand - alainb)
h1r = -alpha1*rho1*(p4_pi*v)/(f0*mb*md*(EvtComplex(p4_pi*v,0.0)+dmt1)) +
alpha2*rho2*(p4_pi*(v+2.0*w*v-vp))
/(3*f0*mb*md*(EvtComplex(p4_pi*v,0.0)+dmt2)) -
- alpha3*xi1*(p4_pi*v)/(f0*mb*md*EvtComplex(p4_pi*v,0.0)+dmt3);
+ alpha3*xi1*(p4_pi*v)/(f0*mb*md*EvtComplex(p4_pi*v,0.0)+dmt3);
h2r = -alpha2*(1+w)*rho2/(3*f0*mb*(EvtComplex(p4_pi*v,0.0)+dmt2)) -
alpha3*xi1/(f0*mb*(EvtComplex(p4_pi*v,0.0)+dmt3));
h3r = alpha2*rho2*(1+w)/(3*f0*md*(EvtComplex(p4_pi*v,0.0)+dmt2)) -
alpha3*xi1/(f0*md*(EvtComplex(p4_pi*v,0.0)+dmt3));
f1r = -alpha2*rho2*(w-1.0)/(6*f0*mb*(EvtComplex(p4_pi*v,0.0)+dmt2)) -
alpha3*xi1/(2*f0*mb*(EvtComplex(p4_pi*v,0.0)+dmt3));
f2r = f1r*mb/md;
f3r = EvtComplex(0.0);
f4r = EvtComplex(0.0);
f5r = alpha1*rho1*(p4_pi*v)/(2*f0*mb*md*(EvtComplex(p4_pi*v,0.0)+dmt1)) +
alpha2*rho2*(p4_pi*(vp-v/3.0-2.0/3.0*w*v))/
(2*f0*mb*md*(EvtComplex(p4_pi*v,0.0)+dmt2)) +
alpha3*xi1*(p4_pi*v)/(2*f0*mb*md*(EvtComplex(p4_pi*v,0.0)+dmt3));
f6r = alpha2*rho2*(w-1.0)/(6*f0*mb*(EvtComplex(p4_pi*v,0.0)+dmt2)) +
alpha3*xi1/(2*f0*mb*(EvtComplex(p4_pi*v,0.0)+dmt3));
kr = -alpha1*rho1*(w-1.0)*(p4_pi*v)/(2*f0*(EvtComplex(p4_pi*v,0.0)+dmt1)) -
alpha2*rho2*(w-1.0)*(p4_pi*(vp-w*v))
/(3*f0*(EvtComplex(p4_pi*v,0.0)+dmt2)) +
alpha3*xi1*(p4_pi*(vp-w*v))/(2*f0*(EvtComplex(p4_pi*v,0.0)+dmt3));
-
+
g1r = EvtComplex(0.0);
g2r = EvtComplex(0.0);
g3r = -g2r;
g4r = 2.0*alpha2*rho2/(3*f0*md*(EvtComplex(p4_pi*v,0.0)+dmt2));
g5r = EvtComplex(0.0);
//Sum
h1 = h1nr + h1r;
h2 = h2nr + h2r;
h3 = h3nr + h3r;
f1 = f1nr + f1r;
f2 = f2nr + f2r;
f3 = f3nr + f3r;
f4 = f4nr + f4r;
f5 = f5nr + f5r;
f6 = f6nr + f6r;
k = knr+kr;
-
+
g1 = g1nr + g1r;
g2 = g2nr + g2r;
g3 = g3nr + g3r;
g4 = g4nr + g4r;
g5 = g5nr + g5r;
EvtTensor4C g_metric;
g_metric.setdiag(1.0,-1.0,-1.0,-1.0);
- if (nlep==EM||nlep==MUM){
+ if (nlep==EM||nlep==MUM){
omega=EvtComplex(0.0,0.5)*dual(h1*mb*md*EvtGenFunctions::directProd(v,vp)+
h2*mb*EvtGenFunctions::directProd(v,p4_pi)+
h3*md*EvtGenFunctions::directProd(vp,p4_pi))+
f1*mb*EvtGenFunctions::directProd(v,p4_pi)+f2*md*EvtGenFunctions::directProd(vp,p4_pi)+
f3*EvtGenFunctions::directProd(p4_pi,p4_pi)+f4*mb*mb*EvtGenFunctions::directProd(v,v)+
f5*mb*md*EvtGenFunctions::directProd(vp,v)+f6*mb*EvtGenFunctions::directProd(p4_pi,v)+k*g_metric+
EvtComplex(0.0,0.5)*EvtGenFunctions::directProd(dual(EvtGenFunctions::directProd(vp,p4_pi)).cont2(v),
(g1*p4_pi+g2*mb*v))+
EvtComplex(0.0,0.5)*EvtGenFunctions::directProd((g3*mb*v+g4*md*vp+g5*p4_pi),
dual(EvtGenFunctions::directProd(vp,p4_pi)).cont2(v));
l1=EvtLeptonVACurrent(lepton->spParent(0),neutrino->spParentNeutrino());
l2=EvtLeptonVACurrent(lepton->spParent(1),neutrino->spParentNeutrino());
}
else{
- if (nlep==EP||nlep==MUP){
+ if (nlep==EP||nlep==MUP){
omega=EvtComplex(0.0,-0.5)*dual(h1*mb*md*EvtGenFunctions::directProd(v,vp)+
h2*mb*EvtGenFunctions::directProd(v,p4_pi)+
h3*md*EvtGenFunctions::directProd(vp,p4_pi))+
f1*mb*EvtGenFunctions::directProd(v,p4_pi)+f2*md*EvtGenFunctions::directProd(vp,p4_pi)+
f3*EvtGenFunctions::directProd(p4_pi,p4_pi)+f4*mb*mb*EvtGenFunctions::directProd(v,v)+
f5*mb*md*EvtGenFunctions::directProd(vp,v)+f6*mb*EvtGenFunctions::directProd(p4_pi,v)+k*g_metric+
EvtComplex(0.0,-0.5)*EvtGenFunctions::directProd(dual(EvtGenFunctions::directProd(vp,p4_pi)).cont2(v),
(g1*p4_pi+g2*mb*v))+
EvtComplex(0.0,-0.5)*EvtGenFunctions::directProd((g3*mb*v+g4*md*vp+g5*p4_pi),
dual(EvtGenFunctions::directProd(vp,p4_pi)).cont2(v));
l1=EvtLeptonVACurrent(neutrino->spParentNeutrino(),lepton->spParent(0));
l2=EvtLeptonVACurrent(neutrino->spParentNeutrino(),lepton->spParent(1));
}
else{
EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "42387dfs878w wrong lepton number\n";
}
}
et0=omega.cont2( dstar->epsParent(0).conj() );
et1=omega.cont2( dstar->epsParent(1).conj() );
et2=omega.cont2( dstar->epsParent(2).conj() );
vertex(0,0,l1.cont(et0));
vertex(0,1,l2.cont(et0));
vertex(1,0,l1.cont(et1));
vertex(1,1,l2.cont(et1));
vertex(2,0,l1.cont(et2));
vertex(2,1,l2.cont(et2));
return;
}
void EvtGoityRoberts::DecayBDpilnuGR(EvtParticle *pb,EvtId nd,
EvtId nlep, EvtId /*nnu*/)
{
//added by Lange Jan4,2000
static EvtId EM=EvtPDL::getId("e-");
static EvtId EP=EvtPDL::getId("e+");
static EvtId MUM=EvtPDL::getId("mu-");
static EvtId MUP=EvtPDL::getId("mu+");
EvtParticle *d, *pion, *lepton, *neutrino;
pb->initializePhaseSpace(getNDaug(),getDaugs());
d=pb->getDaug(0);
pion=pb->getDaug(1);
lepton=pb->getDaug(2);
neutrino=pb->getDaug(3);
EvtVector4C l1, l2, et0, et1, et2;
-
+
EvtVector4R v,vp,p4_pi;
double w;
-
+
v.set(1.0,0.0,0.0,0.0); //4-velocity of B meson
vp=(1.0/d->getP4().mass())*d->getP4(); //4-velocity of D
p4_pi=pion->getP4(); //4-momentum of pion
w=v*vp; //four velocity transfer.
-
+
double mb=EvtPDL::getMeanMass(pb->getId()); //B mass
double md=EvtPDL::getMeanMass(nd); //D* mass
EvtComplex dmb(0.0460,-0.5*0.00001); //B mass splitting ?
//The last two numbers should be
//correctly calculated from the
//dstar and pion particle number.
double g = 0.5; // Amplitude proportional to these coupling constants
double alpha3 = 0.690; // See table I in G&R's paper
double alpha1 = -1.430;
double alpha2 = -0.140;
double f0=0.093; // The pion decay constant set to 93 MeV
- EvtComplex dmt3(0.563,-0.5*0.191); // Mass splitting = dmt - iGamma/2
+ EvtComplex dmt3(0.563,-0.5*0.191); // Mass splitting = dmt - iGamma/2
EvtComplex dmt1(0.392,-0.5*1.040);
EvtComplex dmt2(0.709,-0.5*0.405);
-
+
double betas=0.285; // magic number for meson wave function ground state
double betap=0.280; // magic number for meson wave function state "1"
double betad=0.260; // magic number for meson wave function state "2"
double betasp=betas*betas+betap*betap;
double betasd=betas*betas+betad*betad;
double lambdabar=0.750; //M(0-,1-) - mQ From Goity&Roberts's code
// Isgur&Wise fct
double xi = exp(lambdabar*lambdabar*(1.0-w*w)/(4*betas*betas));
double xi1= -1.0*sqrt(2.0/3.0)*(lambdabar*lambdabar*(w*w-1.0)/(4*betas*betas))*
exp(lambdabar*lambdabar*(1.0-w*w)/(4*betas*betas));
double rho1= sqrt(1.0/2.0)*(lambdabar/betas)*
pow((2*betas*betap/(betasp)),2.5)*
exp(lambdabar*lambdabar*(1.0-w*w)/(2*betasp));
double rho2= sqrt(1.0/8.0)*(lambdabar*lambdabar/(betas*betas))*
pow((2*betas*betad/(betasd)),3.5)*
exp(lambdabar*lambdabar*(1.0-w*w)/(2*betasd));
EvtComplex h,a1,a2,a3;
EvtComplex hnr,a1nr,a2nr,a3nr;
EvtComplex hr,a1r,a2r,a3r;
// Non-resonance part (D* and D** removed by hand - alainb)
hnr = g*xi*(1.0/(EvtComplex(p4_pi*v,0.0)+dmb))/(2*f0*mb*md);
a1nr= -1.0*g*xi*(1+w)*(1.0/(EvtComplex(p4_pi*v,0.0)+dmb))/(2*f0);
a2nr= g*xi*((p4_pi*(v+vp))/(EvtComplex(p4_pi*v,0.0)+dmb))/(2*f0*mb);
a3nr=EvtComplex(0.0,0.0);
// Resonance part (D** remove by hand - alainb)
hr = alpha2*rho2*(w-1)*(1.0/(EvtComplex(p4_pi*v,0.0)+dmt2))/(6*f0*mb*md) +
alpha3*xi1*(1.0/(EvtComplex(p4_pi*v,0.0)+dmt3))/(2*f0*mb*md);
a1r= -1.0*alpha2*rho2*(w*w-1)*(1.0/(EvtComplex(p4_pi*v,0.0)+dmt2))/(6*f0) -
alpha3*xi1*(1+w)*(1.0/(EvtComplex(p4_pi*v,0.0)+dmt3))/(2*f0);
a2r= alpha1*rho1*((p4_pi*v)/(EvtComplex(p4_pi*v,0.0)+dmt1))/(2*f0*mb) +
alpha2*rho2*(0.5*p4_pi*(w*vp-v)+p4_pi*(vp-w*v))/
(3*f0*mb*(EvtComplex(p4_pi*v,0.0)+dmt2)) +
alpha3*xi1*((p4_pi*(v+vp))/(EvtComplex(p4_pi*v,0.0)+dmt3))/(2*f0*mb);
a3r= -1.0*alpha1*rho1*((p4_pi*v)/(EvtComplex(p4_pi*v,0.0)+dmt1))/(2*f0*md) -
alpha2*rho2*((p4_pi*(vp-w*v))/(EvtComplex(p4_pi*v,0.0)+dmt2))/(2*f0*md);
// Sum
h=hnr+hr;
a1=a1nr+a1r;
a2=a2nr+a2r;
a3=a3nr+a3r;
EvtVector4C omega;
if ( nlep==EM|| nlep==MUM ) {
omega=EvtComplex(0.0,-1.0)*h*mb*md*dual(EvtGenFunctions::directProd(vp,p4_pi)).cont2(v)+
a1*p4_pi+a2*mb*v+a3*md*vp;
l1=EvtLeptonVACurrent(
lepton->spParent(0),neutrino->spParentNeutrino());
l2=EvtLeptonVACurrent(
lepton->spParent(1),neutrino->spParentNeutrino());
}
else{
if ( nlep==EP|| nlep==MUP ) {
omega=EvtComplex(0.0,1.0)*h*mb*md*dual(EvtGenFunctions::directProd(vp,p4_pi)).cont2(v)+
a1*p4_pi+a2*mb*v+a3*md*vp;
l1=EvtLeptonVACurrent(
neutrino->spParentNeutrino(),lepton->spParent(0));
l2=EvtLeptonVACurrent(
neutrino->spParentNeutrino(),lepton->spParent(1));
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "42387dfs878w wrong lepton number\n";
}
}
vertex(0,l1*omega);
vertex(1,l2*omega);
return;
}
diff --git a/src/EvtGenModels/EvtHQET.cpp b/src/EvtGenModels/EvtHQET.cpp
index cb1b612..10b7c1f 100644
--- a/src/EvtGenModels/EvtHQET.cpp
+++ b/src/EvtGenModels/EvtHQET.cpp
@@ -1,121 +1,109 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtHQET.cc
//
// Description: Routine to implement semileptonic B->D*lnu decays according
// to the model HQET
//
// Lange Nov9/01 adding Dlnu and possible (w-1)^2 term
//
//
// Modification history:
//
// DJL April 20, 1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <assert.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtHQET.hh"
#include "EvtGenModels/EvtHQETFF.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
#include <string>
using std::endl;
-EvtHQET::EvtHQET():
- hqetffmodel(0)
- ,calcamp(0)
-{}
-
-EvtHQET::~EvtHQET() {
- delete hqetffmodel;
- hqetffmodel=0;
- delete calcamp;
- calcamp=0;
-}
-
std::string EvtHQET::getName(){
- return "HQET";
+ return "HQET";
}
EvtDecayBase* EvtHQET::clone(){
return new EvtHQET;
}
void EvtHQET::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,hqetffmodel);
+ calcamp->CalcAmp(p,_amp2,hqetffmodel.get());
}
void EvtHQET::initProbMax(){
EvtId parnum,mesnum,lnum,nunum;
parnum = getParentId();
mesnum = getDaug(0);
lnum = getDaug(1);
nunum = getDaug(2);
double mymaxprob = calcamp->CalcMaxProb(parnum,mesnum,
- lnum,nunum,hqetffmodel);
+ lnum,nunum,hqetffmodel.get());
setProbMax(mymaxprob);
}
void EvtHQET::init(){
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
EvtSpinType::spintype d1type = EvtPDL::getSpinType(getDaug(0));
if ( d1type==EvtSpinType::SCALAR) {
checkNArg(1,2);
- if ( getNArg()==1 ) hqetffmodel = new EvtHQETFF(getArg(0));
- else hqetffmodel = new EvtHQETFF(getArg(0),getArg(1));
- calcamp = new EvtSemiLeptonicScalarAmp;
+ if ( getNArg()==1 ) hqetffmodel = std::make_unique<EvtHQETFF>(getArg(0));
+ else hqetffmodel = std::make_unique< EvtHQETFF>(getArg(0),getArg(1));
+ calcamp = std::make_unique< EvtSemiLeptonicScalarAmp> ();
}
else if ( d1type==EvtSpinType::VECTOR) {
checkNArg(3,4);
- if ( getNArg()==3 ) hqetffmodel = new EvtHQETFF(getArg(0),getArg(1),getArg(2));
- else hqetffmodel = new EvtHQETFF(getArg(0),getArg(1),getArg(2),getArg(3));
- calcamp = new EvtSemiLeptonicVectorAmp;
+ if ( getNArg()==3 ) hqetffmodel = std::make_unique<EvtHQETFF>(getArg(0),getArg(1),getArg(2));
+ else hqetffmodel = std::make_unique<EvtHQETFF>(getArg(0),getArg(1),getArg(2),getArg(3));
+ calcamp = std::make_unique<EvtSemiLeptonicVectorAmp>();
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "HQET model handles only scalar and vector meson daughters. Sorry."<<endl;
::abort();
}
-
+
}
diff --git a/src/EvtGenModels/EvtHQET2.cpp b/src/EvtGenModels/EvtHQET2.cpp
index f22e67d..04a0c09 100644
--- a/src/EvtGenModels/EvtHQET2.cpp
+++ b/src/EvtGenModels/EvtHQET2.cpp
@@ -1,149 +1,138 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtHQET2.cc
//
-// Description: Routine to implement semileptonic B->D*lnu & B->Dlnu
+// Description: Routine to implement semileptonic B->D*lnu & B->Dlnu
// decays according to the model HQET
//
// Lange Nov9/01 adding Dlnu and possible (w-1)^2 term
//
//
// Modification history:
//
// Marco Bomben March 10, 2003 Module created
//
// Brian Hamilton Feb 12, 2016 Added "extened" functionality
// <brian.hamilton -=AT=- cern.ch> to include scalar amplitude
//
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <assert.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtHQET2.hh"
#include "EvtGenModels/EvtHQET2FF.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
#include <string>
using std::endl;
-EvtHQET2::EvtHQET2():
- hqetffmodel(0),
- calcamp(0)
-{}
-
-EvtHQET2::~EvtHQET2() {
- delete hqetffmodel;
- hqetffmodel=0;
- delete calcamp;
- calcamp=0;
-}
std::string EvtHQET2::getName(){
- return "HQET2";
+ return "HQET2";
}
EvtDecayBase* EvtHQET2::clone(){
return new EvtHQET2;
}
void EvtHQET2::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,hqetffmodel);
+ calcamp->CalcAmp(p,_amp2,hqetffmodel.get());
}
void EvtHQET2::initProbMax(){
EvtId parnum,mesnum,lnum,nunum;
parnum = getParentId();
mesnum = getDaug(0);
lnum = getDaug(1);
nunum = getDaug(2);
double mymaxprob = calcamp->CalcMaxProb(parnum,mesnum,
- lnum,nunum,hqetffmodel);
+ lnum,nunum,hqetffmodel.get());
setProbMax(mymaxprob);
}
void EvtHQET2::init(){
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
EvtSpinType::spintype d1type = EvtPDL::getSpinType(getDaug(0));
if ( d1type==EvtSpinType::SCALAR) {
if ( getNArg()==2 ) {
- hqetffmodel = new EvtHQET2FF(getArg(0),getArg(1));
- calcamp = new EvtSemiLeptonicScalarAmp;
+ hqetffmodel = std::make_unique< EvtHQET2FF >(getArg(0),getArg(1));
+ calcamp = std::make_unique< EvtSemiLeptonicScalarAmp >();
} else if ( getNArg()==3 ) {
- hqetffmodel = new EvtHQET2FF(getArg(0),getArg(1),getArg(2));
- calcamp = new EvtSemiLeptonicScalarAmp;
+ hqetffmodel = std::make_unique< EvtHQET2FF >(getArg(0),getArg(1),getArg(2));
+ calcamp = std::make_unique< EvtSemiLeptonicScalarAmp >();
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "HQET2 model for scalar meson daughters needs 2 arguments for normal mode or 3 for extended. Sorry."<<endl;
::abort();
}
} else if ( d1type==EvtSpinType::VECTOR) {
- if ( getNArg()==4 ) {
+ if ( getNArg()==4 ) {
- hqetffmodel = new EvtHQET2FF(getArg(0),getArg(1),getArg(2),getArg(3));
- calcamp = new EvtSemiLeptonicVectorAmp;
+ hqetffmodel = std::make_unique< EvtHQET2FF >(getArg(0),getArg(1),getArg(2),getArg(3));
+ calcamp = std::make_unique< EvtSemiLeptonicVectorAmp >();
} else if ( getNArg()==5 ) {
- hqetffmodel = new EvtHQET2FF(getArg(0),getArg(1),getArg(2),getArg(3),getArg(4));
- calcamp = new EvtSemiLeptonicVectorAmp;
+ hqetffmodel = std::make_unique< EvtHQET2FF >(getArg(0),getArg(1),getArg(2),getArg(3),getArg(4));
+ calcamp = std::make_unique< EvtSemiLeptonicVectorAmp >();
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "HQET2 model for vector meson daughtersneeds 4 arguments for normal mode or 5 for extended. Sorry."<<endl;
::abort();
}
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "HQET2 model handles only scalar and vector meson daughters. Sorry."<<endl;
::abort();
}
-
+
}
diff --git a/src/EvtGenModels/EvtHQET2FF.cpp b/src/EvtGenModels/EvtHQET2FF.cpp
index 3853391..a75e841 100644
--- a/src/EvtGenModels/EvtHQET2FF.cpp
+++ b/src/EvtGenModels/EvtHQET2FF.cpp
@@ -1,164 +1,166 @@
//--------------------------------------------------------------------------
//
// Module: EvtHQET2FF.cc
//
// Description: form factors for B->D*lnu & B->Dlnu according to HQET
// with dispersive FF
// Now with added functionality for B->D(*)taunu with FFs
// as in the 2013 BaBar measurement
//
// Modification history:
//
// Marco Bomben March 10, 2003 Module created
//
// Brian Hamilton Feb 12, 2016 Added "extened" functionality
// <brian.hamilton -=AT=- cern.ch> to include scalar amplitude
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtHQET2FF.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtPDL.hh"
#include <math.h>
#include <stdlib.h>
EvtHQET2FF::EvtHQET2FF(double hqetrho2, double hqetha1_1 , double hqetr1_1, double hqetr2_1) {
rho2 = hqetrho2;
r1_1 = hqetr1_1;
r2_1 = hqetr2_1;
ha1_1 = hqetha1_1;
extended = false;
}
EvtHQET2FF::EvtHQET2FF(double hqetrho2, double hqetha1_1 , double hqetr1_1, double hqetr2_1, double hqetr0_1) {
rho2 = hqetrho2;
r0_1 = hqetr0_1;
r1_1 = hqetr1_1;
r2_1 = hqetr2_1;
ha1_1 = hqetha1_1;
extended = true;
}
EvtHQET2FF::EvtHQET2FF(double hqetrho2, double hqetv1_1) {
rho2 = hqetrho2;
v1_1 = hqetv1_1;
extended = false;
}
EvtHQET2FF::EvtHQET2FF(double hqetrho2, double hqetv1_1, double indelta) {
rho2 = hqetrho2;
v1_1 = hqetv1_1;
delta = indelta;
extended = true;
}
void EvtHQET2FF::getscalarff(EvtId parent,EvtId,
double t, double mass, double *f0p, double *f0m) {
double mb=EvtPDL::getMeanMass(parent);
double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
// Form factors have a general form, with parameters passed in
// from the arguements.
// Use dispersion relation parametrization from
// I.Caprini, L.Lelluch, M.Neubert, Nucl. Phys. B 530,153(1998)
const double z = (sqrt(w+1)-sqrt(2.))/(sqrt(w+1)+sqrt(2.));
double v1 = v1_1*(1.- 8.*rho2*z + (51.*rho2-10.)*z*z - (252.*rho2-84.)*z*z*z);
*f0p=v1;
*f0m = 0.0;
if (extended) {
//if in extended mode, use helicity-suppressed FF using the result from
//Tanaka and Watanabe, Phys. Rev. D 82 034027 (2010)
-
+
+ double r = mass/mb;
+ double r1 = r + 1.0;
double s1 =v1*(1+delta*(-0.019+0.041*(w-1)-0.015*(w-1)*(w-1))); //as in ref
- *f0m = s1*(w+1)/2.; //convert to convention used by EvtGen
+ *f0m = s1*(w+1.0)*2.0*r/(r1*r1); //convert to convention used by EvtGen with proper relative normalization
}
}
void EvtHQET2FF::getvectorff(EvtId parent,EvtId,
double t, double mass, double *a1f,
double *a2f, double *vf, double *a0f ){
double mb=EvtPDL::getMeanMass(parent);
double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
// Form factors have a general form, with parameters passed in
// from the arguements.
double rstar = ( 2.0*sqrt(mb*mass))/(mb+mass);
// Use dispersion relation parametrization from
// I.Caprini, L.Lelluch, M.Neubert, Nucl. Phys. B 530,153(1998)
const double z = (sqrt(w+1)-sqrt(2.))/(sqrt(w+1)+sqrt(2.));
double ha1 =ha1_1*(1.- 8.*rho2*z + (53.*rho2-15.)*z*z - (231.*rho2-91.)*z*z*z);
double r1 = r1_1-0.12*(w-1)+0.05*(w-1)*(w-1);
double r2 = r2_1+0.11*(w-1)-0.06*(w-1)*(w-1);
*a1f = (1.0 - (t/((mb+mass)*(mb+mass))))*ha1;
*a1f = (*a1f)/rstar;
*a2f = (r2/rstar)*ha1;
*vf = (r1/rstar)*ha1;
*a0f = 0.0;
if (extended) {
// Here we use the expectation for R_0(w) from
// Fajfer et al, Phys. Rev. D 85 094025 (2012)
double r0 = r0_1-0.11*(w-1)+0.01*(w-1)*(w-1);
*a0f = (r0/rstar)*ha1;
}
}
void EvtHQET2FF::gettensorff(EvtId, EvtId, double, double, double*,
double*, double*, double*){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :gettensorff in EvtHQET2FF.\n";
::abort();
}
void EvtHQET2FF::getbaryonff(EvtId, EvtId, double, double, double*,
double*, double*, double*){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtHQET2FF.\n";
::abort();
}
void EvtHQET2FF::getdiracff(EvtId, EvtId, double, double, double*, double*,
double*, double*, double*, double*) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :getdiracff in EvtHQET2FF.\n";
::abort();
}
void EvtHQET2FF::getraritaff(EvtId, EvtId, double, double, double*, double*,
double*, double*, double*, double*, double*, double*) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :getraritaff in EvtHQET2FF.\n";
::abort();
}
diff --git a/src/EvtGenModels/EvtHelAmp.cpp b/src/EvtGenModels/EvtHelAmp.cpp
index 7f6ec52..bd9c6ca 100644
--- a/src/EvtGenModels/EvtHelAmp.cpp
+++ b/src/EvtGenModels/EvtHelAmp.cpp
@@ -1,223 +1,212 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtHelAmp.cc
//
// Description: Decay model for implementation of generic 2 body
// decay specified by the helicity amplitudes
//
//
// Modification history:
//
// RYD March 14, 1999 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
-#include <stdlib.h>
+#include <vector>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtHelAmp.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtEvalHelAmp.hh"
using std::endl;
-EvtHelAmp::~EvtHelAmp() {
-
- delete _evalHelAmp;
-
-}
-
std::string EvtHelAmp::getName(){
- return "HELAMP";
+ return "HELAMP";
}
EvtDecayBase* EvtHelAmp::clone(){
return new EvtHelAmp;
}
void EvtHelAmp::init(){
checkNDaug(2);
//find out how many states each particle have
int _nA=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getParentId()));
int _nB=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getDaug(0)));
int _nC=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getDaug(1)));
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"_nA,_nB,_nC:"
<<_nA<<","<<_nB<<","<<_nC<<endl;
}
//find out what 2 times the spin is
int _JA2=EvtSpinType::getSpin2(EvtPDL::getSpinType(getParentId()));
int _JB2=EvtSpinType::getSpin2(EvtPDL::getSpinType(getDaug(0)));
int _JC2=EvtSpinType::getSpin2(EvtPDL::getSpinType(getDaug(1)));
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"_JA2,_JB2,_JC2:"
<<_JA2<<","<<_JB2<<","<<_JC2<<endl;
}
//allocate memory
- int* _lambdaA2=new int[_nA];
- int* _lambdaB2=new int[_nB];
- int* _lambdaC2=new int[_nC];
+ std::vector<int> _lambdaA2(_nA);
+ std::vector<int> _lambdaB2(_nB);
+ std::vector<int> _lambdaC2(_nC);
EvtComplexPtr* _HBC=new EvtComplexPtr[_nB];
for(int ib=0;ib<_nB;ib++){
_HBC[ib]=new EvtComplex[_nC];
}
int i;
//find the allowed helicities (actually 2*times the helicity!)
- fillHelicity(_lambdaA2,_nA,_JA2,getParentId());
- fillHelicity(_lambdaB2,_nB,_JB2,getDaug(0));
- fillHelicity(_lambdaC2,_nC,_JC2,getDaug(1));
+ fillHelicity(_lambdaA2.data(),_nA,_JA2,getParentId());
+ fillHelicity(_lambdaB2.data(),_nB,_JB2,getDaug(0));
+ fillHelicity(_lambdaC2.data(),_nC,_JC2,getDaug(1));
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Helicity states of particle A:"<<endl;
for(i=0;i<_nA;i++){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<_lambdaA2[i]<<endl;
}
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Helicity states of particle B:"<<endl;
for(i=0;i<_nB;i++){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<_lambdaB2[i]<<endl;
}
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Helicity states of particle C:"<<endl;
for(i=0;i<_nC;i++){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<_lambdaC2[i]<<endl;
}
}
//now read in the helicity amplitudes
int argcounter=0;
for(int ib=0;ib<_nB;ib++){
for(int ic=0;ic<_nC;ic++){
_HBC[ib][ic]=0.0;
if (abs(_lambdaB2[ib]-_lambdaC2[ic])<=_JA2) argcounter+=2;
}
}
checkNArg(argcounter);
argcounter=0;
for(int ib=0;ib<_nB;ib++){
for(int ic=0;ic<_nC;ic++){
if (abs(_lambdaB2[ib]-_lambdaC2[ic])<=_JA2) {
_HBC[ib][ic]=getArg(argcounter)*exp(EvtComplex(0.0,getArg(argcounter+1)));;
argcounter+=2;
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"_HBC["<<ib<<"]["<<ic<<"]="
<<_HBC[ib][ic]<<endl;
}
}
}
}
- _evalHelAmp=new EvtEvalHelAmp(getParentId(),
+ _evalHelAmp=std::make_unique< EvtEvalHelAmp >(getParentId(),
getDaug(0),
getDaug(1),
_HBC);
// Note: these are not class data members but local variables.
- delete [] _lambdaA2;
- delete [] _lambdaB2;
- delete [] _lambdaC2;
- for(int ib=0;ib<_nB;ib++){
+ for(int ib=0;ib<_nB;ib++){
delete [] _HBC[ib];
}
delete [] _HBC; // _HBC is copied in ctor of EvtEvalHelAmp above.
}
void EvtHelAmp::initProbMax(){
double maxprob=_evalHelAmp->probMax();
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Calculated probmax"<<maxprob<<endl;
}
setProbMax(maxprob);
}
void EvtHelAmp::decay( EvtParticle *p){
//first generate simple phase space
p->initializePhaseSpace(getNDaug(),getDaugs());
_evalHelAmp->evalAmp(p,_amp2);
-
- return ;
}
void EvtHelAmp::fillHelicity(int* lambda2,int n,int J2, EvtId id){
-
+
int i;
-
+
//photon is special case!
if (n==2&&J2==2) {
lambda2[0]=2;
lambda2[1]=-2;
return;
}
//and so is the neutrino!
if (n==1&&J2==1) {
if (EvtPDL::getStdHep(id)>0){
//particle i.e. lefthanded
lambda2[0]=-1;
}else{
//anti particle i.e. righthanded
lambda2[0]=1;
}
return;
}
assert(n==J2+1);
for(i=0;i<n;i++){
lambda2[i]=n-i*2-1;
}
return;
}
diff --git a/src/EvtGenModels/EvtHypNonLepton.cpp b/src/EvtGenModels/EvtHypNonLepton.cpp
index 720db25..8f73fca 100644
--- a/src/EvtGenModels/EvtHypNonLepton.cpp
+++ b/src/EvtGenModels/EvtHypNonLepton.cpp
@@ -1,146 +1,144 @@
//-----------------------------------------------------------------------------------------------
//
// Module: EvtHypNonLepton.cpp
//
// Desription: Routine to implement Hyperon(s=1/2) -> Baryon(s=1/2) + Scalar decays accroding to
// Review Of Particle Physics 2004, Phys.Lett.B, Vol.592, p.864
//
// Modification history:
//
// 09/02/2009 PR Corrected Delta sign
// 20/02/2005 PR Module created according to PHSP and Lb2Lll model
//
//-----------------------------------------------------------------------------------------------
#include "EvtGenModels/EvtHypNonLepton.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
-EvtHypNonLepton::~EvtHypNonLepton() {}
-
EvtDecayBase* EvtHypNonLepton::clone(){
return new EvtHypNonLepton;
}
std::string EvtHypNonLepton::getName(){
return "HypNonLepton";
}
void EvtHypNonLepton::init(){
if(getNArg()<2 || getNArg()>3){ // alpha phi gamma delta
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtHypNonLepton generator expected 2 or 3 arguments but found: " << getNArg() << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 1. Decay asymmetry parameter - alpha" << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 2. Parameter phi - in degrees (not radians)" << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 3. Note on every x-th decay" << std::endl;
::abort();
}
if(getNDaug()!=2){ // Check that there are 2 daughters only
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtHypNonLepton generator expected 2 daughters but found: " << getNDaug() << std::endl;
::abort();
}
// Check particles spins
if(EvtSpinType::getSpin2(EvtPDL::getSpinType(getParentId()))!=1){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtHypNonLepton generator expected dirac parent particle, but found " << EvtSpinType::getSpin2(EvtPDL::getSpinType(getParentId())) << " spin degrees of freedom" << std::endl;
::abort();
}
if(EvtSpinType::getSpin2(EvtPDL::getSpinType(getDaug(0)))!=1){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtHypNonLepton generator expected the first child to be dirac particle, but found " << EvtSpinType::getSpin2(EvtPDL::getSpinType(getDaug(0))) << " spin degrees of freedom" << std::endl;
::abort();
}
if(EvtSpinType::getSpin2(EvtPDL::getSpinType(getDaug(1)))!=0){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtHypNonLepton generator expected the second child to be scalar particle, but found " << EvtSpinType::getSpin2(EvtPDL::getSpinType(getDaug(1))) << " spin degrees of freedom" << std::endl;
::abort();
}
// Read all parameters
m_alpha = getArg(0);
m_phi = getArg(1)*EvtConst::pi/180;
if(getNArg()==3) m_noTries = static_cast<long>(getArg(2));
else m_noTries = 0;
// calculate additional parameters
double p,M,m1,m2;
double p_to_s,beta,delta,gamma;
M = EvtPDL::getMass(getParentId());
m1 = EvtPDL::getMass(getDaug(0));
m2 = EvtPDL::getMass(getDaug(1));
if(m1+m2>=M){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtHypNonLepton found impossible decay: " << M << " --> " << m1 << " + " << m2 << " GeV\n" << std::endl;
::abort();
}
p = sqrt(M*M-(m1+m2)*(m1+m2))*sqrt(M*M-(m1-m2)*(m1-m2))/2./M;
beta = sqrt(1.-m_alpha*m_alpha)*sin(m_phi);
delta = -atan2(beta,m_alpha);
gamma = sqrt(1.-m_alpha*m_alpha-beta*beta);
p_to_s = sqrt((1.-gamma)/(1.+gamma));
m_B_to_A = p_to_s*(m1+sqrt(p*p+m1*m1))/p*EvtComplex(cos(delta),sin(delta));
}
void EvtHypNonLepton::initProbMax(){
double maxProb,m1,m2,M,p;
M=EvtPDL::getMass(getParentId());
m1=EvtPDL::getMass(getDaug(0));
m2=EvtPDL::getMass(getDaug(1));
if(m1+m2>=M){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtHypNonLepton found impossible decay: " << M << " --> " << m1 << " + " << m2 << " GeV\n" << std::endl;
::abort();
}
p=sqrt(M*M-(m1+m2)*(m1+m2))*sqrt(M*M-(m1-m2)*(m1-m2))/2/M;
maxProb=16*M*(sqrt(p*p+m1*m1)+m1+abs(m_B_to_A)*abs(m_B_to_A)*(sqrt(p*p+m1*m1)-m1));
//maxProb *= G_F*M_pi*M_pi;
setProbMax(maxProb);
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtHypNonLepton set up maximum probability to " << maxProb << std::endl;
}
void EvtHypNonLepton::decay(EvtParticle* parent){
parent->initializePhaseSpace(getNDaug(),getDaugs());
calcAmp(&_amp2,parent);
-
+
}
void EvtHypNonLepton::calcAmp(EvtAmp *amp,EvtParticle *parent){
static long noTries=0;
int i;
EvtComplex Matrix[2][2];
//G_F = 1.16637e-5;
//M_pi = 0.13957;
for(i=0;i<4;i++){
//std::cout << "--------------------------------------------------" << std::endl;
Matrix[i/2][i%2] = EvtLeptonSCurrent(parent->sp(i/2),parent->getDaug(0)->spParent(i%2));
//std::cout << "Matrix = " << Matrix[i/2][i%2] << std::endl;
Matrix[i/2][i%2] -= m_B_to_A*EvtLeptonPCurrent(parent->sp(i/2),parent->getDaug(0)->spParent(i%2));
//std::cout << "Matrix = " << Matrix[i/2][i%2] << std::endl;
//Matrix[i/2][i%2] *= G_F*M_pi*M_pi;
//std::cout << "Matrix = " << Matrix[i/2][i%2] << std::endl;
//std::cout << "--------------------------------------------------" << std::endl;
amp->vertex(i/2,i%2,Matrix[i/2][i%2]);
}
if(m_noTries>0) if(!((++noTries)%m_noTries)) EvtGenReport(EVTGEN_DEBUG,"EvtGen") << " EvtHypNonLepton already finished " << noTries << " matrix element calculations" << std::endl;
}
diff --git a/src/EvtGenModels/EvtISGW.cpp b/src/EvtGenModels/EvtISGW.cpp
index be082cf..f7db286 100644
--- a/src/EvtGenModels/EvtISGW.cpp
+++ b/src/EvtGenModels/EvtISGW.cpp
@@ -1,90 +1,91 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtISGW.cc
//
// Description: Routine to implement semileptonic decays according
// to the model ISGW
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtISGW.hh"
#include <string>
#include "EvtGenModels/EvtISGWFF.hh"
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh"
-EvtISGW::~EvtISGW() {}
-
std::string EvtISGW::getName(){
- return "ISGW";
+ return "ISGW";
}
EvtDecayBase* EvtISGW::clone(){
return new EvtISGW;
}
void EvtISGW::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,isgwffmodel);
- return;
+ calcamp->CalcAmp(p,_amp2,isgwffmodel.get());
}
void EvtISGW::init(){
checkNArg(0);
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
- isgwffmodel = new EvtISGWFF;
-
- if ( mesontype==EvtSpinType::SCALAR ) {
- calcamp = new EvtSemiLeptonicScalarAmp;
- }
- if ( mesontype==EvtSpinType::VECTOR ) {
- calcamp = new EvtSemiLeptonicVectorAmp;
+ isgwffmodel = std::make_unique< EvtISGWFF >();
+
+ switch(mesontype) {
+ case EvtSpinType::SCALAR:
+ calcamp = std::make_unique< EvtSemiLeptonicScalarAmp >();
+ break;
+ case EvtSpinType::VECTOR:
+ calcamp = std::make_unique< EvtSemiLeptonicVectorAmp >();
+ break;
+ case EvtSpinType::TENSOR:
+ calcamp = std::make_unique< EvtSemiLeptonicTensorAmp >();
+ break;
+ default:
+ ;
}
- if ( mesontype==EvtSpinType::TENSOR ) {
- calcamp = new EvtSemiLeptonicTensorAmp;
- }
-
+
}
diff --git a/src/EvtGenModels/EvtISGW2.cpp b/src/EvtGenModels/EvtISGW2.cpp
index b436d2f..02bc6e4 100644
--- a/src/EvtGenModels/EvtISGW2.cpp
+++ b/src/EvtGenModels/EvtISGW2.cpp
@@ -1,809 +1,793 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtISGW2.cc
//
// Description: Routine to implement semileptonic decays according
// to the model ISGW2
//
// Modification history:
//
// DJL/RYD September 25, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtISGW2.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include <string>
#include "EvtGenModels/EvtISGW2FF.hh"
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh"
-EvtISGW2::EvtISGW2():
- isgw2ffmodel(0)
- ,calcamp(0)
-{}
-
-
-EvtISGW2::~EvtISGW2() {
- delete isgw2ffmodel;
- isgw2ffmodel=0;
- delete calcamp;
- calcamp=0;
-}
-
std::string EvtISGW2::getName(){
- return "ISGW2";
+ return "ISGW2";
}
EvtDecayBase* EvtISGW2::clone(){
return new EvtISGW2;
}
void EvtISGW2::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,isgw2ffmodel);
+ calcamp->CalcAmp(p,_amp2,isgw2ffmodel.get());
}
void EvtISGW2::initProbMax() {
//added by Lange Jan4,2000
static EvtId EM=EvtPDL::getId("e-");
static EvtId EP=EvtPDL::getId("e+");
static EvtId MUM=EvtPDL::getId("mu-");
static EvtId MUP=EvtPDL::getId("mu+");
static EvtId TAUM=EvtPDL::getId("tau-");
static EvtId TAUP=EvtPDL::getId("tau+");
static EvtId BP=EvtPDL::getId("B+");
static EvtId BM=EvtPDL::getId("B-");
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
static EvtId BCP=EvtPDL::getId("B_c+");
static EvtId BCM=EvtPDL::getId("B_c-");
static EvtId DST0=EvtPDL::getId("D*0");
static EvtId DSTB=EvtPDL::getId("anti-D*0");
static EvtId DSTP=EvtPDL::getId("D*+");
static EvtId DSTM=EvtPDL::getId("D*-");
static EvtId D0=EvtPDL::getId("D0");
static EvtId D0B=EvtPDL::getId("anti-D0");
static EvtId DP=EvtPDL::getId("D+");
static EvtId DM=EvtPDL::getId("D-");
static EvtId D1P1P=EvtPDL::getId("D_1+");
static EvtId D1P1N=EvtPDL::getId("D_1-");
static EvtId D1P10=EvtPDL::getId("D_10");
static EvtId D1P1B=EvtPDL::getId("anti-D_10");
static EvtId D3P2P=EvtPDL::getId("D_2*+");
static EvtId D3P2N=EvtPDL::getId("D_2*-");
static EvtId D3P20=EvtPDL::getId("D_2*0");
static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
static EvtId D3P1P=EvtPDL::getId("D'_1+");
static EvtId D3P1N=EvtPDL::getId("D'_1-");
static EvtId D3P10=EvtPDL::getId("D'_10");
static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
static EvtId D3P0P=EvtPDL::getId("D_0*+");
static EvtId D3P0N=EvtPDL::getId("D_0*-");
static EvtId D3P00=EvtPDL::getId("D_0*0");
static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
static EvtId D21S0P=EvtPDL::getId("D(2S)+");
static EvtId D21S0N=EvtPDL::getId("D(2S)-");
static EvtId D21S00=EvtPDL::getId("D(2S)0");
static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
static EvtId D23S10=EvtPDL::getId("D*(2S)0");
static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
static EvtId ETA2S=EvtPDL::getId("eta(2S)");
static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PIM=EvtPDL::getId("pi-");
static EvtId PI0=EvtPDL::getId("pi0");
static EvtId RHOP=EvtPDL::getId("rho+");
static EvtId RHOM=EvtPDL::getId("rho-");
static EvtId RHO0=EvtPDL::getId("rho0");
static EvtId A2P=EvtPDL::getId("a_2+");
static EvtId A2M=EvtPDL::getId("a_2-");
static EvtId A20=EvtPDL::getId("a_20");
static EvtId A1P=EvtPDL::getId("a_1+");
static EvtId A1M=EvtPDL::getId("a_1-");
static EvtId A10=EvtPDL::getId("a_10");
static EvtId A0P=EvtPDL::getId("a_0+");
static EvtId A0M=EvtPDL::getId("a_0-");
static EvtId A00=EvtPDL::getId("a_00");
static EvtId B1P=EvtPDL::getId("b_1+");
static EvtId B1M=EvtPDL::getId("b_1-");
static EvtId B10=EvtPDL::getId("b_10");
static EvtId H1=EvtPDL::getId("h_1");
static EvtId H1PR=EvtPDL::getId("h'_1");
static EvtId F1=EvtPDL::getId("f_1");
static EvtId F1PR=EvtPDL::getId("f'_1");
static EvtId F0=EvtPDL::getId("f_0");
static EvtId F0PR=EvtPDL::getId("f'_0");
static EvtId F2=EvtPDL::getId("f_2");
static EvtId F2PR=EvtPDL::getId("f'_2");
static EvtId ETA=EvtPDL::getId("eta");
static EvtId ETAPR=EvtPDL::getId("eta'");
static EvtId OMEG=EvtPDL::getId("omega");
static EvtId KP=EvtPDL::getId("K+");
static EvtId KM=EvtPDL::getId("K-");
static EvtId K0=EvtPDL::getId("K0");
static EvtId KB=EvtPDL::getId("anti-K0");
static EvtId K0S=EvtPDL::getId("K_S0");
static EvtId K0L=EvtPDL::getId("K_L0");
static EvtId KSTP=EvtPDL::getId("K*+");
static EvtId KSTM=EvtPDL::getId("K*-");
static EvtId KST0=EvtPDL::getId("K*0");
static EvtId KSTB=EvtPDL::getId("anti-K*0");
static EvtId K1P=EvtPDL::getId("K_1+");
static EvtId K1M=EvtPDL::getId("K_1-");
static EvtId K10=EvtPDL::getId("K_10");
static EvtId K1B=EvtPDL::getId("anti-K_10");
static EvtId K1STP=EvtPDL::getId("K'_1+");
static EvtId K1STM=EvtPDL::getId("K'_1-");
static EvtId K1ST0=EvtPDL::getId("K'_10");
static EvtId K1STB=EvtPDL::getId("anti-K'_10");
static EvtId K2STP=EvtPDL::getId("K_2*+");
static EvtId K2STM=EvtPDL::getId("K_2*-");
static EvtId K2ST0=EvtPDL::getId("K_2*0");
static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
static EvtId PHI=EvtPDL::getId("phi");
static EvtId DSP=EvtPDL::getId("D_s+");
static EvtId DSM=EvtPDL::getId("D_s-");
static EvtId DSSTP=EvtPDL::getId("D_s*+");
static EvtId DSSTM=EvtPDL::getId("D_s*-");
static EvtId DS1P=EvtPDL::getId("D_s1+");
static EvtId DS1M=EvtPDL::getId("D_s1-");
static EvtId DS0STP=EvtPDL::getId("D_s0*+");
static EvtId DS0STM=EvtPDL::getId("D_s0*-");
static EvtId DPS1P=EvtPDL::getId("D'_s1+");
static EvtId DPS1M=EvtPDL::getId("D'_s1-");
static EvtId DS2STP=EvtPDL::getId("D_s2*+");
static EvtId DS2STM=EvtPDL::getId("D_s2*-");
EvtId parnum,mesnum,lnum;
parnum = getParentId();
mesnum = getDaug(0);
lnum = getDaug(1);
if ( parnum==BP||parnum==BM||parnum==B0||parnum==B0B||parnum==BS0||parnum==BSB ) {
if ( mesnum==DST0||mesnum==DSTP||mesnum==DSTB||mesnum==DSTM||mesnum==DSSTP||mesnum==DSSTM) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(10000.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(7000.0);
return;
}
}
if ( mesnum==D0||mesnum==DP||mesnum==D0B||mesnum==DM||mesnum==DSP||mesnum==DSM) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(4000.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(3500.0);
return;
}
}
if ( mesnum==D1P1P||mesnum==D1P1N||mesnum==D1P10||mesnum==D1P1B||mesnum==DS1P||mesnum==DS1M) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(1300.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(480.0);
return;
}
}
if ( mesnum==D3P1P||mesnum==D3P1N||mesnum==D3P10||mesnum==D3P1B||mesnum==DS0STP||mesnum==DS0STM) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(450.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(73.0);//???
return;
}
}
if ( mesnum==D3P0P||mesnum==D3P0N||mesnum==D3P00||mesnum==D3P0B||mesnum==DPS1P||mesnum==DPS1M) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(200.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(90.0);
return;
}
}
if ( mesnum==D3P2P||mesnum==D3P2N||mesnum==D3P20||mesnum==D3P2B||mesnum==DS2STP||mesnum==DS2STM) {
if ( mesnum==DS2STP|| mesnum==DS2STM) {
setProbMax(550.0);
return;
}
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(400.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(220.0);
return;
}
}
if ( mesnum==D21S0P||mesnum==D21S0N||mesnum==D21S00||mesnum==D21S0B) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(16.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(3.0);
return;
}
}
if ( mesnum==D23S1P||mesnum==D23S1N||mesnum==D23S10||mesnum==D23S1B) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(500.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(250.0);
return;
}
}
if ( mesnum==RHOP||mesnum==RHOM||mesnum==RHO0) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(6500.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(6000.0);
return;
}
}
if ( mesnum==OMEG) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(6800.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(6000.0);
return;
}
}
if ( mesnum==PIP||mesnum==PIM||mesnum==PI0) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(1200.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(1150.0);
return;
}
}
if ( mesnum==ETA) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(1800.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(1900.0);
return;
}
}
if ( mesnum==ETAPR) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(3000.0);
return;
- }
+ }
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(3000.0);
return;
}
}
if ( mesnum==B1P||mesnum==B1M||mesnum==B10) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(2500.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(1700.0);
return;
}
}
if ( mesnum==A0P||mesnum==A0M||mesnum==A00) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(80.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(62.0);
return;
}
}
if ( mesnum==A1P||mesnum==A1M||mesnum==A10) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(4500.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(3500.0);
return;
}
}
if ( mesnum==A2P||mesnum==A2M||mesnum==A20) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(1200.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(1000.0);
return;
}
}
if ( mesnum==H1) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(2600.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(2900.0);
return;
}
}
if ( mesnum==H1PR) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(1400.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(1500.0);
return;
}
}
if ( mesnum==F2) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(1100.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(1100.0);
return;
}
}
if ( mesnum==F2PR) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(804.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(600.0);
return;
}
}
if ( mesnum==F1) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(2500.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(2000.0) ;
return;
}
}
if ( mesnum==F1PR) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(2400.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(1700.0);
return;
}
}
if ( mesnum==F0) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 80.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(63.0);
return;
}
}
if ( mesnum==F0PR) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(120.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(120.0);
return;
}
}
if ( mesnum==RHO2SP||mesnum==RHO2SM||mesnum==RHO2S0) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 2400.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(2000.0);
return;
}
}
if ( mesnum==OMEG2S) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(1600.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(1400.0) ;
return;
}
}
if ( mesnum==PI2SP||mesnum==PI2SM||mesnum==PI2S0) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 500.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(300.0);
return;
}
}
if ( mesnum==ETA2S) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(344.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(300.0);
return;
}
}
if ( mesnum==KP||mesnum==KM||
mesnum==K1P||mesnum==K1M||mesnum==K1STP||mesnum==K1STM) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(2000.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(1000.0);
return;
}
}
if ( mesnum==KSTP||mesnum==KSTM ) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(10000.0);
return;
}
if ( lnum==TAUP||lnum==TAUM ) {
setProbMax(7000.0);
return;
}
}
}
if ( parnum==D0||parnum==DP||parnum==DM||parnum==D0B ) {
if ( mesnum==RHOP||mesnum==RHOM||mesnum==RHO0) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(110.0);
return;
}
}
if ( mesnum==OMEG) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(75.0);
return;
}
}
if ( mesnum==PIP||mesnum==PIM||mesnum==PI0) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(40.0);
return;
}
}
if ( mesnum==ETA) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 65.0);
return;
}
}
if ( mesnum==ETAPR) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 60.0);
return;
}
}
if ( mesnum==KP||mesnum==KM||mesnum==K0||
mesnum==K0S||mesnum==K0L||mesnum==KB) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 70.0);
return;
}
}
if ( mesnum==K1STP||mesnum==K1STM||mesnum==K1ST0||mesnum==K1STB) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 3.3);
return;
}
}
if ( mesnum==K1P||mesnum==K1M||mesnum==K10||mesnum==K1B) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 100.0);
return;
}
}
if ( mesnum==KSTP||mesnum==KSTM||mesnum==KST0||mesnum==KSTB) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 135.0);
return;
}
}
if ( mesnum==K2STP||mesnum==K2STM||mesnum==K2ST0||mesnum==K2STB) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
- //Lange - Oct 26,2001 - increasing from 0.75 to
+ //Lange - Oct 26,2001 - increasing from 0.75 to
//accomodate
setProbMax( 9.0);
// setProbMax( 0.75);
return;
}
}
if ( mesnum==F0) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(1.0);
return;
}
}
}
if ( parnum==DSP||parnum==DSM ) {
if ( mesnum==PHI ) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 90.0 );
return;
}
}
if ( mesnum==ETA ) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 75.0 );
return;
}
}
if ( mesnum==ETAPR ) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 80.0) ;
return;
}
}
if ( mesnum==KST0||mesnum==KSTB ) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 100.0) ;
- return;
+ return;
}
}
if ( mesnum==K0 || mesnum==KB || mesnum==K0S || mesnum==K0L ) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax( 45.0 );
return;
}
}
if ( mesnum==F0) {
if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
setProbMax(1.0);
return;
}
}
}
if ( parnum==BCP||parnum==BCM ) {
setProbMax(1000.0 );
return;
}
//This is a real cludge.. (ryd)
setProbMax(0.0);
}
void EvtISGW2::init(){
checkNArg(0);
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
- isgw2ffmodel = new EvtISGW2FF;
-
- if ( mesontype==EvtSpinType::SCALAR ) {
- calcamp = new EvtSemiLeptonicScalarAmp;
- }
- if ( mesontype==EvtSpinType::VECTOR ) {
- calcamp = new EvtSemiLeptonicVectorAmp;
- }
- if ( mesontype==EvtSpinType::TENSOR ) {
- calcamp = new EvtSemiLeptonicTensorAmp;
- }
-
-}
-
-
-
-
-
+ isgw2ffmodel = std::make_unique< EvtISGW2FF >();
+ switch (mesontype) {
+ case EvtSpinType::SCALAR:
+ calcamp = std::make_unique< EvtSemiLeptonicScalarAmp >();
+ break;
+ case EvtSpinType::VECTOR:
+ calcamp = std::make_unique< EvtSemiLeptonicVectorAmp >();
+ break;
+ case EvtSpinType::TENSOR:
+ calcamp = std::make_unique< EvtSemiLeptonicTensorAmp >();;
+ break;
+ default:
+ ;
+ }
+}
diff --git a/src/EvtGenModels/EvtItgAbsFunction.cpp b/src/EvtGenModels/EvtItgAbsFunction.cpp
index 4008582..cb61f65 100644
--- a/src/EvtGenModels/EvtItgAbsFunction.cpp
+++ b/src/EvtGenModels/EvtItgAbsFunction.cpp
@@ -1,56 +1,52 @@
//--------------------------------------------------------------------------
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgAbsFunction.hh
//
// Description:
// Abstraction of a generic function for use in integration methods elsewhere
-// in this package. (Stolen and modified from the BaBar IntegrationUtils package
+// in this package. (Stolen and modified from the BaBar IntegrationUtils package
// - author: Phil Strother).
//
// Modification history:
//
-// Jane Tinslay March 21, 2001 Module adapted for use in
+// Jane Tinslay March 21, 2001 Module adapted for use in
// EvtGen
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtItgAbsFunction.hh"
//-------------
// C Headers --
//-------------
extern "C" {
}
#include "assert.h"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
EvtItgAbsFunction::EvtItgAbsFunction(double lowerRange, double upperRange):
_upperRange(upperRange),
_lowerRange(lowerRange){}
-EvtItgAbsFunction::~EvtItgAbsFunction( )
-{}
-
-
double
EvtItgAbsFunction::value( double x) const{
if (x >= _lowerRange && x <= _upperRange) return myFunction(x);
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Error in EvtItgAbsFunction::value. Given co-ordinate " << x
<< " is outside of allowed range [" << _lowerRange << ", "
<< _upperRange << "]. Returning 0.0" << endl;
return 0.0; // Never get here
}
-
-double
+
+double
EvtItgAbsFunction::operator()(double x) const{
return myFunction(x);
}
diff --git a/src/EvtGenModels/EvtItgAbsIntegrator.cpp b/src/EvtGenModels/EvtItgAbsIntegrator.cpp
index fa119a2..07219bc 100644
--- a/src/EvtGenModels/EvtItgAbsIntegrator.cpp
+++ b/src/EvtGenModels/EvtItgAbsIntegrator.cpp
@@ -1,105 +1,102 @@
//--------------------------------------------------------------------------
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgIntegrator.cc
//
// Description:
-// Simpson integrator (Stolen and modified from
+// Simpson integrator (Stolen and modified from
// the BaBar IntegrationUtils package - author: Phil Strother).
//
// Modification history:
//
-// Jane Tinslay March 21, 2001 Module adapted for use in
+// Jane Tinslay March 21, 2001 Module adapted for use in
// EvtGen
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtItgAbsIntegrator.hh"
//-------------
// C Headers --
//-------------
extern "C" {
}
#include <math.h>
#include <iostream>
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtItgAbsFunction.hh"
using std::endl;
EvtItgAbsIntegrator::EvtItgAbsIntegrator(const EvtItgAbsFunction &theFunction):
_myFunction(theFunction)
{}
-EvtItgAbsIntegrator::~EvtItgAbsIntegrator()
-{}
-
-double
+double
EvtItgAbsIntegrator::normalisation() const {
return evaluateIt(_myFunction.lowerRange(), _myFunction.upperRange());
}
double
EvtItgAbsIntegrator::evaluate(double lower, double upper) const{
double newLower(lower), newUpper(upper);
boundsCheck(newLower, newUpper);
return evaluateIt(newLower, newUpper);
}
-double
+double
EvtItgAbsIntegrator::trapezoid(double lower, double higher, int n, double &result) const {
if (n==1) return 0.5*(higher-lower)*(_myFunction(lower) + _myFunction(higher));
-
+
int it, j;
-
+
for (it=1, j=1;j<n-1;j++) it <<=1;
-
+
double itDouble(it);
-
+
double sum(0.0);
double deltaX((higher - lower)/itDouble);
-
+
double x(lower + 0.5* deltaX);
-
+
for (j=1;j<=it;j++){
sum+=_myFunction(x);
x+=deltaX;
}
-
+
result = 0.5*(result+(higher - lower)*sum/itDouble);
return result;
}
-void
+void
EvtItgAbsIntegrator::boundsCheck(double &lower, double &upper) const{
if (lower < _myFunction.lowerRange() ) {
- EvtGenReport(EVTGEN_WARNING,"EvtGen") << "Warning in EvtItgAbsIntegrator::evaluate. Lower bound " << lower << " of integral "
- << " is less than lower bound " << _myFunction.lowerRange()
+ EvtGenReport(EVTGEN_WARNING,"EvtGen") << "Warning in EvtItgAbsIntegrator::evaluate. Lower bound " << lower << " of integral "
+ << " is less than lower bound " << _myFunction.lowerRange()
<< " of function. No contribution from this range will be counted." << endl;
lower = _myFunction.lowerRange();
}
if (upper > _myFunction.upperRange() ) {
EvtGenReport(EVTGEN_WARNING,"EvtGen") << "Warning in EvtItgAbsIntegrator::evaluate. Upper bound " << upper << " of integral "
- << " is greater than upper bound " << _myFunction.upperRange()
- << " of function. No contribution from this range will be counted." << endl;
+ << " is greater than upper bound " << _myFunction.upperRange()
+ << " of function. No contribution from this range will be counted." << endl;
upper = _myFunction.upperRange();
}
}
diff --git a/src/EvtGenModels/EvtItgFourCoeffFcn.cpp b/src/EvtGenModels/EvtItgFourCoeffFcn.cpp
index e6cef16..1d99198 100644
--- a/src/EvtGenModels/EvtItgFourCoeffFcn.cpp
+++ b/src/EvtGenModels/EvtItgFourCoeffFcn.cpp
@@ -1,64 +1,60 @@
//--------------------------------------------------------------------------
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgFourCoeffFcn.cc
//
// Description:
-// Class describing a function with four vectors of coefficients.
+// Class describing a function with four vectors of coefficients.
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtItgFourCoeffFcn.hh"
//-------------
// C Headers --
//-------------
extern "C" {
}
EvtItgFourCoeffFcn::EvtItgFourCoeffFcn( double (*theFunction)(double, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &), double lowerRange, double upperRange, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3, const std::vector<double> &coeffs4):
EvtItgAbsFunction(lowerRange, upperRange),
_myFunction(theFunction),
_coeffs1(coeffs1),
- _coeffs2(coeffs2),
+ _coeffs2(coeffs2),
_coeffs3(coeffs3),
_coeffs4(coeffs4)
{}
-EvtItgFourCoeffFcn::~EvtItgFourCoeffFcn( )
-{}
-
-
double
EvtItgFourCoeffFcn::myFunction(double x) const{
return _myFunction(x, _coeffs1, _coeffs2, _coeffs3, _coeffs4);
}
void
EvtItgFourCoeffFcn::setCoeff(int vect, int which, double value)
{
if (vect == 1) _coeffs1[which] = value;
else if (vect == 2) _coeffs2[which] = value;
else if (vect == 3) _coeffs3[which] = value;
else if (vect == 4) _coeffs4[which] = value;
}
double
EvtItgFourCoeffFcn::getCoeff(int vect, int which)
{
if (vect == 1) return _coeffs1[which];
else if (vect == 2) return _coeffs2[which];
else if (vect == 3) return _coeffs3[which];
else if (vect == 4) return _coeffs4[which];
else {return 0;}
}
diff --git a/src/EvtGenModels/EvtItgFunction.cpp b/src/EvtGenModels/EvtItgFunction.cpp
index 55d0c77..92df195 100644
--- a/src/EvtGenModels/EvtItgFunction.cpp
+++ b/src/EvtGenModels/EvtItgFunction.cpp
@@ -1,54 +1,46 @@
//--------------------------------------------------------------------------
// File and Version Information:
// $Id: EvtItgFunction.cpp,v 1.4 2009-03-16 15:47:39 robbep Exp $
//
// Description:
// Class EvtItgFunction
// Implementation for the EvtItgFunction class. Defines the bounds
// checked value() function and the non-bounds checked operator()
//
// Environment:
// Software developed for the BaBar Detector at the SLAC B-Factory.
//
// Author List:
// Phil Strother Originator
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 LBNL
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
//-----------------------
// This Class's Header --
//-----------------------
#include "EvtGenModels/EvtItgFunction.hh"
//-------------
// C Headers --
//-------------
extern "C" {
}
//----------------
// Constructors --
//----------------
EvtItgFunction::EvtItgFunction( double (*theFunction)(double), double lowerRange, double upperRange):
EvtItgAbsFunction(lowerRange, upperRange),
_myFunction(theFunction)
{}
-//--------------
-// Destructor --
-//--------------
-
-EvtItgFunction::~EvtItgFunction( )
-{}
-
-
double
EvtItgFunction::myFunction(double x) const{
return _myFunction(x);
}
diff --git a/src/EvtGenModels/EvtItgPtrFunction.cpp b/src/EvtGenModels/EvtItgPtrFunction.cpp
index 2b4609b..cf732a5 100644
--- a/src/EvtGenModels/EvtItgPtrFunction.cpp
+++ b/src/EvtGenModels/EvtItgPtrFunction.cpp
@@ -1,66 +1,58 @@
//--------------------------------------------------------------------------
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgPtrFunction.hh
//
// Description:
-// Class describing a function with one vector of coefficients. (Stolen and
+// Class describing a function with one vector of coefficients. (Stolen and
// modified from the BaBar IntegrationUtils package - author: Phil Strother).
//
// Modification history:
//
-// Jane Tinslay March 21, 2001 Module adapted for use in
+// Jane Tinslay March 21, 2001 Module adapted for use in
// EvtGen
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtItgPtrFunction.hh"
//-------------
// C Headers --
//-------------
extern "C" {
}
//----------------
// Constructors --
//----------------
EvtItgPtrFunction::EvtItgPtrFunction( double (*theFunction)(double, const std::vector<double> &), double lowerRange, double upperRange, const std::vector<double> &coeffs1):
EvtItgAbsFunction(lowerRange, upperRange),
_myFunction(theFunction),
_coeffs1(coeffs1)
{}
-//--------------
-// Destructor --
-//--------------
-
-EvtItgPtrFunction::~EvtItgPtrFunction( )
-{}
-
-
double
EvtItgPtrFunction::myFunction(double x) const{
return _myFunction(x, _coeffs1);
}
void
EvtItgPtrFunction::setCoeff(int vect, int which, double value)
{
if (vect == 1) _coeffs1[which] = value;
}
double
EvtItgPtrFunction::getCoeff(int vect, int which)
{
if (vect == 1) return _coeffs1[which];
else {return 0;}
}
diff --git a/src/EvtGenModels/EvtItgSimpsonIntegrator.cpp b/src/EvtGenModels/EvtItgSimpsonIntegrator.cpp
index 3a1f236..52791d3 100644
--- a/src/EvtGenModels/EvtItgSimpsonIntegrator.cpp
+++ b/src/EvtGenModels/EvtItgSimpsonIntegrator.cpp
@@ -1,99 +1,92 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgSimpsonIntegrator.hh
//
// Description:
// Abstraction of a generic function for use in integration methods elsewhere
-// in this package. (Stolen and modified from
+// in this package. (Stolen and modified from
// the BaBar IntegrationUtils package - author: Phil Strother).
//
// Modification history:
//
-// Jane Tinslay March 21, 2001 Module adapted for use in
+// Jane Tinslay March 21, 2001 Module adapted for use in
// EvtGen
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtItgSimpsonIntegrator.hh"
//-------------
// C Headers --
//-------------
extern "C" {
}
//---------------
// C++ Headers --
//---------------
#include <math.h>
//-------------------------------
// Collaborating Class Headers --
//-------------------------------
#include "EvtGenModels/EvtItgAbsFunction.hh"
#include "EvtGenBase/EvtReport.hh"
using std::endl;
EvtItgSimpsonIntegrator::EvtItgSimpsonIntegrator(const EvtItgAbsFunction &theFunction, double precision, int maxLoop):
EvtItgAbsIntegrator(theFunction),
_precision(precision),
_maxLoop(maxLoop)
{}
-//--------------
-// Destructor --
-//--------------
-
-EvtItgSimpsonIntegrator::~EvtItgSimpsonIntegrator()
-{}
-
double
EvtItgSimpsonIntegrator::evaluateIt(double lower, double higher) const{
-
+
// EvtGenReport(EVTGEN_INFO,"EvtGen")<<"in evaluate"<<endl;
int j;
double result(0.0);
double s, st, ost(0.0);
for (j=1;j<4;j++) {
st = trapezoid(lower, higher, j, result);
s = (4.0 * st - ost)/3.0;
ost=st;
}
double olds(s);
st = trapezoid(lower, higher, j, result);
s = (4.0 * st - ost)/3.0;
if (fabs(s - olds) < _precision*fabs(olds) || (s==0.0 && olds==0.0)) return s;
-
+
ost=st;
for (j=5;j<_maxLoop;j++){
st = trapezoid(lower, higher, j, result);
s = (4.0 * st - ost)/3.0;
-
+
if (fabs(s - olds) < _precision*fabs(olds) || (s==0.0 && olds==0.0)) return s;
olds=s;
ost=st;
}
-
+
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Severe error in EvtItgSimpsonIntegrator. Failed to converge after loop with 2**"
<< _maxLoop << " calls to the integrand in." << endl;
-
+
return 0.0;
-
+
}
diff --git a/src/EvtGenModels/EvtItgThreeCoeffFcn.cpp b/src/EvtGenModels/EvtItgThreeCoeffFcn.cpp
index 4b3ae20..6131c79 100644
--- a/src/EvtGenModels/EvtItgThreeCoeffFcn.cpp
+++ b/src/EvtGenModels/EvtItgThreeCoeffFcn.cpp
@@ -1,64 +1,60 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgThreeCoeffFcn.cc
//
// Description:
-// Class describing a function with three vectors of coefficients.
+// Class describing a function with three vectors of coefficients.
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtItgThreeCoeffFcn.hh"
//-------------
// C Headers --
//-------------
extern "C" {
}
EvtItgThreeCoeffFcn::EvtItgThreeCoeffFcn( double (*theFunction)(double, const std::vector<double> &, const std::vector<double> &, const std::vector<double> &), double lowerRange, double upperRange, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3):
EvtItgAbsFunction(lowerRange, upperRange),
_myFunction(theFunction),
_coeffs1(coeffs1),
- _coeffs2(coeffs2),
+ _coeffs2(coeffs2),
_coeffs3(coeffs3)
{}
-EvtItgThreeCoeffFcn::~EvtItgThreeCoeffFcn( )
-{}
-
-
double
EvtItgThreeCoeffFcn::myFunction(double x) const{
return _myFunction(x, _coeffs1, _coeffs2, _coeffs3);
}
void
EvtItgThreeCoeffFcn::setCoeff(int vect, int which, double value)
{
if (vect == 1) _coeffs1[which] = value;
else if (vect == 2) _coeffs2[which] = value;
else if (vect == 3) _coeffs3[which] = value;
}
double
EvtItgThreeCoeffFcn::getCoeff(int vect, int which)
{
if (vect == 1) return _coeffs1[which];
else if (vect == 2) return _coeffs2[which];
else if (vect == 3) return _coeffs3[which];
else {return 0;}
}
diff --git a/src/EvtGenModels/EvtItgTwoCoeffFcn.cpp b/src/EvtGenModels/EvtItgTwoCoeffFcn.cpp
index 1ebd840..3bd58a6 100644
--- a/src/EvtGenModels/EvtItgTwoCoeffFcn.cpp
+++ b/src/EvtGenModels/EvtItgTwoCoeffFcn.cpp
@@ -1,60 +1,57 @@
//--------------------------------------------------------------------------
//
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Module: EvtItgTwoCoeffFcn.cc
//
// Description:
-// Class describing a function with two vectors of coefficients.
+// Class describing a function with two vectors of coefficients.
//
// Modification history:
//
// Jane Tinslay March 21, 2001 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtItgTwoCoeffFcn.hh"
//-------------
// C Headers --
//-------------
extern "C" {
}
EvtItgTwoCoeffFcn::EvtItgTwoCoeffFcn( double (*theFunction)(double, const std::vector<double> &, const std::vector<double> &), double lowerRange, double upperRange, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2):
EvtItgAbsFunction(lowerRange, upperRange),
_myFunction(theFunction),
_coeffs1(coeffs1),
_coeffs2(coeffs2)
{}
-EvtItgTwoCoeffFcn::~EvtItgTwoCoeffFcn( )
-{}
-
double
EvtItgTwoCoeffFcn::myFunction(double x) const{
return _myFunction(x, _coeffs1, _coeffs2);
}
void
EvtItgTwoCoeffFcn::setCoeff(int vect, int which, double value)
{
if (vect == 1) _coeffs1[which] = value;
else if (vect == 2) _coeffs2[which] = value;
}
double
EvtItgTwoCoeffFcn::getCoeff(int vect, int which)
{
if (vect == 1) return _coeffs1[which];
else if (vect == 2) return _coeffs2[which];
else {return 0;}
}
diff --git a/src/EvtGenModels/EvtKKLambdaC.cpp b/src/EvtGenModels/EvtKKLambdaC.cpp
index 51c7d21..c081a33 100644
--- a/src/EvtGenModels/EvtKKLambdaC.cpp
+++ b/src/EvtGenModels/EvtKKLambdaC.cpp
@@ -1,90 +1,87 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSLPole.cc
//
// Description: Routine to implement semileptonic decays according
// to light cone sum rules
//
// Modification history:
//
// DJL April 23, 1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtKKLambdaC.hh"
#include "EvtGenModels/EvtKKLambdaCFF.hh"
#include "EvtGenBase/EvtSemiLeptonicBaryonAmp.hh"
#include <string>
-EvtKKLambdaC::~EvtKKLambdaC() {}
-
std::string EvtKKLambdaC::getName(){
- return "KK_LAMBDAC_SL";
+ return "KK_LAMBDAC_SL";
}
EvtDecayBase* EvtKKLambdaC::clone(){
return new EvtKKLambdaC;
}
void EvtKKLambdaC::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- _calcamp->CalcAmp(p,_amp2,_ffmodel);
- return;
+ _calcamp->CalcAmp(p,_amp2,_ffmodel.get());
}
void EvtKKLambdaC::initProbMax(){
EvtId parnum,mesnum,lnum,nunum;
parnum = getParentId();
mesnum = getDaug(0);
lnum = getDaug(1);
nunum = getDaug(2);
//double mymaxprob = _calcamp->CalcMaxProb(parnum,mesnum,
// lnum,nunum,_ffmodel);
- double mymaxprob=100.;
+ double mymaxprob=100.;
setProbMax(mymaxprob);
}
void EvtKKLambdaC::init(){
-
+
checkNDaug(3);
//We expect the parent to be a dirac
//and the daughters to be dirac lepton neutrino
checkSpinParent(EvtSpinType::DIRAC);
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
- _ffmodel = new EvtKKLambdaCFF(getNArg(),getArgs());
+ _ffmodel = std::make_unique<EvtKKLambdaCFF>(getNArg(),getArgs());
+
+ _calcamp = std::make_unique<EvtSemiLeptonicBaryonAmp>();
- _calcamp = new EvtSemiLeptonicBaryonAmp;
-
}
diff --git a/src/EvtGenModels/EvtKstarnunu.cpp b/src/EvtGenModels/EvtKstarnunu.cpp
index f1ba95c..726c746 100644
--- a/src/EvtGenModels/EvtKstarnunu.cpp
+++ b/src/EvtGenModels/EvtKstarnunu.cpp
@@ -1,147 +1,145 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtKstarnunu.cc
//
// Description: B ==> K* nu nubar
//
// Modification history:
//
// RYD September 29, 1997 Module created
//
//------------------------------------------------------------------------
//
// Package: EVT
// Module: EvtKstarnunu
-//
-//
+//
+//
// Implementation:
-//
//
-// Author: RYD
+//
+// Author: RYD
// Created: Sept. 29 1997
//
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenModels/EvtKstarnunu.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
-EvtKstarnunu::~EvtKstarnunu() {}
-
std::string EvtKstarnunu::getName(){
- return "KSTARNUNU";
+ return "KSTARNUNU";
}
EvtDecayBase* EvtKstarnunu::clone(){
return new EvtKstarnunu;
}
void EvtKstarnunu::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be K neutrino netrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::NEUTRINO);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
}
void EvtKstarnunu::decay(EvtParticle *p){
-
+
static EvtId NUE=EvtPDL::getId("nu_e");
static EvtId NUM=EvtPDL::getId("nu_mu");
static EvtId NUT=EvtPDL::getId("nu_tau");
static EvtId NUEB=EvtPDL::getId("anti-nu_e");
static EvtId NUMB=EvtPDL::getId("anti-nu_mu");
static EvtId NUTB=EvtPDL::getId("anti-nu_tau");
p->initializePhaseSpace(getNDaug(),getDaugs());
-
+
double m_b = p->mass();
EvtParticle *meson, *neutrino1, *neutrino2;
meson = p->getDaug(0);
neutrino1 = p->getDaug(1);
neutrino2 = p->getDaug(2);
EvtVector4R momnu1 = neutrino1->getP4();
EvtVector4R momnu2 = neutrino2->getP4();
EvtVector4R momkstar = meson->getP4();
-
+
double v0_0, a1_0, a2_0;
double m2v0, a1_b, a2_b;
v0_0 = 0.47;
a1_0 = 0.37;
a2_0 = 0.40;
m2v0 = 5.*5.;
a1_b = -0.023;
a2_b = 0.034;
EvtVector4R q = momnu1+momnu2;
- double q2 = q.mass2();
+ double q2 = q.mass2();
double v0, a1, a2;
v0 = v0_0/(1-q2/m2v0);
a1 = a1_0*(1+a1_b*q2);
a2 = a2_0*(1+a2_b*q2);
EvtVector4R p4b; p4b.set(m_b,0.,0.,0.); // Do calcs in mother rest frame
-
+
double m_k = meson->mass();
EvtTensor4C tds=(-2*v0/(m_b+m_k))*dual(EvtGenFunctions::directProd(p4b,momkstar))
- EvtComplex(0.0,1.0)*
( (m_b+m_k)*a1*EvtTensor4C::g()
- - (a2/(m_b+m_k))*EvtGenFunctions::directProd(p4b-momkstar,p4b+momkstar));
-
+ - (a2/(m_b+m_k))*EvtGenFunctions::directProd(p4b-momkstar,p4b+momkstar));
+
EvtVector4C l;
if (getDaug(1)==NUE||getDaug(1)==NUM||getDaug(1)==NUT) {
l=EvtLeptonVACurrent(neutrino1->spParentNeutrino(),
neutrino2->spParentNeutrino());
}
if (getDaug(1)==NUEB||getDaug(1)==NUMB||getDaug(1)==NUTB) {
l=EvtLeptonVACurrent(neutrino2->spParentNeutrino(),
neutrino1->spParentNeutrino());
}
- EvtVector4C et0,et1,et2;
+ EvtVector4C et0,et1,et2;
et0 = tds.cont1( meson->epsParent(0).conj() );
et1 = tds.cont1( meson->epsParent(1).conj() );
et2 = tds.cont1( meson->epsParent(2).conj() );
vertex(0,l*et0);
vertex(1,l*et1);
vertex(2,l*et2);
return;
}
diff --git a/src/EvtGenModels/EvtKstarstargamma.cpp b/src/EvtGenModels/EvtKstarstargamma.cpp
index 309192a..53bd5dd 100644
--- a/src/EvtGenModels/EvtKstarstargamma.cpp
+++ b/src/EvtGenModels/EvtKstarstargamma.cpp
@@ -1,187 +1,185 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2002 Caltech
//
// Module: EvtKstarstargamma.cc
//
// Description: Routine for the decau B->K**gamma
//
// Modification history:
//
// Ryd November 15, 2002 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtVectorParticle.hh"
#include "EvtGenBase/EvtPhotonParticle.hh"
#include "EvtGenBase/EvtTensorParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtKstarstargamma.hh"
#include <string>
#include "EvtGenBase/EvtEvalHelAmp.hh"
#include "EvtGenBase/EvtPropBreitWignerRel.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
-EvtKstarstargamma::~EvtKstarstargamma() {}
-
std::string EvtKstarstargamma::getName(){
- return "KSTARSTARGAMMA";
-
+ return "KSTARSTARGAMMA";
+
}
EvtDecayBase* EvtKstarstargamma::clone(){
return new EvtKstarstargamma;
}
void EvtKstarstargamma::init(){
// check that there are 0 arguments
checkNArg(0);
// check that there are 3 daughters
checkNDaug(3);
// check the parent and daughter spins
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::PHOTON);
}
void EvtKstarstargamma::initProbMax() {
//setProbMax(1.0);
-}
+}
void EvtKstarstargamma::decay( EvtParticle * /*p*/){
/*
The EvtEvalHelAmp is completely broken...
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle* kaon = p->getDaug(0);
EvtParticle* pion = p->getDaug(1);
EvtParticle* photon = p->getDaug(2);
EvtComplexPtrPtr Hd1=new EvtComplexPtr[5];
- Hd1[0]=new EvtComplex[2];
- Hd1[1]=new EvtComplex[2];
- Hd1[2]=new EvtComplex[2];
- Hd1[3]=new EvtComplex[2];
- Hd1[4]=new EvtComplex[2];
+ Hd1[0]=new EvtComplex[2];
+ Hd1[1]=new EvtComplex[2];
+ Hd1[2]=new EvtComplex[2];
+ Hd1[3]=new EvtComplex[2];
+ Hd1[4]=new EvtComplex[2];
Hd1[0][0]=0.0;
Hd1[0][1]=0.0;
Hd1[1][0]=0.0;
Hd1[1][1]=0.0;
Hd1[2][0]=0.0;
Hd1[2][1]=0.0;
Hd1[3][0]=0.0;
Hd1[3][1]=1.0;
Hd1[4][0]=0.0;
Hd1[4][1]=0.0;
EvtEvalHelAmp d1(EvtSpinType::SCALAR,EvtSpinType::TENSOR,
EvtSpinType::PHOTON,Hd1);
EvtScalarParticle theB;
theB.init(p->getId(),p->getP4Restframe());
EvtVector4R theKstarP4=kaon->getP4()+pion->getP4();
EvtTensorParticle theKstar;
theKstar.init(EvtPDL::getId(std::string("K_2*0")),theKstarP4);
EvtPhotonParticle thePhoton;
thePhoton.init(EvtPDL::getId(std::string("K_2*0")),photon->getP4());
theKstar.addDaug(&theB);
thePhoton.addDaug(&theB);
EvtAmp amp1;
d1.evalAmp(&theB,amp1);
EvtComplexPtrPtr Hd2=new EvtComplexPtr[1];
- Hd2[0]=new EvtComplex[1];
+ Hd2[0]=new EvtComplex[1];
Hd2[0][0]=1.0;
EvtEvalHelAmp d2(EvtSpinType::TENSOR,EvtSpinType::SCALAR,
EvtSpinType::SCALAR,Hd2);
-
-
+
+
EvtVector4R theKstarP4boost(theKstarP4.get(0),-theKstarP4.get(1),-theKstarP4.get(2),-theKstarP4.get(3));
-
+
EvtScalarParticle theKaon;
theKaon.init(EvtPDL::getId(std::string("K+")),boostTo(kaon->getP4(),theKstarP4boost));
EvtScalarParticle thePion;
thePion.init(EvtPDL::getId(std::string("pi+")),boostTo(pion->getP4(),theKstarP4boost));
-
+
theKaon.addDaug(&theKstar);
thePion.addDaug(&theKstar);
// Calculate the propagator
double m = theKstarP4.mass();
EvtTwoBodyVertex v(0.5,0.14,1.4,2);
EvtTwoBodyKine v1(0.5,0.14,m);
EvtPropBreitWignerRel prop(1.4,0.2);
// Mass-dependent width correction and amplitude calculation
double width = prop.g0() * v.widthFactor(v1);
prop.set_g0(width);
EvtComplex bwamp = prop.evaluate(m);
EvtAmp amp2;
d2.evalAmp(&theKstar,amp2);
vertex(0,bwamp*(amp1._amp[0]*amp2._amp[0]+
amp1._amp[1]*amp2._amp[1]+
amp1._amp[2]*amp2._amp[2]+
amp1._amp[3]*amp2._amp[3]+
amp1._amp[4]*amp2._amp[4]));
vertex(1,bwamp*(amp1._amp[5]*amp2._amp[0]+
amp1._amp[6]*amp2._amp[1]+
amp1._amp[7]*amp2._amp[2]+
amp1._amp[8]*amp2._amp[3]+
amp1._amp[9]*amp2._amp[4]));
*/
-
+
return;
}
diff --git a/src/EvtGenModels/EvtLNuGamma.cpp b/src/EvtGenModels/EvtLNuGamma.cpp
index 869da32..bc4a702 100644
--- a/src/EvtGenModels/EvtLNuGamma.cpp
+++ b/src/EvtGenModels/EvtLNuGamma.cpp
@@ -1,173 +1,167 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2001 Caltech
//
// Module: EvtLNuGamma.cc
//
// Description: B+ -> l+ nu gamma
-//
+//
//
// Modification history:
//
// Edward Chen April 24, 2001 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtLNuGamma.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtTensor4C.hh"
-EvtLNuGamma::EvtLNuGamma(){
- _fafvzero = false;
-}
-
-EvtLNuGamma::~EvtLNuGamma() {}
-
std::string EvtLNuGamma::getName(){
- return "LNUGAMMA";
+ return "LNUGAMMA";
}
EvtDecayBase* EvtLNuGamma::clone(){
return new EvtLNuGamma;
}
void EvtLNuGamma::init(){
// check that there are 3 or 4 arguments
checkNArg(3,4);
checkNDaug(3);
if (getNArg() == 4){
- // Argv[3] is a flag set to 0 if abs(f_a/f_v) is 1
+ // Argv[3] is a flag set to 0 if abs(f_a/f_v) is 1
// and not set to 0 if f_a/f_v is set to 0.
- if (getArg(3) > 0){
+ if (getArg(3) > 0){
_fafvzero = true;
}
else{
_fafvzero = false;
}
}
else{
_fafvzero = false;
}
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::NEUTRINO);
checkSpinDaughter(2,EvtSpinType::PHOTON);
}
void EvtLNuGamma::initProbMax(){
setProbMax(7000.0);
}
void EvtLNuGamma::decay(EvtParticle *p){
static EvtId BM=EvtPDL::getId("B-");
static EvtId DM=EvtPDL::getId("D-");
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtComplex myI(0,1);
EvtParticle *lept, *neut,*phot;
lept=p->getDaug(0);
neut=p->getDaug(1);
phot=p->getDaug(2);
EvtVector4C lept1,lept2,photon1,photon2;
if (p->getId()==BM||p->getId()==DM) {
lept1=EvtLeptonVACurrent(lept->spParent(0),neut->spParentNeutrino());
lept2=EvtLeptonVACurrent(lept->spParent(1),neut->spParentNeutrino());
}
else{
lept1=EvtLeptonVACurrent(neut->spParentNeutrino(),lept->spParent(0));
lept2=EvtLeptonVACurrent(neut->spParentNeutrino(),lept->spParent(1));
}
EvtVector4R photp = phot->getP4(); // Photon 4-momentum in parent rest frame
double photE = photp.get(0); // Photon energy in parent rest frame
EvtVector4C photone1 = phot->epsParentPhoton(0).conj();
EvtVector4C photone2 = phot->epsParentPhoton(1).conj();
EvtVector4R parVelocity(1,0,0,0); // Parent velocity in parent rest-frame
double fv,fa;
fv = getFormFactor(photE);
if (_fafvzero){
fa = 0.0;
}
else if (p->getId()==BM||p->getId()==DM) {
fa = - fv;
}
else{
fa = fv;
}
EvtVector4C temp1a = dual(EvtGenFunctions::directProd(parVelocity,photp)).cont2(photone1);
EvtVector4C temp2a = dual(EvtGenFunctions::directProd(parVelocity,photp)).cont2(photone2);
EvtVector4C temp1b = (photone1)*(parVelocity*photp);
EvtVector4C temp1c = (photp)*(photone1*parVelocity);
EvtVector4C temp2b = (photone2)*(parVelocity*photp);
EvtVector4C temp2c = (photp)*(photone2*parVelocity);
photon1 = (temp1a*fv) + (myI*fa*(temp1b - temp1c));
photon2 = (temp2a*fv) + (myI*fa*(temp2b - temp2c));
vertex(0,0,lept1.cont(photon1));
vertex(0,1,lept1.cont(photon2));
vertex(1,0,lept2.cont(photon1));
vertex(1,1,lept2.cont(photon2));
-
+
return;
}
double EvtLNuGamma::getFormFactor(double photonEnergy){
// Arg[0] = photon mass cutoff (GeV)
// Arg[1] = R (GeV^(-1))
// Arg[2] = m_b (GeV)
// Using Korchemsky et al. Phy Rev D 61 (2000) 114510
// Up to a constant
-
+
double formFactor = 0;
double qu = 2./3.;
double qb = -1./3.;
if (photonEnergy > getArg(0)){
formFactor = (1/photonEnergy) * ((qu*getArg(1)) - (qb/getArg(2)));
}
return formFactor;
}
diff --git a/src/EvtGenModels/EvtLambdaB2LambdaV.cpp b/src/EvtGenModels/EvtLambdaB2LambdaV.cpp
index 2067d19..fa061b4 100644
--- a/src/EvtGenModels/EvtLambdaB2LambdaV.cpp
+++ b/src/EvtGenModels/EvtLambdaB2LambdaV.cpp
@@ -1,1233 +1,1210 @@
#include "EvtGenModels/EvtLambdaB2LambdaV.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <fstream>
#include <stdio.h>
#include <string>
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
using std::fstream ;
//************************************************************************
//* *
//* Class EvtLambdaB2LambdaV *
//* *
//************************************************************************
-//DECLARE_ALGORITHM_FACTORY( EvtLambdaB2LambdaV );
+//DECLARE_COMPONENT( EvtLambdaB2LambdaV );
EvtLambdaB2LambdaV::EvtLambdaB2LambdaV()
{
//set facility name
- fname="EvtGen.EvtLambdaB2LambdaV";
+ fname="EvtGen.EvtLambdaB2LambdaV";
}
//------------------------------------------------------------------------
-// Destructor
-//------------------------------------------------------------------------
-EvtLambdaB2LambdaV::~EvtLambdaB2LambdaV()
-{}
-
-
-//------------------------------------------------------------------------
// Method 'getName'
//------------------------------------------------------------------------
std::string EvtLambdaB2LambdaV::getName()
{
return "LAMBDAB2LAMBDAV";
}
//------------------------------------------------------------------------
// Method 'clone'
//------------------------------------------------------------------------
EvtDecayBase* EvtLambdaB2LambdaV::clone()
{
return new EvtLambdaB2LambdaV;
}
//------------------------------------------------------------------------
// Method 'initProbMax'
//------------------------------------------------------------------------
void EvtLambdaB2LambdaV::initProbMax()
{
//maximum (case where C=0)
double Max = 1+fabs(A*B);
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" PDF max value : "<<Max<<std::endl;
setProbMax(Max);
}
//------------------------------------------------------------------------
// Method 'init'
//------------------------------------------------------------------------
void EvtLambdaB2LambdaV::init()
{
bool antiparticle=false;
-
+
//introduction
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<< "*************************************************"<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<< "* Event Model Class : EvtLambdaB2LambdaV *"<<std::endl;
- EvtGenReport(EVTGEN_DEBUG,fname.c_str())<< "*************************************************"<<std::endl;
+ EvtGenReport(EVTGEN_DEBUG,fname.c_str())<< "*************************************************"<<std::endl;
//check the number of arguments
checkNArg(2);
-
-
+
+
//check the number of daughters
checkNDaug(2);
const EvtId Id_mother = getParentId();
const EvtId Id_daug1 = getDaug(0);
const EvtId Id_daug2 = getDaug(1);
-
- //lambdab identification
- if (Id_mother==EvtPDL::getId("Lambda_b0"))
+
+ //lambdab identification
+ if (Id_mother==EvtPDL::getId("Lambda_b0"))
{
antiparticle=false;
}
else if (Id_mother==EvtPDL::getId("anti-Lambda_b0"))
{
- antiparticle=true;
+ antiparticle=true;
}
else
- {
+ {
EvtGenReport(EVTGEN_ERROR,fname.c_str())<<" Mother is not a Lambda_b0 or an anti-Lambda_b0, but a "
<<EvtPDL::name(Id_mother)<<std::endl;
abort();
}
//lambda
- if ( !(Id_daug1==EvtPDL::getId("Lambda0") && !antiparticle ) && !(Id_daug1==EvtPDL::getId("anti-Lambda0") && antiparticle) )
- {
+ if ( !(Id_daug1==EvtPDL::getId("Lambda0") && !antiparticle ) && !(Id_daug1==EvtPDL::getId("anti-Lambda0") && antiparticle) )
+ {
if (!antiparticle)
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter1 is not a Lambda0, but a "
<< EvtPDL::name(Id_daug1)<<std::endl;
}
else
{ EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter1 is not an anti-Lambda0, but a "
<< EvtPDL::name(Id_daug1)<<std::endl;
}
abort();
}
//identification meson V
if (getArg(1)==1) Vtype=VID::JPSI;
else if (getArg(1)==2) Vtype=VID::RHO;
else if (getArg(1)==3) Vtype=VID::OMEGA;
else if (getArg(1)==4) Vtype=VID::RHO_OMEGA_MIXING;
- else
+ else
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Vtype " <<getArg(1)<<" is unknown"<<std::endl;
abort();
}
-
+
//check vector meson V
- if (Id_daug2==EvtPDL::getId("J/psi") && Vtype==VID::JPSI)
+ if (Id_daug2==EvtPDL::getId("J/psi") && Vtype==VID::JPSI)
{
if (!antiparticle) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : Lambda_b0 -> Lambda J/psi"<<std::endl;
else EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : anti-Lambda_b0 -> anti-Lambda J/psi"<<std::endl;
}
- else if (Id_daug2==EvtPDL::getId("rho0") && Vtype==VID::RHO )
+ else if (Id_daug2==EvtPDL::getId("rho0") && Vtype==VID::RHO )
{
if (!antiparticle) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : Lambda_b0 -> Lambda rho0"<<std::endl;
else EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : anti-Lambda_b0 -> anti-Lambda rho0"<<std::endl;
}
- else if (Id_daug2==EvtPDL::getId("omega") && Vtype==VID::OMEGA)
+ else if (Id_daug2==EvtPDL::getId("omega") && Vtype==VID::OMEGA)
{
if (!antiparticle) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : Lambda_b0 -> Lambda omega"<<std::endl;
else EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : anti-Lambda_b0 -> anti-Lambda omega"<<std::endl;
}
- else if ((Id_daug2==EvtPDL::getId("omega") || Id_daug2==EvtPDL::getId("rho0") )&& Vtype==VID::RHO_OMEGA_MIXING)
+ else if ((Id_daug2==EvtPDL::getId("omega") || Id_daug2==EvtPDL::getId("rho0") )&& Vtype==VID::RHO_OMEGA_MIXING)
{
if (!antiparticle) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : "
<<"Lambda_b0 -> Lambda rho-omega-mixing"<<std::endl;
else EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : "
- <<"anti-Lambda_b0 -> anti-Lambda rho-omega-mixing"<<std::endl;
+ <<"anti-Lambda_b0 -> anti-Lambda rho-omega-mixing"<<std::endl;
}
-
+
else
{
EvtGenReport(EVTGEN_ERROR,fname.c_str())<<" Daughter2 is not a J/psi, phi or rho0 but a "
<<EvtPDL::name(Id_daug2)<<std::endl;
- abort();
+ abort();
}
//fix dynamics parameters
B = (double) getArg(0);
C = EvtComplex((sqrt(2.)/2.),(sqrt(2.)/2.));
switch(Vtype)
{
case VID::JPSI : A = 0.490; break;
case VID::RHO :
case VID::OMEGA :
case VID::RHO_OMEGA_MIXING : A = 0.194; break;
default : A = 0; break;
}
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" LambdaB decay parameters : "<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" - lambda asymmetry A = "<<A<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" - lambdab polarisation B = "<<B<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" - lambdab density matrix rho+- C = "<<C<<std::endl;
-
-
+
+
}
//------------------------------------------------------------------------
// Method 'decay'
//------------------------------------------------------------------------
void EvtLambdaB2LambdaV::decay( EvtParticle *lambdab)
{
lambdab->makeDaughters(getNDaug(),getDaugs());
//get lambda and V particles
EvtParticle * lambda = lambdab->getDaug(0);
EvtParticle * V = lambdab->getDaug(1);
//get resonance masses
// - LAMBDAB -> mass given by the preceding class
// - LAMBDA -> nominal mass
- // - V -> getVmass method
+ // - V -> getVmass method
double MASS_LAMBDAB = lambdab->mass();
double MASS_LAMBDA = EvtPDL::getMeanMass(EvtPDL::getId("Lambda0"));
double MASS_V = getVMass(MASS_LAMBDAB,MASS_LAMBDA);
-
+
//generate random angles
double phi = EvtRandom::Flat(0,2*EvtConst::pi);
double theta = acos( EvtRandom::Flat(-1,+1));
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Angular angles : theta = "<<theta
<<" ; phi = "<<phi<<std::endl;
//computate resonance quadrivectors
double E_lambda = (MASS_LAMBDAB*MASS_LAMBDAB + MASS_LAMBDA*MASS_LAMBDA - MASS_V*MASS_V)
/(2*MASS_LAMBDAB);
double E_V = (MASS_LAMBDAB*MASS_LAMBDAB + MASS_V*MASS_V - MASS_LAMBDA*MASS_LAMBDA)
/(2*MASS_LAMBDAB);
double P = sqrt(E_lambda*E_lambda-lambda->mass()*lambda->mass());
-
+
EvtVector4R P_lambdab=lambdab->getP4();
double px = P_lambdab.get(1);
double py = P_lambdab.get(2);
double pz = P_lambdab.get(3);
double E = P_lambdab.get(0);
EvtGenReport(EVTGEN_INFO,fname.c_str())<<"E of lambdab: "<< P_lambdab.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<"E of lambdab: "<< E<<std::endl;
-
+
EvtVector4R q_lambdab2 (E,
((1/(sqrt(pow(px,2)+pow(py,2))))*((px*(px))+(py*(py)))),
((1/(sqrt(pow(px,2)+pow(py,2))))*(-((py)*(px))+(px*(py)))),
(pz));
EvtVector4R q_lambdab3 (E,
q_lambdab2.get(3),
q_lambdab2.get(1),
q_lambdab2.get(2));
-
+
EvtVector4R q_lambda0 (E_lambda,
P*sin(theta)*cos(phi),
P*sin(theta)*sin(phi),
P*cos(theta) );
EvtVector4R q_V0 (E_V,
-P*sin(theta)*cos(phi),
-P*sin(theta)*sin(phi),
-P*cos(theta) );
-
+
EvtVector4R q_lambda1 (E_lambda,
q_lambda0.get(2),
q_lambda0.get(3),
q_lambda0.get(1) );
EvtVector4R q_V1 (E_V,
q_V0.get(2),
q_V0.get(3),
q_V0.get(1) );
-
+
EvtVector4R q_lambda (E_lambda,
((1/(sqrt(pow(px,2)+pow(py,2))))*((px*(q_lambda1.get(1))) - (py*(q_lambda1.get(2))))),
((1/(sqrt(pow(px,2)+pow(py,2))))*((py*(q_lambda1.get(1))) + (px*(q_lambda1.get(2))))),
(q_lambda1.get(3)));
-
-
+
+
EvtVector4R q_V (E_V,
((1/(sqrt(pow(px,2)+pow(py,2))))*((px*(q_V1.get(1))) - (py*(q_V1.get(2))))),
((1/(sqrt(pow(px,2)+pow(py,2))))*((py*(q_V1.get(1))) + (px*(q_V1.get(2))))),
(q_V1.get(3)));
-
-
+
+
lambda->getP4();
V->getP4();
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" LambdaB px: "<<px<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" LambdaB py: "<<py<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" LambdaB pz: "<<pz<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" LambdaB E: "<<E<<std::endl;
-
+
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab3 E: "<<q_lambdab3.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 0 px: "<<q_lambda0.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 0 py: "<<q_lambda0.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 0 pz: "<<q_lambda0.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 0 E: "<<q_lambda0.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 1 px: "<<q_lambda1.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 1 py: "<<q_lambda1.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 1 pz: "<<q_lambda1.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 1 E: "<<q_lambda1.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda px: "<<q_lambda.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda py: "<<q_lambda.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda pz: "<<q_lambda.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda E: "<<q_lambda0.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 0 px: "<<q_V0.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 0 py: "<<q_V0.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 0 pz: "<<q_V0.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 0 E: "<<q_V0.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 1 px: "<<q_V1.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 1 py: "<<q_V1.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 1 pz: "<<q_V1.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 1 E: "<<q_V1.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V px: "<<q_V.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V py: "<<q_V.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V pz: "<<q_V.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V E: "<<q_V0.get(3)<<std::endl;
//set quadrivectors to particles
lambda ->init(getDaugs()[0],q_lambda);
V ->init(getDaugs()[1],q_V );
-
+
//computate pdf
double pdf = 1 + A*B*cos(theta) + 2*A*real(C*EvtComplex(cos(phi),sin(phi)))*sin(theta);
-
+
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" LambdaB decay pdf value : "<<pdf<<std::endl;
//set probability
setProb(pdf);
-
+
return;
}
//------------------------------------------------------------------------
// Method 'BreitWignerRelPDF'
//------------------------------------------------------------------------
double EvtLambdaB2LambdaV::BreitWignerRelPDF(double m,double _m0, double _g0)
{
double a = (_m0 * _g0) * (_m0 * _g0);
double b = (m*m - _m0*_m0)*(m*m - _m0*_m0);
return a/(b+a);
}
//------------------------------------------------------------------------
// Method 'RhoOmegaMixingPDF'
//------------------------------------------------------------------------
double EvtLambdaB2LambdaV::RhoOmegaMixingPDF(double m, double _mr, double _gr, double _mo, double _go)
{
double a = m*m - _mr*_mr;
double b = m*m - _mo*_mo;
double c = _gr*_mr;
double d = _go*_mo;
double re_pi = -3500e-6; //GeV^2
double im_pi = -300e-6; //GeV^2
double va_pi = re_pi+im_pi;
//computate pdf value
double f = 1/(a*a+c*c) * ( 1+
- (va_pi*va_pi+2*b*re_pi+2*d*im_pi)/(b*b+d*d));
+ (va_pi*va_pi+2*b*re_pi+2*d*im_pi)/(b*b+d*d));
//computate pdf max value
a = 0;
b = _mr*_mr - _mo*_mo;
-
+
double maxi = 1/(a*a+c*c) * ( 1+
- (va_pi*va_pi+2*b*re_pi+2*d*im_pi)/(b*b+d*d));
+ (va_pi*va_pi+2*b*re_pi+2*d*im_pi)/(b*b+d*d));
return f/maxi;
}
//------------------------------------------------------------------------
// Method 'getVMass'
//------------------------------------------------------------------------
double EvtLambdaB2LambdaV::getVMass(double MASS_LAMBDAB, double MASS_LAMBDA)
{
//JPSI case
if (Vtype==VID::JPSI)
{
return EvtPDL::getMass(EvtPDL::getId("J/psi"));
}
//RHO,OMEGA,MIXING case
else
{
//parameters
double MASS_RHO = EvtPDL::getMeanMass(EvtPDL::getId("rho0"));
double MASS_OMEGA = EvtPDL::getMeanMass(EvtPDL::getId("omega"));
double WIDTH_RHO = EvtPDL::getWidth(EvtPDL::getId("rho0"));
double WIDTH_OMEGA = EvtPDL::getWidth(EvtPDL::getId("omega"));
double MASS_PION = EvtPDL::getMeanMass(EvtPDL::getId("pi-"));
double _max = MASS_LAMBDAB - MASS_LAMBDA;
double _min = 2*MASS_PION;
- double mass=0; bool test=false; int ntimes=10000;
+ double mass=0; bool test=false; int ntimes=10000;
do
- {
+ {
double y = EvtRandom::Flat(0,1);
-
+
//generate mass
mass = (_max-_min) * EvtRandom::Flat(0,1) + _min;
//pdf calculate
double f=0;
switch(Vtype)
{
case VID::RHO : f = BreitWignerRelPDF(mass,MASS_RHO,WIDTH_RHO); break;
case VID::OMEGA : f = BreitWignerRelPDF(mass,MASS_OMEGA,WIDTH_OMEGA); break;
case VID::RHO_OMEGA_MIXING : f = RhoOmegaMixingPDF(mass,MASS_RHO,WIDTH_RHO,
MASS_OMEGA,WIDTH_OMEGA); break;
- default : f = 1; break;
+ default : f = 1; break;
}
ntimes--;
if (y<f) test=true;
}while(ntimes && !test);
//looping 10000 times
if (ntimes==0)
{
EvtGenReport(EVTGEN_INFO,fname.c_str()) << "Tried accept/reject:10000"
- <<" times, and rejected all the times!"<<std::endl;
+ <<" times, and rejected all the times!"<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str()) << "Is therefore accepting the last event!"<<std::endl;
}
//return V particle mass
return mass;
- }
+ }
}
//************************************************************************
//* *
//* Class EvtLambda2PPiForLambdaB2LambdaV *
//* *
//************************************************************************
//------------------------------------------------------------------------
// Constructor
//------------------------------------------------------------------------
EvtLambda2PPiForLambdaB2LambdaV::EvtLambda2PPiForLambdaB2LambdaV()
-{
- //set facility name
- fname="EvtGen.EvtLambda2PPiForLambdaB2LambdaV";
-}
-
-
-//------------------------------------------------------------------------
-// Destructor
-//------------------------------------------------------------------------
-EvtLambda2PPiForLambdaB2LambdaV::~EvtLambda2PPiForLambdaB2LambdaV()
{
+ //set facility name
+ fname="EvtGen.EvtLambda2PPiForLambdaB2LambdaV";
}
//------------------------------------------------------------------------
// Method 'getName'
//------------------------------------------------------------------------
std::string EvtLambda2PPiForLambdaB2LambdaV::getName()
{
return "LAMBDA2PPIFORLAMBDAB2LAMBDAV";
}
//------------------------------------------------------------------------
// Method 'clone'
//------------------------------------------------------------------------
EvtDecayBase* EvtLambda2PPiForLambdaB2LambdaV::clone()
{
return new EvtLambda2PPiForLambdaB2LambdaV;
}
//------------------------------------------------------------------------
// Method 'initProbMax'
//------------------------------------------------------------------------
void EvtLambda2PPiForLambdaB2LambdaV::initProbMax()
{
//maximum (case where D is real)
double Max=0;
if (A==0) Max=1;
else if (C==0 || real(D)==0) Max=1+fabs(A*B);
else if (B==0) Max=1+ EvtConst::pi/2.0*fabs(C*A*real(D));
else
{
- double theta_max = atan(- EvtConst::pi/2.0*C*real(D)/B);
+ double theta_max = atan(- EvtConst::pi/2.0*C*real(D)/B);
double max1 = 1 + fabs(A*B*cos(theta_max)
- EvtConst::pi/2.0*C*A*real(D)*sin(theta_max));
double max2 = 1 + fabs(A*B);
- if (max1>max2) Max=max1; else Max=max2;
+ if (max1>max2) Max=max1; else Max=max2;
}
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" PDF max value : "<<Max<<std::endl;
setProbMax(Max);
}
//------------------------------------------------------------------------
// Method 'init'
//------------------------------------------------------------------------
void EvtLambda2PPiForLambdaB2LambdaV::init()
{
bool antiparticle=false;
-
+
//introduction
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" ***********************************************************"<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" * Event Model Class : EvtLambda2PPiForLambdaB2LambdaV *"<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" ***********************************************************"<<std::endl;
//check the number of arguments
checkNArg(2);
-
+
//check the number of daughters
checkNDaug(2);
const EvtId Id_mother = getParentId();
const EvtId Id_daug1 = getDaug(0);
const EvtId Id_daug2 = getDaug(1);
- //lambda identification
- if (Id_mother==EvtPDL::getId("Lambda0"))
+ //lambda identification
+ if (Id_mother==EvtPDL::getId("Lambda0"))
{
antiparticle=false;
}
else if (Id_mother==EvtPDL::getId("anti-Lambda0"))
{
- antiparticle=true;
+ antiparticle=true;
}
else
- {
+ {
EvtGenReport(EVTGEN_ERROR,fname.c_str())<<" Mother is not a Lambda0 or an anti-Lambda0, but a "
<<EvtPDL::name(Id_mother)<<std::endl;
abort();
}
//proton identification
- if ( !(Id_daug1==EvtPDL::getId("p+") && !antiparticle ) && !(Id_daug1==EvtPDL::getId("anti-p-") && antiparticle) )
- {
+ if ( !(Id_daug1==EvtPDL::getId("p+") && !antiparticle ) && !(Id_daug1==EvtPDL::getId("anti-p-") && antiparticle) )
+ {
if (!antiparticle)
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter1 is not a p+, but a "
<< EvtPDL::name(Id_daug1)<<std::endl;
}
else
{ EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter1 is not an anti-p-, but a "
<< EvtPDL::name(Id_daug1)<<std::endl;
}
abort();
}
//pion identification
- if ( !(Id_daug2==EvtPDL::getId("pi-") && !antiparticle ) && !(Id_daug2==EvtPDL::getId("pi+") && antiparticle) )
- {
+ if ( !(Id_daug2==EvtPDL::getId("pi-") && !antiparticle ) && !(Id_daug2==EvtPDL::getId("pi+") && antiparticle) )
+ {
if (!antiparticle)
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter2 is not a p-, but a "
<< EvtPDL::name(Id_daug1)<<std::endl;
}
else
{ EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter2 is not an p+, but a "
<< EvtPDL::name(Id_daug1)<<std::endl;
}
abort();
}
if (!antiparticle) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : Lambda0 -> p+ pi-"<<std::endl;
else EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : Anti-Lambda0 -> anti-p- pi+"<<std::endl;
//identification meson V
if (getArg(1)==1)
{
Vtype=VID::JPSI;
if (!antiparticle) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" From : Lambda_b0 -> Lambda J/psi"<<std::endl;
else EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" From : anti-Lambda_b0 -> anti-Lambda J/psi"<<std::endl;
}
else if (getArg(1)==2)
{
Vtype=VID::RHO;
if (!antiparticle) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" From : Lambda_b0 -> Lambda rho0"<<std::endl;
else EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" From : anti-Lambda_b0 -> anti-Lambda rho0"<<std::endl;
}
else if (getArg(1)==3)
- {
+ {
Vtype=VID::OMEGA;
if (!antiparticle) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" From : Lambda_b0 -> Lambda omega"<<std::endl;
else EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" From : anti-Lambda_b0 -> anti-Lambda omega"<<std::endl;
}
- else if (getArg(1)==4)
+ else if (getArg(1)==4)
{
Vtype=VID::RHO_OMEGA_MIXING;
}
- else
+ else
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Vtype " <<getArg(1)<<" is unknown"<<std::endl;
if (!antiparticle) {
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" From : Lambda_b0 -> Lambda rho-omega-mixing"<<std::endl;
} else {
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" From : anti-Lambda_b0 -> anti-Lambda rho-omega-mixing"<<std::endl;
}
abort();
}
//constants
A = 0.642;
C = (double) getArg(0);
switch(Vtype)
{
case VID::JPSI : B = -0.167; D = EvtComplex(0.25,0.0); break;
case VID::RHO :
case VID::OMEGA :
case VID::RHO_OMEGA_MIXING : B = -0.21; D = EvtComplex(0.31,0.0); break;
default : B = 0; D = EvtComplex(0,0); break;
}
-
+
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Lambda decay parameters : "<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" - proton asymmetry A = "<<A<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" - lambda polarisation B = "<<B<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" - lambdaB polarisation C = "<<C<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" - lambda density matrix rho+- D = "<<D<<std::endl;
}
//------------------------------------------------------------------------
// Method 'decay'
//------------------------------------------------------------------------
void EvtLambda2PPiForLambdaB2LambdaV::decay( EvtParticle *lambda )
{
lambda->makeDaughters(getNDaug(),getDaugs());
-
+
//get proton and pion particles
EvtParticle * proton = lambda->getDaug(0);
EvtParticle * pion = lambda->getDaug(1);
//get resonance masses
// - LAMBDA -> mass given by EvtLambdaB2LambdaV class
// - PROTON & PION -> nominal mass
double MASS_LAMBDA = lambda->mass();
double MASS_PROTON = EvtPDL::getMeanMass(EvtPDL::getId("p+"));
double MASS_PION = EvtPDL::getMeanMass(EvtPDL::getId("pi-"));
//generate random angles
double phi = EvtRandom::Flat(0,2*EvtConst::pi);
double theta = acos( EvtRandom::Flat(-1,+1));
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Angular angles : theta = "<<theta<<" ; phi = "<<phi<<std::endl;
//computate resonance quadrivectors
double E_proton = (MASS_LAMBDA*MASS_LAMBDA + MASS_PROTON*MASS_PROTON - MASS_PION*MASS_PION)
/(2*MASS_LAMBDA);
double E_pion = (MASS_LAMBDA*MASS_LAMBDA + MASS_PION*MASS_PION - MASS_PROTON*MASS_PROTON)
- /(2*MASS_LAMBDA);
+ /(2*MASS_LAMBDA);
double P = sqrt(E_proton*E_proton-proton->mass()*proton->mass());
-
+
EvtVector4R P_lambda=lambda->getP4();
EvtParticle *Mother_lambda=lambda->getParent();
EvtVector4R lambdab=Mother_lambda->getP4();
-
-
+
+
double E_lambda =P_lambda.get(0);
double px_M =lambdab.get(1);
double py_M =lambdab.get(2);
double pz_M =lambdab.get(3);
double E_M =lambdab.get(0);
-
+
EvtVector4R q_lambdab2 (E_M,
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((px_M*(px_M))+(py_M*(py_M)))),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*(-((py_M)*(px_M))+(px_M*(py_M)))),
(pz_M));
EvtVector4R q_lambdab3 (E_M,
q_lambdab2.get(3),
q_lambdab2.get(1),
q_lambdab2.get(2));
-
+
EvtVector4R q_lambda1 (E_lambda,
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((px_M*(P_lambda.get(1))) + (py_M*(P_lambda.get(2))))),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*(-(py_M*(P_lambda.get(1))) + (px_M*(P_lambda.get(2))))),
P_lambda.get(3));
EvtVector4R q_lambda2 (E_lambda,
q_lambda1.get(3),
q_lambda1.get(1),
q_lambda1.get(2));
-
-
+
+
double px=q_lambda2.get(1);
double py=q_lambda2.get(2);
double pz=q_lambda2.get(3);
-
-
-
+
+
+
EvtVector4R q_lambda4 (q_lambda2.get(0),
((1/(sqrt(pow(q_lambda2.get(1),2) + pow(q_lambda2.get(2),2) + pow(q_lambda2.get(3),2))))* (1/(sqrt(pow(q_lambda2.get(1),2) + pow(q_lambda2.get(2),2))))*((q_lambda2.get(1))*(q_lambda2.get(1))*(q_lambda2.get(3))+((q_lambda2.get(2))*(q_lambda2.get(2))*(q_lambda2.get(3))) - ((q_lambda2.get(3))*(pow(q_lambda2.get(1),2) + pow(q_lambda2.get(2),2))))),
((((q_lambda2.get(2))*(q_lambda2.get(1)))-((q_lambda2.get(1))*(q_lambda2.get(2))))/(sqrt(pow(q_lambda2.get(1),2) + pow(q_lambda2.get(2),2)))),
(((1/sqrt(pow(q_lambda2.get(1),2) + pow(q_lambda2.get(2),2) + pow(q_lambda2.get(3),2)))*( ((q_lambda2.get(1))*(q_lambda2.get(1))) +((q_lambda2.get(2))*(q_lambda2.get(2))) + ((q_lambda2.get(3))*(q_lambda2.get(3)))))) );
EvtVector4R q_proton1 (E_proton,
P*sin(theta)*cos(phi),
P*sin(theta)*sin(phi),
P*cos(theta));
EvtVector4R q_pion1 (E_pion,
-P*sin(theta)*cos(phi),
-P*sin(theta)*sin(phi),
-P*cos(theta));
-
+
EvtVector4R q_proton3 (E_proton,
((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))* (1/(sqrt(pow(px,2) + pow(py,2))))*((q_proton1.get(1))*(px)*(pz) - ((q_proton1.get(2))*(py)*((sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))) + (((q_proton1.get(3)))*(sqrt(pow(px,2) + pow(py,2)))*(px)))),
(((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2)))))* (1/(sqrt(pow(px,2) + pow(py,2))))*(((q_proton1.get(1)))*(py)*(pz) + ((q_proton1.get(2))*(px)*((sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))) + (((q_proton1.get(3)))*(sqrt(pow(px,2) + pow(py,2)))*(py)))) ,
(((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2)))))*((-(q_proton1.get(1)))*((sqrt(pow(px,2) + pow(py,2)))) + ((q_proton1.get(3))*(pz)))));
EvtVector4R q_pion3 (E_pion,
((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))* (1/(sqrt(pow(px,2) + pow(py,2))))*((q_pion1.get(1))*(px)*(pz) - ((q_pion1.get(2))*(py)*((sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))) + (((q_pion1.get(3)))*(sqrt(pow(px,2) + pow(py,2)))*(px)))),
(((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2)))))* (1/(sqrt(pow(px,2) + pow(py,2))))*((q_pion1.get(1))*(py)*(pz) + ((q_pion1.get(2))*(px)*((sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))) + (((q_pion1.get(3)))*(sqrt(pow(px,2) + pow(py,2)))*(py)))) ,
((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))*((-(q_pion1.get(1)))*((sqrt(pow(px,2) + pow(py,2)))) + ((q_pion1.get(3))*(pz)))));
EvtVector4R q_proton5 (q_proton3.get(0),
(q_proton3.get(2)),
(q_proton3.get(3)),
(q_proton3.get(1)));
-
+
EvtVector4R q_pion5 (q_pion3.get(0),
(q_pion3.get(2)),
(q_pion3.get(3)),
(q_pion3.get(1)));
-
+
EvtVector4R q_proton (q_proton5.get(0),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((px_M*(q_proton5.get(1)))-(py_M*(q_proton5.get(2))))),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((py_M*(q_proton5.get(1)))+(px_M*(q_proton5.get(2))))),
(q_proton5.get(3)));
-
-
+
+
EvtVector4R q_pion (q_pion5.get(0),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((px_M*(q_pion5.get(1)))-(py_M*(q_pion5.get(2))))),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((py_M*(q_pion5.get(1)))+(px_M*(q_pion5.get(2))))),
(q_pion5.get(3)));
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab px: "<<px_M<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab py: "<<py_M<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab pz: "<<pz_M<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab E: "<<E_M<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab2 px: "<<q_lambdab2.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab2 py: "<<q_lambdab2.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab2 pz: "<<q_lambdab2.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab2 E: "<<q_lambdab2.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab3 px: "<<q_lambdab3.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab3 py: "<<q_lambdab3.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab3 pz: "<<q_lambdab3.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab3 E: "<<q_lambdab3.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 0 px: "<<P_lambda.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 0 py: "<<P_lambda.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 0 pz: "<<P_lambda.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 0 E: "<<P_lambda.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 1 px: "<<q_lambda1.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 1 py: "<<q_lambda1.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 1 pz: "<<q_lambda1.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 1 E: "<<q_lambda1.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 2 px: "<<q_lambda2.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 2 py: "<<q_lambda2.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 2 pz: "<<q_lambda2.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda 2 E: "<<q_lambda2.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda px: "<<px<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda py: "<<py<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambda pz: "<<pz<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 1 px: "<<q_pion1.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 1 py: "<<q_pion1.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 1 pz: "<<q_pion1.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 1 E: "<<q_pion1.get(0)<<std::endl;
-
+
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 3 px: "<<q_pion3.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 3 px: "<<q_pion3.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 3 py: "<<q_pion3.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 3 pz: "<<q_pion3.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 3 E: "<<q_pion3.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 5 px: "<<q_pion5.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 5 py: "<<q_pion5.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 5 pz: "<<q_pion5.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion 5 E: "<<q_pion5.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 1 px: "<<q_proton1.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 1 py: "<<q_proton1.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 1 pz: "<<q_proton1.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 1 E: "<<q_proton1.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 3 px: "<<q_proton3.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 3 py: "<<q_proton3.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 3 pz: "<<q_proton3.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 3 E: "<<q_proton3.get(0)<<std::endl;
-
+
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 5 px: "<<q_proton5.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 5 py: "<<q_proton5.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 5 pz: "<<q_proton5.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton 5 E: "<<q_proton5.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton px: "<<q_proton.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" proton py: "<<q_proton.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<"proton pz: "<<q_proton.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion px: "<<q_pion.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion py: "<<q_pion.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" pion pz: "<<q_pion.get(3)<<std::endl;
-
-
-
-
+
+
+
+
;
///////////*******NEW********//////////////////////
//set quadrivectors to particles
proton->init(getDaugs()[0],q_proton);
pion ->init(getDaugs()[1],q_pion );
-
+
//computate pdf
//double pdf = 1 + A*B*cos(theta) - EvtConst::pi/2.0*C*A*real(D*EvtComplex(cos(phi),sin(phi)))*sin(theta);
double pdf = 1 + A*B*cos(theta) + 2*A*real(D*EvtComplex(cos(phi),sin(phi)))*sin(theta);
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Lambda decay pdf value : "<<pdf<<std::endl;
//set probability
setProb(pdf);
return;
}
//************************************************************************
//* *
//* Class EvtLambda2PPiForLambdaB2LambdaV *
//* *
//************************************************************************
//------------------------------------------------------------------------
// Constructor
//------------------------------------------------------------------------
EvtV2VpVmForLambdaB2LambdaV::EvtV2VpVmForLambdaB2LambdaV()
{
//set facility name
- fname="EvtGen.EvtV2VpVmForLambdaB2LambdaV";
+ fname="EvtGen.EvtV2VpVmForLambdaB2LambdaV";
}
//------------------------------------------------------------------------
-// Destructor
-//------------------------------------------------------------------------
-EvtV2VpVmForLambdaB2LambdaV::~EvtV2VpVmForLambdaB2LambdaV()
-{}
-
-
-//------------------------------------------------------------------------
// Method 'getName'
//------------------------------------------------------------------------
std::string EvtV2VpVmForLambdaB2LambdaV::getName()
{
return "V2VPVMFORLAMBDAB2LAMBDAV";
}
//------------------------------------------------------------------------
// Method 'clone'
//------------------------------------------------------------------------
EvtDecayBase* EvtV2VpVmForLambdaB2LambdaV::clone()
{
return new EvtV2VpVmForLambdaB2LambdaV;
}
//------------------------------------------------------------------------
// Method 'initProbMax'
//------------------------------------------------------------------------
void EvtV2VpVmForLambdaB2LambdaV::initProbMax()
{
//maximum
double Max = 0;
if (Vtype==VID::JPSI)
{
if ((1-3*A)>0) Max=2*(1-A);
else Max=1+A;
}
else
{
if ((3*A-1)>=0) Max=2*A;
else Max=1-A;
}
-
+
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" PDF max value : "<<Max<<std::endl;
setProbMax(Max);
}
//------------------------------------------------------------------------
// Method 'init'
//------------------------------------------------------------------------
void EvtV2VpVmForLambdaB2LambdaV::init()
{
//introduction
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" ***********************************************************"<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" * Event Model Class : EvtV2VpVmForLambdaB2LambdaV *"<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" ***********************************************************"<<std::endl;
//check the number of arguments
checkNArg(2);
-
+
//check the number of daughters
checkNDaug(2);
const EvtId Id_mother = getParentId();
const EvtId Id_daug1 = getDaug(0);
const EvtId Id_daug2 = getDaug(1);
//identification meson V
if (getArg(1)==1) Vtype=VID::JPSI;
else if (getArg(1)==2) Vtype=VID::RHO;
else if (getArg(1)==3) Vtype=VID::OMEGA;
else if (getArg(1)==4) Vtype=VID::RHO_OMEGA_MIXING;
- else
+ else
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Vtype " <<getArg(1)<<" is unknown"<<std::endl;
abort();
}
//vector meson V
- if (Id_mother==EvtPDL::getId("J/psi") && Vtype==VID::JPSI)
+ if (Id_mother==EvtPDL::getId("J/psi") && Vtype==VID::JPSI)
{
}
- else if (Id_mother==EvtPDL::getId("omega") && Vtype==VID::OMEGA)
+ else if (Id_mother==EvtPDL::getId("omega") && Vtype==VID::OMEGA)
{
}
- else if (Id_mother==EvtPDL::getId("rho0") && Vtype==VID::RHO)
+ else if (Id_mother==EvtPDL::getId("rho0") && Vtype==VID::RHO)
{
}
- else if ((Id_mother==EvtPDL::getId("rho0") || Id_mother==EvtPDL::getId("omega")) && Vtype==VID::RHO_OMEGA_MIXING)
+ else if ((Id_mother==EvtPDL::getId("rho0") || Id_mother==EvtPDL::getId("omega")) && Vtype==VID::RHO_OMEGA_MIXING)
{
}
else
{
EvtGenReport(EVTGEN_ERROR,fname.c_str())<<" Mother is not a J/psi, phi or rho0 but a "
<<EvtPDL::name(Id_mother)<<std::endl;
- abort();
+ abort();
}
//daughters for each V possibility
switch(Vtype)
{
case VID::JPSI :
- if (Id_daug1!=EvtPDL::getId("mu+"))
+ if (Id_daug1!=EvtPDL::getId("mu+"))
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter1 is not a mu+, but a "
<< EvtPDL::name(Id_daug1)<<std::endl;
abort();
}
- if (Id_daug2!=EvtPDL::getId("mu-"))
+ if (Id_daug2!=EvtPDL::getId("mu-"))
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter2 is not a mu-, but a "
<< EvtPDL::name(Id_daug2)<<std::endl;
abort();
}
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : J/psi -> mu+ mu-"<<std::endl;
break;
case VID::RHO :
case VID::OMEGA :
case VID::RHO_OMEGA_MIXING :
- if (Id_daug1!=EvtPDL::getId("pi+"))
+ if (Id_daug1!=EvtPDL::getId("pi+"))
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter1 is not a pi+, but a "
<< EvtPDL::name(Id_daug1)<<std::endl;
abort();
}
- if (Id_daug2!=EvtPDL::getId("pi-"))
+ if (Id_daug2!=EvtPDL::getId("pi-"))
{
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << " Daughter2 is not a pi-, but a "
<< EvtPDL::name(Id_daug2)<<std::endl;
abort();
}
if (Vtype==VID::RHO) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : rho0 -> pi+ pi-"<<std::endl;
if (Vtype==VID::OMEGA) EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : omega -> pi+ pi-"<<std::endl;
- if (Vtype==VID::RHO_OMEGA_MIXING) {
- EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : rho-omega mixing -> pi+ pi-"<<std::endl;
- }
+ if (Vtype==VID::RHO_OMEGA_MIXING)
+ EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Decay mode successfully initialized : rho-omega mixing -> pi+ pi-"<<std::endl;
break;
default :
EvtGenReport(EVTGEN_ERROR,fname.c_str()) << "No decay mode chosen ! "<<std::endl;
abort();
break;
}
//fix dynamics parameters
switch(Vtype)
{
case VID::JPSI : A = 0.66; break;
case VID::RHO :
case VID::OMEGA :
case VID::RHO_OMEGA_MIXING : A = 0.79; break;
default : A = 0; break;
}
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" V decay parameters : "<<std::endl;
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" - V density matrix rho00 A = "<<A<<std::endl;
-
+
}
//------------------------------------------------------------------------
// Method 'decay'
//------------------------------------------------------------------------
void EvtV2VpVmForLambdaB2LambdaV::decay( EvtParticle *V )
{
V->makeDaughters(getNDaug(),getDaugs());
//get Vp and Vm particles
EvtParticle * Vp = V->getDaug(0);
EvtParticle * Vm = V->getDaug(1);
//get resonance masses
// - V -> mass given by EvtLambdaB2LambdaV class
- // - Vp & Vm -> nominal mass
+ // - Vp & Vm -> nominal mass
double MASS_V = V->mass();
double MASS_VM = 0;
switch(Vtype)
{
case VID::JPSI : MASS_VM=EvtPDL::getMeanMass(EvtPDL::getId("mu-")); break;
- case VID::RHO :
+ case VID::RHO :
case VID::OMEGA :
case VID::RHO_OMEGA_MIXING : MASS_VM=EvtPDL::getMeanMass(EvtPDL::getId("pi-")); break;
default : MASS_VM=0; break;
}
double MASS_VP = MASS_VM;
- //generate random angles
+ //generate random angles
double phi = EvtRandom::Flat(0,2*EvtConst::pi);
double theta = acos( EvtRandom::Flat(-1,+1));
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" Angular angles : theta = "<<theta<<" ; phi = "<<phi<<std::endl;
- //computate resonance quadrivectors
+ //computate resonance quadrivectors
double E_Vp = (MASS_V*MASS_V + MASS_VP*MASS_VP - MASS_VM*MASS_VM)
/(2*MASS_V);
double E_Vm = (MASS_V*MASS_V + MASS_VM*MASS_VM - MASS_VP*MASS_VP)
/(2*MASS_V);
double P = sqrt(E_Vp*E_Vp-Vp->mass()*Vp->mass());
-
+
EvtVector4R P_V=V->getP4();
EvtParticle *Mother_V=V->getParent();
EvtVector4R lambdab=Mother_V->getP4();
-
+
double E_V=(P_V.get(0));
double px_M=lambdab.get(1);
double py_M=lambdab.get(2);
double pz_M=lambdab.get(3);
double E_M=lambdab.get(0);
EvtVector4R q_lambdab2 (E_M,
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((px_M*(px_M))+(py_M*(py_M)))),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*(-((py_M)*(px_M))+(px_M*(py_M)))),
(pz_M));
EvtVector4R q_lambdab3 (E_M,
q_lambdab2.get(3),
q_lambdab2.get(1),
q_lambdab2.get(2));
-
+
EvtVector4R q_V1 (E_V,
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((px_M*(P_V.get(1))) + (py_M*(P_V.get(2))))),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*(-(py_M*(P_V.get(1))) + (px_M*(P_V.get(2))))),
P_V.get(3));
EvtVector4R q_V2 (E_V,
q_V1.get(3),
q_V1.get(1),
q_V1.get(2));
-
+
double px= -(q_V2.get(1));
double py=-(q_V2.get(2));
double pz=-(q_V2.get(3));
-
+
EvtVector4R q_V4 (q_V2.get(0),
((1/(sqrt(pow(q_V2.get(1),2) + pow(q_V2.get(2),2) + pow(q_V2.get(3),2))))* (1/(sqrt(pow(q_V2.get(1),2) + pow(q_V2.get(2),2))))*((q_V2.get(1))*(q_V2.get(1))*(q_V2.get(3))+((q_V2.get(2))*(q_V2.get(2))*(q_V2.get(3))) - ((q_V2.get(3))*(pow(q_V2.get(1),2) + pow(q_V2.get(2),2))))),
((((q_V2.get(2))*(q_V2.get(1)))-((q_V2.get(1))*(q_V2.get(2))))/(sqrt(pow(q_V2.get(1),2) + pow(q_V2.get(2),2)))),
(((1/sqrt(pow(q_V2.get(1),2) + pow(q_V2.get(2),2) + pow(q_V2.get(3),2)))*( ((q_V2.get(1))*(q_V2.get(1))) +((q_V2.get(2))*(q_V2.get(2))) + ((q_V2.get(3))*(q_V2.get(3)))))) );
-
+
EvtVector4R q_Vp1 (E_Vp,
P*sin(theta)*cos(phi),
P*sin(theta)*sin(phi),
P*cos(theta));
EvtVector4R q_Vm1 (E_Vm,
-P*sin(theta)*cos(phi),
-P*sin(theta)*sin(phi),
-P*cos(theta));
-
+
EvtVector4R q_Vp3 (q_Vp1.get(0),
((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))* (1/(sqrt(pow(px,2) + pow(py,2))))*((q_Vp1.get(1))*(px)*(pz)+((q_Vp1.get(2))*(py)*((sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))) - (((q_Vp1.get(3)))*(sqrt(pow(px,2) + pow(py,2)))*(px)))),
((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))* (1/(sqrt(pow(px,2) + pow(py,2))))*(((q_Vp1.get(1)))*(py)*(pz) - ((q_Vp1.get(2))*(px)*((sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))) - (((q_Vp1.get(3)))*(sqrt(pow(px,2) + pow(py,2)))*(py)))) ,
((-(1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2)))))*((q_Vp1.get(1))*((sqrt(pow(px,2) + pow(py,2)))) + ((q_Vp1.get(3))*(pz)))));
-
+
EvtVector4R q_Vm3 (q_Vm1.get(0),
((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))* (1/(sqrt(pow(px,2) + pow(py,2))))*((q_Vm1.get(1))*(px)*(pz)+((q_Vm1.get(2))*(py)*((sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))) - (((q_Vm1.get(3)))*(sqrt(pow(px,2) + pow(py,2)))*(px)))),
((1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))* (1/(sqrt(pow(px,2) + pow(py,2))))*(((q_Vm1.get(1)))*(py)*(pz) - ((q_Vm1.get(2))*(px)*((sqrt(pow(px,2) + pow(py,2) + pow(pz,2))))) - (((q_Vm1.get(3)))*(sqrt(pow(px,2) + pow(py,2)))*(py)))) ,
((-(1/(sqrt(pow(px,2) + pow(py,2) + pow(pz,2)))))*((q_Vm1.get(1))*((sqrt(pow(px,2) + pow(py,2)))) + ((q_Vm1.get(3))*(pz)))));
-
+
EvtVector4R q_Vp5 (q_Vp3.get(0),
(q_Vp3.get(2)),
(q_Vp3.get(3)),
(q_Vp3.get(1)));
-
+
EvtVector4R q_Vm5 (q_Vm3.get(0),
(q_Vm3.get(2)),
(q_Vm3.get(3)),
(q_Vm3.get(1)));
-
-
+
+
EvtVector4R q_Vp (q_Vp5.get(0),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((px_M*(q_Vp5.get(1)))-(py_M*(q_Vp5.get(2))))),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((py_M*(q_Vp5.get(1)))+(px_M*(q_Vp5.get(2))))),
(q_Vp5.get(3)));
-
-
+
+
EvtVector4R q_Vm (q_Vm5.get(0),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((px_M*(q_Vm5.get(1)))-(py_M*(q_Vm5.get(2))))),
((1/(sqrt(pow(px_M,2)+pow(py_M,2))))*((py_M*(q_Vm5.get(1)))+(px_M*(q_Vm5.get(2))))),
(q_Vm5.get(3)));
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab px: "<<px_M<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab py: "<<py_M<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab pz: "<<pz_M<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab E: "<<E_M<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab2 px: "<<q_lambdab2.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab2 py: "<<q_lambdab2.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab2 pz: "<<q_lambdab2.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab2 E: "<<q_lambdab2.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab3 px: "<<q_lambdab3.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab3 py: "<<q_lambdab3.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab3 pz: "<<q_lambdab3.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Lambdab3 E: "<<q_lambdab3.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 0 px: "<<P_V.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 0 py: "<<P_V.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 0 pz: "<<P_V.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 0 E: "<<P_V.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 1 px: "<<q_V1.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 1 py: "<<q_V1.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 1 pz: "<<q_V1.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 1 E: "<<q_V1.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 2 px: "<<q_V2.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 2 py: "<<q_V2.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 2 pz: "<<q_V2.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V 2 E: "<<q_V2.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V px: "<<px<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V py: "<<py<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" V pz: "<<pz<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 1 px: "<<q_Vm1.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 1 py: "<<q_Vm1.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 1 pz: "<<q_Vm1.get(3)<<std::endl;
- EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 1 E: "<<q_Vm1.get(0)<<std::endl;
+ EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 1 E: "<<q_Vm1.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 3 px: "<<q_Vm3.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 3 px: "<<q_Vm3.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 3 py: "<<q_Vm3.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 3 pz: "<<q_Vm3.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 3 E: "<<q_Vm3.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 5 px: "<<q_Vm5.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 5 py: "<<q_Vm5.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 5 pz: "<<q_Vm5.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm 5 E: "<<q_Vm5.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 1 px: "<<q_Vp1.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 1 py: "<<q_Vp1.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 1 pz: "<<q_Vp1.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 1 E: "<<q_Vp1.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 3 px: "<<q_Vp3.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 3 py: "<<q_Vp3.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 3 pz: "<<q_Vp3.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 3 E: "<<q_Vp3.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 5 px: "<<q_Vp5.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 5 py: "<<q_Vp5.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 5 pz: "<<q_Vp5.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp 5 E: "<<q_Vp5.get(0)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp px: "<<q_Vp.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vp py: "<<q_Vp.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<"Vp pz: "<<q_Vp.get(3)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm px: "<<q_Vm.get(1)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm py: "<<q_Vm.get(2)<<std::endl;
EvtGenReport(EVTGEN_INFO,fname.c_str())<<" Vm pz: "<<q_Vm.get(3)<<std::endl;
//set quadrivectors to particles
Vp->init(getDaugs()[0],q_Vp);
Vm->init(getDaugs()[1],q_Vm);
//computate pdf
- double pdf = 0;
+ double pdf = 0;
if (Vtype==VID::JPSI)
{
//leptonic case
pdf = (1-3*A)*cos(theta)*cos(theta) + (1+A);
}
else
{
//hadronic case
pdf = (3*A-1)*cos(theta)*cos(theta) + (1-A);
-
+
}
EvtGenReport(EVTGEN_DEBUG,fname.c_str())<<" V decay pdf value : "<<pdf<<std::endl;
//set probability
setProb(pdf);
return;
}
diff --git a/src/EvtGenModels/EvtLb2Lll.cpp b/src/EvtGenModels/EvtLb2Lll.cpp
index 2eb7864..131bf0f 100644
--- a/src/EvtGenModels/EvtLb2Lll.cpp
+++ b/src/EvtGenModels/EvtLb2Lll.cpp
@@ -1,644 +1,642 @@
//----------------------------------------------------------------------------------
//
// Module: EvtLb2Lll.cpp
//
// Desription: Routine to implement Lambda_b0 -> Lambda_0 l+ l- decays accroding to
// several models: Chen. Geng.
// Aliev. Ozpineci. Savci.
//
// Modification history:
//
// 10/07/2012 MK Fix calculation of N1, N2; based on hep-ph/021144
// 09/02/2009 PR Commented check for (anti-)Lambda0 names
// 15/09/2004 PR Module created according to PHSP model
// 20/02/2005 PR Added parameters, created matrix element (without polarization)
// 04/03/2005 PR LD contrib., corrected WC eff. according to Chen. Geng.
//
// Todo list:
//
// - Properly handle antiparticles, needs change of u, ubar to v, vbar in
// hadronic current, or other way of putting that in
//----------------------------------------------------------------------------------
#include "EvtGenModels/EvtLb2Lll.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtDiracParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
#include <stdio.h>
#include <string.h>
-EvtLb2Lll::~EvtLb2Lll() {}
-
EvtDecayBase* EvtLb2Lll::clone(){
return new EvtLb2Lll;
}
std::string EvtLb2Lll::getName(){
return "Lb2Lll";
}
void EvtLb2Lll::init(){
if(getNArg()>8){ // Decay parameters
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll generator expected max. 8 arguments but found: " << getNArg() << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 1. Lambda_b0 polarization - zero is default" << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 2. Model type - \"SM\" for Standard Model is default" << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 3. Form-Factors - \"HQET\" is used by default" << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 4. How to set polarization - \"ModifiedSpinors\" is default" << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 5. Include long distance (LD) effects - \"SD\" (no) is default" << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 6. NonFactorizable contribution (omega) to b->sg decay at q2=0 " << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 7. Note on every x-th decay" << std::endl;
EvtGenReport(EVTGEN_INFO ,"EvtGen") << " 8. Maximum probability - automatic by default" << std::endl;
::abort();
}
if(getNDaug()!=3){ // Check that there are 3 daughters only
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll generator expected 3 daughters but found: " << getNDaug() << std::endl;
::abort();
}
EvtId LbID = EvtPDL::getId(std::string("Lambda_b0"));
EvtId aLbID = EvtPDL::getId(std::string("anti-Lambda_b0"));
EvtId eID = EvtPDL::getId(std::string("e-"));
EvtId aeID = EvtPDL::getId(std::string("e+"));
EvtId muID = EvtPDL::getId(std::string("mu-"));
EvtId amuID = EvtPDL::getId(std::string("mu+"));
EvtId tauID = EvtPDL::getId(std::string("tau-"));
EvtId atauID = EvtPDL::getId(std::string("tau+"));
// TODO: better check based on spin and falvour is needed to allow usage of aliases !
if(getParentId()==LbID){ // Check daughters of Lambda_b0
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll generator found Lambda_b0" << std::endl;
//if(EvtPDL::name(getDaug(0))!="Lambda0"){
// EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll generator expected Lambda0 daughter but found: " << EvtPDL::name(getDaug(0)) << std::endl;
// ::abort();
//}
if(getDaug(1)==eID && getDaug(2)==aeID){
m_decayName="Lambda_b0 -> Lambda0 e- e+";
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll generator found decay: Lambda_b0 -> Lambda0 e- e+" << std::endl;
}else if(getDaug(1)==muID && getDaug(2)==amuID){
m_decayName="Lambda_b0 -> Lambda0 mu- mu+";
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll generator found decay: Lambda_b0 -> Lambda0 mu- mu+" << std::endl;
}else if(getDaug(1)==tauID && getDaug(2)==atauID){
m_decayName="Lambda_b0 -> Lambda0 tau- tau+";
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll generator found decay: Lambda_b0 -> Lambda0 tau- tau+" << std::endl;
}else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll generator expected lepton pair daughters but found: " << EvtPDL::name(getDaug(1)) << " " << EvtPDL::name(getDaug(2)) << std::endl;
::abort();
}
//TODO: The model is known not to work correctly for anti-Lambda_b0 (A_FB does not change its sign)
}else if(getParentId()==aLbID){ // Check daughters of anti-Lambda_b0
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll generator found anti-Lambda_b0" << std::endl;
//if(EvtPDL::name(getDaug(0))!="anti-Lambda0"){
// EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll generator expected anti-Lambda0 daughter but found: " << EvtPDL::name(getDaug(0)) << std::endl;
// ::abort();
//}
if(getDaug(1)==aeID && getDaug(2)==eID){
m_decayName="anti-Lambda_b0 -> anti-Lambda0 e+ e-";
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll generator found decay: anti-Lambda_b0 -> anti-Lambda0 e+ e-" << std::endl;
}else if(getDaug(1)==amuID && getDaug(2)==muID){
m_decayName="anti-Lambda_b0 -> anti-Lambda0 mu+ mu-";
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll generator found decay: anti-Lambda_b0 -> anti-Lambda0 mu+ mu-" << std::endl;
}else if(getDaug(1)==atauID && getDaug(2)==tauID){
m_decayName="anti-Lambda_b0 -> anti-Lambda0 tau+ tau-";
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll generator found decay: anti-Lambda_b0 -> anti-Lambda0 tau+ tau-" << std::endl;
}else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll generator expected lepton pair daughters but found: " << EvtPDL::name(getDaug(1)) << " " << EvtPDL::name(getDaug(2)) << std::endl;
::abort();
}
}else{ // This model is not intended for decay of anything else than (anti-)Lambda_b0
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll generator expected (anti-)Lambda_b0 parent but found: " << EvtPDL::name(getParentId()) << std::endl;
::abort();
}
// Read and check all parameters
if(getNArg()>0){
if(getArg(0)>1. || getArg(0)<-1.){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll expects polarization to be in interval <-1,1>, not " << getArg(0) << std::endl;
::abort();
}
m_polarizationLambdab0 = getArg(0);
}else{
m_polarizationLambdab0 = 0;
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll set Lambda_b0 polarization to " << m_polarizationLambdab0 << std::endl;
if(getNArg()>1){
if(getArgStr(1).substr(1,getArgStr(1).size()-2)!="SM" &&
getArgStr(1).substr(1,getArgStr(1).size()-2)!="-C7_SM" &&
getArgStr(1).substr(1,getArgStr(1).size()-2)!="SUSY-ChenGeng"){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll doesn't know this physics model: " << getArgStr(1) << std::endl;
::abort();
}
m_HEPmodel = getArgStr(1).substr(1,getArgStr(1).size()-2);
}else{
m_HEPmodel = "SM";
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll will use this physics model: " << m_HEPmodel << std::endl;
if(getNArg()>2){
if(getArgStr(2).substr(1,getArgStr(2).size()-2)!="HQET" &&
getArgStr(2).substr(1,getArgStr(2).size()-2)!="HQET-noF2" &&
getArgStr(2).substr(1,11) !="HQET-delta="){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll doesn't know this Form-Factors model: " << getArgStr(2) << std::endl;
::abort();
}
m_FFtype = getArgStr(2).substr(1,getArgStr(2).size()-2);
}else{
m_FFtype = "HQET";
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll will use this Form-Factors model: " << m_FFtype << std::endl;
if(getNArg()>3){
if(getArgStr(3).substr(1,getArgStr(3).size()-2)!="Unpolarized"){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll doesn't know kind of introducing polarization: " << getArgStr(3) << std::endl;
::abort();
}
m_polarizationIntroduction = getArgStr(3).substr(1,getArgStr(3).size()-2);
}else{
m_polarizationIntroduction = "Unpolarized";
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll will use this kind of introducing polarization: " << m_polarizationIntroduction << std::endl;
if(getNArg()>4){
if(getArgStr(4).substr(1,getArgStr(4).size()-2)!="SD" && getArgStr(4).substr(1,getArgStr(4).size()-2)!="LD"){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll didn't find SD or LD parameter: " << getArgStr(4) << std::endl;
::abort();
}
m_effectContribution = getArgStr(5).substr(1,getArgStr(4).size()-2);
}else{
m_effectContribution = "SD";
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll will include contribution from these effects: " << m_effectContribution << std::endl;
if(getNArg()>5){
if(fabs(getArg(5))>0.15){
EvtGenReport(EVTGEN_WARNING,"EvtGen") << " WARNING: EvtLb2Lll found very high contribution to b->sg decay at q2=0: " << getArg(5) << std::endl;
}
m_omega = getArg(5);
}else{
m_omega = 0;
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll will use this contribution to b->sg decay at q2=0: " << m_omega << std::endl;
if(getNArg()>6) m_noTries = (long)(getArg(6));
else m_noTries = 0;
if(getNArg()>7){
if(getArg(7)<0.){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll expects positive maximum probability not : " << getArg(7) << std::endl;
::abort();
}
m_maxProbability = getArg(7);
}else{
m_maxProbability = 0.;
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll maximum probability was set to " << m_maxProbability << std::endl;
m_poleSize=0;
// Initialize Wilson coefficients by Buras and Munz
// TODO: should have common W.C. source for all decays in EvtGen
m_WC.CalculateAllCoefficients();
}
void EvtLb2Lll::initProbMax(){
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll is finding maximum probability ... " << std::endl;
if(m_maxProbability==0){
EvtDiracParticle *parent = new EvtDiracParticle;
parent->noLifeTime();
parent->init(getParentId(),EvtVector4R(EvtPDL::getMass(getParentId()),0,0,0));
parent->setDiagonalSpinDensity();
EvtAmp amp;
EvtId daughters[3] = {getDaug(0),getDaug(1),getDaug(2)};
amp.init(getParentId(),3,daughters);
parent->makeDaughters(3,daughters);
EvtParticle *lambda = parent->getDaug(0);
EvtParticle *lep1 = parent->getDaug(1);
EvtParticle *lep2 = parent->getDaug(2);
lambda -> noLifeTime();
lep1 -> noLifeTime();
lep2 -> noLifeTime();
EvtSpinDensity rho;
rho.setDiag(parent->getSpinStates());
double M0 = EvtPDL::getMass(getParentId());
double mL = EvtPDL::getMass(getDaug(0));
double m1 = EvtPDL::getMass(getDaug(1));
double m2 = EvtPDL::getMass(getDaug(2));
double q2,pstar,elambda,theta;
double q2min = (m1+m2)*(m1+m2);
double q2max = (M0-mL)*(M0-mL);
EvtVector4R p4lambda,p4lep1,p4lep2,boost;
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll is probing whole phase space ..." << std::endl;
int i,j;
double prob=0;
for(i=0;i<=100;i++){
q2 = q2min+i*(q2max-q2min)/100.;
elambda = (M0*M0+mL*mL-q2)/2/M0;
if(i==0) pstar = 0;
else pstar = sqrt(q2-(m1+m2)*(m1+m2))*sqrt(q2-(m1-m2)*(m1-m2))/2/sqrt(q2);
boost.set(M0-elambda,0,0,+sqrt(elambda*elambda-mL*mL));
if ( i != 100 ) {
p4lambda.set(elambda,0,0,-sqrt(elambda*elambda-mL*mL));
} else {
- p4lambda.set(mL,0,0,0);
+ p4lambda.set(mL,0,0,0);
}
for(j=0;j<=45;j++){
theta = j*EvtConst::pi/45;
p4lep1.set(sqrt(pstar*pstar+m1*m1),0,+pstar*sin(theta),+pstar*cos(theta));
p4lep2.set(sqrt(pstar*pstar+m2*m2),0,-pstar*sin(theta),-pstar*cos(theta));
if ( i != 100 ) // At maximal q2 we are already in correct frame as Lambda and W/Zvirtual are at rest
{
p4lep1 = boostTo(p4lep1,boost);
p4lep2 = boostTo(p4lep2,boost);
}
calcAmp(&amp,parent);
prob = rho.normalizedProb(amp.getSpinDensity());
//std::cout << "q2: " << q2 << " \t theta: " << theta << " \t prob: " << prob << std::endl;
//std::cout << "p1: " << p4lep1 << " p2: " << p4lep2 << " q2-q2min: " << q2-(m1+m2)*(m1+m2) << std::endl;
if(prob>m_maxProbability){
EvtGenReport(EVTGEN_INFO,"EvtGen") << " - probability " << prob << " found at q2 = " << q2 << " (" << 100*(q2-q2min)/(q2max-q2min) << " %) and theta = " << theta*180/EvtConst::pi << std::endl;
m_maxProbability=prob;
}
}
//::abort();
}
//m_poleSize = 0.04*q2min;
m_maxProbability *= 1.2;
delete parent;
}
setProbMax(m_maxProbability);
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtLb2Lll set up maximum probability to " << m_maxProbability << std::endl;
}
void EvtLb2Lll::decay(EvtParticle* parent){
//setWeight(parent->initializePhaseSpace(getNDaug(),getDaugs(),m_poleSize,1,2));
parent->initializePhaseSpace(getNDaug(),getDaugs());
calcAmp(&_amp2,parent);
-
+
}
void EvtLb2Lll::calcAmp(EvtAmp *amp,EvtParticle *parent){
static long noTries=0;
static double delta=0;
EvtComplex Matrix[2][2][2][2];
EvtComplex i1(0,1);
int i,j,spins[4];
char ch;
double r,M_L,M_Lb,M_s,M_c,M_b,q2,alpha,M_W,M_t;
double M_psi[2]={0,0},Gamma_psi[2]={0,0},k_psi[2]={0,0};
double F0_1,F0_2,a_F1,a_F2,b_F1,b_F2,F1,F2;
double f_1,f_2,f_3,g_1,g_2,g_3,f_1T,f_2T,f_3T,g_1T,g_2T,g_3T,f_TV,f_TS,g_TV(0.0),g_TS,f_T,g_T;
EvtComplex A1,A2,A3,B1,B2,B3,D1,D2,D3,E1,E2,E3,N1,N2,H1,H2;
EvtComplex C_SL,C_BR,C_LLtot,C_LRtot,C_LL,C_LR,C_RL,C_RR,C_LRLR,C_RLLR,C_LRRL,C_RLRL,C_T,C_TE;
EvtComplex Yld,C_7eff,C_9eff;
EvtComplex V_ts,V_tb;
EvtVector4C lbar_Gmu_l[2][2],lbar_GmuG5_l[2][2],hbar_GmuPlusG5_h[2][2],hbar_GmuMinusG5_h[2][2],hbar_Gmu_h[2][2];
EvtComplex lbar_l[2][2],lbar_G5_l[2][2],hbar_1PlusG5_h[2][2],hbar_1MinusG5_h[2][2],hbar_G5_h[2][2],hbar_h[2][2];
EvtTensor4C lbar_Smunu_l[2][2],lbar_ESmunu_l[2][2],hbar_SmunuPlusG5_h[2][2],hbar_SmunuMinusG5_h[2][2],hbar_Smunu_h[2][2];
EvtVector4R q_mu,P_mu;
EvtDiracSpinor parent__spParent[2];
M_Lb = parent->mass();
M_L = parent->getDaug(0)->mass();
M_s = 0.13;
M_c = 1.35;
M_b = 4.8;
alpha = 1./137.036;
M_W = 80.425;
M_t = 174.3;
M_psi[0] = 3.096916;
M_psi[1] = 3.686093;
if(m_decayName=="Lambda_b0 -> Lambda0 e- e+" || m_decayName=="anti-Lambda_b0 -> anti-Lambda0 e+ e-"){
Gamma_psi[0] = 5.40;
Gamma_psi[1] = 2.12;
}
if(m_decayName=="Lambda_b0 -> Lambda0 mu- mu+" || m_decayName=="anti-Lambda_b0 -> anti-Lambda0 mu+ mu-"){
Gamma_psi[0] = 5.35;
Gamma_psi[1] = 2.05;
}
if(m_decayName=="Lambda_b0 -> Lambda0 tau- tau+" || m_decayName=="anti-Lambda_b0 -> anti-Lambda0 tau+ tau-"){
Gamma_psi[0] = 0.00;
Gamma_psi[1] = 0.79;
}
if(m_effectContribution=="LD"){
k_psi[0] = 1.65;
k_psi[1] = 1.65;
}
//G_F = 1.16637e-5;
//V_tb = sqrt(1-pow(0.0413,2))*sqrt(1-pow(0.0037,2));
//V_ts = -sqrt(1-pow(0.2243,2))*0.0413-0.2243*sqrt(1-pow(0.0413,2))*0.0037*(cos(60*EvtConst::pi/180)+i1*sin(60*EvtConst::pi/180));
P_mu = parent->getP4Restframe()+parent->getDaug(0)->getP4();
q_mu = parent->getP4Restframe()-parent->getDaug(0)->getP4();
q2 = q_mu.mass2();
if(m_noTries>0) if(!((++noTries)%m_noTries)) EvtGenReport(EVTGEN_DEBUG,"EvtGen") << " EvtLb2Lll already finished " << noTries << " matrix element calculations" << std::endl;
if(m_FFtype=="HQET"){
r = M_L*M_L/M_Lb/M_Lb;
F0_1 = +0.462;
F0_2 = -0.077;
a_F1 = -0.0182;
a_F2 = -0.0685;
b_F1 = -0.000176;
b_F2 = +0.001460;
F1 = F0_1/(1.0-(q2/M_Lb/M_Lb)*(a_F1-b_F1*(q2/M_Lb/M_Lb)));
F2 = F0_2/(1.0-(q2/M_Lb/M_Lb)*(a_F2-b_F2*(q2/M_Lb/M_Lb)));
g_1 = f_1 = f_2T = g_2T = F1+sqrt(r)*F2;
//std::cout << " F1: " << F1 << " F2: " << F2 << " r: " << r << " M_L: " << M_L << " M_Lb: " << M_Lb << std::endl;
//std::cout << " sqrt(q2): " << sqrt(q2) << " q2: " << q2 << " M_Lb^2" << M_Lb*M_Lb << std::endl;
g_2 = f_2 = g_3 = f_3 = g_TV = f_TV = F2/M_Lb;
g_TS = f_TS = 0;
g_1T = f_1T = F2/M_Lb*q2;
g_3T = +F2/M_Lb*(M_Lb+M_L);
f_3T = -F2/M_Lb*(M_Lb-M_L);
f_T = f_2T-f_TS*q2;
g_T = g_2T-g_TS*q2;
}else if(strstr(m_FFtype.c_str(),"HQET-delta=")==m_FFtype.c_str()){
//EvtGenReport(EVTGEN_WARNING,"EvtGen") << " WARNING: HQET-delta FF model should be checked for correctness" << std::endl;
if(delta==0) sscanf(m_FFtype.c_str(),"%c%c%c%c%c%c%c%c%c%c%c%lf",&ch,&ch,&ch,&ch,&ch,&ch,&ch,&ch,&ch,&ch,&ch,&delta);
r = M_L*M_L/M_Lb/M_Lb;
F0_1 = +0.462;
F0_2 = -0.077;
a_F1 = -0.0182;
a_F2 = -0.0685;
b_F1 = -0.000176;
b_F2 = +0.001460;
F1 = F0_1/(1.0-(q2/M_Lb/M_Lb)*(a_F1-b_F1*(q2/M_Lb/M_Lb)));
F2 = F0_2/(1.0-(q2/M_Lb/M_Lb)*(a_F2-b_F2*(q2/M_Lb/M_Lb)));
g_1 = f_1 = f_2T = g_2T = F1+sqrt(r)*F2;
g_1 += delta*g_1;
f_1 -= delta*f_1;
g_2 = f_2 = g_3 = f_3 = g_TV = f_TV = F2/M_Lb;
g_TS = f_TS = 0;
g_1T = f_1T = F2/M_Lb*q2;
g_3T = +F2/M_Lb*(M_Lb+M_L);
f_3T = -F2/M_Lb*(M_Lb-M_L);
f_T = f_2T-f_TS*q2;
g_T = g_2T-g_TS*q2;
}else if(m_FFtype=="HQET-noF2"){
//EvtGenReport(EVTGEN_WARNING,"EvtGen") << " WARNING: HQET-noF2 FF model should be checked for correctness" << std::endl;
r = M_L*M_L/M_Lb/M_Lb;
F0_1 = +0.462;
a_F1 = -0.0182;
b_F1 = -0.000176;
F1 = F0_1/(1.0-(q2/M_Lb/M_Lb)*(a_F1-b_F1*(q2/M_Lb/M_Lb)));
g_1 = f_1 = f_2T = g_2T = F1;
g_2 = f_2 = g_3 = f_3 = g_TV = f_TV = 0;
g_TS = f_TS = 0;
g_1T = f_1T = 0;
g_3T = 0;
f_3T = 0;
f_T = f_2T-f_TS*q2;
g_T = g_2T-g_TS*q2;
}else{ // general relations for Form-Factors
f_1 = f_2 = f_3 = g_1 = g_2 = g_3 = f_3T = g_3T = f_TS = g_TS = f_T = g_T = f_TV = 0;
f_2T = f_T+f_TS*q2;
f_1T = (f_TV+f_TS*(M_L+M_Lb))*q2;
f_1T = -q2/(M_Lb-M_L)*f_3T;
g_2T = g_T+g_TS*q2;
g_1T = (g_TV-g_TS*(M_L-M_Lb))*q2;
g_1T = +q2/(M_Lb+M_L)*g_3T;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll - unknown Form-Factors model: " << m_FFtype << " - this should never happen !" << std::endl;
::abort();
}
if(m_HEPmodel=="SM"){
C_LL=C_LR=C_RL=C_RR=C_LRLR=C_RLLR=C_LRRL=C_RLRL=C_T=C_TE=EvtComplex(0,0);
Yld = m_WC.Yld(q2,k_psi,Gamma_psi,M_psi,2,m_WC.GetC1(),m_WC.GetC2(),m_WC.GetC3(),m_WC.GetC4(),m_WC.GetC5(),m_WC.GetC6(),1./alpha);
C_7eff = m_WC.GetC7eff0() + m_WC.C7b2sg(m_WC.GetStrongCouplingConst(),m_WC.GetEta(),m_WC.GetC2(),M_t,M_W) + m_omega*(m_WC.hzs(M_c/M_b,q2/M_b/M_b,M_b,M_b) + Yld);
C_9eff = Yld + m_WC.C9efftilda(M_c/M_b,q2/M_b/M_b,m_WC.GetStrongCouplingConst(),m_WC.GetC1(),m_WC.GetC2(),m_WC.GetC3(),m_WC.GetC4(),m_WC.GetC5(),m_WC.GetC6(),m_WC.GetC9tilda(),m_WC.GetRenormSchemePar());
C_SL = -2*M_s*C_7eff;
C_BR = -2*M_b*C_7eff;
C_LLtot = C_9eff-m_WC.GetC10tilda()+C_LL;
C_LRtot = C_9eff+m_WC.GetC10tilda()+C_LR;
//std::cout << "Yld: " << Yld << " C7eff: " << C_7eff << " C_9eff: " << C_9eff << " Diff7: " << C_7eff-m_WC.GetC7eff0() << " Diff9: " << C_9eff-m_WC.GetC9tilda() << std::endl;
}else if(m_HEPmodel=="-C7_SM"){
C_LL=C_LR=C_RL=C_RR=C_LRLR=C_RLLR=C_LRRL=C_RLRL=C_T=C_TE=EvtComplex(0,0);
Yld = m_WC.Yld(q2,k_psi,Gamma_psi,M_psi,2,m_WC.GetC1(),m_WC.GetC2(),m_WC.GetC3(),m_WC.GetC4(),m_WC.GetC5(),m_WC.GetC6(),1./alpha);
C_7eff = m_WC.GetC7eff0() + m_WC.C7b2sg(m_WC.GetStrongCouplingConst(),m_WC.GetEta(),m_WC.GetC2(),M_t,M_W) + m_omega*(m_WC.hzs(M_c/M_b,q2/M_b/M_b,M_b,M_b) + Yld);
C_9eff = Yld + m_WC.C9efftilda(M_c/M_b,q2/M_b/M_b,m_WC.GetStrongCouplingConst(),m_WC.GetC1(),m_WC.GetC2(),m_WC.GetC3(),m_WC.GetC4(),m_WC.GetC5(),m_WC.GetC6(),m_WC.GetC9tilda(),m_WC.GetRenormSchemePar());
C_SL = +2*M_s*C_7eff;
C_BR = +2*M_b*C_7eff;
C_LLtot = C_9eff-m_WC.GetC10tilda()+C_LL;
C_LRtot = C_9eff+m_WC.GetC10tilda()+C_LR;
//std::cout << "Yld: " << Yld << " C7eff: " << C_7eff << " C_9eff: " << C_9eff << " Diff7: " << C_7eff-m_WC.GetC7eff0() << " Diff9: " << C_9eff-m_WC.GetC9tilda() << std::endl;
}else if(m_HEPmodel=="SUSY-ChenGeng"){
//EvtGenReport(EVTGEN_WARNING,"EvtGen") << " WARNING: SUSY-ChenGeng model should be checked for correctness" << std::endl;
C_LL=C_LR=C_RL=C_RR=C_LRLR=C_RLLR=C_LRRL=C_RLRL=C_T=C_TE=EvtComplex(0,0);
EvtComplex d_u23LL = 0.1;
EvtComplex d_u33RL = 0.65;
EvtComplex d_d23LR = 0.03*exp(i1*EvtConst::pi*2/5);
EvtComplex d_u23LR = -0.8*exp(i1*EvtConst::pi/4);
EvtComplex C_7susy = -1.75*d_u23LL - 0.25*d_u23LR - 10.3*d_d23LR;
EvtComplex C_9susy = 0.82*d_u23LR;
EvtComplex C_10susy = -9.37*d_u23LR + 1.4*d_u23LR*d_u33RL + 2.7*d_u23LL;
Yld = m_WC.Yld(q2,k_psi,Gamma_psi,M_psi,2,m_WC.GetC1(),m_WC.GetC2(),m_WC.GetC3(),m_WC.GetC4(),m_WC.GetC5(),m_WC.GetC6(),1./alpha);
C_7eff = m_WC.GetC7eff0() + C_7susy*pow(m_WC.GetEta(),16./23.) + m_WC.C7b2sg(m_WC.GetStrongCouplingConst(),m_WC.GetEta(),m_WC.GetC2(),M_t,M_W) + m_omega*(m_WC.hzs(M_c/M_b,q2/M_b/M_b,M_b,M_b) + Yld);
C_9eff = Yld + m_WC.C9efftilda(M_c/M_b,q2/M_b/M_b,m_WC.GetStrongCouplingConst(),m_WC.GetC1(),m_WC.GetC2(),m_WC.GetC3(),m_WC.GetC4(),m_WC.GetC5(),m_WC.GetC6(),m_WC.GetC9tilda()+C_9susy,m_WC.GetRenormSchemePar());
C_SL = -2*M_s*C_7eff;
C_BR = -2*M_b*C_7eff;
C_LLtot = C_9eff-m_WC.GetC10tilda()-C_10susy+C_LL;
C_LRtot = C_9eff+m_WC.GetC10tilda()+C_10susy+C_LR;
//std::cout << "Yld: " << Yld << " C7eff: " << C_7eff << " C_9eff: " << C_9eff << " Diff7: " << C_7eff-m_WC.GetC7eff0() << " Diff9: " << C_9eff-m_WC.GetC9tilda() << std::endl;
}else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll - unknown physics model: " << m_HEPmodel << " - this should never happen !" << std::endl;
::abort();
}
A1 = (f_1T-g_1T)*C_SL/q2 + (f_1T+g_1T)*C_BR/q2 + 0.5*(f_1-g_1)*(C_LLtot+C_LRtot) + 0.5*(f_1+g_1)*(C_RL+C_RR);
//std::cout << "f_1T: " << f_1T << " g_1T: " << g_1T << " C_SL: " << C_SL << " C_BR: " << C_BR << " f_1: " << f_1 << " g_1: " << g_1 << " C_LLtot: " << C_LLtot << " C_LRtot: " << C_LRtot << " C_RL: " << C_RL << " C_RR: " << C_RR << std::endl;
A2 = (f_2T-g_2T)*C_SL/q2 + (f_2T+g_2T)*C_BR/q2 + 0.5*(f_2-g_2)*(C_LLtot+C_LRtot) + 0.5*(f_2+g_2)*(C_RL+C_RR);
A3 = (f_3T-g_3T)*C_SL/q2 + (f_3T+g_3T)*C_BR/q2 + 0.5*(f_3-g_3)*(C_LLtot+C_LRtot) + 0.5*(f_3+g_3)*(C_RL+C_RR);
B1 = (f_1T+g_1T)*C_SL/q2 + (f_1T-g_1T)*C_BR/q2 + 0.5*(f_1+g_1)*(C_LLtot+C_LRtot) + 0.5*(f_1-g_1)*(C_RL+C_RR);
B2 = (f_2T+g_2T)*C_SL/q2 + (f_2T-g_2T)*C_BR/q2 + 0.5*(f_2+g_2)*(C_LLtot+C_LRtot) + 0.5*(f_2-g_2)*(C_RL+C_RR);
B3 = (f_3T+g_3T)*C_SL/q2 + (f_3T-g_3T)*C_BR/q2 + 0.5*(f_3+g_3)*(C_LLtot+C_LRtot) + 0.5*(f_3-g_3)*(C_RL+C_RR);
D1 = 0.5*(C_RR-C_RL)*(f_1+g_1) + 0.5*(C_LRtot-C_LLtot)*(f_1-g_1);
D2 = 0.5*(C_RR-C_RL)*(f_2+g_2) + 0.5*(C_LRtot-C_LLtot)*(f_2-g_2);
D3 = 0.5*(C_RR-C_RL)*(f_3+g_3) + 0.5*(C_LRtot-C_LLtot)*(f_3-g_3);
E1 = 0.5*(C_RR-C_RL)*(f_1-g_1) + 0.5*(C_LRtot-C_LLtot)*(f_1+g_1);
E2 = 0.5*(C_RR-C_RL)*(f_2-g_2) + 0.5*(C_LRtot-C_LLtot)*(f_2+g_2);
E3 = 0.5*(C_RR-C_RL)*(f_3-g_3) + 0.5*(C_LRtot-C_LLtot)*(f_3+g_3);
N1 = (f_1*(M_Lb-M_L)+f_3*q2)/M_b*(C_LRLR+C_RLLR+C_LRRL+C_RLRL); // Should be mLb - mL
N2 = (f_1*(M_Lb-M_L)+f_3*q2)/M_b*(C_LRLR+C_RLLR-C_LRRL-C_RLRL);
H1 = (g_1*(M_Lb+M_L)-g_3*q2)/M_b*(C_LRLR-C_RLLR+C_LRRL-C_RLRL);
H2 = (g_1*(M_Lb+M_L)-g_3*q2)/M_b*(C_LRLR-C_RLLR-C_LRRL+C_RLRL);
for(i=0;i<4;i++){
lbar_Gmu_l [i/2][i%2] = EvtLeptonVCurrent(parent->getDaug(1)->spParent(i/2),parent->getDaug(2)->spParent(i%2));
lbar_GmuG5_l [i/2][i%2] = EvtLeptonACurrent(parent->getDaug(1)->spParent(i/2),parent->getDaug(2)->spParent(i%2));
lbar_l [i/2][i%2] = EvtLeptonSCurrent(parent->getDaug(1)->spParent(i/2),parent->getDaug(2)->spParent(i%2));
lbar_G5_l [i/2][i%2] = EvtLeptonPCurrent(parent->getDaug(1)->spParent(i/2),parent->getDaug(2)->spParent(i%2));
lbar_Smunu_l [i/2][i%2] = EvtLeptonTCurrent(parent->getDaug(1)->spParent(i/2),parent->getDaug(2)->spParent(i%2));
lbar_ESmunu_l[i/2][i%2] = dual(EvtLeptonTCurrent(parent->getDaug(1)->spParent(i/2),parent->getDaug(2)->spParent(i%2)));
}
// TODO: polarization not yet introduced
if(m_polarizationIntroduction=="SpinDensityMatrix"){
//parent->setSpinDensityForward();
parent__spParent[0]=parent->sp(0);
parent__spParent[1]=parent->sp(1);
}else if(m_polarizationIntroduction=="ModifiedSpinors"){
parent__spParent[0]=parent->sp(0);
parent__spParent[1]=parent->sp(1);
}else if(m_polarizationIntroduction=="Unpolarized"){
parent__spParent[0]=parent->sp(0);
parent__spParent[1]=parent->sp(1);
}else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " ERROR: EvtLb2Lll - unknown polarization: " << m_polarizationIntroduction << " - this should never happen !" << std::endl;
::abort();
}
for(i=0;i<4;i++){
hbar_GmuPlusG5_h [i/2][i%2] = EvtLeptonVCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]) + EvtLeptonACurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
hbar_GmuMinusG5_h [i/2][i%2] = EvtLeptonVACurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
hbar_SmunuPlusG5_h [i/2][i%2] = EvtLeptonTCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]) + EvtLeptonTG5Current(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
hbar_SmunuMinusG5_h[i/2][i%2] = EvtLeptonTCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]) - EvtLeptonTG5Current(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
hbar_1PlusG5_h [i/2][i%2] = EvtLeptonSCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]) + EvtLeptonPCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
hbar_1MinusG5_h [i/2][i%2] = EvtLeptonSCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]) - EvtLeptonPCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
hbar_G5_h [i/2][i%2] = EvtLeptonPCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
hbar_h [i/2][i%2] = EvtLeptonSCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
hbar_Smunu_h [i/2][i%2] = EvtLeptonTCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
hbar_Gmu_h [i/2][i%2] = EvtLeptonVCurrent(parent->getDaug(0)->spParent(i/2),parent__spParent[i%2]);
}
for(i=0;i<4;i++) for(j=0;j<4;j++) {
//std::cout << "--------------------------------------------------" << std::endl;
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += lbar_Gmu_l[i/2][i%2] * (A1*hbar_GmuPlusG5_h[j/2][j%2]+B1*hbar_GmuMinusG5_h[j/2][j%2]);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
- //std::cout << "A1: " << A1 << " B1: " << B1 << " lbar_Gmu_l: " << lbar_Gmu_l[i/2][i%2] <<
+ //std::cout << "A1: " << A1 << " B1: " << B1 << " lbar_Gmu_l: " << lbar_Gmu_l[i/2][i%2] <<
// " hbar_GmuPlusG5_h: " << hbar_GmuPlusG5_h[j/2][j%2] << " hbar_GmuMinusG5_h: " << hbar_GmuMinusG5_h[j/2][j%2] <<
// " sp1: " << parent->getDaug(1)->spParent(i/2) << " sp2: " << parent->getDaug(1)->spParent(i%2) << std::endl;
Matrix[j/2][j%2][i/2][i%2] += lbar_Gmu_l[i/2][i%2] * (i1*A2*(hbar_SmunuPlusG5_h[j/2][j%2].cont2(q_mu))+B2*(hbar_SmunuMinusG5_h[j/2][j%2].cont2(q_mu)));
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += lbar_Gmu_l[i/2][i%2] * ((A3*hbar_1PlusG5_h[j/2][j%2]+B3*hbar_1MinusG5_h[j/2][j%2])*q_mu);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += lbar_GmuG5_l[i/2][i%2] * (D1*hbar_GmuPlusG5_h[j/2][j%2]+E1*hbar_GmuMinusG5_h[j/2][j%2]);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += lbar_GmuG5_l[i/2][i%2] * (i1*D2*(hbar_SmunuPlusG5_h[j/2][j%2].cont2(q_mu))+E2*(hbar_SmunuMinusG5_h[j/2][j%2].cont2(q_mu)));
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += lbar_GmuG5_l[i/2][i%2] * ((D3*hbar_1PlusG5_h[j/2][j%2]+E3*hbar_1MinusG5_h[j/2][j%2])*q_mu);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += lbar_l[i/2][i%2] * (N1*hbar_h[j/2][j%2]+H1*hbar_G5_h[j/2][j%2]);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += lbar_G5_l[i/2][i%2] * (N2*hbar_h[j/2][j%2]+H2*hbar_G5_h[j/2][j%2]);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += cont(lbar_Smunu_l[i/2][i%2] , 4*C_T*f_T*hbar_Smunu_h[j/2][j%2]);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
- Matrix[j/2][j%2][i/2][i%2] +=
- cont(lbar_Smunu_l[i/2][i%2] ,
+ Matrix[j/2][j%2][i/2][i%2] +=
+ cont(lbar_Smunu_l[i/2][i%2] ,
-4*C_T*f_TV*i1*(EvtGenFunctions::directProd(q_mu,hbar_Gmu_h[j/2][j%2])-
EvtGenFunctions::directProd(hbar_Gmu_h[j/2][j%2],q_mu)));
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += cont(lbar_Smunu_l[i/2][i%2] , -4*C_T*f_TS*i1*(EvtGenFunctions::directProd(P_mu,q_mu)-EvtGenFunctions::directProd(q_mu,P_mu))*hbar_h[j/2][j%2]);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += cont(lbar_ESmunu_l[i/2][i%2] , 4*C_TE*f_T*i1*hbar_Smunu_h[j/2][j%2]);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += cont(lbar_ESmunu_l[i/2][i%2] , 4*C_TE*f_TV*(EvtGenFunctions::directProd(q_mu,hbar_Gmu_h[j/2][j%2])-EvtGenFunctions::directProd(hbar_Gmu_h[j/2][j%2],q_mu)));
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
Matrix[j/2][j%2][i/2][i%2] += cont(lbar_ESmunu_l[i/2][i%2] , 4*C_TE*f_TS*(EvtGenFunctions::directProd(P_mu,q_mu)-EvtGenFunctions::directProd(q_mu,P_mu))*hbar_h[j/2][j%2]);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
//Matrix[j/2][j%2][i/2][i%2] *= G_F*alpha/4/sqrt(2)/EvtConst::pi*V_tb*conj(V_ts);
//std::cout << "Matrix = " << Matrix[j/2][j%2][i/2][i%2] << std::endl;
//std::cout << "--------------------------------------------------" << std::endl;
spins[0]=j%2;
spins[1]=j/2;
spins[2]=i/2;
spins[3]=i%2;
amp->vertex(spins,Matrix[j/2][j%2][i/2][i%2]);
}
//std::cout << "==================================================" << std::endl;
//std::cout << "Lambda_b0: " << parent->getP4Restframe() << std::endl;
//std::cout << "Lambda0: " << parent->getDaug(0)->getP4() << std::endl;
//std::cout << "mu-: " << parent->getDaug(1)->getP4() << std::endl;
//std::cout << "mu+: " << parent->getDaug(2)->getP4() << std::endl;
//std::cout << "P_mu: " << P_mu << std::endl;
//std::cout << "q_mu: " << q_mu << std::endl;
//std::cout << "q2: " << q2 << std::endl;
//std::cout << "==================================================" << std::endl;
return;
}
EvtTensor4C EvtLb2Lll::EvtLeptonTG5Current(const EvtDiracSpinor &d,const EvtDiracSpinor &dp){
// <u|sigma^munu*gamma^5|v>
EvtTensor4C temp;
temp.zero();
EvtComplex i2(0,0.5);
static EvtGammaMatrix mat01=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g0()*EvtGammaMatrix::g1()-
EvtGammaMatrix::g1()*EvtGammaMatrix::g0())*EvtGammaMatrix::g5();
static EvtGammaMatrix mat02=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g0()*EvtGammaMatrix::g2()-
EvtGammaMatrix::g2()*EvtGammaMatrix::g0())*EvtGammaMatrix::g5();
static EvtGammaMatrix mat03=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g0()*EvtGammaMatrix::g3()-
EvtGammaMatrix::g3()*EvtGammaMatrix::g0())*EvtGammaMatrix::g5();
static EvtGammaMatrix mat12=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g1()*EvtGammaMatrix::g2()-
EvtGammaMatrix::g2()*EvtGammaMatrix::g1())*EvtGammaMatrix::g5();
static EvtGammaMatrix mat13=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g1()*EvtGammaMatrix::g3()-
EvtGammaMatrix::g3()*EvtGammaMatrix::g1())*EvtGammaMatrix::g5();
static EvtGammaMatrix mat23=EvtGammaMatrix::g0()*
(EvtGammaMatrix::g2()*EvtGammaMatrix::g3()-
EvtGammaMatrix::g3()*EvtGammaMatrix::g2())*EvtGammaMatrix::g5();
temp.set(0,1,i2*(d*(mat01*dp)));
temp.set(1,0,-temp.get(0,1));
temp.set(0,2,i2*(d*(mat02*dp)));
temp.set(2,0,-temp.get(0,2));
temp.set(0,3,i2*(d*(mat03*dp)));
temp.set(3,0,-temp.get(0,3));
temp.set(1,2,i2*(d*(mat12*dp)));
temp.set(2,1,-temp.get(1,2));
temp.set(1,3,i2*(d*(mat13*dp)));
temp.set(3,1,-temp.get(1,3));
temp.set(2,3,i2*(d*(mat23*dp)));
temp.set(3,2,-temp.get(2,3));
return temp;
}
diff --git a/src/EvtGenModels/EvtMelikhov.cpp b/src/EvtGenModels/EvtMelikhov.cpp
index b056499..c8fcd7f 100644
--- a/src/EvtGenModels/EvtMelikhov.cpp
+++ b/src/EvtGenModels/EvtMelikhov.cpp
@@ -1,73 +1,71 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtMelikhov.cc
//
// Description: Routine to implement semileptonic B->D*lnu decays according
// to the model HQET
//
// Modification history:
//
// DJL April 20, 1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtMelikhov.hh"
#include "EvtGenModels/EvtMelikhovFF.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include <string>
-EvtMelikhov::~EvtMelikhov() {}
-
std::string EvtMelikhov::getName(){
- return "MELIKHOV";
+ return "MELIKHOV";
}
EvtDecayBase* EvtMelikhov::clone(){
return new EvtMelikhov;
}
void EvtMelikhov::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,Melikhovffmodel);
+ calcamp->CalcAmp(p,_amp2,Melikhovffmodel.get());
}
void EvtMelikhov::init(){
checkNArg(1);
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
- Melikhovffmodel = new EvtMelikhovFF(getArg(0));
- calcamp = new EvtSemiLeptonicVectorAmp;
-
+ Melikhovffmodel = std::make_unique< EvtMelikhovFF >(getArg(0));
+ calcamp = std::make_unique< EvtSemiLeptonicVectorAmp >();
+
}
diff --git a/src/EvtGenModels/EvtMelikhovFF.cpp b/src/EvtGenModels/EvtMelikhovFF.cpp
index e829faa..7a2fedd 100644
--- a/src/EvtGenModels/EvtMelikhovFF.cpp
+++ b/src/EvtGenModels/EvtMelikhovFF.cpp
@@ -1,150 +1,149 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtMelikhovFF.cc
//
// Description: form factors for B->D*lnu according to HQET
//
// Modification history:
//
// DJL April 17, 1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtMelikhovFF.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
-#include <math.h>
+#include <cmath>
#include "EvtGenBase/EvtPDL.hh"
-#include <stdlib.h>
+#include <cstdlib>
EvtMelikhovFF::EvtMelikhovFF(double arg1) {
whichfit = int(arg1+0.1);
- return;
}
void EvtMelikhovFF::getvectorff(EvtId parent,EvtId,
double t, double mass, double *a1f,
double *a2f, double *vf, double *a0f ){
double ma1(0.0),ra1(0.0),na1(0.0);
double ma2(0.0),ra2(0.0),na2(0.0);
double mv(0.0),rv(0.0),nv(0.0);
if ( whichfit==1) {
ma1 = 7.07;
ra1 = 0.27;
na1 = 2.65;
ma2 = 6.13;
ra2 = 0.25;
na2 = 2.17;
mv = 6.28;
rv = 0.30;
nv = 2.36;
}
if ( whichfit==2) {
ma1 = 6.78;
ra1 = 0.20;
na1 = 2.65;
ma2 = 6.00;
ra2 = 0.19;
na2 = 2.34;
mv = 6.22;
rv = 0.20;
nv = 2.46;
}
if ( whichfit==3) {
ma1 = 6.50;
ra1 = 0.21;
na1 = 2.70;
ma2 = 5.90;
ra2 = 0.20;
na2 = 2.45;
mv = 5.90;
rv = 0.21;
nv = 2.35;
}
if ( whichfit==4) {
ma1 = 5.68;
ra1 = 0.29;
na1 = 1.67;
ma2 = 5.36;
ra2 = 0.28;
na2 = 1.67;
mv = 5.46;
rv = 0.29;
nv = 1.73;
}
double mb=EvtPDL::getMeanMass(parent);
//double w = ((mb*mb)+(mass*mass)-t)/(2.0*mb*mass);
double melr = mass/mb;
double mely = t/(mb*mb);
-
+
*a1f = ((1.0+melr*melr-mely)/(1+melr))*ra1/pow(1.0-(t/(ma1*ma1)),na1);
*a2f = (1+melr)*((1.0-melr*melr-mely)/((1+melr)*(1+melr)-mely))
*ra2/pow(1.0-(t/(ma2*ma2)),na2);
*vf = (1+melr)*rv/pow(1.0-(t/(mv*mv)),nv);
*a0f = 0.0;
return;
}
-void EvtMelikhovFF::getscalarff(EvtId, EvtId, double, double, double*,
+void EvtMelikhovFF::getscalarff(EvtId, EvtId, double, double, double*,
double*){
-
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :getvectorff in EvtMelikhovFF.\n";
+
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :getvectorff in EvtMelikhovFF.\n";
::abort();
}
-void EvtMelikhovFF::gettensorff(EvtId, EvtId, double, double, double*,
+void EvtMelikhovFF::gettensorff(EvtId, EvtId, double, double, double*,
double*, double*, double*){
-
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :gettensorff in EvtMelikhovFF.\n";
+
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :gettensorff in EvtMelikhovFF.\n";
::abort();
}
-void EvtMelikhovFF::getbaryonff(EvtId, EvtId, double, double, double*,
+void EvtMelikhovFF::getbaryonff(EvtId, EvtId, double, double, double*,
double*, double*, double*){
-
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtMelikhovFF.\n";
+
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtMelikhovFF.\n";
::abort();
}
void EvtMelikhovFF::getdiracff(EvtId, EvtId, double, double, double*, double*,
double*, double*, double*, double*) {
-
+
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :getdiracff in EvtMelikhovFF.\n";
::abort();
}
-void EvtMelikhovFF::getraritaff(EvtId, EvtId, double, double, double*, double*,
+void EvtMelikhovFF::getraritaff(EvtId, EvtId, double, double, double*, double*,
double*, double*, double*, double*, double*, double*) {
-
+
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Not implemented :getraritaff in EvtMelikhovFF.\n";
::abort();
}
diff --git a/src/EvtGenModels/EvtOmegaDalitz.cpp b/src/EvtGenModels/EvtOmegaDalitz.cpp
index edfd10e..4c33a85 100644
--- a/src/EvtGenModels/EvtOmegaDalitz.cpp
+++ b/src/EvtGenModels/EvtOmegaDalitz.cpp
@@ -1,100 +1,98 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtOmegaDalitz.cc
//
// Description: Routine to decay omega -> pi pi pi0
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector3R.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtOmegaDalitz.hh"
#include "EvtGenBase/EvtReport.hh"
#include <string>
-EvtOmegaDalitz::~EvtOmegaDalitz() {}
-
std::string EvtOmegaDalitz::getName(){
- return "OMEGA_DALITZ";
+ return "OMEGA_DALITZ";
}
EvtDecayBase* EvtOmegaDalitz::clone(){
return new EvtOmegaDalitz;
}
void EvtOmegaDalitz::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
}
void EvtOmegaDalitz::initProbMax() {
setProbMax( 1.0);
-}
+}
void EvtOmegaDalitz::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4C ep[3];
ep[0] = p->eps(0);
ep[1] = p->eps(1);
ep[2] = p->eps(2);
EvtVector4R mompi1 = p->getDaug(0)->getP4();
EvtVector4R mompi2 = p->getDaug(1)->getP4();
EvtVector3R p1(mompi1.get(1),mompi1.get(2),mompi1.get(3));
EvtVector3R p2(mompi2.get(1),mompi2.get(2),mompi2.get(3));
EvtVector3R q=cross(p2,p1);
EvtVector3C e1(ep[0].get(1),ep[0].get(2),ep[0].get(3));
EvtVector3C e2(ep[1].get(1),ep[1].get(2),ep[1].get(3));
EvtVector3C e3(ep[2].get(1),ep[2].get(2),ep[2].get(3));
//This is an approximate formula of the maximum value that
//|q| can have.
double norm=1.14/(p->mass()*p->mass()/9.0-mompi1.mass2());
-
+
vertex(0,norm*e1*q);
vertex(1,norm*e2*q);
vertex(2,norm*e3*q);
return ;
-
+
}
diff --git a/src/EvtGenModels/EvtPFermi.cpp b/src/EvtGenModels/EvtPFermi.cpp
index 1810760..1251072 100644
--- a/src/EvtGenModels/EvtPFermi.cpp
+++ b/src/EvtGenModels/EvtPFermi.cpp
@@ -1,100 +1,92 @@
//-----------------------------------------------------------------------
// File and Version Information:
//
// Copyright Information: See EvtGen/COPYRIGHT
//
//
// Description:
// DFN model:
-// F(k+) = N (1-x)^a exp((1+a)x) ,x=k+/(mB-mb)
+// F(k+) = N (1-x)^a exp((1+a)x) ,x=k+/(mB-mb)
// the fermi motion distribution according to
// hep-ph/9905351 v2
// BLNP model:
// F(wtilde,Lambda,b) = pow(_b,_b)/(tgamma(_b)*_Lambda)*pow(wtilde/_Lambda,_b-1)*
// exp(-_b*wtilde/Lambda);
// the leading order shape function (exp) (hep-ph/0504071)
// Environment:
// Software developed for the BaBar Detector at the SLAC B-Factory.
//
// Author List:
// Sven Menke (DFN model)
// Alexei Volk (BLNP model)
//-----------------------------------------------------------------------
//-----------------------
// This Class's Header --
//-----------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenModels/EvtPFermi.hh"
#include "EvtGenBase/EvtReport.hh"
//---------------
// C Headers --
//---------------
#include <math.h>
#include <stdlib.h>
//----------------
// Constructors --
//----------------
//for DFN model
EvtPFermi::EvtPFermi(const double &a, const double &mB, const double &mb)
{
_a = a;
_mb = mb;
_mB = mB;
}
// for BLNP modell
EvtPFermi::EvtPFermi(const double &Lambda, const double &b)
{
_Lambda = Lambda;
_b = b;
}
-//--------------
-// Destructor --
-//--------------
-
-EvtPFermi::~EvtPFermi( )
-{
-}
-
//-----------
// Methods --
//-----------
double EvtPFermi::getFPFermi(const double &kplus)
{
double FKplus;
double x = kplus/(_mB-_mb);
if ( x >= 1) return 0;
- if ( kplus <= -_mb) return 0;
+ if ( kplus <= -_mb) return 0;
FKplus = pow(1-x,_a)*exp((1+_a)*x);
return FKplus;
}
-// get value for the leading order exponential SF
+// get value for the leading order exponential SF
double EvtPFermi::getSFBLNP(const double &what)
{
double SF;
- double massB = 5.2792;
-
+ double massB = 5.2792;
+
if ( what > massB ) return 0;
- if ( what < 0 ) return 0;
+ if ( what < 0 ) return 0;
#if defined(__SUNPRO_CC)
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "The tgamma function is not available on this platform\n";
EvtGenReport(EVTGEN_ERROR,"EvtGen") <<"Presumably, you are getting the wrong answer, so I abort..";
::abort();
#else
- SF = pow(_b,_b)/(tgamma(_b)*_Lambda)*pow(what/_Lambda,_b-1)*exp(-_b*what/_Lambda);
+ SF = pow(_b,_b)/(tgamma(_b)*_Lambda)*pow(what/_Lambda,_b-1)*exp(-_b*what/_Lambda);
#endif
-
+
return SF;
}
diff --git a/src/EvtGenModels/EvtPVVCPLH.cpp b/src/EvtGenModels/EvtPVVCPLH.cpp
index b551f75..636d242 100644
--- a/src/EvtGenModels/EvtPVVCPLH.cpp
+++ b/src/EvtGenModels/EvtPVVCPLH.cpp
@@ -1,186 +1,184 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1999 Caltech, UCSB
//
// Module: EvtPVVCPLH.cc
//
-// Description: The decay of a scalar to two vector particles are
+// Description: The decay of a scalar to two vector particles are
// performed with CP violation and different widths for
// the CP-even and CP-odd states. E.g. Bs->J/psi phi.
//
// Modification history:
//
// RYD November 5, 1999 Module EvtSVVCPLH created
//
// DUPREE October 10, 2006 Large modification: EvtSVVCPLH->EvtPVVCPLH
// Time-dependence correctly
//
// COWAN June 10, 2009 Modified to use the new EvtCPUtils class.
// EvtIncoherentMixing removed.
//
//------------------------------------------------------------------------
//
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtSVVHelAmp.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtPVVCPLH.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtRandom.hh"
-EvtPVVCPLH::~EvtPVVCPLH() {}
-
std::string EvtPVVCPLH::getName() {
- return "PVV_CPLH";
+ return "PVV_CPLH";
}
EvtDecayBase* EvtPVVCPLH::clone(){
return new EvtPVVCPLH;
}
void EvtPVVCPLH::init(){
// check that there are 8 arguments (deltaMs no argument anymore)
checkNArg(8);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::VECTOR);
}
void EvtPVVCPLH::initProbMax(){
//This is probably not quite right, but it should do as a start...
//Anders
setProbMax(2*(getArg(2)*getArg(2)+getArg(4)*getArg(4)+getArg(6)*getArg(6)));
}
void EvtPVVCPLH::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
//This is only to get tag-ID
//Mixing is not relevant
//Lifetime is made correctly later
//Tristan
EvtId other_b;
double t;
// To generate integrated CP asymmetry, EvtGen uses the "flipping".
// CP-asymmetry in this channel very small, since:
// deltaMs large ..and..
// CPV-phase small
EvtCPUtil::getInstance()->OtherB(p,t,other_b);
//Here we're gonna generate and set the "envelope" lifetime
//So we take the longest living component (for positive deltaGamma: tauH)
//The double exponent will be taken care of later, by the amplitudes
//Tristan
-
+
static double Gamma = EvtConst::c/(EvtPDL::getctau(BS0));
static double deltaGamma = EvtCPUtil::getInstance()->getDeltaGamma(BS0);
static double ctauLong = EvtConst::c/(Gamma-fabs(deltaGamma)/2);
// if dG>0: tauLong=tauH(CP-odd) is then largest
//This overrules the lifetimes made in OtherB
t=-log(EvtRandom::Flat())*(ctauLong);//ctauLong has same dimensions as t
if(isBsMixed(p)){
p->getParent()->setLifetime(t);
}else{
p->setLifetime(t);
}
//These should be filled with the transversity amplitudes at t=0 //Tristan
- EvtComplex G0P,G1P,G1M;
+ EvtComplex G0P,G1P,G1M;
G1P=EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
G0P=EvtComplex(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5)));
G1M=EvtComplex(getArg(6)*cos(getArg(7)),getArg(6)*sin(getArg(7)));
EvtComplex lambda_km=EvtComplex(cos(2*getArg(0)),sin(2*getArg(0)));//was een min in oude versie
//deltaMs is no argument anymore
//Tristan
-
+
static double deltaMs = EvtCPUtil::getInstance()->getDeltaM(BS0);
EvtComplex cG0P,cG1P,cG1M;
double mt = exp(-std::max(0.,deltaGamma)*t/(2*EvtConst::c));
double pt = exp(+std::min(0.,deltaGamma)*t/(2*EvtConst::c));
EvtComplex gplus = ( mt*EvtComplex(cos(deltaMs*t/(2*EvtConst::c)),sin( deltaMs*t/(2*EvtConst::c)))
+pt*EvtComplex(cos(deltaMs*t/(2*EvtConst::c)),sin(-deltaMs*t/(2*EvtConst::c))) )/2;
EvtComplex gminus = ( mt*EvtComplex(cos(deltaMs*t/(2*EvtConst::c)),sin( deltaMs*t/(2*EvtConst::c)))
-pt*EvtComplex(cos(deltaMs*t/(2*EvtConst::c)),sin(-deltaMs*t/(2*EvtConst::c))) )/2;;
if (other_b==BSB){
//These are the right equations for the transversity formalism
//cGOP is de 0-component, CP-even, so lives shorter: mainly lifetime tauL
//cG1P is the //-component, also CP-even, also mainly smaller exponent
//cG1M is the transverse component, CP-odd, so has mainly longer lifetime tauH
//Tristan
cG0P = G0P*( gplus + lambda_km*gminus );
cG1P = G1P*( gplus + lambda_km*gminus );
cG1M = G1M*( gplus - lambda_km*gminus );
} else if (other_b==BS0){
//The equations for BsBar
//Note the minus-sign difference
//Tristan
cG0P = G0P*( gplus + (1.0/lambda_km)*gminus );
cG1P = G1P*( gplus + (1.0/lambda_km)*gminus );
cG1M =-G1M*( gplus - (1.0/lambda_km)*gminus );
} else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "other_b was not BSB or BS0!"<<std::endl;
::abort();
}
EvtComplex A0,AP,AM;
//Converting the transversity amplitudes
//to helicity amplitudes
//(to plug them into SVVHelAmp)
A0=cG0P;
AP=(cG1P+cG1M)/sqrt(2.0);
AM=(cG1P-cG1M)/sqrt(2.0);
-
+
EvtSVVHelAmp::SVVHel(p,_amp2,getDaug(0),getDaug(1),AP,A0,AM);
return ;
}
bool EvtPVVCPLH::isBsMixed ( EvtParticle * p ) {
if ( ! ( p->getParent() ) ) return false ;
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
if ( ( p->getId() != BS0 ) && ( p->getId() != BSB ) ) return false ;
if ( ( p->getParent()->getId() == BS0 ) ||
( p->getParent()->getId() == BSB ) ) return true ;
return false ;
}
diff --git a/src/EvtGenModels/EvtPartWave.cpp b/src/EvtGenModels/EvtPartWave.cpp
index d71486d..3ebae18 100644
--- a/src/EvtGenModels/EvtPartWave.cpp
+++ b/src/EvtGenModels/EvtPartWave.cpp
@@ -1,297 +1,295 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtHelAmp.cc
//
// Description: Decay model for implementation of generic 2 body
// decay specified by the partial wave amplitudes
//
//
// Modification history:
//
// fkw February 2, 2001 changes to satisfy KCC
// RYD September 7, 2000 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtPartWave.hh"
-#include "EvtGenBase/EvtEvalHelAmp.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtKine.hh"
#include "EvtGenBase/EvtCGCoefSingle.hh"
#include <algorithm>
using std::endl;
-EvtPartWave::~EvtPartWave() {}
std::string EvtPartWave::getName(){
- return "PARTWAVE";
+ return "PARTWAVE";
}
EvtDecayBase* EvtPartWave::clone(){
return new EvtPartWave;
}
void EvtPartWave::init(){
checkNDaug(2);
//find out how many states each particle have
int _nA=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getParentId()));
int _nB=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getDaug(0)));
int _nC=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getDaug(1)));
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"_nA,_nB,_nC:"
<<_nA<<","<<_nB<<","<<_nC<<endl;
}
//find out what 2 times the spin is
int _JA2=EvtSpinType::getSpin2(EvtPDL::getSpinType(getParentId()));
int _JB2=EvtSpinType::getSpin2(EvtPDL::getSpinType(getDaug(0)));
int _JC2=EvtSpinType::getSpin2(EvtPDL::getSpinType(getDaug(1)));
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"_JA2,_JB2,_JC2:"
<<_JA2<<","<<_JB2<<","<<_JC2<<endl;
}
//allocate memory
int* _lambdaA2=new int[_nA];
int* _lambdaB2=new int[_nB];
int* _lambdaC2=new int[_nC];
EvtComplexPtr* _HBC=new EvtComplexPtr[_nB];
int ib,ic;
for(ib=0;ib<_nB;ib++){
_HBC[ib]=new EvtComplex[_nC];
}
int i;
//find the allowed helicities (actually 2*times the helicity!)
fillHelicity(_lambdaA2,_nA,_JA2);
fillHelicity(_lambdaB2,_nB,_JB2);
fillHelicity(_lambdaC2,_nC,_JC2);
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Helicity states of particle A:"<<endl;
for(i=0;i<_nA;i++){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<_lambdaA2[i]<<endl;
}
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Helicity states of particle B:"<<endl;
for(i=0;i<_nB;i++){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<_lambdaB2[i]<<endl;
}
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Helicity states of particle C:"<<endl;
for(i=0;i<_nC;i++){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<_lambdaC2[i]<<endl;
}
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Will now figure out the valid (M_LS) states:"<<endl;
}
int Lmin=std::max(_JA2-_JB2-_JC2,std::max(_JB2-_JA2-_JC2,_JC2-_JA2-_JB2));
if (Lmin<0) Lmin=0;
//int Lmin=_JA2-_JB2-_JC2;
int Lmax=_JA2+_JB2+_JC2;
int L;
int _nPartialWaveAmp=0;
int _nL[50];
int _nS[50];
for (L=Lmin;L<=Lmax;L+=2){
int Smin=abs(L-_JA2);
if (Smin<abs(_JB2-_JC2)) Smin=abs(_JB2-_JC2);
int Smax=L+_JA2;
if (Smax>abs(_JB2+_JC2)) Smax=abs(_JB2+_JC2);
int S;
for (S=Smin;S<=Smax;S+=2){
_nL[_nPartialWaveAmp]=L;
_nS[_nPartialWaveAmp]=S;
_nPartialWaveAmp++;
if (verbose()){
- EvtGenReport(EVTGEN_INFO,"EvtGen")<<"M["<<L<<"]["<<S<<"]"<<endl;
+ EvtGenReport(EVTGEN_INFO,"EvtGen")<<"M["<<L<<"]["<<S<<"]"<<endl;
}
}
}
checkNArg(_nPartialWaveAmp*2);
int argcounter=0;
EvtComplex _M[50];
double partampsqtot=0.0;
for(i=0;i<_nPartialWaveAmp;i++){
_M[i]=getArg(argcounter)*exp(EvtComplex(0.0,getArg(argcounter+1)));;
argcounter+=2;
partampsqtot+=abs2(_M[i]);
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"M["<<_nL[i]<<"]["<<_nS[i]<<"]="<<_M[i]<<endl;
}
}
//Now calculate the helicity amplitudes
double helampsqtot=0.0;
-
+
for(ib=0;ib<_nB;ib++){
for(ic=0;ic<_nC;ic++){
_HBC[ib][ic]=0.0;
if (abs(_lambdaB2[ib]-_lambdaC2[ic])<=_JA2){
for(i=0;i<_nPartialWaveAmp;i++){
int L=_nL[i];
int S=_nS[i];
int lambda2=_lambdaB2[ib];
int lambda3=_lambdaC2[ic];
int s1=_JA2;
int s2=_JB2;
int s3=_JC2;
int m1=lambda2-lambda3;
EvtCGCoefSingle c1(s2,s3);
EvtCGCoefSingle c2(L,S);
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen") << "s2,lambda2:"<<s2<<" "<<lambda2<<endl;
}
//fkw changes to satisfy KCC
double fkwTmp = (L+1.0)/(s1+1.0);
if (S>=abs(m1)){
EvtComplex tmp=sqrt(fkwTmp)
*c1.coef(S,m1,s2,s3,lambda2,-lambda3)
*c2.coef(s1,m1,L,S,0,m1)*_M[i];
_HBC[ib][ic]+=tmp;
}
}
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"_HBC["<<ib<<"]["<<ic<<"]="<<_HBC[ib][ic]<<endl;
}
}
helampsqtot+=abs2(_HBC[ib][ic]);
}
}
if (fabs(helampsqtot-partampsqtot)/(helampsqtot+partampsqtot)>1e-6){
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"In EvtPartWave for decay "
<< EvtPDL::name(getParentId()) << " -> "
- << EvtPDL::name(getDaug(0)) << " "
- << EvtPDL::name(getDaug(1)) << std::endl;
+ << EvtPDL::name(getDaug(0)) << " "
+ << EvtPDL::name(getDaug(1)) << std::endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen")<<"With arguments: "<<std::endl;
for(i=0;i*2<getNArg();i++){
EvtGenReport(EVTGEN_ERROR,"EvtGen") <<"M("<<_nL[i]<<","<<_nS[i]<<")="
// <<getArg(2*i)<<" "<<getArg(2*i+1)<<std::endl;
<<_M[i]<<std::endl;
}
EvtGenReport(EVTGEN_ERROR,"EvtGen")<< "The total probability in the partwave basis is: "
<< partampsqtot << std::endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen")<< "The total probability in the helamp basis is: "
<< helampsqtot << std::endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen")<< "Most likely this is because the specified partwave amplitudes "
<< std::endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen")<< "project onto unphysical helicities of photons or neutrinos. "
<< std::endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen")<< "Seriously consider if your specified amplitudes are correct. "
<< std::endl;
-
-
+
+
}
-
- _evalHelAmp=new EvtEvalHelAmp(getParentId(),
+
+ _evalHelAmp=std::make_unique<EvtEvalHelAmp>(getParentId(),
getDaug(0),
getDaug(1),
_HBC);
}
void EvtPartWave::initProbMax(){
double maxprob=_evalHelAmp->probMax();
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<"Calculated probmax"<<maxprob<<endl;
}
setProbMax(maxprob);
}
void EvtPartWave::decay( EvtParticle *p){
//first generate simple phase space
p->initializePhaseSpace(getNDaug(),getDaugs());
_evalHelAmp->evalAmp(p,_amp2);
return;
}
void EvtPartWave::fillHelicity(int* lambda2,int n,int J2){
-
+
int i;
-
+
//photon is special case!
if (n==2&&J2==2) {
lambda2[0]=2;
lambda2[1]=-2;
return;
}
-
+
assert(n==J2+1);
for(i=0;i<n;i++){
lambda2[i]=n-i*2-1;
}
return;
}
diff --git a/src/EvtGenModels/EvtPhiDalitz.cpp b/src/EvtGenModels/EvtPhiDalitz.cpp
index 2bc423b..1bf5b2f 100644
--- a/src/EvtGenModels/EvtPhiDalitz.cpp
+++ b/src/EvtGenModels/EvtPhiDalitz.cpp
@@ -1,144 +1,142 @@
#include "EvtGenBase/EvtPatches.hh"
-
+
#include <stdlib.h>
#include <math.h>
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtPhiDalitz.hh"
#include "EvtGenBase/EvtReport.hh"
#include <string>
// Implementation of KLOE measurement
// PL B561: 55-60 (2003) + Erratum B609:449-450 (2005)
// or hep-ex/0303016v2
-
-EvtPhiDalitz::~EvtPhiDalitz() {}
std::string EvtPhiDalitz::getName(){
- return "PHI_DALITZ";
+ return "PHI_DALITZ";
}
EvtDecayBase* EvtPhiDalitz::clone(){
return new EvtPhiDalitz;
}
void EvtPhiDalitz::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
checkSpinDaughter(2,EvtSpinType::SCALAR);
_mRho=0.7758;
_gRho=0.1439;
_aD=0.78;
_phiD=-2.47;
_aOmega=0.0071;
_phiOmega=-0.22;
_locPip=-1;
_locPim=-1;
_locPi0=-1;
for ( int i=0; i<3; i++) {
if ( getDaug(i) == EvtPDL::getId("pi+")) _locPip=i;
if ( getDaug(i) == EvtPDL::getId("pi-")) _locPim=i;
if ( getDaug(i) == EvtPDL::getId("pi0")) _locPi0=i;
}
if ( _locPip == -1 || _locPim == -1 || _locPi0 == -1 ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << getModelName() << "generator expects daughters to be pi+ pi- pi0\n";
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Found " << EvtPDL::name(getDaug(0)) << " "
- << EvtPDL::name(getDaug(1)) << " "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Found " << EvtPDL::name(getDaug(0)) << " "
+ << EvtPDL::name(getDaug(1)) << " "
<< EvtPDL::name(getDaug(2)) << std::endl;
}
}
-
+
void EvtPhiDalitz::decay( EvtParticle *p){
EvtId PIP=EvtPDL::getId("pi+");
EvtId PIM=EvtPDL::getId("pi-");
EvtId PIZ=EvtPDL::getId("pi0");
EvtId OMEGA=EvtPDL::getId("omega");
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4R Ppip = p->getDaug(_locPip)->getP4();
EvtVector4R Ppim = p->getDaug(_locPim)->getP4();
EvtVector4R Ppi0 = p->getDaug(_locPi0)->getP4();
EvtVector4R Qp = (Ppim + Ppi0);
EvtVector4R Qm = (Ppip + Ppi0);
EvtVector4R Q0 = (Ppip + Ppim);
- double m2_pip = pow(EvtPDL::getMeanMass(PIP),2);
+ double m2_pip = pow(EvtPDL::getMeanMass(PIP),2);
double m2_pim = pow(EvtPDL::getMeanMass(PIM),2);
double m2_pi0 = pow(EvtPDL::getMeanMass(PIZ),2);
double M2rhop = pow(_mRho,2);
double M2rhom = pow(_mRho,2);
double M2rho0 = pow(_mRho,2);
double M2omega = pow(EvtPDL::getMeanMass(OMEGA),2);
double Wrhop = _gRho;
double Wrhom = _gRho;
double Wrho0 = _gRho;
double Womega = EvtPDL::getWidth(OMEGA);
-
+
EvtComplex Atot(0,0);
//Rho+ Risonance Amplitude
double Gp = Wrhop*pow(((Qp.mass2()-m2_pim-m2_pi0)/2-M2rhop/4)/(M2rhop/4-(m2_pim+m2_pi0)/2),3/2)*(M2rhop/Qp.mass2());
EvtComplex Drhop((Qp.mass2()-M2rhop),Qp.mass()*Gp);
EvtComplex A1(M2rhop/Drhop);
//Rho- Risonance Amplitude
double Gm = Wrhom*pow(((Qm.mass2()-m2_pip-m2_pi0)/2-M2rhom/4)/(M2rhom/4-(m2_pip+m2_pi0)/2),3/2)*(M2rhom/Qm.mass2());
EvtComplex Drhom((Qm.mass2()-M2rhom),Qm.mass()*Gm);
EvtComplex A2(M2rhom/Drhom);
//Rho0 Risonance Amplitude
double G0 = Wrho0*pow(((Q0.mass2()-m2_pip-m2_pim)/2-M2rho0/4)/(M2rho0/4-(m2_pip+m2_pim)/2),3/2)*(M2rho0/Q0.mass2());
EvtComplex Drho0((Q0.mass2()-M2rho0),Q0.mass()*G0);
EvtComplex A3(M2rho0/Drho0);
-
+
//Omega Risonance Amplitude
- EvtComplex OmegaPhase(0,_phiOmega);
+ EvtComplex OmegaPhase(0,_phiOmega);
EvtComplex DOmega((Q0.mass2()-M2omega),Q0.mass()*Womega);
EvtComplex A4(_aOmega*M2omega*exp(OmegaPhase)/DOmega);
//Direct Decay Amplitude
EvtComplex DirPhase(0,_phiD);
EvtComplex A5(_aD*exp(DirPhase));
Atot=A1+A2+A3+A4+A5;
vertex(0,Atot);
vertex(1,Atot);
vertex(2,Atot);
return ;
-
+
}
diff --git a/src/EvtGenModels/EvtPhsp.cpp b/src/EvtGenModels/EvtPhsp.cpp
index a9f8af9..20cf7f5 100644
--- a/src/EvtGenModels/EvtPhsp.cpp
+++ b/src/EvtGenModels/EvtPhsp.cpp
@@ -1,73 +1,71 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtPhsp.cc
//
// Description: Routine to decay a particle according th phase space
//
// Modification history:
//
// RYD January 8, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtPhsp.hh"
#include <string>
-EvtPhsp::~EvtPhsp() {}
-
std::string EvtPhsp::getName(){
- return "PHSP";
+ return "PHSP";
}
EvtDecayBase* EvtPhsp::clone(){
return new EvtPhsp;
}
void EvtPhsp::init(){
// check that there are 0 arguments
checkNArg(0);
}
void EvtPhsp::initProbMax(){
noProbMax();
}
void EvtPhsp::decay( EvtParticle *p ){
//unneeded - lange - may13-02
//if ( p->getNDaug() != 0 ) {
//Will end up here because maxrate multiplies by 1.2
// EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "In EvtPhsp: has "
// <<" daugthers should not be here!"<<endl;
// return;
//}
p->initializePhaseSpace(getNDaug(),getDaugs());
return ;
}
diff --git a/src/EvtGenModels/EvtPi0Dalitz.cpp b/src/EvtGenModels/EvtPi0Dalitz.cpp
index 00d5c8b..3afddd5 100644
--- a/src/EvtGenModels/EvtPi0Dalitz.cpp
+++ b/src/EvtGenModels/EvtPi0Dalitz.cpp
@@ -1,117 +1,115 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtPi0Dalitz.cc
//
-// Description: pi0 -> e+ e- gamma
+// Description: pi0 -> e+ e- gamma
//
// Modification history:
//
// DJL/RYD June 30, 1998 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <fstream>
#include <stdio.h>
#include <string>
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtPi0Dalitz.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
using std::fstream;
-EvtPi0Dalitz::~EvtPi0Dalitz() {}
-
std::string EvtPi0Dalitz::getName(){
return "PI0_DALITZ";
}
EvtDecayBase* EvtPi0Dalitz::clone(){
return new EvtPi0Dalitz;
}
void EvtPi0Dalitz::initProbMax(){
setProbMax(3.5);
}
void EvtPi0Dalitz::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
-
+
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::PHOTON);
}
void EvtPi0Dalitz::decay( EvtParticle *p){
EvtParticle *ep, *em, *gamma;
setWeight(p->initializePhaseSpace(getNDaug(),getDaugs(),false,
0.00000002,0,1));
ep=p->getDaug(0);
em=p->getDaug(1);
gamma=p->getDaug(2);
// the next four lines generates events with a weight such that
// the efficiency for selecting them is good. The parameter below of
// 0.1 is the size of the peak at low q^2 (in arbitrary units).
- // The value of 0.1 is appropriate for muons.
+ // The value of 0.1 is appropriate for muons.
// when you use this remember to remove the cut on q^2!
-
+
//ep em invariant mass^2
double m2=(ep->getP4()+em->getP4()).mass2();
EvtVector4R q=ep->getP4()+em->getP4();
//Just use the prob summed over spins...
EvtTensor4C w,v;
- v=2.0*(gamma->getP4()*q)*EvtGenFunctions::directProd(q,gamma->getP4())
+ v=2.0*(gamma->getP4()*q)*EvtGenFunctions::directProd(q,gamma->getP4())
- (gamma->getP4()*q)*(gamma->getP4()*q)*EvtTensor4C::g()
-m2*EvtGenFunctions::directProd(gamma->getP4(),gamma->getP4());
-
- w=4.0*( EvtGenFunctions::directProd(ep->getP4(),em->getP4()) +
+
+ w=4.0*( EvtGenFunctions::directProd(ep->getP4(),em->getP4()) +
EvtGenFunctions::directProd(em->getP4(),ep->getP4())
-EvtTensor4C::g()*(ep->getP4()*em->getP4()-ep->getP4().mass2()));
double prob=(real(cont(v,w)))/(m2*m2);
prob *=(1.0/( (0.768*0.768-m2)*(0.768*0.768-m2)
+0.768*0.768*0.151*0.151));
// EvtGenReport(EVTGEN_INFO,"EvtGen") << "prob is "<<prob<<endl;
setProb(prob);
return;
}
diff --git a/src/EvtGenModels/EvtPropSLPole.cpp b/src/EvtGenModels/EvtPropSLPole.cpp
index 5dc4bd3..9204ff8 100644
--- a/src/EvtGenModels/EvtPropSLPole.cpp
+++ b/src/EvtGenModels/EvtPropSLPole.cpp
@@ -1,547 +1,549 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtPropSLPole.cc
//
// Description: Routine to implement semileptonic decays according
// to light cone sum rules
//
// Modification history:
//
// DJL April 23, 1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtPropSLPole.hh"
#include "EvtGenModels/EvtSLPoleFF.hh"
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh"
#include "EvtGenBase/EvtIntervalFlatPdf.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtVectorParticle.hh"
#include "EvtGenBase/EvtTensorParticle.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtPropBreitWignerRel.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtAmpPdf.hh"
#include "EvtGenBase/EvtMassAmp.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtDecayTable.hh"
#include <string>
-EvtPropSLPole::~EvtPropSLPole() {}
-
std::string EvtPropSLPole::getName(){
- return "PROPSLPOLE";
+ return "PROPSLPOLE";
}
EvtDecayBase* EvtPropSLPole::clone(){
return new EvtPropSLPole;
}
void EvtPropSLPole::decay( EvtParticle *p ){
if(! _isProbMaxSet){
EvtId parnum,mesnum,lnum,nunum;
parnum = getParentId();
mesnum = getDaug(0);
lnum = getDaug(1);
nunum = getDaug(2);
double mymaxprob = calcMaxProb(parnum,mesnum,
- lnum,nunum,SLPoleffmodel);
+ lnum,nunum,SLPoleffmodel.get());
setProbMax(mymaxprob);
_isProbMaxSet = true;
}
double minKstMass = EvtPDL::getMinMass(p->getDaug(0)->getId());
double maxKstMass = EvtPDL::getMaxMass(p->getDaug(0)->getId());
EvtIntervalFlatPdf flat(minKstMass, maxKstMass);
EvtPdfGen<EvtPoint1D> gen(flat);
- EvtPoint1D point = gen();
-
+ EvtPoint1D point = gen();
+
double massKst = point.value();
p->getDaug(0)->setMass(massKst);
p->initializePhaseSpace(getNDaug(),getDaugs());
// EvtVector4R p4meson = p->getDaug(0)->getP4();
- calcamp->CalcAmp(p,_amp2,SLPoleffmodel);
+ calcamp->CalcAmp(p,_amp2,SLPoleffmodel.get());
EvtParticle *mesonPart = p->getDaug(0);
-
- double meson_BWAmp = calBreitWigner(mesonPart, point);
+
+ double meson_BWAmp = calBreitWigner(mesonPart, point);
int list[2];
list[0]=0; list[1]=0;
_amp2.vertex(0,0,_amp2.getAmp(list)*meson_BWAmp);
list[0]=0; list[1]=1;
_amp2.vertex(0,1,_amp2.getAmp(list)*meson_BWAmp);
list[0]=1; list[1]=0;
_amp2.vertex(1,0,_amp2.getAmp(list)*meson_BWAmp);
list[0]=1; list[1]=1;
_amp2.vertex(1,1,_amp2.getAmp(list)*meson_BWAmp);
list[0]=2; list[1]=0;
_amp2.vertex(2,0,_amp2.getAmp(list)*meson_BWAmp);
list[0]=2; list[1]=1;
_amp2.vertex(2,1,_amp2.getAmp(list)*meson_BWAmp);
-
-
+
+
return;
}
void EvtPropSLPole::initProbMax(){
_isProbMaxSet = false;
return;
}
void EvtPropSLPole::init(){
-
+
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
- SLPoleffmodel = new EvtSLPoleFF(getNArg(),getArgs());
-
- if ( mesontype==EvtSpinType::SCALAR ) {
- calcamp = new EvtSemiLeptonicScalarAmp;
- }
- if ( mesontype==EvtSpinType::VECTOR ) {
- calcamp = new EvtSemiLeptonicVectorAmp;
- }
- if ( mesontype==EvtSpinType::TENSOR ) {
- calcamp = new EvtSemiLeptonicTensorAmp;
+ SLPoleffmodel = std::make_unique<EvtSLPoleFF>(getNArg(),getArgs());
+
+ switch(mesontype) {
+ case EvtSpinType::SCALAR:
+ calcamp = std::make_unique<EvtSemiLeptonicScalarAmp>();
+ break;
+ case EvtSpinType::VECTOR:
+ calcamp = std::make_unique<EvtSemiLeptonicVectorAmp>();
+ break;
+ case EvtSpinType::TENSOR:
+ calcamp = std::make_unique<EvtSemiLeptonicTensorAmp>();
+ break;
+ default:
+ ;
}
}
double EvtPropSLPole::calBreitWignerBasic(double maxMass){
if ( _width< 0.0001) return 1.0;
//its not flat - but generated according to a BW
double mMin=_massMin;
double mMax=_massMax;
if ( maxMass>-0.5 && maxMass< mMax) mMax=maxMass;
double massGood = EvtRandom::Flat(mMin, mMax);
double ampVal = sqrt(1.0/(pow(massGood-_mass, 2.0) + pow(_width, 2.0)/4.0));
return ampVal;
}
double EvtPropSLPole::calBreitWigner(EvtParticle *pmeson, EvtPoint1D point){
- EvtId mesnum = pmeson->getId();
- double _mass = EvtPDL::getMeanMass(mesnum);
- double _width = EvtPDL::getWidth(mesnum);
- double _maxRange = EvtPDL::getMaxRange(mesnum);
+ EvtId mesnum = pmeson->getId();
+ _mass = EvtPDL::getMeanMass(mesnum);
+ _width = EvtPDL::getWidth(mesnum);
+ _maxRange = EvtPDL::getMaxRange(mesnum);
EvtSpinType::spintype mesontype=EvtPDL::getSpinType(mesnum);
_includeDecayFact=true;
_includeBirthFact=true;
_spin = mesontype;
_blatt = 3.0;
double maxdelta = 15.0*_width;
if ( _maxRange > 0.00001 ) {
_massMax=_mass+maxdelta;
_massMin=_mass-_maxRange;
}
else{
_massMax=_mass+maxdelta;
_massMin=_mass-15.0*_width;
}
_massMax=_mass+maxdelta;
if ( _massMin< 0. ) _massMin=0.;
EvtParticle* par=pmeson->getParent();
double maxMass=-1.;
if ( par != 0 ) {
if ( par->hasValidP4() ) maxMass=par->mass();
for ( size_t i=0;i<par->getNDaug();i++) {
EvtParticle *tDaug=par->getDaug(i);
if ( pmeson != tDaug )
maxMass-=EvtPDL::getMinMass(tDaug->getId());
}
}
EvtId *dauId=0;
double *dauMasses=0;
size_t nDaug = pmeson->getNDaug();
if ( nDaug > 0) {
dauId=new EvtId[nDaug];
dauMasses=new double[nDaug];
for (size_t j=0;j<nDaug;j++) {
dauId[j]=pmeson->getDaug(j)->getId();
dauMasses[j]=pmeson->getDaug(j)->mass();
}
}
EvtId *parId=0;
EvtId *othDaugId=0;
EvtParticle *tempPar=pmeson->getParent();
if (tempPar) {
parId=new EvtId(tempPar->getId());
if ( tempPar->getNDaug()==2 ) {
if ( tempPar->getDaug(0) == pmeson ) othDaugId=new EvtId(tempPar->getDaug(1)->getId());
else othDaugId=new EvtId(tempPar->getDaug(0)->getId());
}
}
if ( nDaug!=2) return calBreitWignerBasic(maxMass);
if ( _width< 0.00001) return 1.0;
//first figure out L - take the lowest allowed.
EvtSpinType::spintype spinD1=EvtPDL::getSpinType(dauId[0]);
EvtSpinType::spintype spinD2=EvtPDL::getSpinType(dauId[1]);
int t1=EvtSpinType::getSpin2(spinD1);
int t2=EvtSpinType::getSpin2(spinD2);
int t3=EvtSpinType::getSpin2(_spin);
int Lmin=-10;
// allow for special cases.
if (Lmin<-1 ) {
//There are some things I don't know how to deal with
if ( t3>4) return calBreitWignerBasic(maxMass);
if ( t1>4) return calBreitWignerBasic(maxMass);
if ( t2>4) return calBreitWignerBasic(maxMass);
//figure the min and max allowwed "spins" for the daughters state
Lmin=std::max(t3-t2-t1,std::max(t2-t3-t1,t1-t3-t2));
if (Lmin<0) Lmin=0;
assert(Lmin==0||Lmin==2||Lmin==4);
}
//double massD1=EvtPDL::getMeanMass(dauId[0]);
//double massD2=EvtPDL::getMeanMass(dauId[1]);
double massD1=dauMasses[0];
double massD2=dauMasses[1];
// I'm not sure how to define the vertex factor here - so retreat to nonRel code.
if ( (massD1+massD2)> _mass ) return calBreitWignerBasic(maxMass);
//parent vertex factor not yet implemented
double massOthD=-10.;
double massParent=-10.;
int birthl=-10;
if ( othDaugId) {
EvtSpinType::spintype spinOth=EvtPDL::getSpinType(*othDaugId);
EvtSpinType::spintype spinPar=EvtPDL::getSpinType(*parId);
int tt1=EvtSpinType::getSpin2(spinOth);
int tt2=EvtSpinType::getSpin2(spinPar);
int tt3=EvtSpinType::getSpin2(_spin);
//figure the min and max allowwed "spins" for the daughters state
if ( (tt1<=4) && ( tt2<=4) ) {
birthl=std::max(tt3-tt2-tt1,std::max(tt2-tt3-tt1,tt1-tt3-tt2));
if (birthl<0) birthl=0;
massOthD=EvtPDL::getMeanMass(*othDaugId);
massParent=EvtPDL::getMeanMass(*parId);
}
}
double massM=_massMax;
if ( (maxMass > -0.5) && (maxMass < massM) ) massM=maxMass;
//special case... if the parent mass is _fixed_ we can do a little better
//and only for a two body decay as that seems to be where we have problems
// Define relativistic propagator amplitude
EvtTwoBodyVertex vd(massD1,massD2,_mass,Lmin/2);
vd.set_f(_blatt);
EvtPropBreitWignerRel bw(_mass,_width);
EvtMassAmp amp(bw,vd);
// if ( _fixMassForMax) amp.fixUpMassForMax();
// else std::cout << "problem problem\n";
if ( _includeDecayFact) {
amp.addDeathFact();
amp.addDeathFactFF();
}
if ( massParent>-1.) {
if ( _includeBirthFact ) {
EvtTwoBodyVertex vb(_mass,massOthD,massParent,birthl/2);
amp.setBirthVtx(vb);
amp.addBirthFact();
amp.addBirthFactFF();
}
}
EvtAmpPdf<EvtPoint1D> pdf(amp);
double ampVal = sqrt(pdf.evaluate(point));
if ( parId) delete parId;
if ( othDaugId) delete othDaugId;
if ( dauId) delete [] dauId;
if ( dauMasses) delete [] dauMasses;
return ampVal;
-
+
}
double EvtPropSLPole::calcMaxProb( EvtId parent, EvtId meson,
EvtId lepton, EvtId nudaug,
EvtSemiLeptonicFF *FormFactors ) {
//This routine takes the arguements parent, meson, and lepton
//number, and a form factor model, and returns a maximum
//probability for this semileptonic form factor model. A
//brute force method is used. The 2D cos theta lepton and
//q2 phase space is probed.
//Start by declaring a particle at rest.
//It only makes sense to have a scalar parent. For now.
//This should be generalized later.
EvtScalarParticle *scalar_part;
EvtParticle *root_part;
scalar_part=new EvtScalarParticle;
//cludge to avoid generating random numbers!
scalar_part->noLifeTime();
EvtVector4R p_init;
p_init.set(EvtPDL::getMass(parent),0.0,0.0,0.0);
scalar_part->init(parent,p_init);
root_part=(EvtParticle *)scalar_part;
// root_part->set_type(EvtSpinType::SCALAR);
root_part->setDiagonalSpinDensity();
EvtParticle *daughter, *lep, *trino;
EvtAmp amp;
EvtId listdaug[3];
listdaug[0] = meson;
listdaug[1] = lepton;
listdaug[2] = nudaug;
amp.init(parent,3,listdaug);
root_part->makeDaughters(3,listdaug);
daughter=root_part->getDaug(0);
lep=root_part->getDaug(1);
trino=root_part->getDaug(2);
EvtDecayBase *decayer;
decayer = EvtDecayTable::getInstance()->getDecayFunc(daughter);
if ( decayer ) {
daughter->makeDaughters(decayer->nRealDaughters(),decayer->getDaugs());
for(int ii=0; ii<decayer->nRealDaughters(); ii++){
daughter->getDaug(ii)->setMass(EvtPDL::getMeanMass(daughter->getDaug(ii)->getId()));
}
- }
+ }
//cludge to avoid generating random numbers!
daughter->noLifeTime();
lep->noLifeTime();
trino->noLifeTime();
//Initial particle is unpolarized, well it is a scalar so it is
//trivial
EvtSpinDensity rho;
rho.setDiag(root_part->getSpinStates());
double mass[3];
double m = root_part->mass();
EvtVector4R p4meson, p4lepton, p4nu, p4w;
double q2max;
double q2, elepton, plepton;
int i,j;
double erho,prho,costl;
double maxfoundprob = 0.0;
double prob = -10.0;
int massiter;
for (massiter=0;massiter<3;massiter++){
mass[0] = EvtPDL::getMeanMass(meson);
mass[1] = EvtPDL::getMeanMass(lepton);
mass[2] = EvtPDL::getMeanMass(nudaug);
if ( massiter==1 ) {
mass[0] = EvtPDL::getMinMass(meson);
}
if ( massiter==2 ) {
mass[0] = EvtPDL::getMaxMass(meson);
if ( (mass[0]+mass[1]+mass[2])>m) mass[0]=m-mass[1]-mass[2]-0.00001;
}
q2max = (m-mass[0])*(m-mass[0]);
//loop over q2
for (i=0;i<25;i++) {
q2 = ((i+0.5)*q2max)/25.0;
erho = ( m*m + mass[0]*mass[0] - q2 )/(2.0*m);
prho = sqrt(erho*erho-mass[0]*mass[0]);
p4meson.set(erho,0.0,0.0,-1.0*prho);
p4w.set(m-erho,0.0,0.0,prho);
//This is in the W rest frame
elepton = (q2+mass[1]*mass[1])/(2.0*sqrt(q2));
plepton = sqrt(elepton*elepton-mass[1]*mass[1]);
double probctl[3];
for (j=0;j<3;j++) {
costl = 0.99*(j - 1.0);
//These are in the W rest frame. Need to boost out into
//the B frame.
p4lepton.set(elepton,0.0,
plepton*sqrt(1.0-costl*costl),plepton*costl);
p4nu.set(plepton,0.0,
-1.0*plepton*sqrt(1.0-costl*costl),-1.0*plepton*costl);
EvtVector4R boost((m-erho),0.0,0.0,1.0*prho);
p4lepton=boostTo(p4lepton,boost);
p4nu=boostTo(p4nu,boost);
//Now initialize the daughters...
daughter->init(meson,p4meson);
lep->init(lepton,p4lepton);
trino->init(nudaug,p4nu);
calcamp->CalcAmp(root_part,amp,FormFactors);
EvtPoint1D *point = new EvtPoint1D(mass[0]);
double meson_BWAmp = calBreitWigner(daughter, *point);
int list[2];
list[0]=0; list[1]=0;
amp.vertex(0,0,amp.getAmp(list)*meson_BWAmp);
list[0]=0; list[1]=1;
amp.vertex(0,1,amp.getAmp(list)*meson_BWAmp);
list[0]=1; list[1]=0;
amp.vertex(1,0,amp.getAmp(list)*meson_BWAmp);
list[0]=1; list[1]=1;
amp.vertex(1,1,amp.getAmp(list)*meson_BWAmp);
list[0]=2; list[1]=0;
amp.vertex(2,0,amp.getAmp(list)*meson_BWAmp);
list[0]=2; list[1]=1;
amp.vertex(2,1,amp.getAmp(list)*meson_BWAmp);
//Now find the probability at this q2 and cos theta lepton point
//and compare to maxfoundprob.
//Do a little magic to get the probability!!
prob = rho.normalizedProb(amp.getSpinDensity());
probctl[j]=prob;
}
//probclt contains prob at ctl=-1,0,1.
//prob=a+b*ctl+c*ctl^2
double a=probctl[1];
double b=0.5*(probctl[2]-probctl[0]);
double c=0.5*(probctl[2]+probctl[0])-probctl[1];
prob=probctl[0];
if (probctl[1]>prob) prob=probctl[1];
if (probctl[2]>prob) prob=probctl[2];
if (fabs(c)>1e-20){
double ctlx=-0.5*b/c;
if (fabs(ctlx)<1.0){
double probtmp=a+b*ctlx+c*ctlx*ctlx;
if (probtmp>prob) prob=probtmp;
}
}
//EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "prob,probctl:"<<prob<<" "
// << probctl[0]<<" "
// << probctl[1]<<" "
// << probctl[2]<<endl;
if ( prob > maxfoundprob ) {
maxfoundprob = prob;
}
}
if ( EvtPDL::getWidth(meson) <= 0.0 ) {
//if the particle is narrow dont bother with changing the mass.
massiter = 4;
}
}
root_part->deleteTree();
maxfoundprob *=1.1;
return maxfoundprob;
}
diff --git a/src/EvtGenModels/EvtRareLbToLll.cpp b/src/EvtGenModels/EvtRareLbToLll.cpp
index c810719..5259d30 100644
--- a/src/EvtGenModels/EvtRareLbToLll.cpp
+++ b/src/EvtGenModels/EvtRareLbToLll.cpp
@@ -1,504 +1,495 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech, UCSB
//
// Module: EvtRareLbToLll
//
// Description:
// Implements the rare Lb --> Lambda^(*) ell ell models described in
// http://arxiv.org/pdf/1108.6129.pdf
//
// Modification history:
//
// T. Blake November 2013 Created module
//
//------------------------------------------------------------------------
//
#include <stdlib.h>
#include "EvtGenModels/EvtRareLbToLll.hh"
#include "EvtGenModels/EvtRareLbToLllFF.hh"
#include "EvtGenModels/EvtRareLbToLllFFGutsche.hh"
#include "EvtGenModels/EvtRareLbToLllFFlQCD.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtDiracParticle.hh"
#include "EvtGenBase/EvtRaritaSchwinger.hh"
#include "EvtGenBase/EvtSpinDensity.hh"
#include "EvtGenBase/EvtPDL.hh"
-
-EvtRareLbToLll::EvtRareLbToLll() : m_maxProbability( 0 ), ffmodel_( 0 ), wcmodel_( 0 ) {}
-
-EvtRareLbToLll::~EvtRareLbToLll() {
- if ( wcmodel_ ) delete wcmodel_;
- if ( ffmodel_ ) delete ffmodel_;
-}
-
-
// The module name specification
std::string EvtRareLbToLll::getName( ) {
return "RareLbToLll" ;
}
// The implementation of the clone() method
EvtDecayBase* EvtRareLbToLll::clone(){
return new EvtRareLbToLll;
}
void EvtRareLbToLll::init(){
checkNArg(1);
- // check that there are 3 daughteres
+ // check that there are 3 daughters
checkNDaug(3);
// Parent should be spin 1/2 Lambda_b0
const EvtSpinType::spintype spin = EvtPDL::getSpinType(getDaug(0));
if ( !( spin == EvtSpinType::DIRAC || spin == EvtSpinType::RARITASCHWINGER ) )
{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " EvtRareLbToLll expects DIRAC or RARITASWINGER daughter " << std::endl;
}
// We expect that the second and third daughters
// are the ell+ and ell-
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::DIRAC);
std::string model = getArgStr(0);
if ( model == "Gutsche" ) {
- ffmodel_ = new EvtRareLbToLllFFGutsche();
+ ffmodel_ = std::make_unique<EvtRareLbToLllFFGutsche>();
} else if ( model == "LQCD" ) {
- ffmodel_ = new EvtRareLbToLllFFlQCD();
+ ffmodel_ = std::make_unique<EvtRareLbToLllFFlQCD>();
} else if ( model == "MR" ) {
- ffmodel_ = new EvtRareLbToLllFF();
+ ffmodel_ = std::make_unique<EvtRareLbToLllFF>();
}
else {
EvtGenReport(EVTGEN_INFO,"EvtGen") << " Unknown form-factor model, valid options are MR, LQCD, Gutsche." << std::endl;
::abort();
}
- wcmodel_ = new EvtRareLbToLllWC();
+ wcmodel_ = std::make_unique<EvtRareLbToLllWC>();
ffmodel_->init();
return;
}
void EvtRareLbToLll::initProbMax(){
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtRareLbToLll is finding maximum probability ... " << std::endl;
m_maxProbability=0;
if(m_maxProbability==0){
- EvtDiracParticle *parent = new EvtDiracParticle;
- parent->noLifeTime();
- parent->init(getParentId(),EvtVector4R(EvtPDL::getMass(getParentId()),0,0,0));
- parent->setDiagonalSpinDensity();
+ EvtDiracParticle parent{};
+ parent.noLifeTime();
+ parent.init(getParentId(),EvtVector4R(EvtPDL::getMass(getParentId()),0,0,0));
+ parent.setDiagonalSpinDensity();
EvtAmp amp;
EvtId daughters[3] = {getDaug(0),getDaug(1),getDaug(2)};
amp.init(getParentId(),3,daughters);
- parent->makeDaughters(3,daughters);
- EvtParticle *lambda = parent->getDaug(0);
- EvtParticle *lep1 = parent->getDaug(1);
- EvtParticle *lep2 = parent->getDaug(2);
+ parent.makeDaughters(3,daughters);
+ EvtParticle *lambda = parent.getDaug(0);
+ EvtParticle *lep1 = parent.getDaug(1);
+ EvtParticle *lep2 = parent.getDaug(2);
lambda -> noLifeTime();
lep1 -> noLifeTime();
lep2 -> noLifeTime();
EvtSpinDensity rho;
- rho.setDiag(parent->getSpinStates());
+ rho.setDiag(parent.getSpinStates());
double M0 = EvtPDL::getMass(getParentId());
double mL = EvtPDL::getMass(getDaug(0));
double m1 = EvtPDL::getMass(getDaug(1));
double m2 = EvtPDL::getMass(getDaug(2));
double q2,pstar,elambda,theta;
double q2min = (m1+m2)*(m1+m2);
double q2max = (M0-mL)*(M0-mL);
EvtVector4R p4lambda,p4lep1,p4lep2,boost;
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtRareLbToLll is probing whole phase space ..." << std::endl;
int i,j;
double prob=0;
for(i=0;i<=100;i++){
q2 = q2min+i*(q2max-q2min)/100.;
elambda = (M0*M0+mL*mL-q2)/2/M0;
if(i==0) pstar = 0;
else pstar = sqrt(q2-(m1+m2)*(m1+m2))*sqrt(q2-(m1-m2)*(m1-m2))/2/sqrt(q2);
boost.set(M0-elambda,0,0,+sqrt(elambda*elambda-mL*mL));
if ( i != 100 ) {
p4lambda.set(elambda,0,0,-sqrt(elambda*elambda-mL*mL));
} else {
p4lambda.set(mL,0,0,0);
}
for(j=0;j<=45;j++){
theta = j*EvtConst::pi/45;
p4lep1.set(sqrt(pstar*pstar+m1*m1),0,+pstar*sin(theta),+pstar*cos(theta));
p4lep2.set(sqrt(pstar*pstar+m2*m2),0,-pstar*sin(theta),-pstar*cos(theta));
//std::cout << "p1: " << p4lep1 << " p2: " << p4lep2 << " pstar: " << pstar << std::endl;
if ( i != 100 ) // At maximal q2 we are already in correct frame as Lambda and W/Zvirtual are at rest
{
p4lep1 = boostTo(p4lep1,boost);
p4lep2 = boostTo(p4lep2,boost);
}
lambda -> init(getDaug(0),p4lambda);
lep1 -> init(getDaug(1),p4lep1 );
lep2 -> init(getDaug(2),p4lep2 );
- calcAmp(amp,parent);
+ calcAmp(amp,&parent);
prob = rho.normalizedProb(amp.getSpinDensity());
//std::cout << "q2: " << q2 << " \t theta: " << theta << " \t prob: " << prob << std::endl;
//std::cout << "p1: " << p4lep1 << " p2: " << p4lep2 << " q2-q2min: " << q2-(m1+m2)*(m1+m2) << std::endl;
if(prob>m_maxProbability){
EvtGenReport(EVTGEN_INFO,"EvtGen") << " - probability " << prob
<< " found at q2 = " << q2 << " (" << 100*(q2-q2min)/(q2max-q2min)
<< " %) and theta = " << theta*180/EvtConst::pi << std::endl;
m_maxProbability=prob;
}
}
//::abort();
}
//m_poleSize = 0.04*q2min;
m_maxProbability *= 1.2;
- delete parent;
+
}
setProbMax(m_maxProbability);
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtRareLbToLll set up maximum probability to " << m_maxProbability << std::endl;
}
void EvtRareLbToLll::decay( EvtParticle *parent ){
parent->initializePhaseSpace( getNDaug(),getDaugs() );
calcAmp( _amp2,parent );
}
bool EvtRareLbToLll::isParticle( EvtParticle *parent ) const
{
static EvtIdSet partlist("Lambda_b0");
return partlist.contains( parent->getId() );
}
void EvtRareLbToLll::calcAmp( EvtAmp& amp, EvtParticle *parent ){
//parent->setDiagonalSpinDensity();
EvtParticle* lambda = parent->getDaug(0);
static EvtIdSet leptons("e-","mu-","tau-");
const bool isparticle = isParticle( parent );
EvtParticle* lp = 0;
EvtParticle* lm = 0;
if ( leptons.contains(parent->getDaug(1)->getId()) )
{
lp = parent->getDaug(1);
lm = parent->getDaug(2);
}
else
{
lp = parent->getDaug(2);
lm = parent->getDaug(1);
}
EvtVector4R P;
P.set(parent->mass(), 0.0,0.0,0.0);
EvtVector4R q = lp->getP4() + lm->getP4();
double qsq = q.mass2();
// Leptonic currents
EvtVector4C LV[2][2]; // \bar{\ell} \gamma^{\mu} \ell
EvtVector4C LA[2][2]; // \bar{\ell} \gamma^{\mu} \gamma^{5} \ell
for ( int i =0 ; i < 2; ++i ){
for ( int j = 0; j < 2; ++j ){
if ( isparticle )
{
LV[i][j] = EvtLeptonVCurrent( lp->spParent(i), lm->spParent(j) );
LA[i][j] = EvtLeptonACurrent( lp->spParent(i), lm->spParent(j) );
}
else
{
LV[i][j] = EvtLeptonVCurrent( lp->spParent(1-i), lm->spParent(1-j) );
LA[i][j] = EvtLeptonACurrent( lp->spParent(1-i), lm->spParent(1-j) );
}
}
}
EvtRareLbToLllFF::FormFactors FF;
//F, G, FT and GT
ffmodel_->getFF( parent, lambda, FF );
EvtComplex C7eff = wcmodel_-> GetC7Eff(qsq);
EvtComplex C9eff = wcmodel_-> GetC9Eff(qsq);
EvtComplex C10eff = wcmodel_->GetC10Eff(qsq);
EvtComplex AC[4];
EvtComplex BC[4];
EvtComplex DC[4];
EvtComplex EC[4];
// check to see if particle is same or opposite parity to Lb
const int parity = ffmodel_->isNatural( lambda ) ? 1 : -1 ;
// Lambda spin type
const EvtSpinType::spintype spin = EvtPDL::getSpinType(lambda->getId());
static const double mb = 5.209;
// Eq. 48 + 49
for ( unsigned int i = 0; i < 4; ++i ) {
if ( parity > 0 )
{
AC[i] = -2.*mb*C7eff*FF.FT_[i]/qsq + C9eff*FF.F_[i];
BC[i] = -2.*mb*C7eff*FF.GT_[i]/qsq - C9eff*FF.G_[i];
DC[i] = C10eff*FF.F_[i];
EC[i] = -C10eff*FF.G_[i];
}
else
{
AC[i] = -2.*mb*C7eff*FF.GT_[i]/qsq - C9eff*FF.G_[i];
BC[i] = -2.*mb*C7eff*FF.FT_[i]/qsq + C9eff*FF.F_[i];
DC[i] = -C10eff*FF.G_[i];
EC[i] = C10eff*FF.F_[i];
}
}
// handle particle -> antiparticle in Hadronic currents
const double cv = ( isparticle > 0 ) ? 1.0 : -1.0*parity;
const double ca = ( isparticle > 0 ) ? 1.0 : +1.0*parity;
const double cs = ( isparticle > 0 ) ? 1.0 : +1.0*parity;
const double cp = ( isparticle > 0 ) ? 1.0 : -1.0*parity;
if (EvtSpinType::DIRAC == spin ){
EvtVector4C H1[2][2]; // vector current
EvtVector4C H2[2][2]; // axial-vector
EvtVector4C T[6];
// Hadronic currents
for ( int i =0 ; i < 2; ++i ){
for ( int j = 0; j < 2; ++j ){
HadronicAmp( parent, lambda, T, i, j );
H1[i][j] = ( cv*AC[0]*T[0] + ca*BC[0]*T[1] + cs*AC[1]*T[2] +
cp*BC[1]*T[3] + cs*AC[2]*T[4] + cp*BC[2]*T[5] );
H2[i][j] = ( cv*DC[0]*T[0] + ca*EC[0]*T[1] + cs*DC[1]*T[2] +
cp*EC[1]*T[3] + cs*DC[2]*T[4] + cp*EC[2]*T[5] );
}
}
// Spin sums
int spins[4];
for ( int i =0; i < 2; ++i ) {
for ( int ip = 0; ip < 2; ++ip ) {
for ( int j = 0; j < 2; ++j ) {
for ( int jp = 0; jp < 2; ++jp ) {
spins[0] = i;
spins[1] = ip;
spins[2] = j;
spins[3] = jp;
EvtComplex M = H1[i][ip]*LV[j][jp] + H2[i][ip]*LA[j][jp];
amp.vertex( spins, M );
}
}
}
}
}
else if ( EvtSpinType::RARITASCHWINGER == spin )
{
EvtVector4C T[8];
EvtVector4C H1[2][4]; // vector current // swaped
EvtVector4C H2[2][4]; // axial-vector
// Build hadronic amplitude
for ( int i =0 ; i < 2; ++i ){
for ( int j = 0; j < 4; ++j ){
H1[i][j] = ( cv*AC[0]*T[0] + ca*BC[0]*T[1] +
cs*AC[1]*T[2] + cp*BC[1]*T[3] +
cs*AC[2]*T[4] + cp*BC[2]*T[5] +
cs*AC[3]*T[6] + cp*BC[3]*T[7] );
H2[i][j] = ( cv*DC[0]*T[0] + ca*EC[0]*T[1] +
cs*DC[1]*T[2] + cp*EC[1]*T[3] +
cs*DC[2]*T[4] + cp*EC[2]*T[5] +
cs*DC[3]*T[6] + cp*EC[3]*T[7] );
}
}
// Spin sums
int spins[4];
for ( int i =0; i < 2; ++i ) {
for ( int ip = 0; ip < 4; ++ip ) {
for ( int j = 0; j < 2; ++j ) {
for ( int jp = 0; jp < 2; ++jp ) {
spins[0] = i;
spins[1] = ip;
spins[2] = j;
spins[3] = jp;
EvtComplex M = H1[i][ip]*LV[j][jp] + H2[i][ip]*LA[j][jp];
amp.vertex( spins, M );
}
}
}
}
}
else
{
EvtGenReport(EVTGEN_ERROR,"EvtGen" ) << " EvtRareLbToLll expects DIRAC or RARITASWINGER daughter " << std::endl;
}
return;
}
// spin 1/2 daughters
void EvtRareLbToLll::HadronicAmp( EvtParticle* parent,
EvtParticle* lambda,
EvtVector4C* T,
const int i,
const int j )
{
const EvtDiracSpinor Sfinal = lambda->spParent(j);
const EvtDiracSpinor Sinit = parent->sp(i);
const EvtVector4R L = lambda->getP4();
EvtVector4R P;
P.set(parent->mass(), 0.0,0.0,0.0);
const double Pm = parent->mass();
const double Lm = lambda->mass();
// \bar{u} \gamma^{\mu} u
T[0] = EvtLeptonVCurrent( Sfinal, Sinit );
// \bar{u} \gamma^{\mu}\gamma^{5} u
T[1] = EvtLeptonACurrent( Sfinal, Sinit );
// \bar{u} v^{\mu} u
T[2] = EvtLeptonSCurrent( Sfinal, Sinit )*( P/Pm );
// \bar{u} v^{\mu} \gamma^{5} u
T[3] = EvtLeptonPCurrent( Sfinal, Sinit )*( P/Pm );
// \bar{u} v^{\prime\mu} u
T[4] = EvtLeptonSCurrent( Sfinal, Sinit )*( L/Lm );
// \bar{u} v^{\prime\mu} \gamma^{5}
T[5] = EvtLeptonPCurrent( Sfinal, Sinit )*( L/Lm );
// Where:
// v = p_{\Lambda_b}/m_{\Lambda_b}
// v^{\prime} = p_{\Lambda}/m_{\Lambda}
return;
}
// spin 3/2 daughters
void EvtRareLbToLll::HadronicAmpRS( EvtParticle* parent,
EvtParticle* lambda,
EvtVector4C* T,
const int i,
const int j )
{
const EvtRaritaSchwinger Sfinal = lambda->spRSParent(j);
const EvtDiracSpinor Sinit = parent->sp(i);
EvtVector4R P;
P.set(parent->mass(), 0.0,0.0,0.0);
const EvtVector4R L = lambda->getP4();
EvtTensor4C ID;
ID.setdiag(1.0,1.0,1.0,1.0);
EvtDiracSpinor Sprime;
for(int i=0 ; i<4 ; i++ ){
Sprime.set_spinor(i,Sfinal.getVector(i)*P);
}
const double Pmsq = P.mass2();
const double Pm = parent->mass();
const double PmLm = Pm*lambda->mass();
EvtVector4C V1,V2;
for(int i=0;i<4;i++){
V1.set(i,EvtLeptonSCurrent(Sfinal.getSpinor(i),Sinit));
V2.set(i,EvtLeptonPCurrent(Sfinal.getSpinor(i),Sinit));
}
// \bar{u}_{alpha} v^{\alpha} \gamma^{\mu} u
T[0] = EvtLeptonVCurrent(Sprime, Sinit)*(1/Pm);
// \bar{u}_{alpha} v^{\alpha} \gamma^{\mu} \gamma^{5} u
T[1] = EvtLeptonACurrent(Sprime, Sinit)*(1/Pm);
// \bar{u}_{\alpha} v^{\alpha} v^{\mu} u
T[2] = EvtLeptonSCurrent(Sprime, Sinit)*(P/Pmsq);
// \bar{u}_{\alpha} v^{\alpha} v^{\mu} \gamma^{5} u
T[3] = EvtLeptonPCurrent(Sprime, Sinit)*(P/Pmsq);
// \bar{u}_{\alpha} v^{\alpha} v^{\prime \mu} u
T[4] = EvtLeptonSCurrent(Sprime, Sinit)*(L/PmLm);
// \bar{u}_{\alpha} v^{\alpha} v^{\prime \mu} \gamma^{5} u
T[5] = EvtLeptonPCurrent(Sprime, Sinit)*(L/PmLm);
// \bar{u}_{\alpha} g^{\alpha\mu} u
T[6] = ID.cont2(V1);
// \bar{u}_{\alpha} g^{\alpha\mu} \gamma^{5} u
T[7] = ID.cont2(V2);
// Where:
// v = p_{\Lambda_b}/m_{\Lambda_b}
// v^{\prime} = p_{\Lambda}/m_{\Lambda}
return;
}
diff --git a/src/EvtGenModels/EvtRareLbToLllFF.cpp b/src/EvtGenModels/EvtRareLbToLllFF.cpp
index 6cd59da..4362821 100644
--- a/src/EvtGenModels/EvtRareLbToLllFF.cpp
+++ b/src/EvtGenModels/EvtRareLbToLllFF.cpp
@@ -1,295 +1,275 @@
-// Include files
+// Include files
// local
#include "EvtGenModels/EvtRareLbToLllFF.hh"
-#include "EvtGenBase/EvtVector4R.hh"
+#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtIdSet.hh"
//-----------------------------------------------------------------------------
// Implementation file for class : EvtRareLbToLllFF
//
// 2013-11-25 : Thomas Blake
//-----------------------------------------------------------------------------
//=============================================================================
// Standard constructor, initializes variables
//=============================================================================
-EvtRareLbToLllFF::FormFactorDependence::FormFactorDependence() :
- a0_( 0 ) , a2_( 0 ), a4_( 0 ), al_( 0 ), ap_( 0 ) {}
+EvtRareLbToLllFF::FormFactorDependence::FormFactorDependence() :
+ a0_( 0 ) , a2_( 0 ), a4_( 0 ), al_( 0 ), ap_( 0 ) {}
-EvtRareLbToLllFF::FormFactorDependence::FormFactorDependence( const double al,
+EvtRareLbToLllFF::FormFactorDependence::FormFactorDependence( const double al,
const double ap ) :
- a0_( 0 ) , a2_( 0 ), a4_( 0 ), al_( al ), ap_( ap ) {}
+ a0_( 0 ) , a2_( 0 ), a4_( 0 ), al_( al ), ap_( ap ) {}
-EvtRareLbToLllFF::FormFactorDependence::FormFactorDependence( const double a0,
- const double a2,
- const double a4,
- const double al,
- const double ap ) :
- a0_( a0 ) , a2_( a2 ), a4_( a4 ), al_( al ), ap_( ap ) {}
+EvtRareLbToLllFF::FormFactorDependence::FormFactorDependence( const double a0,
+ const double a2,
+ const double a4,
+ const double al,
+ const double ap ) :
+ a0_( a0 ) , a2_( a2 ), a4_( a4 ), al_( al ), ap_( ap ) {}
- EvtRareLbToLllFF::FormFactorDependence::FormFactorDependence( const EvtRareLbToLllFF::FormFactorDependence& other ) :
- a0_( other.a0_ ), a2_( other.a2_ ), a4_( other.a4_ ), al_( other.al_ ), ap_( other.ap_ ){}
+ EvtRareLbToLllFF::FormFactorDependence::FormFactorDependence( const EvtRareLbToLllFF::FormFactorDependence& other ) :
+ a0_( other.a0_ ), a2_( other.a2_ ), a4_( other.a4_ ), al_( other.al_ ), ap_( other.ap_ ){}
EvtRareLbToLllFF::FormFactorDependence* EvtRareLbToLllFF::FormFactorDependence::clone() const {
return new EvtRareLbToLllFF::FormFactorDependence( a0_, a2_, a4_, al_, ap_ );
}
EvtRareLbToLllFF::FormFactorSet::FormFactorSet(){}
-EvtRareLbToLllFF::FormFactorSet::~FormFactorSet(){}
-
-EvtRareLbToLllFF::FormFactorSet::FormFactorSet( const EvtRareLbToLllFF::FormFactorSet& other ) :
- F1( other.F1 ), F2( other.F2 ),
- F3( other.F3 ), F4( other.F4 ),
- G1( other.G1 ), G2( other.G2 ),
+EvtRareLbToLllFF::FormFactorSet::FormFactorSet( const EvtRareLbToLllFF::FormFactorSet& other ) :
+ F1( other.F1 ), F2( other.F2 ),
+ F3( other.F3 ), F4( other.F4 ),
+ G1( other.G1 ), G2( other.G2 ),
G3( other.G3 ), G4( other.G4 ),
- H1( other.H1 ), H2( other.H2 ),
- H3( other.H3 ), H4( other.H4 ),
+ H1( other.H1 ), H2( other.H2 ),
+ H3( other.H3 ), H4( other.H4 ),
H5( other.H5 ), H6( other.H6 ) {}
-void EvtRareLbToLllFF::FormFactorDependence::param( const double al,
+void EvtRareLbToLllFF::FormFactorDependence::param( const double al,
const double ap )
{
al_ = al;
ap_ = ap;
}
-void EvtRareLbToLllFF::FormFactorDependence::param( const double a0,
- const double a2,
- const double a4,
- const double al,
+void EvtRareLbToLllFF::FormFactorDependence::param( const double a0,
+ const double a2,
+ const double a4,
+ const double al,
const double ap )
{
a0_ = a0;
a2_ = a2;
a4_ = a4;
al_ = al;
ap_ = ap;
}
-EvtRareLbToLllFF::EvtRareLbToLllFF() : EvtRareLbToLllFFBase()
- {}
-
-
void EvtRareLbToLllFF::init()
{
// Parameters for Lambda0
- EvtRareLbToLllFF::FormFactorSet* L1115 = new EvtRareLbToLllFF::FormFactorSet();
+ auto L1115 = std::make_unique<EvtRareLbToLllFF::FormFactorSet>();
L1115->F1.param( 1.21, 0.319, -0.0177, 0.387, 0.372 );
L1115->F2.param( -0.202, -0.219, 0.0103, 0.387, 0.372 );
L1115->F3.param( -0.0615, 0.00102, -0.00139, 0.387, 0.372 );
L1115->F4.param( 0.387, 0.372 );
L1115->G1.param( 0.927, 0.104 , -0.00553, 0.387, 0.372 );
L1115->G2.param( -0.236, -0.233, 0.0110 , 0.387, 0.372 );
L1115->G3.param( 0.0756, 0.0195, -0.00115, 0.387, 0.372 );
L1115->G4.param( 0.387, 0.372 );
L1115->H1.param( 0.936, 0.0722, -0.00643, 0.387, 0.372 );
L1115->H2.param( 0.227, 0.265, -0.0101, 0.387, 0.372 );
L1115->H3.param( -0.0757, -0.0195, 0.00116, 0.387, 0.372 );
L1115->H4.param( -0.0174, -0.00986, -0.000524, 0.387, 0.372 );
L1115->H5.param( 0.387, 0.372 );
L1115->H6.param( 0.387, 0.372 );
-
- // Parameters for Lambda(Lambda(1520)0)
- EvtRareLbToLllFF::FormFactorSet* L1520 = new EvtRareLbToLllFF::FormFactorSet();
+
+ // Parameters for Lambda(Lambda(1520)0)
+ auto L1520 = std::make_unique<EvtRareLbToLllFF::FormFactorSet>();
L1520->F1.param( -1.66, -0.295, 0.00924, 0.333, 0.308 );
L1520->F2.param( 0.544, 0.194, -0.00420, 0.333, 0.308 );
L1520->F3.param( 0.126, 0.00799, -0.000635, 0.333, 0.308 );
L1520->F4.param( -0.0330, -0.00977, 0.00211, 0.303, 0.308 );
L1520->G1.param( -0.964, -0.100, 0.00264, 0.333, 0.308 );
L1520->G2.param( 0.625, 0.219, -0.00508, 0.333, 0.308 );
L1520->G3.param( -0.183, -0.0380, 0.00351, 0.333, 0.308 );
L1520->G4.param( 0.0530, 0.0161, -0.00221, 0.333, 0.308 );
L1520->H1.param( -1.08, -0.0732, 0.00464, 0.333, 0.308 );
L1520->H2.param( -0.507, -0.246, 0.00309, 0.333, 0.308 );
L1520->H3.param( 0.187, 0.0295, -0.00107, 0.333, 0.308 );
L1520->H4.param( 0.0772, 0.0267, -0.00217, 0.333, 0.308 );
L1520->H5.param( -0.0517, -0.0173, 0.00259, 0.333, 0.308 );
L1520->H6.param( 0.0206, 0.00679, -0.000220, 0.333, 0.308 );
- FFMap_[ EvtPDL::getId("Lambda0").getId() ] = L1115;
- FFMap_[ EvtPDL::getId("anti-Lambda0").getId() ] = L1115;
- FFMap_[ EvtPDL::getId("Lambda(1520)0").getId() ] = L1520;
- FFMap_[ EvtPDL::getId("anti-Lambda(1520)0").getId() ] = L1520;
+ FFMap_[ EvtPDL::getId("Lambda0").getId() ] = L1115.get();
+ FFMap_[ EvtPDL::getId("anti-Lambda0").getId() ] = L1115.get();
+ FFMap_[ EvtPDL::getId("Lambda(1520)0").getId() ] = L1520.get();
+ FFMap_[ EvtPDL::getId("anti-Lambda(1520)0").getId() ] = L1520.get();
+
+ FF_ = { std::move(L1115), std::move(L1520) };
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtRareLbToLll is using form factors from arXiv:1108.6129 " << std::endl;
}
-//=============================================================================
-// Destructor
-//=============================================================================
-
-EvtRareLbToLllFF::~EvtRareLbToLllFF() {
-
- std::map< int, FormFactorSet* >::iterator it;
-
- for ( it = FFMap_.begin(); it != FFMap_.end(); ++it )
- {
- if ( it->second ) delete (it->second);
- }
-
- FFMap_.clear();
-}
//=============================================================================
double EvtRareLbToLllFF::func( const double p, EvtRareLbToLllFF::FormFactorDependence& dep )
{
static const double mq = 0.2848;
static const double mtilde = 1.122;
-
+
const double asq = 0.5*( dep.al_*dep.al_ + dep.ap_*dep.ap_ );
const double psq = p*p;
return ( dep.a0_ + dep.a2_*psq + dep.a4_*psq*psq )*exp( -(3.*mq*mq*psq)/(2.*mtilde*mtilde*asq ) );
}
-void EvtRareLbToLllFF::DiracFF( EvtParticle* parent,
+void EvtRareLbToLllFF::DiracFF( EvtParticle* parent,
EvtParticle* lambda,
EvtRareLbToLllFF::FormFactorSet& dep,
EvtRareLbToLllFF::FormFactors& FF )
{
const double M = lambda->mass();
const double MB = parent->mass();
-
+
const double vdotv = calculateVdotV( parent, lambda );
const double p = lambda->getP4().d3mag();
FF.F_[0] = func( p, dep.F1 );
FF.F_[1] = func( p, dep.F2 );
FF.F_[2] = func( p, dep.F3 );
-
+
FF.G_[0] = func( p, dep.G1 );
FF.G_[1] = func( p, dep.G2 );
FF.G_[2] = func( p, dep.G3 );
const double H1 = func( p, dep.H1 );
const double H2 = func( p, dep.H2 );
const double H3 = func( p, dep.H3 );
const double H4 = func( p, dep.H4 );
if ( isNatural( lambda ) )
{
FF.FT_[0] = -( MB + M )*H1 - ( MB - M*vdotv )*H2 - ( MB*vdotv - M )*H3;
FF.FT_[1] = MB*H1 + ( MB - M )*H2 + ( MB*vdotv - M )*H4;
FF.FT_[2] = M*H1 + ( MB - M )*H3 - ( MB - M*vdotv )*H4;
-
+
FF.GT_[0] = ( MB - M )*H1 - M*( 1. - vdotv )*H2 - MB*(1. - vdotv )*H3;
FF.GT_[1] = MB*H1 - M*H2 -MB*H3;
FF.GT_[2] = M*H1 + M*H2 + MB*H3;
}
- else
- {
+ else
+ {
FF.FT_[0] = ( MB - M )*H1 - ( MB - M*vdotv )*H2 - ( MB*vdotv - M )*H3;
FF.FT_[1] = MB*H1 - ( MB + M )*H2 + ( MB*vdotv - M )*H4;
FF.FT_[2] = M*H1 - ( MB + M )*H3 - ( MB - M*vdotv )*H4;
-
+
FF.GT_[0] = -( MB + M )*H1 + M*( 1. + vdotv )*H2 + MB*(1. + vdotv )*H3;
FF.GT_[1] = MB*H1 - M*H2 -MB*H3;
FF.GT_[2] = M*H1 - M*H2 - MB*H3;
}
}
-void EvtRareLbToLllFF::RaritaSchwingerFF( EvtParticle* parent,
+void EvtRareLbToLllFF::RaritaSchwingerFF( EvtParticle* parent,
EvtParticle* lambda,
EvtRareLbToLllFF::FormFactorSet& FFset,
EvtRareLbToLllFF::FormFactors& FF )
-{
+{
const double M = lambda->mass();
const double MB = parent->mass();
-
+
const double vdotv = calculateVdotV( parent, lambda );
const double p = lambda->getP4().d3mag();
FF.F_[0] = func( p, FFset.F1 );
FF.F_[1] = func( p, FFset.F2 );
FF.F_[2] = func( p, FFset.F3 );
FF.F_[3] = func( p, FFset.F4 );
-
+
FF.G_[0] = func( p, FFset.G1 );
FF.G_[1] = func( p, FFset.G2 );
FF.G_[2] = func( p, FFset.G3 );
FF.G_[3] = func( p, FFset.G4 );
const double H1 = func( p, FFset.H1 );
const double H2 = func( p, FFset.H2 );
const double H3 = func( p, FFset.H3 );
const double H4 = func( p, FFset.H4 );
const double H5 = func( p, FFset.H5 );
const double H6 = func( p, FFset.H6 );
-
+
if ( isNatural( lambda ) )
{
FF.FT_[0] = -( MB + M )*H1 - ( MB - M*vdotv )*H2 - ( MB*vdotv - M )*H3 - MB*H5;
FF.FT_[1] = MB*H1 + ( MB - M )*H2 + ( MB*vdotv - M )*H4 - MB*H6;
FF.FT_[2] = M*H1 + ( MB - M )*H3 - ( MB - M*vdotv )*H4;
FF.FT_[3] = (MB - M)*H5 + (MB - M*vdotv)*H6;
-
+
FF.GT_[0] = ( MB - M )*H1 - M*( 1. - vdotv )*H2 - MB*(1. - vdotv )*H3 + MB*H5 + M*H6;
FF.GT_[1] = MB*H1 - M*H2 - MB*H3;
FF.GT_[2] = M*H1 + M*H2 + MB*H3 - M*H6;
FF.GT_[3] = (MB + M)*H5 + M*(1. + vdotv)*H6;
}
- else
+ else
{
FF.FT_[0] = ( MB - M )*H1 - ( MB - M*vdotv )*H2 - ( MB*vdotv - M )*H3 - MB*H5;
FF.FT_[1] = MB*H1 - ( MB + M )*H2 + ( MB*vdotv - M )*H4 - MB*H6;
FF.FT_[2] = M*H1 - ( MB + M )*H3 - ( MB - M*vdotv )*H4;
FF.FT_[3] = -(MB + M)*H5 + (MB - M*vdotv)*H6;
-
+
FF.GT_[0] = -( MB + M )*H1 + M*( 1. + vdotv )*H2 + MB*(1. + vdotv )*H3 + MB*H5 + M*H6;
FF.GT_[1] = MB*H1 - M*H2 - MB*H3;
FF.GT_[2] = M*H1 - M*H2 - MB*H3 - M*H6;
FF.GT_[3] = -(MB - M)*H5 - M*(1. - vdotv)*H6;
}
}
-void EvtRareLbToLllFF::getFF( EvtParticle* parent,
+void EvtRareLbToLllFF::getFF( EvtParticle* parent,
EvtParticle* lambda,
EvtRareLbToLllFF::FormFactors& FF )
{
// Find the FF information for this particle, start by setting all to zero
FF.areZero();
-
- // Are the FF's for the particle known?
- std::map< int, EvtRareLbToLllFF::FormFactorSet* >::iterator it
- = FFMap_.find( lambda->getId().getId() );
-
+
+ // Are the FF's for the particle known?
+ auto it = FFMap_.find( lambda->getId().getId() );
+
if ( it == FFMap_.end() ) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << " EvtRareLbToLll does not contain FF for "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << " EvtRareLbToLll does not contain FF for "
<< lambda->getId() << std::endl;
return ;
}
-
+
// Split by spin 1/2, spin 3/2
const int spin = EvtPDL::getSpinType(lambda->getId());
-
+
if ( EvtSpinType::DIRAC == spin ) {
DiracFF(parent, lambda, *(it->second), FF );
- }
+ }
else if ( spin == EvtSpinType::RARITASCHWINGER ) {
RaritaSchwingerFF(parent, lambda, *(it->second), FF );
}
- else
- {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << " EvtRareLbToLll expects DIRAC or RARITASWINGER daughter " << std::endl;// should add a warning here
+ else
+ {
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << " EvtRareLbToLll expects DIRAC or RARITASWINGER daughter " << std::endl;// should add a warning here
return ;
}
-
-
+
+
return ;
}
diff --git a/src/EvtGenModels/EvtRareLbToLllFFGutsche.cpp b/src/EvtGenModels/EvtRareLbToLllFFGutsche.cpp
index bbe5894..f00309f 100644
--- a/src/EvtGenModels/EvtRareLbToLllFFGutsche.cpp
+++ b/src/EvtGenModels/EvtRareLbToLllFFGutsche.cpp
@@ -1,154 +1,142 @@
-// Include files
+// Include files
// local
#include "EvtGenModels/EvtRareLbToLllFFGutsche.hh"
-#include "EvtGenBase/EvtVector4R.hh"
+#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtIdSet.hh"
//-----------------------------------------------------------------------------
// Implementation file for class : EvtRareLbToLllFFGutsche
//
// 2014-10-21 : Michal Kreps
//-----------------------------------------------------------------------------
//=============================================================================
// Standard constructor, initializes variables
//=============================================================================
EvtIdSet EvtRareLbToLllFFGutsche::fParents("Lambda_b0", "anti-Lambda_b0");
EvtIdSet EvtRareLbToLllFFGutsche::fDaughters("Lambda0", "anti-Lambda0");
-EvtRareLbToLllFFGutsche::EvtRareLbToLllFFGutsche() : EvtRareLbToLllFFBase()
- {}
-
-
void EvtRareLbToLllFFGutsche::init()
{
fVconsts[0][0] = 0.107;
fVconsts[0][1] = 2.27;
fVconsts[0][2] = 1.367;
fVconsts[1][0] = 0.043;
fVconsts[1][1] = 2.411;
fVconsts[1][2] = 1.531;
fVconsts[2][0] = -0.003;
fVconsts[2][1] = 2.815;
fVconsts[2][2] = 2.041;
fAconsts[0][0] = 0.104;
fAconsts[0][1] = 2.232;
fAconsts[0][2] = 1.328;
fAconsts[1][0] = -0.003;
fAconsts[1][1] = 2.955;
fAconsts[1][2] = 3.620;
fAconsts[2][0] = -0.052;
fAconsts[2][1] = 2.437;
fAconsts[2][2] = 1.559;
fTVconsts[0][0] = -0.043;
fTVconsts[0][1] = 2.411;
fTVconsts[0][2] = 1.531;
fTVconsts[1][0] = -0.105;
fTVconsts[1][1] = 2.27118;
fTVconsts[1][2] = 1.36776;
fTVconsts[2][0] = 0; // Not used anywhere
fTVconsts[2][1] = 0;
fTVconsts[2][2] = 0;
fTAconsts[0][0] = 0.003;
fTAconsts[0][1] = 2.955;
fTAconsts[0][2] = 3.620;
fTAconsts[1][0] = -0.105;
fTAconsts[1][1] = 2.233;
fTAconsts[1][2] = 1.328;
fTAconsts[2][0] = 0; // Not used anywhere
fTAconsts[2][1] = 0;
fTAconsts[2][2] = 0;
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtRareLbToLll is using form factors from arXiv:1301.3737 " << std::endl;
}
//=============================================================================
-// Destructor
-//=============================================================================
-
-EvtRareLbToLllFFGutsche::~EvtRareLbToLllFFGutsche() {
-
-}
-
-//=============================================================================
-void EvtRareLbToLllFFGutsche::getFF( EvtParticle* parent,
+void EvtRareLbToLllFFGutsche::getFF( EvtParticle* parent,
EvtParticle* lambda,
EvtRareLbToLllFFBase::FormFactors& FF )
{
// Find the FF information for this particle, start by setting all to zero
FF.areZero();
-
+
/*
- if ( ! ( fParents.contains(parent->getId()) &&
+ if ( ! ( fParents.contains(parent->getId()) &&
fDaughters.contains(lambda->getId()) ) )
{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << " EvtRareLbToLllFFGutsche: Unknown mother and/or daughter. " << std::endl;
- return;
+ return;
}
*/
double m1 = parent->getP4().mass();
double m2 = lambda->getP4().mass();
EvtVector4R p4parent;
p4parent.set( parent->mass(), 0 , 0 , 0 );
double q2 = ( p4parent - lambda->getP4() ).mass2();
double m21 = m2/m1;
double shat = q2/m1/m1;
double fV[3];
double fA[3];
for (int i=0;i<=2;++i) {
fV[i] = formFactorParametrization(shat, fVconsts[i][0], fVconsts[i][1],
fVconsts[i][2]);
fA[i] = formFactorParametrization(shat, fAconsts[i][0], fAconsts[i][1],
fAconsts[i][2]);
}
double fTV[2];
double fTA[2];
for (int i=0;i<=1;++i) {
fTV[i] = formFactorParametrization(shat, fTVconsts[i][0], fTVconsts[i][1],
fTVconsts[i][2]);
fTA[i] = formFactorParametrization(shat, fTAconsts[i][0], fTAconsts[i][1],
fTAconsts[i][2]);
}
// Both v^2==v'^2==1 by definition
FF.F_[0] = fV[0] + fV[1]*( 1 + m21 );
FF.F_[1] = fV[2] - fV[1];
FF.F_[2] = -m21*( fV[1] + fV[2] );
FF.G_[0] = fA[0] - fA[1]*( 1 - m21 );
FF.G_[1] = fA[2] - fA[1];
FF.G_[2] = -m21*( + fA[1] + fA[2] );
FF.FT_[0] = fTV[1]*( m1 + m2) + fTV[0]*( q2/m1 );
FF.FT_[1] = +fTV[0] * ( m2 - m1 ) - fTV[1] * m1;
FF.FT_[2] = m2 * ( fTV[0] - fTV[1] ) - fTV[0] * m21 * m2 ;
FF.GT_[0] = -fTA[1]*( m1 - m2) + fTA[0]*( q2/m1 );
FF.GT_[1] = -fTA[1] * m1 + fTA[0] * ( m1 + m2 );
FF.GT_[2] = -fTA[0] * m2 * m21 - m2 * ( fTA[0] + fTA[1] );
return ;
}
-double EvtRareLbToLllFFGutsche::formFactorParametrization(double s, double f0,
+double EvtRareLbToLllFFGutsche::formFactorParametrization(double s, double f0,
double a, double b) {
return f0 / (1 - a * s + b * s * s);
}
diff --git a/src/EvtGenModels/EvtRareLbToLllFFlQCD.cpp b/src/EvtGenModels/EvtRareLbToLllFFlQCD.cpp
index 59a24b8..ceff80e 100644
--- a/src/EvtGenModels/EvtRareLbToLllFFlQCD.cpp
+++ b/src/EvtGenModels/EvtRareLbToLllFFlQCD.cpp
@@ -1,173 +1,158 @@
-// Include files
+// Include files
// local
#include "EvtGenModels/EvtRareLbToLllFFlQCD.hh"
#include "EvtGenModels/EvtWilsonCoefficients.hh"
-#include "EvtGenBase/EvtVector4R.hh"
+#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtConst.hh"
#include <stdlib.h>
#include <cmath>
//-----------------------------------------------------------------------------
// Implementation file for class : EvtRareLbToLllFFlQCD
//
// 2016-04-19 : Michal Kreps
// 2014-10-22 : Michal Kreps
//-----------------------------------------------------------------------------
-//=============================================================================
-// Standard constructor, initializes variables
-//=============================================================================
-
-
-EvtRareLbToLllFFlQCD::EvtRareLbToLllFFlQCD() : EvtRareLbToLllFFBase()
- {}
void EvtRareLbToLllFFlQCD::init()
{
EvtId LbID = EvtPDL::getId(std::string("Lambda_b0"));
EvtId LID = EvtPDL::getId(std::string("Lambda0"));
EvtId BID = EvtPDL::getId(std::string("B+"));
EvtId KID = EvtPDL::getId(std::string("K-"));
double m1 = EvtPDL::getMass(LbID);
double m2 = EvtPDL::getMass(LID);
double mB = EvtPDL::getMass(BID);
double mK = EvtPDL::getMass(KID);
t0 = (m1 - m2)*(m1 - m2);
tplus = (mB + mK)*(mB + mK);
fconsts[0][0] = 0.4221;
fconsts[0][1] = -1.1386;
fconsts[0][2] = 5.416;
fconsts[1][0] = 0.5182;
fconsts[1][1] = -1.3495;
fconsts[1][2] = 5.416;
fconsts[2][0] = 0.3725;
fconsts[2][1] = -0.9389;
fconsts[2][2] = 5.711;
gconsts[0][0] = 0.3563;
gconsts[0][1] = -1.0612;
gconsts[0][2] = 5.750;
gconsts[1][0] = 0.3563;
gconsts[1][1] = -1.1357;
gconsts[1][2] = 5.750;
gconsts[2][0] = 0.4028;
gconsts[2][1] = -1.0290;
gconsts[2][2] = 5.367;
hconsts[0][0] = 0.4960;
hconsts[0][1] = -1.1275;
hconsts[0][2] = 5.416;
hconsts[1][0] = 0.3876;
hconsts[1][1] = -0.9623;
hconsts[1][2] = 5.416;
hconsts[2][0] = 0;
hconsts[2][1] = 0;
hconsts[2][2] = 0;
htildaconsts[0][0] = 0.3403;
htildaconsts[0][1] = -0.7697;
htildaconsts[0][2] = 5.750;
htildaconsts[1][0] = 0.3403;
htildaconsts[1][1] = -0.8008;
htildaconsts[1][2] = 5.750;
htildaconsts[2][0] = 0;
htildaconsts[2][1] = 0;
htildaconsts[2][2] = 0;
EvtGenReport(EVTGEN_INFO,"EvtGen") << " EvtRareLbToLll is using form factors from arXiv:1602.01399 " << std::endl;
}
//=============================================================================
-// Destructor
-//=============================================================================
-EvtRareLbToLllFFlQCD::~EvtRareLbToLllFFlQCD() {
-
-}
-//=============================================================================
-
-
-void EvtRareLbToLllFFlQCD::getFF( EvtParticle* parent,
+void EvtRareLbToLllFFlQCD::getFF( EvtParticle* parent,
EvtParticle* lambda,
EvtRareLbToLllFFBase::FormFactors& FF )
{
// Find the FF information for this particle, start by setting all to zero
FF.areZero();
-
+
double m1 = parent->getP4().mass();
double m2 = lambda->getP4().mass();
// double m21=m2/m1;
EvtVector4R p4parent;
p4parent.set( parent->mass(), 0 , 0 , 0 );
double q2 = ( p4parent - lambda->getP4() ).mass2();
double massSum = m1 + m2;
double massDiff = m1 - m2;
double massSumSq = massSum * massSum;
double massDiffSq = massDiff * massDiff;
double q2Sum = q2 - massSumSq;
double q2Diff = q2 - massDiffSq;
-
+
double f[3];
double g[3];
double h[2];
double htilda[2];
for (int i=0;i<=2;++i) {
f[i] = formFactorParametrization(q2, fconsts[i][0], fconsts[i][1], fconsts[i][2]);
g[i] = formFactorParametrization(q2, gconsts[i][0], gconsts[i][1], gconsts[i][2]);
}
for (int i=0;i<=1;++i) {
h[i] = formFactorParametrization(q2, hconsts[i][0], hconsts[i][1], hconsts[i][2]);
- htilda[i] = formFactorParametrization(q2, htildaconsts[i][0], htildaconsts[i][1],
+ htilda[i] = formFactorParametrization(q2, htildaconsts[i][0], htildaconsts[i][1],
htildaconsts[i][2]);
}
// Both v^2==v'^2==1 by definition
FF.F_[0] = f[1];
FF.F_[1] = m1*((f[1]-f[0])*massSum + massDiff*(q2*(f[2]-f[1])-(f[2]-f[0])*massSumSq)/q2)/
q2Sum;
FF.F_[2] = -m2* (massSum*(f[0]-f[1]) + massDiff*(q2*(f[2]-f[1])-massSumSq*(f[2]-f[0]))/q2) / q2Sum;
FF.G_[0] = g[1];
FF.G_[1] = m1/q2Diff*( massDiff*(g[0]-g[1]) + massSum*(q2*(g[1]-g[2])+massDiffSq*(g[2]-g[0]) )/q2 ) ;
FF.G_[2] = -m2/q2Diff * ( massDiff*(g[1]-g[0]) + massSum*(q2*(g[1]-g[2])+massDiffSq*(g[2]-g[0]) )/q2 ) ;
FF.FT_[0] = -massSum*h[1];
FF.FT_[1] = -m1/q2Sum*( 2*h[1]*m2*massSum-h[0]*(q2-massSum*massDiff));
FF.FT_[2] = -m2/q2Sum*( 2*h[1]*m1*massSum-h[0]*(q2+massSum*massDiff));
- FF.GT_[0] = massDiff*htilda[1];
+ FF.GT_[0] = massDiff*htilda[1];
- FF.GT_[1] = m1/q2Diff*(2*htilda[1]*massDiff*m2+htilda[0]*(q2-massSum*massDiff));
+ FF.GT_[1] = m1/q2Diff*(2*htilda[1]*massDiff*m2+htilda[0]*(q2-massSum*massDiff));
FF.GT_[2] = m2/q2Diff*(-2*htilda[1]*massDiff*m1+htilda[0]*(q2+massSum*massDiff));
return ;
}
-double EvtRareLbToLllFFlQCD::formFactorParametrization(double q2, double a0,
- double a1, double pole){
+double EvtRareLbToLllFFlQCD::formFactorParametrization(double q2, double a0,
+ double a1, double pole){
double z = zvar(q2);
return 1./(1.-q2/(pole * pole))*(a0 + a1 * z);
}
double EvtRareLbToLllFFlQCD::zvar(double q2) {
double a = std::sqrt(tplus-q2);
double b = std::sqrt(tplus-t0);
return (a-b)/(a+b);
}
diff --git a/src/EvtGenModels/EvtRareLbToLllWC.cpp b/src/EvtGenModels/EvtRareLbToLllWC.cpp
index 981e13f..d0f2ed7 100644
--- a/src/EvtGenModels/EvtRareLbToLllWC.cpp
+++ b/src/EvtGenModels/EvtRareLbToLllWC.cpp
@@ -1,294 +1,284 @@
-// Include files
+// Include files
// local
#include "EvtGenModels/EvtRareLbToLllWC.hh"
//-----------------------------------------------------------------------------
// Implementation file for class : EvtRareLbToLllWC
//
// 2013-11-27 : Thomas Blake
//-----------------------------------------------------------------------------
-//=============================================================================
-// Standard constructor, initializes variables
-//=============================================================================
-
-EvtRareLbToLllWC::EvtRareLbToLllWC( ) {}
-//=============================================================================
-// Destructor
-//=============================================================================
-EvtRareLbToLllWC::~EvtRareLbToLllWC() {}
-
-EvtComplex EvtRareLbToLllWC::GetC7Eff( const double q2 ) const
+EvtComplex EvtRareLbToLllWC::GetC7Eff( const double q2 ) const
{
static double mbeff = 4.8;
double shat = q2/mbeff/mbeff;
double logshat;
logshat = log(shat);
-
+
double muscale;
muscale = 2.5;
double alphas;
alphas = 0.267;
double A7;
A7 = -0.353 + 0.023;
double A8;
A8 = -0.164;
double C1;
C1 = -0.697;
double C2;
C2 = 1.046;
-
+
double Lmu;
Lmu = log(muscale/mbeff);
EvtComplex uniti(0.0,1.0);
EvtComplex c7eff;
if (shat > 0.25)
- {
+ {
c7eff = A7;
return c7eff;
}
// change energy scale to 5.0 for full NNLO calculation below shat = 0.25
muscale = 5.0;
alphas = 0.215;
A7 = -0.312 + 0.008;
A8 = -0.148;
C1 = -0.487;
C2 = 1.024;
Lmu = log(muscale/mbeff);
EvtComplex F71;
EvtComplex f71;
EvtComplex k7100(-0.68192,-0.074998);
EvtComplex k7101(0.0,0.0);
EvtComplex k7110(-0.23935,-0.12289);
EvtComplex k7111(0.0027424,0.019676);
EvtComplex k7120(-0.0018555,-0.175);
EvtComplex k7121(0.022864,0.011456);
EvtComplex k7130(0.28248,-0.12783);
EvtComplex k7131(0.029027,-0.0082265);
f71 = k7100 + k7101*logshat + shat*(k7110 + k7111*logshat) +
- shat*shat*(k7120 + k7121*logshat) +
- shat*shat*shat*(k7130 + k7131*logshat);
+ shat*shat*(k7120 + k7121*logshat) +
+ shat*shat*shat*(k7130 + k7131*logshat);
F71 = (-208.0/243.0)*Lmu + f71;
EvtComplex F72;
EvtComplex f72;
EvtComplex k7200(4.0915,0.44999);
EvtComplex k7201(0.0,0.0);
EvtComplex k7210(1.4361,0.73732);
EvtComplex k7211(-0.016454,-0.11806);
EvtComplex k7220(0.011133,1.05);
EvtComplex k7221(-0.13718,-0.068733);
EvtComplex k7230(-1.6949,0.76698);
EvtComplex k7231(-0.17416,0.049359);
f72 = k7200 + k7201*logshat + shat*(k7210 + k7211*logshat) +
- shat*shat*(k7220 + k7221*logshat) +
- shat*shat*shat*(k7230 + k7231*logshat);
+ shat*shat*(k7220 + k7221*logshat) +
+ shat*shat*shat*(k7230 + k7231*logshat);
F72 = (416.0/81.0)*Lmu + f72;
-
+
EvtComplex F78;
- F78 = (-32.0/9.0)*Lmu + 8.0*EvtConst::pi*EvtConst::pi/27.0 + (-44.0/9.0)
+ F78 = (-32.0/9.0)*Lmu + 8.0*EvtConst::pi*EvtConst::pi/27.0 + (-44.0/9.0)
+ (-8.0*EvtConst::pi/9.0)*uniti +
(4.0/3.0*EvtConst::pi*EvtConst::pi - 40.0/3.0)*shat +
(32.0*EvtConst::pi*EvtConst::pi/9.0 - 316.0/9.0)*shat*shat +
(200.0*EvtConst::pi*EvtConst::pi/27.0 - 658.0/9.0)*shat*shat*shat +
(-8.0*logshat/9.0)*(shat + shat*shat + shat*shat*shat);
-
+
c7eff = A7 - alphas/(4.0*EvtConst::pi)*(C1*F71 + C2*F72 + A8*F78);
return c7eff;
}
-EvtComplex EvtRareLbToLllWC::GetC9Eff( const double q2, const bool btod ) const
+EvtComplex EvtRareLbToLllWC::GetC9Eff( const double q2, const bool btod ) const
{
-
+
static double mbeff = 4.8;
double shat = q2/mbeff/mbeff;
double logshat;
logshat = log(shat);
double mchat = 0.29;
-
+
double muscale;
muscale = 2.5;
double alphas;
alphas = 0.267;
double A8;
A8 = -0.164;
double A9;
A9 = 4.287 + (-0.218);
double C1;
C1 = -0.697;
double C2;
C2 = 1.046;
double T9;
T9 = 0.114 + 0.280;
double U9;
U9 = 0.045 + 0.023;
double W9;
W9 = 0.044 + 0.016;
-
+
double Lmu;
Lmu = log(muscale/mbeff);
EvtComplex uniti(0.0,1.0);
EvtComplex hc;
double xarg;
xarg = 4.0*mchat/shat;
hc = -4.0/9.0*log(mchat*mchat) + 8.0/27.0 + 4.0*xarg/9.0;
if (xarg < 1.0)
{
hc = hc - 2.0/9.0*(2.0 + xarg)*sqrt(fabs(1.0 - xarg))*
(log(fabs((sqrt(1.0 - xarg)+1.0)/(sqrt(1.0 - xarg) - 1.0))) -
uniti*EvtConst::pi);
}
else
{
hc = hc - 2.0/9.0*(2.0 + xarg)*sqrt(fabs(1.0 - xarg))*
2.0*atan(1.0/sqrt(xarg - 1.0));
}
-
+
EvtComplex h1;
xarg = 4.0/shat;
h1 = 8.0/27.0 + 4.0*xarg/9.0;
if (xarg < 1.0)
{
h1 = h1 - 2.0/9.0*(2.0 + xarg)*sqrt(fabs(1.0 - xarg))*
(log(fabs((sqrt(1.0 - xarg)+1.0)/(sqrt(1.0 - xarg) - 1.0))) -
uniti*EvtConst::pi);
}
else
{
h1 = h1 - 2.0/9.0*(2.0 + xarg)*sqrt(fabs(1.0 - xarg))*
2.0*atan(1.0/sqrt(xarg - 1.0));
}
EvtComplex h0;
h0 = 8.0/27.0 - 4.0*log(2.0)/9.0 + 4.0*uniti*EvtConst::pi/9.0;
// X=V_{ud}^* V_ub / V_{td}^* V_tb * (4/3 C_1 +C_2) * (h(\hat m_c^2, hat s)-
// h(\hat m_u^2, hat s))
EvtComplex Vudstar(1.0 - 0.2279*0.2279/2.0, 0.0);
EvtComplex Vub((0.118+0.273)/2.0, -1.0*(0.305+0.393)/2.0);
EvtComplex Vtdstar(1.0 - (0.118+0.273)/2.0,(0.305+0.393)/2.0);
EvtComplex Vtb(1.0,0.0);
EvtComplex Xd;
Xd = (Vudstar * Vub / Vtdstar * Vtb) * (4.0/3.0*C1 + C2) * (hc - h0);
EvtComplex c9eff=4.344;
if (shat > 0.25)
- {
+ {
c9eff = A9 + T9*hc + U9*h1 + W9*h0;
if (btod)
{
- c9eff += Xd;
+ c9eff += Xd;
}
return c9eff;
}
// change energy scale to 5.0 for full NNLO calculation below shat = 0.25
muscale = 5.0;
alphas = 0.215;
A9 = 4.174 + (-0.035);
C1 = -0.487;
C2 = 1.024;
A8 = -0.148;
T9 = 0.374 + 0.252;
U9 = 0.033 + 0.015;
W9 = 0.032 + 0.012;
Lmu = log(muscale/mbeff);
EvtComplex F91;
EvtComplex f91;
EvtComplex k9100(-11.973,0.16371);
EvtComplex k9101(-0.081271,-0.059691);
EvtComplex k9110(-28.432,-0.25044);
EvtComplex k9111(-0.040243,0.016442);
EvtComplex k9120(-57.114,-0.86486);
EvtComplex k9121(-0.035191,0.027909);
EvtComplex k9130(-128.8,-2.5243);
EvtComplex k9131(-0.017587,0.050639);
f91 = k9100 + k9101*logshat + shat*(k9110 + k9111*logshat) +
- shat*shat*(k9120 + k9121*logshat) +
- shat*shat*shat*(k9130 + k9131*logshat);
- F91 = (-1424.0/729.0 + 16.0*uniti*EvtConst::pi/243.0
+ shat*shat*(k9120 + k9121*logshat) +
+ shat*shat*shat*(k9130 + k9131*logshat);
+ F91 = (-1424.0/729.0 + 16.0*uniti*EvtConst::pi/243.0
+ 64.0/27.0*log(mchat))*Lmu - 16.0*Lmu*logshat/243.0 +
(16.0/1215.0 - 32.0/135.0/mchat/mchat)*Lmu*shat +
(4.0/2835.0 - 8.0/315.0/mchat/mchat/mchat/mchat)*Lmu*shat*shat +
(16.0/76545.0 - 32.0/8505.0/mchat/mchat/mchat/mchat/mchat/mchat)*
Lmu*shat*shat*shat -256.0*Lmu*Lmu/243.0 + f91;
EvtComplex F92;
EvtComplex f92;
EvtComplex k9200(6.6338,-0.98225);
EvtComplex k9201(0.48763,0.35815);
EvtComplex k9210(3.3585,1.5026);
EvtComplex k9211(0.24146,-0.098649);
EvtComplex k9220(-1.1906,5.1892);
EvtComplex k9221(0.21115,-0.16745);
EvtComplex k9230(-17.12,15.146);
EvtComplex k9231(0.10552,-0.30383);
f92 = k9200 + k9201*logshat + shat*(k9210 + k9211*logshat) +
- shat*shat*(k9220 + k9221*logshat) +
- shat*shat*shat*(k9230 + k9231*logshat);
- F92 = (256.0/243.0 - 32.0*uniti*EvtConst::pi/81.0
+ shat*shat*(k9220 + k9221*logshat) +
+ shat*shat*shat*(k9230 + k9231*logshat);
+ F92 = (256.0/243.0 - 32.0*uniti*EvtConst::pi/81.0
- 128.0/9.0*log(mchat))*Lmu + 32.0*Lmu*logshat/81.0 +
(-32.0/405.0 + 64.0/45.0/mchat/mchat)*Lmu*shat +
(-8.0/945.0 + 16.0/105.0/mchat/mchat/mchat/mchat)*Lmu*shat*shat +
(-32.0/25515.0 + 64.0/2835.0/mchat/mchat/mchat/mchat/mchat/mchat)*
Lmu*shat*shat*shat + 512.0*Lmu*Lmu/81.0 + f92;
-
+
EvtComplex F98;
- F98 = 104.0/9.0 - 32.0*EvtConst::pi*EvtConst::pi/27.0 +
+ F98 = 104.0/9.0 - 32.0*EvtConst::pi*EvtConst::pi/27.0 +
(1184.0/27.0 - 40.0*EvtConst::pi*EvtConst::pi/9.0)*shat +
(14212.0/135.0 - 32.0*EvtConst::pi*EvtConst::pi/3.0)*shat*shat +
(193444.0/945.0 - 560.0*EvtConst::pi*EvtConst::pi/27.0)*shat*shat*shat +
16.0*logshat/9.0*(1.0 + shat + shat*shat + shat*shat*shat);
Xd = (Vudstar * Vub / Vtdstar * Vtb) * (4.0/3.0*C1 + C2) * (hc - h0);
- c9eff = A9 + T9*hc + U9*h1 + W9*h0 -
+ c9eff = A9 + T9*hc + U9*h1 + W9*h0 -
alphas/(4.0*EvtConst::pi)*(C1*F91 + C2*F92 + A8*F98);
if (btod)
{
- c9eff += Xd;
+ c9eff += Xd;
}
return c9eff;
}
/*
- Calculate C10 coefficient
-
- C10 is scale (and q^2) independent
+ Calculate C10 coefficient
+
+ C10 is scale (and q^2) independent
*/
-EvtComplex EvtRareLbToLllWC::GetC10Eff( double /*q2*/ ) const
+EvtComplex EvtRareLbToLllWC::GetC10Eff( double /*q2*/ ) const
{
double A10;
A10 = -4.592 + 0.379;
EvtComplex c10eff;
c10eff = A10;
return c10eff;
}
//=============================================================================
diff --git a/src/EvtGenModels/EvtSLBKPole.cpp b/src/EvtGenModels/EvtSLBKPole.cpp
index 7a2b5ca..7fb0a94 100644
--- a/src/EvtGenModels/EvtSLBKPole.cpp
+++ b/src/EvtGenModels/EvtSLBKPole.cpp
@@ -1,100 +1,102 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSLBKPole.cc
//
// Description: Routine to implement semileptonic decays according
// to light cone sum rules
//
// Modification history:
//
// liheng October 20, 2005 Module created
//
//------------------------------------------------------------------------
-//
+//
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSLBKPole.hh"//modified
#include "EvtGenModels/EvtSLBKPoleFF.hh"//modified
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh"
#include <string>
-EvtSLBKPole::~EvtSLBKPole() {}
-
std::string EvtSLBKPole::getName(){
return "SLBKPOLE";//modified
}
EvtDecayBase* EvtSLBKPole::clone(){//modified
return new EvtSLBKPole;
}
void EvtSLBKPole::decay( EvtParticle *p ){//modified
p->initializePhaseSpace(getNDaug(),getDaugs());
- calcamp->CalcAmp(p,_amp2,SLBKPoleffmodel);//modified
+ calcamp->CalcAmp(p,_amp2,SLBKPoleffmodel.get());//modified
return;
}
void EvtSLBKPole::initProbMax(){
EvtId parnum,mesnum,lnum,nunum;
parnum = getParentId();
mesnum = getDaug(0);
lnum = getDaug(1);
nunum = getDaug(2);
double mymaxprob = calcamp->CalcMaxProb(parnum,mesnum,
- lnum,nunum,SLBKPoleffmodel);//modified
+ lnum,nunum,SLBKPoleffmodel.get());//modified
setProbMax(mymaxprob);
}
void EvtSLBKPole::init(){//modified
-
+
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
- SLBKPoleffmodel = new EvtSLBKPoleFF(getNArg(),getArgs());//modified
-
- if ( mesontype==EvtSpinType::SCALAR ) {
- calcamp = new EvtSemiLeptonicScalarAmp;
+ SLBKPoleffmodel = std::make_unique<EvtSLBKPoleFF>(getNArg(),getArgs());//modified
+
+ switch(mesontype) {
+ case EvtSpinType::SCALAR:
+ calcamp = std::make_unique<EvtSemiLeptonicScalarAmp>();
+ break;
+ case EvtSpinType::VECTOR:
+ calcamp = std::make_unique<EvtSemiLeptonicVectorAmp>();
+ break;
+ case EvtSpinType::TENSOR:
+ calcamp = std::make_unique<EvtSemiLeptonicTensorAmp>();
+ break;
+ default:
+ ;
}
- if ( mesontype==EvtSpinType::VECTOR ) {
- calcamp = new EvtSemiLeptonicVectorAmp;
- }
- if ( mesontype==EvtSpinType::TENSOR ) {
- calcamp = new EvtSemiLeptonicTensorAmp;
- }
-
+
}
diff --git a/src/EvtGenModels/EvtSLBaryonAmp.cpp b/src/EvtGenModels/EvtSLBaryonAmp.cpp
index fb83194..0dccb1d 100644
--- a/src/EvtGenModels/EvtSLBaryonAmp.cpp
+++ b/src/EvtGenModels/EvtSLBaryonAmp.cpp
@@ -1,867 +1,867 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSLBaryonAmp.cc
//
// Description: Routine to implement semileptonic decays of Dirac baryons
//
// Modification history:
//
// R.J. Tesarek May 28, 2004 Module created
// Karen Gibson 1/20/2006 Module updated for 1/2+->1/2+,
// 1/2+->1/2-, 1/2+->3/2- Lambda decays
//
//--------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtDiracParticle.hh"
#include "EvtGenBase/EvtRaritaSchwinger.hh"
#include "EvtGenModels/EvtSLBaryonAmp.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicFF.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
#include <stdlib.h>
using std::endl;
EvtSLBaryonAmp::~EvtSLBaryonAmp(){
}
void EvtSLBaryonAmp::CalcAmp( EvtParticle *parent,
EvtAmp& amp,
EvtSemiLeptonicFF *FormFactors ) {
static EvtId EM=EvtPDL::getId("e-");
static EvtId MUM=EvtPDL::getId("mu-");
static EvtId TAUM=EvtPDL::getId("tau-");
static EvtId EP=EvtPDL::getId("e+");
static EvtId MUP=EvtPDL::getId("mu+");
static EvtId TAUP=EvtPDL::getId("tau+");
//Add the lepton and neutrino 4 momenta to find q2
EvtVector4R q = parent->getDaug(1)->getP4()
+ parent->getDaug(2)->getP4();
double q2 = (q.mass2());
double f1v,f1a,f2v,f2a;
double m_meson = parent->getDaug(0)->mass();
FormFactors->getbaryonff(parent->getId(),
parent->getDaug(0)->getId(),
q2,
m_meson,
&f1v,
&f1a,
&f2v,
&f2a);
EvtVector4R p4b;
p4b.set(parent->mass(),0.0,0.0,0.0);
EvtVector4C temp_00_term1;
EvtVector4C temp_00_term2;
EvtVector4C temp_01_term1;
EvtVector4C temp_01_term2;
EvtVector4C temp_10_term1;
EvtVector4C temp_10_term2;
EvtVector4C temp_11_term1;
EvtVector4C temp_11_term2;
EvtDiracSpinor p0=parent->sp(0);
EvtDiracSpinor p1=parent->sp(1);
EvtDiracSpinor d0=parent->getDaug(0)->spParent(0);
EvtDiracSpinor d1=parent->getDaug(0)->spParent(1);
temp_00_term1.set(0,f1v*(d0*(EvtGammaMatrix::g0()*p0)));
temp_00_term2.set(0,f1a*(d0*((EvtGammaMatrix::g0()*EvtGammaMatrix::g5())*p0)));
temp_01_term1.set(0,f1v*(d0*(EvtGammaMatrix::g0()*p1)));
temp_01_term2.set(0,f1a*(d0*((EvtGammaMatrix::g0()*EvtGammaMatrix::g5())*p1)));
temp_10_term1.set(0,f1v*(d1*(EvtGammaMatrix::g0()*p0)));
temp_10_term2.set(0,f1a*(d1*((EvtGammaMatrix::g0()*EvtGammaMatrix::g5())*p0)));
temp_11_term1.set(0,f1v*(d1*(EvtGammaMatrix::g0()*p1)));
temp_11_term2.set(0,f1a*(d1*((EvtGammaMatrix::g0()*EvtGammaMatrix::g5())*p1)));
temp_00_term1.set(1,f1v*(d0*(EvtGammaMatrix::g1()*p0)));
temp_00_term2.set(1,f1a*(d0*((EvtGammaMatrix::g1()*EvtGammaMatrix::g5())*p0)));
temp_01_term1.set(1,f1v*(d0*(EvtGammaMatrix::g1()*p1)));
temp_01_term2.set(1,f1a*(d0*((EvtGammaMatrix::g1()*EvtGammaMatrix::g5())*p1)));
temp_10_term1.set(1,f1v*(d1*(EvtGammaMatrix::g1()*p0)));
temp_10_term2.set(1,f1a*(d1*((EvtGammaMatrix::g1()*EvtGammaMatrix::g5())*p0)));
temp_11_term1.set(1,f1v*(d1*(EvtGammaMatrix::g1()*p1)));
temp_11_term2.set(1,f1a*(d1*((EvtGammaMatrix::g1()*EvtGammaMatrix::g5())*p1)));
temp_00_term1.set(2,f1v*(d0*(EvtGammaMatrix::g2()*p0)));
temp_00_term2.set(2,f1a*(d0*((EvtGammaMatrix::g2()*EvtGammaMatrix::g5())*p0)));
temp_01_term1.set(2,f1v*(d0*(EvtGammaMatrix::g2()*p1)));
temp_01_term2.set(2,f1a*(d0*((EvtGammaMatrix::g2()*EvtGammaMatrix::g5())*p1)));
temp_10_term1.set(2,f1v*(d1*(EvtGammaMatrix::g2()*p0)));
temp_10_term2.set(2,f1a*(d1*((EvtGammaMatrix::g2()*EvtGammaMatrix::g5())*p0)));
temp_11_term1.set(2,f1v*(d1*(EvtGammaMatrix::g2()*p1)));
temp_11_term2.set(2,f1a*(d1*((EvtGammaMatrix::g2()*EvtGammaMatrix::g5())*p1)));
temp_00_term1.set(3,f1v*(d0*(EvtGammaMatrix::g3()*p0)));
temp_00_term2.set(3,f1a*(d0*((EvtGammaMatrix::g3()*EvtGammaMatrix::g5())*p0)));
temp_01_term1.set(3,f1v*(d0*(EvtGammaMatrix::g3()*p1)));
temp_01_term2.set(3,f1a*(d0*((EvtGammaMatrix::g3()*EvtGammaMatrix::g5())*p1)));
temp_10_term1.set(3,f1v*(d1*(EvtGammaMatrix::g3()*p0)));
temp_10_term2.set(3,f1a*(d1*((EvtGammaMatrix::g3()*EvtGammaMatrix::g5())*p0)));
temp_11_term1.set(3,f1v*(d1*(EvtGammaMatrix::g3()*p1)));
temp_11_term2.set(3,f1a*(d1*((EvtGammaMatrix::g3()*EvtGammaMatrix::g5())*p1)));
EvtVector4C l1,l2;
EvtId l_num = parent->getDaug(1)->getId();
if (l_num==EM||l_num==MUM||l_num==TAUM){
l1=EvtLeptonVACurrent(parent->getDaug(1)->spParent(0),
parent->getDaug(2)->spParentNeutrino());
l2=EvtLeptonVACurrent(parent->getDaug(1)->spParent(1),
parent->getDaug(2)->spParentNeutrino());
}
else{
if (l_num==EP||l_num==MUP||l_num==TAUP){
l1=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(0));
l2=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(1));
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Wrong lepton number"<<endl;
}
}
amp.vertex(0,0,0,l1.cont(temp_00_term1+temp_00_term2));
amp.vertex(0,0,1,l2.cont(temp_00_term1+temp_00_term2));
amp.vertex(0,1,0,l1.cont(temp_01_term1+temp_01_term2));
amp.vertex(0,1,1,l2.cont(temp_01_term1+temp_01_term2));
amp.vertex(1,0,0,l1.cont(temp_10_term1+temp_10_term2));
amp.vertex(1,0,1,l2.cont(temp_10_term1+temp_10_term2));
amp.vertex(1,1,0,l1.cont(temp_11_term1+temp_11_term2));
amp.vertex(1,1,1,l2.cont(temp_11_term1+temp_11_term2));
return;
}
double EvtSLBaryonAmp::CalcMaxProb( EvtId parent, EvtId baryon,
EvtId lepton, EvtId nudaug,
EvtSemiLeptonicFF *FormFactors,
EvtComplex r00, EvtComplex r01,
EvtComplex r10, EvtComplex r11) {
//This routine takes the arguements parent, baryon, and lepton
//number, and a form factor model, and returns a maximum
//probability for this semileptonic form factor model. A
//brute force method is used. The 2D cos theta lepton and
//q2 phase space is probed.
//Start by declaring a particle at rest.
//It only makes sense to have a scalar parent. For now.
//This should be generalized later.
// EvtScalarParticle *scalar_part;
// scalar_part=new EvtScalarParticle;
EvtDiracParticle *dirac_part;
EvtParticle *root_part;
dirac_part=new EvtDiracParticle;
//cludge to avoid generating random numbers!
// scalar_part->noLifeTime();
dirac_part->noLifeTime();
EvtVector4R p_init;
p_init.set(EvtPDL::getMass(parent),0.0,0.0,0.0);
// scalar_part->init(parent,p_init);
// root_part=(EvtParticle *)scalar_part;
// root_part->set_type(EvtSpinType::SCALAR);
dirac_part->init(parent,p_init);
root_part=(EvtParticle *)dirac_part;
root_part->setDiagonalSpinDensity();
EvtParticle *daughter, *lep, *trino;
EvtAmp amp;
EvtId listdaug[3];
listdaug[0] = baryon;
listdaug[1] = lepton;
listdaug[2] = nudaug;
amp.init(parent,3,listdaug);
root_part->makeDaughters(3,listdaug);
daughter=root_part->getDaug(0);
lep=root_part->getDaug(1);
trino=root_part->getDaug(2);
//cludge to avoid generating random numbers!
daughter->noLifeTime();
lep->noLifeTime();
trino->noLifeTime();
//Initial particle is unpolarized, well it is a scalar so it is
//trivial
EvtSpinDensity rho;
rho.setDiag(root_part->getSpinStates());
double mass[3];
double m = root_part->mass();
EvtVector4R p4baryon, p4lepton, p4nu, p4w;
double q2max;
double q2, elepton, plepton;
int i,j;
double erho,prho,costl;
double maxfoundprob = 0.0;
double prob = -10.0;
int massiter;
for (massiter=0;massiter<3;massiter++){
mass[0] = EvtPDL::getMass(baryon);
mass[1] = EvtPDL::getMass(lepton);
mass[2] = EvtPDL::getMass(nudaug);
if ( massiter==1 ) {
mass[0] = EvtPDL::getMinMass(baryon);
}
if ( massiter==2 ) {
mass[0] = EvtPDL::getMaxMass(baryon);
}
q2max = (m-mass[0])*(m-mass[0]);
//loop over q2
for (i=0;i<25;i++) {
q2 = ((i+0.5)*q2max)/25.0;
erho = ( m*m + mass[0]*mass[0] - q2 )/(2.0*m);
prho = sqrt(erho*erho-mass[0]*mass[0]);
p4baryon.set(erho,0.0,0.0,-1.0*prho);
p4w.set(m-erho,0.0,0.0,prho);
//This is in the W rest frame
elepton = (q2+mass[1]*mass[1])/(2.0*sqrt(q2));
plepton = sqrt(elepton*elepton-mass[1]*mass[1]);
double probctl[3];
for (j=0;j<3;j++) {
costl = 0.99*(j - 1.0);
//These are in the W rest frame. Need to boost out into
//the B frame.
p4lepton.set(elepton,0.0,
plepton*sqrt(1.0-costl*costl),plepton*costl);
p4nu.set(plepton,0.0,
-1.0*plepton*sqrt(1.0-costl*costl),-1.0*plepton*costl);
EvtVector4R boost((m-erho),0.0,0.0,1.0*prho);
p4lepton=boostTo(p4lepton,boost);
p4nu=boostTo(p4nu,boost);
//Now initialize the daughters...
daughter->init(baryon,p4baryon);
lep->init(lepton,p4lepton);
trino->init(nudaug,p4nu);
CalcAmp(root_part,amp,FormFactors,r00,r01,r10,r11);
//Now find the probability at this q2 and cos theta lepton point
//and compare to maxfoundprob.
//Do a little magic to get the probability!!
prob = rho.normalizedProb(amp.getSpinDensity());
probctl[j]=prob;
}
//probclt contains prob at ctl=-1,0,1.
//prob=a+b*ctl+c*ctl^2
double a=probctl[1];
double b=0.5*(probctl[2]-probctl[0]);
double c=0.5*(probctl[2]+probctl[0])-probctl[1];
prob=probctl[0];
if (probctl[1]>prob) prob=probctl[1];
if (probctl[2]>prob) prob=probctl[2];
if (fabs(c)>1e-20){
double ctlx=-0.5*b/c;
if (fabs(ctlx)<1.0){
double probtmp=a+b*ctlx+c*ctlx*ctlx;
if (probtmp>prob) prob=probtmp;
}
}
- //report(DEBUG,"EvtGen") << "prob,probctl:"<<prob<<" "
- // << probctl[0]<<" "
- // << probctl[1]<<" "
- // << probctl[2]<<std::endl;
+ //EvtGenReport(EVTGEN_DEBUG,"EvtGen") << "prob,probctl:"<<prob<<" "
+ // << probctl[0]<<" "
+ // << probctl[1]<<" "
+ // << probctl[2]<<std::endl;
if ( prob > maxfoundprob ) {
maxfoundprob = prob;
}
}
if ( EvtPDL::getWidth(baryon) <= 0.0 ) {
//if the particle is narrow dont bother with changing the mass.
massiter = 4;
}
}
root_part->deleteTree();
maxfoundprob *=1.1;
return maxfoundprob;
}
void EvtSLBaryonAmp::CalcAmp(EvtParticle *parent,
EvtAmp& amp,
EvtSemiLeptonicFF *FormFactors,
EvtComplex r00, EvtComplex r01,
EvtComplex r10, EvtComplex r11) {
// Leptons
static EvtId EM=EvtPDL::getId("e-");
static EvtId MUM=EvtPDL::getId("mu-");
static EvtId TAUM=EvtPDL::getId("tau-");
// Anti-Leptons
static EvtId EP=EvtPDL::getId("e+");
static EvtId MUP=EvtPDL::getId("mu+");
static EvtId TAUP=EvtPDL::getId("tau+");
// Baryons
static EvtId LAMCP=EvtPDL::getId("Lambda_c+");
static EvtId LAMC1P=EvtPDL::getId("Lambda_c(2593)+");
static EvtId LAMC2P=EvtPDL::getId("Lambda_c(2625)+");
static EvtId LAMB=EvtPDL::getId("Lambda_b0");
static EvtId PRO=EvtPDL::getId("p+");
static EvtId N1440=EvtPDL::getId("N(1440)+");
static EvtId N1520=EvtPDL::getId("N(1520)+");
static EvtId N1535=EvtPDL::getId("N(1535)+");
static EvtId N1720=EvtPDL::getId("N(1720)+");
static EvtId N1650=EvtPDL::getId("N(1650)+");
static EvtId N1700=EvtPDL::getId("N(1700)+");
static EvtId N1710=EvtPDL::getId("N(1710)+");
static EvtId N1875=EvtPDL::getId("N(1875)+");
static EvtId N1900=EvtPDL::getId("N(1900)+");
// Anti-Baryons
static EvtId LAMCM=EvtPDL::getId("anti-Lambda_c-");
static EvtId LAMC1M=EvtPDL::getId("anti-Lambda_c(2593)-");
static EvtId LAMC2M=EvtPDL::getId("anti-Lambda_c(2625)-");
static EvtId LAMBB=EvtPDL::getId("anti-Lambda_b0");
static EvtId PROB=EvtPDL::getId("anti-p-");
static EvtId N1440B=EvtPDL::getId("anti-N(1440)-");
static EvtId N1520B=EvtPDL::getId("anti-N(1520)-");
static EvtId N1535B=EvtPDL::getId("anti-N(1535)-");
static EvtId N1720B=EvtPDL::getId("anti-N(1720)-");
static EvtId N1650B=EvtPDL::getId("anti-N(1650)-");
static EvtId N1700B=EvtPDL::getId("anti-N(1700)-");
static EvtId N1710B=EvtPDL::getId("anti-N(1710)-");
static EvtId N1875B=EvtPDL::getId("anti-N(1875)-");
static EvtId N1900B=EvtPDL::getId("anti-N(1900)-");
// Set the spin density matrix of the parent baryon
EvtSpinDensity rho;
rho.setDim(2);
rho.set(0,0,r00);
rho.set(0,1,r01);
rho.set(1,0,r10);
rho.set(1,1,r11);
EvtVector4R vector4P = parent->getP4Lab();
double pmag = vector4P.d3mag();
double cosTheta = vector4P.get(3)/pmag;
double theta = acos(cosTheta);
double phi = atan2(vector4P.get(2), vector4P.get(1));
parent->setSpinDensityForwardHelicityBasis(rho,phi,theta, 0.0);
//parent->setSpinDensityForward(rho);
// Set the four momentum of the parent baryon in it's rest frame
EvtVector4R p4b;
p4b.set(parent->mass(), 0.0,0.0,0.0);
// Get the four momentum of the daughter baryon in the parent's rest frame
EvtVector4R p4daught = parent->getDaug(0)->getP4();
// Add the lepton and neutrino 4 momenta to find q (q^2)
EvtVector4R q = parent->getDaug(1)->getP4()
+ parent->getDaug(2)->getP4();
double q2 = q.mass2();
EvtId l_num = parent->getDaug(1)->getId();
EvtId bar_num = parent->getDaug(0)->getId();
EvtId par_num = parent->getId();
double baryonmass = parent->getDaug(0)->mass();
// Handle spin-1/2 daughter baryon Dirac spinor cases
if( EvtPDL::getSpinType(parent->getDaug(0)->getId())==EvtSpinType::DIRAC ) {
// Set the form factors
double f1,f2,f3,g1,g2,g3;
FormFactors->getdiracff( par_num,
bar_num,
q2,
baryonmass,
&f1, &f2, &f3,
&g1, &g2, &g3);
const double form_fact[6] = {f1, f2, f3, g1, g2, g3};
EvtVector4C b11, b12, b21, b22, l1, l2;
// Lepton Current
if(l_num==EM || l_num==MUM || l_num==TAUM){
l1=EvtLeptonVACurrent(parent->getDaug(1)->spParent(0),
parent->getDaug(2)->spParentNeutrino());
l2=EvtLeptonVACurrent(parent->getDaug(1)->spParent(1),
parent->getDaug(2)->spParentNeutrino());
} else if (l_num==EP || l_num==MUP || l_num==TAUP) {
l1=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(0));
l2=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(1));
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen")<< "Wrong lepton number \n";
::abort();
}
// Baryon current
// Flag for particle/anti-particle parent, daughter with same/opp. parity
// pflag = 0 => particle, same parity parent, daughter
// pflag = 1 => particle, opp. parity parent, daughter
// pflag = 2 => anti-particle, same parity parent, daughter
// pflag = 3 => anti-particle, opp. parity parent, daughter
int pflag = 0;
// Handle 1/2+ -> 1/2+ first
if ( (par_num==LAMB && bar_num==LAMCP)
|| (par_num==LAMBB && bar_num==LAMCM)
|| (par_num==LAMB && bar_num==PRO )
|| (par_num==LAMBB && bar_num==PROB)
|| (par_num==LAMB && bar_num==N1440 )
|| (par_num==LAMBB && bar_num==N1440B)
|| (par_num==LAMB && bar_num==N1710 )
|| (par_num==LAMBB && bar_num==N1710B)
) {
// Set particle/anti-particle flag
if (bar_num==LAMCP || bar_num==PRO || bar_num==N1440 || bar_num==N1710)
pflag = 0;
else if (bar_num==LAMCM || bar_num==PROB || bar_num==N1440B || bar_num==N1710B)
pflag = 2;
b11=EvtBaryonVACurrent(parent->getDaug(0)->spParent(0),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b21=EvtBaryonVACurrent(parent->getDaug(0)->spParent(0),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
b12=EvtBaryonVACurrent(parent->getDaug(0)->spParent(1),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b22=EvtBaryonVACurrent(parent->getDaug(0)->spParent(1),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
}
// Handle 1/2+ -> 1/2- second
else if(
(par_num==LAMB && bar_num==LAMC1P)
|| (par_num==LAMBB && bar_num==LAMC1M)
|| (par_num==LAMB && bar_num==N1535)
|| (par_num==LAMBB && bar_num==N1535B)
|| (par_num==LAMB && bar_num==N1650)
|| (par_num==LAMBB && bar_num==N1650B)
) {
// Set particle/anti-particle flag
if (bar_num==LAMC1P || bar_num == N1535 || bar_num == N1650)
pflag = 1;
else if (bar_num==LAMC1M || bar_num == N1535B || bar_num == N1650B)
pflag = 3;
b11=EvtBaryonVACurrent((parent->getDaug(0)->spParent(0)),
(EvtGammaMatrix::g5()*parent->sp(0)),
p4b, p4daught, form_fact, pflag);
b21=EvtBaryonVACurrent((parent->getDaug(0)->spParent(0)),
(EvtGammaMatrix::g5()*parent->sp(1)),
p4b, p4daught, form_fact, pflag);
b12=EvtBaryonVACurrent((parent->getDaug(0)->spParent(1)),
(EvtGammaMatrix::g5()*parent->sp(0)),
p4b, p4daught, form_fact, pflag);
b22=EvtBaryonVACurrent((parent->getDaug(0)->spParent(1)),
(EvtGammaMatrix::g5()*parent->sp(1)),
p4b, p4daught, form_fact, pflag);
}
else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Dirac semilep. baryon current "
<< "not implemented for this decay sequence."
<< std::endl;
::abort();
}
amp.vertex(0,0,0,l1*b11);
amp.vertex(0,0,1,l2*b11);
amp.vertex(1,0,0,l1*b21);
amp.vertex(1,0,1,l2*b21);
amp.vertex(0,1,0,l1*b12);
amp.vertex(0,1,1,l2*b12);
amp.vertex(1,1,0,l1*b22);
amp.vertex(1,1,1,l2*b22);
}
// Need special handling for the spin-3/2 daughter baryon
// Rarita-Schwinger spinor cases
else if( EvtPDL::getSpinType(parent->getDaug(0)->getId())==EvtSpinType::RARITASCHWINGER ) {
// Set the form factors
double f1,f2,f3,f4,g1,g2,g3,g4;
FormFactors->getraritaff( par_num,
bar_num,
q2,
baryonmass,
&f1, &f2, &f3, &f4,
&g1, &g2, &g3, &g4);
const double form_fact[8] = {f1, f2, f3, f4, g1, g2, g3, g4};
EvtId l_num = parent->getDaug(1)->getId();
EvtVector4C b11, b12, b21, b22, b13, b23, b14, b24, l1, l2;
// Lepton Current
if (l_num==EM || l_num==MUM || l_num==TAUM) {
// Lepton Current
l1=EvtLeptonVACurrent(parent->getDaug(1)->spParent(0),
parent->getDaug(2)->spParentNeutrino());
l2=EvtLeptonVACurrent(parent->getDaug(1)->spParent(1),
parent->getDaug(2)->spParentNeutrino());
}
else if (l_num==EP || l_num==MUP || l_num==TAUP) {
l1=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(0));
l2=EvtLeptonVACurrent(parent->getDaug(2)->spParentNeutrino(),
parent->getDaug(1)->spParent(1));
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen")<< "Wrong lepton number \n";
}
// Baryon Current
// Declare particle, anti-particle flag, same/opp. parity
// pflag = 0 => particle
// pflag = 1 => anti-particle
int pflag = 0;
// Handle cases of 1/2+ -> 3/2- or 3/2+
if ( (par_num==LAMB && bar_num==LAMC2P)
||(par_num==LAMB && bar_num==N1720 )
||(par_num==LAMB && bar_num==N1520 )
||(par_num==LAMB && bar_num==N1700 )
||(par_num==LAMB && bar_num==N1875 )
||(par_num==LAMB && bar_num==N1900 )
) {
// Set flag for particle case
pflag = 0;
}
else if (
(par_num==LAMBB && bar_num==LAMC2M)
||(par_num==LAMBB && bar_num==N1520B )
||(par_num==LAMBB && bar_num==N1700B )
||(par_num==LAMBB && bar_num==N1875B )
)
{
// Set flag for anti-particle opposite parity case
pflag = 1;
}
// Handle anti-particle case for 1/2+ -> 3/2+
else if (
( par_num==LAMBB && bar_num==N1720B)
|| (par_num==LAMBB && bar_num==N1900B)
) {
pflag = 2;
}
else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Rarita-Schwinger semilep. baryon current "
<< "not implemented for this decay sequence."
<< std::endl;
::abort();
}
// Baryon current
b11=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(0),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b21=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(0),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
b12=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(1),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b22=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(1),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
b13=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(2),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b23=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(2),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
b14=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(3),
parent->sp(0),
p4b, p4daught, form_fact, pflag);
b24=EvtBaryonVARaritaCurrent(parent->getDaug(0)->spRSParent(3),
parent->sp(1),
p4b, p4daught, form_fact, pflag);
amp.vertex(0,0,0,l1*b11);
amp.vertex(0,0,1,l2*b11);
amp.vertex(1,0,0,l1*b21);
amp.vertex(1,0,1,l2*b21);
amp.vertex(0,1,0,l1*b12);
amp.vertex(0,1,1,l2*b12);
amp.vertex(1,1,0,l1*b22);
amp.vertex(1,1,1,l2*b22);
amp.vertex(0,2,0,l1*b13);
amp.vertex(0,2,1,l2*b13);
amp.vertex(1,2,0,l1*b23);
amp.vertex(1,2,1,l2*b23);
amp.vertex(0,3,0,l1*b14);
amp.vertex(0,3,1,l2*b14);
amp.vertex(1,3,0,l1*b24);
amp.vertex(1,3,1,l2*b24);
}
}
EvtVector4C EvtSLBaryonAmp::EvtBaryonVACurrent( const EvtDiracSpinor& Bf,
const EvtDiracSpinor& Bi,
EvtVector4R parent,
EvtVector4R daught,
const double *ff,
int pflag) {
// flag == 0 => particle
// flag == 1 => particle, opposite parity
// flag == 2 => anti-particle, same parity
// flag == 3 => anti-particle, opposite parity
// particle
EvtComplex cv = EvtComplex(1.0, 0.);
EvtComplex ca = EvtComplex(1.0, 0.);
EvtComplex cg0 = EvtComplex(1.0, 0.);
EvtComplex cg5 = EvtComplex(1.0, 0.);
// antiparticle- same parity parent & daughter
if( pflag == 2 ) {
cv = EvtComplex(-1.0, 0.);
ca = EvtComplex(1.0, 0.);
cg0 = EvtComplex(1.0, 0.0);
// Changed cg5 from -i to -1 as appears to fix particle - anti-particle discrepency
cg5 = EvtComplex(-1.0,0.0 );
}
// antiparticle- opposite parity parent & daughter
else if( pflag == 3) {
cv = EvtComplex(1.0, 0.);
ca = EvtComplex(-1.0, 0.);
// Changed cg0 from -i to -1 as appears to fix particle - anti-particle discrepency
cg0 = EvtComplex(-1.0, 0.0);
cg5 = EvtComplex(1.0, 0.0);
}
EvtVector4C t[6];
// Term 1 = \bar{u}(p',s')*(F_1(q^2)*\gamma_{mu})*u(p,s)
t[0] = cv*EvtLeptonVCurrent( Bf, Bi);
// Term 2 = \bar{u}(p',s')*(F_2(q^2)*(p_{mu}/m_{\Lambda_Q}))*u(p,s)
t[1] = cg0*EvtLeptonSCurrent( Bf, Bi ) * (parent/parent.mass());
// Term 3 = \bar{u}(p',s')*(F_3(q^2)*(p'_{mu}/m_{\Lambda_q}))*u(p,s)
t[2] = cg0*EvtLeptonSCurrent( Bf, Bi ) * (daught/daught.mass());
// Term 4 = \bar{u}(p',s')*(G_1(q^2)*\gamma_{mu}*\gamma_5)*u(p,s)
t[3] = ca*EvtLeptonACurrent( Bf, Bi);
// Term 5 = \bar{u}(p',s')*(G_2(q^2)*(p_{mu}/m_{\Lambda_Q})*\gamma_5)*u(p,s)
t[4] = cg5*EvtLeptonPCurrent( Bf, Bi ) * (parent/parent.mass());
// Term 6 = \bar{u}(p',s')*(G_3(q^2)*(p'_{mu}/m_{\Lambda_q})*\gamma_5)*u(p,s)
t[5] = cg5*EvtLeptonPCurrent( Bf, Bi ) * (daught/daught.mass());
// Sum the individual terms
EvtVector4C current = (ff[0]*t[0] + ff[1]*t[1] + ff[2]*t[2]
- ff[3]*t[3] - ff[4]*t[4] - ff[5]*t[5]);
return current;
}
EvtVector4C EvtSLBaryonAmp::EvtBaryonVARaritaCurrent( const EvtRaritaSchwinger& Bf,
const EvtDiracSpinor& Bi,
EvtVector4R parent,
EvtVector4R daught,
const double *ff,
int pflag) {
// flag == 0 => particle
// flag == 1 => anti-particle
// particle
EvtComplex cv = EvtComplex(1.0, 0.);
EvtComplex ca = EvtComplex(1.0, 0.);
EvtComplex cg0 = EvtComplex(1.0, 0.);
EvtComplex cg5 = EvtComplex(1.0, 0.);
// antiparticle opposite parity
if( pflag == 1 ) {
cv = EvtComplex(-1.0, 0.);
ca = EvtComplex(1.0, 0.);
cg0 = EvtComplex(1.0, 0.0);
cg5 = EvtComplex(-1.0, 0.0);
}
// antiparticle same parity
else if( pflag == 2) {
cv = EvtComplex(1.0, 0.);
ca = EvtComplex(-1.0, 0.);
cg0 = EvtComplex(-1.0, 0.0);
cg5 = EvtComplex(1.0, 0.0);
}
EvtVector4C t[8];
EvtTensor4C id;
id.setdiag(1.0,1.0,1.0,1.0);
EvtDiracSpinor tmp;
for(int i=0;i<4;i++){
tmp.set_spinor(i,Bf.getVector(i)*parent);
}
EvtVector4C v1,v2;
for(int i=0;i<4;i++){
v1.set(i,EvtLeptonSCurrent(Bf.getSpinor(i),Bi));
v2.set(i,EvtLeptonPCurrent(Bf.getSpinor(i),Bi));
}
// Term 1 = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})*(F_1(q^2)*\gamma_{mu})*u(p,s)
t[0] = (cv/parent.mass()) * EvtLeptonVCurrent(tmp, Bi);
// Term 2
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})*(F_2(q^2)*(p_{mu}/m_{\Lambda_Q}))*u(p,s)
t[1] = ((cg0/parent.mass()) * EvtLeptonSCurrent(tmp, Bi)) * (parent/parent.mass());
// Term 3
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})*(F_3(q^2)*(p'_{mu}/m_{\Lambda_q}))*u(p,s)
t[2] = ((cg0/parent.mass()) * EvtLeptonSCurrent(tmp, Bi)) * (daught/daught.mass());
// Term 4 = \bar{u}^{\alpha}(p',s')*(F_4(q^2)*g_{\alpha,\mu})*u(p,s)
t[3] = cg0*(id.cont2(v1));
// Term 5
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})*(G_1(q^2)*\gamma_{mu}*\gamma_5)*u(p,s)
t[4] = (ca/parent.mass()) * EvtLeptonACurrent(tmp, Bi);
// Term 6
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})
// *(G_2(q^2)*(p_{mu}/m_{\Lambda_Q})*\gamma_5)*u(p,s)
t[5] = ((cg5/parent.mass()) * EvtLeptonPCurrent(tmp, Bi)) * (parent/parent.mass());
// Term 7
// = \bar{u}^{\alpha}(p',s')*(p_{\alpha}/m_{\Lambda_Q})
// *(G_3(q^2)*(p'_{mu}/m_{\Lambda_q})*\gamma_5)*u(p,s)
t[6] = ((cg5/parent.mass()) * EvtLeptonPCurrent(tmp, Bi)) * (daught/daught.mass());
// Term 8 = \bar{u}^{\alpha}(p',s')*(G_4(q^2)*g_{\alpha,\mu}*\gamma_5))*u(p,s)
t[7] = cg5*(id.cont2(v2));
// Sum the individual terms
EvtVector4C current = (ff[0]*t[0] + ff[1]*t[1] + ff[2]*t[2] + ff[3]*t[3]
- ff[4]*t[4] - ff[5]*t[5] - ff[6]*t[6] - ff[7]*t[7]);
return current;
}
diff --git a/src/EvtGenModels/EvtSLDiBaryonAmp.cpp b/src/EvtGenModels/EvtSLDiBaryonAmp.cpp
index bfc4a5f..034b43e 100644
--- a/src/EvtGenModels/EvtSLDiBaryonAmp.cpp
+++ b/src/EvtGenModels/EvtSLDiBaryonAmp.cpp
@@ -1,403 +1,401 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSLDiBaryonAmp.cc
//
// Description: Routine to implement semileptonic decays to dibaryonic final
// state. Details of amplitude calculation to be found in arXiv:1107.0801.
//
// Modification history:
//
// Mark Smith July 18, 2017 Module created
// Heavily adapted from the EvtSLBaryonAmp module
// Ryan Newcombe May 2018 Added capability for Rarita-Schwinger
// daughters. Indexing convention follows EvtSLBaryonAmp
// John B Oct 2018 Optimise amplitude calculation
//
//--------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtGammaMatrix.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtRaritaSchwinger.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenModels/EvtSLDiBaryonAmp.hh"
-using std::endl;
-
EvtSLDiBaryonAmp::EvtSLDiBaryonAmp(const EvtBToDiBaryonlnupQCDFF& formFactors) :
ffModel_(formFactors)
{
}
void EvtSLDiBaryonAmp::CalcAmp(EvtParticle *parent, EvtAmp& amp) const {
static EvtId EM = EvtPDL::getId("e-");
static EvtId MUM = EvtPDL::getId("mu-");
static EvtId TAUM = EvtPDL::getId("tau-");
static EvtId EP = EvtPDL::getId("e+");
static EvtId MUP = EvtPDL::getId("mu+");
static EvtId TAUP = EvtPDL::getId("tau+");
// The amplitude assumes B- -> p+ p- l- nubar ordering
// i.e. the B- decay is the "particle" mode
// B charge (x3) to check for antiparticle mode and baryon daughter ordering
EvtId BId = parent->getId();
int qB3 = EvtPDL::chg3(BId);
bool particleMode(true);
// Check if we have B+ instead (antiparticle mode)
if (qB3 > 0) {particleMode = false;}
// The baryon, charged lepton and neutrino daughters
// Make sure the first baryon has a charge opposite to the B, since the
// amplitude expressions assume this order
EvtParticle* baryon1 = parent->getDaug(0);
EvtParticle* baryon2 = parent->getDaug(1);
// Check if we need to reverse the baryon ordering
if (EvtPDL::chg3(baryon1->getId()) == qB3) {
baryon1 = parent->getDaug(1);
baryon2 = parent->getDaug(0);
}
EvtParticle* lepton = parent->getDaug(2);
EvtParticle* neutrino = parent->getDaug(3);
// 4-momenta in B rest frame
EvtVector4R p0(parent->mass(), 0.0, 0.0, 0.0);
EvtVector4R p1 = baryon1->getP4();
EvtVector4R p2 = baryon2->getP4();
EvtVector4R pSum = p1 + p2;
EvtVector4R p = p0 - pSum;
EvtVector4R pDiff = p2 - p1;
// Particle id's: retrieve 1st baryon again in case order has changed
EvtId Id1 = baryon1->getId();
EvtId Id2 = baryon2->getId();
EvtId l_num = lepton->getId();
EvtSpinType::spintype type1 = EvtPDL::getSpinType(Id1);
EvtSpinType::spintype type2 = EvtPDL::getSpinType(Id2);
// Parity of B+- = -1. Check if the parity of the dibaryon state is the same.
// If so, set the sameParity integer to 1. Otherwise set it to -1,
// i.e. the dibaryon system has opposite parity to the B meson
int J1 = EvtSpinType::getSpin2(type1);
int J2 = EvtSpinType::getSpin2(type2);
int sameParity = this->checkDibaryonParity(Id1, Id2, J1, J2);
// Number of chiral components of the baryon spinors
int N1 = EvtSpinType::getSpinStates(type1);
int N2 = EvtSpinType::getSpinStates(type2);
// Invariant mass of the two baryon particle system
double m_dibaryon = sqrt(pSum.mass2());
// Complex number i
EvtComplex I(0, 1);
// Lepton currents, same for all baryon options
EvtVector4C l1, l2;
if (l_num == EM || l_num == MUM || l_num == TAUM) {
// B-
l1 = EvtLeptonVACurrent(lepton->spParent(0), neutrino->spParentNeutrino());
l2 = EvtLeptonVACurrent(lepton->spParent(1), neutrino->spParentNeutrino());
} else if (l_num == EP || l_num == MUP || l_num == TAUP) {
// B+
l1 = EvtLeptonVACurrent(neutrino->spParentNeutrino(), lepton->spParent(0));
l2 = EvtLeptonVACurrent(neutrino->spParentNeutrino(), lepton->spParent(1));
} else {
- EvtGenReport(EVTGEN_ERROR,"EvtSLDiBaryonAmp") << "Wrong lepton number"<<endl;
+ EvtGenReport(EVTGEN_ERROR,"EvtSLDiBaryonAmp") << "Wrong lepton number"<< std::endl;
}
// Parity multiplication factors for the antiparticle mode hadronic currents
double sign1 = (particleMode == true) ? 1.0: 1.0*sameParity;
double sign2 = (particleMode == true) ? 1.0: 1.0*sameParity;
double sign3 = (particleMode == true) ? 1.0: -1.0*sameParity;
double sign4 = (particleMode == true) ? 1.0: -1.0*sameParity;
double sign5 = (particleMode == true) ? 1.0: -1.0*sameParity;
double sign6 = (particleMode == true) ? 1.0: 1.0*sameParity;
// Define form factor coeff variables
double f1(0.0), f2(0.0), f3(0.0), f4(0.0), f5(0.0);
double g1(0.0), g2(0.0), g3(0.0), g4(0.0), g5(0.0);
// Handle case of two Dirac-type daughters, e.g. p pbar, p N(1440)
if (type1 == EvtSpinType::DIRAC && type2 == EvtSpinType::DIRAC) {
// Form factor parameters
EvtBToDiBaryonlnupQCDFF::FormFactors FF;
ffModel_.getDiracFF(parent, m_dibaryon, FF);
if (sameParity == 1) {
f1 = FF.F1; f2 = FF.F2; f3 = FF.F3; f4 = FF.F4; f5 = FF.F5;
g1 = FF.G1; g2 = FF.G2; g3 = FF.G3; g4 = FF.G4; g5 = FF.G5;
} else {
// Swap coeffs: f_i <--> g_i
f1 = FF.G1; f2 = FF.G2; f3 = FF.G3; f4 = FF.G4; f5 = FF.G5;
g1 = FF.F1; g2 = FF.F2; g3 = FF.F3; g4 = FF.F4; g5 = FF.F5;
}
EvtVector4R gMtmTerms = g3*p + g4*pSum + g5*pDiff;
EvtVector4R fMtmTerms = f3*p + f4*pSum + f5*pDiff;
// First baryon
for (int i = 0; i < N1; i++) {
// Get the baryon spinor in the B rest frame. Also just use u and not i*u,
// since the imaginary constant factor is not needed for the probability
EvtDiracSpinor u = baryon1->spParent(i);
// Second baryon
for(int j = 0; j < N2; j++) {
EvtDiracSpinor v = baryon2->spParent(j);
// Hadronic currents
std::vector<EvtVector4C> hadCurrents = this->getHadronicCurrents(u, v, p, gMtmTerms,
fMtmTerms);
// First amplitude terms: 3rd current already has the form factor coeffs applied (gMtmTerms)
EvtVector4C amp1 = g1*sign1*hadCurrents[0] + g2*sign2*hadCurrents[1] + sign3*hadCurrents[2];
// Second amplitude terms: 6th current already has the form factor coeffs applied (fMtmTerms)
EvtVector4C amp2 = f1*sign4*hadCurrents[3] + f2*sign5*hadCurrents[4] + sign6*hadCurrents[5];
EvtVector4C hadAmp;
if (sameParity == 1) {
hadAmp = amp1 - amp2;
} else {
hadAmp = amp2 - amp1;
}
amp.vertex(i, j, 0, l1*hadAmp);
amp.vertex(i, j, 1, l2*hadAmp);
} // j
} // i
} else if ((type1 == EvtSpinType::DIRAC && type2 == EvtSpinType::RARITASCHWINGER) ||
(type1 == EvtSpinType::RARITASCHWINGER && type2 == EvtSpinType::DIRAC)) {
// Handle the case of one Dirac-type daughter (not including the leptons), e.g. one proton, and one
// Rarita-Schwinger-type (spin 3/2) daughter e.g. B -> p N(1520) l nu
// Form factor parameters
EvtBToDiBaryonlnupQCDFF::FormFactors FF;
ffModel_.getRaritaFF(parent, m_dibaryon, FF);
if (sameParity == 1) {
f1 = FF.F1; f2 = FF.F2; f3 = FF.F3; f4 = FF.F4; f5 = FF.F5;
g1 = FF.G1; g2 = FF.G2; g3 = FF.G3; g4 = FF.G4; g5 = FF.G5;
} else {
// Swap coeffs: f_i <--> g_i
f1 = FF.G1; f2 = FF.G2; f3 = FF.G3; f4 = FF.G4; f5 = FF.G5;
g1 = FF.F1; g2 = FF.F2; g3 = FF.F3; g4 = FF.F4; g5 = FF.F5;
}
EvtVector4R gMtmTerms = g3*p + g4*pSum + g5*pDiff;
EvtVector4R fMtmTerms = f3*p + f4*pSum + f5*pDiff;
if (type1 == EvtSpinType::DIRAC) {
// First baryon is Dirac
for (int i = 0; i < N1; i++) {
// Get the baryon spinor in the B rest frame. Also just use u and not i*u,
// since the imaginary constant factor is not needed for the probability
EvtDiracSpinor u = baryon1->spParent(i);
// Second baryon is RS-type
for (int j = 0; j < N2; j++) {
EvtRaritaSchwinger vRS = baryon2->spRSParent(j);
EvtDiracSpinor v;
for (int k = 0; k < 4; k++) {
v.set_spinor(k, vRS.getVector(k)*p0);
}
// Hadronic currents
std::vector<EvtVector4C> hadCurrents = this->getHadronicCurrents(u, v, p, gMtmTerms,
fMtmTerms);
// First amplitude terms: 3rd current already has the form factor coeffs applied (gMtmTerms)
EvtVector4C amp1 = g1*sign1*hadCurrents[0] + g2*sign2*hadCurrents[1] + sign3*hadCurrents[2];
// Second amplitude terms: 6th current already has the form factor coeffs applied (fMtmTerms)
EvtVector4C amp2 = f1*sign4*hadCurrents[3] + f2*sign5*hadCurrents[4] + sign6*hadCurrents[5];
EvtVector4C hadAmp;
if (sameParity == 1) {
hadAmp = amp1 - amp2;
} else {
hadAmp = amp2 - amp1;
}
amp.vertex(i, j, 0, l1*hadAmp);
amp.vertex(i, j, 1, l2*hadAmp);
} // j
} // i
} else if (type2 == EvtSpinType::DIRAC) {
// Same as before, but where the first daughter is RS-type, e.g. B -> N(1520) p l nu
// First baryon is RS
for (int i = 0; i < N1; i++) {
// Get the baryon spinor in the B rest frame
EvtRaritaSchwinger uRS = baryon1->spRSParent(i);
EvtDiracSpinor u;
for (int k = 0; k < 4; k++) {
u.set_spinor(k, uRS.getVector(k)*p0);
}
// Second baryon is Dirac
for (int j = 0; j < N2; j++) {
EvtDiracSpinor v = baryon2->spParent(j);
// Hadronic currents
std::vector<EvtVector4C> hadCurrents = this->getHadronicCurrents(u, v, p, gMtmTerms,
fMtmTerms);
// First amplitude terms: 3rd current already has the form factor coeffs applied (gMtmTerms)
EvtVector4C amp1 = g1*sign1*hadCurrents[0] + g2*sign2*hadCurrents[1] + sign3*hadCurrents[2];
// Second amplitude terms: 6th current already has the form factor coeffs applied (fMtmTerms)
EvtVector4C amp2 = f1*sign4*hadCurrents[3] + f2*sign5*hadCurrents[4] + sign6*hadCurrents[5];
EvtVector4C hadAmp;
if (sameParity == 1) {
hadAmp = amp1 - amp2;
} else {
hadAmp = amp2 - amp1;
}
amp.vertex(i, j, 0, l1*hadAmp);
amp.vertex(i, j, 1, l2*hadAmp);
} // j
} // i
} // RS daughter check
} // Have Dirac and RS baryons
}
std::vector<EvtVector4C> EvtSLDiBaryonAmp::getHadronicCurrents(const EvtDiracSpinor& u, const EvtDiracSpinor& v,
const EvtVector4R& p, const EvtVector4R& gMtmTerms,
const EvtVector4R& fMtmTerms) const {
// Store the currents used in Eq 6 (in order of appearance)
std::vector<EvtVector4C> currents;
currents.reserve(6);
EvtDiracSpinor g5v = EvtGammaMatrix::g5()*v;
// ubar*gamma*gamma5*v
EvtVector4C current1 = EvtLeptonACurrent(u, v);
currents.push_back(current1);
// ubar*sigma*p*gamma5*v -> [ubar*sigma*(gamma5*v)]*p
EvtTensor4C TC1 = EvtLeptonTCurrent(u, g5v);
// Contract tensor with 4-momentum
EvtVector4C current2 = TC1.cont2(p);
currents.push_back(current2);
// ubar*p*gamma5*v; "p" = p, pSum and pDiff
EvtComplex PC1 = EvtLeptonPCurrent(u, v);
EvtVector4C current3 = PC1*gMtmTerms;
currents.push_back(current3);
// ubar*gamma*v
EvtVector4C current4 = EvtLeptonVCurrent(u, v);
currents.push_back(current4);
// ubar*sigma*p*v -> [ubar*sigma*v]*p
EvtTensor4C TC2 = EvtLeptonTCurrent(u, v);
// Contract tensor with 4-momentum
EvtVector4C current5 = TC2.cont2(p);
currents.push_back(current5);
// ubar*p*v; "p" = p, pSum and pDiff
EvtComplex S1 = EvtLeptonSCurrent(u, v);
EvtVector4C current6 = S1*fMtmTerms;
currents.push_back(current6);
return currents;
}
int EvtSLDiBaryonAmp::checkDibaryonParity(const EvtId& id1, const EvtId& id2,
const int J1, const int J2) const {
// Get intrisic parities of the two baryons, then multiply by (-1)^|J1 - J2|.
// Note here that the J1 and J2 function arguments = 2*spin
int par1 = this->getBaryonParity(id1);
int par2 = this->getBaryonParity(id2);
// mult should be either 0 or 1 for allowed Dirac/RS baryon pairs
int mult = static_cast<int>(pow(-1.0, 0.5*fabs(J1 - J2)));
int dbParity = par1*par2*mult;
// Initialise result to 1, i.e. dibaryon parity = B parity = -1
int result(1);
// Dibaryon parity is opposite to the negative B parity
if (dbParity > 0) {result = -1;}
return result;
}
int EvtSLDiBaryonAmp::getBaryonParity(const EvtId& id) const {
// Initialise parity to +1
int parity(1);
// List of baryons with parity = +1
static EvtIdSet posParity("p+", "Delta+", "Lambda_c+", "anti-Lambda_c(2593)-",
"anti-Lambda_c(2625)-", "N(1440)+", "anti-N(1520)-",
"anti-N(1535)-", "anti-N(1650)-", "anti-N(1700)-",
"N(1710)+", "N(1720)+");
// If the baryon id is not in the list, set the parity to -1
if (!posParity.contains(id)) {parity = -1;}
return parity;
}
diff --git a/src/EvtGenModels/EvtSLN.cpp b/src/EvtGenModels/EvtSLN.cpp
index 5bb0b4b..b47c420 100644
--- a/src/EvtGenModels/EvtSLN.cpp
+++ b/src/EvtGenModels/EvtSLN.cpp
@@ -1,107 +1,105 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSLN.cc
//
// Description: B ==> tau + nu
//
// Modification history:
//
// RYD/SHY April 23, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtSLN.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
-EvtSLN::~EvtSLN() {}
-
std::string EvtSLN::getName(){
- return "SLN";
+ return "SLN";
}
EvtDecayBase* EvtSLN::clone(){
return new EvtSLN;
}
void EvtSLN::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(2);
-
+
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::NEUTRINO);
}
void EvtSLN::initProbMax(){
double M=EvtPDL::getMeanMass(getParentId());
double m=EvtPDL::getMeanMass(getDaug(0));
double probMax=8.0*(M*M-m*m)*m*m;
setProbMax(probMax);
}
void EvtSLN::decay(EvtParticle *p){
static EvtId EM=EvtPDL::getId("e-");
static EvtId MUM=EvtPDL::getId("mu-");
static EvtId TAUM=EvtPDL::getId("tau-");
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *l, *nul;
l= p->getDaug(0);
nul= p->getDaug(1);
EvtVector4R p4_p;
p4_p.set(p->mass(),0.0,0.0,0.0);
EvtVector4C l1, l2;
-
+
if (getDaug(0)==TAUM || getDaug(0)==MUM || getDaug(0)==EM) {
l1=EvtLeptonVACurrent(l->spParent(0),nul->spParentNeutrino());
l2=EvtLeptonVACurrent(l->spParent(1),nul->spParentNeutrino());
}
else{
l1=EvtLeptonVACurrent(nul->spParentNeutrino(),l->spParent(0));
l2=EvtLeptonVACurrent(nul->spParentNeutrino(),l->spParent(1));
}
vertex(0,p4_p*l1);
vertex(1,p4_p*l2);
-
+
return;
}
diff --git a/src/EvtGenModels/EvtSLPole.cpp b/src/EvtGenModels/EvtSLPole.cpp
index acdbdae..5fda329 100644
--- a/src/EvtGenModels/EvtSLPole.cpp
+++ b/src/EvtGenModels/EvtSLPole.cpp
@@ -1,103 +1,104 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSLPole.cc
//
// Description: Routine to implement semileptonic decays according
// to light cone sum rules
//
// Modification history:
//
// DJL April 23, 1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSLPole.hh"
#include "EvtGenModels/EvtSLPoleFF.hh"
#include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
#include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh"
#include <string>
-EvtSLPole::~EvtSLPole() {}
-
std::string EvtSLPole::getName(){
- return "SLPOLE";
+ return "SLPOLE";
}
EvtDecayBase* EvtSLPole::clone(){
return new EvtSLPole;
}
void EvtSLPole::decay( EvtParticle *p ){
p->initializePhaseSpace(getNDaug(),getDaugs(),_resetDaughterTree);
- calcamp->CalcAmp(p,_amp2,SLPoleffmodel);
- return;
+ calcamp->CalcAmp(p,_amp2,SLPoleffmodel.get());
}
void EvtSLPole::initProbMax(){
EvtId parnum,mesnum,lnum,nunum;
parnum = getParentId();
mesnum = getDaug(0);
lnum = getDaug(1);
nunum = getDaug(2);
double mymaxprob = calcamp->CalcMaxProb(parnum,mesnum,
- lnum,nunum,SLPoleffmodel);
+ lnum,nunum,SLPoleffmodel.get());
setProbMax(mymaxprob);
}
void EvtSLPole::init(){
-
+
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton neutrino
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
- SLPoleffmodel = new EvtSLPoleFF(getNArg(),getArgs());
-
- if ( mesontype==EvtSpinType::SCALAR ) {
- calcamp = new EvtSemiLeptonicScalarAmp;
- }
- if ( mesontype==EvtSpinType::VECTOR ) {
- calcamp = new EvtSemiLeptonicVectorAmp;
- }
- if ( mesontype==EvtSpinType::TENSOR ) {
- calcamp = new EvtSemiLeptonicTensorAmp;
+ SLPoleffmodel = std::make_unique<EvtSLPoleFF>(getNArg(),getArgs());
+
+ switch(mesontype) {
+ case EvtSpinType::SCALAR:
+ calcamp = std::make_unique<EvtSemiLeptonicScalarAmp>();
+ break;
+ case EvtSpinType::VECTOR:
+ calcamp = std::make_unique<EvtSemiLeptonicVectorAmp>();
+ break;
+ case EvtSpinType::TENSOR:
+ calcamp = std::make_unique<EvtSemiLeptonicTensorAmp>();
+ break;
+ default:
+ ;
}
_resetDaughterTree=false;
if ( getArgStr(getNArg()-1) == "true") _resetDaughterTree=true;
-
+
}
diff --git a/src/EvtGenModels/EvtSSDCP.cpp b/src/EvtGenModels/EvtSSDCP.cpp
index 876396b..3c326cd 100644
--- a/src/EvtGenModels/EvtSSDCP.cpp
+++ b/src/EvtGenModels/EvtSSDCP.cpp
@@ -1,366 +1,364 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2001 Caltech
//
// Module: EvtSSDCP.cc
//
// Description: See EvtSSDCP.hh
//
// Modification history:
//
// RYD August 12, 2001 Module created
// F. Sandrelli, Fernando M-V March 1, 2002 Debugged and added z parameter (CPT violation)
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenModels/EvtSSDCP.hh"
#include "EvtGenBase/EvtIncoherentMixing.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
using std::endl;
-EvtSSDCP::~EvtSSDCP() {}
-
std::string EvtSSDCP::getName(){
- return "SSD_CP";
+ return "SSD_CP";
}
EvtDecayBase* EvtSSDCP::clone(){
return new EvtSSDCP;
}
void EvtSSDCP::init(){
// check that there are 8 or 12 or 14 arguments
checkNArg(14,12,8);
checkNDaug(2);
EvtSpinType::spintype d1type=EvtPDL::getSpinType(getDaug(0));
EvtSpinType::spintype d2type=EvtPDL::getSpinType(getDaug(1));
// Check it is a B0 or B0s
if ( ( getParentId() != EvtPDL::getId( "B0" ) )
- && ( getParentId() != EvtPDL::getId( "anti-B0" ) )
+ && ( getParentId() != EvtPDL::getId( "anti-B0" ) )
&& ( getParentId() != EvtPDL::getId( "B_s0" ) )
&& ( getParentId() != EvtPDL::getId( "anti-B_s0" ) ) ) {
- EvtGenReport(EVTGEN_ERROR , "EvtGen" ) << "EvtSSDCP only decays B0 and B0s"
+ EvtGenReport(EVTGEN_ERROR , "EvtGen" ) << "EvtSSDCP only decays B0 and B0s"
<< std::endl ;
::abort() ;
}
-
+
if ( (!(d1type == EvtSpinType::SCALAR || d2type == EvtSpinType::SCALAR))||
(!((d2type==EvtSpinType::SCALAR)||(d2type==EvtSpinType::VECTOR)||(d2type==EvtSpinType::TENSOR)))||
(!((d1type==EvtSpinType::SCALAR)||(d1type==EvtSpinType::VECTOR)||(d1type==EvtSpinType::TENSOR)))
) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtSSDCP generator expected "
<< "one of the daugters to be a scalar, the other either scalar, vector, or tensor, found:"
<< EvtPDL::name(getDaug(0)).c_str()<<" and "<<EvtPDL::name(getDaug(1)).c_str()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
_dm=getArg(0)/EvtConst::c; //units of 1/mm
_dgog=getArg(1);
-
+
_qoverp=getArg(2)*EvtComplex(cos(getArg(3)),sin(getArg(3)));
_poverq=1.0/_qoverp;
_A_f=getArg(4)*EvtComplex(cos(getArg(5)),sin(getArg(5)));
_Abar_f=getArg(6)*EvtComplex(cos(getArg(7)),sin(getArg(7)));
-
+
if (getNArg()>=12){
_eigenstate=false;
_A_fbar=getArg(8)*EvtComplex(cos(getArg(9)),sin(getArg(9)));
_Abar_fbar=getArg(10)*EvtComplex(cos(getArg(11)),sin(getArg(11)));
}
else{
//I'm somewhat confused about this. For a CP eigenstate set the
//amplitudes to the same. For a non CP eigenstate CPT invariance
//is enforced. (ryd)
if (
(getDaug(0)==EvtPDL::chargeConj(getDaug(0))&&
getDaug(1)==EvtPDL::chargeConj(getDaug(1)))||
(getDaug(0)==EvtPDL::chargeConj(getDaug(1))&&
getDaug(1)==EvtPDL::chargeConj(getDaug(0)))){
_eigenstate=true;
}else{
_eigenstate=false;
_A_fbar=conj(_Abar_f);
_Abar_fbar=conj(_A_f);
}
}
- //FS: new check for z
+ //FS: new check for z
if (getNArg()==14){ //FS Set _z parameter if provided else set it 0
_z=EvtComplex(getArg(12),getArg(13));
}
else{
_z=EvtComplex(0.0,0.0);
}
// FS substituted next 2 lines...
//
// _gamma=EvtPDL::getctau(EvtPDL::getId("B0")); //units of 1/mm
//_dgamma=_gamma*0.5*_dgog;
//
// ...with:
- if ( ( getParentId() == EvtPDL::getId("B0") ) ||
+ if ( ( getParentId() == EvtPDL::getId("B0") ) ||
( getParentId() == EvtPDL::getId("anti-B0") ) ) {
_gamma=1./EvtPDL::getctau(EvtPDL::getId("B0")); //gamma/c (1/mm)
}
else{
_gamma=1./EvtPDL::getctau(EvtPDL::getId("B_s0")) ;
}
- _dgamma=_gamma*_dgog; //dgamma/c (1/mm)
+ _dgamma=_gamma*_dgog; //dgamma/c (1/mm)
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen") << "SSD_CP will generate CP/CPT violation:"
<< endl << endl
<< " " << EvtPDL::name(getParentId()).c_str() << " --> "
<< EvtPDL::name(getDaug(0)).c_str() << " + "
<< EvtPDL::name(getDaug(1)).c_str() << endl << endl
<< "using parameters:" << endl << endl
<< " delta(m) = " << _dm << " hbar/ps" << endl
<< "dGamma = " << _dgamma <<" ps-1" <<endl
- << " q/p = " << _qoverp << endl
- << " z = " << _z << endl
+ << " q/p = " << _qoverp << endl
+ << " z = " << _z << endl
<< " tau = " << 1./_gamma << " ps" << endl;
}
}
void EvtSSDCP::initProbMax() {
- double theProbMax =
+ double theProbMax =
abs(_A_f) * abs(_A_f) +
abs(_Abar_f) * abs(_Abar_f) +
abs(_A_fbar) * abs(_A_fbar) +
abs(_Abar_fbar) * abs(_Abar_fbar);
if (_eigenstate) theProbMax*=2;
EvtSpinType::spintype d2type=EvtPDL::getSpinType(getDaug(1));
EvtSpinType::spintype d1type=EvtPDL::getSpinType(getDaug(0));
if (d1type==EvtSpinType::TENSOR||d2type==EvtSpinType::TENSOR) theProbMax*=10;
setProbMax(theProbMax);
}
void EvtSSDCP::decay( EvtParticle *p){
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
-
+
static EvtId B0s = EvtPDL::getId("B_s0");
static EvtId B0Bs = EvtPDL::getId("anti-B_s0");
double t;
EvtId other_b;
EvtId daugs[2];
int flip=0;
if (!_eigenstate){
if (EvtRandom::Flat(0.0,1.0)<0.5) flip=1;
}
if (!flip) {
daugs[0]=getDaug(0);
daugs[1]=getDaug(1);
}
else{
daugs[0]=EvtPDL::chargeConj(getDaug(0));
daugs[1]=EvtPDL::chargeConj(getDaug(1));
}
EvtParticle *d;
p->initializePhaseSpace(2, daugs);
EvtComplex amp;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5); // t is c*Dt (mm)
// EvtIncoherentMixing::OtherB( p , t , other_b , 0.5 ) ;
-
+
//if (flip) t=-t;
//FS We assume DGamma=GammaLow-GammaHeavy and Dm=mHeavy-mLow
EvtComplex expH=exp(-EvtComplex(-0.25*_dgamma*t,0.5*_dm*t));
EvtComplex expL=exp(EvtComplex(-0.25*_dgamma*t,0.5*_dm*t));
//FS Definition of gp and gm
EvtComplex gp=0.5*(expL+expH);
EvtComplex gm=0.5*(expL-expH);
- //FS Calculation os sqrt(1-z^2)
+ //FS Calculation os sqrt(1-z^2)
EvtComplex sqz=sqrt(abs(1-_z*_z))*exp(EvtComplex(0,arg(1-_z*_z)/2));
-
+
//EvtComplex BB=0.5*(expL+expH); // <B0|B0(t)>
//EvtComplex barBB=_qoverp*0.5*(expL-expH); // <B0bar|B0(t)>
//EvtComplex BbarB=_poverq*0.5*(expL-expH); // <B0|B0bar(t)>
//EvtComplex barBbarB=BB; // <B0bar|B0bar(t)>
// FS redefinition of these guys... (See BAD #188 eq.35 for ref.)
// q/p is taken as in the BaBar Phys. Book (opposite sign wrt ref.)
EvtComplex BB=gp+_z*gm; // <B0|B0(t)>
EvtComplex barBB=sqz*_qoverp*gm; // <B0bar|B0(t)>
EvtComplex BbarB=sqz*_poverq*gm; // <B0|B0bar(t)>
EvtComplex barBbarB=gp-_z*gm; // <B0bar|B0bar(t)>
if (!flip){
if (other_b==B0B||other_b==B0Bs){
//at t=0 we have a B0
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "B0B"<<endl;
amp=BB*_A_f+barBB*_Abar_f;
//std::cout << "noflip B0B tag:"<<amp<<std::endl;
//amp=0.0;
}
if (other_b==B0||other_b==B0s){
//EvtGenReport(EVTGEN_INFO,"EvtGen") << "B0"<<endl;
amp=BbarB*_A_f+barBbarB*_Abar_f;
}
}else{
if (other_b==B0||other_b==B0s){
amp=BbarB*_A_fbar+barBbarB*_Abar_fbar;
//std::cout << "flip B0 tag:"<<amp<<std::endl;
//amp=0.0;
}
if (other_b==B0B||other_b==B0Bs){
amp=BB*_A_fbar+barBB*_Abar_fbar;
}
}
EvtVector4R p4_parent=p->getP4Restframe();
double m_parent=p4_parent.mass();
EvtSpinType::spintype d2type=EvtPDL::getSpinType(getDaug(1));
EvtVector4R momv;
EvtVector4R moms;
if (d2type==EvtSpinType::SCALAR){
d2type=EvtPDL::getSpinType(getDaug(0));
d= p->getDaug(0);
momv = d->getP4();
moms = p->getDaug(1)->getP4();
}
else{
d= p->getDaug(1);
momv = d->getP4();
moms = p->getDaug(0)->getP4();
}
if (d2type==EvtSpinType::SCALAR) {
vertex(amp);
}
-
+
if (d2type==EvtSpinType::VECTOR) {
-
+
double norm=momv.mass()/(momv.d3mag()*p->mass());
//std::cout << amp << " " << norm << " " << p4_parent << d->getP4()<< std::endl;
- // std::cout << EvtPDL::name(d->getId()) << " " << EvtPDL::name(p->getDaug(0)->getId()) <<
+ // std::cout << EvtPDL::name(d->getId()) << " " << EvtPDL::name(p->getDaug(0)->getId()) <<
// " 1and2 " << EvtPDL::name(p->getDaug(1)->getId()) << std::endl;
//std::cout << d->eps(0) << std::endl;
//std::cout << d->epsParent(0) << std::endl;
vertex(0,amp*norm*p4_parent*(d->epsParent(0)));
vertex(1,amp*norm*p4_parent*(d->epsParent(1)));
vertex(2,amp*norm*p4_parent*(d->epsParent(2)));
-
+
}
if (d2type==EvtSpinType::TENSOR) {
double norm=d->mass()*d->mass()/(m_parent*d->getP4().d3mag()*d->getP4().d3mag());
-
-
+
+
vertex(0,amp*norm*d->epsTensorParent(0).cont1(p4_parent)*p4_parent);
vertex(1,amp*norm*d->epsTensorParent(1).cont1(p4_parent)*p4_parent);
vertex(2,amp*norm*d->epsTensorParent(2).cont1(p4_parent)*p4_parent);
vertex(3,amp*norm*d->epsTensorParent(3).cont1(p4_parent)*p4_parent);
vertex(4,amp*norm*d->epsTensorParent(4).cont1(p4_parent)*p4_parent);
-
+
}
return ;
}
std::string EvtSSDCP::getParamName(int i) {
switch(i) {
case 0:
return "deltaM";
case 1:
return "deltaGammaOverGamma";
case 2:
return "qOverP";
case 3:
return "qOverPPhase";
case 4:
return "Af";
case 5:
return "AfPhase";
case 6:
return "Abarf";
case 7:
return "AbarfPhase";
case 8:
return "Afbar";
case 9:
return "AfbarPhase";
case 10:
return "Abarfbar";
case 11:
return "AbarfbarPhase";
case 12:
return "Z";
case 13:
return "ZPhase";
default:
return "";
}
}
std::string EvtSSDCP::getParamDefault(int i) {
switch(i) {
case 3:
return "0.0";
case 4:
return "1.0";
case 5:
return "0.0";
case 6:
return "1.0";
case 7:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSSD_DirectCP.cpp b/src/EvtGenModels/EvtSSD_DirectCP.cpp
index f0e42df..48a09c4 100644
--- a/src/EvtGenModels/EvtSSD_DirectCP.cpp
+++ b/src/EvtGenModels/EvtSSD_DirectCP.cpp
@@ -1,194 +1,191 @@
-// $Id: EvtSSD_DirectCP.cpp,v 1.2 2009-03-16 16:24:05 robbep Exp $
// Generation of direct CP violation in hadronic environment
// Patrick Robbe, LHCb, 08 Nov 2006
-//
+//
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenModels/EvtSSD_DirectCP.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSSD_DirectCP::~EvtSSD_DirectCP() {}
-
std::string EvtSSD_DirectCP::getName( ){
return "SSD_DirectCP" ;
}
EvtDecayBase* EvtSSD_DirectCP::clone(){
return new EvtSSD_DirectCP;
}
void EvtSSD_DirectCP::init(){
// check that there is 1 argument and 2-body decay
checkNArg(1);
checkNDaug(2);
EvtSpinType::spintype d1type=EvtPDL::getSpinType(getDaug(0));
EvtSpinType::spintype d2type=EvtPDL::getSpinType(getDaug(1));
-
+
if ( (!(d1type == EvtSpinType::SCALAR || d2type == EvtSpinType::SCALAR))||
(!((d2type==EvtSpinType::SCALAR)||(d2type==EvtSpinType::VECTOR)||
(d2type==EvtSpinType::TENSOR)))||
(!((d1type==EvtSpinType::SCALAR)||(d1type==EvtSpinType::VECTOR)||
(d1type==EvtSpinType::TENSOR)))
) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtSSD_DirectCP generator expected "
<< "one of the daugters to be a scalar, "
<< "the other either scalar, vector, or tensor, "
<< "found:"
<< EvtPDL::name(getDaug(0)).c_str()
<<" and "
<<EvtPDL::name(getDaug(1)).c_str()<<std::endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<std::endl;
::abort();
}
-
+
_acp = getArg( 0 ) ; // A_CP defined as A_CP = (BR(fbar)-BR(f))/(BR(fbar)+BR(f))
}
void EvtSSD_DirectCP::initProbMax() {
double theProbMax = 1. ;
EvtSpinType::spintype d2type=EvtPDL::getSpinType(getDaug(1));
EvtSpinType::spintype d1type=EvtPDL::getSpinType(getDaug(0));
if (d1type==EvtSpinType::TENSOR||d2type==EvtSpinType::TENSOR) theProbMax*=10;
setProbMax(theProbMax);
}
void EvtSSD_DirectCP::decay( EvtParticle *p) {
bool flip = false ;
EvtId daugs[2];
-
+
// decide it is B or Bbar:
if ( EvtRandom::Flat(0.,1.) < ( ( 1. - _acp ) / 2. ) ) {
// it is a B
if ( EvtPDL::getStdHep( getParentId() ) < 0 ) flip = true ;
} else {
// it is a Bbar
if ( EvtPDL::getStdHep( getParentId() ) > 0 ) flip = true ;
}
-
+
if ( flip ) {
if ( ( isB0Mixed( p ) ) || ( isBsMixed( p ) ) ) {
p->getParent()
->setId( EvtPDL::chargeConj( p->getParent()->getId() ) ) ;
p->setId( EvtPDL::chargeConj( p->getId() ) ) ;
}
else {
p->setId( EvtPDL::chargeConj( p->getId() ) ) ;
}
- }
+ }
if (!flip) {
daugs[0]=getDaug(0);
daugs[1]=getDaug(1);
}
else{
daugs[0]=EvtPDL::chargeConj(getDaug(0));
daugs[1]=EvtPDL::chargeConj(getDaug(1));
}
EvtParticle *d;
p->initializePhaseSpace(2, daugs);
EvtVector4R p4_parent=p->getP4Restframe();
double m_parent=p4_parent.mass();
EvtSpinType::spintype d2type=EvtPDL::getSpinType(getDaug(1));
EvtVector4R momv;
EvtVector4R moms;
if (d2type==EvtSpinType::SCALAR){
d2type=EvtPDL::getSpinType(getDaug(0));
d= p->getDaug(0);
momv = d->getP4();
moms = p->getDaug(1)->getP4();
}
else{
d= p->getDaug(1);
momv = d->getP4();
moms = p->getDaug(0)->getP4();
}
if (d2type==EvtSpinType::SCALAR) {
vertex(1.);
}
-
+
if (d2type==EvtSpinType::VECTOR) {
-
+
double norm=momv.mass()/(momv.d3mag()*p->mass());
-
+
vertex(0,norm*p4_parent*(d->epsParent(0)));
vertex(1,norm*p4_parent*(d->epsParent(1)));
vertex(2,norm*p4_parent*(d->epsParent(2)));
-
+
}
if (d2type==EvtSpinType::TENSOR) {
double norm=
d->mass()*d->mass()/(m_parent*d->getP4().d3mag()*d->getP4().d3mag());
-
-
+
+
vertex(0,norm*d->epsTensorParent(0).cont1(p4_parent)*p4_parent);
vertex(1,norm*d->epsTensorParent(1).cont1(p4_parent)*p4_parent);
vertex(2,norm*d->epsTensorParent(2).cont1(p4_parent)*p4_parent);
vertex(3,norm*d->epsTensorParent(3).cont1(p4_parent)*p4_parent);
- vertex(4,norm*d->epsTensorParent(4).cont1(p4_parent)*p4_parent);
+ vertex(4,norm*d->epsTensorParent(4).cont1(p4_parent)*p4_parent);
}
}
bool EvtSSD_DirectCP::isB0Mixed ( EvtParticle * p ) {
if ( ! ( p->getParent() ) ) return false ;
static EvtId B0 =EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
if ( ( p->getId() != B0 ) && ( p->getId() != B0B ) ) return false ;
if ( ( p->getParent()->getId() == B0 ) ||
( p->getParent()->getId() == B0B ) ) return true ;
return false ;
}
bool EvtSSD_DirectCP::isBsMixed ( EvtParticle * p ) {
if ( ! ( p->getParent() ) ) return false ;
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
if ( ( p->getId() != BS0 ) && ( p->getId() != BSB ) ) return false ;
if ( ( p->getParent()->getId() == BS0 ) ||
( p->getParent()->getId() == BSB ) ) return true ;
return false ;
}
std::string EvtSSD_DirectCP::getParamName(int i) {
switch(i) {
case 0:
return "ACP";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSSSCP.cpp b/src/EvtGenModels/EvtSSSCP.cpp
index 1e34b5e..1805d39 100644
--- a/src/EvtGenModels/EvtSSSCP.cpp
+++ b/src/EvtGenModels/EvtSSSCP.cpp
@@ -1,139 +1,137 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSSSCP.cc
//
// Description: Routine to decay scalar -> 2 scalars
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSSSCP.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSSSCP::~EvtSSSCP() {}
-
std::string EvtSSSCP::getName(){
- return "SSS_CP";
+ return "SSS_CP";
}
EvtDecayBase* EvtSSSCP::clone(){
return new EvtSSSCP;
}
void EvtSSSCP::init(){
// check that there are 7 arguments
checkNArg(7);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtSSSCP::initProbMax(){
//This is probably not quite right, but it should do as a start...
//Anders
setProbMax(2*(getArg(3)*getArg(3)+getArg(5)*getArg(5)));
}
void EvtSSSCP::decay( EvtParticle *p ){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtComplex amp;
EvtComplex A,Abar;
-
+
A=EvtComplex(getArg(3)*cos(getArg(4)),getArg(3)*sin(getArg(4)));
Abar=EvtComplex(getArg(5)*cos(getArg(6)),getArg(5)*sin(getArg(6)));
-
+
if (other_b==B0B){
amp=A*cos(getArg(1)*t/(2*EvtConst::c))+
EvtComplex(cos(-2.0*getArg(0)),sin(-2.0*getArg(0)))*
getArg(2)*EvtComplex(0.0,1.0)*Abar*sin(getArg(1)*t/(2*EvtConst::c));
}
if (other_b==B0){
amp=A*EvtComplex(cos(2.0*getArg(0)),sin(2.0*getArg(0)))*
- EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
+ EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
getArg(2)*Abar*cos(getArg(1)*t/(2*EvtConst::c));
}
-
+
vertex(amp);
-
+
return ;
}
std::string EvtSSSCP::getParamName(int i) {
switch(i) {
case 0:
return "weakPhase";
case 1:
return "deltaM";
case 2:
return "finalStateCP";
case 3:
return "Af";
case 4:
return "AfPhase";
case 5:
return "Abarf";
case 6:
return "AbarfPhase";
default:
return "";
}
}
std::string EvtSSSCP::getParamDefault(int i) {
switch(i) {
case 3:
return "1.0";
case 4:
return "0.0";
case 5:
return "1.0";
case 6:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSSSCPT.cpp b/src/EvtGenModels/EvtSSSCPT.cpp
index 51249ee..1ff02a9 100644
--- a/src/EvtGenModels/EvtSSSCPT.cpp
+++ b/src/EvtGenModels/EvtSSSCPT.cpp
@@ -1,99 +1,97 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSSSCPT.cc
//
// Description: Routine to decay scalar -> 2 scalars (CPT)
//
// Modification history:
//
// SHY April 28, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSSSCPT.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSSSCPT::~EvtSSSCPT() {}
-
std::string EvtSSSCPT::getName(){
- return "SSS_CPT";
+ return "SSS_CPT";
}
EvtDecayBase* EvtSSSCPT::clone(){
return new EvtSSSCPT;
}
void EvtSSSCPT::init(){
// check that there are 8 arguments
checkNArg(8);
checkNDaug(2);
}
void EvtSSSCPT::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtComplex amp;
EvtComplex A,Abar;
EvtComplex P,Q,D,Im;
P=EvtComplex(cos(-getArg(0)),sin(-getArg(0)));
Q=EvtComplex(cos(getArg(0)),sin(getArg(0)));
D=EvtComplex(getArg(6)*cos(getArg(7)),getArg(6)*sin(getArg(7)));
Im=EvtComplex(0.0,1.0);
-
+
A=EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
Abar=EvtComplex(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5)));
-
+
if (other_b==B0B){
amp=A*cos(getArg(1)*t/(2*EvtConst::c))+
Im*sin(getArg(1)*t/(2*EvtConst::c))*
(Q/P*A + 2.0*D*Abar);
}
if (other_b==B0){
amp=Abar*cos(getArg(1)*t/(2*EvtConst::c))+
Im*sin(getArg(1)*t/(2*EvtConst::c))*
(P/Q*A - 2.0*D*Abar);
}
-
+
vertex(amp);
-
+
return ;
}
diff --git a/src/EvtGenModels/EvtSSSCPpng.cpp b/src/EvtGenModels/EvtSSSCPpng.cpp
index acf57f0..89c719b 100644
--- a/src/EvtGenModels/EvtSSSCPpng.cpp
+++ b/src/EvtGenModels/EvtSSSCPpng.cpp
@@ -1,158 +1,156 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSSSCPpng.cc
//
-// Description: Routine to decay B -> 2 scalars taking into account penguin
+// Description: Routine to decay B -> 2 scalars taking into account penguin
// contributions (assuming single quark dominance for penguins)
//
// Modification history:
//
// RYD/NK December 3, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSSSCPpng.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSSSCPpng::~EvtSSSCPpng() {}
-
std::string EvtSSSCPpng::getName(){
- return "SSS_CP_PNG";
+ return "SSS_CP_PNG";
}
EvtDecayBase* EvtSSSCPpng::clone(){
return new EvtSSSCPpng;
}
void EvtSSSCPpng::init(){
// check that there are 7 arguments
checkNArg(7);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtSSSCPpng::initProbMax(){
-
+
setProbMax(getArg(5)*getArg(5)*(1 + getArg(6)*getArg(6)));
}
void EvtSSSCPpng::decay( EvtParticle *p ){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
-
+
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtComplex amp;
EvtComplex A,Abar;
//EvtComplex ACC, AbarCC;
// assume single (top) quark dominance for the penguin.
// old: a0=alpha, a1=dm, a2=1, a3=1, a4=0, a5=1, a6=0
// new: a0=beta, a1=gamma, a2=delta, a3=dm, a4=1, a5=1=A_{T}, a6=A_{P}/A_{T}
-// e.g., for B -> pi pi
+// e.g., for B -> pi pi
// A_{T} = |V_{ub} V_{ud}| T
// A_{P} = |V_{tb} V_{td}| P
-// P and T are purely hadronic matrix elements
+// P and T are purely hadronic matrix elements
// P/T = 0.055, A_{P}/A_{T} = 0.2 (see Marrocchesi and Paver, hep-ph/9702353)
// A = A_{T}( exp(i(beta+gamma)) + (A_{P}/A_{T}) exp(i(delta))
-// A_bar = same, except for the sign of the weak phases
+// A_bar = same, except for the sign of the weak phases
// here, delta = delta_{p}-delta_{t} (rel. strong phase)
A=getArg(5)*(EvtComplex(cos(-getArg(0)-getArg(1)),sin(-getArg(0)-getArg(1)))+getArg(6)*EvtComplex(cos(getArg(2)),sin(getArg(2))));
-
+
Abar=getArg(5)*(EvtComplex(cos(getArg(0)+getArg(1)),sin(getArg(0)+getArg(1)))+getArg(6)*EvtComplex(cos(getArg(2)),sin(getArg(2))));
-
+
// get fraction of B0 tags with these amplitudes
//double xd = 0.65;
double ratio = 1/(1 + 0.65*0.65);
-
+
EvtComplex rf, rbarf;
rf = EvtComplex(cos(2.0*getArg(0)),sin(2.0*getArg(0)))*Abar/A;
rbarf = EvtComplex(1.0)/rf;
double A2 = real(A)*real(A) + imag(A)*imag(A);
double Abar2 = real(Abar)*real(Abar) + imag(Abar)*imag(Abar);
-
- double rf2 = real(rf)*real(rf) + imag(rf)*imag(rf);
- double rbarf2 = real(rbarf)*real(rbarf) + imag(rbarf)*imag(rbarf);
+
+ double rf2 = real(rf)*real(rf) + imag(rf)*imag(rf);
+ double rbarf2 = real(rbarf)*real(rbarf) + imag(rbarf)*imag(rbarf);
//fraction of B0 _tags_
- double fract =(Abar2*(1+ rbarf2 + (1 - rbarf2)*ratio))/(Abar2*(1+ rbarf2 + (1 - rbarf2)*ratio) + A2*(1+ rf2 + (1 - rf2)*ratio));
-
+ double fract =(Abar2*(1+ rbarf2 + (1 - rbarf2)*ratio))/(Abar2*(1+ rbarf2 + (1 - rbarf2)*ratio) + A2*(1+ rf2 + (1 - rf2)*ratio));
+
EvtCPUtil::getInstance()->OtherB(p,t,other_b,fract);
//this method works just as well -- NK
-//randomly generate the tag (B0 or B0B)
+//randomly generate the tag (B0 or B0B)
// double tag = EvtRandom::Flat(0.0,1.0);
// if (tag < 0.5) {
//
// EvtCPUtil::OtherB(p,t,other_b,1.0);
// other_b = B0;
// }
// else {
-//
+//
// EvtCPUtil::OtherB(p,t,other_b,0.0);
// other_b = B0B;
// }
//mixing angle = -beta
if (other_b==B0B){
amp=A*cos(getArg(3)*t/(2*EvtConst::c))+
EvtComplex(cos(2.0*getArg(0)),sin(2.0*getArg(0)))*
getArg(4)*EvtComplex(0.0,1.0)*Abar*sin(getArg(3)*t/(2*EvtConst::c));
}
if (other_b==B0){
amp=A*EvtComplex(cos(-2.0*getArg(0)),sin(-2.0*getArg(0)))*
- EvtComplex(0.0,1.0)*sin(getArg(3)*t/(2*EvtConst::c))+
+ EvtComplex(0.0,1.0)*sin(getArg(3)*t/(2*EvtConst::c))+
getArg(4)*Abar*cos(getArg(3)*t/(2*EvtConst::c));
}
vertex(amp);
return ;
}
diff --git a/src/EvtGenModels/EvtSTS.cpp b/src/EvtGenModels/EvtSTS.cpp
index 7b01340..0a760b6 100644
--- a/src/EvtGenModels/EvtSTS.cpp
+++ b/src/EvtGenModels/EvtSTS.cpp
@@ -1,93 +1,91 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSTS.cc
//
// Description: Routine to decay scalar -> tensor scalar.
//
//
// Modification history:
//
// RYD Aug 21, 1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSTS.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
-EvtSTS::~EvtSTS() {}
-
std::string EvtSTS::getName(){
- return "STS";
+ return "STS";
}
EvtDecayBase* EvtSTS::clone(){
return new EvtSTS;
}
void EvtSTS::initProbMax(){
setProbMax(20.0);
}
void EvtSTS::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(2);
-
+
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::TENSOR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtSTS::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle* t1=p->getDaug(0);
EvtVector4R momt = t1->getP4();
EvtVector4R moms = p->getDaug(1)->getP4();
double masst = t1->mass();
EvtVector4R p4_parent=momt+moms;
double m_parent=p4_parent.mass();
double norm=masst*masst/(m_parent*momt.d3mag()*momt.d3mag());
-
+
vertex(0,norm*t1->epsTensorParent(0).cont1(p4_parent)*p4_parent);
vertex(1,norm*t1->epsTensorParent(1).cont1(p4_parent)*p4_parent);
vertex(2,norm*t1->epsTensorParent(2).cont1(p4_parent)*p4_parent);
vertex(3,norm*t1->epsTensorParent(3).cont1(p4_parent)*p4_parent);
vertex(4,norm*t1->epsTensorParent(4).cont1(p4_parent)*p4_parent);
return ;
}
diff --git a/src/EvtGenModels/EvtSTSCP.cpp b/src/EvtGenModels/EvtSTSCP.cpp
index 12ac721..c42858a 100644
--- a/src/EvtGenModels/EvtSTSCP.cpp
+++ b/src/EvtGenModels/EvtSTSCP.cpp
@@ -1,161 +1,159 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSTSCP.cc
//
// Description: Routine to decay scalar -> tensor scalar
// and has CP violation.
//
// Modification history:
//
// RYD June 19, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSTSCP.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSTSCP::~EvtSTSCP() {}
-
std::string EvtSTSCP::getName(){
- return "STS_CP";
+ return "STS_CP";
}
void EvtSTSCP::initProbMax(){
//This is probably not quite right, but it should do as a start...
//Anders
setProbMax(20*(getArg(3)*getArg(3)+getArg(5)*getArg(5)));
}
EvtDecayBase* EvtSTSCP::clone(){
return new EvtSTSCP;
}
void EvtSTSCP::init(){
// check that there are 7 arguments
checkNArg(7);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::TENSOR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtSTSCP::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtParticle *t1;
p->initializePhaseSpace(getNDaug(),getDaugs());
t1 = p->getDaug(0);
EvtVector4R momt = t1->getP4();
EvtVector4R moms = p->getDaug(1)->getP4();
double masst = t1->mass();
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
double m_parent = p->mass();
EvtComplex amp;
EvtComplex A,Abar;
A=EvtComplex(getArg(3)*cos(getArg(4)),getArg(3)*sin(getArg(4)));
Abar=EvtComplex(getArg(5)*cos(getArg(6)),getArg(5)*sin(getArg(6)));
if (other_b==B0B){
amp=A*cos(getArg(1)*t/(2*EvtConst::c))+
EvtComplex(cos(-2.0*getArg(0)),sin(-2.0*getArg(0)))*
getArg(2)*EvtComplex(0.0,1.0)*Abar*sin(getArg(1)*t/(2*EvtConst::c));
}
if (other_b==B0){
amp=A*EvtComplex(cos(2.0*getArg(0)),sin(2.0*getArg(0)))*
- EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
+ EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
getArg(2)*Abar*cos(getArg(1)*t/(2*EvtConst::c));
}
EvtVector4R p4_parent;
p4_parent=momt+moms;
double norm=masst*masst/(m_parent*momt.d3mag()*momt.d3mag());
-
-
+
+
vertex(0,amp*norm*t1->epsTensorParent(0).cont1(p4_parent)*p4_parent);
vertex(1,amp*norm*t1->epsTensorParent(1).cont1(p4_parent)*p4_parent);
vertex(2,amp*norm*t1->epsTensorParent(2).cont1(p4_parent)*p4_parent);
vertex(3,amp*norm*t1->epsTensorParent(3).cont1(p4_parent)*p4_parent);
vertex(4,amp*norm*t1->epsTensorParent(4).cont1(p4_parent)*p4_parent);
return ;
}
std::string EvtSTSCP::getParamName(int i) {
switch(i) {
case 0:
return "weakPhase";
case 1:
return "deltaM";
case 2:
return "finalStateCP";
case 3:
return "Af";
case 4:
return "AfPhase";
case 5:
return "Abarf";
case 6:
return "AbarfPhase";
default:
return "";
}
}
std::string EvtSTSCP::getParamDefault(int i) {
switch(i) {
case 3:
return "1.0";
case 4:
return "0.0";
case 5:
return "1.0";
case 6:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSVP.cpp b/src/EvtGenModels/EvtSVP.cpp
index 345a8fe..77da156 100644
--- a/src/EvtGenModels/EvtSVP.cpp
+++ b/src/EvtGenModels/EvtSVP.cpp
@@ -1,183 +1,182 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSVP.cc
//
// Description: Routine to implement radiative decay
// chi_c0 -> psi gamma
// chi_c0 -> psi ell ell
//
// Modification history:
// AVL Jul 6, 2012: chi_c0 -> gamma psi mode created
// AVL Oct 10, 2017: chi_c0 -> psi mu mu mode created
// AVL Nov 9 2017: models joined
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenModels/EvtSVP.hh"
#include <cmath>
-EvtSVP::~EvtSVP() {}
-
std::string EvtSVP::getName()
{
return "SVP";
}
EvtDecayBase* EvtSVP::clone()
{
return new EvtSVP;
}
void EvtSVP::decay_2body(EvtParticle* root)
{
root->initializePhaseSpace(getNDaug(), getDaugs());
// Photon is the first particle and psi is the second
// to ensure decay file backwards compatibility
EvtParticle* photon = root->getDaug(0);
EvtParticle* psi = root->getDaug(1);
EvtVector4R p = psi->getP4(), // psi momentum
k = photon->getP4(); // Photon momentum
bool validAmp(true);
double kp = k*p;
if (fabs(kp) < 1e-10) {validAmp = false;}
for (int iPsi = 0; iPsi < 3; iPsi++) {
EvtVector4C epsPsi = psi->epsParent(iPsi).conj();
for (int iGamma = 0; iGamma < 2; iGamma++) {
EvtVector4C epsGamma = photon->epsParentPhoton(iGamma).conj();
EvtComplex amp(0.0, 0.0);
if (validAmp) {
amp = (epsPsi*epsGamma) - (epsPsi*k)*(epsGamma*p)/kp;
}
vertex(iGamma, iPsi, amp);
}
}
}
void EvtSVP::decay_3body(EvtParticle* root)
{
root->initializePhaseSpace(getNDaug(), getDaugs());
EvtParticle* psi = root->getDaug(0);
EvtParticle* mup = root->getDaug(1);
EvtParticle* mum = root->getDaug(2);
EvtVector4R p = psi->getP4(), // psi momentum
k1 = mup->getP4(), // mu+ momentum
k2 = mum->getP4(), // mu- momentum
k = k1 + k2; // photon momentum
double kSq = k*k;
// The decay amplitude needs four-vector products. Make sure we have
// valid values for these, otherwise set the amplitude to zero.
// We need to set _amp2 (EvtDecayAmp) via the vertex() function call
// even when the amplitude is zero, otherwise the amplitude from the
// previous accepted event will be used, potentially leading to biases
// Selection on k^2 to avoid inefficient generation for the electron modes
bool validAmp(true);
if (kSq < 1e-3) {validAmp = false;}
// Extra checks to make sure we are not dividing by zero
double kp = k*p;
if (fabs(kp) < 1e-10) {validAmp = false;}
double dSq = delta*delta;
double dSqDenom = dSq - kSq;
if (fabs(dSqDenom) < 1e-10) {validAmp = false;}
double factor(1.0);
if (validAmp) {factor = dSq/(dSqDenom*kSq);}
// Calculate the amplitude terms, looping over the psi and lepton states
for (int iPsi = 0; iPsi < 3; iPsi++) {
EvtVector4C epsPsi = psi->epsParent(iPsi).conj();
for (int iMplus = 0; iMplus < 2; iMplus++) {
EvtDiracSpinor spMplus = mup->spParent(iMplus);
for (int iMminus = 0; iMminus < 2; iMminus++) {
EvtDiracSpinor spMminus = mum->spParent(iMminus);
EvtVector4C epsGamma = EvtLeptonVCurrent(spMplus, spMminus);
EvtComplex amp(0.0, 0.0);
if (validAmp) {
amp = (epsPsi*epsGamma) - (epsPsi*k)*(epsGamma*p)/kp;
}
amp *= factor;
// Set the amplitude matrix element using the vertex function
vertex(iPsi, iMplus, iMminus, amp);
}
}
}
}
void EvtSVP::decay( EvtParticle *root )
{
if (getNDaug() == 2) {
decay_2body(root);
} else if (getNDaug() == 3) {
decay_3body(root);
}
}
void EvtSVP::init()
{
checkSpinParent(EvtSpinType::SCALAR);
if (getNDaug() == 2) { // chi -> gamma psi radiative mode
checkNArg(0);
checkNDaug(2);
checkSpinDaughter(0, EvtSpinType::PHOTON);
checkSpinDaughter(1, EvtSpinType::VECTOR);
} else if (getNDaug() == 3) { // chi -> psi lepton lepton
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0, EvtSpinType::VECTOR);
checkSpinDaughter(1, EvtSpinType::DIRAC);
checkSpinDaughter(2, EvtSpinType::DIRAC);
checkNArg(1);
delta = getArg(0);
}
}
void EvtSVP::initProbMax()
{
if (getNDaug() == 2) {
setProbMax(2.2);
} else if (getNDaug() == 3) {
const EvtId daugId = getDaug(1);
if (daugId == EvtPDL::getId("mu+") || daugId == EvtPDL::getId("mu-")) {
setProbMax(130.0);
} else if (daugId == EvtPDL::getId("e+") || daugId == EvtPDL::getId("e-")) {
setProbMax(4100.0);
}
}
}
+
diff --git a/src/EvtGenModels/EvtSVPCP.cpp b/src/EvtGenModels/EvtSVPCP.cpp
index 021f7a8..fdbb848 100644
--- a/src/EvtGenModels/EvtSVPCP.cpp
+++ b/src/EvtGenModels/EvtSVPCP.cpp
@@ -1,198 +1,196 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
//
// Module: EvtSVPCP.cc
//
// Description: Routine to decay scalar -> vectors+photon
// including CP violation effects
//
// Modification history:
//
// Maurizio pierini Nov 11, 2003 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtTensor3C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenModels/EvtSVPCP.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSVPCP::~EvtSVPCP() {}
-
std::string EvtSVPCP::getName(){
- return "SVP_CP";
+ return "SVP_CP";
}
EvtDecayBase* EvtSVPCP::clone(){
return new EvtSVPCP;
}
void EvtSVPCP::initProbMax(){
setProbMax(2*(getArg(3)*getArg(3)+getArg(5)*getArg(5)));
}
void EvtSVPCP::init(){
// check that there are 7 arguments
checkNArg(7);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::PHOTON);
}
void EvtSVPCP::decay( EvtParticle *p ){
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
EvtComplex G1P,G1M, G1_T_even, G1_T_odd;
double norm = getArg(3)*getArg(3)+getArg(5)*getArg(5);
-
+
G1P=EvtComplex(getArg(3)*cos(getArg(4))/norm,getArg(3)*sin(getArg(4))/norm);
G1M=EvtComplex(getArg(5)*cos(getArg(6))/norm,getArg(5)*sin(getArg(6))/norm);
G1_T_even = (G1P+G1M)/sqrt(2.0);
G1_T_odd = (G1P-G1M)/sqrt(2.0);
-
+
EvtComplex lambda_km =EvtComplex(cos(-2*getArg(0)),sin(-2*getArg(0)));
-
+
double cdmt=cos(getArg(1)*t/(2*EvtConst::c));
double sdmt=sin(getArg(1)*t/(2*EvtConst::c));
EvtComplex cG1_T_even,cG1_T_odd;
-
+
if (other_b==B0B){
cG1_T_even = G1_T_even*(cdmt+lambda_km*EvtComplex(0.0,getArg(2)*sdmt));
cG1_T_odd = G1_T_odd*(cdmt-lambda_km*EvtComplex(0.0,getArg(2)*sdmt));
}
if (other_b==B0){
cG1_T_even = G1_T_even*(cdmt+(1.0/lambda_km)*EvtComplex(0.0,getArg(2)*sdmt));
cG1_T_odd =-G1_T_odd*(cdmt-(1.0/lambda_km)*EvtComplex(0.0,getArg(2)*sdmt));
}
-
+
EvtComplex hp, hm, h0;
// This part is adopted from EvtSVVHel and since there is
- // a photon that can not have helicity 0 this is put in by
+ // a photon that can not have helicity 0 this is put in by
// setting the h0 amplitude to 0.
- hm=(cG1_T_even-cG1_T_odd)/sqrt(2.0);
- hp=(cG1_T_even+cG1_T_odd)/sqrt(2.0);
+ hm=(cG1_T_even-cG1_T_odd)/sqrt(2.0);
+ hp=(cG1_T_even+cG1_T_odd)/sqrt(2.0);
h0=EvtComplex(0.0,0.0);
EvtParticle *v1,*ph;
p->initializePhaseSpace(getNDaug(),getDaugs());
v1 = p->getDaug(0);
ph = p->getDaug(1);
EvtVector4R momv1 = v1->getP4();
EvtVector4R momph = ph->getP4();
EvtTensor4C d,g;
g.setdiag(1.0,-1.0,-1.0,-1.0);
EvtVector4R v,vp;
v=momv1/momv1.d3mag();
- vp=(momv1+momph)/(momv1+momph).mass();
+ vp=(momv1+momph)/(momv1+momph).mass();
d=((1.0/sqrt(3.0))*(h0-(hp+hm))*(-1.0/sqrt(3.0)))*g+
((1.0/sqrt(2.0))*(hp-hm)*EvtComplex(0.0,1.0)*(sqrt(1.0/2.0)))*dual(EvtGenFunctions::directProd(v,vp))+
(sqrt(2.0/3.0)*(h0+0.5*(hp+hm))*sqrt(3.0/2.0))*(EvtGenFunctions::directProd(v,v)+(1.0/3.0)*g);
- EvtVector4C ep0,ep1,ep2;
-
+ EvtVector4C ep0,ep1,ep2;
+
ep0=d.cont1(v1->eps(0).conj());
ep1=d.cont1(v1->eps(1).conj());
ep2=d.cont1(v1->eps(2).conj());
EvtVector4C ep20,ep21,ep22;
- ep20=ph->epsParentPhoton(0).conj();
- ep21=ph->epsParentPhoton(1).conj();
+ ep20=ph->epsParentPhoton(0).conj();
+ ep21=ph->epsParentPhoton(1).conj();
vertex(0,0,ep0*ep20);
vertex(0,1,ep0*ep21);
-
+
vertex(1,0,ep1*ep20);
vertex(1,1,ep1*ep21);
-
+
vertex(2,0,ep2*ep20);
vertex(2,1,ep2*ep21);
-
+
return ;
}
std::string EvtSVPCP::getParamName(int i) {
switch(i) {
case 0:
return "weakPhase";
case 1:
return "deltaM";
case 2:
return "finalStateCP";
case 3:
return "Af";
case 4:
return "AfPhase";
case 5:
return "Abarf";
case 6:
return "AbarfPhase";
default:
return "";
}
}
std::string EvtSVPCP::getParamDefault(int i) {
switch(i) {
case 3:
return "1.0";
case 4:
return "0.0";
case 5:
return "1.0";
case 6:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSVPHelAmp.cpp b/src/EvtGenModels/EvtSVPHelAmp.cpp
index e386f15..06aefea 100644
--- a/src/EvtGenModels/EvtSVPHelAmp.cpp
+++ b/src/EvtGenModels/EvtSVPHelAmp.cpp
@@ -1,139 +1,137 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSVPHelAmp.cc
//
// Description: Routine to decay scalar -> vector + photon
// by specifying the helicity amplitudes
//
// Modification history:
//
// RYD July 26, 1997 Module created
// Clara Remon (Clara.Remon@ific.uv.es) September 24, 2015 Function SVPHel created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector3C.hh"
#include "EvtGenBase/EvtVector3R.hh"
#include "EvtGenBase/EvtTensor3C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSVPHelAmp.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
-EvtSVPHelAmp::~EvtSVPHelAmp() {}
-
std::string EvtSVPHelAmp::getName(){
- return "SVP_HELAMP";
+ return "SVP_HELAMP";
}
EvtDecayBase* EvtSVPHelAmp::clone(){
return new EvtSVPHelAmp;
}
void EvtSVPHelAmp::initProbMax(){
setProbMax(2.0*(getArg(0)*getArg(0)+getArg(2)*getArg(2)));
}
void EvtSVPHelAmp::init(){
// check that there are 4 arguments
checkNArg(4);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::PHOTON);
}
void EvtSVPHelAmp::decay( EvtParticle *p){
SVPHel(p,_amp2,getDaug(0),getDaug(1),
EvtComplex(getArg(0)*cos(getArg(1)),getArg(0)*sin(getArg(1))),
EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3))));
-
+
return ;
}
void EvtSVPHelAmp::SVPHel(EvtParticle *parent,EvtAmp& amp,EvtId n_v1,EvtId n_v2,
const EvtComplex& hp,const EvtComplex& hm){
// Routine to decay a vector into a vector and scalar. Started
// by ryd on Oct 17, 1996.
// This routine is adopted from EvtSVVHel and since there is
- // a photon that can not have helicity 0 this is put in by
+ // a photon that can not have helicity 0 this is put in by
// setting the h0 amplitude to 0.
EvtComplex h0=EvtComplex(0.0,0.0);
-
+
int tndaug = 2;
EvtId tdaug[2];
tdaug[0] = n_v1;
tdaug[1] = n_v2;
parent->initializePhaseSpace(tndaug,tdaug);
EvtParticle *v1,*v2;
v1 = parent->getDaug(0);
v2 = parent->getDaug(1);
EvtVector4R momv1 = v1->getP4();
EvtVector3R v1dir(momv1.get(1),momv1.get(2),momv1.get(3));
v1dir=v1dir/v1dir.d3mag();
EvtComplex a=-0.5*(hp+hm);
EvtComplex b=EvtComplex(0.0,0.5)*(hp-hm);
EvtComplex c=h0+0.5*(hp+hm);
EvtTensor3C M=a*EvtTensor3C::id()+
b*EvtGenFunctions::eps(v1dir)+
c*EvtGenFunctions::directProd(v1dir,v1dir);
EvtVector3C t0=M.cont1(v1->eps(0).vec().conj());
EvtVector3C t1=M.cont1(v1->eps(1).vec().conj());
EvtVector3C t2=M.cont1(v1->eps(2).vec().conj());
-
+
EvtVector3C eps0=v2->epsParentPhoton(0).vec().conj();
EvtVector3C eps1=v2->epsParentPhoton(1).vec().conj();
amp.vertex(0,0,t0*eps0);
amp.vertex(0,1,t0*eps1);
//amp.vertex(0,2,t1*eps0*0.);
amp.vertex(1,0,t1*eps0);
amp.vertex(1,1,t1*eps1);
//amp.vertex(1,2,t1*eps0*0.);
amp.vertex(2,0,t2*eps0);
amp.vertex(2,1,t2*eps1);
//amp.vertex(2,2,t1*eps0*0.);
return ;
}
diff --git a/src/EvtGenModels/EvtSVPHelCPMix.cpp b/src/EvtGenModels/EvtSVPHelCPMix.cpp
index 18df748..c40d475 100644
--- a/src/EvtGenModels/EvtSVPHelCPMix.cpp
+++ b/src/EvtGenModels/EvtSVPHelCPMix.cpp
@@ -1,150 +1,148 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1999 Caltech, UCSB
//
// Module: EvtSVPHelCPMix.cpp
//
// Description: The decay of a scalar Bs meson to a vector particle and a photon is
// performed with CP violation and different widths for
// the heavy and light states (DeltaGamma_s =! 0). E.g. Bs->phi gamma.
//
// Modification history:
//
// Clara Remon (Clara.Remon@ific.uv.es) September 24, 2015 Module EvtSVPHelCPMix created
//
//------------------------------------------------------------------------
//
// Model input arguments:
// |H+| arg|H+| |H-| arg|H-| beta_s
// H+ and H- don't need to be normalized.
// beta_s in radians.
#include <stdlib.h>
#include <iostream>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenModels/EvtSVPHelCPMix.hh"
#include "EvtGenModels/EvtSVPHelAmp.hh"
-EvtSVPHelCPMix::~EvtSVPHelCPMix() {}
-
std::string EvtSVPHelCPMix::getName(){
return "SVPHELCPMIX";
}
EvtDecayBase* EvtSVPHelCPMix::clone(){
return new EvtSVPHelCPMix;
}
void EvtSVPHelCPMix::init(){
- // check that there are 5 arguments
- checkNArg(5);
+ // check that there are 5 arguments
+ checkNArg(5);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::PHOTON);
-
+
}
void EvtSVPHelCPMix::initProbMax(){
- setProbMax(2.0*(getArg(0)*getArg(0)+getArg(2)*getArg(2)));
-
+ setProbMax(2.0*(getArg(0)*getArg(0)+getArg(2)*getArg(2)));
+
}
void EvtSVPHelCPMix::decay( EvtParticle *p){
static EvtId BS0 = EvtPDL::getId("B_s0");
//static EvtId BSB = EvtPDL::getId("anti-B_s0");
//Flavour tagging of the initial state. Note that flavour mixing has already been applied out of this model
//Initial_state == 0 (Bs at the initial state) and Initial_state == 1 (Anti-Bs in the initial state)
int Initial_state(-1);
if( EvtCPUtil::getInstance()->isBsMixed(p) ) { //The decaying particle has suffered flavour mixing, thus the initial state is its antiparticle
if( p->getId() == BS0 ) {
Initial_state = 1;
} else {
Initial_state = 0;
}
} else { //The decaying particle has NOT suffered flavour mixing, thus the initial state is itself
if( p->getId() == BS0 ) {
Initial_state = 0;
} else {
Initial_state = 1;
- }
+ }
}
static EvtId BSH=EvtPDL::getId("B_s0H");
static double ctauH=EvtPDL::getctau(BSH);
static double gammaH = 1.0/ctauH;
static double deltaGamma = EvtCPUtil::getInstance()->getDeltaGamma(BS0);
//Here we're gonna generate and set the "envelope" lifetime, so we take the longest living component (for positive deltaGamma: tauH)
//t is initialized following a e^(gammaH*t) lifetime distribution. When computing the amplitudes a factor e^(gammaH*t/2) should be substracted.
double t = -log( EvtRandom::Flat() ) * (1.0 / gammaH ); //This overrules the lifetimes made by the program performing the mixing (CPUtil)
if( EvtCPUtil::getInstance()->isBsMixed(p) ) {
p->getParent()->setLifetime(t);
} else {
p->setLifetime(t);
}
static double deltaMs = EvtCPUtil::getInstance()->getDeltaM(BS0);
double mt = exp(-std::max(0.0,deltaGamma)*t/(2.0*EvtConst::c));
double pt = exp(+std::min(0.0,deltaGamma)*t/(2.0*EvtConst::c));
-
+
//Using the same sign convention as in J.P. Silva, hep-ph/0410351 (2004)
EvtComplex qp=EvtComplex(cos(-2.0*getArg(4)),sin(-2.0*getArg(4))); // q/p=e^(-2*beta_s)
EvtComplex gplus = ( mt*EvtComplex(cos(deltaMs*t/(2.0*EvtConst::c)),sin( deltaMs*t/(2.0*EvtConst::c)))
+pt*EvtComplex(cos(deltaMs*t/(2.0*EvtConst::c)),sin(-deltaMs*t/(2.0*EvtConst::c))) )/2.0;
EvtComplex gminus = ( +mt*EvtComplex(cos(deltaMs*t/(2.0*EvtConst::c)),sin( deltaMs*t/(2.0*EvtConst::c)))
-pt*EvtComplex(cos(deltaMs*t/(2.0*EvtConst::c)),sin(-deltaMs*t/(2.0*EvtConst::c))) )/2.0;
//These should be filled with the helicity amplitudes at t=0
EvtComplex arg_hm, arg_hp;
arg_hp=EvtComplex(getArg(0)*cos(getArg(1)),getArg(0)*sin(getArg(1)));
arg_hm=EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
//Time-dependent amplitudes H+(t) and H-(t) are computed for a Bs and Anti-Bs in the initial state
EvtComplex hp, hm;
if( Initial_state == 0 ) { //These are the equations for Bs
hp = arg_hp*gplus + qp*conj(arg_hm)*gminus;
hm = arg_hm*gplus + qp*conj(arg_hp)*gminus;
} else if( Initial_state == 1 ) { //The equations for Anti-Bs
hp = conj(arg_hm)*gplus + (1.0/qp)*arg_hp*gminus;
hm = conj(arg_hp)*gplus + (1.0/qp)*arg_hm*gminus;
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Initial state was not BSB or BS0!" << std::endl;
::abort();
}
-
+
//Compute the decay amplitudes from the time-dependent helicity amplitudes
EvtSVPHelAmp::SVPHel(p,_amp2,getDaug(0),getDaug(1),hp,hm);
return ;
}
diff --git a/src/EvtGenModels/EvtSVS.cpp b/src/EvtGenModels/EvtSVS.cpp
index a0e9806..4cfe7f7 100644
--- a/src/EvtGenModels/EvtSVS.cpp
+++ b/src/EvtGenModels/EvtSVS.cpp
@@ -1,88 +1,86 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSVS.cc
//
// Description: Routine to decay scalar -> vector + scalar
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenModels/EvtSVS.hh"
#include <string>
-EvtSVS::~EvtSVS() {}
-
std::string EvtSVS::getName(){
- return "SVS";
+ return "SVS";
}
EvtDecayBase* EvtSVS::clone(){
return new EvtSVS;
}
void EvtSVS::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(2);
-
+
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtSVS::initProbMax(){
setProbMax(1.0);
}
void EvtSVS::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *v;
v = p->getDaug(0);
double massv = v->mass();
EvtVector4R momv = v->getP4();
EvtVector4R moms = p->getDaug(1)->getP4();
double m_parent = p->mass();
EvtVector4R p4_parent = momv+moms;
double norm=massv/(momv.d3mag()*m_parent);
p4_parent = norm*p4_parent;
vertex(0,p4_parent*(v->epsParent(0)));
vertex(1,p4_parent*(v->epsParent(1)));
vertex(2,p4_parent*(v->epsParent(2)));
-
+
return ;
}
diff --git a/src/EvtGenModels/EvtSVSCP.cpp b/src/EvtGenModels/EvtSVSCP.cpp
index 5f7ba41..dc56455 100644
--- a/src/EvtGenModels/EvtSVSCP.cpp
+++ b/src/EvtGenModels/EvtSVSCP.cpp
@@ -1,156 +1,154 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSVSCP.cc
//
// Description: Routine to decay scalar -> vectors scalar
// and has CP violation.
//
// Modification history:
//
// RYD Febuary 10, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSVSCP.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSVSCP::~EvtSVSCP() {}
-
std::string EvtSVSCP::getName(){
- return "SVS_CP";
+ return "SVS_CP";
}
EvtDecayBase* EvtSVSCP::clone(){
return new EvtSVSCP;
}
void EvtSVSCP::init(){
// check that there are 7 arguments
checkNArg(7);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtSVSCP::initProbMax(){
//This is probably not quite right, but it should do as a start...
//Anders
setProbMax(2*(getArg(3)*getArg(3)+getArg(5)*getArg(5)));
}
void EvtSVSCP::decay( EvtParticle *p ){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
EvtParticle *v;
p->initializePhaseSpace(getNDaug(),getDaugs());
v = p->getDaug(0);
EvtVector4R momv = v->getP4();
EvtVector4R moms = p->getDaug(1)->getP4();
double massv = v->mass();
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
EvtComplex amp;
EvtComplex A,Abar;
A=EvtComplex(getArg(3)*cos(getArg(4)),getArg(3)*sin(getArg(4)));
Abar=EvtComplex(getArg(5)*cos(getArg(6)),getArg(5)*sin(getArg(6)));
-
+
if (other_b==B0B){
amp=A*cos(getArg(1)*t/(2*EvtConst::c))+
EvtComplex(cos(-2.0*getArg(0)),sin(-2.0*getArg(0)))*
getArg(2)*EvtComplex(0.0,1.0)*Abar*sin(getArg(1)*t/(2*EvtConst::c));
}
if (other_b==B0){
amp=A*EvtComplex(cos(2.0*getArg(0)),sin(2.0*getArg(0)))*
- EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
+ EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
getArg(2)*Abar*cos(getArg(1)*t/(2*EvtConst::c));
}
-
+
EvtVector4R p4_parent;
-
+
p4_parent=momv+moms;
-
+
double norm=massv/(momv.d3mag()*p4_parent.mass());
-
+
vertex(0,amp*norm*p4_parent*(v->epsParent(0)));
vertex(1,amp*norm*p4_parent*(v->epsParent(1)));
vertex(2,amp*norm*p4_parent*(v->epsParent(2)));
-
+
return ;
}
std::string EvtSVSCP::getParamName(int i) {
switch(i) {
case 0:
return "weakPhase";
case 1:
return "deltaM";
case 2:
return "finalStateCP";
case 3:
return "Af";
case 4:
return "AfPhase";
case 5:
return "Abarf";
case 6:
return "AbarfPhase";
default:
return "";
}
}
std::string EvtSVSCP::getParamDefault(int i) {
switch(i) {
case 3:
return "1.0";
case 4:
return "0.0";
case 5:
return "1.0";
case 6:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSVSCPLH.cpp b/src/EvtGenModels/EvtSVSCPLH.cpp
index f5f9459..4debc33 100644
--- a/src/EvtGenModels/EvtSVSCPLH.cpp
+++ b/src/EvtGenModels/EvtSVSCPLH.cpp
@@ -1,145 +1,143 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2001 Caltech, UCSB
//
// Module: EvtSVSCPLH.cc
//
-// Description: The decay of a scalar to a scalar and a vector particle are
+// Description: The decay of a scalar to a scalar and a vector particle are
// performed with CP violation and different widths for
// the cp even and odd states. E.g. B->J/psi K_S.
//
// Modification history:
//
// Ryd March 29, 2001 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSVSCPLH.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtVector4C.hh"
using std::endl;
-EvtSVSCPLH::~EvtSVSCPLH() {}
-
std::string EvtSVSCPLH::getName(){
- return "SVS_CPLH";
+ return "SVS_CPLH";
}
EvtDecayBase* EvtSVSCPLH::clone(){
return new EvtSVSCPLH;
}
void EvtSVSCPLH::init(){
// check that there are 8 arguments
checkNArg(8);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
static double ctau=EvtPDL::getctau(EvtPDL::getId("B0"));
// hbar/s
_dm=getArg(0);
_dgamma=EvtConst::c*getArg(1)/ctau;
_qop=getArg(2)*exp(EvtComplex(0.0,getArg(3)));
_poq=1.0/_qop;
_Af=getArg(4)*exp(EvtComplex(0.0,getArg(5)));
_Abarf=getArg(6)*exp(EvtComplex(0.0,getArg(7)));
-
+
if (verbose()){
EvtGenReport(EVTGEN_INFO,"EvtGen")<<":EvtSVSCPLH:dm="<<_dm<<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen")<<":EvtSVSCPLH:dGamma="<<_dgamma<<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen")<<":EvtSVSCPLH:q/p="<<_qop<<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen")<<":EvtSVSCPLH:Af="<<_Af<<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen")<<":EvtSVSCPLH:Abarf="<<_Abarf<<endl;
}
}
void EvtSVSCPLH::initProbMax(){
//This is probably not quite right, but it should do as a start...
//Anders
setProbMax(4.0*(getArg(4)*getArg(4)+getArg(6)*getArg(6)));
}
void EvtSVSCPLH::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
//convert time from mm to seconds
t/=EvtConst::c;
//sign convention is dm=Mheavy-Mlight
// dGamma=Gammalight-Gammaheavy
//such that in the standard model both of these are positive.
EvtComplex gp=0.5*(exp(EvtComplex(0.25*t*_dgamma,-0.5*t*_dm))+exp(EvtComplex(-0.25*t*_dgamma,0.5*t*_dm)));
EvtComplex gm=0.5*(exp(EvtComplex(0.25*t*_dgamma,-0.5*t*_dm))-exp(EvtComplex(-0.25*t*_dgamma,0.5*t*_dm)));
EvtComplex amp;
if (other_b==B0B){
amp=gp*_Af+_qop*gm*_Abarf;
}
else if (other_b==B0){
amp=gp*_Abarf+_poq*gm*_Af;
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "other_b was not B0 or B0B!"<<endl;
::abort();
}
EvtVector4R p4_parent=p->getP4Restframe();;
-
+
double norm=p->getDaug(0)->mass()/(p->getDaug(0)->getP4().d3mag()*p4_parent.mass());
EvtParticle* v=p->getDaug(0);
vertex(0,amp*norm*(p4_parent*(v->epsParent(0))));
vertex(1,amp*norm*(p4_parent*(v->epsParent(1))));
vertex(2,amp*norm*(p4_parent*(v->epsParent(2))));
-
+
return ;
}
diff --git a/src/EvtGenModels/EvtSVSCPiso.cpp b/src/EvtGenModels/EvtSVSCPiso.cpp
index e6d5ecf..b8e59bd 100644
--- a/src/EvtGenModels/EvtSVSCPiso.cpp
+++ b/src/EvtGenModels/EvtSVSCPiso.cpp
@@ -1,311 +1,309 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSVSCPiso.cc
//
// Description: Routine to decay scalar -> vectors scalar
// with CP violation and isospin amplitudes.
// More specifically, it is indended to handle
// decays like B->rho pi and B->a1 pi.
//
// Modification history:
//
// RYD/NK Febuary 16, 1998 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenModels/EvtSVSCPiso.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSVSCPiso::~EvtSVSCPiso() {}
-
std::string EvtSVSCPiso::getName(){
- return "SVS_CP_ISO";
+ return "SVS_CP_ISO";
}
EvtDecayBase* EvtSVSCPiso::clone(){
return new EvtSVSCPiso;
}
void EvtSVSCPiso::init(){
// check that there are 27 arguments
checkNArg(27);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtSVSCPiso::initProbMax(){
//this might need some revision..
if ((EvtPDL::chg3(getDaug(0)) > 0) && (EvtPDL::chg3(getDaug(1)) == 0)) {
setProbMax(2.0*(getArg(3)*getArg(3) + 4.0*getArg(23)*getArg(23)));
}
if ((EvtPDL::chg3(getDaug(0)) < 0) && (EvtPDL::chg3(getDaug(1)) == 0)) {
setProbMax(2.0*(getArg(5)*getArg(5) + 4.0*getArg(25)*getArg(25)));
}
if ((EvtPDL::chg3(getDaug(0)) == 0) && (EvtPDL::chg3(getDaug(1)) > 0)) {
setProbMax(2.0*(getArg(7)*getArg(7) + 4.0*getArg(23)*getArg(23)));
}
if ((EvtPDL::chg3(getDaug(0)) == 0) && (EvtPDL::chg3(getDaug(1)) < 0)) {
setProbMax(2.0*(getArg(9)*getArg(9) + 4.0*getArg(25)*getArg(25)));
}
if ((EvtPDL::chg3(getDaug(0)) > 0) && (EvtPDL::chg3(getDaug(1)) < 0)) {
- setProbMax(2.0*(getArg(11)*getArg(11) + getArg(23)*getArg(23) +
- getArg(19)*getArg(19) + getArg(13)*getArg(13) +
+ setProbMax(2.0*(getArg(11)*getArg(11) + getArg(23)*getArg(23) +
+ getArg(19)*getArg(19) + getArg(13)*getArg(13) +
getArg(25)*getArg(25) + getArg(21)*getArg(21)));
}
if ((EvtPDL::chg3(getDaug(0)) < 0) && (EvtPDL::chg3(getDaug(1)) > 0)) {
- setProbMax(2.0*(getArg(15)*getArg(15) + getArg(23)*getArg(23) +
- getArg(19)*getArg(19) + getArg(17)*getArg(17) +
+ setProbMax(2.0*(getArg(15)*getArg(15) + getArg(23)*getArg(23) +
+ getArg(19)*getArg(19) + getArg(17)*getArg(17) +
getArg(25)*getArg(25) + getArg(21)*getArg(21)));
}
if ((EvtPDL::chg3(getDaug(0)) == 0) && (EvtPDL::chg3(getDaug(1)) == 0)) {
- setProbMax(2.0*(getArg(7)*getArg(7) + getArg(3)*getArg(3) + getArg(11)*getArg(11) +
+ setProbMax(2.0*(getArg(7)*getArg(7) + getArg(3)*getArg(3) + getArg(11)*getArg(11) +
getArg(15)*getArg(15) + 4.0*getArg(19)*getArg(19) + getArg(9)*getArg(9)+
- getArg(5)*getArg(5) + getArg(13)*getArg(13) + getArg(17)*getArg(17) +
+ getArg(5)*getArg(5) + getArg(13)*getArg(13) + getArg(17)*getArg(17) +
4.0*getArg(21)*getArg(21)));
}
}
void EvtSVSCPiso::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
int charged(0);
int first_time=0;
int flip=0;
EvtId ds[2];
-//randomly generate the tag (B0 or B0B)
+//randomly generate the tag (B0 or B0B)
double tag = EvtRandom::Flat(0.0,1.0);
if (tag < 0.5) {
-
+
EvtCPUtil::getInstance()->OtherB(p,t,other_b,1.0);
other_b = B0;
}
else {
-
+
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.0);
other_b = B0B;
}
if (p->getNDaug()==0) first_time=1;
if (first_time){
if (EvtRandom::Flat(0.0,1.0)<getArg(2)) flip=1;
}
else{
if (getDaug(0)!=p->getDaug(0)->getId()) flip=1;
}
if (!flip) {
ds[0]=getDaug(0);
ds[1]=getDaug(1);
}
else{
ds[0]=EvtPDL::chargeConj(getDaug(0));
ds[1]=EvtPDL::chargeConj(getDaug(1));
}
p->initializePhaseSpace(getNDaug(),ds);
EvtParticle *v,*s;
v=p->getDaug(0);
s=p->getDaug(1);
EvtComplex amp;
EvtComplex A_f,Abar_f;
EvtComplex A_fbar,Abar_fbar;
EvtComplex Apm, Apm_bar, Amp, Amp_bar;
EvtComplex Tp0, Tp0_bar, T0p, T0p_bar,Tpm, Tpm_bar, Tmp, Tmp_bar;
EvtComplex P1, P1_bar, P0, P0_bar;
Tp0 = EvtComplex(getArg(3)*cos(getArg(4)),getArg(3)*sin(getArg(4)));
Tp0_bar = EvtComplex(getArg(5)*cos(getArg(6)),getArg(5)*sin(getArg(6)));
T0p = EvtComplex(getArg(7)*cos(getArg(8)),getArg(7)*sin(getArg(8)));
T0p_bar = EvtComplex(getArg(9)*cos(getArg(10)),getArg(9)*sin(getArg(10)));
Tpm = EvtComplex(getArg(11)*cos(getArg(12)),getArg(11)*sin(getArg(12)));
Tpm_bar = EvtComplex(getArg(13)*cos(getArg(14)),getArg(13)*sin(getArg(14)));
Tmp = EvtComplex(getArg(15)*cos(getArg(16)),getArg(15)*sin(getArg(16)));
Tmp_bar = EvtComplex(getArg(17)*cos(getArg(18)),getArg(17)*sin(getArg(18)));
P0 = EvtComplex(getArg(19)*cos(getArg(20)),getArg(19)*sin(getArg(20)));
P0_bar = EvtComplex(getArg(21)*cos(getArg(22)),getArg(21)*sin(getArg(22)));
P1 = EvtComplex(getArg(23)*cos(getArg(24)),getArg(23)*sin(getArg(24)));
P1_bar = EvtComplex(getArg(25)*cos(getArg(26)),getArg(25)*sin(getArg(26)));
//***********************charged modes****************************
if ((EvtPDL::chg3(getDaug(0)) > 0 ) && (EvtPDL::chg3(getDaug(1)) == 0)) {
//V+ S0, so T+0 + 2 P1
-
+
charged = 1;
A_f = Tp0 + 2.0*P1;
}
if ((EvtPDL::chg3(getDaug(0)) < 0 ) && (EvtPDL::chg3(getDaug(1)) == 0)) {
//V- S0, so T+0_bar + 2P1_bar
-
+
charged = 1;
- A_f = Tp0_bar + 2.0*P1_bar;
+ A_f = Tp0_bar + 2.0*P1_bar;
}
-
+
if ((EvtPDL::chg3(getDaug(0)) == 0 ) && (EvtPDL::chg3(getDaug(1)) > 0)) {
//V0 S+, so T0+ - 2 P1
charged = 1;
A_f = T0p - 2.0*P1;
}
if ((EvtPDL::chg3(getDaug(0)) == 0 ) && (EvtPDL::chg3(getDaug(1)) < 0)) {
//V0 S-, so T0+_bar - 2 P1_bar
charged = 1;
A_f = T0p_bar - 2.0*P1_bar;
}
//***********************neutral modes***************************
//V+ S-, so Af = T+- + P1 + P0
Apm = Tpm + P1 + P0;
Apm_bar = Tpm_bar + P1_bar + P0_bar;
//V- S+, so Af = T-+ - P1 + P0
Amp = Tmp - P1 + P0;
Amp_bar = Tmp_bar - P1_bar + P0;
if ((EvtPDL::chg3(getDaug(0)) > 0 ) && (EvtPDL::chg3(getDaug(1)) < 0)) {
//V+ S-
charged = 0;
- A_f = Apm;
+ A_f = Apm;
Abar_f = Apm_bar;
A_fbar = Amp;
Abar_fbar = Amp_bar;
}
if ((EvtPDL::chg3(getDaug(0)) < 0 ) && (EvtPDL::chg3(getDaug(1)) > 0)) {
//V- S+
charged = 0;
- A_f = Amp;
+ A_f = Amp;
Abar_f = Amp_bar;
A_fbar = Apm;
Abar_fbar = Apm_bar;
}
if ((EvtPDL::chg3(getDaug(0)) == 0 ) && (EvtPDL::chg3(getDaug(1)) == 0)) {
//V0 S0
charged = 0;
- A_f = T0p + Tp0 - Tpm - Tmp - 2.0*P0 ;
+ A_f = T0p + Tp0 - Tpm - Tmp - 2.0*P0 ;
Abar_f = T0p_bar + Tp0_bar - Tpm_bar - Tmp_bar - 2.0*P0_bar;
A_fbar = A_f;
Abar_fbar = Abar_f;
}
if (charged==0) {
-
+
if (!flip) {
if (other_b==B0B){
amp=A_f*cos(getArg(1)*t/(2*EvtConst::c))+
EvtComplex(cos(-2.0*getArg(0)),sin(-2.0*getArg(0)))*
EvtComplex(0.0,1.0)*Abar_f*sin(getArg(1)*t/(2*EvtConst::c));
}
if (other_b==B0){
-
+
amp=A_f*EvtComplex(cos(2.0*getArg(0)),sin(2.0*getArg(0)))*
- EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
+ EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
Abar_f*cos(getArg(1)*t/(2*EvtConst::c));
}
}
else{
if (other_b==B0B){
amp=A_fbar*cos(getArg(1)*t/(2*EvtConst::c))+
EvtComplex(cos(-2.0*getArg(0)),sin(-2.0*getArg(0)))*
EvtComplex(0.0,1.0)*Abar_fbar*sin(getArg(1)*t/(2*EvtConst::c));
}
if (other_b==B0){
amp=A_fbar*EvtComplex(cos(2.0*getArg(0)),sin(2.0*getArg(0)))*
- EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
+ EvtComplex(0.0,1.0)*sin(getArg(1)*t/(2*EvtConst::c))+
Abar_fbar*cos(getArg(1)*t/(2*EvtConst::c));
}
}
}
else amp = A_f;
EvtVector4R p4_parent;
p4_parent=v->getP4()+s->getP4();
double norm=1.0/v->getP4().d3mag();
vertex(0,amp*norm*p4_parent*(v->epsParent(0)));
vertex(1,amp*norm*p4_parent*(v->epsParent(1)));
vertex(2,amp*norm*p4_parent*(v->epsParent(2)));
return ;
}
diff --git a/src/EvtGenModels/EvtSVSNONCPEIGEN.cpp b/src/EvtGenModels/EvtSVSNONCPEIGEN.cpp
index c68ffc6..eac6067 100644
--- a/src/EvtGenModels/EvtSVSNONCPEIGEN.cpp
+++ b/src/EvtGenModels/EvtSVSNONCPEIGEN.cpp
@@ -1,147 +1,145 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSVSNONCPEIGEN.cc
//
// Description: Routine to decay scalar -> vectors scalar
// and has CP violation.
//
// Modification history:
//
// RYD April 26, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenModels/EvtSVSNONCPEIGEN.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSVSNONCPEIGEN::~EvtSVSNONCPEIGEN() {}
-
std::string EvtSVSNONCPEIGEN::getName(){
- return "SVS_NONCPEIGEN";
+ return "SVS_NONCPEIGEN";
}
EvtDecayBase* EvtSVSNONCPEIGEN::clone(){
return new EvtSVSNONCPEIGEN;
}
void EvtSVSNONCPEIGEN::init(){
// check that there are 11 arguments
checkNArg(11,7);
checkNDaug(2);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
_dm=getArg(1);
_phickm=2*getArg(0)+getArg(2);
_A_f=EvtComplex(getArg(3)*cos(getArg(4)),getArg(3)*sin(getArg(4)));
_Abar_f=EvtComplex(getArg(5)*cos(getArg(6)),getArg(5)*sin(getArg(6)));
-
+
_A_fbar=_Abar_f;
_Abar_fbar=_A_f;
if (getNArg()==11){
_A_fbar=EvtComplex(getArg(7)*cos(getArg(8)),getArg(7)*sin(getArg(8)));
_Abar_fbar=EvtComplex(getArg(9)*cos(getArg(10)),getArg(9)*sin(getArg(10)));
}
}
void EvtSVSNONCPEIGEN::initProbMax() {
- double theProbMax =
+ double theProbMax =
abs(_A_f) * abs(_A_f) +
abs(_Abar_f) * abs(_Abar_f) +
abs(_A_fbar) * abs(_A_fbar) +
abs(_Abar_fbar) * abs(_Abar_fbar);
-
+
setProbMax(theProbMax);
}
void EvtSVSNONCPEIGEN::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtId daugs[2];
// MB: flip selects the final of the decay
int flip = ((p->getId() == B0) ? 0 : 1);
daugs[0]=getDaug(0);
daugs[1]=getDaug(1);
p->initializePhaseSpace(2, daugs);
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
EvtComplex amp;
double dmt2 = (_dm * t) / (2 * EvtConst::c);
EvtComplex ePlusIPhi(cos(_phickm), sin(_phickm));
EvtComplex eMinusIPhi(cos(-_phickm), -sin(_phickm));
// flip == 0 : D-rho+
// flip == 1 : D+rho-
if (!flip) {
if (other_b==B0B){
// At t=0 we have a B0
amp = cos(dmt2)*_A_f + eMinusIPhi*EvtComplex(0.0,sin(dmt2))*_Abar_f;
}
if (other_b==B0){
// At t=0 we have a B0bar
amp = ePlusIPhi*EvtComplex(0.0,sin(dmt2))*_A_f + cos(dmt2)*_Abar_f;
}
}
else{
if (other_b==B0B){
// At t=0 we have a B0
amp = cos(dmt2)*_A_fbar + eMinusIPhi*EvtComplex(0.0,sin(dmt2))*_Abar_fbar;
}
if (other_b==B0){
// At t=0 we have a B0bar
amp = ePlusIPhi*EvtComplex(0.0,sin(dmt2))*_A_fbar + cos(dmt2)*_Abar_fbar;
}
}
EvtParticle *v;
v= p->getDaug(0);
EvtVector4R momv = p->getDaug(0)->getP4();
EvtVector4R moms = p->getDaug(1)->getP4();
EvtVector4R p4_parent=momv+moms;
double norm=momv.mass()/(momv.d3mag()*p->mass());
vertex(0,amp*norm*p4_parent*(v->epsParent(0)));
vertex(1,amp*norm*p4_parent*(v->epsParent(1)));
vertex(2,amp*norm*p4_parent*(v->epsParent(2)));
return ;
}
diff --git a/src/EvtGenModels/EvtSVVCP.cpp b/src/EvtGenModels/EvtSVVCP.cpp
index 6d2ebf7..ca6e8c9 100644
--- a/src/EvtGenModels/EvtSVVCP.cpp
+++ b/src/EvtGenModels/EvtSVVCP.cpp
@@ -1,161 +1,159 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSVVCP.cc
//
-// Description: The decay of a scalar to two vector particles are
+// Description: The decay of a scalar to two vector particles are
// performed with CP violation. E.g. B->J/psi K*.
//
// Modification history:
//
// RYD January 19, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtSVVHelAmp.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSVVCP.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtSVVCP::~EvtSVVCP() {}
-
std::string EvtSVVCP::getName(){
- return "SVV_CP";
+ return "SVV_CP";
}
EvtDecayBase* EvtSVVCP::clone(){
return new EvtSVVCP;
}
void EvtSVVCP::init(){
// check that there are 9 arguments
checkNArg(9);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::VECTOR);
}
void EvtSVVCP::initProbMax(){
//This is probably not quite right, but it should do as a start...
//Anders
setProbMax(2*(getArg(3)*getArg(3)+getArg(5)*getArg(5)+getArg(7)*getArg(7)));
}
void EvtSVVCP::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
EvtComplex G0P,G1P,G1M;
G1P=EvtComplex(getArg(3)*cos(getArg(4)),getArg(3)*sin(getArg(4)));
G0P=EvtComplex(getArg(5)*cos(getArg(6)),getArg(5)*sin(getArg(6)));
G1M=EvtComplex(getArg(7)*cos(getArg(8)),getArg(7)*sin(getArg(8)));
EvtComplex lambda_km=EvtComplex(cos(-2*getArg(0)),sin(-2*getArg(0)));
double cdmt=cos(getArg(1)*t/(2*EvtConst::c));
double sdmt=sin(getArg(1)*t/(2*EvtConst::c));
EvtComplex cG0P,cG1P,cG1M;
if (other_b==B0B){
cG0P=G0P*(cdmt+lambda_km*EvtComplex(0.0,getArg(2)*sdmt));
cG1P=G1P*(cdmt+lambda_km*EvtComplex(0.0,getArg(2)*sdmt));
cG1M=G1M*(cdmt-lambda_km*EvtComplex(0.0,getArg(2)*sdmt));
}
if (other_b==B0){
cG0P=G0P*(cdmt+(1.0/lambda_km)*EvtComplex(0.0,getArg(2)*sdmt));
cG1P=G1P*(cdmt+(1.0/lambda_km)*EvtComplex(0.0,getArg(2)*sdmt));
cG1M=-G1M*(cdmt-(1.0/lambda_km)*EvtComplex(0.0,getArg(2)*sdmt));
}
-
+
EvtComplex A0,AP,AM;
A0=cG0P/sqrt(2.0);
- AP=(cG1P+cG1M)/sqrt(2.0);
- AM=(cG1P-cG1M)/sqrt(2.0);
+ AP=(cG1P+cG1M)/sqrt(2.0);
+ AM=(cG1P-cG1M)/sqrt(2.0);
EvtSVVHelAmp::SVVHel(p,_amp2,getDaug(0),getDaug(1),AP,A0,AM);
return ;
}
std::string EvtSVVCP::getParamName(int i) {
switch(i) {
case 0:
return "weakPhase";
case 1:
return "deltaM";
case 2:
return "eta";
case 3:
return "G1Plus";
case 4:
return "G1PlusPhase";
case 5:
return "G0Plus";
case 6:
return "G0PlusPhase";
case 7:
return "G1Minus";
case 8:
return "G1MinusPhase";
default:
return "";
}
}
std::string EvtSVVCP::getParamDefault(int i) {
switch(i) {
case 3:
return "1.0";
case 4:
return "0.0";
case 5:
return "1.0";
case 6:
return "0.0";
case 7:
return "1.0";
case 8:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSVVCPLH.cpp b/src/EvtGenModels/EvtSVVCPLH.cpp
index b889666..166d71e 100644
--- a/src/EvtGenModels/EvtSVVCPLH.cpp
+++ b/src/EvtGenModels/EvtSVVCPLH.cpp
@@ -1,133 +1,131 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1999 Caltech, UCSB
//
// Module: EvtSVVCPLH.cc
//
-// Description: The decay of a scalar to two vector particles are
+// Description: The decay of a scalar to two vector particles are
// performed with CP violation and different widths for
// the cpe even and od states. E.g. Bs->J/psi phi.
//
// Modification history:
//
// RYD November 5, 1999 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtSVVHelAmp.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSVVCPLH.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
using std::endl;
-EvtSVVCPLH::~EvtSVVCPLH() {}
-
std::string EvtSVVCPLH::getName(){
- return "SVV_CPLH";
+ return "SVV_CPLH";
}
EvtDecayBase* EvtSVVCPLH::clone(){
return new EvtSVVCPLH;
}
void EvtSVVCPLH::init(){
// check that there are 9 arguments
checkNArg(9);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::VECTOR);
}
void EvtSVVCPLH::initProbMax(){
//This is probably not quite right, but it should do as a start...
//Anders
setProbMax(2*(getArg(3)*getArg(3)+getArg(5)*getArg(5)+getArg(7)*getArg(7)));
}
void EvtSVVCPLH::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId BS0=EvtPDL::getId("B_s0");
static EvtId BSB=EvtPDL::getId("anti-B_s0");
double t;
EvtId other_b;
EvtCPUtil::getInstance()->OtherB(p,t,other_b);
EvtComplex G0P,G1P,G1M;
-
+
G1P=EvtComplex(getArg(3)*cos(getArg(4)),getArg(3)*sin(getArg(4)));
G0P=EvtComplex(getArg(5)*cos(getArg(6)),getArg(5)*sin(getArg(6)));
G1M=EvtComplex(getArg(7)*cos(getArg(8)),getArg(7)*sin(getArg(8)));
EvtComplex lambda_km=EvtComplex(cos(2*getArg(0)),sin(2*getArg(0)));
double cdmt=cos(getArg(1)*t/(2*EvtConst::c));
double sdmt=sin(getArg(1)*t/(2*EvtConst::c));
EvtComplex cG0P,cG1P,cG1M;
static double ctauL=EvtPDL::getctau(EvtPDL::getId("B_s0L"));
static double ctauH=EvtPDL::getctau(EvtPDL::getId("B_s0H"));
//I'm not sure if the fabs() is right when t can be
//negative as in the case of Bs produced coherently.
double pt=1;
double mt=exp(-fabs(t*(ctauL-ctauH)/(ctauL*ctauH)));
if (other_b==BSB){
cG0P=pt*G0P*(cdmt+lambda_km*EvtComplex(0.0,getArg(2)*sdmt));
cG1P=pt*G1P*(cdmt+lambda_km*EvtComplex(0.0,getArg(2)*sdmt));
cG1M=mt*G1M*(cdmt-lambda_km*EvtComplex(0.0,getArg(2)*sdmt));
}
else if (other_b==BS0){
cG0P=pt*G0P*(cdmt+(1.0/lambda_km)*EvtComplex(0.0,getArg(2)*sdmt));
cG1P=pt*G1P*(cdmt+(1.0/lambda_km)*EvtComplex(0.0,getArg(2)*sdmt));
cG1M=-mt*G1M*(cdmt-(1.0/lambda_km)*EvtComplex(0.0,getArg(2)*sdmt));
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "other_b was not BSB or BS0!"<<endl;
::abort();
}
EvtComplex A0,AP,AM;
A0=cG0P/sqrt(2.0);
- AP=(cG1P+cG1M)/sqrt(2.0);
- AM=(cG1P-cG1M)/sqrt(2.0);
+ AP=(cG1P+cG1M)/sqrt(2.0);
+ AM=(cG1P-cG1M)/sqrt(2.0);
EvtSVVHelAmp::SVVHel(p,_amp2,getDaug(0),getDaug(1),AP,A0,AM);
return ;
}
diff --git a/src/EvtGenModels/EvtSVVHelAmp.cpp b/src/EvtGenModels/EvtSVVHelAmp.cpp
index 6970ced..61110b1 100644
--- a/src/EvtGenModels/EvtSVVHelAmp.cpp
+++ b/src/EvtGenModels/EvtSVVHelAmp.cpp
@@ -1,178 +1,176 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSVVHelAmp.cc
//
// Description: Routine to decay scalar -> 2 vectors
// by specifying the helicity amplitudes
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector3C.hh"
#include "EvtGenBase/EvtVector3R.hh"
#include "EvtGenBase/EvtTensor3C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSVVHelAmp.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
-EvtSVVHelAmp::~EvtSVVHelAmp() {}
-
std::string EvtSVVHelAmp::getName(){
- return "SVV_HELAMP";
+ return "SVV_HELAMP";
}
EvtDecayBase* EvtSVVHelAmp::clone(){
return new EvtSVVHelAmp;
}
void EvtSVVHelAmp::init(){
// check that there are 6 arguments
checkNArg(6);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::VECTOR);
}
void EvtSVVHelAmp::initProbMax(){
setProbMax(getArg(0)*getArg(0)+getArg(2)*getArg(2)+getArg(4)*getArg(4));
}
void EvtSVVHelAmp::decay( EvtParticle *p){
SVVHel(p,_amp2,getDaug(0),getDaug(1),
EvtComplex(getArg(0)*cos(getArg(1)),getArg(0)*sin(getArg(1))),
EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3))),
EvtComplex(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5))));
-
+
return ;
}
void EvtSVVHelAmp::SVVHel(EvtParticle *parent,EvtAmp& amp,EvtId n_v1,EvtId n_v2,
const EvtComplex& hp,const EvtComplex& h0,
const EvtComplex& hm){
// Routine to decay a vector into a vector and scalar. Started
// by ryd on Oct 17, 1996.
-
+
int tndaug = 2;
EvtId tdaug[2];
tdaug[0] = n_v1;
tdaug[1] = n_v2;
parent->initializePhaseSpace(tndaug,tdaug);
EvtParticle *v1,*v2;
v1 = parent->getDaug(0);
v2 = parent->getDaug(1);
EvtVector4R momv1 = v1->getP4();
//EvtVector4R momv2 = v2->getP4();
EvtVector3R v1dir(momv1.get(1),momv1.get(2),momv1.get(3));
v1dir=v1dir/v1dir.d3mag();
EvtComplex a=-0.5*(hp+hm);
EvtComplex b=EvtComplex(0.0,0.5)*(hp-hm);
EvtComplex c=h0+0.5*(hp+hm);
EvtTensor3C M=a*EvtTensor3C::id()+
b*EvtGenFunctions::eps(v1dir)+
c*EvtGenFunctions::directProd(v1dir,v1dir);
EvtVector3C t0=M.cont1(v1->eps(0).vec().conj());
EvtVector3C t1=M.cont1(v1->eps(1).vec().conj());
EvtVector3C t2=M.cont1(v1->eps(2).vec().conj());
EvtVector3C eps0=v2->eps(0).vec().conj();
EvtVector3C eps1=v2->eps(1).vec().conj();
EvtVector3C eps2=v2->eps(2).vec().conj();
amp.vertex(0,0,t0*eps0);
amp.vertex(0,1,t0*eps1);
amp.vertex(0,2,t0*eps2);
amp.vertex(1,0,t1*eps0);
amp.vertex(1,1,t1*eps1);
amp.vertex(1,2,t1*eps2);
amp.vertex(2,0,t2*eps0);
amp.vertex(2,1,t2*eps1);
amp.vertex(2,2,t2*eps2);
return ;
}
std::string EvtSVVHelAmp::getParamName(int i) {
switch(i) {
case 0:
return "plusHelAmp";
case 1:
return "plusHelAmpPhase";
case 2:
return "zeroHelAmp";
case 3:
return "zeroHelAmpPhase";
case 4:
return "minusHelAmp";
case 5:
return "minusHelAmpPhase";
default:
return "";
}
}
std::string EvtSVVHelAmp::getParamDefault(int i) {
switch(i) {
case 0:
return "1.0";
case 1:
return "0.0";
case 2:
return "1.0";
case 3:
return "0.0";
case 4:
return "1.0";
case 5:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSVVHelCPMix.cpp b/src/EvtGenModels/EvtSVVHelCPMix.cpp
index ccbbbed..0669861 100644
--- a/src/EvtGenModels/EvtSVVHelCPMix.cpp
+++ b/src/EvtGenModels/EvtSVVHelCPMix.cpp
@@ -1,278 +1,276 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSVVHelCPMix.cc
//
// Description: Routine to decay scalar -> 2 vectors
// by specifying the helicity amplitudes, taking appropriate
// weak phases into account to get mixing and CP violation through
// interference. Based on EvtSVVHelAmp. Particularly appropriate for
// Bs->J/Psi+Phi
//
// Modification history:
//
// RYD November 24, 1996 EvtSVVHelAmp Module
// CATMORE March 2004 Modified to EvtSVVHelCPMix
//
// Model takes the following as user-specified arguments:
// deltaM, averageM - mass diference and average of light and heavy mass eigenstates (real scalars)
// gamma, deltagamma - average width and width difference of the l and h eigenstates (real scalars)
// delta1, delta2 - strong phases (real scalars)
-// direct weak phase (real scalar) (for Bs->JPsiPhi this will be zero)
+// direct weak phase (real scalar) (for Bs->JPsiPhi this will be zero)
// weak mixing phase (real scalar) (this is equal to 2*arg(Vts Vtb) for Bs->JPsiPhi)
// Magnitudes of helicity amplitudes as in SVV_HELAMP
// See Phys Rev D 34 p1404 - p1417 and chapters 5 and 7 of Physics Reports 370 p537-680 for more details
//------------------------------------------------------------------------
-//
+//
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctype.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtVector3C.hh"
#include "EvtGenBase/EvtVector3R.hh"
#include "EvtGenBase/EvtTensor3C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtSVVHelCPMix.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
-EvtSVVHelCPMix::~EvtSVVHelCPMix() {}
-
std::string EvtSVVHelCPMix::getName(){
- return "SVVHELCPMIX";
+ return "SVVHELCPMIX";
}
EvtDecayBase* EvtSVVHelCPMix::clone(){
return new EvtSVVHelCPMix;
}
void EvtSVVHelCPMix::init(){
// check that there are 12 arguments
checkNArg(12);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::VECTOR);
hp = EvtComplex(getArg(0)*cos(getArg(1)),getArg(0)*sin(getArg(1)));
h0 = EvtComplex(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
hm = EvtComplex(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5)));
averageM = getArg(6);
deltaM = getArg(7);
gamma = getArg(8);
deltagamma = getArg(9);
weakmixingphase = EvtComplex(cos(getArg(10)),sin(getArg(10)));
weakdirectphase = EvtComplex(cos(getArg(11)),sin(getArg(11)));
}
void EvtSVVHelCPMix::initProbMax(){
setProbMax(getArg(0)*getArg(0)+getArg(2)*getArg(2)+getArg(4)*getArg(4));
-
+
}
void EvtSVVHelCPMix::decay( EvtParticle *p){
EvtParticle* parent = p;
EvtAmp& amp = _amp2;
EvtId n_v1 = getDaug(0);
EvtId n_v2 = getDaug(1);
-
+
// Routine to decay a vector into a vector and scalar. Started
// by ryd on Oct 17, 1996.
// Modified by J.Catmore to take account of CP-violation and mixing
-
+
int tndaug = 2;
EvtId tdaug[2];
EvtId Bs=EvtPDL::getId("B_s0");
EvtId antiBs=EvtPDL::getId("anti-B_s0");
tdaug[0] = n_v1;
tdaug[1] = n_v2;
// Phase space and kinematics
parent->initializePhaseSpace(tndaug,tdaug);
EvtParticle *v1,*v2;
v1 = parent->getDaug(0);
v2 = parent->getDaug(1);
EvtVector4R momv1 = v1->getP4();
EvtVector3R v1dir(momv1.get(1),momv1.get(2),momv1.get(3));
v1dir=v1dir/v1dir.d3mag();
// Definition of quantities used in construction of complex amplitudes:
EvtTensor3C M; // Tensor as defined in EvtGen manual, equ 117
EvtComplex a,b,c; // Helicity amplitudes; EvtGen manual eqns 126-128, also see Phys Lett B 369 p144-150 eqn 15
//EvtComplex deltamu = EvtComplex(deltaM, -0.5*deltagamma); // See Phys Rev D 34 p1404
// conversion from times in mm/c to natural units [GeV]^-1
- double t = ((parent->getLifetime())/2.998e11)*6.58e-25;
+ double t = ((parent->getLifetime())/2.998e11)*6.58e-25;
// The following two quantities defined in Phys Rev D 34 p1404
EvtComplex fplus = EvtComplex(cos(averageM*t),-1.*sin(averageM*t))*exp(-(gamma/2.0)*t)*
(cos(0.5*deltaM*t)*cosh(0.25*deltagamma*t)+EvtComplex(0.0,sin(0.5*deltaM*t)*sinh(0.25*deltagamma*t)));
EvtComplex fminus = EvtComplex(cos(averageM*t), -1.*sin(averageM*t))*exp(-(gamma/2.0)*t)*EvtComplex(0.0,1.0)*
- (sin(0.5*deltaM*t)*cosh(0.25*deltagamma*t)-EvtComplex(0.0,1.0)*sinh(0.25*deltagamma*t)*cos(0.5*deltaM*t));
+ (sin(0.5*deltaM*t)*cosh(0.25*deltagamma*t)-EvtComplex(0.0,1.0)*sinh(0.25*deltagamma*t)*cos(0.5*deltaM*t));
// See EvtGen manual pp 106-107
a=-0.5*(hp+hm);
b=EvtComplex(0.0,0.5)*(hp-hm);
c=(h0+0.5*(hp+hm));
-
+
M=a*EvtTensor3C::id()+
b*EvtGenFunctions::eps(v1dir)+
c*EvtGenFunctions::directProd(v1dir,v1dir);
-
+
EvtVector3C t0=M.cont1(v1->eps(0).vec().conj());
EvtVector3C t1=M.cont1(v1->eps(1).vec().conj());
EvtVector3C t2=M.cont1(v1->eps(2).vec().conj());
EvtVector3C eps0=v2->eps(0).vec().conj();
EvtVector3C eps1=v2->eps(1).vec().conj();
EvtVector3C eps2=v2->eps(2).vec().conj();
// We need two sets of equations, one for mesons which were in the Bs state at t=0, and another
// for those which were in the antiBs state. Each equation consists of a sum of amplitudes - mod-squaring gives the interference terms.
EvtComplex amplSum00, amplSum01, amplSum02;
EvtComplex amplSum10, amplSum11, amplSum12;
EvtComplex amplSum20, amplSum21, amplSum22;
// First the Bs state:
-
+
if (parent->getId()==Bs) {
-
+
amplSum00 = (fplus*weakdirectphase*t0*eps0) + (fminus*(1.0/weakdirectphase)*weakmixingphase*t0*eps0);
amplSum01 = (fplus*weakdirectphase*t0*eps1) + (fminus*(1.0/weakdirectphase)*weakmixingphase*t0*eps1);
amplSum02 = (fplus*weakdirectphase*t0*eps2) + (fminus*(1.0/weakdirectphase)*weakmixingphase*t0*eps2);
amplSum10 = (fplus*weakdirectphase*t1*eps0) + (fminus*(1.0/weakdirectphase)*weakmixingphase*t1*eps0);
amplSum11 = (fplus*weakdirectphase*t1*eps1) + (fminus*(1.0/weakdirectphase)*weakmixingphase*t1*eps1);
amplSum12 = (fplus*weakdirectphase*t1*eps2) + (fminus*(1.0/weakdirectphase)*weakmixingphase*t1*eps2);
amplSum20 = (fplus*weakdirectphase*t2*eps0) + (fminus*(1.0/weakdirectphase)*weakmixingphase*t2*eps0);
amplSum21 = (fplus*weakdirectphase*t2*eps1) + (fminus*(1.0/weakdirectphase)*weakmixingphase*t2*eps1);
amplSum22 = (fplus*weakdirectphase*t2*eps2) + (fminus*(1.0/weakdirectphase)*weakmixingphase*t2*eps2);
}
// Now the anti-Bs state:
if (parent->getId()==antiBs) {
-
+
amplSum00 = (fminus*weakdirectphase*(1.0/weakmixingphase)*t0*eps0) + (fplus*(1.0/weakdirectphase)*t0*eps0);
amplSum01 = (fminus*weakdirectphase*(1.0/weakmixingphase)*t0*eps1) + (fplus*(1.0/weakdirectphase)*t0*eps1);
amplSum02 = (fminus*weakdirectphase*(1.0/weakmixingphase)*t0*eps2) + (fplus*(1.0/weakdirectphase)*t0*eps2);
amplSum10 = (fminus*weakdirectphase*(1.0/weakmixingphase)*t1*eps0) + (fplus*(1.0/weakdirectphase)*t1*eps0);
amplSum11 = (fminus*weakdirectphase*(1.0/weakmixingphase)*t1*eps1) + (fplus*(1.0/weakdirectphase)*t1*eps1);
amplSum12 = (fminus*weakdirectphase*(1.0/weakmixingphase)*t1*eps2) + (fplus*(1.0/weakdirectphase)*t1*eps2);
amplSum20 = (fminus*weakdirectphase*(1.0/weakmixingphase)*t2*eps0) + (fplus*(1.0/weakdirectphase)*t2*eps0);
amplSum21 = (fminus*weakdirectphase*(1.0/weakmixingphase)*t2*eps1) + (fplus*(1.0/weakdirectphase)*t2*eps1);
amplSum22 = (fminus*weakdirectphase*(1.0/weakmixingphase)*t2*eps2) + (fplus*(1.0/weakdirectphase)*t2*eps2);
}
// Now set the amplitude
amp.vertex(0,0,amplSum00);
- EvtGenReport(EVTGEN_INFO,"EvtGen") << "00: " << amplSum00 << std::endl;
+ EvtGenReport(EVTGEN_INFO,"EvtGen") << "00: " << amplSum00 << std::endl;
amp.vertex(0,1,amplSum01);
EvtGenReport(EVTGEN_INFO,"EvtGen") << "01: " << amplSum01 << std::endl;
amp.vertex(0,2,amplSum02);
EvtGenReport(EVTGEN_INFO,"EvtGen") << "02: " << amplSum02 << std::endl;
amp.vertex(1,0,amplSum10);
EvtGenReport(EVTGEN_INFO,"EvtGen") << "10: " << amplSum10 << std::endl;
amp.vertex(1,1,amplSum11);
EvtGenReport(EVTGEN_INFO,"EvtGen") << "11: " << amplSum11 << std::endl;
amp.vertex(1,2,amplSum12);
EvtGenReport(EVTGEN_INFO,"EvtGen") << "12: " << amplSum12 << std::endl;
amp.vertex(2,0,amplSum20);
EvtGenReport(EVTGEN_INFO,"EvtGen") << "20: " << amplSum20 << std::endl;
amp.vertex(2,1,amplSum21);
EvtGenReport(EVTGEN_INFO,"EvtGen") << "21: " << amplSum21 << std::endl;
amp.vertex(2,2,amplSum22);
EvtGenReport(EVTGEN_INFO,"EvtGen") << "22: " << amplSum22 << std::endl;
return ;
}
std::string EvtSVVHelCPMix::getParamName(int i) {
switch(i) {
case 0:
return "plusHelAmp";
case 1:
return "plusHelAmpPhase";
case 2:
return "zeroHelAmp";
case 3:
return "zeroHelAmpPhase";
case 4:
return "minusHelAmp";
case 5:
return "minusHelAmpPhase";
case 6:
return "averageM";
case 7:
return "deltaM";
case 8:
return "gamma";
case 9:
return "deltaGamma";
case 10:
return "weakMixPhase";
case 11:
return "weakDirectPhase";
default:
return "";
}
}
std::string EvtSVVHelCPMix::getParamDefault(int i) {
switch(i) {
case 0:
return "1.0";
case 1:
return "0.0";
case 2:
return "1.0";
case 3:
return "0.0";
case 4:
return "1.0";
case 5:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSVVNONCPEIGEN.cpp b/src/EvtGenModels/EvtSVVNONCPEIGEN.cpp
index 55a90b6..d66fa3f 100644
--- a/src/EvtGenModels/EvtSVVNONCPEIGEN.cpp
+++ b/src/EvtGenModels/EvtSVVNONCPEIGEN.cpp
@@ -1,288 +1,286 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2001 Royal Holloway, University of London
//
// Module: EvtSVVNONCPEIGEN.cc
//
-// Description: Routine to decay scalar -> vector vector
+// Description: Routine to decay scalar -> vector vector
// and has CP violation.
//
-// This model does all the ckm-suppressed decays and mixing for you. It randomly 'overwrites'
+// This model does all the ckm-suppressed decays and mixing for you. It randomly 'overwrites'
// any reco or tagging state as set in the Y(4S) decay model (VSS_(B)MIX) with its own generated states.
//
// As such, the corresponding dec file requires only one decay-mode description, for example:
// Decay MyB0
// 1.000 rho+ MyD*- SVV_NONCPEIGEN dm beta gamma 0.322 0.31 0.941 0 0.107 1.42 0.02 0 0.02 0 0.02 0 ;
// EndDecay
// and furthermore Y(4S) only needs to decay to B0's (or B0bar's).
// The decay above should be a CKM-favored mode (eg. B0->D*-rho+ or B0bar->D*+rho-).
// All ckm-suppressed decays and the mixing are derived from this line in the ::Decay function.
//
// There are 15 or 27 arguments. The first three are dm, phase1
// and phase2. dm is the B0-B0bar mass difference. Phases 1
-// and 2 are the CKM weak phases relevant for the particular mode,
+// and 2 are the CKM weak phases relevant for the particular mode,
// eg for B-->DstRho phase1 is beta and phase2 is gamma.
//
-// The next arguments are the 2 amplitudes (= 12 input parameters)
-// in the order: A_f, Abar_f. In the example above, the 'A_f' amplitude now
+// The next arguments are the 2 amplitudes (= 12 input parameters)
+// in the order: A_f, Abar_f. In the example above, the 'A_f' amplitude now
// stands for the ckm-favored decay 'B0->D*-rho+', and 'Abar_f' stands for 'B0bar->D*-rho+'
//
-// Each amplitude has its 3 helicity states in the order +, 0, -, which are each
+// Each amplitude has its 3 helicity states in the order +, 0, -, which are each
// specified by a magnitude and a strong phase.
//
-// The last 2 arguments A_fbar and Abar_fbar (=12 input parameters) are not necessary,
+// The last 2 arguments A_fbar and Abar_fbar (=12 input parameters) are not necessary,
// but can included if one wants to set them differently from A_f, Abar_f.
//
// Mind you that Hbar_+- = H_-+ (ignoring the weak phase, which flips sign).
// It is custumary to select one set of helicity states (eg H_+-) and to adopt these for
// the CP-conjugate decays as well (ie. depict Hbar_-+ with H_+-), which is the interpretation
-// we use for the input-parameters above.
+// we use for the input-parameters above.
// However, the angular decay in EvtGen is just a formula in which helicity amplitudes are 'plugged' in,
-// making no difference between B0 or B0bar decays. In the model below we (thus) account for the +-
+// making no difference between B0 or B0bar decays. In the model below we (thus) account for the +-
// flipping between B0 and B0bar.
-//
+//
//
// Modification history:
// Ajit Kurup 9 March 2001 Module created (from EvtSVSNONCPEIGEN)
// Max Baak 01/16/2004 Fix of Helicity amplitude ordering.
// Decay also works for B0bar decays.
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtCPUtil.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenModels/EvtSVVNONCPEIGEN.hh"
#include <string>
#include "EvtGenModels/EvtSVVHelAmp.hh"
#include "EvtGenBase/EvtConst.hh"
-EvtSVVNONCPEIGEN::~EvtSVVNONCPEIGEN() {}
-
std::string EvtSVVNONCPEIGEN::getName(){
- return "SVV_NONCPEIGEN";
+ return "SVV_NONCPEIGEN";
}
EvtDecayBase* EvtSVVNONCPEIGEN::clone(){
return new EvtSVVNONCPEIGEN;
}
void EvtSVVNONCPEIGEN::init(){
// check that there are 27 arguments
checkNArg(27,15);
checkNDaug(2);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::VECTOR);
// The ordering of A_f is :
// A_f[0-2] = A_f
// A_f[3-5] = Abar_f
- // A_f[6-8] = A_fbar
+ // A_f[6-8] = A_fbar
// A_f[9-11] = Abar_fbar
- //
- // Each of the 4 amplitudes include the 3 different helicity states in
+ //
+ // Each of the 4 amplitudes include the 3 different helicity states in
// the order +, 0, -. See more about helicity amplitude ordering in ::decay
int i=0;
int j=(getNArg()-3)/2;
for(i=0; i<j; ++i){
_A_f[i] = getArg((2*i)+3) * EvtComplex( cos(getArg((2*i)+4)),sin(getArg((2*i)+4)) );
}
// If only 6 amplitudes are specified, calculate the last 6 from the first 6:
if(6 == j){
for(i = 0; i < 3; ++i){
_A_f[6+i] = _A_f[3+i];
_A_f[9+i] = _A_f[i];
}
}
}
void EvtSVVNONCPEIGEN::initProbMax() {
double probMax = 0;
for (int i = 0; i < 12; ++i){
double amp = abs(_A_f[i]);
probMax += amp * amp;
}
- setProbMax(probMax);
+ setProbMax(probMax);
}
void EvtSVVNONCPEIGEN::decay( EvtParticle *p){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
double t;
EvtId other_b;
EvtId daugs[2];
// MB: flip selects the final of the decay
int flip = ((p->getId() == B0) ? 0 : 1);
daugs[0]=getDaug(0);
daugs[1]=getDaug(1);
p->initializePhaseSpace(2,daugs);
EvtCPUtil::getInstance()->OtherB(p,t,other_b,0.5);
EvtComplex amp[3];
double dmt2 = getArg(0) * t / (2 * EvtConst::c);
double phiCKM = (2.0 * getArg(1) + getArg(2)); // 2b+g
EvtComplex ePlusIPhi(cos(phiCKM), sin(phiCKM));
EvtComplex eMinusIPhi(cos(-phiCKM), sin(-phiCKM));
// flip == 0 : D*-rho+
// flip == 1 : D*+rho-
if (!flip) {
if (other_b==B0B){
// At t=0 we have a B0
for (int i=0; i<3; ++i) {
amp[i] = _A_f[i]*cos(dmt2) + eMinusIPhi*EvtComplex(0.0,sin(dmt2))*_A_f[i+3];
}
}
if (other_b==B0){
// At t=0 we have a B0bar
for(int i=0; i<3; ++i) {
amp[i] = _A_f[i]*ePlusIPhi*EvtComplex(0.0,sin(dmt2)) + _A_f[i+3]*cos(dmt2);
}
}
} else{
if (other_b==B0B){
// At t=0 we have a B0
// M.Baak 01/16/2004
- // Note: \bar{H}+- = H-+
- // If one wants to use the correct helicities for B0 and B0bar decays but the same formula-notation (as done in EvtSVV_HelAmp),
+ // Note: \bar{H}+- = H-+
+ // If one wants to use the correct helicities for B0 and B0bar decays but the same formula-notation (as done in EvtSVV_HelAmp),
// count the B0bar helicities backwards. (Equivalently, one could flip the chi angle.)
- for(int i=0; i<3; ++i) {
+ for(int i=0; i<3; ++i) {
amp[i] = _A_f[8-i]*cos(dmt2) + eMinusIPhi*EvtComplex(0.0,sin(dmt2))*_A_f[11-i];
}
}
if (other_b==B0){
// At t=0 we have a B0bar
for(int i=0; i<3; ++i) {
amp[i] = _A_f[8-i] * ePlusIPhi * EvtComplex(0.0,sin(dmt2)) + _A_f[11-i]*cos(dmt2);
}
}
}
-
+
EvtSVVHelAmp::SVVHel(p,_amp2,daugs[0],daugs[1],amp[0],amp[1],amp[2]);
return ;
}
std::string EvtSVVNONCPEIGEN::getParamName(int i) {
switch(i) {
case 0:
return "deltaM";
case 1:
return "weakPhase1";
case 2:
return "weakPhase2";
case 3:
return "AfPlusHelAmp";
case 4:
return "AfPlusHelAmpPhase";
case 5:
return "AfZeroHelAmp";
case 6:
return "AfZeroHelAmpPhase";
case 7:
return "AfMinusHelAmp";
case 8:
return "AfMinusHelAmpPhase";
case 9:
return "AbarfPlusHelAmp";
case 10:
return "AbarfPlusHelAmpPhase";
case 11:
return "AbarfZeroHelAmp";
case 12:
return "AbarfZeroHelAmpPhase";
case 13:
return "AbarfMinusHelAmp";
case 14:
return "AbarfMinusHelAmpPhase";
case 15:
return "AfbarPlusHelAmp";
case 16:
return "AfbarPlusHelAmpPhase";
case 17:
return "AfbarZeroHelAmp";
case 18:
return "AfbarZeroHelAmpPhase";
case 19:
return "AfbarMinusHelAmp";
case 20:
return "AfbarMinusHelAmpPhase";
case 21:
return "AbarfbarPlusHelAmp";
case 22:
return "AbarfbarPlusHelAmpPhase";
case 23:
return "AbarfbarZeroHelAmp";
case 24:
return "AbarfbarZeroHelAmpPhase";
case 25:
return "AbarfbarMinusHelAmp";
case 26:
return "AbarfbarMinusHelAmpPhase";
default:
return "";
}
}
std::string EvtSVVNONCPEIGEN::getParamDefault(int i) {
switch(i) {
case 3:
return "1.0";
case 4:
return "0.0";
case 5:
return "1.0";
case 6:
return "0.0";
case 7:
return "1.0";
case 8:
return "0.0";
case 9:
return "1.0";
case 10:
return "0.0";
case 11:
return "1.0";
case 12:
return "0.0";
case 13:
return "1.0";
case 14:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtSingleParticle.cpp b/src/EvtGenModels/EvtSingleParticle.cpp
index ab45522..82fc1b9 100644
--- a/src/EvtGenModels/EvtSingleParticle.cpp
+++ b/src/EvtGenModels/EvtSingleParticle.cpp
@@ -1,152 +1,150 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSingleParticle.cc
//
// Description: Special model to generate single particles.
//
// Modification history:
//
// RYD Febuary 17,1998 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtSingleParticle.hh"
#include "EvtGenBase/EvtReport.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
using std::endl;
-EvtSingleParticle::~EvtSingleParticle() {}
-
std::string EvtSingleParticle::getName(){
- return "SINGLE";
+ return "SINGLE";
}
EvtDecayBase* EvtSingleParticle::clone(){
return new EvtSingleParticle();
}
void EvtSingleParticle::init(){
//turn off checks for charge conservation
disableCheckQ();
if ((getNArg()==6)||(getNArg()==4)||(getNArg()==2)) {
-
+
if (getNArg()==6){
//copy the arguments into eaiser to remember names!
pmin=getArg(0);
pmax=getArg(1);
-
+
cthetamin=getArg(2);
cthetamax=getArg(3);
-
+
phimin=getArg(4);
phimax=getArg(5);
}
if (getNArg()==4){
//copy the arguments into eaiser to remember names!
pmin=getArg(0);
pmax=getArg(1);
-
+
cthetamin=getArg(2);
cthetamax=getArg(3);
-
+
phimin=0.0;
phimax=EvtConst::twoPi;
}
if (getNArg()==2){
//copy the arguments into eaiser to remember names!
pmin=getArg(0);
pmax=getArg(1);
-
+
cthetamin=-1.0;
cthetamax=1.0;
-
+
phimin=0.0;
phimax=EvtConst::twoPi;
}
}else{
-
+
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtSingleParticle generator expected "
<< " 6, 4, or 2 arguments but found:"<<getNArg()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
EvtGenReport(EVTGEN_INFO,"EvtGen") << "The single particle generator has been configured:"
<<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen") << pmax << " > p > " << pmin <<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen") << cthetamax << " > costheta > " << cthetamin <<endl;
EvtGenReport(EVTGEN_INFO,"EvtGen") << phimax << " > phi > " << phimin <<endl;
}
void EvtSingleParticle::decay( EvtParticle *p ){
EvtParticle *d;
EvtVector4R p4;
double mass=EvtPDL::getMass(getDaug(0));
p->makeDaughters(getNDaug(),getDaugs());
d=p->getDaug(0);
- //generate flat distribution in p
- //we are now in the parents restframe! This means the
+ //generate flat distribution in p
+ //we are now in the parents restframe! This means the
//restframe of the e+e- collison.
double pcm=EvtRandom::Flat(pmin,pmax);
//generate flat distribution in phi.
double phi=EvtRandom::Flat(phimin,phimax);
-
+
double cthetalab;
do{
//generate flat distribution in costheta
double ctheta=EvtRandom::Flat(cthetamin,cthetamax);
double stheta=sqrt(1.0-ctheta*ctheta);
p4.set(sqrt(mass*mass+pcm*pcm),pcm*cos(phi)*stheta,
pcm*sin(phi)*stheta,pcm*ctheta);
d->init( getDaug(0),p4);
//get 4 vector in the lab frame!
EvtVector4R p4lab=d->getP4Lab();
cthetalab=p4lab.get(3)/p4lab.d3mag();
}while (cthetalab>cthetamax||cthetalab<cthetamin);
return ;
}
diff --git a/src/EvtGenModels/EvtSll.cpp b/src/EvtGenModels/EvtSll.cpp
index e332209..7991b33 100644
--- a/src/EvtGenModels/EvtSll.cpp
+++ b/src/EvtGenModels/EvtSll.cpp
@@ -1,89 +1,87 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtSll.cc
//
// Description: The decay of a scalar meson to two leptons,
// or generally, two spin 1/2 particles.
// E.g., B0 -> tau+ tau-
//
// Modification history:
//
// SHY April 23, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtSll.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
-EvtSll::~EvtSll() {}
-
std::string EvtSll::getName(){
- return "SLL";
+ return "SLL";
}
EvtDecayBase* EvtSll::clone(){
return new EvtSll;
}
void EvtSll::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(2);
checkSpinParent(EvtSpinType::SCALAR);
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::DIRAC);
}
void EvtSll::decay(EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *l1, *l2;
l1 = p->getDaug(0);
l2 = p->getDaug(1);
EvtVector4R p4_p;
p4_p.set(p->mass(),0.0,0.0,0.0);
EvtVector4C l11, l12, l21, l22;
-
+
l11=EvtLeptonVACurrent(l1->spParent(0),l2->spParent(0));
l12=EvtLeptonVACurrent(l1->spParent(0),l2->spParent(1));
l21=EvtLeptonVACurrent(l1->spParent(1),l2->spParent(0));
l22=EvtLeptonVACurrent(l1->spParent(1),l2->spParent(1));
vertex(0,0,p4_p*l11);
vertex(0,1,p4_p*l12);
vertex(1,0,p4_p*l21);
vertex(1,1,p4_p*l22);
-
+
return;
}
diff --git a/src/EvtGenModels/EvtTSS.cpp b/src/EvtGenModels/EvtTSS.cpp
index 70c39e2..6c37dc8 100644
--- a/src/EvtGenModels/EvtTSS.cpp
+++ b/src/EvtGenModels/EvtTSS.cpp
@@ -1,84 +1,82 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTSS.cc
//
// Description: Routine to decay tensor-> scalar scalar
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
//
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtTSS.hh"
#include <string>
-EvtTSS::~EvtTSS() {}
-
std::string EvtTSS::getName(){
- return "TSS";
+ return "TSS";
}
EvtDecayBase* EvtTSS::clone(){
return new EvtTSS;
}
void EvtTSS::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(2);
checkSpinParent(EvtSpinType::TENSOR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtTSS::initProbMax() {
setProbMax(1.0);
-}
+}
void EvtTSS::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
- EvtVector4R moms1 = p->getDaug(0)->getP4();
+ EvtVector4R moms1 = p->getDaug(0)->getP4();
double norm = 1.0/(moms1.d3mag()*moms1.d3mag());
vertex(0,norm*(p->epsTensor(0).cont1(EvtVector4C(moms1))*(moms1)));
vertex(1,norm*(p->epsTensor(1).cont1(EvtVector4C(moms1))*(moms1)));
vertex(2,norm*(p->epsTensor(2).cont1(EvtVector4C(moms1))*(moms1)));
vertex(3,norm*(p->epsTensor(3).cont1(EvtVector4C(moms1))*(moms1)));
vertex(4,norm*(p->epsTensor(4).cont1(EvtVector4C(moms1))*(moms1)));
return ;
}
diff --git a/src/EvtGenModels/EvtTVP.cpp b/src/EvtGenModels/EvtTVP.cpp
index ef62f88..c3b1a60 100644
--- a/src/EvtGenModels/EvtTVP.cpp
+++ b/src/EvtGenModels/EvtTVP.cpp
@@ -1,219 +1,220 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTVP.cc
//
// Description: Routine to implement radiative decay chi_c2 -> psi gamma
// matrix element from [S.P Baranov et al, PRD 85, 014034 (2012)]
//
// Description: Routine to implement radiative decay
// chi_c2 -> psi gamma
// chi_c2 -> psi ell ell
//
// Modification history:
// AVL Jul 6, 2012: chi_c2 -> gamma psi mode created
// AVL Oct 10, 2017: chi_c2 -> psi mu mu mode created
// AVL Nov 9 2017: models joined
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenModels/EvtTVP.hh"
#include <cmath>
-EvtTVP::~EvtTVP() { }
-
std::string EvtTVP::getName()
{
return "TVP";
}
EvtDecayBase* EvtTVP::clone()
{
return new EvtTVP;
}
void EvtTVP::decay( EvtParticle *root )
{
if (getNDaug() == 2) {
decay_2body(root);
} else if (getNDaug() == 3) {
decay_3body(root);
}
}
void EvtTVP::init()
{
checkSpinParent(EvtSpinType::TENSOR);
if (getNDaug() == 2) { // chi -> gamma psi radiative mode
checkNArg(0);
checkSpinDaughter(0, EvtSpinType::PHOTON);
checkSpinDaughter(1, EvtSpinType::VECTOR);
} else if (getNDaug() == 3) { // chi -> psi lepton lepton
checkNDaug(3);
checkSpinDaughter(0, EvtSpinType::VECTOR);
checkSpinDaughter(1, EvtSpinType::DIRAC);
checkSpinDaughter(2, EvtSpinType::DIRAC);
checkNArg(1);
delta = getArg(0);
}
}
-void EvtTVP::initProbMax()
-{
+void EvtTVP::initProbMax() {
if (getNDaug() == 2) {
const EvtId parId = getParentId();
if (parId == EvtPDL::getId("chi_b2")) {
setProbMax(15.0);
} else {
setProbMax(2.0);
}
-
+
} else if (getNDaug() == 3) {
double dSq = delta*delta;
double denom = dSq - 0.2;
double ratio(1.0);
if (fabs(denom) > 1e-10) {ratio = dSq/denom;}
double ffCor = ratio*ratio;
const EvtId daugId = getDaug(1);
const EvtId parId = getParentId();
if (daugId == EvtPDL::getId("mu+") || daugId == EvtPDL::getId("mu-")) {
if (parId == EvtPDL::getId("chi_c2")) {
setProbMax(ffCor * 85.0); // tested on 1e6 events
} else if (parId == EvtPDL::getId("chi_b2")) {
setProbMax(ffCor * 750.0); // tested on 1e6 events
}
} else if (daugId == EvtPDL::getId("e+") || daugId == EvtPDL::getId("e-")) {
if (parId == EvtPDL::getId("chi_c2")) {
setProbMax(ffCor * 3.5e3); // tested on 1e5 events
} else if (parId == EvtPDL::getId("chi_b2")) {
setProbMax(ffCor * 2.6e4);
}
+
}
}
}
void EvtTVP::decay_2body(EvtParticle* root)
{
root->initializePhaseSpace(getNDaug(), getDaugs());
// Photon is the first particle and psi is the second
// to ensure decay file backwards compatibility
EvtParticle* photon = root->getDaug(0);
EvtParticle* psi = root->getDaug(1);
EvtVector4R p = psi->getP4(), // psi momentum
k = photon->getP4(); // Photon momentum
for (int iPsi = 0; iPsi < 3; iPsi++) {
EvtVector4C epsPsi = psi->epsParent(iPsi).conj();
for (int iGamma = 0; iGamma < 2; iGamma++) {
EvtVector4C epsGamma = photon->epsParentPhoton(iGamma).conj();
for (int iChi = 0; iChi < 5; iChi++) {
EvtTensor4C epsChi = root->epsTensor(iChi);
// Baranov PRD 85,014034 (2012), Eq 11
// amp = p^mu epsPsi^a epsChi_{a b} [k_mu epsGamma_b - k_b epsGamma_mu]
EvtVector4C eee = epsChi.cont1(epsPsi);
EvtVector4C vvv = (p * k) * eee - (k * eee) * p;
EvtComplex amp = vvv*epsGamma;
vertex(iChi, iGamma, iPsi, amp);
}
}
}
}
void EvtTVP::decay_3body(EvtParticle* root)
{
root->initializePhaseSpace(getNDaug(), getDaugs());
EvtParticle* psi = root->getDaug(0);
EvtParticle* mup = root->getDaug(1);
EvtParticle* mum = root->getDaug(2);
EvtVector4R p = psi->getP4(), // psi momentum
k1 = mup->getP4(), // mu+ momentum
k2 = mum->getP4(), // mu- momentum
k = k1 + k2; // photon momentum
double kSq = k*k;
// The decay amplitude needs four-vector products. Make sure we have
// valid values for these, otherwise set the amplitude to zero.
// We need to set _amp2 (EvtDecayAmp) via the vertex() function call
// even when the amplitude is zero, otherwise the amplitude from the
// previous accepted event will be used, potentially leading to biases
// Selection on k^2 to avoid inefficient generation for the electron modes
bool validAmp(true);
if (kSq < 1e-3) {validAmp = false;}
double dSq = delta*delta;
double dSqDenom = dSq - kSq;
if (fabs(dSqDenom) < 1e-10) {validAmp = false;}
double factor(1.0);
if (validAmp) {factor = dSq/(dSqDenom*kSq);}
// Calculate the amplitude terms, looping over the psi and lepton states
int iPols[4] = {0, 0, 0, 0};
for (int iChi = 0; iChi < 5; iChi++) {
iPols[0] = iChi;
EvtTensor4C epsChi = root->epsTensor(iChi);
for (int iPsi = 0; iPsi < 3; iPsi++) {
iPols[1] = iPsi;
EvtVector4C epsPsi = psi->epsParent(iPsi).conj();
for (int iMplus = 0; iMplus < 2; iMplus++) {
iPols[2] = iMplus;
EvtDiracSpinor spMplus = mup->spParent(iMplus);
for (int iMminus = 0; iMminus < 2; iMminus++) {
iPols[3] = iMminus;
EvtDiracSpinor spMminus = mum->spParent(iMminus);
EvtVector4C epsGamma = EvtLeptonVCurrent(spMplus, spMminus);
// Based on Baranov PRD 85,014034 (2012), Eq 11
// amp = p^mu epsPsi^a epsChi_{a b} [k_mu epsGamma_b - k_b epsGamma_mu]/k^2
EvtVector4C eee = epsChi.cont1(epsPsi);
EvtVector4C vvv = (p * k) * eee - (k * eee) * p;
EvtComplex amp(0.0, 0.0);
if (validAmp) {amp = vvv*epsGamma;}
amp *= factor;
// Set the amplitude matrix element using the vertex function
vertex(iPols, amp);
}
}
}
}
}
+
+
+
diff --git a/src/EvtGenModels/EvtTVSPwave.cpp b/src/EvtGenModels/EvtTVSPwave.cpp
index 465e4a2..a56c981 100644
--- a/src/EvtGenModels/EvtTVSPwave.cpp
+++ b/src/EvtGenModels/EvtTVSPwave.cpp
@@ -1,168 +1,166 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTVSPwave.cc
//
// Description: Routine to decay tensor-> vector scalar
// by specifying the partial waves
//
// Modification history:
//
// DJL/RYD August 11, 1997 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtTVSPwave.hh"
#include <string>
-EvtTVSPwave::~EvtTVSPwave() {}
-
std::string EvtTVSPwave::getName(){
- return "TVS_PWAVE";
+ return "TVS_PWAVE";
}
EvtDecayBase* EvtTVSPwave::clone(){
return new EvtTVSPwave;
}
void EvtTVSPwave::init(){
// check that there are 6 arguments
checkNArg(6);
checkNDaug(2);
-
+
checkSpinParent(EvtSpinType::TENSOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtTVSPwave::initProbMax(){
setProbMax(0.5);
}
void EvtTVSPwave::decay( EvtParticle *p ){
EvtComplex ap(getArg(0)*cos(getArg(1)),getArg(0)*sin(getArg(1)));
EvtComplex ad(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
EvtComplex af(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5)));
if (ap!=EvtComplex(0.0,0.0)||af!=EvtComplex(0.0,0.0)) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "dfslkh8945wqh:In EvtTensorToVectorScalar.c\n";
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "P or F wave not yet implemented!! (ryd) \n";
}
p->initializePhaseSpace(getNDaug(),getDaugs());
-
+
EvtParticle *v;
v = p->getDaug(0);
EvtVector4R momv = v->getP4();
double massv = v->mass();
EvtComplex temp;
temp = ad;
double m_parent = p->mass();
EvtVector4R p_parent;
-
+
p_parent.set(m_parent,0.0,0.0,0.0);
-
- EvtVector4C pep0,pep1,pep2,pep3,pep4;
+
+ EvtVector4C pep0,pep1,pep2,pep3,pep4;
EvtTensor4C pdual;
-
+
EvtVector4C epsdual0,epsdual1,epsdual2;
double norm=massv/(m_parent*momv.get(0)*momv.d3mag()*momv.d3mag());
pdual=dual(EvtGenFunctions::directProd(norm*p_parent,momv));
-
+
epsdual0=pdual.cont1(v->epsParent(0).conj());
epsdual1=pdual.cont1(v->epsParent(1).conj());
epsdual2=pdual.cont1(v->epsParent(2).conj());
-
+
pep0=p->epsTensor(0).cont1(momv);
pep1=p->epsTensor(1).cont1(momv);
pep2=p->epsTensor(2).cont1(momv);
pep3=p->epsTensor(3).cont1(momv);
pep4=p->epsTensor(4).cont1(momv);
vertex(0,0,pep0*epsdual0);
vertex(1,0,pep1*epsdual0);
vertex(2,0,pep2*epsdual0);
vertex(3,0,pep3*epsdual0);
vertex(4,0,pep4*epsdual0);
-
+
vertex(0,1,pep0*epsdual1);
vertex(1,1,pep1*epsdual1);
vertex(2,1,pep2*epsdual1);
vertex(3,1,pep3*epsdual1);
vertex(4,1,pep4*epsdual1);
-
+
vertex(0,2,pep0*epsdual2);
vertex(1,2,pep1*epsdual2);
vertex(2,2,pep2*epsdual2);
vertex(3,2,pep3*epsdual2);
vertex(4,2,pep4*epsdual2);
-
+
return ;
}
std::string EvtTVSPwave::getParamName(int i) {
switch(i) {
case 0:
return "PWave";
case 1:
return "PWavePhase";
case 2:
return "DWave";
case 3:
return "DWavePhase";
case 4:
return "FWave";
case 5:
return "FWavePhase";
default:
return "";
}
}
std::string EvtTVSPwave::getParamDefault(int i) {
switch(i) {
case 0:
return "0.0";
case 1:
return "0.0";
case 2:
return "1.0";
case 3:
return "0.0";
case 4:
return "0.0";
case 5:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtTauHadnu.cpp b/src/EvtGenModels/EvtTauHadnu.cpp
index 4b89fbc..eb46f9a 100644
--- a/src/EvtGenModels/EvtTauHadnu.cpp
+++ b/src/EvtGenModels/EvtTauHadnu.cpp
@@ -1,265 +1,263 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTauHadnu.cc
//
// Description: The leptonic decay of the tau meson.
// E.g., tau- -> e- nueb nut
//
// Modification history:
//
// RYD January 17, 1997 Module created
//
//------------------------------------------------------------------------
//
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtTauHadnu.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtIdSet.hh"
using namespace std;
-EvtTauHadnu::~EvtTauHadnu() {}
-
std::string EvtTauHadnu::getName(){
- return "TAUHADNU";
+ return "TAUHADNU";
}
EvtDecayBase* EvtTauHadnu::clone(){
return new EvtTauHadnu;
}
void EvtTauHadnu::init() {
// check that there are 0 arguments
checkSpinParent(EvtSpinType::DIRAC);
//the last daughter should be a neutrino
checkSpinDaughter(getNDaug()-1,EvtSpinType::NEUTRINO);
int i;
for ( i=0; i<(getNDaug()-1);i++) {
checkSpinDaughter(i,EvtSpinType::SCALAR);
}
bool validndaug=false;
if ( getNDaug()==4 ) {
//pipinu
validndaug=true;
checkNArg(7);
_beta = getArg(0);
_mRho = getArg(1);
_gammaRho = getArg(2);
_mRhopr = getArg(3);
_gammaRhopr = getArg(4);
_mA1 = getArg(5);
_gammaA1 = getArg(6);
}
if ( getNDaug()==3 ) {
//pipinu
validndaug=true;
checkNArg(5);
_beta = getArg(0);
_mRho = getArg(1);
_gammaRho = getArg(2);
_mRhopr = getArg(3);
_gammaRhopr = getArg(4);
}
if ( getNDaug()==2 ) {
//pipinu
validndaug=true;
checkNArg(0);
}
if ( !validndaug ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Have not yet implemented this final state in TAUHADNUKS model" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Ndaug="<<getNDaug() << endl;
int id;
- for ( id=0; id<(getNDaug()-1); id++ )
+ for ( id=0; id<(getNDaug()-1); id++ )
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Daug " << id << " "<<EvtPDL::name(getDaug(id)).c_str() << endl;
}
}
void EvtTauHadnu::initProbMax(){
if ( getNDaug()==2 ) setProbMax(90.0);
if ( getNDaug()==3 ) setProbMax(2500.0);
if ( getNDaug()==4 ) setProbMax(30000.0);
}
void EvtTauHadnu::decay(EvtParticle *p){
static EvtId TAUM=EvtPDL::getId("tau-");
EvtIdSet thePis("pi+","pi-","pi0");
EvtIdSet theKs("K+","K-");
p->initializePhaseSpace(getNDaug(),getDaugs());
-
+
EvtParticle *nut;
nut = p->getDaug(getNDaug()-1);
p->getDaug(0)->getP4();
- //get the leptonic current
+ //get the leptonic current
EvtVector4C tau1, tau2;
-
+
if (p->getId()==TAUM) {
tau1=EvtLeptonVACurrent(nut->spParentNeutrino(),p->sp(0));
tau2=EvtLeptonVACurrent(nut->spParentNeutrino(),p->sp(1));
}
else{
tau1=EvtLeptonVACurrent(p->sp(0),nut->spParentNeutrino());
tau2=EvtLeptonVACurrent(p->sp(1),nut->spParentNeutrino());
}
EvtVector4C hadCurr;
bool foundHadCurr=false;
if ( getNDaug() == 2 ) {
hadCurr = p->getDaug(0)->getP4();
foundHadCurr=true;
}
if ( getNDaug() == 3 ) {
//pi pi0 nu with rho and rhopr resonance
if ( thePis.contains(getDaug(0)) &&
thePis.contains(getDaug(1)) ) {
EvtVector4R q1 = p->getDaug(0)->getP4();
EvtVector4R q2 = p->getDaug(1)->getP4();
double m1 = q1.mass();
double m2 = q2.mass();
-
+
hadCurr = Fpi( (q1+q2).mass2(), m1, m2 ) * (q1-q2);
-
+
foundHadCurr = true;
}
}
if ( getNDaug() == 4 ) {
if ( thePis.contains(getDaug(0)) &&
thePis.contains(getDaug(1)) &&
thePis.contains(getDaug(2)) ) {
//figure out which is the different charged pi
//want it to be q3
int diffPi(0),samePi1(0),samePi2(0);
if ( getDaug(0) == getDaug(1) ) {diffPi=2; samePi1=0; samePi2=1;}
if ( getDaug(0) == getDaug(2) ) {diffPi=1; samePi1=0; samePi2=2;}
if ( getDaug(1) == getDaug(2) ) {diffPi=0; samePi1=1; samePi2=2;}
EvtVector4R q1=p->getDaug(samePi1)->getP4();
EvtVector4R q2=p->getDaug(samePi2)->getP4();
EvtVector4R q3=p->getDaug(diffPi)->getP4();
-
+
double m1 = q1.mass();
double m2 = q2.mass();
double m3 = q3.mass();
-
+
EvtVector4R Q = q1 + q2 + q3;
double Q2 = Q.mass2();
double _mA12 = _mA1*_mA1;
double _gammaA1X = _gammaA1 * gFunc( Q2, samePi1 )/gFunc( _mA12, samePi1 );
EvtComplex denBW_A1( _mA12 - Q2, -1.*_mA1*_gammaA1X );
EvtComplex BW_A1 = _mA12 / denBW_A1;
- hadCurr = BW_A1 * ( ((q1-q3)-(Q*(Q*(q1-q3))/Q2)) * Fpi( (q1+q3).mass2(), m1, m3) +
- ((q2-q3)-(Q*(Q*(q2-q3))/Q2)) * Fpi( (q2+q3).mass2(), m2, m3) );
+ hadCurr = BW_A1 * ( ((q1-q3)-(Q*(Q*(q1-q3))/Q2)) * Fpi( (q1+q3).mass2(), m1, m3) +
+ ((q2-q3)-(Q*(Q*(q2-q3))/Q2)) * Fpi( (q2+q3).mass2(), m2, m3) );
foundHadCurr = true;
-
+
}
}
if ( !foundHadCurr ) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Have not yet implemented this final state in TAUHADNUKS model" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Ndaug="<<getNDaug() << endl;
int id;
- for ( id=0; id<(getNDaug()-1); id++ )
+ for ( id=0; id<(getNDaug()-1); id++ )
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Daug " << id << " "<<EvtPDL::name(getDaug(id)).c_str() << endl;
}
-
+
vertex(0,tau1*hadCurr);
vertex(1,tau2*hadCurr);
-
-
+
+
return;
}
double EvtTauHadnu::gFunc(double Q2, int dupD) {
-
+
double mpi= EvtPDL::getMeanMass(getDaug(dupD));
double mpi2 = pow( mpi,2.);
if ( Q2 < pow(_mRho + mpi, 2.) ) {
double arg = Q2-9.*mpi2;
return 4.1 * pow(arg,3.) * (1. - 3.3*arg + 5.8*pow(arg,2.));
}
- else
+ else
return Q2 * (1.623 + 10.38/Q2 - 9.32/pow(Q2,2.) + 0.65/pow(Q2,3.));
}
EvtComplex EvtTauHadnu::Fpi( double s, double xm1, double xm2 ) {
EvtComplex BW_rho = BW( s, _mRho, _gammaRho, xm1, xm2 );
EvtComplex BW_rhopr = BW( s, _mRhopr, _gammaRhopr, xm1, xm2 );
-
-
+
+
return (BW_rho + _beta*BW_rhopr)/(1.+_beta);
}
EvtComplex EvtTauHadnu::BW( double s, double m, double gamma, double xm1, double xm2 ) {
-
+
double m2 = pow( m, 2.);
-
+
if ( s > pow( xm1+xm2, 2.) ) {
- double qs = sqrt( fabs( (s-pow(xm1+xm2,2.)) * (s-pow(xm1-xm2,2.)) ) ) / sqrt(s);
+ double qs = sqrt( fabs( (s-pow(xm1+xm2,2.)) * (s-pow(xm1-xm2,2.)) ) ) / sqrt(s);
double qm = sqrt( fabs( (m2-pow(xm1+xm2,2.)) * (m2-pow(xm1-xm2,2.)) ) ) / m;
-
- gamma *= m2/s * pow( qs/qm, 3.);
+
+ gamma *= m2/s * pow( qs/qm, 3.);
}
else
gamma = 0.;
EvtComplex denBW( m2 - s, -1.* sqrt(s) * gamma );
-
-
+
+
return m2 / denBW;
}
diff --git a/src/EvtGenModels/EvtTauScalarnu.cpp b/src/EvtGenModels/EvtTauScalarnu.cpp
index c247388..b5c2856 100644
--- a/src/EvtGenModels/EvtTauScalarnu.cpp
+++ b/src/EvtGenModels/EvtTauScalarnu.cpp
@@ -1,94 +1,92 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTauScalarnu.cc
//
// Description: The leptonic decay of the tau meson.
// E.g., tau- -> e- nueb nut
//
// Modification history:
//
// RYD January 17, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtTauScalarnu.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
-EvtTauScalarnu::~EvtTauScalarnu() {}
-
std::string EvtTauScalarnu::getName(){
- return "TAUSCALARNU";
+ return "TAUSCALARNU";
}
EvtDecayBase* EvtTauScalarnu::clone(){
return new EvtTauScalarnu;
}
void EvtTauScalarnu::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(2);
checkSpinParent(EvtSpinType::DIRAC);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::NEUTRINO);
}
void EvtTauScalarnu::initProbMax(){
setProbMax(90.0);
}
void EvtTauScalarnu::decay(EvtParticle *p){
static EvtId TAUM=EvtPDL::getId("tau-");
p->initializePhaseSpace(getNDaug(),getDaugs());
-
+
EvtParticle *nut;
nut = p->getDaug(1);
EvtVector4R momscalar = p->getDaug(0)->getP4();
-
+
EvtVector4C tau1, tau2;
-
+
if (p->getId()==TAUM) {
tau1=EvtLeptonVACurrent(nut->spParentNeutrino(),p->sp(0));
tau2=EvtLeptonVACurrent(nut->spParentNeutrino(),p->sp(1));
}
else{
tau1=EvtLeptonVACurrent(p->sp(0),nut->spParentNeutrino());
tau2=EvtLeptonVACurrent(p->sp(1),nut->spParentNeutrino());
}
-
+
vertex(0,tau1*momscalar);
vertex(1,tau2*momscalar);
return;
}
diff --git a/src/EvtGenModels/EvtTauVectornu.cpp b/src/EvtGenModels/EvtTauVectornu.cpp
index 2475719..2d226ba 100644
--- a/src/EvtGenModels/EvtTauVectornu.cpp
+++ b/src/EvtGenModels/EvtTauVectornu.cpp
@@ -1,99 +1,97 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTauVectornu.cc
//
// Description: The vector decay of the tau meson.
// E.g., tau- -> rho- + nut
//
// Modification history:
//
// RYD/SHY April 23, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtTauVectornu.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
-EvtTauVectornu::~EvtTauVectornu() {}
-
std::string EvtTauVectornu::getName(){
- return "TAUVECTORNU";
+ return "TAUVECTORNU";
}
EvtDecayBase* EvtTauVectornu::clone(){
return new EvtTauVectornu;
}
void EvtTauVectornu::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(2);
checkSpinParent(EvtSpinType::DIRAC);
-
+
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::NEUTRINO);
}
void EvtTauVectornu::initProbMax(){
setProbMax(55.0);
}
void EvtTauVectornu::decay(EvtParticle *p){
static EvtId TAUM=EvtPDL::getId("tau-");
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *v, *nut;
v=p->getDaug(0);
nut=p->getDaug(1);
double mvec = v->mass();
EvtVector4C tau1, tau2;
if (p->getId()==TAUM) {
tau1=EvtLeptonVACurrent(nut->spParentNeutrino(),p->sp(0));
tau2=EvtLeptonVACurrent(nut->spParentNeutrino(),p->sp(1));
}
else{
tau1=EvtLeptonVACurrent(p->sp(0),nut->spParentNeutrino());
tau2=EvtLeptonVACurrent(p->sp(1),nut->spParentNeutrino());
}
double norm=mvec*sqrt(mvec);
-
+
vertex(0,0,norm*tau1*(v->epsParent(0).conj()));
vertex(0,1,norm*tau1*(v->epsParent(1).conj()));
vertex(0,2,norm*tau1*(v->epsParent(2).conj()));
vertex(1,0,norm*tau2*(v->epsParent(0).conj()));
vertex(1,1,norm*tau2*(v->epsParent(1).conj()));
vertex(1,2,norm*tau2*(v->epsParent(2).conj()));
-
+
return;
}
diff --git a/src/EvtGenModels/EvtTaulnunu.cpp b/src/EvtGenModels/EvtTaulnunu.cpp
index d27eaa2..7eb7b31 100644
--- a/src/EvtGenModels/EvtTaulnunu.cpp
+++ b/src/EvtGenModels/EvtTaulnunu.cpp
@@ -1,105 +1,103 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtTaulnunu.cc
//
// Description: The leptonic decay of the tau meson.
// E.g., tau- -> e- nueb nut
//
// Modification history:
//
// RYD January 17, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtTaulnunu.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
-EvtTaulnunu::~EvtTaulnunu() {}
-
std::string EvtTaulnunu::getName(){
- return "TAULNUNU";
+ return "TAULNUNU";
}
EvtDecayBase* EvtTaulnunu::clone(){
return new EvtTaulnunu;
}
void EvtTaulnunu::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
checkSpinParent(EvtSpinType::DIRAC);
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::NEUTRINO);
checkSpinDaughter(2,EvtSpinType::NEUTRINO);
}
void EvtTaulnunu::initProbMax(){
setProbMax(650.0);
}
void EvtTaulnunu::decay(EvtParticle *p){
static EvtId TAUM=EvtPDL::getId("tau-");
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *l, *nul, *nut;
l = p->getDaug(0);
nul = p->getDaug(1);
nut = p->getDaug(2);
-
+
EvtVector4C l1, l2, tau1, tau2;
if (p->getId()==TAUM) {
tau1=EvtLeptonVACurrent(nut->spParentNeutrino(),p->sp(0));
tau2=EvtLeptonVACurrent(nut->spParentNeutrino(),p->sp(1));
l1=EvtLeptonVACurrent(l->spParent(0),nul->spParentNeutrino());
l2=EvtLeptonVACurrent(l->spParent(1),nul->spParentNeutrino());
}
else{
tau1=EvtLeptonVACurrent(p->sp(0),nut->spParentNeutrino());
tau2=EvtLeptonVACurrent(p->sp(1),nut->spParentNeutrino());
l1=EvtLeptonVACurrent(nul->spParentNeutrino(),l->spParent(0));
l2=EvtLeptonVACurrent(nul->spParentNeutrino(),l->spParent(1));
}
vertex(0,0,tau1*l1);
vertex(0,1,tau1*l2);
vertex(1,0,tau2*l1);
vertex(1,1,tau2*l2);
-
+
return;
}
diff --git a/src/EvtGenModels/EvtVPHOtoV.cpp b/src/EvtGenModels/EvtVPHOtoV.cpp
index d958d9f..675ec99 100644
--- a/src/EvtGenModels/EvtVPHOtoV.cpp
+++ b/src/EvtGenModels/EvtVPHOtoV.cpp
@@ -1,87 +1,85 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2004 Cornell
//
// Module: EvtVPHOtoV.cc
//
// Description: Routine to decay vpho -> vector
//
// Modification history:
//
// Ryd March 9, 2004 Module created
//
//------------------------------------------------------------------------
-//
+//
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVPHOtoV.hh"
#include <string>
-EvtVPHOtoV::~EvtVPHOtoV() {}
-
std::string EvtVPHOtoV::getName(){
- return "VPHOTOV";
-
+ return "VPHOTOV";
+
}
EvtDecayBase* EvtVPHOtoV::clone(){
return new EvtVPHOtoV;
}
void EvtVPHOtoV::init(){
// check that there are 0 arguments
checkNArg(0);
// check that there are 1 daughters
checkNDaug(1);
// check the parent and daughter spins
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
}
void EvtVPHOtoV::initProbMax() {
setProbMax(1.0);
-}
+}
void EvtVPHOtoV::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle* d=p->getDaug(0);
- d->setP4(p->getP4Restframe());
+ d->setP4(p->getP4Restframe());
vertex(0,0,p->eps(0)*p->epsParent(0).conj());
vertex(1,0,p->eps(1)*p->epsParent(0).conj());
vertex(2,0,p->eps(2)*p->epsParent(0).conj());
vertex(0,1,p->eps(0)*p->epsParent(1).conj());
vertex(1,1,p->eps(1)*p->epsParent(1).conj());
vertex(2,1,p->eps(2)*p->epsParent(1).conj());
vertex(0,2,p->eps(0)*p->epsParent(2).conj());
vertex(1,2,p->eps(1)*p->epsParent(2).conj());
vertex(2,2,p->eps(2)*p->epsParent(2).conj());
return;
}
diff --git a/src/EvtGenModels/EvtVPHOtoVISR.cpp b/src/EvtGenModels/EvtVPHOtoVISR.cpp
index b80d108..82e106f 100644
--- a/src/EvtGenModels/EvtVPHOtoVISR.cpp
+++ b/src/EvtGenModels/EvtVPHOtoVISR.cpp
@@ -1,194 +1,192 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2004 Cornell
//
// Module: EvtVPHOtoVISR.cc
//
// Description: Routine to decay vpho -> vector ISR photon
//
// Modification history:
//
// Ryd March 20, 2004 Module created
//
//------------------------------------------------------------------------
-//
+//
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenModels/EvtVPHOtoVISR.hh"
#include <string>
-EvtVPHOtoVISR::~EvtVPHOtoVISR() {}
-
std::string EvtVPHOtoVISR::getName(){
- return "VPHOTOVISR";
-
+ return "VPHOTOVISR";
+
}
EvtDecayBase* EvtVPHOtoVISR::clone(){
return new EvtVPHOtoVISR;
}
void EvtVPHOtoVISR::init(){
// check that there are 0 or 2 arguments
checkNArg(0,2);
// check that there are 2 daughters
checkNDaug(2);
// check the parent and daughter spins
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::PHOTON);
}
void EvtVPHOtoVISR::initProbMax() {
//setProbMax(100000.0);
-}
+}
void EvtVPHOtoVISR::decay( EvtParticle *p){
//take photon along z-axis, either forward or backward.
- //Implement this as generating the photon momentum along
- //the z-axis uniformly
+ //Implement this as generating the photon momentum along
+ //the z-axis uniformly
double w=p->mass();
double s=w*w;
double L=2.0*log(w/0.000511);
double alpha=1/137.0;
double beta=(L-1)*2.0*alpha/EvtConst::pi;
- //This uses the fact that there is a daughter of the
+ //This uses the fact that there is a daughter of the
//psi(3770)
assert(p->getDaug(0)->getDaug(0)!=0);
double md=EvtPDL::getMeanMass(p->getDaug(0)->getDaug(0)->getId());
static double mD0=EvtPDL::getMeanMass(EvtPDL::getId("D0"));
static double mDp=EvtPDL::getMeanMass(EvtPDL::getId("D+"));
double pgmax=(s-4.0*md*md)/(2.0*w);
assert(pgmax>0.0);
double pgz=0.99*pgmax*exp(log(EvtRandom::Flat(1.0))/beta);
if (EvtRandom::Flat(1.0)<0.5) pgz=-pgz;
double k=fabs(pgz);
EvtVector4R p4g(k,0.0,0.0,pgz);
EvtVector4R p4res=p->getP4Restframe()-p4g;
double mres=p4res.mass();
double ed=mres/2.0;
assert(ed>md);
double pd=sqrt(ed*ed-md*md);
//std::cout << "k, mres, w, md, ed, pd:"<<k<<" "<<mres<<" "<<w<<" "<<md<<" "<<ed<<" "<<pd<<std::endl;
p->getDaug(0)->init(getDaug(0),p4res);
p->getDaug(1)->init(getDaug(1),p4g);
double sigma=beta*pow(2/w,beta)*(1+alpha*(1.5*L-2.0+EvtConst::pi*EvtConst::pi/3.0)/EvtConst::pi);
double m=EvtPDL::getMeanMass(p->getDaug(0)->getId());
double Gamma=EvtPDL::getWidth(p->getDaug(0)->getId());
//mres is the energy of the psi(3770)
double p0=0.0;
if (ed>mD0) p0=sqrt(ed*ed-mD0*mD0);
double pp=0.0;
if (ed>mDp) pp=sqrt(ed*ed-mDp*mDp);
double p0norm=sqrt(0.25*m*m-mD0*mD0);
double ppnorm=sqrt(0.25*m*m-mDp*mDp);
double r0=12.7;
double rp=12.7;
if (getNArg()==2){
r0=getArg(0);
rp=getArg(1);
}
double GammaTot=Gamma*(pp*pp*pp/(1+pp*pp*rp*rp)+p0*p0*p0/(1+p0*p0*r0*r0))/
(ppnorm*ppnorm*ppnorm/(1+ppnorm*ppnorm*rp*rp)+
p0norm*p0norm*p0norm/(1+p0norm*p0norm*r0*r0));
-
+
sigma*=pd*pd*pd/((mres-m)*(mres-m)+0.25*GammaTot*GammaTot);
assert(sigma>0.0);
static double sigmax=sigma;
if (sigma>sigmax){
sigmax=sigma;
}
static int count=0;
count++;
//if (count%10000==0){
// std::cout << "sigma :"<<sigma<<std::endl;
// std::cout << "sigmax:"<<sigmax<<std::endl;
//}
double norm=sqrt(sigma);
vertex(0,0,0,norm*p->eps(0)*p->epsParent(0).conj());
vertex(1,0,0,norm*p->eps(1)*p->epsParent(0).conj());
vertex(2,0,0,norm*p->eps(2)*p->epsParent(0).conj());
vertex(0,1,0,norm*p->eps(0)*p->epsParent(1).conj());
vertex(1,1,0,norm*p->eps(1)*p->epsParent(1).conj());
vertex(2,1,0,norm*p->eps(2)*p->epsParent(1).conj());
vertex(0,2,0,norm*p->eps(0)*p->epsParent(2).conj());
vertex(1,2,0,norm*p->eps(1)*p->epsParent(2).conj());
vertex(2,2,0,norm*p->eps(2)*p->epsParent(2).conj());
vertex(0,0,1,norm*p->eps(0)*p->epsParent(0).conj());
vertex(1,0,1,norm*p->eps(1)*p->epsParent(0).conj());
vertex(2,0,1,norm*p->eps(2)*p->epsParent(0).conj());
vertex(0,1,1,norm*p->eps(0)*p->epsParent(1).conj());
vertex(1,1,1,norm*p->eps(1)*p->epsParent(1).conj());
vertex(2,1,1,norm*p->eps(2)*p->epsParent(1).conj());
vertex(0,2,1,norm*p->eps(0)*p->epsParent(2).conj());
vertex(1,2,1,norm*p->eps(1)*p->epsParent(2).conj());
vertex(2,2,1,norm*p->eps(2)*p->epsParent(2).conj());
return;
}
diff --git a/src/EvtGenModels/EvtVPHOtoVISRHi.cpp b/src/EvtGenModels/EvtVPHOtoVISRHi.cpp
index d705ec5..a0396db 100644
--- a/src/EvtGenModels/EvtVPHOtoVISRHi.cpp
+++ b/src/EvtGenModels/EvtVPHOtoVISRHi.cpp
@@ -1,325 +1,323 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2004 Cornell
//
// Module: EvtVPHOtoVISR.cc
//
// Description: Routine to decay vpho -> (DDx) + ISR photon from 3.9 to 4.3 GeV, using CLEO-c data (Brian Lang)
//
// Modification history:
//
// Ryd March 20, 2004 Module created
//
//------------------------------------------------------------------------
-//
+//
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenModels/EvtVPHOtoVISRHi.hh"
#include <string>
using std::endl;
-EvtVPHOtoVISRHi::~EvtVPHOtoVISRHi() {}
-
std::string EvtVPHOtoVISRHi::getName(){
- return "VPHOTOVISRHI";
-
+ return "VPHOTOVISRHI";
+
}
EvtDecayBase* EvtVPHOtoVISRHi::clone(){
return new EvtVPHOtoVISRHi;
}
void EvtVPHOtoVISRHi::init(){
// check that there are 0 or 1 arguments
checkNArg(0,1);
// check that there are 2 daughters
checkNDaug(2);
// check the parent and daughter spins
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::PHOTON);
}
void EvtVPHOtoVISRHi::initProbMax() {
setProbMax(20.0);
-}
+}
void EvtVPHOtoVISRHi::decay( EvtParticle *p){
//take photon along z-axis, either forward or backward.
- //Implement this as generating the photon momentum along
- //the z-axis uniformly
+ //Implement this as generating the photon momentum along
+ //the z-axis uniformly
double power=1;
if (getNArg()==1) power=getArg(0);
// define particle names
static EvtId D0=EvtPDL::getId("D0");
static EvtId D0B=EvtPDL::getId("anti-D0");
static EvtId DP=EvtPDL::getId("D+");
static EvtId DM=EvtPDL::getId("D-");
static EvtId DSM=EvtPDL::getId("D_s-");
static EvtId DSP=EvtPDL::getId("D_s+");
static EvtId DSMS=EvtPDL::getId("D_s*-");
static EvtId DSPS=EvtPDL::getId("D_s*+");
static EvtId D0S=EvtPDL::getId("D*0");
static EvtId D0BS=EvtPDL::getId("anti-D*0");
static EvtId DPS=EvtPDL::getId("D*+");
static EvtId DMS=EvtPDL::getId("D*-");
// setup some parameters
double w=p->mass();
double s=w*w;
double L=2.0*log(w/0.000511);
double alpha=1/137.0;
double beta=(L-1)*2.0*alpha/EvtConst::pi;
// make sure only 2 or 3 body are present
assert (p->getDaug(0)->getNDaug() == 2 || p->getDaug(0)->getNDaug() == 3);
// determine minimum rest mass of parent
double md1 = EvtPDL::getMeanMass(p->getDaug(0)->getDaug(0)->getId());
double md2 = EvtPDL::getMeanMass(p->getDaug(0)->getDaug(1)->getId());
double minResMass = md1+md2;
if (p->getDaug(0)->getNDaug() == 3) {
double md3 = EvtPDL::getMeanMass(p->getDaug(0)->getDaug(2)->getId());
minResMass = minResMass + md3;
}
-
+
// calculate the maximum energy of the ISR photon
double pgmax=(s-minResMass*minResMass)/(2.0*w);
double pgz=0.99*pgmax*exp(log(EvtRandom::Flat(1.0))/(beta*power));
if (EvtRandom::Flat(1.0)<0.5) pgz=-pgz;
-
+
double k=fabs(pgz);
- // print of ISR energy
+ // print of ISR energy
// std::cout << "Energy ISR :"<< k <<std::endl;
EvtVector4R p4g(k,0.0,0.0,pgz);
EvtVector4R p4res=p->getP4Restframe()-p4g;
double mres=p4res.mass();
// set masses
p->getDaug(0)->init(getDaug(0),p4res);
p->getDaug(1)->init(getDaug(1),p4g);
-
+
// determine XS - langbw
// very crude way of determining XS just a simple straight line Approx.
// this was determined by eye.
// lots of cout statements to make plots to check that things are working as expected
double sigma=9.0;
if (mres<=3.9) sigma = 0.00001;
bool sigmacomputed(false);
// DETERMINE XS FOR D*D*
- if (p->getDaug(0)->getNDaug() == 2
- &&((p->getDaug(0)->getDaug(0)->getId()==D0S
+ if (p->getDaug(0)->getNDaug() == 2
+ &&((p->getDaug(0)->getDaug(0)->getId()==D0S
&& p->getDaug(0)->getDaug(1)->getId()==D0BS)
- ||(p->getDaug(0)->getDaug(0)->getId()==DPS
+ ||(p->getDaug(0)->getDaug(0)->getId()==DPS
&& p->getDaug(0)->getDaug(1)->getId()==DMS))){
if(mres>4.18) {
sigma*=5./9.*(1.-1.*sqrt((4.18-mres)*(4.18-mres))/(4.3-4.18));
- }
+ }
else if(mres>4.07 && mres<=4.18) {
sigma*=5./9.;
- }
+ }
else if (mres<=4.07&&mres>4.03)
{
- sigma*=(5./9. - 1.5/9.*sqrt((4.07-mres)*(4.07-mres))/(4.07-4.03));
+ sigma*=(5./9. - 1.5/9.*sqrt((4.07-mres)*(4.07-mres))/(4.07-4.03));
}
else if (mres<=4.03&& mres>=4.013)
{
- sigma*=(3.5/9. - 3.5/9.*sqrt((4.03-mres)*(4.03-mres))/(4.03-4.013));
+ sigma*=(3.5/9. - 3.5/9.*sqrt((4.03-mres)*(4.03-mres))/(4.03-4.013));
}
- else{
- sigma=0.00001;
+ else{
+ sigma=0.00001;
}
sigmacomputed = true;
// std::cout << "DSDSXS "<<sigma<< " " << mres<<std::endl;
}
-
+
// DETERMINE XS FOR D*D
- if(p->getDaug(0)->getNDaug() == 2 && ((p->getDaug(0)->getDaug(0)->getId()==D0S
+ if(p->getDaug(0)->getNDaug() == 2 && ((p->getDaug(0)->getDaug(0)->getId()==D0S
&& p->getDaug(0)->getDaug(1)->getId()==D0B)
- ||(p->getDaug(0)->getDaug(0)->getId()==DPS
- && p->getDaug(0)->getDaug(1)->getId()==DM)
+ ||(p->getDaug(0)->getDaug(0)->getId()==DPS
+ && p->getDaug(0)->getDaug(1)->getId()==DM)
||(p->getDaug(0)->getDaug(0)->getId()==D0BS
&& p->getDaug(0)->getDaug(1)->getId()==D0)
- ||(p->getDaug(0)->getDaug(0)->getId()==DMS
+ ||(p->getDaug(0)->getDaug(0)->getId()==DMS
&& p->getDaug(0)->getDaug(1)->getId()==DP)) )
{
if(mres>=4.2){
sigma*=1.5/9.;
}
else if( mres>4.06 && mres<4.2){
sigma*=((1.5/9.+2.5/9.*sqrt((4.2-mres)*(4.2-mres))/(4.2-4.06)));
- }
+ }
else if(mres>=4.015 && mres<4.06){
sigma*=((4./9.+3./9.*sqrt((4.06-mres)*(4.06-mres))/(4.06-4.015)));
- }
+ }
else if (mres<4.015 && mres>=3.9){
- sigma*=((7./9.-7/9.*sqrt((4.015-mres)*(4.015-mres))/(4.015-3.9)));
- }
- else {
- sigma = 0.00001;
+ sigma*=((7./9.-7/9.*sqrt((4.015-mres)*(4.015-mres))/(4.015-3.9)));
+ }
+ else {
+ sigma = 0.00001;
}
sigmacomputed = true;
// std::cout << "DSDXS "<<sigma<< " " << mres<<std::endl;
}
-
+
// DETERMINE XS FOR Ds*Ds*
if (((p->getDaug(0)->getDaug(0)->getId()==DSPS && p->getDaug(0)->getDaug(1)->getId()==DSMS)))
{
if(mres>(2.112+2.112)){
- sigma=0.4;
+ sigma=0.4;
}
else {
-// sigma=0.4;
+// sigma=0.4;
// sigma = 0 surely below Ds*Ds* threshold? - ponyisi
sigma=0.00001;
}
sigmacomputed = true;
// std::cout << "DsSDsSXS "<<sigma<< " " << mres<<std::endl;
}
// DETERMINE XS FOR Ds*Ds
- if (p->getDaug(0)->getNDaug() == 2 && ((p->getDaug(0)->getDaug(0)->getId()==DSPS
+ if (p->getDaug(0)->getNDaug() == 2 && ((p->getDaug(0)->getDaug(0)->getId()==DSPS
&& p->getDaug(0)->getDaug(1)->getId()==DSM)
|| (p->getDaug(0)->getDaug(0)->getId()==DSMS
&& p->getDaug(0)->getDaug(1)->getId()==DSP)))
{
if(mres>4.26){
- sigma=0.05;
- }
+ sigma=0.05;
+ }
else if (mres>4.18 && mres<=4.26){
sigma*=1./9.*(0.05+0.95*sqrt((4.26-mres)*(4.26-mres))/(4.26-4.18));
- }
+ }
else if (mres>4.16 && mres<=4.18){
- sigma*=1/9.;
- }
+ sigma*=1/9.;
+ }
else if (mres<=4.16 && mres>4.08){
- sigma*=1/9.*(1-sqrt((4.16-mres)*(4.16-mres))/(4.16-4.08));
+ sigma*=1/9.*(1-sqrt((4.16-mres)*(4.16-mres))/(4.16-4.08));
}
else if (mres<=(4.08)){
- sigma=0.00001;
+ sigma=0.00001;
}
sigmacomputed = true;
// std::cout << "DsSDsXS "<<sigma<< " " << mres<<std::endl;
}
// DETERMINE XS FOR DD
- if (p->getDaug(0)->getNDaug() == 2 && ((p->getDaug(0)->getDaug(0)->getId()==D0
+ if (p->getDaug(0)->getNDaug() == 2 && ((p->getDaug(0)->getDaug(0)->getId()==D0
&& p->getDaug(0)->getDaug(1)->getId()==D0B)
- ||(p->getDaug(0)->getDaug(0)->getId()==DP
- && p->getDaug(0)->getDaug(1)->getId()==DM))){
- sigma*=0.4/9.;
+ ||(p->getDaug(0)->getDaug(0)->getId()==DP
+ && p->getDaug(0)->getDaug(1)->getId()==DM))){
+ sigma*=0.4/9.;
sigmacomputed = true;
// std::cout << "DDXS "<<sigma<< " " << mres<<std::endl;
- }
-
+ }
+
// DETERMINE XS FOR DsDs
if (p->getDaug(0)->getNDaug() == 2 && ((p->getDaug(0)->getDaug(0)->getId()==DSP && p->getDaug(0)->getDaug(1)->getId()==DSM))){
sigma*=0.2/9.;
sigmacomputed = true;
// std::cout << "DsDsXS "<<sigma<< " " << mres<<std::endl;
- }
+ }
// DETERMINE XS FOR MULTIBODY
if (p->getDaug(0)->getNDaug() == 3){
if(mres>4.03){
sigma*=0.5/9.;
}
else {
- sigma=0.00001;
+ sigma=0.00001;
}
sigmacomputed = true;
// std::cout << "DSDpiXS "<<sigma<< " " << mres<<std::endl;
}
if (! sigmacomputed) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "VPHOTOVISRHI: This model requires daughters to be listed in a particular order." << endl
<< "The following are acceptable:" << endl
<< "D0 anti-D0" << endl
<< "D+ D-" << endl
<< "D*0 anti-D0" << endl
<< "anti-D*0 D0" << endl
<< "D*+ D-" << endl
<< "D*- D+" << endl
<< "D*0 anti-D*0" << endl
<< "D*+ D*-" << endl
<< "D_s+ D_s-" << endl
<< "D_s*+ D_s-" << endl
<< "D_s*- D_s+" << endl
<< "D_s*+ D_s*-" << endl
<< "(D* D pi can be in any order)" << endl
<< "Aborting..." << endl;
assert(0);
}
if(sigma<0) sigma = 0.0;
// static double sigmax=sigma;
// if (sigma>sigmax){
// sigmax=sigma;
// }
-
+
static int count=0;
-
+
count++;
-
+
// if (count%10000==0){
// std::cout << "sigma :"<<sigma<<std::endl;
// std::cout << "sigmax:"<<sigmax<<std::endl;
// }
-
+
double norm=sqrt(sigma);
-
+
// EvtParticle* d=p->getDaug(0);
-
-
+
+
vertex(0,0,0,norm*p->eps(0)*p->epsParent(0).conj());
vertex(1,0,0,norm*p->eps(1)*p->epsParent(0).conj());
vertex(2,0,0,norm*p->eps(2)*p->epsParent(0).conj());
-
+
vertex(0,1,0,norm*p->eps(0)*p->epsParent(1).conj());
vertex(1,1,0,norm*p->eps(1)*p->epsParent(1).conj());
vertex(2,1,0,norm*p->eps(2)*p->epsParent(1).conj());
-
+
vertex(0,2,0,norm*p->eps(0)*p->epsParent(2).conj());
vertex(1,2,0,norm*p->eps(1)*p->epsParent(2).conj());
vertex(2,2,0,norm*p->eps(2)*p->epsParent(2).conj());
-
+
vertex(0,0,1,norm*p->eps(0)*p->epsParent(0).conj());
vertex(1,0,1,norm*p->eps(1)*p->epsParent(0).conj());
vertex(2,0,1,norm*p->eps(2)*p->epsParent(0).conj());
-
+
vertex(0,1,1,norm*p->eps(0)*p->epsParent(1).conj());
vertex(1,1,1,norm*p->eps(1)*p->epsParent(1).conj());
vertex(2,1,1,norm*p->eps(2)*p->epsParent(1).conj());
-
+
vertex(0,2,1,norm*p->eps(0)*p->epsParent(2).conj());
vertex(1,2,1,norm*p->eps(1)*p->epsParent(2).conj());
vertex(2,2,1,norm*p->eps(2)*p->epsParent(2).conj());
-
+
return;
}
diff --git a/src/EvtGenModels/EvtVSPPwave.cpp b/src/EvtGenModels/EvtVSPPwave.cpp
index a439a78..af093ae 100644
--- a/src/EvtGenModels/EvtVSPPwave.cpp
+++ b/src/EvtGenModels/EvtVSPPwave.cpp
@@ -1,104 +1,102 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVSPPwave.cc
//
// Description: Routine to decay vector-> scalar photon in P-wave
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtVSPPwave.hh"
#include "EvtGenBase/EvtReport.hh"
#include <string>
#include "EvtGenBase/EvtVector4C.hh"
-EvtVSPPwave::~EvtVSPPwave() {}
-
std::string EvtVSPPwave::getName(){
- return "VSP_PWAVE";
+ return "VSP_PWAVE";
}
EvtDecayBase* EvtVSPPwave::clone(){
return new EvtVSPPwave;
}
void EvtVSPPwave::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(2);
checkSpinParent(EvtSpinType::VECTOR);
-
+
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::PHOTON);
}
void EvtVSPPwave::initProbMax(){
setProbMax(1);
}
void EvtVSPPwave::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *gamma;
gamma = p->getDaug(1);
double m_p=p->mass();
EvtVector4R momgamma = gamma->getP4();
//work in the parent ,p, rest frame.
EvtVector4R p4_p;
p4_p.set(m_p, 0.0, 0.0, 0.0 );
// Put phase space results into the daughters.
-
+
EvtTensor4C tds;
double norm=1/(m_p*momgamma.d3mag());
tds = dual(EvtGenFunctions::directProd(norm*p4_p,momgamma));
vertex(0,0,(tds.cont1( p->eps(0))).cont(
gamma->epsParentPhoton(0).conj() ) );
vertex(0,1,(tds.cont1( p->eps(0))).cont(
gamma->epsParentPhoton(1).conj() ) );
vertex(1,0,(tds.cont1( p->eps(1))).cont(
gamma->epsParentPhoton(0).conj() ) );
vertex(1,1,(tds.cont1( p->eps(1))).cont(
gamma->epsParentPhoton(1).conj() ) );
vertex(2,0,(tds.cont1( p->eps(2))).cont(
gamma->epsParentPhoton(0).conj() ) );
vertex(2,1,(tds.cont1( p->eps(2))).cont(
gamma->epsParentPhoton(1).conj() ) );
return ;
}
diff --git a/src/EvtGenModels/EvtVSS.cpp b/src/EvtGenModels/EvtVSS.cpp
index cebf62e..60c331d 100644
--- a/src/EvtGenModels/EvtVSS.cpp
+++ b/src/EvtGenModels/EvtVSS.cpp
@@ -1,79 +1,77 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVSS.cc
//
// Description: Routine to decay vector-> scalar scalar
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVSS.hh"
#include <string>
-EvtVSS::~EvtVSS() {}
-
std::string EvtVSS::getName(){
- return "VSS";
-
+ return "VSS";
+
}
EvtDecayBase* EvtVSS::clone(){
return new EvtVSS;
}
void EvtVSS::init(){
// check that there are 0 arguments
checkNArg(0);
// check that there are 2 daughters
checkNDaug(2);
// check the parent and daughter spins
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtVSS::initProbMax() {
setProbMax(1.0);
-}
+}
void EvtVSS::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtVector4R pDaug = p->getDaug(0)->getP4();
-
+
double norm=1.0/pDaug.d3mag();
for (int i=0; i<3; i++) vertex(i,norm*pDaug*(p->eps(i)));
return;
}
diff --git a/src/EvtGenModels/EvtVSSBMixCPT.cpp b/src/EvtGenModels/EvtVSSBMixCPT.cpp
index 5f5f23b..13efe03 100644
--- a/src/EvtGenModels/EvtVSSBMixCPT.cpp
+++ b/src/EvtGenModels/EvtVSSBMixCPT.cpp
@@ -1,354 +1,352 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2002 INFN-Pisa
//
// Module: EvtVSSBMixCPT.cc
//
// Description:
// Routine to decay vector-> scalar scalar with coherent BB-like mixing
// including CPT effects
// Based on VSSBMIX
//
// Modification history:
//
-// F. Sandrelli, Fernando M-V March 03, 2002
+// F. Sandrelli, Fernando M-V March 03, 2002
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenModels/EvtVSSBMixCPT.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtRandom.hh"
using std::endl;
-EvtVSSBMixCPT::~EvtVSSBMixCPT() {}
-
std::string EvtVSSBMixCPT::getName(){
return "VSS_BMIX";
}
EvtDecayBase* EvtVSSBMixCPT::clone(){
return new EvtVSSBMixCPT;
}
void EvtVSSBMixCPT::init(){
if ( getNArg()>4) checkNArg(14,12,8);
if (getNArg()<1) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVSSBMix generator expected "
<< " at least 1 argument (deltam) but found:"<<getNArg()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
// check that we are asked to produced exactly 2 daughters
//4 are allowed if they are aliased..
checkNDaug(2,4);
if ( getNDaug()==4) {
if ( getDaug(0)!=getDaug(2)||getDaug(1)!=getDaug(3)){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVSSBMixCPT generator allows "
<< " 4 daughters only if 1=3 and 2=4"
<< " (but 3 and 4 are aliased "<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
}
// check that we are asked to decay a vector particle into a pair
// of scalar particles
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
// check that our daughter particles are charge conjugates of each other
if(!(EvtPDL::chargeConj(getDaug(0)) == getDaug(1))) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVSSBMixCPT generator expected daughters "
<< "to be charge conjugate." << endl
<< " Found " << EvtPDL::name(getDaug(0)).c_str() << " and "
<< EvtPDL::name(getDaug(1)).c_str() << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
// check that both daughter particles have the same lifetime
if(EvtPDL::getctau(getDaug(0)) != EvtPDL::getctau(getDaug(1))) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVSSBMixCPT generator expected daughters "
<< "to have the same lifetime." << endl
<< " Found ctau = "
<< EvtPDL::getctau(getDaug(0)) << " mm and "
<< EvtPDL::getctau(getDaug(1)) << " mm" << endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
// precompute quantities that will be used to generate events
// and print out a summary of parameters for this decay
// mixing frequency in hbar/mm
- _freq= getArg(0)/EvtConst::c;
+ _freq= getArg(0)/EvtConst::c;
- // deltaG
+ // deltaG
double gamma= 1/EvtPDL::getctau(getDaug(0)); // gamma/c (1/mm)
_dGamma=0.0;
double dgog=0.0;
if ( getNArg() > 1 ) {
dgog=getArg(1);
_dGamma=dgog*gamma;
}
// q/p
_qoverp = EvtComplex(1.0,0.0);
if ( getNArg() > 2){
- _qoverp = EvtComplex(getArg(2),0.0);
- }
+ _qoverp = EvtComplex(getArg(2),0.0);
+ }
if ( getNArg() > 3) {
_qoverp = getArg(2)*EvtComplex(cos(getArg(3)),sin(getArg(3)));
}
_poverq=1.0/_qoverp;
// decay amplitudes
_A_f=EvtComplex(1.0,0.0);
_Abar_f=EvtComplex(0.0,0.0);
_A_fbar=_Abar_f; // CPT conservation
_Abar_fbar=_A_f; // CPT conservation
if ( getNArg() > 4){
_A_f=getArg(4)*EvtComplex(cos(getArg(5)),sin(getArg(5))); // this allows for DCSD
- _Abar_f=getArg(6)*EvtComplex(cos(getArg(7)),sin(getArg(7))); // this allows for DCSD
+ _Abar_f=getArg(6)*EvtComplex(cos(getArg(7)),sin(getArg(7))); // this allows for DCSD
if ( getNArg() > 8 ){
- // CPT violation in decay
+ // CPT violation in decay
_A_fbar=getArg(8)*EvtComplex(cos(getArg(9)),sin(getArg(9)));
_Abar_fbar=getArg(10)*EvtComplex(cos(getArg(11)),sin(getArg(11)));
} else {
// CPT conservation in decay
_A_fbar=_Abar_f;
_Abar_fbar=_A_f;
}
}
// CPT violation in mixing
_z = EvtComplex(0.0,0.0);
if ( getNArg() > 12 ){
- _z = EvtComplex(getArg(12),getArg(13));
+ _z = EvtComplex(getArg(12),getArg(13));
}
// some printout
double tau= 1e12*EvtPDL::getctau(getDaug(0))/EvtConst::c; // in ps
double dm= 1e-12*getArg(0); // B0/anti-B0 mass difference in hbar/ps
- double x= dm*tau;
- double y= dgog*0.5; //y=dgamma/(2*gamma)
+ double x= dm*tau;
+ double y= dgog*0.5; //y=dgamma/(2*gamma)
double qop2 = abs(_qoverp*_qoverp);
_chib0_b0bar=qop2*(x*x+y*y)/(qop2*(x*x+y*y)+2+x*x-y*y); // does not include CPT in mixing
- _chib0bar_b0=(1/qop2)*(x*x+y*y)/((1/qop2)*(x*x+y*y)+2+x*x-y*y); // does not include CPT in mixing
+ _chib0bar_b0=(1/qop2)*(x*x+y*y)/((1/qop2)*(x*x+y*y)+2+x*x-y*y); // does not include CPT in mixing
if ( verbose() ) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << "VSS_BMIXCPT will generate mixing and CPT/CP effects in mixing:"
<< endl << endl
<< " " << EvtPDL::name(getParentId()).c_str() << " --> "
<< EvtPDL::name(getDaug(0)).c_str() << " + "
<< EvtPDL::name(getDaug(1)).c_str() << endl << endl
<< "using parameters:" << endl << endl
<< " delta(m) = " << dm << " hbar/ps" << endl
<< " _freq = " << _freq << " hbar/mm" << endl
<< " dgog = " << dgog <<endl
<< " dGamma = " << _dGamma <<" hbar/mm" <<endl
- << " q/p = " << _qoverp << endl
- << " z = " << _z << endl
+ << " q/p = " << _qoverp << endl
+ << " z = " << _z << endl
<< " tau = " << tau << " ps" << endl
<< " x = " << x << endl
<< " chi(B0->B0bar) = " << _chib0_b0bar << endl
- << " chi(B0bar->B0) = " << _chib0bar_b0 << endl
+ << " chi(B0bar->B0) = " << _chib0bar_b0 << endl
<< " Af = " << _A_f << endl
<< " Abarf = " << _Abar_f << endl
<< " Afbar = " << _A_fbar << endl
<< " Abarfbar = " << _Abar_fbar << endl
<< endl;
}
}
void EvtVSSBMixCPT::initProbMax(){
// this value is ok for reasonable values of all the parameters
setProbMax(4.0);
}
void EvtVSSBMixCPT::decay( EvtParticle *p ){
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
// generate a final state according to phase space
double rndm= EvtRandom::random();
if ( getNDaug()==4) {
EvtId tempDaug[2];
if ( rndm < 0.5 ) { tempDaug[0]=getDaug(0); tempDaug[1]=getDaug(3); }
else{ tempDaug[0]=getDaug(2); tempDaug[1]=getDaug(1); }
p->initializePhaseSpace(2,tempDaug);
}
else{ //nominal case.
p->initializePhaseSpace(2,getDaugs());
}
EvtParticle *s1,*s2;
s1 = p->getDaug(0);
s2 = p->getDaug(1);
//delete any daughters - if there are daughters, they
//are from the initialization and will be redone later
if ( s1->getNDaug() > 0 ) { s1->deleteDaughters();}
if ( s2->getNDaug() > 0 ) { s2->deleteDaughters();}
-
+
EvtVector4R p1= s1->getP4();
EvtVector4R p2= s2->getP4();
// throw a random number to decide if this final state should be mixed
rndm= EvtRandom::random();
int mixed= (rndm < 0.5) ? 1 : 0;
// if this decay is mixed, choose one of the 2 possible final states
// with equal probability (re-using the same random number)
if(mixed==1) {
EvtId mixedId= (rndm < 0.25) ? getDaug(0) : getDaug(1);
EvtId mixedId2= mixedId;
if (getNDaug()==4&&rndm<0.25) mixedId2=getDaug(2);
if (getNDaug()==4&&rndm>0.25) mixedId2=getDaug(3);
s1->init(mixedId, p1);
s2->init(mixedId2, p2);
}
// if this decay is unmixed, choose one of the 2 possible final states
// with equal probability (re-using the same random number)
if(mixed==0) {
EvtId unmixedId = (rndm < 0.75) ? getDaug(0) : getDaug(1);
EvtId unmixedId2= (rndm < 0.75) ? getDaug(1) : getDaug(0);
if (getNDaug()==4&&rndm<0.75) unmixedId2=getDaug(3);
if (getNDaug()==4&&rndm>0.75) unmixedId2=getDaug(2);
s1->init(unmixedId, p1);
s2->init(unmixedId2, p2);
}
// choose a decay time for each final state particle using the
// lifetime (which must be the same for both particles) in pdt.table
// and calculate the lifetime difference for this event
s1->setLifetime();
s2->setLifetime();
double dct= s1->getLifetime() - s2->getLifetime(); // in mm
// Convention: _dGamma=GammaLight-GammaHeavy
EvtComplex exp1(-0.25*_dGamma*dct,0.5*_freq*dct);
/*
//Find the flavor of the B that decayed first.
EvtId firstDec = (dct > 0 ) ? s2->getId() : s1->getId();
-
- //This tags the flavor of the other particle at that time.
- EvtId stateAtDeltaTeq0 = ( firstDec==B0 ) ? B0B : B0;
+
+ //This tags the flavor of the other particle at that time.
+ EvtId stateAtDeltaTeq0 = ( firstDec==B0 ) ? B0B : B0;
*/
EvtId stateAtDeltaTeq0 = (s2->getId()==B0) ? B0B : B0;
// calculate the oscillation amplitude, based on wether this event is mixed or not
EvtComplex osc_amp;
- //define some useful functions: (see BAD #188 eq. 39 for ref.)
- EvtComplex gp=0.5*(exp(-1.0*exp1)+exp(exp1));
+ //define some useful functions: (see BAD #188 eq. 39 for ref.)
+ EvtComplex gp=0.5*(exp(-1.0*exp1)+exp(exp1));
EvtComplex gm=0.5*(exp(-1.0*exp1)-exp(exp1));
EvtComplex sqz=sqrt(abs(1-_z*_z))*exp(EvtComplex(0,arg(1-_z*_z)/2));
-
- EvtComplex BB=gp+_z*gm; // <B0|B0(t)>
+
+ EvtComplex BB=gp+_z*gm; // <B0|B0(t)>
EvtComplex barBB=-sqz*_qoverp*gm; // <B0bar|B0(t)>
EvtComplex BbarB=-sqz*_poverq*gm; // <B0|B0bar(t)>
EvtComplex barBbarB=gp-_z*gm; // <B0bar|B0bar(t)>
//
if ( !mixed&&stateAtDeltaTeq0==B0 ) {
osc_amp= BB*_A_f+barBB*_Abar_f;
}
if ( !mixed&&stateAtDeltaTeq0==B0B ) {
osc_amp= barBbarB*_Abar_fbar+BbarB*_A_fbar;
}
if ( mixed&&stateAtDeltaTeq0==B0 ) {
- osc_amp=barBB*_Abar_fbar+BB*_A_fbar;
+ osc_amp=barBB*_Abar_fbar+BB*_A_fbar;
}
if ( mixed&&stateAtDeltaTeq0==B0B ) {
osc_amp=BbarB*_A_f+barBbarB*_Abar_f;
}
// store the amplitudes for each parent spin basis state
double norm=1.0/p1.d3mag();
vertex(0,norm*osc_amp*p1*(p->eps(0)));
vertex(1,norm*osc_amp*p1*(p->eps(1)));
vertex(2,norm*osc_amp*p1*(p->eps(2)));
return ;
}
std::string EvtVSSBMixCPT::getParamName(int i) {
switch(i) {
case 0:
return "deltaM";
case 1:
return "deltaGammaOverGamma";
case 2:
return "qOverP";
case 3:
return "qOverPPhase";
case 4:
return "Af";
case 5:
return "AfPhase";
case 6:
return "Abarf";
case 7:
return "AbarfPhase";
case 8:
return "Afbar";
case 9:
return "AfbarPhase";
case 10:
return "Abarfbar";
case 11:
return "AbarfbarPhase";
case 12:
return "Z";
case 13:
return "ZPhase";
default:
return "";
}
}
std::string EvtVSSBMixCPT::getParamDefault(int i) {
switch(i) {
case 3:
return "0.0";
case 4:
return "1.0";
case 5:
return "0.0";
case 6:
return "1.0";
case 7:
return "0.0";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtVSSMix.cpp b/src/EvtGenModels/EvtVSSMix.cpp
index eda67ce..2188f73 100644
--- a/src/EvtGenModels/EvtVSSMix.cpp
+++ b/src/EvtGenModels/EvtVSSMix.cpp
@@ -1,118 +1,116 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVSSMix.cc
//
// Description: Routine to decay vector-> scalar scalar
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenModels/EvtVSSMix.hh"
#include "EvtGenBase/EvtId.hh"
#include <string>
#include "EvtGenBase/EvtConst.hh"
-EvtVSSMix::~EvtVSSMix() {}
-
std::string EvtVSSMix::getName(){
- return "VSS_MIX";
+ return "VSS_MIX";
}
EvtDecayBase* EvtVSSMix::clone(){
return new EvtVSSMix;
}
void EvtVSSMix::init(){
// check that there are 1 arguments
checkNArg(1);
checkNDaug(2);
checkSpinParent(EvtSpinType::VECTOR);
-
+
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtVSSMix::initProbMax(){
setProbMax(0.5);
}
void EvtVSSMix::decay( EvtParticle *p ){
//added by Lange Jan4,2000
static EvtId B0=EvtPDL::getId("B0");
static EvtId B0B=EvtPDL::getId("anti-B0");
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *s1,*s2;
s1 = p->getDaug(0);
s2 = p->getDaug(1);
EvtVector4R s1mom = s1->getP4();
double t1,t2,dm;
s1->setLifetime();
s2->setLifetime();
t1=s1->getLifetime();
t2=s2->getLifetime();
//dm should probably be a parameter to this model.
dm=getArg(0)/EvtConst::c;
EvtId d1,d2;
d1=s1->getId();
d2=s2->getId();
double mix_amp=0.;
if (d1==B0&&d2==B0B) mix_amp=cos(0.5*dm*(t1-t2));
if (d1==B0B&&d2==B0) mix_amp=cos(0.5*dm*(t1-t2));
if (d1==B0&&d2==B0) mix_amp=sin(0.5*dm*(t1-t2));
if (d1==B0B&&d2==B0B) mix_amp=sin(0.5*dm*(t1-t2));
double norm=1.0/s1mom.d3mag();
vertex(0,norm*mix_amp*s1mom*(p->eps(0)));
vertex(1,norm*mix_amp*s1mom*(p->eps(1)));
vertex(2,norm*mix_amp*s1mom*(p->eps(2)));
return ;
}
std::string EvtVSSMix::getParamName(int i) {
switch(i) {
case 0:
return "deltaM";
default:
return "";
}
}
diff --git a/src/EvtGenModels/EvtVVP.cpp b/src/EvtGenModels/EvtVVP.cpp
index d04a815..ad543ec 100644
--- a/src/EvtGenModels/EvtVVP.cpp
+++ b/src/EvtGenModels/EvtVVP.cpp
@@ -1,195 +1,191 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVVP.cc
//
// Description: Routine to implement radiative decay
// chi_c1 -> psi gamma
// chi_c1 -> psi ell ell
//
//
// Modification history:
// RYD September 5, 1997 Module created
// AVL Oct 10, 2017: chi_c0 -> psi mu mu mode created
// AVL Nov 9 2017: models joined
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtSpinType.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenModels/EvtVVP.hh"
#include <cmath>
-EvtVVP::~EvtVVP() {}
-
std::string EvtVVP::getName()
{
return "VVP";
}
EvtDecayBase* EvtVVP::clone()
{
return new EvtVVP;
}
void EvtVVP::init()
{
checkSpinParent(EvtSpinType::VECTOR);
if (getNDaug() == 2) { // chi -> gamma psi radiative mode
// This model needs 0 parameters, but previously was defined as requiring 8!
// Check for 0 or 8 parameters in the decay file for backwards compatibility
checkNArg(0,8);
checkNDaug(2);
checkSpinDaughter(0, EvtSpinType::VECTOR);
checkSpinDaughter(1, EvtSpinType::PHOTON);
} else if (getNDaug() == 3) { // chi -> psi lepton lepton
checkSpinDaughter(0, EvtSpinType::VECTOR);
checkSpinDaughter(1, EvtSpinType::DIRAC);
checkSpinDaughter(2, EvtSpinType::DIRAC);
checkNArg(1);
delta = getArg(0);
}
}
-void EvtVVP::initProbMax()
-{
+void EvtVVP::initProbMax(){
if (getNDaug() == 2) {
setProbMax(2.0);
} else if (getNDaug() == 3) {
const EvtId daugId = getDaug(1);
if (daugId == EvtPDL::getId("mu+") || daugId == EvtPDL::getId("mu-")) {
setProbMax(15.0);
} else if (daugId == EvtPDL::getId("e+") || daugId == EvtPDL::getId("e-")) {
setProbMax(600.0);
}
}
}
-void EvtVVP::decay(EvtParticle *root)
-{
+void EvtVVP::decay(EvtParticle *root){
if (getNDaug() == 2) {
decay_2body(root);
} else if (getNDaug() == 3) {
decay_3body(root);
}
}
void EvtVVP::decay_2body(EvtParticle* p)
{
p->initializePhaseSpace(getNDaug(), getDaugs());
// Vector is first particle, photon is the second
EvtParticle *v, *ph;
v = p->getDaug(0);
ph = p->getDaug(1);
EvtVector3C epsp[3];
EvtVector3C epsv[3];
EvtVector3C epsph[2];
epsp[0] = p->eps(0).vec();
epsp[1] = p->eps(1).vec();
epsp[2] = p->eps(2).vec();
epsv[0] = v->eps(0).vec().conj();
epsv[1] = v->eps(1).vec().conj();
epsv[2] = v->eps(2).vec().conj();
epsph[0] = ph->epsParentPhoton(0).vec().conj();
epsph[1] = ph->epsParentPhoton(1).vec().conj();
int i, j, k;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 2; k++) {
vertex(i, j, k, epsp[i].cross(epsv[j]) * epsph[k]);
}
}
}
}
void EvtVVP::decay_3body(EvtParticle* root)
{
root->initializePhaseSpace(getNDaug(), getDaugs());
EvtParticle* psi = root->getDaug(0);
EvtParticle* mup = root->getDaug(1);
EvtParticle* mum = root->getDaug(2);
EvtVector4R k1 = mup->getP4(), // mu+ momentum
k2 = mum->getP4(), // mu- momentum
k = k1 + k2; // photon momentum
double kSq = k*k;
// The decay amplitude needs four-vector products. Make sure we have
// valid values for these, otherwise set the amplitude to zero.
// We need to set _amp2 (EvtDecayAmp) via the vertex() function call
// even when the amplitude is zero, otherwise the amplitude from the
// previous accepted event will be used, potentially leading to biases
// Selection on k^2 to avoid inefficient generation for the electron modes
bool validAmp(true);
if (kSq < 1e-3) {validAmp = false;}
// Extra checks to make sure we are not dividing by zero
double dSq = delta*delta;
double dSqDenom = dSq - kSq;
if (fabs(dSqDenom) < 1e-10) {validAmp = false;}
double factor(1.0);
if (validAmp) {factor = dSq/(dSqDenom*kSq);}
int iPols[4] = {0, 0, 0, 0};
// Calculate the amplitude terms, looping over the chi, psi and lepton states
for (int iChi = 0; iChi < 3; iChi++) {
iPols[0] = iChi;
EvtVector4C epsChi = root->epsParent(iChi);
for (int iPsi = 0; iPsi < 3; iPsi++) {
iPols[1] = iPsi;
EvtVector4C epsPsi = psi->epsParent(iPsi).conj();
for (int iMplus = 0; iMplus < 2; iMplus++) {
iPols[2] = iMplus;
EvtDiracSpinor spMplus = mup->spParent(iMplus);
for (int iMminus = 0; iMminus < 2; iMminus++) {
iPols[3] = iMminus;
EvtDiracSpinor spMminus = mum->spParent(iMminus);
EvtVector4C epsGamma = EvtLeptonVCurrent(spMplus, spMminus).conj();
// Based on Baranov PRD 85,014034 (2012), Eq 10
// amp = e_{mu nu alpha beta} epsChi^mu epsPsi^nu epsGamma^alpha k^beta/k^2
EvtComplex amp(0.0, 0.0);
if (validAmp) {
amp = k*dual(EvtGenFunctions::directProd(epsChi, epsPsi)).cont1(epsGamma);
}
amp *= factor;
// Set the amplitude matrix element using the vertex function
vertex(iPols, amp);
}
}
}
}
}
diff --git a/src/EvtGenModels/EvtVVPIPI_WEIGHTED.cpp b/src/EvtGenModels/EvtVVPIPI_WEIGHTED.cpp
index 24f5537..2e9fc58 100644
--- a/src/EvtGenModels/EvtVVPIPI_WEIGHTED.cpp
+++ b/src/EvtGenModels/EvtVVPIPI_WEIGHTED.cpp
@@ -1,135 +1,133 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVVSPwave.cc
//
-// Description: Routine to decay vector-> vector pi pi where the
+// Description: Routine to decay vector-> vector pi pi where the
// decay is S-wave dominated.
//
// Modification history:
//
// Jim Hunt June 4, 2008 Module Created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVVPIPI_WEIGHTED.hh"
#include <string>
using std::endl;
-EvtVVPIPI_WEIGHTED::~EvtVVPIPI_WEIGHTED() {}
-
std::string EvtVVPIPI_WEIGHTED::getName(){
- return "VVPIPI_WEIGHTED";
+ return "VVPIPI_WEIGHTED";
}
EvtDecayBase* EvtVVPIPI_WEIGHTED::clone(){
return new EvtVVPIPI_WEIGHTED;
}
void EvtVVPIPI_WEIGHTED::init(){
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PIM=EvtPDL::getId("pi-");
static EvtId PI0=EvtPDL::getId("pi0");
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
if ((!(getDaug(1)==PIP&&getDaug(2)==PIM))&&
(!(getDaug(1)==PI0&&getDaug(2)==PI0))) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVVPIPI_WEIGHTED generator expected "
<< " pi+ and pi- (or pi0 and pi0) "
<< "as 2nd and 3rd daughter. "<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
}
void EvtVVPIPI_WEIGHTED::initProbMax() {
//Hard coded... should not be hard to calculate...
setProbMax(0.08* 1.13 );
-}
+}
double reweight_event(double pipi_mass)
{
pipi_mass *= 1000.0;
return sqrt(
-3.6911336508223251 +
0.019119831948029617 * pipi_mass +
-1.8962883732377376e-05 * pipi_mass * pipi_mass
);
}
void EvtVVPIPI_WEIGHTED::decay( EvtParticle *psi_prime){
psi_prime->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *jpsi,*pi1,*pi2;
-
+
jpsi=psi_prime->getDaug(0);
pi1=psi_prime->getDaug(1);
pi2=psi_prime->getDaug(2);
// Put phase space results into the daughters.
-
- EvtVector4C ep0,ep1,ep2;
-
+
+ EvtVector4C ep0,ep1,ep2;
+
ep0=psi_prime->eps(0);
ep1=psi_prime->eps(1);
ep2=psi_prime->eps(2);
- EvtVector4C e0,e1,e2;
+ EvtVector4C e0,e1,e2;
e0 = jpsi->epsParent(0);
e1 = jpsi->epsParent(1);
e2 = jpsi->epsParent(2);
double mass2 = (pi1->getP4()+pi2->getP4()).mass2();
double fac = mass2-4*pi1->mass()*pi2->mass();
fac *= reweight_event(sqrt(mass2));
vertex(0,0,fac*(ep0*e0.conj()));
vertex(0,1,fac*(ep0*e1.conj()));
vertex(0,2,fac*(ep0*e2.conj()));
-
+
vertex(1,0,fac*(ep1*e0.conj()));
vertex(1,1,fac*(ep1*e1.conj()));
vertex(1,2,fac*(ep1*e2.conj()));
-
+
vertex(2,0,fac*(ep2*e0.conj()));
vertex(2,1,fac*(ep2*e1.conj()));
vertex(2,2,fac*(ep2*e2.conj()));
return ;
}
diff --git a/src/EvtGenModels/EvtVVSPwave.cpp b/src/EvtGenModels/EvtVVSPwave.cpp
index 5145ada..7e1326a 100644
--- a/src/EvtGenModels/EvtVVSPwave.cpp
+++ b/src/EvtGenModels/EvtVVSPwave.cpp
@@ -1,114 +1,112 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVVSPwave.cc
//
// Description: Routine to decay vector-> vector scalar in Partial-wave
// Routine to decay a vector into a vector and scalar. Started
// by ryd on Aug 20, 1996.
//
// Modification history:
//
// RYD November 24, 1996 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVVSPwave.hh"
#include <string>
using std::endl;
-EvtVVSPwave::~EvtVVSPwave() {}
-
std::string EvtVVSPwave::getName(){
- return "VVS_PWAVE";
+ return "VVS_PWAVE";
}
EvtDecayBase* EvtVVSPwave::clone(){
return new EvtVVSPwave;
}
void EvtVVSPwave::init(){
// check that there are 6 arguments
checkNArg(6);
checkNDaug(2);
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::SCALAR);
}
void EvtVVSPwave::initProbMax() {
//probmax is 1.0 for all possible decays I think!
setProbMax(1.0);
-}
+}
void EvtVVSPwave::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtComplex as(getArg(0)*cos(getArg(1)),getArg(0)*sin(getArg(1)));
EvtComplex ap(getArg(2)*cos(getArg(3)),getArg(2)*sin(getArg(3)));
EvtComplex ad(getArg(4)*cos(getArg(5)),getArg(4)*sin(getArg(5)));
if (ap!=EvtComplex(0.0,0.0)) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "In EvtVectorToVectorScalar.cc"<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "P wave not yet implemented!!"<<endl;
::abort();
}
-
+
EvtParticle *v;
v=p->getDaug(0);
EvtTensor4C d,g;
-
+
g.setdiag(1.0,-1.0,-1.0,-1.0);
d=ad*((1.0/(v->getP4().d3mag()*v->getP4().d3mag()))*
EvtGenFunctions::directProd(v->getP4(),v->getP4())+(1/3.0)*g)+
as*g;
- EvtVector4C ep0,ep1,ep2;
-
+ EvtVector4C ep0,ep1,ep2;
+
ep0=d.cont1(p->eps(0));
ep1=d.cont1(p->eps(1));
ep2=d.cont1(p->eps(2));
vertex(0,0,ep0.cont(v->eps(0).conj()));
vertex(0,1,ep0.cont(v->eps(1).conj()));
vertex(0,2,ep0.cont(v->eps(2).conj()));
-
+
vertex(1,0,ep1.cont(v->eps(0).conj()));
vertex(1,1,ep1.cont(v->eps(1).conj()));
vertex(1,2,ep1.cont(v->eps(2).conj()));
-
+
vertex(2,0,ep2.cont(v->eps(0).conj()));
vertex(2,1,ep2.cont(v->eps(1).conj()));
vertex(2,2,ep2.cont(v->eps(2).conj()));
return ;
}
diff --git a/src/EvtGenModels/EvtVVpipi.cpp b/src/EvtGenModels/EvtVVpipi.cpp
index d8d8332..e3b8049 100644
--- a/src/EvtGenModels/EvtVVpipi.cpp
+++ b/src/EvtGenModels/EvtVVpipi.cpp
@@ -1,120 +1,118 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVVSPwave.cc
//
-// Description: Routine to decay vector-> vector pi pi where the
+// Description: Routine to decay vector-> vector pi pi where the
// decay is S-wave dominated.
//
// Modification history:
//
// RYD December 11, 1999 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVVpipi.hh"
#include <string>
using std::endl;
-EvtVVpipi::~EvtVVpipi() {}
-
std::string EvtVVpipi::getName(){
- return "VVPIPI";
+ return "VVPIPI";
}
EvtDecayBase* EvtVVpipi::clone(){
return new EvtVVpipi;
}
void EvtVVpipi::init(){
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PIM=EvtPDL::getId("pi-");
static EvtId PI0=EvtPDL::getId("pi0");
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
if ((!(getDaug(1)==PIP&&getDaug(2)==PIM))&&
(!(getDaug(1)==PI0&&getDaug(2)==PI0))) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVVpipi generator expected "
<< " pi+ and pi- (or pi0 and pi0) "
<< "as 2nd and 3rd daughter. "<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
}
void EvtVVpipi::initProbMax() {
//Hard coded... should not be hard to calculate...
setProbMax(0.08);
-}
+}
void EvtVVpipi::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *v,*s1,*s2;
-
+
v=p->getDaug(0);
s1=p->getDaug(1);
s2=p->getDaug(2);
// Put phase space results into the daughters.
-
- EvtVector4C ep0,ep1,ep2;
-
+
+ EvtVector4C ep0,ep1,ep2;
+
ep0=p->eps(0);
ep1=p->eps(1);
ep2=p->eps(2);
double fac=(s1->getP4()+s2->getP4()).mass2()-4*s1->mass()*s2->mass();
vertex(0,0,fac*(ep0*v->epsParent(0).conj()));
vertex(0,1,fac*(ep0*v->epsParent(1).conj()));
vertex(0,2,fac*(ep0*v->epsParent(2).conj()));
-
+
vertex(1,0,fac*(ep1*v->epsParent(0).conj()));
vertex(1,1,fac*(ep1*v->epsParent(1).conj()));
vertex(1,2,fac*(ep1*v->epsParent(2).conj()));
-
+
vertex(2,0,fac*(ep2*v->epsParent(0).conj()));
vertex(2,1,fac*(ep2*v->epsParent(1).conj()));
vertex(2,2,fac*(ep2*v->epsParent(2).conj()));
return ;
}
diff --git a/src/EvtGenModels/EvtVectorIsr.cpp b/src/EvtGenModels/EvtVectorIsr.cpp
index bfdc6fe..21fe7ce 100644
--- a/src/EvtGenModels/EvtVectorIsr.cpp
+++ b/src/EvtGenModels/EvtVectorIsr.cpp
@@ -1,427 +1,426 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVectorIsr.cc
//
-// Description:
+// Description:
// This is a special decay model to generate e+e- -> phi gamma + soft gammas
// using soft collinear ISR calculation from AfkQed
// This is implemented as a decay of the VPHO.
//
// Modification history:
//
// Joe Izen Oct, 2005 Soft Colinear Photons (secondary ISR) ported from AfkQed
-// Joe Izen Dec 16, 2002 Fix cos_theta distribution - prevents boom at cos_theta=+/-1
+// Joe Izen Dec 16, 2002 Fix cos_theta distribution - prevents boom at cos_theta=+/-1
// RYD/Adriano June 16, 1998 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <iomanip>
#include <sstream>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPhotonParticle.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtAbsLineShape.hh"
#include "EvtGenModels/EvtVectorIsr.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenBase/EvtAbsLineShape.hh"
#include <string>
#include "EvtGenBase/EvtVector4C.hh"
-EvtVectorIsr::~EvtVectorIsr() {}
std::string EvtVectorIsr::getName(){
- return "VECTORISR";
+ return "VECTORISR";
}
EvtDecayBase* EvtVectorIsr::clone(){
return new EvtVectorIsr;
}
void EvtVectorIsr::init(){
// check that there are 2 arguments
-
+
checkNDaug(2);
-
+
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
checkSpinDaughter(1,EvtSpinType::PHOTON);
int narg = getNArg();
if ( narg > 4 ) checkNArg(4);
csfrmn=1.;
csbkmn=1.;
fmax=1.2;
firstorder=false;
if ( narg > 0 ) csfrmn=getArg(0);
if ( narg > 1 ) csbkmn=getArg(1);
if ( narg > 2 ) fmax=getArg(2);
if ( narg > 3 ) firstorder=true;
}
void EvtVectorIsr::initProbMax(){
noProbMax();
}
void EvtVectorIsr::decay( EvtParticle *p ){
//the elctron mass
double electMass=EvtPDL::getMeanMass(EvtPDL::getId("e-"));
static EvtId gammaId=EvtPDL::getId("gamma");
EvtParticle *phi;
EvtParticle *gamma;
//4-mom of the two colinear photons to the decay of the vphoton
EvtVector4R p4softg1(0.,0.,0.,0.);
EvtVector4R p4softg2(0.,0.,0.,0.);
//get pointers to the daughters set
//get masses/initial phase space - will overwrite the
//p4s below to get the kinematic distributions correct
p->initializePhaseSpace(getNDaug(),getDaugs());
phi=p->getDaug(0);
gamma=p->getDaug(1);
//Generate soft colinear photons and the electron and positron energies after emission.
//based on method of AfkQed and notes of Vladimir Druzhinin.
//
//function ckhrad(eb,q2m,r1,r2,e01,e02,f_col)
//eb: energy of incoming electrons in CM frame
//q2m: minimum invariant mass of the virtual photon after soft colinear photon emission
//returned arguments
//e01,e02: energies of e+ and e- after soft colinear photon emission
//fcol: weighting factor for Born cross section for use in an accept/reject test.
double wcm=p->mass();
double eb=0.5*wcm;
//TO guarantee the collinear photons are softer than the ISR photon, require q2m > m*wcm
double q2m=phi->mass()*wcm;
double f_col(0.);
double e01(0.);
double e02(0.);
double ebeam=eb;
double wcm_new = wcm;
double s_new = wcm*wcm;
double fran = 1.;
double f = 0;
int m = 0;
double largest_f=0;//only used when determining max weight for this vector particle mass
-
+
if (!firstorder){
while (fran > f){
- m++;
-
+ m++;
+
int n=0;
while (f_col == 0.){
n++;
ckhrad(eb,q2m,e01,e02,f_col);
if (n > 10000){
EvtGenReport(EVTGEN_INFO,"EvtGen") << "EvtVectorIsr is having problems. Called ckhrad 10000 times.\n";
assert(0);
}
}
-
+
//Effective beam energy after soft photon emission (neglecting electron mass)
ebeam = sqrt(e01*e02);
wcm_new = 2*ebeam;
s_new = wcm_new*wcm_new;
-
+
//The Vector mass should never be greater than wcm_new
if (phi->mass() > wcm_new){
EvtGenReport(EVTGEN_INFO,"EvtGen") << "EvtVectorIsr finds Vector mass="<<phi->mass()<<" > Weff=" << wcm_new<<". Should not happen\n";
assert(0);
}
-
+
//Determine Born cross section @ wcm_new for e+e- -> gamma V. We aren't interested in the absolute normalization
//Just the functional dependence. Assuming a narrow resonance when determining cs_Born
double cs_Born = 1.;
if (EvtPDL::getMaxRange(phi->getId()) > 0.) {
double x0 = 1 - EvtPDL::getMeanMass(phi->getId())*EvtPDL::getMeanMass(phi->getId())/s_new;
-
- //L = log(s/(electMass*electMass)
+
+ //L = log(s/(electMass*electMass)
double L = 2.*log(wcm_new/electMass);
-
+
// W(x0) is actually 2*alpha/pi times the following
double W = (L-1.)*(1. - x0 +0.5*x0*x0);
-
+
//Born cross section is actually 12*pi*pi*Gammaee/EvtPDL::getMeanMass(phi->getId()) times the following
//(we'd need the full W(x0) as well)
cs_Born = W/s_new;
}
-
+
f = cs_Born*f_col;
//if fmax was set properly, f should NEVER be larger than fmax
if (f > fmax && fmax > 0.){
EvtGenReport(EVTGEN_INFO,"EvtGen") << "EvtVectorIsr finds a problem with fmax, the maximum weight setting\n"
<< "fmax is the third decay argument in the .dec file. VectorIsr attempts to set it reasonably if it wasn't provided\n"
<< "To determine a more appropriate value, build GeneratorQAApp, and set the third argument for this decay <0.\n"
<< "If you haven't been providing the first 2 arguments, set them to be 1. 1.). The program will report\n"
<< "the largest weight it finds. You should set fmax to be slightly larger.\n"
<< "Alternatively try the following values for various vector particles: "
<< "phi->1.15 J/psi-psi(4415)->0.105\n"
<< "The current value of f and fmax for " << EvtPDL::name(phi->getId()) << " are " << f << " " << fmax << "\n"
<< "Will now assert\n";
assert(0);
}
-
+
if (fmax > 0.) {
fran = fmax*EvtRandom::Flat(0.0,1.0);
}
-
+
else {
//determine max weight for this vector particle mass
if (f>largest_f) {
largest_f = f;
EvtGenReport(EVTGEN_INFO,"EvtGen") << m << " " << EvtPDL::name(phi->getId()) << " "
- << "vector_mass "
- << " " << EvtPDL::getMeanMass(phi->getId()) << " fmax should be at least " << largest_f
- << ". f_col cs_B = " << f_col << " " << cs_Born
+ << "vector_mass "
+ << " " << EvtPDL::getMeanMass(phi->getId()) << " fmax should be at least " << largest_f
+ << ". f_col cs_B = " << f_col << " " << cs_Born
<< std::endl;
}
- if (m%10000 == 0) {
+ if (m%10000 == 0) {
EvtGenReport(EVTGEN_INFO,"EvtGen") << m << " " << EvtPDL::name(phi->getId()) << " "
- << "vector_mass "
- << " " << EvtPDL::getMeanMass(phi->getId()) << " fmax should be at least " << largest_f
- << ". f_col cs_B = " << f_col << " " << cs_Born
+ << "vector_mass "
+ << " " << EvtPDL::getMeanMass(phi->getId()) << " fmax should be at least " << largest_f
+ << ". f_col cs_B = " << f_col << " " << cs_Born
<< std::endl;
}
-
+
f_col = 0.;
f = 0.;
//determine max weight for this vector particle mass
}
-
+
if (m > 100000){
-
+
if (fmax > 0.) EvtGenReport(EVTGEN_INFO,"EvtGen") << "EvtVectorIsr is having problems. Check the fmax value - the 3rd argument in the .dec file\n"
<< "Recommended values for various vector particles: "
<< "phi->1.15 J/psi-psi(4415)->0.105 "
<< "Upsilon(1S,2S,3S)->0.14\n";
assert(0);
}
}//while (fran > f)
-
+
}//if (firstorder)
-
+
//Compute parameters for boost to/from the system after colinear radiation
double bet_l;
double gam_l;
double betgam_l;
-
+
double csfrmn_new;
double csbkmn_new;
if (firstorder){
bet_l = 0.;
gam_l = 1.;
betgam_l = 0.;
csfrmn_new = csfrmn;
csbkmn_new = csbkmn;
- } else {
+ } else {
double xx = e02/e01;
double sq_xx = sqrt(xx);
bet_l = (1.-xx)/(1.+xx);
gam_l = (1.+xx)/(2.*sq_xx);
betgam_l = (1.-xx)/(2.*sq_xx);
-
+
//Boost photon cos_theta limits in lab to limits in the system after colinear rad
csfrmn_new=(csfrmn - bet_l)/(1. - bet_l*csfrmn);
csbkmn_new=(csbkmn - bet_l)/(1. - bet_l*csbkmn);
}
-
+
// //generate kinematics according to Bonneau-Martin article
// //Nucl. Phys. B27 (1971) 381-397
// For backward compatibility with .dec files before SP5, the backward cos limit for
//the ISR photon is actually given as *minus* the actual limit. Sorry, this wouldn't be
//my choice. -Joe
//gamma momentum in the vpho restframe *after* soft colinear radiation
double pg = (s_new - phi->mass()*phi->mass())/(2.*wcm_new);
//calculate the beta of incoming electrons after colinear rad in the frame where e= and e- have equal momentum
double beta=electMass/ebeam; //electMass/Ebeam = 1/gamma
beta=sqrt(1. - beta*beta); //sqrt (1 - (1/gamma)**2)
double ymax=log((1.+beta*csfrmn_new)/(1.-beta*csfrmn_new));
double ymin=log((1.-beta*csbkmn_new)/(1.+beta*csbkmn_new));
// photon theta distributed as 2*beta/(1-beta**2*cos(theta)**2)
double y=(ymax-ymin)*EvtRandom::Flat(0.0,1.0) + ymin;
double cs=exp(y);
cs=(cs - 1.)/(cs + 1.)/beta;
double sn=sqrt(1-cs*cs);
double fi=EvtRandom::Flat(EvtConst::twoPi);
//four-vector for the phi
double phi_p0 = sqrt(phi->mass()*phi->mass()+pg*pg);
double phi_p3 = -pg*cs;
//boost back to frame before colinear radiation.
EvtVector4R p4phi(gam_l*phi_p0 + betgam_l*phi_p3,
-pg*sn*cos(fi),
-pg*sn*sin(fi),
betgam_l*phi_p0 + gam_l*phi_p3);
double isr_p0 = pg;
double isr_p3 = -phi_p3;
EvtVector4R p4gamma(gam_l*isr_p0 + betgam_l*isr_p3,
-p4phi.get(1),
-p4phi.get(2),
betgam_l*isr_p0 + gam_l*isr_p3);
-
+
//four-vectors of the collinear photons
if (!firstorder) {
p4softg1.set(0, eb-e02); p4softg1.set(3, e02-eb);
p4softg2.set(0, eb-e01); p4softg2.set(3, eb-e01);
}
-
+
//save momenta for particles
phi->init( getDaug(0),p4phi);
gamma->init( getDaug(1),p4gamma);
//add the two colinear photons as vphoton daughters
EvtPhotonParticle *softg1=new EvtPhotonParticle;;
EvtPhotonParticle *softg2=new EvtPhotonParticle;;
softg1->init(gammaId,p4softg1);
softg2->init(gammaId,p4softg2);
softg1->addDaug(p);
softg2->addDaug(p);
//try setting the spin density matrix of the phi
//get polarization vector for phi in its parents restframe.
EvtVector4C phi0=phi->epsParent(0);
EvtVector4C phi1=phi->epsParent(1);
EvtVector4C phi2=phi->epsParent(2);
//get polarization vector for a photon in its parents restframe.
EvtVector4C gamma0=gamma->epsParentPhoton(0);
EvtVector4C gamma1=gamma->epsParentPhoton(1);
EvtComplex r1p=phi0*gamma0;
EvtComplex r2p=phi1*gamma0;
EvtComplex r3p=phi2*gamma0;
EvtComplex r1m=phi0*gamma1;
EvtComplex r2m=phi1*gamma1;
EvtComplex r3m=phi2*gamma1;
EvtComplex rho33=r3p*conj(r3p)+r3m*conj(r3m);
EvtComplex rho22=r2p*conj(r2p)+r2m*conj(r2m);
EvtComplex rho11=r1p*conj(r1p)+r1m*conj(r1m);
EvtComplex rho13=r3p*conj(r1p)+r3m*conj(r1m);
EvtComplex rho12=r2p*conj(r1p)+r2m*conj(r1m);
EvtComplex rho23=r3p*conj(r2p)+r3m*conj(r2m);
EvtComplex rho31=conj(rho13);
EvtComplex rho32=conj(rho23);
EvtComplex rho21=conj(rho12);
EvtSpinDensity rho;
rho.setDim(3);
rho.set(0,0,rho11);
rho.set(0,1,rho12);
rho.set(0,2,rho13);
rho.set(1,0,rho21);
rho.set(1,1,rho22);
rho.set(1,2,rho23);
rho.set(2,0,rho31);
rho.set(2,1,rho32);
rho.set(2,2,rho33);
setDaughterSpinDensity(0);
phi->setSpinDensityForward(rho);
return ;
}
double EvtVectorIsr::ckhrad1(double xx, double a, double b){
//port of AfkQed/ckhrad.F function ckhrad1
- double yy = xx*xx;
- double zz = 1. - 2*xx + yy;
+ double yy = xx*xx;
+ double zz = 1. - 2*xx + yy;
return 0.5* (1. + yy + zz/(a-1.) + 0.25*b*( -0.5*(1. + 3*yy)*log(xx)) - zz );
}
void EvtVectorIsr::ckhrad(const double& e_beam,const double& q2_min,double& e01,double& e02,double& f){
//port of AfkQed/ckhrad.F subroutine ckhrad
const double adp = 1. / 137.0359895 / EvtConst::pi;
const double pi2 = EvtConst::pi*EvtConst::pi;
// const double dme = 0.00051099906;
const double dme = EvtPDL::getMeanMass(EvtPDL::getId("e-"));
double r1=EvtRandom::Flat();//Generates Flat from 0 - 1
double r2=EvtRandom::Flat();
double sss = 4.*e_beam*e_beam;
double biglog = log(sss/(dme*dme));
double beta = 2.*adp*(biglog - 1.);
double betae_lab = beta;
double p3 = adp*(pi2/3. - 0.5);
double p12 = adp*adp * (11./8. - 2.*pi2/3.);
double coefener = 1. + 0.75*betae_lab + p3;
double coef1 = coefener + 0.125*pi2*beta*beta;
double coef2 = p12* biglog*biglog;
- double facts = coef1 + coef2;
-
+ double facts = coef1 + coef2;
+
double y1_min = 0;
- double e1min = 0.25 * q2_min/e_beam;
+ double e1min = 0.25 * q2_min/e_beam;
double y1_max = pow( 1. - e1min/e_beam, 0.5*beta );
double y1 = y1_min +r1 *(y1_max - y1_min);
e01 = e_beam *(1. - pow(y1, 2./beta) );
-
+
double y2_min = 0.;
- double e2min = 0.25 * q2_min/e01;
+ double e2min = 0.25 * q2_min/e01;
double y2_max = pow( 1. - e2min/e_beam, 0.5*beta);
double y2 = y2_min +r2 *(y2_max - y2_min);
e02 = e_beam *(1. - pow(y2, 2./beta) );
-
+
double xx1 = e01/e_beam;
double xx2 = e02/e_beam;
f = y1_max * y2_max * ckhrad1(xx1,biglog,betae_lab) * ckhrad1(xx2,biglog,betae_lab) * facts;
return;
}
diff --git a/src/EvtGenModels/EvtVll.cpp b/src/EvtGenModels/EvtVll.cpp
index f3e517e..21aec38 100644
--- a/src/EvtGenModels/EvtVll.cpp
+++ b/src/EvtGenModels/EvtVll.cpp
@@ -1,124 +1,122 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVll.cc
//
// Description: The decay of a vector meson to two leptons,
// or generally, two spin 1/2 particles.
// E.g., J/psi -> e+ e-
//
// Modification history:
//
// RYD January 17, 1997 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtVll.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
-EvtVll::~EvtVll() {}
-
std::string EvtVll::getName(){
- return "VLL";
+ return "VLL";
}
EvtDecayBase* EvtVll::clone(){
return new EvtVll;
}
void EvtVll::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(2);
checkSpinParent(EvtSpinType::VECTOR);
-
+
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::DIRAC);
}
void EvtVll::initProbMax(){
setProbMax(1.0);
}
void EvtVll::decay(EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *l1, *l2;
l1 = p->getDaug(0);
l2 = p->getDaug(1);
EvtVector4C l11, l12, l21, l22;
l11=EvtLeptonVCurrent(l1->spParent(0),l2->spParent(0));
l12=EvtLeptonVCurrent(l1->spParent(0),l2->spParent(1));
l21=EvtLeptonVCurrent(l1->spParent(1),l2->spParent(0));
l22=EvtLeptonVCurrent(l1->spParent(1),l2->spParent(1));
EvtVector4C eps0=p->eps(0);
EvtVector4C eps1=p->eps(1);
EvtVector4C eps2=p->eps(2);
double M2=p->mass();
M2*=M2;
double m2=l1->mass();
m2*=m2;
double norm=1.0/sqrt(2*M2+4*m2-4*m2*m2/M2);
vertex(0,0,0,norm*(eps0*l11));
vertex(0,0,1,norm*(eps0*l12));
vertex(0,1,0,norm*(eps0*l21));
vertex(0,1,1,norm*(eps0*l22));
-
+
vertex(1,0,0,norm*(eps1*l11));
vertex(1,0,1,norm*(eps1*l12));
vertex(1,1,0,norm*(eps1*l21));
vertex(1,1,1,norm*(eps1*l22));
-
+
vertex(2,0,0,norm*(eps2*l11));
vertex(2,0,1,norm*(eps2*l12));
vertex(2,1,0,norm*(eps2*l21));
vertex(2,1,1,norm*(eps2*l22));
-
+
return;
}
diff --git a/src/EvtGenModels/EvtVtoSll.cpp b/src/EvtGenModels/EvtVtoSll.cpp
index b1f032c..d28349d 100644
--- a/src/EvtGenModels/EvtVtoSll.cpp
+++ b/src/EvtGenModels/EvtVtoSll.cpp
@@ -1,132 +1,130 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVll.cc
//
-// Description: The decay of a vector meson to a scalar and a
+// Description: The decay of a vector meson to a scalar and a
// lepton pair. E.g. D_s*+ -> D_s+ e+ e-
-//
+//
//
// Modification history:
//
// RYD February 28, 2009 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include <iostream>
#include <string>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenModels/EvtVtoSll.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
-EvtVtoSll::~EvtVtoSll() {}
-
std::string EvtVtoSll::getName(){
- return "VTOSLL";
+ return "VTOSLL";
}
EvtDecayBase* EvtVtoSll::clone(){
return new EvtVtoSll;
}
void EvtVtoSll::init(){
// check that there are 0 arguments
checkNArg(0);
checkNDaug(3);
checkSpinParent(EvtSpinType::VECTOR);
-
+
checkSpinDaughter(0,EvtSpinType::SCALAR);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::DIRAC);
}
void EvtVtoSll::initProbMax(){
//setProbMax(1.0);
}
void EvtVtoSll::decay(EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *l1, *l2;
l1 = p->getDaug(1);
l2 = p->getDaug(2);
EvtVector4C l11, l12, l21, l22;
l11=EvtLeptonVCurrent(l1->spParent(0),l2->spParent(0));
l12=EvtLeptonVCurrent(l1->spParent(0),l2->spParent(1));
l21=EvtLeptonVCurrent(l1->spParent(1),l2->spParent(0));
l22=EvtLeptonVCurrent(l1->spParent(1),l2->spParent(1));
EvtVector4C eps0=p->eps(0);
EvtVector4C eps1=p->eps(1);
EvtVector4C eps2=p->eps(2);
EvtVector4R P=p->getP4Restframe();
EvtVector4R k=l1->getP4()+l2->getP4();
double k2=k*k;
EvtTensor4C T(dual(EvtGenFunctions::directProd(P,(1.0/k2)*k)));
double M2=p->mass();
M2*=M2;
double m2=l1->mass();
m2*=m2;
double norm=1.0/sqrt(2*M2+4*m2-4*m2*m2/M2);
vertex(0,0,0,norm*(eps0*T.cont2(l11)));
vertex(0,0,1,norm*(eps0*T.cont2(l12)));
vertex(0,1,0,norm*(eps0*T.cont2(l21)));
vertex(0,1,1,norm*(eps0*T.cont2(l22)));
-
+
vertex(1,0,0,norm*(eps1*T.cont2(l11)));
vertex(1,0,1,norm*(eps1*T.cont2(l12)));
vertex(1,1,0,norm*(eps1*T.cont2(l21)));
vertex(1,1,1,norm*(eps1*T.cont2(l22)));
-
+
vertex(2,0,0,norm*(eps2*T.cont2(l11)));
vertex(2,0,1,norm*(eps2*T.cont2(l12)));
vertex(2,1,0,norm*(eps2*T.cont2(l21)));
vertex(2,1,1,norm*(eps2*T.cont2(l22)));
-
+
return;
}
diff --git a/src/EvtGenModels/EvtVub.cpp b/src/EvtGenModels/EvtVub.cpp
index 7451daf..30f9e56 100644
--- a/src/EvtGenModels/EvtVub.cpp
+++ b/src/EvtGenModels/EvtVub.cpp
@@ -1,399 +1,393 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVub.cc
//
-// Description: Routine to decay a particle according th phase space
+// Description: Routine to decay a particle according th phase space
//
// Modification history:
//
// Sven Menke January 17, 2001 Module created
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVub.hh"
#include <string>
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtPFermi.hh"
-#include "EvtGenModels/EvtVubdGamma.hh"
#include "EvtGenBase/EvtRandom.hh"
using std::endl;
-EvtVub::~EvtVub() {
- if (_dGamma) delete _dGamma;
- if (_masses) delete [] _masses;
- if (_weights) delete [] _weights;
-}
std::string EvtVub::getName(){
- return "VUB";
+ return "VUB";
}
EvtDecayBase* EvtVub::clone(){
return new EvtVub;
}
void EvtVub::init(){
// check that there are at least 6 arguments
if (getNArg()<6) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVub generator expected "
<< " at least 6 arguments (mb,a,alpha_s,Nbins,m1,w1,...) but found: "
<<getNArg()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
-
+
_mb = getArg(0);
_a = getArg(1);
_alphas = getArg(2);
_nbins = abs((int)getArg(3));
_storeQplus = (getArg(3)<0?1:0);
- _masses = new double[_nbins];
- _weights = new double[_nbins];
-
+ _masses = std::vector<double>(_nbins);
+ _weights = std::vector<double>(_nbins);
+
if (getNArg()-4 != 2*_nbins) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVub generator expected "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVub generator expected "
<< _nbins << " masses and weights but found: "
<<(getNArg()-4)/2 <<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
int i,j = 4;
double maxw = 0.;
for (i=0;i<_nbins;i++) {
_masses[i] = getArg(j++);
if (i>0 && _masses[i] <= _masses[i-1]) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVub generator expected "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVub generator expected "
<< " mass bins in ascending order!"
<< "Will terminate execution!"<<endl;
::abort();
}
_weights[i] = getArg(j++);
if (_weights[i] < 0) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVub generator expected "
- << " weights >= 0, but found: "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVub generator expected "
+ << " weights >= 0, but found: "
<<_weights[i] <<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
if ( _weights[i] > maxw ) maxw = _weights[i];
}
if (maxw == 0) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVub generator expected at least one "
- << " weight > 0, but found none! "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVub generator expected at least one "
+ << " weight > 0, but found none! "
<< "Will terminate execution!"<<endl;
::abort();
}
for (i=0;i<_nbins;i++) _weights[i]/=maxw;
// the maximum dGamma*p2 value depends on alpha_s only:
const double dGMax0 = 3.;
_dGMax = 0.21344+8.905*_alphas;
if ( _dGMax < dGMax0 ) _dGMax = dGMax0;
// for the Fermi Motion we need a B-Meson mass - but it's not critical
// to get an exact value; in order to stay in the phase space for
// B+- and B0 use the smaller mass
EvtId BP=EvtPDL::getId("B+");
EvtId B0=EvtPDL::getId("B0");
-
+
double mB0 = EvtPDL::getMaxMass(B0);
double mBP = EvtPDL::getMaxMass(BP);
double mB = (mB0<mBP?mB0:mBP);
-
+
const double xlow = -_mb;
const double xhigh = mB-_mb;
const int aSize = 10000;
EvtPFermi pFermi(_a,mB,_mb);
// pf is the cumulative distribution
// normalized to 1.
_pf.resize(aSize);
for(i=0;i<aSize;i++){
double kplus = xlow + (double)(i+0.5)/((double)aSize)*(xhigh-xlow);
if ( i== 0 )
_pf[i] = pFermi.getFPFermi(kplus);
else
_pf[i] = _pf[i-1] + pFermi.getFPFermi(kplus);
}
for (size_t index=0; index<_pf.size(); index++) {
_pf[index]/=_pf[_pf.size()-1];
}
// static EvtHepRandomEngine myEngine;
// _pFermi = new RandGeneral(myEngine,pf,aSize,0);
- _dGamma = new EvtVubdGamma(_alphas);
-
+ _dGamma = std::make_unique<EvtVubdGamma>(_alphas);
+
// check that there are 3 daughters
checkNDaug(3);
}
void EvtVub::initProbMax(){
noProbMax();
}
void EvtVub::decay( EvtParticle *p ){
int j;
// B+ -> u-bar specflav l+ nu
-
+
EvtParticle *xuhad(0), *lepton(0), *neutrino(0);
EvtVector4R p4;
// R. Faccini 21/02/03
// move the reweighting up , before also shooting the fermi distribution
double x,z,p2;
double sh=0.0;
double mB,ml,xlow,xhigh,qplus;
double El=0.0;
double Eh=0.0;
double kplus;
const double lp2epsilon=-10;
bool rew(true);
while(rew){
-
+
p->initializePhaseSpace(getNDaug(),getDaugs());
-
+
xuhad=p->getDaug(0);
lepton=p->getDaug(1);
neutrino=p->getDaug(2);
-
+
mB = p->mass();
ml = lepton->mass();
-
+
xlow = -_mb;
- xhigh = mB-_mb;
-
-
+ xhigh = mB-_mb;
+
+
// Fermi motion does not need to be computed inside the
// tryit loop as m_b in Gamma0 does not need to be replaced by (m_b+kplus).
// The difference however should be of the Order (lambda/m_b)^2 which is
// beyond the considered orders in the paper anyway ...
-
- // for alpha_S = 0 and a mass cut on X_u not all values of kplus are
+
+ // for alpha_S = 0 and a mass cut on X_u not all values of kplus are
// possible. The maximum value is mB/2-_mb + sqrt(mB^2/4-_masses[0]^2)
kplus = 2*xhigh;
-
- while( kplus >= xhigh || kplus <= xlow
- || (_alphas == 0 && kplus >= mB/2-_mb
+
+ while( kplus >= xhigh || kplus <= xlow
+ || (_alphas == 0 && kplus >= mB/2-_mb
+ sqrt(mB*mB/4-_masses[0]*_masses[0]))) {
kplus = findPFermi(); //_pFermi->shoot();
kplus = xlow + kplus*(xhigh-xlow);
}
qplus = mB-_mb-kplus;
if( (mB-qplus)/2.<=ml)continue;
-
+
int tryit = 1;
while (tryit) {
-
+
x = EvtRandom::Flat();
z = EvtRandom::Flat(0,2);
p2=EvtRandom::Flat();
p2 = pow(10.0,lp2epsilon*p2);
-
+
El = x*(mB-qplus)/2;
if ( El > ml && El < mB/2) {
-
+
Eh = z*(mB-qplus)/2+qplus;
if ( Eh > 0 && Eh < mB ) {
-
+
sh = p2*pow(mB-qplus,2)+2*qplus*(Eh-qplus)+qplus*qplus;
if ( sh > _masses[0]*_masses[0]
&& mB*mB + sh - 2*mB*Eh > ml*ml) {
-
+
double xran = EvtRandom::Flat();
-
+
double y = _dGamma->getdGdxdzdp(x,z,p2)/_dGMax*p2;
-
+
if ( y > 1 ) EvtGenReport(EVTGEN_WARNING,"EvtGen")<<"EvtVub decay probability > 1 found: " << y << endl;
if ( y >= xran ) tryit = 0;
}
}
}
}
// reweight the Mx distribution
if(_nbins>0){
double xran1 = EvtRandom::Flat();
double m = sqrt(sh);j=0;
- while ( j < _nbins && m > _masses[j] ) j++;
- double w = _weights[j-1];
+ while ( j < _nbins && m > _masses[j] ) j++;
+ double w = _weights[j-1];
if ( w >= xran1 ) rew = false;
} else {
rew = false;
}
-
+
}
- // o.k. we have the three kineamtic variables
- // now calculate a flat cos Theta_H [-1,1] distribution of the
- // hadron flight direction w.r.t the B flight direction
+ // o.k. we have the three kineamtic variables
+ // now calculate a flat cos Theta_H [-1,1] distribution of the
+ // hadron flight direction w.r.t the B flight direction
// because the B is a scalar and should decay isotropic.
- // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
- // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
+ // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
+ // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
// W flight direction.
double ctH = EvtRandom::Flat(-1,1);
double phH = EvtRandom::Flat(0,2*EvtConst::pi);
double phL = EvtRandom::Flat(0,2*EvtConst::pi);
// now compute the four vectors in the B Meson restframe
-
+
double ptmp,sttmp;
// calculate the hadron 4 vector in the B Meson restframe
sttmp = sqrt(1-ctH*ctH);
ptmp = sqrt(Eh*Eh-sh);
double pHB[4] = {Eh,ptmp*sttmp*cos(phH),ptmp*sttmp*sin(phH),ptmp*ctH};
p4.set(pHB[0],pHB[1],pHB[2],pHB[3]);
xuhad->init( getDaug(0), p4);
if (_storeQplus ) {
- // cludge to store the hidden parameter q+ with the decay;
+ // cludge to store the hidden parameter q+ with the decay;
// the lifetime of the Xu is abused for this purpose.
// tau = 1 ps corresponds to ctau = 0.3 mm -> in order to
- // stay well below BaBars sensitivity we take q+/(10000 GeV) which
+ // stay well below BaBars sensitivity we take q+/(10000 GeV) which
// goes up to 0.0005 in the most extreme cases as ctau in mm.
// To extract q+ back from the StdHepTrk its necessary to get
// delta_ctau = Xu->anyDaughter->getVertexTime()-Xu->getVertexTime()
// where these pseudo calls refere to the StdHep time stored at
- // the production vertex in the lab for each particle. The boost
+ // the production vertex in the lab for each particle. The boost
// has to be reversed and the result is:
//
- // q+ = delta_ctau * 10000 GeV/mm * Mass_Xu/Energy_Xu
+ // q+ = delta_ctau * 10000 GeV/mm * Mass_Xu/Energy_Xu
//
xuhad->setLifetime(qplus/10000.);
}
// calculate the W 4 vector in the B Meson restrframe
double apWB = ptmp;
double pWB[4] = {mB-Eh,-pHB[1],-pHB[2],-pHB[3]};
// first go in the W restframe and calculate the lepton and
// the neutrino in the W frame
double mW2 = mB*mB + sh - 2*mB*Eh;
double beta = ptmp/pWB[0];
double gamma = pWB[0]/sqrt(mW2);
double pLW[4];
-
+
ptmp = (mW2-ml*ml)/2/sqrt(mW2);
pLW[0] = sqrt(ml*ml + ptmp*ptmp);
double ctL = (El - gamma*pLW[0])/beta/gamma/ptmp;
if ( ctL < -1 ) ctL = -1;
if ( ctL > 1 ) ctL = 1;
sttmp = sqrt(1-ctL*ctL);
// eX' = eZ x eW
double xW[3] = {-pWB[2],pWB[1],0};
// eZ' = eW
double zW[3] = {pWB[1]/apWB,pWB[2]/apWB,pWB[3]/apWB};
-
+
double lx = sqrt(xW[0]*xW[0]+xW[1]*xW[1]);
- for (j=0;j<2;j++)
+ for (j=0;j<2;j++)
xW[j] /= lx;
// eY' = eZ' x eX'
double yW[3] = {-pWB[1]*pWB[3],-pWB[2]*pWB[3],pWB[1]*pWB[1]+pWB[2]*pWB[2]};
double ly = sqrt(yW[0]*yW[0]+yW[1]*yW[1]+yW[2]*yW[2]);
- for (j=0;j<3;j++)
+ for (j=0;j<3;j++)
yW[j] /= ly;
// p_lep = |p_lep| * ( sin(Theta) * cos(Phi) * eX'
// + sin(Theta) * sin(Phi) * eY'
// + cos(Theta) * eZ')
for (j=0;j<3;j++)
- pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ sttmp*sin(phL)*ptmp*yW[j]
+ ctL *ptmp*zW[j];
double apLW = ptmp;
-
- // boost them back in the B Meson restframe
+
+ // boost them back in the B Meson restframe
double appLB = beta*gamma*pLW[0] + gamma*ctL*apLW;
-
+
ptmp = sqrt(El*El-ml*ml);
double ctLL = appLB/ptmp;
if ( ctLL > 1 ) ctLL = 1;
if ( ctLL < -1 ) ctLL = -1;
-
+
double pLB[4] = {El,0,0,0};
double pNB[4] = {pWB[0]-El,0,0,0};
for (j=1;j<4;j++) {
pLB[j] = pLW[j] + (ctLL*ptmp - ctL*apLW)/apWB*pWB[j];
pNB[j] = pWB[j] - pLB[j];
}
p4.set(pLB[0],pLB[1],pLB[2],pLB[3]);
lepton->init( getDaug(1), p4);
p4.set(pNB[0],pNB[1],pNB[2],pNB[3]);
neutrino->init( getDaug(2), p4);
return ;
}
double EvtVub::findPFermi() {
double ranNum=EvtRandom::Flat();
double oOverBins= 1.0/(float(_pf.size()));
int nBinsBelow = 0; // largest k such that I[k] is known to be <= rand
int nBinsAbove = _pf.size(); // largest k such that I[k] is known to be > rand
int middle;
-
+
while (nBinsAbove > nBinsBelow+1) {
middle = (nBinsAbove + nBinsBelow+1)>>1;
if (ranNum >= _pf[middle]) {
nBinsBelow = middle;
} else {
nBinsAbove = middle;
}
- }
+ }
double bSize = _pf[nBinsAbove] - _pf[nBinsBelow];
- // binMeasure is always aProbFunc[nBinsBelow],
-
- if ( bSize == 0 ) {
+ // binMeasure is always aProbFunc[nBinsBelow],
+
+ if ( bSize == 0 ) {
// rand lies right in a bin of measure 0. Simply return the center
- // of the range of that bin. (Any value between k/N and (k+1)/N is
+ // of the range of that bin. (Any value between k/N and (k+1)/N is
// equally good, in this rare case.)
return (nBinsBelow + .5) * oOverBins;
}
-
+
double bFract = (ranNum - _pf[nBinsBelow]) / bSize;
-
+
return (nBinsBelow + bFract) * oOverBins;
-}
+}
diff --git a/src/EvtGenModels/EvtVubAC.cpp b/src/EvtGenModels/EvtVubAC.cpp
index 34e3e4e..4fd896f 100644
--- a/src/EvtGenModels/EvtVubAC.cpp
+++ b/src/EvtGenModels/EvtVubAC.cpp
@@ -1,8848 +1,8845 @@
//////////////////////////////////////////////////////////////////////
//
// Module: EvtVubAC.cc
// Analytic Coupling Model (based on hep-ph/0608047 by Aglietti, Ferrera and Ricciardi)
// Author: Michael Sigamani May 2008
//
///////////////////////////////////////////////////////////////
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVubAC.hh"
#include <string>
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtPFermi.hh"
#include "EvtGenBase/EvtRandom.hh"
using std::cout;
using std::endl;
-EvtVubAC::~EvtVubAC() {
-}
-
std::string EvtVubAC::getName(){
return "VUB_AC";
}
EvtDecayBase *EvtVubAC::clone() {
return new EvtVubAC;
}
void EvtVubAC::init() {
// get parameters (declared in the header file)
-
+
// B Meson mass
mB = 5.2792;
-
+
// Perturbative quantities
CF = 4.0/3.0;
CA = 3.0;
- double nf = 3.0;
+ double nf = 3.0;
- //Constants
- alphaSmZ = getArg(0);
+ //Constants
+ alphaSmZ = getArg(0);
c = 0.04;
q = 0.01;
k = 0.02;
-
+
beta0 = (11.0/3.0*CA - 2.0/3.0*nf)/(4*M_PI);
alphaSmB = 0.22*alphaSmZ/0.1189;
gvars.push_back(0.0); // 0
gvars.push_back(0.0); // 1
gvars.push_back(0.0); // 2
gvars.push_back(alphaSmB); // 3
gvars.push_back(alphaSmZ); // 4
gvars.push_back(mB); // 5
gvars.push_back(beta0); // 6
gvars.push_back(c); // 7
gvars.push_back(q); // 8
gvars.push_back(k); // 9
// check that there are 3 daughters and 1 argument
checkNDaug(3);
checkNArg(1);
}
void EvtVubAC::initProbMax() {
noProbMax();
}
void EvtVubAC::decay(EvtParticle *Bmeson) {
int j;
-
+
EvtParticle *xuhad, *lepton, *neutrino;
EvtVector4R p4;
double u, w, xb, Pp, Pm, pdf, ml, PX(0.0), EX(0.0), sh(0.0), El(0.0) ;
Bmeson->initializePhaseSpace(getNDaug(), getDaugs());
-
+
xuhad = Bmeson->getDaug(0);
lepton = Bmeson->getDaug(1);
neutrino = Bmeson ->getDaug(2);
ml = lepton->mass();
bool tryit = true;
while (tryit) {
-
+
double mpi = 0.14;
- u = EvtRandom::Flat(0.0,1.0);
- w = EvtRandom::Flat(0.0,2.0);
- xb = EvtRandom::Flat(0.0,1.0);
+ u = EvtRandom::Flat(0.0,1.0);
+ w = EvtRandom::Flat(0.0,2.0);
+ xb = EvtRandom::Flat(0.0,1.0);
EX = w*mB/2.0;
PX = EX*(1.0-u)/(u+1.0);
- El = (1.0-xb)*mB/2.0;
- Pp = (EX-PX);
+ El = (1.0-xb)*mB/2.0;
+ Pp = (EX-PX);
Pm = (EX+PX);
- sh = Pm*Pp;
+ sh = Pm*Pp;
- if ( ((w*u)/(1.0+u) < xb) && (xb < w/(1.0+u)) && (max(0, w - 1.0) < u) && (sh > 4.0*mpi*mpi) && ( El > ml ) ){
+ if ( ((w*u)/(1.0+u) < xb) && (xb < w/(1.0+u)) && (max(0, w - 1.0) < u) && (sh > 4.0*mpi*mpi) && ( El > ml ) ){
- pdf = rate(u,w,xb);
+ pdf = rate(u,w,xb);
double testRan = EvtRandom::Flat(0.0,24.2);
if (pdf >= testRan) tryit = false;
}
-
+
}
- // o.k. we have the three kinemtic variables
- // now calculate a flat cos Theta_H [-1,1] distribution of the
- // hadron flight direction w.r.t the B flight direction
+ // o.k. we have the three kinemtic variables
+ // now calculate a flat cos Theta_H [-1,1] distribution of the
+ // hadron flight direction w.r.t the B flight direction
// because the B is a scalar and should decay isotropic.
- // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
- // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
+ // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
+ // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
// W flight direction.
-
+
double ctH = EvtRandom::Flat(-1,1);
double phH = EvtRandom::Flat(0,2*M_PI);
double phL = EvtRandom::Flat(0,2*M_PI);
// now compute the four vectors in the B Meson restframe
-
+
double ptmp,sttmp;
// calculate the hadron 4 vector in the B Meson restframe
-
+
sttmp = sqrt(1-ctH*ctH);
ptmp = sqrt(EX*EX-sh);
double pHB[4] = {EX,ptmp*sttmp*cos(phH),ptmp*sttmp*sin(phH),ptmp*ctH};
p4.set(pHB[0],pHB[1],pHB[2],pHB[3]);
xuhad->init( getDaug(0), p4);
// calculate the W 4 vector in the B Meson restrframe
double apWB = ptmp;
double pWB[4] = {mB-EX,-pHB[1],-pHB[2],-pHB[3]};
// first go in the W restframe and calculate the lepton and
// the neutrino in the W frame
double mW2 = mB*mB + sh - 2*mB*EX;
double beta = ptmp/pWB[0];
double gamma = pWB[0]/sqrt(mW2);
double pLW[4];
-
+
ptmp = (mW2-ml*ml)/2/sqrt(mW2);
pLW[0] = sqrt(ml*ml + ptmp*ptmp);
double ctL = (El - gamma*pLW[0])/beta/gamma/ptmp;
if ( ctL < -1 ) ctL = -1;
if ( ctL > 1 ) ctL = 1;
sttmp = sqrt(1-ctL*ctL);
// eX' = eZ x eW
double xW[3] = {-pWB[2],pWB[1],0};
// eZ' = eW
double zW[3] = {pWB[1]/apWB,pWB[2]/apWB,pWB[3]/apWB};
-
+
double lx = sqrt(xW[0]*xW[0]+xW[1]*xW[1]);
- for (j=0;j<2;j++)
+ for (j=0;j<2;j++)
xW[j] /= lx;
// eY' = eZ' x eX'
double yW[3] = {-pWB[1]*pWB[3],-pWB[2]*pWB[3],pWB[1]*pWB[1]+pWB[2]*pWB[2]};
double ly = sqrt(yW[0]*yW[0]+yW[1]*yW[1]+yW[2]*yW[2]);
- for (j=0;j<3;j++)
+ for (j=0;j<3;j++)
yW[j] /= ly;
// p_lep = |p_lep| * ( sin(Theta) * cos(Phi) * eX'
// + sin(Theta) * sin(Phi) * eY'
// + cos(Theta) * eZ')
for (j=0;j<3;j++)
- pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ sttmp*sin(phL)*ptmp*yW[j]
+ ctL *ptmp*zW[j];
double apLW = ptmp;
-
+
// boost them back in the B Meson restframe
-
+
double appLB = beta*gamma*pLW[0] + gamma*ctL*apLW;
-
+
ptmp = sqrt(El*El-ml*ml);
double ctLL = appLB/ptmp;
if ( ctLL > 1 ) ctLL = 1;
if ( ctLL < -1 ) ctLL = -1;
-
+
double pLB[4] = {El,0,0,0};
double pNB[4] = {pWB[0]-El,0,0,0};
for (j=1;j<4;j++) {
pLB[j] = pLW[j] + (ctLL*ptmp - ctL*apLW)/apWB*pWB[j];
pNB[j] = pWB[j] - pLB[j];
}
p4.set(pLB[0],pLB[1],pLB[2],pLB[3]);
lepton->init( getDaug(1), p4);
p4.set(pNB[0],pNB[1],pNB[2],pNB[3]);
neutrino->init( getDaug(2), p4);
return ;
}
double EvtVubAC::rate(double u, double w, double xb) {
std::vector<double> vars(11);
vars[0] = u;
vars[1] = w;
vars[2] = xb;
double dGam = Coeff(u,w,xb)*Sigma(wreg(w/(1+u)),ularge(u)) + d(u,w,xb);
return dGam;
}
double EvtVubAC::PolyLog(double v, double z) {
if (z >= 1) cout << "Error in EvtVubAC: 2nd argument to PolyLog is >= 1." << endl;
double sum = 0.0;
-for (int k=1; k<101; k++) {
+for (int k=1; k<101; k++) {
sum = sum + pow(z,k)/pow(k,v);
}
return sum;
}
double EvtVubAC::max(double ub, double lb) {
if (ub > lb)
return ub;
else
return lb;
}
double EvtVubAC::wreg(double w) {
std::vector<double> vars(11);
vars[1] = w;
-for (int j=3;j<11;j++) {vars[j] = gvars[j];}
+for (int j=3;j<11;j++) {vars[j] = gvars[j];}
double K=(1+c)/(1+c+pow(c,2));
return K*(c+pow(w,2)/(w+c));
}
double EvtVubAC::ureg(double u) {
-std::vector<double> vars(11);
+std::vector<double> vars(11);
vars[0] = u;
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
return q + u*u/(u+q);
}
double EvtVubAC::ularge(double u) {
std::vector<double> vars(11);
vars[0] = u;
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
return u - k*u*u;
}
double EvtVubAC::alphaS(double Q) {
std::vector<double> vars(11);
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
double a =1.0/(log(Q*Q/FindRoot(alphaSmZ)));
double b= FindRoot(alphaSmZ)/(FindRoot(alphaSmZ) - Q*Q);
double ans = 1.0/beta0*( a + b );
return ans;
}
double EvtVubAC::Coeff(double u, double w, double xb) {
-std::vector<double> vars(11);
+std::vector<double> vars(11);
vars[0] = u;
vars[1] = w;
vars[2] = xb;
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
double coeff = Coeff0(w,xb) + alphaS(mB*wreg(w/(1+u)))*Coeff1(w,xb);
return coeff;
}
double EvtVubAC::Coeff0(double w, double xb) {
std::vector<double> vars(11);
vars[1] = w;
vars[2] = xb;
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
return 12.0*(1+xb-w)*(w-xb);
}
double EvtVubAC::Coeff1(double w, double xb) {
std::vector<double> vars(11);
vars[1] = w;
vars[2] = xb;
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
-double a = 1+xb-w;
+double a = 1+xb-w;
double b = -PolyLog(2,1-w)-3.0/2.0*log(wreg(w)) - 1.0/2.0*w*f(w) - 35.0/8.0 + (M_PI*M_PI)/6.0;
double c = 1.0/2.0*xb*f(wreg(w));
double ans = 12.0*CF/M_PI*(w-xb)*((a*b)+c);
return ans;
}
double EvtVubAC::d(double u, double w, double xb) {
-std::vector<double> vars(11);
+std::vector<double> vars(11);
vars[0] = u;
vars[1] = w;
vars[2] = xb;
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
return alphaS(mB*wreg(w/(1.0+u)))*CF/M_PI*d1(u,w,xb);
}
double EvtVubAC::d1(double u, double w, double xb) {
std::vector<double> vars(11);
vars[0] = u;
vars[1] = w;
-vars[2] = xb;
+vars[2] = xb;
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
double a = 3*pow(w,4)*(24+3*w-8*xb)/(4*pow(1+u,5));
double b = 9*pow(w,4)*(24+3*w-8*xb)/(8*pow(1+u,4));
double c = 9*(-12+w)*pow(-2+w,2)*pow(w-2*xb,2)/(16*pow(1-u,3));
double cc = 9*(-12+w)*pow(-2+w,2)*pow(w-2*xb,2)/(32*pow(1-u,2));
double d = 3*pow(w,2)*(32-47*w-8*w*w+16*xb+20*w*xb+w*w*xb+8*xb*xb-3*w*xb*xb)/(8*pow(1+u,2));
-double e = 1/(8*pow(1+u,3))*(3*w*w*(-64+94*w+40*w*w+3*pow(w,3)-32*xb-40*xb*w-10*w*w*xb-16*xb*xb+6*w*xb*xb));
+double e = 1/(8*pow(1+u,3))*(3*w*w*(-64+94*w+40*w*w+3*pow(w,3)-32*xb-40*xb*w-10*w*w*xb-16*xb*xb+6*w*xb*xb));
double f = 1/(64*(1+u))*(3*(640*w-368*w*w-200*w*w*w-16*pow(w,4)+3*pow(w,5)-384*xb+320*w*xb+528*w*w*xb+112*pow(w,3)*xb-16*pow(w,4)*xb-256*xb*xb-48*w*xb*xb-224*pow(w,2)*pow(xb,2)+24*pow(w,3)*pow(xb,2)));
double g = 1/(64*(1-u))*(3*(-256*w+528*w*w-200*pow(w,3)-16*pow(w,4)+3*pow(w,5)+512*xb-1472*w*xb+528*pow(w,2)*xb+112*pow(w,3)*xb-16*pow(w,4)*xb+640*xb*xb-48*w*xb*xb-224*pow(w,2)*pow(xb,2)+24*pow(w,3)*pow(xb,2)));
double h = 9*pow(w,5)*log(ureg(u))/(4*pow(1+u,6));
double i = 9*pow(w,5)*log(ureg(u))/(2*pow(1+u,5));
double ii = 9*(-12+w)*pow(-2+w,2)*pow(w-2*xb,2)*log(ureg(u))/(16*pow(1-u,4));
double j = 9*(-12+w)*pow(-2+w,2)*pow(w-2*xb,2)*log(ureg(u))/(16*pow(1-u,3));
double k = (3*pow(w,3)*(-10+16*w+pow(w,2)+8*xb-2*w*xb-2*pow(xb,2))*log(ureg(u)))/(8*pow(1+u,3));
double l = (3*pow(w,3)*(-10+16*w+7*pow(w,2)+8*xb-2*w*xb-2*pow(xb,2))*log(ureg(u)))/(8*pow(1+u,4));
double m = 1/(64*pow(1+u,2))*(3*w*(-144*w+208*pow(w,2)+16*pow(w,3)+pow(w,4)-64*xb-80*w*xb-16*pow(w,2)*xb-8*pow(w,3)*xb+48*xb*xb-96*w*xb*xb+16*pow(w,2)*pow(xb,2))*log(ureg(u)));
double n = 1/(64*pow(1-u,2))*(3*(-256*w+624*pow(w,2)-304*pow(w,3)+16*pow(w,4)+pow(w,5)+512*xb-1856*w*xb+944*pow(w,2)*xb-16*pow(w,3)*xb-8*pow(w,4)*xb+1024*xb*xb-464*w*xb*xb-96*pow(w,2)*pow(xb,2)+16*pow(w,3)*pow(xb,2))*log(ureg(u)));
double rem = -a + b - c +cc - d - e + f + g - h +i -ii +j +k -l -m +n;
return rem;
}
double EvtVubAC::f(double w) {
std::vector<double> vars(11);
-vars[1] = w;
+vars[1] = w;
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
if (w != 1)
return log(w)/(1-w);
else
return -1;
}
double EvtVubAC::Lambda2(double x, const double alphaSmZ) {
std::vector<double> vars(11);
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
double alphaSmB = 0.22*alphaSmZ/0.1189;
double func = (1/beta0)*(1/log(mB*mB/x)+x/(x-mB*mB))-alphaSmB;
return func;
}
double EvtVubAC::FindRoot(const double alphaSmZ){
std::vector<double> vars(11);
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
double root;
const double precision=1e-8;
Bisect(0.0,1.0, precision, root, alphaSmZ);
return root;
}
int EvtVubAC::Bisect(double x1,double x2, double precision,double& root, const double alphaSmZ){
std::vector<double> vars(11);
for (int j=3;j<11;j++) {vars[j] = gvars[j];}
if( Lambda2(x1,alphaSmZ)*Lambda2(x2,alphaSmZ) > 0 ){
root = 0;
return 0;
} else {
double x = 0.5*(x1+x2);
if( fabs(Lambda2(x,alphaSmZ)) < precision){
root = x;
return 1;
} else {
if( Lambda2(x1,alphaSmZ)*Lambda2(x,alphaSmZ) < 0 ){
return Bisect(x1,x,precision,root,alphaSmZ);
} else {
return Bisect(x,x2,precision,root, alphaSmZ);
}
}
}
}
//Bi-Linear interpolation function for sigma()
double EvtVubAC::Sigma(double x1, double x2){
double ans;
int j = 0;
int k = 0;
int JMAX = 20;
int KMAX = 6282;
if ((x1 < 0.04) | (x1 > 1.0) | (x2 > 0.9981306360766614)) {
cout<<"Input variables are not in range"<<endl;
return 0;
}
else{
-
+
double sigma[6283][21] = {{1.4165575231667025e-6,2.367068423885654e-6,3.010516455581869e-6,3.5037825936986625e-6,3.929518324374288e-6,4.306057170491293e-6,4.670305737607004e-6,5.03601978363166e-6,5.38081382734055e-6,5.706111094422232e-6,6.01592741932564e-6,6.312683745642994e-6,6.599149887344445e-6,6.876589598409881e-6,7.146140172115845e-6,7.408228896739411e-6,7.66381903520912e-6,7.914216132923142e-6,8.158375083092094e-6,8.387923687779773e-6,8.609047991600152e-6},
{1.4242950283096505e-6,2.3821813865451333e-6,3.0321094979724177e-6,3.531463105585163e-6,3.963281819193405e-6,4.345928764350666e-6,4.716578534159503e-6,5.0891092458471885e-6,5.440882358124266e-6,5.773300334146699e-6,6.090393611799158e-6,6.394582544259559e-6,6.6886559040585555e-6,6.973876196346317e-6,7.251379536127028e-6,7.521582534359883e-6,7.78545760383978e-6,8.044322886507219e-6,8.297093782815202e-6,8.535252273580483e-6,8.76506526572483e-6},
{1.432085473265309e-6,2.397426211753438e-6,3.053927960769999e-6,3.559478172452427e-6,3.997507657500483e-6,4.386409405362107e-6,4.763630567689123e-6,5.143175144213434e-6,5.5021483329791995e-6,5.841932217571044e-6,6.166572855026258e-6,6.478490721190443e-6,6.780495077370961e-6,7.073848449513044e-6,7.359687275376904e-6,7.638419489154442e-6,7.911031108690893e-6,8.178859267303823e-6,8.440787940213002e-6,8.688163613340468e-6,8.92736042107122e-6},
{1.439929354714352e-6,2.41280463514272e-6,3.0759756040991857e-6,3.5878345116181944e-6,4.0322066625519e-6,4.427515357355928e-6,4.811485212210924e-6,5.198250042510372e-6,5.564655974117598e-6,5.912066071547593e-6,6.244545266975116e-6,6.5645198876533405e-6,6.874832084123841e-6,7.176767831207023e-6,7.471508054632459e-6,7.759532156090581e-6,8.04198240629201e-6,8.32045326864888e-6,8.594180689511984e-6,8.854977185824032e-6,9.110250789357704e-6},
{1.4478271762507601e-6,2.4283184286282795e-6,3.098256291022933e-6,3.6165390675423683e-6,4.067390102434151e-6,4.469263755477156e-6,4.860167832347213e-6,5.254372135627978e-6,5.6284672051347425e-6,5.9838160854326365e-6,6.3245497730126735e-6,6.653205576198729e-6,6.972878946209313e-6,7.285309002010701e-6,7.592510371689441e-6,7.896411617922357e-6,8.20063859130551e-6,8.510772078503667e-6,8.832168193219429e-6,9.165813151304237e-6,9.53285861473224e-6},
{1.4557794485384492e-6,2.4439694016732532e-6,3.1207739929456703e-6,3.6455990425662466e-6,4.103069949395984e-6,4.511674486770287e-6,4.9097162595434805e-6,5.31163173249103e-6,5.693833505594434e-6,6.057899920792941e-6,6.40853743177932e-6,6.749486714584406e-6,7.086268724196642e-6,7.425114172566452e-6,7.775933736046638e-6,8.153858881648055e-6,8.583979262125893e-6,9.104919794810385e-6,9.771190049418475e-6,0.000010655316056335114,0.000011879449548606903},
{1.4637866894434715e-6,2.4597594026488963e-6,3.1435328023270215e-6,3.675022094200968e-6,4.139261015606768e-6,4.554785482753721e-6,4.960261093796092e-6,5.370505023603311e-6,5.762353786846746e-6,6.139117526304596e-6,6.509469970691759e-6,6.885255799616473e-6,7.287458092501649e-6,7.749887299160317e-6,8.32885760857551e-6,9.113946680584014e-6,0.000010246567374771375,0.000011937444274020002,0.000014487810062278417,0.000018317257226721972,0.000024019460747614908},
{1.4718494242154426e-6,2.47569032092263e-6,3.1665369954244623e-6,3.704817540595162e-6,4.1759933558943466e-6,4.598735271412134e-6,5.0124291131193585e-6,5.433421718923075e-6,5.842081003357196e-6,6.25081174384318e-6,6.687863486666798e-6,7.203370086561662e-6,7.888130624783698e-6,8.895491964923852e-6,0.000010474854356656637,0.000013013790895360114,0.000017103162658690718,0.000023594388998758814,0.000033675540649204326,0.0000489743631710715,0.00007167123447469805},
{1.4799681856124983e-6,2.4917640930821483e-6,3.189791331459303e-6,3.7350018542235523e-6,4.213364439714587e-6,4.6440845681077435e-6,5.068808179491631e-6,5.510100074518286e-6,5.963880470002839e-6,6.478624017039391e-6,7.15653839638677e-6,8.186319369076682e-6,9.901211792269553e-6,0.00001285388168746797,0.00001791473813352924,0.000026395814832379054,0.00004023796628984912,0.00006215097225704537,0.00009581181745663649,0.00014613963204180726,0.00021950361737713158},
{1.4881435141358186e-6,2.5079827251928324e-6,3.2133022065365606e-6,3.7656181018241744e-6,4.251709132603763e-6,4.692789471300035e-6,5.138092460064064e-6,5.631736014247149e-6,6.222486583756952e-6,7.074460431913035e-6,8.516847254554029e-6,0.000011146675936698287,0.00001598487036709448,0.000024676371711528723,0.00003973100609228614,0.00006482027286305135,0.00010522951047594253,0.00016812223653460108,0.0002629574390857122,0.0004020922351741092,0.0006010848384153264},
{1.4963759583151903e-6,2.5243483687339437e-6,3.237081297203293e-6,3.7967920233725075e-6,4.292052792747759e-6,4.750619410688871e-6,5.244743138386107e-6,5.882169800577362e-6,6.861806219944362e-6,8.661389866449539e-6,0.000012201247096758813,0.000019102025579797836,0.00003204800713762135,0.00005523761951074777,0.00009488701985136956,0.00015983464774662793,0.0002624903756946114,0.0004192081140389302,0.0006510290476882939,0.0009848304741404048,0.001453606151783205},
{1.5046660751362809e-6,2.5408635441916518e-6,3.2611553025151935e-6,3.828869434733319e-6,4.337140997577745e-6,4.832296391723187e-6,5.448304652803628e-6,6.456759953337761e-6,8.427640167753178e-6,0.000012582140894959107,0.000021189631492341075,0.00003812415991730859,0.00006961051442979106,0.00012511009513628465,0.0002182386548602159,0.00036784253513290593,0.0005997802091285906,0.0009472266290232328,0.001451824037624317,0.002165658547709524,0.003151169272603568},
{1.513014431349342e-6,2.5575317180811684e-6,3.285588677838592e-6,3.862711264004167e-6,4.393497785977758e-6,4.971131108182325e-6,5.877560126916229e-6,7.760928857782783e-6,0.000012010321954462888,0.000021425611998560057,0.00004103962752813721,0.00007918737669843748,0.00014888249214427865,0.00026937365623495315,0.0004676234374684211,0.0007800133940380605,0.0012554029868658135,0.001954878490320336,0.002953326775520852,0.004342592761282795,0.006230305880813369},
{1.5214216061560787e-6,2.5743586303033982e-6,3.3105310719671444e-6,3.900262214432865e-6,4.475130527383932e-6,5.235335812545794e-6,6.785170800407953e-6,0.000010559617886456428,0.00001959432925507232,0.00003974849574067812,0.00008123032330758901,0.00016046128193448512,0.00030239231008775475,0.0005429844586595434,0.0009313282559741494,0.0015320746067456524,0.002430327191761932,0.0037298539621533943,0.005555001710404613,0.008055488664119443,0.01140294234277542},
{1.5298881979199149e-6,2.5913550650337333e-6,3.3363075201731546e-6,3.945553070358598e-6,4.609645375882153e-6,5.7534035948277485e-6,8.6281322961162e-6,0.00001618613002467588,0.000034522566143361974,0.00007498638814380939,0.0001567741933120429,0.0003099190887628005,0.0005788872417090989,0.0010261999496239762,0.0017351191486051154,0.0028127793397316565,0.00439758309482629,0.006654203181386234,0.009775650207394033,0.01399031690947417,0.019554413524984018},
{1.5384148382146062e-6,2.6085421793093757e-6,3.363577051101362e-6,4.006339805182163e-6,4.847635588501795e-6,6.750895084216383e-6,0.000012178274838076293,0.000026814440475319445,0.00006207145889058571,0.00013852515797848467,0.0002900125142959978,0.0005680779911740601,0.0010471718093499022,0.0018295202476562482,0.003048049240517677,0.004870014942795054,0.007507693594407426,0.011207634535357707,0.016252610920484533,0.02297179206027768,0.031726572263536444},
{1.5470022202746443e-6,2.625961058099045e-6,3.393593730788004e-6,4.096619277841392e-6,5.276235380016173e-6,8.600649651365437e-6,0.00001866526609039772,0.00004579370650498204,0.00011012121621194627,0.0002468829467558532,0.0005124817585587294,0.0009906612725140323,0.0017995423134806174,0.003097653379464161,0.005086410631528326,0.008013830177211499,0.012189442172874584,0.017964254744995103,0.025732289616612326,0.0359451506759231,0.049088007204468306},
{1.5556511529974288e-6,2.6436888489316735e-6,3.428612625232792e-6,4.240286293950054e-6,6.037684078780381e-6,0.00001188786644943293,0.000029952375228572037,0.0000780381800097773,0.0001898952986365243,0.0004229387305311314,0.0008667252713783584,0.0016509728967638818,0.0029545141743473613,0.005012119898817954,0.008115414359872444,0.012616030573221951,0.018945843767181895,0.027583041317612942,0.03905299426271493,0.053949040565240185,0.07289464072278114},
{1.5643626575619947e-6,2.661864627406368e-6,3.472490974068608e-6,4.476206333080683e-6,7.353619437601509e-6,0.0000174907416164655,0.000048742896083762044,0.0001304607158223583,0.00031673552439171794,0.0006971361661801552,0.0014079258419505507,0.0026417999567848118,0.004658608360065678,0.007792253539476956,0.012448421899341575,0.019106349412464467,0.028345669898428426,0.040792937698607125,0.05712172284835164,0.07808215030146379,0.10444452670068657},
{1.5731381324804837e-6,2.6807290253159536e-6,3.531541305119222e-6,4.8649702111799365e-6,9.555624553184329e-6,0.000026676480446206257,0.00007881286473782216,0.00021243409469498412,0.0005108749161733128,0.0011085914132178266,0.00220524825673807,0.004076699453691786,0.007087049343137447,0.011694503122693831,0.018443774719382196,0.027965500589675465,0.04101123894422824,0.05837384431341115,0.08088689418191775,0.10946642015864853,0.14503063237367791},
{1.5819796233174533e-6,2.7006825788205983e-6,3.615697665826625e-6,5.497571021125409e-6,0.00001312230620976001,0.00004121161014650627,0.0001252637547419822,0.000336261747196805,0.0007981694308872648,0.0017060397687879017,0.003342803139736269,0.006090575798958407,0.010443316278806748,0.017010077375662024,0.026499451431750184,0.03971563580682796,0.05760340210312129,0.08113495270602172,0.11130907157712167,0.1492095346815254,0.19589494697472482},
{1.5908902467656185e-6,2.7223686756563747e-6,3.7400581318526452e-6,6.506201216066848e-6,0.000018722903529551973,0.00006348467562846283,0.00019478733818076391,0.0005176382740173991,0.001210751772414234,0.0025485667487520126,0.004920170614283094,0.008839507283719138,0.01495757117327545,0.024061086223362955,0.037045913731879855,0.054908857746228355,0.0788047458184871,0.1098918705586729,0.14933157753069337,0.19836902191140696,0.25818658760673646},
{1.5998748349206745e-6,2.7467878521353687e-6,3.9268660021259425e-6,8.077311274611309e-6,0.000027267135497694697,0.00009663866887322153,0.0002959339418981737,0.0007760803428767021,0.0017875749703394415,0.0037060829882311153,0.007052451153447449,0.012499828175607113,0.020884056084937964,0.03319541365801124,0.050537581282805076,0.07411449109468546,0.10530201609807366,0.14544385913470914,0.19585260984783984,0.2579197842095138,0.33292581430934315},
{1.6089408845521025e-6,2.775450963087429e-6,4.207988518549997e-6,0.000010467004494302723,0.00003996071386953883,0.00014470996503643152,0.0004393749225142152,0.0011353099177503084,0.0025748196041515767,0.0052595174015571755,0.009869838652396812,0.017266514453751353,0.02849760259020349,0.04478060774811892,0.06744340697077848,0.09790579938281328,0.1377686781877481,0.1885522983748533,0.25170011318565394,0.32872634798699013,0.42097512633915835},
{1.6180999172731557e-6,2.8105793766022044e-6,4.627945658011284e-6,0.000014018769074988644,0.000058365690910508656,0.00021277014030094841,0.0006381502992380369,0.0016235740885920734,0.0036261457447241937,0.007300718057476648,0.013516735263679908,0.023350953490892404,0.038089430212364696,0.05919709546893173,0.08823701624932946,0.1268467748111016,0.17684838467332908,0.23992124906046522,0.3176102871985929,0.41152060640718635,0.5230179563326538},
{1.6273693804122808e-6,2.855360797529371e-6,5.247532792144956e-6,0.000019183472767551977,0.0000844645923773722,0.0003070668353328971,0.0009078930528013489,0.0022738887382825535,0.0050027782235240225,0.009932064129121497,0.01815044765682786,0.030978200608503186,0.049962427485205324,0.07683102853864204,0.11338683755307183,0.16147953728360048,0.22313996065307376,0.30018072778057464,0.3942102603538536,0.5068853787387089,0.6395449424185938},
{1.636775244060925e-6,2.9142695658625987e-6,6.148070169032893e-6,0.000026541470795600193,0.0001207271140014269,0.00043515979775103945,0.0012670225338663058,0.0031241966325865414,0.006773421187495087,0.013265804337086176,0.02393951953561076,0.0403838387407838,0.06442611216073588,0.09806704685407008,0.1433465947327181,0.2023127722750932,0.2771843452525808,0.36987307125145374,0.4820051499420347,0.6152437418990134,0.77084735101487},
{1.6463554766156158e-6,2.9934602948803937e-6,7.436299704187155e-6,0.0000368266078389977,0.00017017803936847343,0.0006060483703664685,0.0017369006277964632,0.004217434000333606,0.009014004646002967,0.017423147089353726,0.031061765435179054,0.051810562479880445,0.08179145866470951,0.12328121393767191,0.17854646570697147,0.24981152647307434,0.3394537681346465,0.4494425558533846,0.5813694753732749,0.7368538091850017,0.9170169397458557},
{1.6561646094463662e-6,3.101243497508421e-6,9.249935982086615e-6,0.00005095183233053057,0.00023646496981230873,0.0008302869649920055,0.0023419456979765613,0.005601503077080781,0.01180727158580235,0.02253313486303838,0.03970207637059566,0.06550460593462343,0.10236576424242672,0.15283433900199833,0.21938514101834938,0.3043885738416842,0.4103432966012716,0.5392282633159137,0.6925426966468282,0.871808434198278,1.0779513761570778},
{1.6662796291530785e-6,3.248651399327714e-6,0.000011763864179311934,0.00007003608826513491,0.0003239244410258876,0.0011200854462643946,0.0031097007874790416,0.0073291512543889464,0.015242219056297324,0.028731340301421836,0.050050069401871976,0.08171212664928128,0.1264477031142238,0.1870658569722358,0.2662229469947146,0.36639746851802635,0.49016476819093696,0.6394600464784137,0.81562851035087,1.020039194937652,1.2533642448113806},
{1.6768074642004043e-6,3.450101463604055e-6,0.000015196963336252628,0.00009543210752470049,0.000437645032519839,0.001489391816684247,0.004070854021038824,0.009457760292878214,0.019413410342837716,0.03615842419287224,0.06229765132801591,0.10067564679838144,0.1543226928051347,0.22628839435166356,0.3193761344415018,0.4361273180751109,0.579143027070741,0.750257348654081,0.9505974456858588,1.1813239516757859,1.4427986630375897},
{1.6878943592810031e-6,3.724164272234494e-6,0.000019819519483496416,0.00012875469517094985,0.0005835261491133876,0.0019539551141900453,0.005259210552151588,0.012049051447434213,0.024420177959613536,0.04495859622765939,0.07663656227026278,0.12263063936487077,0.18625867061712828,0.27078310756786955,0.37911237753290733,0.5137992426180706,0.6774143095590336,0.8716305628193793,1.0972922550783324,1.3552972596266903,1.6456435652831634},
{1.6997374562267799e-6,4.0944413418394495e-6,0.00002596117998884592,0.00017190908143148808,0.0007683312615735998,0.0025313669804751197,0.0067116166944380905,0.015168714281241717,0.03036573877209292,0.05527801851693259,0.09325595857299802,0.14780233219488534,0.22250235251373585,0.32079584301998637,0.4456474800330532,0.5995644320047545,0.7850265729161433,1.0034845779533896,1.2554355797234755,1.5414629412441154,1.861151791182954},
{1.7125989232531552e-6,4.590557232809274e-6,0.00003401938847369127,0.0002271189068948933,0.0009997345290974683,0.0032410809085330855,0.008467838027103932,0.018885968405629856,0.0373562432072745,0.06726318964423804,0.11234008689352205,0.1764027876596308,0.26327602260144733,0.37653413542572084,0.5191432475103421,0.6935036743480036,0.9019415294161868,1.145624144250621,1.4246393819194252,1.7392081723351958,2.088459209360414},
{1.7268229944793185e-6,5.249268960566631e-6,0.00004446822902939401,0.00029695341107025377,0.0012863598822313311,0.004104408711919929,0.010570394249099675,0.023273068391832786,0.045499780357335706,0.08105934383417208,0.1340660931327884,0.20862830088381978,0.3087748796642574,0.4381650336874999,0.5997064545493007,0.7956282024343809,1.0280381316036096,1.2977606915926798,1.6044156661621023,1.9478185018058252,2.3266042167331467},
{1.7428562985195568e-6,6.115694278465046e-6,0.000057867599452833204,0.00038435340793581516,0.0016378118140554672,0.005144494260192542,0.013064354364333734,0.028404762691855268,0.05490535996846512,0.0968088959694796,0.15860200144370878,0.24465714566131336,0.35916494827197254,0.5058137214119519,0.6873888144460659,0.9058816890469097,1.1631172514408488,1.4595202519494945,1.7941880534971448,2.166493299333181,2.574547063458953},
{1.7612718682976486e-6,7.244658899339143e-6,0.00007487262594500909,0.0004926556542219411,0.0020646973035499915,0.006386264983020308,0.015997096409090007,0.034357717622638666,0.06568189097257313,0.11464995893529739,0.1861048903081845,0.28464768463733053,0.4145815460279591,0.579562882197691,0.7821878445845453,1.024143215568575,1.3069073028316045,1.6304521622188552,1.9933038235040392,2.394361202834716,2.8311885607058933},
{1.7827972331899367e-6,8.702161194235611e-6,0.00009624322625289425,0.0006256152456106687,0.002578638472249533,0.007856362051253054,0.019418036388055535,0.04120991736085751,0.07793717449946062,0.13471495534431105,0.216719284873248,0.32873684931106395,0.47512828554947634,0.6594527474383086,0.8840485126003002,1.1502310388677732,1.4590705711138292,1.810038255973099,2.2010460915016106,2.63049521402331,3.0953878281660367},
{1.8083469991446894e-6,0.0000105669513807526,0.00012285372459434343,0.0007874257113905942,0.00319227574866122,0.009583050491657303,0.02337833137797358,0.049040050517828684,0.0917769273236488,0.15712934128412706,0.2505757775733864,0.37703898600273744,0.5408765796505841,0.7454817561460553,0.9928655454928005,1.2839069876543716,1.619210032270365,1.9977022878759618,2.416645842060658,2.8739271626343323,3.3659788282097716},
{1.8390603233390369e-6,0.000012932220719373853,0.00015570241984984182,0.000982736518022948,0.00391926148035256,0.011596110780777314,0.02793056190267554,0.05792689326799081,0.10730384956159388,0.18201045547242564,0.28778988266320255,0.42964505614359183,0.611865610700175,0.8376077516109677,1.108486285026126,1.4248813297549814,1.7868764668912749,2.1928193709750126,2.639293591470906,3.1236613261552035,3.6417855125388785},
{1.8763436845386128e-6,0.000015907394801250078,0.00019592100835682667,0.001216667735185885,0.004774244087885632,0.013926713692415197,0.0331283986973674,0.067948698240848,0.12461674823355219,0.20946650321365776,0.3284611247074697,0.486622173027098,0.6881027199775471,0.9357496379861163,1.2307139771248388,1.572817964804059,1.961575697793186,2.394725243016916,2.8681504999172827,3.3786870509783,3.9216354747685696},
{1.9219193422115544e-6,0.00001962002365623808,0.0002447837640876234,0.0014948216629415776,0.005772842995430481,0.01660728034438593,0.03902625888197475,0.07918259750215656,0.14380972611577056,0.23959568089775865,0.37267235634405865,0.5480134523990445,0.7695641697396964,1.0397894205703424,1.3593113896896334,1.727339811609785,2.142775804446394,2.602725212186531,3.1023587978219638,3.6379902723580413,4.204372058803245},
{1.9778798634336966e-6,0.000024217760156956277,0.0003037163818904775,0.0018232912645627945,0.006931614698225729,0.019671329506747902,0.04567895637173074,0.0917040269877877,0.16497144319314258,0.27248544351336607,0.42048929673391544,0.6138381508271357,0.856196229336863,1.1495745561253057,1.494004661603642,1.8880342750586145,2.32991419106622,2.816102664432689,3.3410514295942964,3.9005638743665223,4.488864918838052},
{2.046749078630776e-6,0.000029870417058514958,0.00037430439367192416,0.002208665295235165,0.008268010436046849,0.023153314299916024,0.05314135108606831,0.10558617875020963,0.18818445602575015,0.30821191478918875,0.4719602790003972,0.684092063524917,0.9479165367634753,1.2649205435475264,1.6344872950666178,2.054458693183248,2.522404407731999,3.03412704331903,3.5833608517273383,4.165416867514862,4.77401906324545},
{2.131549805149105e-6,0.000036772092006842,0.0004583010727221925,0.002658030061464078,0.009800326034001688,0.02708845043191853,0.061468001191189614,0.12089948636450976,0.21352463849769826,0.3468394371330045,0.5271161925794761,0.7587481520516848,1.044615688227576,1.3856136902110838,1.7804242132819685,2.2261456804128175,2.719642644758184,3.2560612388762675,3.828426950859771,4.43158239135674,5.058782442554723},
{2.235878651352517e-6,0.000045143348981988094,0.0005576347476672142,0.003178967788784169,0.0115476445473435,0.03151253810493502,0.07071282224296754,0.13771114784448563,0.24106068574506692,0.3884202564995707,0.5859706046831058,0.8377573719125164,1.1461590104056392,1.511413994955464,1.9314558155329236,2.4026082976696435,2.9210138394819185,3.4811683441657504,4.075404071328584,4.69812457285889,5.342152162309612},
{2.363988183975109e-6,0.00005523344391956286,0.0006744154545854206,0.003779551615714256,0.013529772405985675,0.03646177966768815,0.0809287566990027,0.15608468946053752,0.27085370157399347,0.4329943356673241,0.6485200439452222,0.9210496703909153,1.252388472793057,1.642058094726733,2.0872019715109813,2.5833449936103605,3.1258973515108526,3.708717757261682,4.323467161225994,4.964144289314129,5.623179415884988},
{2.5208767085088327e-6,0.00006732258168101166,0.00081094086349395,0.004468337269336546,0.015767169797758405,0.0419725950077701,0.09216745685402603,0.17607957294604765,0.30295686838449964,0.4805892881125399,0.7147444286964327,1.0085351258217226,1.3631247007652825,1.777262228053621,2.247265906172521,2.7678442737641578,3.333672177258427,3.9379906222843233,4.571817061463749,5.228783897803231,5.900973241389064},
{2.7123858761366235e-6,0.00008172419111788278,0.0009697014235115882,0.0052543515120334755,0.018280876058161304,0.04808143657187347,0.1044789838320383,0.1977508477394313,0.3374151975091562,0.531220423707208,0.784607622123798,1.1001052008279897,1.4781690534621235,1.9167251746670722,2.411237935234477,2.9555890655078954,3.5437216873233663,4.168284616194183,4.819684974288922,5.491231002380123,6.174703211519616},
{2.945306291934964e-6,0.00009878720469670687,0.0011533846793970344,0.006147077479579734,0.021092430849582774,0.054824605777216304,0.11791152485068139,0.2211488491431043,0.3742653569518169,0.5848908967992326,0.8580580967440996,1.1956340836905877,1.5973057342578452,2.060131136509264,2.578699019569,3.1460607567083727,3.75543788104267,4.398918098550114,5.066336156542348,5.750721335917189,6.443601166529902},
{3.2274912584201617e-6,0.00011889832901725516,0.0013648787206953943,0.007156437057773553,0.024223791915963,0.062238072438853466,0.1325111305658921,0.24631894259294124,0.413535572760673,0.6415919468255633,0.9350296910854496,1.2949800938960951,1.720303905268134,2.2071525310201032,2.749224114156461,3.338742894472579,3.968225161496663,4.629233649621342,5.311072889144023,6.006540836505358,6.70696209903809},
{3.567978745837606e-6,0.00014248429255694223,0.0016072747332691478,0.008292770468076372,0.0276972501910117,0.07035729868932013,0.14832147391401887,0.27330131362440324,0.45524559967958667,0.7013032214257535,1.0154424421718227,1.3979871299336881,1.846919780980958,2.357452672861386,2.9223852938781962,3.5331245378277356,4.181503641527339,4.858601028407002,5.553236778243849,6.258026998997093,6.9641442959263005},
{3.97712163686946e-6,0.00017001405710587872,0.0018838686314283193,0.009566813252313802,0.03153534302071044,0.07921706871297328,0.16538363149910074,0.30213080259413927,0.4994067562782764,0.7639931720316397,1.0992034782832825,1.5044861395154412,1.9768986796115864,2.510688325092997,3.0977546442747204,3.7287032643776024,4.394711997114919,5.086419586530759,5.792210445571864,6.50456958118505,7.214568837568747},
{4.4667262485760555e-6,0.00020200097960946004,0.0021981617571079615,0.010989670862447672,0.03576076623530181,0.08885132546082886,0.18373588822854275,0.33283678276647727,0.5460220194507918,0.8296195120766913,1.186207957472949,1.614296594519023,2.1099770141202785,2.6665121052247085,3.2749069104824233,3.924987836138029,4.607309888913038,5.312120176901776,6.027418666102737,6.745610741637275,7.457718548558833},
{5.050199089211643e-6,0.00023900491149709497,0.0025538606404726895,0.012572791073915783,0.04039628577358547,0.09929301535552645,0.20341356558350993,0.3654430799994458,0.5950861729779234,0.8981297282667862,1.2763400384183374,1.7272279550508651,2.2458842079573063,2.8245747355216055,3.453421901927604,4.121500533940025,4.818779976038078,5.535166597706631,6.258329010519336,6.980644682713785,7.693136487348965},
{5.742701762545684e-6,0.0002816342230420727,0.002954875823895166,0.014327934450190873,0.04546464952437262,0.11057394184268463,0.2244488736226273,0.39996793196039304,0.6465860047579916,0.9694616357561009,1.3694738713338521,1.8430811090649017,2.384344523489757,2.984527130444146,3.632886654047261,4.317779173102899,5.028629548502632,5.755056612937493,6.484452048385349,7.209216868065593,7.920424055077852},
{6.561313886951662e-6,0.0003305477408503642,0.0034053197583853484,0.016267143092270165,0.050988500007564004,0.12272462849630848,0.24687078655979025,0.43642398456181175,0.70050054730757,1.0435439685534695,1.4654745978428951,1.9616497759192049,2.5250787937040027,3.146022317168911,3.8128973513738993,4.513378815623068,5.236391806126671,5.971322590465048,6.705341165646005,7.4309228792117965,8.139238796580317},
{7.525203852720613e-6,0.0003864565872120583,0.003909503788200477,0.01840270790998426,0.056990288471592536,0.13577419224362913,0.27070494152917307,0.47481832312811784,0.7568013562056572,1.1202969970249195,1.5641993498776152,2.0827218640897853,2.6678060501616194,3.3087171877839676,3.993061018822896,4.7078731959929065,5.441626812490052,6.183531797801723,6.9205920472638365,7.645406970804442,8.349291959342168},
{8.655807197277706e-6,0.00045012591075155393,0.004471934245500436,0.020747134652545383,0.06349219093591733,0.1497502271399693,0.29597355995239183,0.515152535678096,0.8154528212889774,1.1996331649385674,1.6654982388216957,2.2060807749735845,2.812245042315975,3.472274084009265,4.1729969900130435,4.90085587905015,5.643922152630543,6.39128639432174,7.129841872625941,7.852360379085913,8.550345869120536},
{9.977012336592213e-6,0.0005223764985732926,0.0050973076825059326,0.02331310893391988,0.07051602665774662,0.16467869899784116,0.3226953907532952,0.5574228056297611,0.8764125055909663,1.2814577391028947,1.7692153272211149,2.3315066462924743,2.958115645178471,3.636362217186945,4.352338162990574,5.09194116904754,5.842893322853896,6.594223156937879,7.332768267965903,8.051519432947824,8.742211174203582},
{0.00001151535335003009,0.0006040862609084039,0.0057905052736519315,0.026113460484629827,0.07808317945200816,0.1805838510570673,0.35088567452372327,0.6016200311987453,0.939631507242008,1.365669465265045,1.8751895764472406,2.4587775300526022,3.1051401539675267,3.800658927849608,4.530732054868918,5.280764789502754,6.03818388030398,6.792012974189812,7.529088056537134,8.242663512011584,8.924744003906175},
{0.000013300209477933532,0.0006961915801122782,0.0065565864246978495,0.02916112685574591,0.08621452224347625,0.19748812077469416,0.3805561276272206,0.6477299687625382,1.0050548398043166,1.4521612245510134,1.9832557646972935,2.587670501317847,3.2530444657932875,3.9648507904381813,4.707841667692766,5.46698435341146,6.229465378927234,6.9843601414674845,7.718555843743673,8.425612891343613,9.097843080938524},
{0.00001536401095438285,0.0007996885167356382,0.007400781629659105,0.03246911679336877,0.09493034518048923,0.21541206771501017,0.41171494513533063,0.6957333974957152,1.0726218267931058,1.540820685335167,2.0932453706527805,2.717962695224509,3.4015591496415007,4.128634569736366,4.883346178334211,5.6502796431451,6.416437117230115,7.171001487751344,7.900962470948756,8.60022650784579,9.26144682176249},
{0.00001774245076330275,0.0009156338662820706,0.008328484619773643,0.036050473493034266,0.10425028759139052,0.23437431243114804,0.444366821420869,0.7456063026407906,1.1422665064291084,1.631530946014962,2.204987418983226,2.8494322707007047,3.550420406937189,4.291718036346076,5.056941465475291,5.830352718865776,6.598825721833447,7.351705361860989,8.0761333682944,8.766399679060667,9.415530453889803},
{0.000020474701874779712,0.0010451460611641296,0.009345243851517837,0.03991823793348292,0.11419327401809734,0.25439148615044516,0.47851298718248475,0.7973200748610026,1.213918042969774,1.7241711647322553,2.3183092846784463,2.981859300264289,3.6993709258094283,4.4538206490769126,5.228340486766185,6.006927873623149,6.776384589326739,7.526270503815944,8.24392683361686,8.92406180112423,9.560103173954039},
{0.000023603639488443777,0.0011894059132723544,0.010456753382964909,0.0440854124782827,0.12477745451641936,0.275478191005771,0.5141512616429179,0.8508417232209672,1.2875011412722228,1.8186171726207316,2.433037453917406,3.1150265860641793,3.848160632859224,4.614674112489761,5.397273519107923,6.179751452495013,6.948893207362638,7.694524824565314,8.404232261461715,9.073174048893764,9.695205364885},
{0.000027176067784673232,0.0013496571934654227,0.011668843189551754,0.048564924922117336,0.13602014937017853,0.29764697049410294,0.551276118647666,0.9061340994550051,1.3629364615456148,1.9147420676664473,2.5489982398361364,3.2487204030095946,3.996547346769693,4.774022818045228,5.563488274725538,6.348591552231044,7.11615637434286,7.85632411506812,8.556968343307744,9.213727097826787,9.820905884870784},
{0.00003124295066050733,0.0015272070451730103,0.01298746897161347,0.05336959314633247,0.14793779832603596,0.3209082897914093,0.5898787653894122,0.9631561313076462,1.4401410315504473,2.0124167867432763,2.6660184521434305,3.382731170408279,4.144297338507386,4.931624177385609,5.726749905301188,6.5132376168897945,7.278003335462065,8.011550703526067,8.702081257412537,9.345738883785069,9.937299436151072},
{0.00003585964590584466,0.00172342623016697,0.014418701506890837,0.05851209053571732,0.16054591441837746,0.34527052550893167,0.62994723249468,1.0218630628633123,1.5190286537940407,2.1115106538255914,2.783926020053362,3.516854054016363,4.291185803160429,5.087248856244657,5.886840905951866,6.673499943947906,7.434286851318154,8.160112077501214,8.839542864199709,9.469252413281165,10.044504019173985},
{0.0000410861422574937,0.0019397492053954098,0.015968715601636343,0.0640049122956891,0.17385904241873235,0.3707399644398084,0.6714664742310625,1.082206699919896,1.5995103055529498,2.211891902786541,2.90255056846175,3.650889500797962,4.436997248657812,5.240680917352807,6.043560930285215,6.829209114330676,7.584882213785059,8.301939485704422,8.969348920808988,9.584333632836962,10.142658477444227},
{0.00004698729875331076,0.002177674030587262,0.017643778693979283,0.0698603427961305,0.1878907219120749,0.39732081081613485,0.7144184776243944,1.1441356586015021,1.6814945298220925,2.3134281735615843,3.0217239476927023,3.7846437090100142,4.581525806727148,5.3917178805025525,6.196726527168323,6.980215358781542,7.729686222391055,8.436986532422477,9.091517326257454,9.691069362768145,10.231920139691086},
{0.00005363308579574229,0.0024387621071122467,0.01945023916288316,0.07609042405527429,0.20265345497300352,0.4250152015744955,0.758782379313881,1.2075956155470795,1.764887815545775,2.4159869807942522,3.1412807174856265,3.917929036475186,4.7245754714885,5.540170707675592,6.346170809214499,7.126387871970017,7.868616133062066,8.565227775866159,9.206086406429392,9.78956529866598,10.312462567615972},
{0.00006109882732515358,0.0027246377493252505,0.021394514395376242,0.08270692546431976,0.21815867838818742,0.4538232291121957,0.8045345890180944,1.2725295581523115,1.8495949657263113,2.51943615438518,3.2610585861861603,4.0505643500908945,4.865960271059574,5.685863720822524,6.491743062345377,7.267614084744333,8.001608589782446,8.686657340166855,9.313113245663903,9.87994408341131,10.384473418470318},
{0.00006946544349547538,0.0030369875903275717,0.023483078663788695,0.08972131484099663,0.2344167403476035,0.4837429710063182,0.8516489185346398,1.3388780334805697,1.9355194522311774,2.6236442516377427,3.3808988063509338,4.182375319752621,5.005504377473678,5.828634459539606,6.6333083051318456,7.403798903975768,8.128618548500043,8.801287549308729,9.412672069222664,9.962343453344685,10.448152431569254},
{0.0000788196932410421,0.0033775598247402423,0.025722450863517266,0.09714473088816798,0.25143688150586635,0.5147705261628097,0.9000967152500008,1.4065793945937262,2.022563756328936,2.7284809409353494,3.500646528179474,4.313194659951556,5.143042160094539,5.968333485514904,6.770746805966239,7.534863928522645,8.24961820145958,8.909147589883064,9.50485267891886,10.03691446348716,10.50370954652221},
{0.00008925441612177298,0.0037481632917061645,0.02811918216039635,0.10498795712182106,0.2692272202963194,0.5469000568625121,0.9498469991926339,1.4755700431843015,2.110629694177771,2.8338173570984777,3.620151112351191,4.442862322346694,5.27841818756013,6.10482414022708,6.903953565478097,7.660746648968983,8.364595909090063,9.010282208055429,9.589758943146153,10.103819797745315,10.551363158720662},
{0.00010086877283454961,0.004150666401912074,0.03067984359510355,0.11326139732151932,0.2877947423643951,0.5801238361749043,1.0008666027208275,1.5457846675159492,2.1996187266682155,2.939526428755468,3.7392664039749732,4.57122564261545,5.411487183107729,6.237982261981173,7.032837770982137,7.781399637968186,8.47355514559653,9.10475044449397,9.66750734254751,10.163232170390629,10.591338514856512},
{0.00011376848378235013,0.004586995912954483,0.033411013690206263,0.12197505254561593,0.3071452939729278,0.6144323002177989,1.0531203119963957,1.6171564747991023,2.289432253184011,3.0454831782217755,3.857850969457035,4.698139444860032,5.54211393793106,6.36769586796328,7.157322229145036,7.896789737248678,8.576513463509366,9.192624409416208,9.738225573297688,10.215332824633563,10.62386624834682},
{0.00012806606509814219,0.005059135557858308,0.03631926610348282,0.13113849974328115,0.327283579220504,0.6498141047518871,1.1065710094552546,1.689617417242311,2.3799718889923867,3.151564994519672,3.975768298162853,4.823466106794145,5.6701731870031,6.4938648065953215,7.277342782480586,8.006897246616525,8.673501481604667,9.273988098727697,9.802051210951673,10.260310132910762,10.649181051841225},
{0.00014388106152844475,0.005569124531997961,0.03941115736905817,0.1407608719857387,0.34821316090439475,0.6862561856123838,1.1611798165456877,1.7630984111270689,2.4711397261079227,3.257651880286184,4.092886970794608,4.947075588860333,5.795549451569645,6.616400385076071,7.392847714733441,8.111715119620078,8.764561899759599,9.348936251704632,9.85913043859302,10.298358301794623,10.667520481731485},
{0.00016134027559187394,0.006119055844066801,0.04269321476570071,0.15085084033000593,0.3699364648519724,0.7237438224956836,1.2169062360641398,1.8375295483545178,2.56283857759318,3.363626673412919,4.2090807964292685,5.0688454303363235,5.918136852283062,6.735224976608918,7.503797149691751,8.211248169922628,8.849748543364965,9.417573250811406,9.909616843327534,10.329676182481661,10.679123887891533},
{0.00018057799243936695,0.006711074537090623,0.04617192434935825,0.1614165973199549,0.392454787538663,0.7622607056365219,1.2737082934762864,1.9128403000064316,2.654972205365286,3.469375244339503,4.3242289201675606,5.188660715382855,6.037838896706733,6.850271611443245,7.610162447479718,8.305512291859788,8.929125438893685,9.480012064820995,9.953670284924735,10.354466185858023,10.684231460727306},
{0.00020173619985727482,0.007347375785789343,0.04985371918468593,0.17246584212162455,0.4157683068062038,0.801789004930238,1.331542676667473,1.9889597115500444,2.747445531671075,3.574786669983968,4.438215903332713,5.306414011868284,6.154568244680917,6.961483555496627,7.7119256019228315,8.394533698132767,9.002765921280822,9.536373237109949,9.991455839670891,10.372933299358323,10.683083386885736},
{0.00022496480286947633,0.008030202876855198,0.05374496780795888,0.18400576728242568,0.43987609549219603,0.8423094410750995,1.390364873621149,2.0658165893969525,2.840164834475388,3.6797533853403794,4.550931778132702,5.422005285680046,6.268246454803159,7.068813879981234,7.809078642151377,8.478348177084921,9.070751773128825,9.586783921561075,10.023142821404294,10.385284201343872,10.675919104548564},
{0.000250421832412249,0.00876184507893913,0.05785196295138337,0.1960430470972076,0.4647761377804623,0.8838013583308983,1.4501293075764177,2.143339678600383,2.9330379270780407,3.784171313807854,4.66227207866279,5.535341793101712,6.378803715042654,7.172225025130703,7.90162304121144,8.55700037147703,9.133172395539127,9.631376968757849,10.048903880423541,10.391726467584702,10.662976649062372},
{0.0002782736475738849,0.009544635409321026,0.062180910556439796,0.20858382755804936,0.4904653480814488,0.926242798511946,1.510789469266024,2.221457831542951,3.0259743223360327,3.887939977337154,4.77213785007843,5.646337953699343,6.48617856028002,7.271688360814241,7.989569134086237,8.630543080075075,9.190124010562101,9.67029006504182,10.068914179647777,10.392467863648639,10.644492079722422},
{0.00030869513091102307,0.010380948304384298,0.06673791910152214,0.22163371785912403,0.5169395922527235,0.9696105758549204,1.5722980458839528,2.3001001675286594,3.1188853819190823,3.990962587492832,4.880435637713838,5.754915206023719,6.590317579342981,7.367183746533161,8.072935547193511,8.699036582725665,9.241708895704685,9.703664926560158,10.083350646186458,10.387715716569808,10.620698978830731},
{0.0003418698763747321,0.011273197201123467,0.07152898926679332,0.23519778342302042,0.544193710971369,1.0138803524245106,1.6346070464771314,2.3791962232487323,3.2116844510696465,4.0931461185314415,4.9870774578602965,5.861001848297318,6.6911751138955715,7.458699093021549,8.15174864111485,8.762547989034594,9.288034651449975,9.731646549740896,10.092391295427985,10.377676359063305,10.591828014666778},
{0.00037799036940129284,0.012223832036988302,0.07656000395687275,0.24928054041048558,0.5722215450727208,1.0590267137423417,1.6976679234985688,2.4586760941410986,3.304286979373818,4.19440136359113,5.091980751852005,5.964532866118204,6.788712951334626,7.54622992741741,8.226041968024779,8.821150610410903,9.329213503163611,9.754382518801576,10.0962146239266,10.362554639713455,10.55810656069756},
{0.000417258158745886,0.013235336675407137,0.08183671869970957,0.26388595167164863,0.6010159626732547,1.1050232443469752,1.7614316902994351,2.5384705667082046,3.3966106280774504,4.294642975075617,5.195068325037162,6.065449749077883,6.882900013652652,7.629778963732892,8.295855745001175,8.874923355155161,9.365361638984766,9.77202237002226,10.094999066768448,10.342553492885601,10.519758364151436},
{0.0004598840196607803,0.014310226264342696,0.08736475243779485,0.27901742409338043,0.6305688878994978,1.1518426030148234,1.8258490343752487,2.618511241897748,3.4885753645034896,4.393789490297601,5.29626827213912,6.163700298058101,6.9737120440416644,7.709355680131855,8.36123634408234,8.923950146431107,9.396598585289555,9.78471701167827,10.088922514722917,10.317873562487913,10.477003257926755},
{0.0005060881080442444,0.015451044535213792,0.09314957872572663,0.2946778072945096,0.6608713310494708,1.1994565973934004,1.8908704262164038,2.6987306496860732,3.580103544142175,4.491763343423511,5.395513890437943,6.259238424842882,7.061131292837895,7.784975904319541,8.422235799574022,8.968319363272723,9.423046621086913,9.792618197789249,10.078161886309866,10.288712874075166,10.430056910644455},
{0.0005561001052114192,0.0166603610494688,0.09919651734607157,0.3108693936181343,0.6919134200182949,1.2478362578193931,1.9564462236458322,2.7790623550346774,3.671119980996231,4.588490864734368,5.4927435821271455,6.352023945557554,7.145146204242847,7.856661408161748,8.478911332734791,9.00812330513274,9.44483023230949,9.795878053234492,10.06289274990574,10.255266550128932,10.379130610442406},
{0.0006101593529635083,0.017940768400025533,0.10551072635347664,0.32759391936819754,0.7236844328251818,1.2969519101144196,2.022526771556643,2.8594410554168825,3.7615520067689396,4.683902268186779,5.587900747124603,6.442022369326559,7.225751105101862,7.924439512478893,8.531324893654299,9.043457680776429,9.462075606457283,9.794648647325017,10.043288991137254,10.217726563689846,10.324431078819243},
{0.0006685149786575614,0.019294879374695546,0.11209719455507147,0.3448525672358427,0.7561728310849463,1.3467732471711125,2.089062496990338,2.939802670134555,3.8513295194846457,4.777931628224801,5.680933667541528,6.529204683426822,7.302945896877068,7.988342702802522,8.579542719956626,9.074421122503106,9.474910167500907,9.789081612610671,10.019522521037405,10.176281525881832,10.266160311451914},
{0.0007314260100048595,0.020725324088594763,0.11896073443337518,0.3626459698597577,0.7893662942734111,1.3972693991610676,2.156003999521498,3.020084421663869,3.9403850221291337,4.870516846757679,5.771795384938787,6.613547136103532,7.376735751816968,8.048408256731904,8.623634911940268,9.101114726711348,9.48346215040747,9.779327805523858,9.991763020737592,10.131116503268006,10.204515443429354},
{0.0007991614793519137,0.02223474709240474,0.12610597551618002,0.3809742144637805,0.8232517546425417,1.4484090022143925,2.223302136938039,3.1002249092851777,4.028653651892119,4.96159961118137,5.860443571427042,6.695031018110757,7.447130814200037,8.104677883372826,8.6636750238899,9.123641621717903,9.487860214155518,9.765537005403884,9.960177718827373,10.082412861410731,10.139688636768478},
{0.0008720005172242144,0.02382580446319509,0.13353735819623497,0.39983684851440976,0.8578154326477939,1.500160265437897,2.290908106227125,3.180164175264953,4.11607320058601,5.0511253442832675,5.946840395595874,6.773642443940166,7.514145907413852,8.157197375160587,8.699739671509192,9.14210656351965,9.48823309168222,9.747857648485779,9.924931197916456,10.030348131458346,10.071866988416055},
{0.0009502324349386163,0.025501160884347077,0.14125912800198734,0.41923288634052863,0.8930428727569352,1.5524910361554272,2.3587735198957853,3.2598437638679734,4.202584126804638,5.139043146830458,6.030952384187795,6.849372133607449,7.577800247524414,8.206016272162042,8.731908155665423,9.156615559888463,9.484709274870399,9.72643659355401,9.886185227352733,9.975095897028503,10.001232457201967},
{0.0010341567961161537,0.02726348672093295,0.14927533031917367,0.43916081665760576,0.928918979516464,1.6053688632694518,2.4268504776723794,3.3392067734856883,4.28812956037319,5.225305733602305,6.112750280366235,6.922215195778028,7.638117163891909,8.251187538742132,8.760262102848086,9.16727552284749,9.477416732439247,9.701418916134426,9.844098619437823,9.916825699083287,9.92796180840875},
{0.001124083476952434,0.029115455096709507,0.1575898055616696,0.4596186109388181,0.9654280537586514,1.6587610586577137,2.4950916336502065,3.4181979021721194,4.372655299626327,5.30986936358849,6.192208899362019,6.992170912930604,7.695123827298813,8.292767252311332,8.784885122886761,9.174193949227591,9.466482658446775,9.672947728308694,9.79882710679809,9.855702956878087,9.852226574770112},
{0.0012203327151281162,0.03105973897867494,0.16620618478872023,0.4806037325759631,1.0025538288391294,1.712634756532613,2.5634502589481216,3.4967634868820756,4.456109802035792,5.39269376503431,6.269306982221006,7.059242529179752,7.7488509859734505,8.330814303780214,8.805862484529563,9.177478628671482,9.452033249036266,9.641164021468995,9.750523238803238,9.791888903404852,9.774193032819287},
{0.0013232351472666206,0.033099008274920724,0.17512788576447272,0.5021131467736625,1.0402795068018145,1.7669569707039805,2.631880299974845,3.5748515367080627,4.538444168692067,5.473742055976078,6.344027048316469,7.123437041306265,7.799332709814927,8.365390109350177,8.823280809452521,9.177237378159381,9.43419350505194,9.606206529574253,9.699336295093351,9.725540534035797,9.694022193585596},
{0.001433131834870927,0.03523592695128471,0.18435810945462153,0.5241433311211486,1.078587794374749,1.8216946496980118,2.700336432394057,3.6524117604121886,4.619612123126813,5.552980660871055,6.416355247233252,7.184764993476599,7.846606143048303,8.396558333355497,8.837227785163673,9.173577801886074,9.413087058197553,9.568211610712352,9.645412214408546,9.656810567306005,9.61186980669319},
{0.0015503742786945065,0.037473150172077946,0.19389983695395016,0.5466902867869198,1.1174609387071406,1.8768147296964282,2.7687741108962873,3.7293955885478263,4.6995699849444295,5.630379223888978,6.486281210577248,7.24324027607017,7.8907112654522304,8.424384622011942,8.847791897102868,9.166607075129875,9.388836018504138,9.52731314500849,9.588893537040937,9.585847416955772,9.5278863769557},
{0.0016753244215256511,0.03981332146992191,0.20375582683761795,0.5697495502826598,1.156880762764454,1.93228418527045,2.837149614891283,3.8057561904630752,4.7782766387121445,5.705910519395619,6.553797904212908,7.2988799289752935,7.931690662197903,8.448936348086505,8.855062180040724,9.156431750620671,9.36156084099718,9.483642447142884,9.529919359364206,9.512795174491925,9.442217192590538},
{0.001808354639386255,0.04225906994948851,0.2139286129281755,0.5933162057440643,1.1968287003048232,1.988070077893797,2.9054200902409084,3.88144848647402,4.8556934985386455,5.779550360123308,6.618901481383404,7.351703949661,7.969589302222021,8.470282366648927,8.859127988667545,9.143157585832673,9.33138020959848,9.43732819195007,9.468625299047321,9.437793601627696,9.35500236419992},
{0.0019498477211688332,0.04481300752969241,0.2244205024695195,0.6173848976775898,1.2372858303663303,2.04413960222793,2.973543587157978,3.9564291554909428,4.931784468751922,5.851277503489095,6.681591137122911,7.4017351062827075,8.00445432494639,8.488492782174939,8.860078787053416,9.126889389593321,9.298410936456015,9.388496351771769,9.405143469723532,9.360978132031056,9.266376873686342},
{0.0021001968367566296,0.04747772622863723,0.23523357469829512,0.6419498441235865,1.2782329112007516,2.1004601301809136,3.0414790944006285,4.030656638374891,5.006515901067349,5.921073556488121,6.741868964327805,7.448998756034428,8.036334835075412,8.503638727331461,8.858003956466764,9.107730886405253,9.262767875057332,9.337270144431594,9.339602464055234,9.282479881857006,9.176470632289588},
{0.0022598054936922196,0.05025579549536978,0.2463696798026231,0.6670048501878191,1.319650413595254,2.1569992527487547,3.109186569895147,4.104091137295401,5.079856548617604,5.9889228795578795,6.799739811813732,7.493522668918589,8.065281705167855,8.5157921537816,8.852992620869829,9.085784596916605,9.224563845643862,9.283769990888088,9.272127344301389,9.20242566856771,9.085408546952303},
{0.002429087482480256,0.05314975959224931,0.2578304382574816,0.6925433218949948,1.3615185535292054,2.213724819654946,3.1766269679226258,4.1766946113532475,5.1517775171967655,6.054812489778689,6.85521114464804,7.535336857066725,8.091347385696116,8.525025635307632,8.84513348927129,9.06115173303871,9.183909571600173,9.228113481784522,9.202839639647767,9.120938037559531,8.993310594242388},
{0.0026084668106287076,0.05616213503149189,0.2696172405255769,0.718558280319574,1.4038173241186784,2.2706049768100804,3.243762263006416,4.248430768724303,5.222252214051838,6.118731963746451,6.908292907012304,7.574473409708471,8.114585722367035,8.531412183471835,8.834514714010428,9.033932106292545,9.140913625640206,9.170415352229842,9.131857349696386,9.038135296122979,8.90029190108366},
{0.002798377625551821,0.05929540806920505,0.2817312471121212,0.7450423759508699,1.4465265268065004,2.3276082016189967,3.310555470638279,4.319265055572715,5.291256294536293,6.180673340426111,6.958997387817106,7.6109663338500715,8.135051780568098,8.53502507592981,8.82122376397387,9.004224048060463,9.095682384750166,9.110787464208688,9.059294953624892,8.9541315542637,8.80646283157135},
{0.002999264126474818,0.06255203225998605,0.29417338896157325,0.7719879032511663,1.4896258017606194,2.38470333616789,3.376970664981392,4.3891646419731565,5.358767606921905,6.240631024267612,7.007339089261041,7.6448514006810955,8.152801676902236,8.535937697390299,8.805347311702793,8.972124340521917,9.048319992973846,9.049338796038539,8.985263424618804,8.86903677191216,8.711929079176109},
{0.0032115804654979387,0.06593442607491663,0.3069443681840949,0.7993868153673924,1.5330946574483961,2.4418596183283054,3.442972993688022,4.458098405073352,5.424766135647286,6.298601688841318,7.053334598497992,7.67616599767575,8.167892417867412,8.534223393090281,8.786971133332257,8.93772815715778,8.998928331239473,8.986175438288155,8.909870249249987,8.78295681204902,8.616791763669351},
{0.0034357906379925774,0.06944497058555357,0.3200446590992381,0.827230738958673,1.5769124993588728,2.499046710818821,3.5085286899688515,4.5260369097193,5.489233943264232,6.354584181225925,7.097002462550789,7.70494898629474,8.180381745810143,8.529955334532685,8.766180020311397,8.90112901181278,8.947606993528805,8.921400595562664,8.833219451525705,8.695993499273614,8.521147532133261},
{0.003672368362517589,0.07308600721628145,0.3334745095841777,0.8555109891038826,1.6210586578494197,2.5562347282687354,3.573605082049597,4.592952386756721,5.552155111326135,6.4085794273595935,7.138363066585536,7.7312405651343,8.190327992328083,8.523206397123163,8.743057701879072,8.86241871540812,8.894453268778275,8.855114593561861,8.755411621366605,8.60824468334492,8.425088663450584},
{0.003921796950458142,0.07685983556716836,0.34723394271366514,0.8842185842551511,1.6655124150971516,2.613394262331001,3.638170600148804,4.658818709213274,5.6135156804464765,6.460590338543813,7.17743851563885,7.755082138322778,8.197789939313328,8.514049049246525,8.71768677731051,8.82168733949339,8.83956212798002,8.78741489083659,8.676543947292611,8.519804307229059,8.32870317570222},
{0.004184569165602675,0.0807687113092442,0.3613227586787845,0.9133442612050585,1.7102530311393578,2.6704964048943087,3.702194781108626,4.723611366557157,5.673303589739749,6.5106217192696745,7.2142525198701675,7.7765161889423045,8.202826687816597,8.502555252244948,8.69014865700244,8.779023185918243,8.783026216018417,8.718396094704456,8.596710253105515,8.430762479194483,8.23207493593374},
{0.004461187073886047,0.08481484415390583,0.3757405369715353,0.9428784900370573,1.7552597689907656,2.727512769446329,3.7656482708079464,4.78730743721876,5.731508615842114,6.558680176517511,7.24883028339275,7.795586157257666,8.205497534877395,8.488796370700388,8.66052351152399,8.73451276198798,8.724935847836875,8.648149980837276,8.516001038359565,8.341205548505688,8.13528377178574},
{0.004752161883538802,0.08900039589794274,0.3904866388222578,0.9728114890304117,1.8005119188288035,2.7844155106419914,3.8285028244844805,4.8498855595531625,5.7881223116945915,6.6047740306634175,7.28119839672016,7.812336323564874,8.205861858412096,8.472843092381765,8.628890227824783,8.68824076054375,8.66537900858531,8.576765516092852,8.434503522408267,8.251216184278466,8.038405584516175},
{0.005058013775892916,0.09332747854547492,0.4055602098769427,1.003133239492683,1.8459888212411808,2.841177342132111,3.8907313050895813,4.9113259014125505,5.843137945257788,6.648913228109733,7.311384732849166,7.826811695521148,8.203979010187098,8.454765357193116,8.595326371858553,8.640290044476682,8.604441357455991,8.504328884227181,8.352301691809956,8.160873457074093,7.941512462976242},
{0.005379271727105,0.09779815250789675,0.42096018310152405,1.0338335004944912,1.8916698895330255,2.8977715527088774,3.9523076797962875,4.971610128488969,5.896550438313936,6.691109255741382,7.339418346984238,7.839057899877206,8.199908216833638,8.43463229444973,8.559908156947078,8.590741635246545,8.542206234974381,8.430923514185094,8.269476350867484,8.070252922826201,7.844672798133807},
{0.005716473321066714,0.10241442488273071,0.436685281900353,1.0649018234829228,1.9375346310935289,2.9541720208255478,4.01320701477788,5.030721371579416,5.94835630549938,6.731375057295688,7.365329379890205,7.8491210785922485,8.193708488789431,8.41251216781326,8.522710417274642,8.539674705029286,8.478754673563628,8.356630110723023,8.1861051750701,7.979426708711842,7.747951397770475},
{0.006070164553780578,0.10717824781211133,0.4527340234361663,1.0963275667515773,1.983562667824563,3.010353227548318,4.073405468370681,5.088644192916973,5.9985535936986825,6.769724951720081,7.389148964836166,7.857047789364786,8.185438536984403,8.388472327232103,8.483806585965839,8.487166572165268,8.414165411233881,8.281526687165877,8.10226276719926,7.888463600597531,7.651409601009789},
{0.006440899629487213,0.11209151692144413,0.4691047221390225,1.1280999097467923,2.0297337556360686,3.0662902679986996,4.132880282731398,5.1453645517036435,6.047141821920114,6.806174553579885,7.410909138064961,7.862884910652201,8.175156697026628,8.362579167257213,8.443268677258656,8.433292699620614,8.348514908254682,8.20568860013847,8.018020715855473,7.797429131710996,7.555105392365073},
{0.006829240748836763,0.11715606983861282,0.48579549339184136,1.1602078671910891,2.0760278030150974,3.121958861344829,4.191609774095465,5.200869768972634,6.094121921761417,6.840740695566948,7.43064275269135,7.866679551276683,8.162920860591466,8.334898091134274,8.401167272339597,8.378126696209353,8.281877366651832,8.129188586141417,7.933447656160086,7.706385672210095,7.459093515025198},
{0.007235757889403351,0.12237368479394889,0.5028042573803944,1.1926403030063455,2.1224248886774233,3.1773353594001503,4.249573321739366,5.255148491900334,6.139496178564676,6.8734413531495475,7.448383395904717,7.868478964723679,8.148788413674295,8.305493480108858,8.357571508458333,8.321740320354296,8.214324752339028,8.052096799862317,7.848609332385394,7.615392519341389,7.363425583125621},
{0.007661028578846914,0.12774607930102033,0.520128743095797,1.2253859440205759,2.168905278312322,3.2323967538875467,4.306751355745962,5.308190657680702,6.183268173349215,6.904295571394189,7.464165309333392,7.868330468232584,8.132816181333876,8.274428667419679,8.312549070985028,8.264203486189691,8.145926819659936,7.97448085412592,7.763568662267573,7.52450598790199,7.268150192778248},
{0.008105637661031171,0.1332749089181486,0.5377664924778021,1.2584333934435579,2.215449440432818,3.287120682426672,4.363125343668196,5.359987457067759,6.225442725602548,6.933323393981159,7.478023312422429,7.86628136676055,8.11506037853072,8.241765916495739,8.266166188114907,8.205584271830588,8.076751138088527,7.896405861394179,7.678385802760267,7.433779500739381,7.173313031658245},
{0.008570177055410763,0.13896176609042388,0.5557148646874341,1.291771144097814,2.2620380613450854,3.3414854333016066,4.418677776182728,5.41053129768492,6.266025837000684,6.960545794427536,7.4899927286851415,7.8623788818716065,8.095576566651058,8.207566402913857,8.218487627961348,8.145948929651523,8.00686312081949,7.817934476729087,7.593118216991954,7.343263679044937,7.078956986967636},
{0.009055245510003704,0.14480817907185328,0.5739710404977859,1.3253875913927016,2.3086520592520685,3.3954699490652844,4.473392151821327,5.459815767193354,6.305024636121096,6.985984609523909,7.5001093147097535,7.8566700855682985,8.074419615301835,8.171890199713747,8.169576697811381,8.085361898432478,7.93632605497929,7.739126942129876,7.507820742196994,7.253006432217855,6.985122251615357},
{0.00956144834826796,0.15081561092715048,0.5925320267920583,1.3592710460305246,2.3552725975074735,3.4490538290362815,4.527252960864039,5.507835596405073,6.342447324203988,7.0096624749842915,7.508409191832115,7.849201839044225,8.05164366896421,8.134796265706786,8.119495245345814,8.023885817242203,7.8652011332003,7.66004113215234,7.42254565839857,7.1630530470966365,6.891846428471387},
{0.010089397210202772,0.1569854586125576,0.6113946611582338,1.3934097464347255,2.401881097037409,3.5022173307426687,4.580245668474536,5.554586622420472,6.378303122010552,7.031602763302548,7.514928780419654,7.8400207362966405,8.027302118101565,8.096342436452208,8.068303661651246,7.961581540939618,7.7935474863227805,7.580732600713312,7.337342757631274,7.073446276375411,6.79916463256947},
{0.010639709787997444,0.16331905213497364,0.6305556165700577,1.427791870891269,2.4484592479477736,3.5549413703665613,4.632356697154334,5.600065751864089,6.412602217820101,7.051829523802813,7.519704736745596,7.829173052499846,8.00144757433131,8.05658541760954,8.016060885872363,7.898508157182391,7.72142221701869,7.501254628977658,7.252259413501515,6.984226426040938,6.707109591148621},
{0.011213009556550019,0.16981765378856306,0.6500114061443162,1.46240554939538,2.4949890203363454,3.607207522241927,4.683573408588984,5.644270924286783,6.445355716601901,7.070367424865412,7.522773892462934,7.81670469700512,7.974131849287158,8.015580780408804,7.9628244113715025,7.834723004839658,7.648880434163486,7.421658274220032,7.167340650895062,6.895431441683586,6.615711741438835},
{0.011809925499179546,0.17648245746791447,0.6697583879647157,1.4972388751967562,2.541452674329179,3.658998017457023,4.733884084955854,5.687201075797243,6.476575590391674,7.08724169830251,7.524173196711605,7.802661170801874,7.945405936819018,7.973382959010089,7.908650293277981,7.770281693714779,7.57597528781451,7.341992419549036,7.082629215652855,6.807096993551251,6.5249993261108985},
{0.012431091828854813,0.18331458805672865,0.6897927699629741,1.5322799160373182,2.58783276936147,3.710295741611593,4.783277909759591,5.72885610298054,6.5062746298973995,7.102478085847889,7.52393966090847,7.787087528248529,7.915319998199695,7.930045249551459,7.8535931573229245,7.705238125497239,7.502758004684428,7.26230382437767,6.998165644048301,6.719256560229428,6.434998486324134},
{0.013077147705261612,0.19031510089093,0.7101106148480713,1.5675167250764521,2.6341121727235706,3.7610842317776747,4.831744948258028,5.769236827156655,6.534466397354055,7.1161027877127685,7.522110306277724,7.7700283428609955,7.883923350031464,7.88561981070871,7.797706209866537,7.6396445158808906,7.429277924024537,7.182637175521558,6.9139883319118915,6.631941510843683,6.345733352319335},
{0.013748736948029593,0.19748498129501202,0.730707845074916,1.6029373514995353,2.680274067393167,3.8113476727115523,4.879276127537974,5.808344959027307,6.561165180642315,7.128142413145194,7.518722114179257,7.751527676930907,7.851264454569428,7.840157665612896,7.741041249033922,7.573551417804305,7.355582533854185,7.103035138805095,6.830133603261717,6.545181185692769,6.2572261315166395},
{0.01444650774643788,0.2048251441903592,0.7515802478440317,1.638529850806367,2.726301959174994,3.8610708923630224,4.9258632162971585,5.846183063755012,6.586385948681986,7.138623932916954,7.513811979285632,7.731629054735506,7.817390912202813,7.793708704990742,7.68364867688347,7.50700774578097,7.281717507489392,7.023538411055665,6.746635778311171,6.459002975231916,6.16949719409},
{0.015171112365915871,0.21233643377421205,0.7727234801241603,1.6742822947768365,2.772179683169596,3.910239356726713,4.971498804385385,5.882754526514117,6.610144308106887,7.147574633651195,7.5074166656455885,7.710375439095234,7.782349455858759,7.746321691410561,7.625577512537965,7.440060801286847,7.207726740335605,6.94418577236715,6.663527240737269,6.373432397336457,6.08256515600076},
{0.015923206851654225,0.22001962326788793,0.7941330736900479,1.7101827811119712,2.8178914095929,3.958839164078899,5.016176282155093,5.918063518549745,6.632456461224522,7.155022073899194,7.4995727656554045,7.687809211033933,7.746185947116148,7.698044264531461,7.566875406214165,7.372756299159909,7.13365238691764,6.865014138516368,6.580838504104859,6.288493172786404,5.9964469594831655},
{0.016703450729636606,0.2278754147328065,0.8158044401679613,1.7462194427490985,2.8634216489683135,4.006857038641694,5.0598898196683795,5.952114963776704,6.653339165260216,7.160994041875837,7.49031666193972,7.663972152298516,7.708945373838427,7.648922947266387,7.507588654090579,7.305138394943459,7.0595348981239,6.786058613419148,6.498598277352324,6.204207298922202,5.911157950983876},
{0.017512506705400277,0.23590443895282176,0.8377328760818371,1.7823804568505957,2.90875525671322,4.0542803237152105,5.10263434580493,5.984914505947093,6.67280969288263,7.165518514771647,7.479684492122874,7.638905430500751,7.670671849154885,7.5990031527812745,7.447762213957004,7.237249713079157,6.985413058643671,6.707352541517147,6.416833529254633,6.120595121431629,5.826711956566334},
{0.01835104036082964,0.24410725538131597,0.8599135678932731,1.8186540534662594,2.953877437141568,4.101096974316773,5.14440552731238,6.016468476411923,6.690885794004667,7.168623619572265,7.467712116450775,7.612649586651584,7.631408611638753,7.54832919226194,7.38743972159217,7.169131375831408,6.911324024575491,6.628927559991427,6.3355695517882875,6.037675404236693,5.74312135479858},
{0.01921971984928231,0.25248435215146536,0.8823415970288832,1.8550285238699302,2.998773746904257,4.1472955493648485,5.185199747838109,6.046783862498966,6.7075856588511416,7.170337595333317,7.454435088203243,7.585244524868581,7.591198026547873,7.496944283388681,7.3266635078182185,7.1008230328071775,6.837303361182432,6.550813650704658,6.254830022331264,5.9554653974579965,5.660397147150223},
{0.02011921558934349,0.2610361461480595,0.9050119448888636,1.8914922285715638,3.0434300978888236,4.192865203444006,5.225014086978904,6.0758682765262355,6.722927882282562,7.170688756877244,7.439888626818422,7.556729504048602,7.550081588009729,7.444890559465547,7.265474616182909,7.032362890926316,6.763385080767112,6.4730391917801295,6.17463706463892,5.873980903442195,5.578549025930482},
{0.021050199957499356,0.26976298313921326,0.9279194978309111,1.928033605006426,3.0878327595997623,4.23779567818571,5.263846299382445,6.103729925467562,6.7369314293619516,7.1697054598966865,7.424107593634384,7.52714313131044,7.508099922046976,7.392209079156946,7.203912821221938,6.963787744697207,6.689601680635561,6.395631008732218,6.095011308544162,5.793236340845497,5.497585439804543},
{0.02201334698001519,0.2786651379662953,0.9510590521239528,1.9646411749036237,3.1319683610406184,4.282077293298493,5.30169479393233,6.130377581284459,6.749615602150062,7.167416067465773,7.4071264701394055,7.496523357025567,7.465292790352708,7.338939836789256,7.142016647255456,6.895133006660423,6.615984181115548,6.318614425069693,6.015971948337538,5.713244806773243,5.41751365693022},
{0.023009332024298623,0.28774281479036334,0.9744253188664289,2.001303551336569,3.1758238921186424,4.325700937279529,5.338558613045947,6.155820551935729,6.761000007712328,7.163848917973583,7.388979338610921,7.464907471268514,7.421699094736115,7.28512177317894,7.0798233876739225,6.826432737876634,6.542562163591362,6.242013312299425,5.937536799789602,5.634018136981558,5.338339825760464},
{0.02403883149002341,0.29699614739338387,0.9980129288641731,2.0380094454584605,3.2193867045926297,4.368658057838404,5.374437412112525,6.1800686530743025,6.7711045273191175,7.159032294504036,7.369699865014871,7.432332101532388,7.377356882169667,7.230792786952122,7.017369124669827,6.757719678352641,6.46936380851415,6.1658501392643466,5.859722355784707,5.555566964152858,5.260069033560648},
{0.025102522500282796,0.3064251995324974,1.0218164374632244,2.0747476729262195,3.262644512584121,4.4109406520624965,5.409331439096515,6.20313218043857,6.779949286818309,7.152994395691915,7.3493212840310385,7.398833211568195,7.33230335037785,7.175989746323193,6.954688749372753,6.689025277318717,6.39641593334437,6.090146020755293,5.782543840541693,5.477900774261793,5.182705362691829},
{0.026201082593036135,0.3160299653455754,1.0458303293331592,2.111507160016685,3.3055853926718717,4.452541256352041,5.443241514329518,6.225021882943549,6.787554628155474,7.145763308086417,7.327876386066435,7.364446101219796,7.28657485391541,7.120748501302152,6.8918159823463805,6.620379723289749,6.32374403038105,6.014920765341764,5.7060152624030005,5.401027961052701,5.106251944713158},
{0.02733518941310599,0.3258103698063159,1.0700490231968462,2.1482769494392393,3.3481977835891015,4.493452936151757,5.476169010512163,6.245748936475445,6.793941082012045,7.137366980051947,7.3053975061176075,7.329205407138931,7.240206910690027,7.065103896302278,6.828783394407178,6.5518119738610165,6.251372304431647,5.940192922372276,5.6301494651796515,5.324955878653565,5.030711012358087},
{0.028505520404977284,0.33576626922710745,1.094466876502751,2.1850462058493028,3.390470485542626,4.533669275504564,5.508115832945399,6.2653249183914435,6.79912934152561,7.127833197230915,7.281916514343159,7.293145104276316,7.193234208890055,7.0090897831209915,6.765622427726246,6.483349785205285,6.179323710275793,5.865979828099802,5.554958178044754,5.249690892354941,4.956083949439894},
{0.02971275250664291,0.3458974518079029,1.1190781900362041,2.2218042210674533,3.432392659172613,4.573184366451803,5.539084400009174,6.283761782725109,6.803140237050192,7.117189559586215,7.257464808210305,7.256298508056228,7.145690614283305,6.9527390342680135,6.70236341717952,6.415019741251517,6.107619989876811,5.792297650893166,5.480452063973463,5.1752384275855405,4.882371338742832},
{0.030957561844734482,0.3562036382293357,1.1438772124662886,2.258540419009171,3.4739538241712173,4.611992798303058,5.569077623904632,6.301071836096202,6.80599471190895,7.105463460032009,7.2320733060828815,7.218698277152127,7.097609177856883,6.89608355661581,6.639035611918639,6.346847282536004,6.036281709295666,5.7191614354999425,5.406640766731752,5.101603017118643,4.809573007955438},
{0.03224062343117005,0.36668448228832284,1.168858144825242,2.2952443603304453,3.515143857577974,4.650089646797644,5.5980988916745895,6.317267714322558,6.8077137990882095,7.092682064651623,7.205772442123191,7.180376416790442,7.049022143771921,6.839154305348034,6.575667197144658,6.2788567347247595,5.96532829526353,5.646585146331462,5.333532956420797,5.028788346545969,4.7376880737026905},
{0.033562610861543336,0.37733957157440035,1.1940151449175163,2.3319057467946953,3.55595299176935,4.68747046317858,5.62615204651551,6.332362359730295,6.80831859882098,7.078872294490788,7.178592162385867,7.141364282518396,6.999960957610011,6.7819812981823215,6.512285316076776,6.211071336811353,5.8947780713708,5.574581709745049,5.261136373587402,4.9567972980574115,4.6667149837335264},
{0.03492419601547355,0.3881684281850508,1.2193423316558591,2.368514425366636,3.596371812159406,4.724131263198856,5.6532413693928145,6.346368999157706,6.807830257010367,7.064060808904079,7.1505619219884435,7.1016925843796095,6.950456274890669,6.724593629844326,6.448916092113851,6.143513268997675,5.824648293832251,5.503163055303368,5.189457871914498,4.885631992566547,4.596651557319964},
{0.03632604875912666,0.3991705094782935,1.2448337893220107,2.4050603920389038,3.636391254628074,4.760068516078708,5.679371560970108,6.3593011226469764,6.806269944448216,7.048273990422444,7.121710683250234,7.061391391448439,6.900537969841293,6.6670194867703225,6.385584651185518,6.076203680266441,5.754955186790059,5.4323401559950275,5.118503459508625,4.815293830222989,4.527495023923574},
{0.037768836650112936,0.41034520886081866,1.2704835717498084,2.4415337953973917,3.6760026026930657,4.79527913343155,5.704547723861581,6.371172462817075,6.803658836791558,7.031537931100354,7.092066914698406,7.020490136680292,6.850235144402706,6.609286162016097,6.322315144281284,6.00916271565436,5.685713977118538,5.362123067404819,5.048278338804001,4.745783529353396,4.459242060184489},
{0.039253224644958354,0.4216918566099683,1.2962857064287256,2.4779249399313645,3.71519748444099,4.829760458175272,5.728775345215761,6.381996974910275,6.800018095268266,7.013878420293094,7.061658590847507,6.979017622040983,6.799576137454789,6.5514200703503,6.259130770132801,5.942409543233798,5.61693892869674,5.292520965825961,4.978786945105033,4.677101163873526,4.391888825287451},
{0.04077987480934057,0.43320972072788017,1.3222341985260395,2.5142242890945563,3.753967869232759,4.863510253444616,5.752060279637619,6.391788817504034,6.795368848092567,6.995320933807391,7.030513192666088,6.9370020238831716,6.748588534247812,6.493446763510754,6.196053798008725,5.8759623808091,5.548643376117382,5.223542185310412,4.9100329837909715,4.609246199213923,4.325430994758629},
{0.042349446031273226,0.4448980078261362,1.3483230348260442,2.5504224681235197,3.7923060641979256,4.896526691519418,5.7744087324550435,6.400562333879243,6.789732172580457,6.975890624362948,6.998657708651327,6.89447089854233,6.697299176025943,6.435390945602655,6.1331055905672045,5.8098385223316,5.480839757803095,5.15519425365674,4.842019466207997,4.542217526801885,4.259863792746115},
{0.043962593737414984,0.45675586403926893,1.374546187584878,2.5865102666195665,3.8302047105320725,4.928808342782569,5.795827243334658,6.408332034035241,6.783129077963393,6.9556123132976255,6.966118636439548,6.851451188128601,6.645734169829962,6.3772764886179685,6.070306626699644,5.74405436403496,5.413539648503557,5.08748392733819,4.774748744275349,4.476013497142189,4.195182022836065},
{0.045619969612673554,0.46878237596551614,1.4008976182997506,2.6224786409007375,3.867656779610982,4.960354164720785,5.816322670251149,6.4151125773415405,6.775580488905903,6.9345104834459015,6.9329219848875,6.807969226494273,6.593918898467005,6.319126448055782,6.007676524293082,5.67862543029024,5.346753791149829,5.020417225376567,4.708222543833211,4.410631951538835,4.131380097455584},
{0.047322221323267064,0.4809765716332258,1.4273712813914883,2.6583187161302146,3.9046555689347797,4.991163490980296,5.835902173813256,6.420918755815558,6.767107229738198,6.912609273117812,6.8990932765654716,6.764050745359405,6.541878030635248,6.260963078623769,5.945234062836881,5.613566399177464,5.280492128044891,4.953999462169973,4.642441996761009,4.346070252499544,4.068452065912379},
{0.049069992243398725,0.4933374214913434,1.453961127799496,2.694021788227673,3.9411946979148182,5.021236020488868,5.854573201948896,6.425765478015377,6.7577300094185695,6.889932471104576,6.864657550609598,6.719720880580658,6.489635531191951,6.202807850001469,5.882997205802685,5.548891127768376,5.214763831372232,4.888235279284942,4.57740767189552,4.282325312864321,4.006391641120212},
{0.05086392118569389,0.5058638394224481,1.4806611084883983,2.7295793255700573,3.977268103515626,5.050571806654799,5.872343474951109,6.429667753536115,6.747469407242464,6.866503512636994,6.829639365886358,6.675004178550525,6.437214671553454,6.144681462646525,5.820983122733515,5.4846126771128745,5.149577333007127,4.823128676225444,4.513119604778914,4.219393623698797,3.9451922250581535},
{0.05270464213554132,0.5185546837768145,1.5074651778657508,2.7649829704882594,4.012870035763752,5.079171246652693,5.889220970885719,6.432640678097981,6.736345859315083,6.842345476223345,6.794062804427463,6.629924602715763,6.384638040215857,6.086603863625555,5.75920821098723,5.420743336919725,5.084940353618001,4.75868304019308,4.449577326267232,4.157271280992391,3.8848469330104725},
{0.05459278398947413,0.5314087584260283,1.534367297110375,2.8002245405661967,4.047995053134942,5.107035070805235,5.905213911361108,6.434699419213606,6.7243796458033955,6.817481081295079,6.75795147509841,6.584505540205469,6.33192755338529,6.028594262451968,5.6976881170906655,5.35729464992062,5.020859931047979,4.6949011748543805,4.386779890030246,4.095954011200663,3.825348616632993},
{0.05652897029771912,0.5444248138346939,1.561361437410992,2.8352960297487226,4.08263801783062,5.134164332069422,5.920330747659726,6.435859202421109,6.711590878980682,6.791932686590659,6.721328517468195,6.5387698085603425,6.279104465706789,5.97067114691349,5.63643775767209,5.294277435905313,4.95734244796933,4.631785328132372,4.324725898973767,4.0354371956705135,3.766689885890514},
{0.05851381901103543,0.5576015481488104,1.5884415831149612,2.870189609264795,4.116794090954187,5.160560395635053,5.934580147230489,6.436135298067739,6.697999492073319,6.765722289210488,6.684216605851956,6.492739662555623,6.226189381080847,5.912852298872875,5.575471339950696,5.2317018154146675,4.894393658805963,4.569337219040835,4.263413530615524,3.9757158939860413,3.7088631299088175},
{0.060547942231959084,0.5709376082994315,1.6156017347870597,2.9048976283722863,4.150458727597306,5.186224928642731,5.947970980540662,6.435543008626884,6.68362522891523,6.738871524278971,6.6466379535018865,6.44643680111113,6.173202263556863,5.855154810025841,5.514802381772059,5.169577233077891,4.832018715921563,4.5075580635804915,4.202840561445689,3.9167848662722182,3.6518605367836363},
{0.06263194597056108,0.5844315911202399,1.64283591217836,2.9394126149307533,4.1836276718458665,5.211159890027962,5.960512308285344,6.434097656528524,6.668487634410721,6.71140166515303,6.608614316925095,6.399882374282311,6.120162448292796,5.79759509760098,5.454443731187338,5.107912480579994,4.770222195073085,4.446448599717246,4.14300439030289,3.858638594492589,3.595674112387761},
{0.06476642990482158,0.5980820444777124,1.6701381571053409,2.973727275808426,4.216296951714913,5.235367520497384,5.972213368952196,6.431814572480693,6.652606045801417,6.683333624119918,6.570167000310007,6.3530969903267245,6.067088652570363,5.740188919986926,5.3944075855812805,5.046715719245568,4.709008120131308,4.386009111463106,4.08390206079622,3.8012713027764966,3.540295698216319},
{0.06695198714571599,0.611887468412579,1.697502536239513,3.007834497129609,4.248462874021444,5.258850332642619,5.983083566738642,6.428709084257314,6.635999584728111,6.6546879535308845,6.531316860045587,6.306100722840804,6.013998986855336,5.682951392272927,5.334705510359913,4.9859945022253855,4.6483799870721665,4.3262394520809035,4.025530282803402,3.744676976810417,3.4857169883091315},
{0.06918920400710293,0.6258463162913142,1.7249231438079267,3.041727344368626,4.280122019203648,5.281611101196769,5.993132459818464,6.424796505926529,6.618687150073537,6.6254848473210615,6.492084309319945,6.258913117961971,5.960910965892599,5.625897001689877,5.275348457212951,4.925755796273053,4.588340787244133,4.267139066434238,3.967885453074765,3.688849382327259,3.431929545287855},
{0.07147865978049701,0.6399569959664279,1.75239410420499,3.0753990622963174,4.31127123609463,5.303652853437991,6.00236974895422,6.4200921274932465,6.600687411567497,6.595744142869482,6.452489322786872,6.211553201631308,5.907841519825706,5.569039622940798,5.216346781968632,4.866006003099554,4.528893029918499,4.2087070125041794,3.9109636749721366,3.6337820827265253,3.3789248155444764},
{0.07382092651480383,0.6542178709443647,1.77990957451617,3.108843074785062,4.341907636658476,5.324978859744205,6.010805266451732,6.414611204930757,6.5820188041317635,6.565485323157125,6.412551441290742,6.164039486912266,5.854807005330969,5.512392533413519,5.157710262060147,4.806750980294896,4.470038764130777,4.150941982094501,3.8547607773712667,3.579468455857517,3.3266941436166144},
{0.07621656880108911,0.6686272615598414,1.8074637469541854,3.1420529844781697,4.372028590696003,5.3455926243025,6.018448965452553,6.408368950578277,6.562699522938508,6.534727519184274,6.372289776641609,6.116389981360781,5.8018232167561905,5.4559684282737475,5.099448113623171,4.747996061806887,4.411779599822664,4.0938423207471315,3.7992723327556845,3.5259017099968566,3.275228785783917},
{0.07866614356244701,0.6831834461555035,1.835050851208396,3.1750225723293806,4.401631720527301,5.36549787597638,6.025310909560001,6.401380523884519,6.542747519152913,6.503489512612065,6.331723016433746,6.0686221944423435,5.748905397254423,5.39977943544289,5.04156900824342,4.689746077968565,4.354116728295001,4.037406046889575,3.7444936745293553,3.4730748990507903,3.224519922918739},
{0.08117019984902749,0.6978846622657947,1.8626651567081633,3.2077457970181538,4.430714895657728,5.384698559333623,6.031401262794204,6.393661022481091,6.522180496328084,6.471789738596458,6.290869428901917,6.020753144991493,5.696068249903351,5.343837130469415,4.98408108937196,4.632005375066987,4.2970509419831675,3.981630870236072,3.690419913574813,3.420980937011917,3.1745586726231894},
{0.08372927863827745,0.7127291078039861,1.8903009748010358,3.2402167942462667,4.459276227433797,5.403198825837098,6.036730279871356,6.3852254735739455,6.501015907418445,6.439646288786031,6.2497468678107255,5.972799368709243,5.643325948801126,5.2881525513038055,4.926991988424419,4.574777834447458,4.2405826535670705,3.9265142094641083,3.637045954082821,3.369612611699173,3.1253361006835547},
{0.08634391264044353,0.7277149422513318,1.9179526608466424,3.272429875921174,4.487314063694965,5.421003025200567,6.041308296802111,6.37608882564528,6.479270952376199,6.407076914457952,6.208372777372985,5.924776925693847,5.590692150129773,5.232736212984186,4.870308840578141,4.518066891148632,4.18471191442856,3.8720532091878397,3.584366508678952,3.3189625978090516,3.076843231871998},
{0.08901462610938064,0.7428402878473563,1.945614616227284,3.3043795292314355,4.514826983427118,5.438115696911135,6.045145721804062,6.366265940462617,6.456962576294651,6.374099029769386,6.166764197193968,5.87670140800039,5.538180003177536,5.177598122233386,4.8140383002794005,4.461875552065208,4.129438432469703,3.8182447562498685,3.532376112871844,3.2690234693052616,3.0290710601244544},
{0.09174193465870402,0.7581032307803157,1.973281290276223,3.3360604156194453,4.541813791423164,5.454541561919714,6.048253026522858,6.355771585395449,6.434107468061605,6.340729715104119,6.124937767238649,5.82858794722451,5.485802161311833,5.122747791959566,4.75818655647058,4.406206413636228,4.074761589305743,3.7650854953525297,3.481069138847232,3.219787711173219,2.9820105581225427},
{0.09452634508331753,0.7735018223768984,2.0009471821247455,3.3674673696565174,4.5682735129559,5.470285514500519,6.050640737556642,6.344620426043088,6.410722059486019,6.306985720496625,6.082909732819696,5.780451222105673,5.433570792894819,5.0681942556435216,4.702759347545167,4.351061679058249,4.02068045684693,3.712571844049676,3.4304398086312373,3.1712477305649416,2.9356526863063537},
{0.09736835518634665,0.7890340802902706,2.028606842469114,3.3985953978253334,4.594205388468027,5.485352614280378,6.052319428278129,6.332827019179821,6.386822524861423,6.27288346911806,6.040695949604174,5.732305466145254,5.381497592133825,5.013946081587824,4.64776197603661,4.296443175023767,3.9671938132837243,3.660700007119589,3.380482206645738,3.123395867359166,2.8899884013439783},
{0.10026845361149887,0.8046979896856085,2.0562548752585674,3.4294396772145843,4.61960886828391,5.499748078438363,6.053299710948794,6.320405806025268,6.362424780930351,6.238439060810614,5.998311888637243,5.684164475234771,5.32959378985931,4.960011386996928,4.593199323045262,4.24235236798641,3.9143001584900547,3.6094659903393587,3.331190291678077,3.0762244041607163,2.8450086640826715},
{0.10322711968086967,0.8204915044222755,2.083885939305551,3.4599955541305354,4.644483607347368,5.51347727407592,6.053592229119332,6.307371105848769,6.337544487214818,6.203668275658592,5.955772641381262,5.63604161528951,5.2778701642232555,4.906397851854106,4.539075862406158,4.188790379955402,3.861997728859381,3.5588656136805987,3.282557908286678,3.029725575762362,2.8007044470056215},
{0.10624482323820844,0.8364125482318537,2.111494749819436,3.490258542630142,4.668829459989649,5.526545710757597,6.053207650310687,6.293737109917064,6.312197046679244,6.1685865775861695,5.913092924768929,5.587949829882882,5.226337051311307,4.853112732560479,4.485395674599112,4.135758003822767,3.810284511588488,3.508894523946063,3.2345787976636036,2.9838915780916904,2.757066741217388},
{0.10932202449765273,0.8524590158912543,2.139076079864953,3.5202243229801695,4.692646474731342,5.538959033222043,6.052156658969761,6.279517875794057,6.286397606693472,6.133209117973328,5.870287086269055,5.539901647876762,5.175004355662264,4.800162875303066,4.432162460401533,4.083255718227581,3.759158258423849,3.4595482068661827,3.18724660797444,2.938714576664748,2.714086562980149},
{0.1124591738979366,0.8686287743901758,2.1666247617466734,3.5498887400467196,4.7159348891218515,5.550723014262958,6.050449949693943,6.26472732200066,6.260161060265141,6.097550739282788,5.82736910896375,5.4919091910431685,5.123881560688925,4.747554729122626,4.379379554283478,4.031283701962358,3.708616498885406,3.4108219986741384,3.1405549041953367,2.894186714567466,2.6717549598221084},
{0.11565671196207221,0.884919664092193,2.194135688320806,3.5792478016193527,4.738695124619751,5.561843547779255,6.048098220718518,6.249379223041294,6.233502047512186,6.0616259786919215,5.784352616635645,5.443984181672592,5.072977738994525,4.695294358657028,4.327049937543897,3.9798418479273376,3.6586565529824555,3.3627110971775664,3.0944971774663905,2.8503001199851803,2.6300630162384597},
{0.11891506916250343,0.9013294998888128,2.2216038142357024,3.608297676673992,4.76092778151724,5.572326641993759,6.0451121676610935,6.233487204802026,6.20643495734819,6.025449071724742,5.741250878863972,5.396137950164487,5.0223015625795195,4.643387456541809,4.27517625118653,3.928929776639147,3.6092755434362838,3.3152105723445904,3.0490668539801056,2.8070469132998728,2.589001859004644},
{0.12223466579172167,0.9178560723458382,2.2490241571023795,3.6370346935785385,4.7826336339115105,5.582178412839358,6.041502477516915,6.217064740323239,6.178973929354797,5.989033955879904,5.698076816128082,5.348381442595269,4.971861312933636,4.591839355455616,4.2237608085336165,3.8785468493007214,3.5604704074238818,3.2683153764212647,3.0042573034229405,2.7644192137740218,2.5485626621206867},
{0.12561591183833418,0.9344971488414241,2.2763917985964697,3.665455338245113,4.8038136247258345,5.591405077511539,6.037279822898924,6.200125145947707,6.151132855817368,5.952394274251486,5.654843004917075,5.3007252282595,4.921664891008539,4.540655039804294,4.17280560757547,3.8286921804399903,3.5122379078570045,3.2220203535971477,2.9600618469875366,2.7224091458393187,2.5087366514047624},
{0.12905920686856934,0.9512504746952427,2.3037018854929667,3.6935562522326744,4.824468860782858,5.600012948186026,6.032454856515911,6.182681577842763,6.122925383901779,5.915543379140064,5.611561682844122,5.253179507179807,4.871719827066826,4.489839157042829,4.122312343053992,3.779364650125151,3.4645746442105505,3.1763202492351863,2.9164737649726264,2.6810088450078307,2.469515108753324},
{0.13256493991320004,0.9681137742881842,2.33094963063518,3.7213342308036386,4.8446006079324135,5.608008425900094,6.027038205881579,6.164747028892956,6.09436491795202,5.878494335652055,5.568244753763956,5.20575411758132,4.822033290403283,4.439396028639236,4.0722824182782285,3.730562915764761,3.417477062914103,3.131209718681608,2.8734863039870504,2.640210463422554,2.430889376084421},
{0.1361334893598638,0.9850847521720697,2.358130313839309,3.7487862209380296,4.864210286236067,5.615397994596038,6.021040468246436,6.146334325957647,6.065464621889918,5.841259925285972,5.524903792892028,5.158458543326468,4.772612098934818,4.389329660688517,4.022716956670343,3.682285423501161,3.370941467320245,3.0866833356711187,2.831092683773896,2.6000061750636667,2.392850858980193},
{0.13976522285075357,1.0021610941688608,2.385239282736043,3.7759093193085613,4.883299465210307,5.622188215325155,6.014472205743527,6.127456127485801,6.03623742170008,5.803852649504501,5.481550051923667,5.111301921306084,4.7234627286557,4.3396437541880655,3.9736168130406107,3.634530419205979,3.3249640272630603,3.0427356003421564,2.789286103670138,2.5603881806261968,2.3553910300437564},
{0.14346049718565063,1.0193404684588896,2.4122719535506243,3.8027007702199342,4.901869859130229,5.628385720610446,6.00734394073796,6.108124921478509,6.006696007984581,5.766284733291765,5.438194464151569,5.064293048782921,4.67459132295514,4.290341714988258,3.924982584590327,3.5872959590866684,3.279540788220081,2.999360946876594,2.7480597487167606,2.5213487120842077,2.318501431985159},
{0.14721965823026886,1.0366205266576523,2.4392238118228002,3.8291579635155286,4.919923322395364,5.633997208966276,5.999666151369377,6.088353023788069,5.976852838573612,5.72856812869539,5.394847649579905,5.017440390683821,4.626003701794598,4.2414266634336295,3.8768146216419885,3.540579919913205,3.2346676800906615,2.956553750777813,2.7074067954338012,2.4828800369560557,2.2821736804503607},
{0.15104304082987416,1.0539989048807323,2.46609041306808,3.8552784324545417,4.937461844959123,5.639029439572929,5.9914492672758835,6.068152576740984,5.94672014117958,5.690714518353191,5.351519920033164,4.970752086836829,4.577705370742496,4.192901443710935,3.829113038096355,3.494380008874123,3.1903405256035926,2.914308335800619,2.6673204172742784,2.4449744622846703,2.2463994666066527},
{0.15493096872814288,1.071473224796462,2.4928673833817574,3.881059851562552,4.9544875478232715,5.643489227104178,5.982703665487797,6.047535548071045,5.916309916083655,5.65273531900455,5.308221284257989,4.924235959149869,4.529701529864387,4.144768632920779,3.781877721616548,3.4486937730712253,3.146555048366511,2.8726189805461257,2.6277937897705335,2.407624338346323,2.2111705594973277},
{0.15888375449121872,1.0890410946659168,2.5195504199870826,3.906500034458311,4.971002678598569,5.647383436705671,5.973439666479742,6.0265137301475615,5.885633938844878,5.614641684986563,5.264961453015985,4.877899518727521,4.481997082466886,4.097030549889303,3.735108343539663,3.4035186086622504,3.1033068805693764,2.831479924734267,2.588820095385997,2.3708220621007547,2.1764788081778303},
{0.16290169943692406,1.1067001103699126,2.5461352917290716,3.931596931659554,4.987009607132732,5.650718979122042,5.963667530370327,6.005098739483127,5.854703763023252,5.57644451171531,5.221749844165658,4.831749972922813,4.434596643693987,4.049689263735887,3.6888043685168475,3.3588517696608844,3.060591570354068,2.7908853751662477,2.5503925280850166,2.334560080395091,2.1423161436451053},
{0.16698509356908234,1.1244478564226457,2.572617839515323,3.956348628370404,5.002510821206593,5.653502805970521,5.953397453259711,5.983302016504599,5.823530722909235,5.538154439152456,5.178595587731457,4.785794232320916,4.387504548974614,4.002746602211963,3.6429650638831674,3.3146903764033877,3.0184045888618,2.750829511388845,2.512504297632861,2.298830892933409,2.108674580571324},
{0.17113421551690297,1.1422819069716874,2.598993976705319,3.9807533422529753,5.017508922299414,5.6557419051587905,5.942639563696786,5.961134825570725,5.792125936253136,5.499781855257666,5.135507530957968,4.74003891765192,4.340724862320859,3.9562041598249866,3.597589508759057,3.2710314236911806,2.976741336969816,2.711306491072104,2.4751486336376773,2.2636270550234063,2.075546218852677},
{0.17534933247937737,1.1601998267840177,2.6252596894495857,4.0048094211855245,5.032006621423893,5.657443296444736,5.931403919269262,5.938608255219485,5.760500306988744,5.461336899427035,5.0924942433472085,4.694490366629944,4.294261384477234,3.910063305760372,3.552676602885417,3.227871788618541,2.9355971517284623,2.6723104551116093,2.4383187893456753,2.2289411801110943,2.042923244983405},
{0.17963070017463673,1.1781991722178498,2.651411036980158,4.028515341009564,5.046006735031664,5.658614027135841,5.9197005033118915,5.915733218628364,5.728664527946467,5.422829465918067,5.049564021677069,4.6491546407160484,4.24811766092355,3.864325191612964,3.5082250751949333,3.185208238094597,2.894967312509455,2.633835532466168,2.4020080452004655,2.1947659421140386,2.010797933264841},
{0.18397856279421498,1.1962774921799872,2.677444151853761,4.051869703268133,5.059512180989661,5.6592611679257425,5.907539221729676,5.892520454270821,5.696629083551935,5.38426920726142,5.006724894998837,4.604037531802541,4.202296989736756,3.8189907589382424,3.4642334921224167,3.1430374360686293,2.8548470468758325,2.595875844741397,2.366209712177067,2.1610940775632175,1.979162646858718},
{0.18839315296216164,1.2144323290684778,2.703355240149078,4.07487123293736,5.07252597462779,5.659391808865602,5.894929899934786,5.868980526752446,5.664404252506707,5.345665537659732,4.963984629611798,4.559144568816441,4.156802429320252,3.774060746632225,3.420700265657326,3.1013559504675845,2.815231536183739,2.558425510529332,2.330917134900679,2.127918387563121,1.9480098386936135},
{0.1928746916989477,1.2326612197003737,2.7291405816195424,4.09751877615343,5.085051224858255,5.6590130554678675,5.881882279897504,5.845123827810801,5.63200011044847,5.307027636373856,4.921350734013012,4.514481024240066,4.111636806011469,3.7295356981478016,3.377623661141996,3.0601602598546167,2.7761159209259234,2.5214786495139285,2.29612369456001,2.095231739579373,1.917332052232987},
{0.19742338839010204,1.2509616962243872,2.754796529803004,4.119811297936858,5.0970911303666995,5.658132024939913,5.868406017312804,5.820960577463313,5.599426532588412,5.268364451096597,4.878830463820153,4.470051920546757,4.06680272157883,3.6854159685539805,3.3350018048192203,3.0194467598172197,2.7374953058264584,2.485029386351886,2.2618228116245005,2.063027069062686,1.8871219221128415},
{0.2020394407595202,1.2693312870182825,2.7803195120896573,4.141747879915981,5.108648975875357,5.656755842545187,5.854510678885484,5.7965008252882075,5.566693196324246,5.229684701314171,4.8364308266655955,4.425862036550049,4.022302560617678,3.641701731443582,3.2928326911332353,2.9792117690934505,2.699364764695933,2.4490718543380305,2.2280079483744983,2.031297380917661,1.8573721746567},
{0.2067230348473808,1.2877675175708447,2.8057060297495946,4.163327718051476,5.1197281284782274,5.654891638089313,5.840205739737554,5.771754451824174,5.533809583827527,5.190996881655443,4.79415858705981,4.3819159136646455,3.97813849785124,3.5983929856938808,3.2511141897882774,2.939451535444497,2.661719345056042,2.4136001988640796,2.1946726112530595,2.000035750824511,1.8280756282752109},
{0.21147434499260528,1.3062679113482898,2.8309526579213133,4.184550120363573,5.130332034048288,5.652546542528703,5.825500580942186,5.746731170074963,5.500784984604445,5.152309265228911,4.752020271222155,4.338217862077777,3.9343125053378087,3.5554895620838045,3.2098440525691014,2.9001622412816865,2.6245540725422103,2.378608580679387,2.1618103530477186,1.9692353264214906,1.7992251937573192},
{0.21629353381979569,1.3248299906449903,2.856056045562515,4.205414504663639,5.140464213716616,5.649727684699195,5.8104044871889355,5.721440527106077,5.467628498029515,5.113629906947453,4.710022171877306,4.2947719668296225,3.8908263595803065,3.5129911297706475,3.1690199199280333,2.8613400090558674,2.587863955092603,2.3440911789619117,2.129414774910259,1.9388893283554347,1.7708138744596595},
{0.22118075223058417,1.3434512774184229,2.8810129153645065,4.225920396291666,5.150128260423325,5.6464421881622195,5.794926644584965,5.6958919057213,5.434349035851937,5.07496664684065,4.668170353015531,4.2515820938017255,3.8476816485293974,3.47089720262853,3.1286393273432624,2.8229809064169498,2.551643986931622,2.3100421942074356,2.0974795282221876,1.9089910512075117,1.7428347664004635},
{0.2261361393993247,1.3621292941082337,2.9058200636314915,4.246067425861144,5.15932783554003,5.642697168166055,5.77907613859686,5.670094526207638,5.400955324674553,5.0363271133545435,4.626470654615088,4.208651895612408,3.804879778467417,3.429207145450334,3.088699711453198,2.7850809511511887,2.515889152355673,2.2764558509447017,2.0659983163133115,1.8795338643009707,1.7152810582639864},
{0.23115982277305855,1.3808615644393576,2.930474360126005,4.265855327012721,5.1680666655635825,5.638499728719614,5.76286195213727,5.644057448138051,5.367455908405604,4.997718726638531,4.584928697325078,4.165984817418387,3.7624219807577344,3.3879201800143868,3.0491984159718326,2.747636115903685,2.480594429328767,2.2433264002839364,2.0349648960405355,1.8505112123973528,1.688146031321158},
{0.23625191807568421,1.3996456142091362,2.9549727478817758,4.28528393417801,5.176348538880785,5.633856959776417,5.746292963800129,5.617789572222127,5.333859150683641,4.9591487018191645,4.543549887107195,4.123584102622003,3.720309318442951,3.3470353910168607,3.010132697390128,2.7106423326934452,2.4457547928952903,2.210648122305942,2.004373079233699,1.8219166162873814,1.661423059271902},
{0.24141252931625862,1.4184789720583693,2.9793122429851793,4.304353180354759,5.184177302603615,5.628775934526194,5.729377946247425,5.591299642195488,5.300173237276011,4.920624052260394,4.502339419834794,4.08145279848348,3.678542692675324,3.306551731870507,2.9714997304684903,2.6740954972281337,2.411365218416956,2.178415328298663,1.9742167340149888,1.7937436732824046,1.635105608014257},
{0.2466417488013595,1.4373591702262876,3.0034899343265433,4.323063094894629,5.191556859474589,5.623263706791735,5.71212556474987,5.564596246739727,5.266406178451584,4.882151592809909,4.461302285847811,4.039593761637926,3.637122848964246,3.2664680303702096,2.9332966135254543,2.6379914730255654,2.3774206846408106,2.146622362847908,1.9444897859982078,1.7659860576120672,1.6091872353452181},
{0.2519396571514355,1.45628374528942,3.027502983322418,4.341413801304687,5.1984911648417285,5.617327308528551,5.6945443758829155,5.537687821425093,5.23256581132831,4.843737943031079,4.420443274462168,3.99800966351676,3.596050383227659,3.226782994225706,2.8955203735277517,2.6023260953488014,2.3439161766048735,2.1152636057886873,1.9151862193739322,1.7386375207335771,1.583661590597955},
{0.2573063233210707,1.4752502388843456,3.0513486236100062,4.359405515063698,5.204984223702674,5.610973747424963,5.676642826378642,5.510582650669108,5.198659802196411,4.805389530420007,4.379766978432313,3.956702995673446,3.5553257476371676,3.1874952164617194,2.8581679709869006,2.567095174961567,2.3108466883878207,2.0843334740233477,1.8863000778863115,1.7116918915577164,1.5585224142198197},
{0.26274180462308927,1.4942561984143377,3.0750241607148183,4.377038541454203,5.211040087817277,5.604210004600189,5.658429252133263,5.4832888697047775,5.164695648817941,4.767112593607103,4.339277798365599,3.9156760750134008,3.5149492562497042,3.148603180685726,2.821236304667477,2.532294501710493,2.2782072257088535,2.053826423212483,1.8578254657070414,1.685143076596486,1.5337635372953449},
{0.26824614675642683,1.5132991777399154,3.0985269716926975,4.394313273411354,5.216662852888167,5.597043032398127,5.639911877369028,5.4558144665528205,5.130680682703522,4.72891318554263,4.298979947087369,3.874931048928151,3.4749210904219425,3.1101052662236293,2.7847222161122374,2.4979198479406004,2.2459928083837504,2.0237369493443937,1.8297565482118159,1.6589850600370681,1.5093788810182127},
{0.2738193838376915,1.5323767378533357,3.1218545047472315,4.411230189389402,5.221856655808577,5.589479752274448,5.621098813948493,5.428167283992875,5.096622071367092,4.690797176665609,4.258877453955597,3.8344699003337137,3.4352413040066954,3.071999753123608,2.7486224939891946,2.4639669717501795,2.2141984726428534,1.994059590188622,1.802087552664322,1.6332119037465564,1.4853624561159693},
{0.27946153843634214,1.5514864475370593,3.145004278823614,4.427789851246639,5.226625671976814,5.581527052774739,5.601998060838313,5.400355021529273,5.062526820559461,4.652770258055412,4.2189741691240386,3.794294452613364,3.3959098283335716,3.034284827028529,2.7129338782657304,2.430431620091081,2.1828192733165777,1.9647889266389063,1.7748127688126412,1.6078177472117015,1.461708362231072},
{0.28517262161340456,1.5706258840062313,3.167973883179938,4.443992902149638,5.230974112676621,5.573191787601336,5.582617503718935,5.372385237347417,5.0284017764814735,4.614837944565392,4.179273767752929,3.754406374464933,3.356926476978628,2.996958583917361,2.6776530642147978,2.3973095317202384,2.1518502858938113,1.935919583950689,1.747926549402693,1.5827968074177097,1.4384107872616458},
{0.2909526329636536,1.5897926335352526,3.1907609769369336,4.459840064497464,5.234906222522748,5.564480773766639,5.562964914735993,5.344265350257408,4.994253627977602,4.577005577937888,4.13977975416633,3.714807184652867,3.318290950329972,2.9600190347161974,2.6427767062581893,2.3645964400080635,2.1212866084584454,1.9074462328781172,1.7214233106131873,1.5581433786699626,1.4154640066651831},
{0.2968015606611806,1.60898429206849,3.2133632886070562,4.475332137866561,5.238426276970944,5.555400789830559,5.543047952388407,5.31600264162193,4.960088908710653,4.539278329899876,4.100495465955264,3.6754982566652767,3.2800028399579446,2.923464109779556,2.6083014216517757,2.3322880756091493,2.0911233635090243,1.8793635907152613,1.6952975324163226,1.5338518323623043,1.392862382728211},
{0.30271938150827526,1.6281984658152218,3.2357786156039134,4.490469996976998,5.2415385798916345,5.545958574219805,5.522874161547929,5.287604257265942,4.925913999318417,4.501661205238613,4.061424078025954,3.636480823276365,3.2420616327998686,2.8872916632428303,2.574223794017613,2.30038016900058,2.0613556996664215,1.8516664222461658,1.6695437588683182,1.50991661669541,1.3706003638048294},
{0.3087060609875388,1.6474327718288724,3.258004823732843,4.505254589680559,5.244247461206419,5.5361608236264095,5.502450973604095,5.259077209365956,4.8917351295528,4.464159044856487,4.022568606592368,3.5977559810145188,3.2044667151700925,2.8514994772468025,2.5405403767276264,2.268868452892881,2.0319787932741824,1.8243495406080508,1.644156598333643,1.4863322563485328,1.3486724835268167},
{0.3147615533171593,1.666684838570672,3.2800398466636143,4.519686934971341,5.246557274586667,5.5260141914829495,5.4817857067285365,5.23042837831724,4.8575583804022555,4.4267765288044645,3.9839319131125737,3.5593246945365746,3.167217376606752,2.816085266035392,2.5072476961436454,2.237748664518587,2.0029878498961184,1.7974078080719338,1.6191307236466979,1.463093352107815,1.3270733599879068},
{0.3208858015092655,1.6859523064577908,3.3018816853860113,4.533768121019254,5.248472395213285,5.515525286511307,5.460885566251954,5.20166451457745,4.823389686197927,4.389518179293327,3.945516708168247,3.5211878009086823,3.130312813566632,2.781046679927822,2.4743422547183247,2.2070165478030916,1.97437810571549,1.7708361367446763,1.5944608722144629,1.4401945804541443,1.3057976949046552},
{0.3270787374312895,1.7052328283961038,3.3235284076491833,4.547499303226978,5.249997217596882,5.504700671341798,5.439757645147191,5.172792240485608,4.789234836704217,4.352388363682072,3.907325555286959,3.4833460137943795,3.0937521329796054,2.7463813091666243,2.441820533961528,2.176667855422427,1.9461448288400267,1.7446294891963663,1.5701418460635366,1.4176306931134306,1.284840272756212},
{0.33334028187025727,1.724524070297666,3.3449781473855316,4.560881702310725,5.251136153457437,5.493546861198885,5.418408924611339,5.143818052055513,4.75509947919417,4.315391297442738,3.869360874706756,3.4457999275504276,3.057534355673632,2.712086687642962,2.409678997276546,2.1466983507523034,1.9182833205168381,1.7187828790167328,1.546168511834793,1.3953965165719997,1.2641959599051544},
{0.33967034459993223,1.7438237115830308,3.366229104119913,4.573916602405241,5.25189362966258,5.482070322649578,5.396846274740096,5.114748320743013,4.720989120510173,4.278531047100971,3.831624947082769,3.408550021231137,3.021658419680884,2.6781602965009026,2.377914092670478,2.1171038097127273,1.8907889162611669,1.6932913713041917,1.5225358007287488,1.3734869515596981,1.2438597037014483},
{0.34606882445073683,1.763129445668544,3.387279542364921,4.586605349193344,5.252274086223651,5.470277472410212,5.375076455287229,5.085589295186706,4.686909129110356,4.241811533151685,3.7941199171355637,3.3715966625018776,2.9861231834348914,2.6445995676223806,2.3465222553429665,2.0878800225122505,1.8636569869027446,1.6681500830909315,1.4992387084046004,1.3518969725031393,1.2238265315714647},
{0.3525356093823777,1.7824389804387395,3.4081277910029817,4.59894934806038,5.25228197434861,5.458174676207322,5.353106116502352,5.0563471029218805,4.652864737101083,4.20523653294914,3.756847797241096,3.3349401114626276,2.9509274288678418,2.6114018869947118,2.3154999101573925,2.05902279529584,1.8368829395534323,1.64335418370734,1.4762722948357532,1.3306216269514377,1.2040915500938763},
{0.3590705765590936,1.8017500387039709,3.4287722426559517,4.610950062273799,5.251921754550899,5.445768247688181,5.3309418000400575,5.0270277520676405,4.618861042255788,4.1688096835708,3.719810470962113,3.298580524382358,2.9160698644163747,2.578564597962572,2.2848434739984955,2.0305279517001544,1.8104622184996217,1.6188988950889036,1.4536316841245123,1.3096560349766082,1.1846499440641511},
{0.3656735924274595,1.82106035864344,3.4492113530429465,4.622609011188156,5.2511978948133775,5.433064447376805,5.308589939933771,4.997637132987317,4.5849030100204615,4.132534484654363,3.683009696521007,3.26251795734524,2.8815491279434067,2.5460850043665113,2.2545493580203315,2.0023913343199333,1.7843903060228243,1.5947794920286125,1.4313120642785258,1.288995388550742,1.1654969755492637},
{0.372344512796664,1.8403676942337464,3.4694436403270377,4.633927768475709,5.250114868806378,5.420069481671456,5.286056863627726,4.968181019922424,4.550995475505995,4.096414301207339,3.6464471102141025,3.226752369809598,2.8473637895826474,2.5139603735700864,2.22461396978835,1.9746088060890303,1.7586627231516712,1.5709913023777549,1.4093086869513989,1.2686349509019366,1.1466279829341441},
{0.37908318292119236,1.8596698156631324,3.489467684451489,4.644907960382838,5.248677154159018,5.406789501880163,5.263348793060782,4.938665072600475,4.517143145467534,4.06045236638864,3.610124229767441,3.191283628080679,2.8135123545116927,2.4821879393778077,2.1950337153193127,1.9471762515795241,1.7332750303484818,1.5475297071978606,1.3876168671498166,1.2485700558508452,1.1280383799612939},
{0.3858894375858379,1.8789645097315704,3.5092821264661733,4.655551264012413,5.24688923078281,5.393230603291127,5.240471845795958,4.909094837817129,4.483350600271016,4.024651784261591,3.574042457634197,3.1561115086982974,2.7799932656587685,2.4507649048461606,2.1658050010226924,1.9200895782222225,1.7082228281334189,1.5243901408664688,1.3662319829094136,1.228796107129651,1.109723654764921},
{0.39276310119296853,1.8982495802368524,3.5288856678447766,4.665859405632246,5.244755579246682,5.379398824275689,5.217432036189848,4.879475750993148,4.449622295846957,3.989015532517857,3.538203084233808,3.1212357017404995,2.7468049063474846,2.419688444989962,2.136924235547077,1.8933447174517304,1.683501757649131,1.5015680911392209,1.3451494749414685,1.2093085776851196,1.0916793689008482},
{0.3997039878519785,1.9175228483468583,3.548277069793385,4.675834159009758,5.24228067920246,5.365300145421975,5.1942352765963715,4.849813137706783,4.415962565631556,3.953546465171783,3.502607291133044,3.0866558140445655,2.7139456028832534,2.388955709386431,2.108387831535087,1.8669376257791785,1.6591075011686813,1.4790590991707422,1.3243648462524666,1.190103008967353,1.0739011563733816},
{0.40671190147084973,1.9367821529581533,3.5674551525510667,4.685477343772883,5.239469007859918,5.350940488698116,5.170887378599534,4.820112215202181,4.382375622495143,3.9182473152246544,3.4672561541691533,3.0523713723469985,2.681413627084413,2.358563824679322,2.0801922072901693,1.8408642857955764,1.6350357825494446,1.4568587594966023,1.303873661738431,1.1711750102057252,1.0563847226602563},
{0.41378663584975367,1.9560253510411028,3.5864187946829897,4.694790823797343,5.236325038510484,5.336325716644544,5.147394054270314,4.790378093874549,4.34886556065797,3.8831206972984695,3.432150646515339,3.018381826345105,2.6492071987605352,2.3285098969855422,2.0523337883586064,1.815120707108663,1.6112823676355728,1.4349627199786,1.2836715477558538,1.1525202576734528,1.0391258437366862},
{0.42092797477662236,1.9752503179716756,3.6051669323666444,4.7037765056202465,5.232853239098648,5.32146163159545,5.123760917442883,4.760615778732665,4.315436357593309,3.8481691102387523,3.397291641688776,2.984686551684042,2.617324488139877,2.2987910142066665,2.0248090090299455,1.789702927216023,1.587843064611505,1.4133666817154797,1.2637541916709543,1.134134493942123,1.0221203650995052},
{0.4281356921246165,1.994454947850103,3.62369855867172,4.71243633688009,5.229058070840222,5.306353974930122,5.09999348500591,4.730830170839625,4.282091875917785,3.8133949396860736,3.3626799165014134,2.951284852874917,2.5857636182475217,2.269404248247788,1.9976143137590157,1.7646070123171387,1.564713724308911,1.3920663989211186,1.2441173413889228,1.1160135271274685,1.0053642007922954},
{0.4354095519514241,2.0136371538065845,3.6420127228341204,4.7207723047831,5.224943986886459,5.291008426355258,5.076097178204759,4.701026068732376,4.248835865268869,3.7788004606158587,3.3283161539538346,2.9181759661508697,2.5545226672353305,2.2403466571461395,1.970746158512552,1.7398290580669624,1.5418902404693757,1.3710576787721105,1.224756804864704,1.0981532301275752,0.9888533324323608},
{0.4427493086003167,2.0327948682942196,3.660108529524696,4.7287864345959285,5.220515431033229,5.2754306032198715,5.052077323950977,4.671208169820931,4.215671964169426,3.7443878398462043,3.294200946072476,2.885359062268888,2.5235996706645643,2.211615287111942,1.9442010120434263,1.7153651902734952,1.519368549965019,1.3503363812266203,1.2056684495968302,1.0805495398546716,0.9725838082403363},
{0.4501547068029002,2.0519260433693525,3.677985138113135,4.7364807881646405,5.215776836474271,5.259626059864645,5.027939156135449,4.641381071767912,4.182603701879189,3.710159138513355,3.2603347966904876,2.8528332492647883,2.4929926237417015,2.183207174483902,1.9179753570953195,1.6912115655417765,1.4971446329791829,1.3298984188162541,1.1868482021056956,1.063198456461548,0.9565517420731628},
{0.45762548178348655,2.0710286509594993,3.6956417619275164,4.743857462459904,5.210732624597657,5.243600287007823,5.003687816942151,4.6115492738492,4.149634500232997,3.6761163145145854,3.2267181241725726,2.820597575167528,2.46269948350778,2.1551193476017767,1.8920656915406255,1.667364371866601,1.4752145131492138,1.3097397564126525,1.1682920473976384,1.0460960425636276,0.9407533124611236},
{0.46516135936502556,2.090100683119072,3.7130776675100137,4.75091858814836,5.205387203824595,5.227358711169915,4.97932835815957,4.5817171782964,4.116767675465671,3.6422612249182453,3.193351264084157,2.7886510306768897,2.4327181709814276,2.127348828598436,1.866468529454261,1.6438198291761992,1.453574257673297,1.289856410970409,1.1499960284160897,1.0292384224576299,0.9251847616495723},
{0.47276205607652577,2.109140152273073,3.730292173869188,4.757666328190022,5.1997449684896635,5.210906694139519,4.954865742487193,4.551889091621823,4.084006440023336,3.6085956283407277,3.1602344718052757,2.756992551805894,2.403046573255588,2.09989263511378,1.8411804021259606,1.6205741898290411,1.432219977383216,1.270244451247858,1.1319562454810042,1.012621781337707,0.9098423946459471},
{0.4804272792619021,2.1281450914489333,3.747284651729321,4.764102876461599,5.193810297761622,5.194249532482503,4.930304844834651,4.522069225926679,4.051353904360976,3.5751211872901747,3.127367925089546,2.725621022486501,2.3736825455478368,2.072747781932885,1.8161978590135537,1.5976237390658332,1.41114782678484,1.2508999975071933,1.1141688557177263,0.996242364509908,0.8947225782726127},
{0.4881567271901863,2.147113554496733,3.7640545227772555,4.770230456405669,5.187587554603925,5.177392457096789,4.905650453611474,4.492261700193162,4.018813078726114,3.5418394704767855,3.0947517265686955,2.694535277134591,2.344623913204158,2.0459112825507195,1.7915174686396182,1.5749647954187307,1.3903540040680664,1.231819221195324,1.0966300724763696,0.9800964766057424,0.8798217402260432},
{0.4959500891670331,2.166043616297939,3.7806012589071045,4.776051319705485,5.181081084774088,5.1603406328147186,4.880907272005544,4.462470541561043,3.9863868749283102,3.5087519550895294,3.0623859062030645,2.6637341031680517,2.315868473655947,2.019380150665712,1.7671358194338178,1.5525937110796768,1.3698347510878612,1.212998344606797,1.0793361647427457,0.964180480795585,0.865136368142804},
{0.503807045647464,2.1849333729629024,3.796924381463331,4.781567744985346,5.174295215861045,5.143099158054911,4.856079919248586,4.432699686589407,3.95407810809436,3.475860029039236,3.030270423678599,2.633216243470357,2.2874139983300426,1.9931514016044587,1.743049520523151,1.5305068722297588,1.3495863533180017,1.1944336405300628,1.0622834565418215,0.9484907980026184,0.8506630086727714},
{0.5117272683497828,2.2037809420172696,3.8130234604824986,4.786782036536276,5.1672342563596665,5.125673064525091,4.831172931867277,4.402952982504118,3.921889498408926,3.443164993167892,2.9984051707508046,2.6029803987911437,2.2592582345115373,1.9672220536797658,1.7192552024722418,1.5087006993313383,1.3296051397790198,1.176121431878287,1.0454683263346178,0.9330239061179472,0.8363982665599684},
{0.5197104203706034,2.2225844625775326,3.8288981139341725,4.791696523066931,5.159902494781596,5.108067316977303,4.806190764918714,4.373234188431567,3.8898236728404174,3.4106680634241786,2.9667899735362298,2.5730252300752534,2.231398907159207,1.9415891294842595,1.695749517975727,1.487171647384723,1.309887482941822,1.1580580913058738,1.028887206409435,0.9177763392175047,0.8223388037313952},
{0.5277561563009309,2.2413420955158827,3.844548006961305,4.796313556479492,5.1523041988016,5.090286813016471,4.781137793209191,4.343546976619238,3.8578831668519062,3.3783703730051786,2.9354245947520377,2.54334936071211,2.2038337206733374,1.9162496571216765,1.6725291425047226,1.465916206151024,1.2904297986083593,1.14024004081179,1.0125365822682253,0.9027446867813074,0.8084813383941696},
{0.535864122343233,2.260052023614593,3.859972851120476,4.800635510670345,5.144443614438601,5.072336382962977,4.756018312495375,4.313894933643601,3.8260704260968383,3.346272974464272,2.904308735904245,2.513951378698259,2.176560360615863,1.8912006713779532,1.6495907749092682,1.4449309003427977,1.2712285457707027,1.1226637513307438,0.9964129920088921,0.8879255929155931,0.7948226441412837},
{0.5440339564294492,2.278712451710093,3.875172403622369,4.8046647803553935,5.136324965270602,5.054220789769695,4.730836540667194,4.2842815616057885,3.7943878080993696,3.314376841785281,2.8734420394252376,2.484829838707219,2.149576495382716,1.866439214834174,1.6269311379785734,1.424212289784041,1.2522802264497814,1.1053257423132077,0.9805130257042584,0.8733157555783265,0.7813595490662473},
{0.5522652883398721,2.2973216068269493,3.8901464665728067,4.808403779919726,5.1279524516827,5.035944728993488,4.70559661891179,4.2547102793155025,3.7628375839190684,3.282682872422914,2.84282409076122,2.45598326406227,2.1228797778283623,1.8419623389233815,1.6045469789608306,1.4037569695409968,1.2335813855150168,1.0882225812952355,0.9648333247783923,0.858911925808539,0.7680889348868601},
{0.5605577398228528,2.3158777383019404,3.9048948862147026,4.811854942291489,5.119330250147417,5.017512828820924,4.680302612858156,4.225184423463573,3.731421939799831,3.251191889309611,2.8124544204102317,2.427410148609452,2.0964678468426006,1.817767104933212,1.5824350700442869,1.3835615700252197,1.215128610486021,1.0713508834589742,0.9493705813809571,0.8447109069599273,0.755007736078338},
{0.5689109247152679,2.3343791178984095,3.9194175521712444,4.815020717839655,5.110462512536569,4.998929650147639,4.654958513702078,4.195707249783521,3.700142978802753,3.2199046428289115,2.782332505911415,2.399108958489653,2.070338328879687,1.7938505849562516,1.560592208801195,1.3636227570702713,1.1969185313174664,1.0547073111847203,0.9341215377601836,0.830709553939096,0.7421129390159801},
{0.5773244490636978,2.3528240399111136,3.933714396690639,4.81790357329555,5.101353365463926,4.98019968671054,4.62956823931121,4.16628193420253,3.6690027224228214,3.1888218127554953,2.7524577737862366,2.371078133810221,2.0444888394400054,1.77020986278998,1.5390152185962358,1.3439372319833665,1.17894782016821,1.0382885735953484,0.91908298563508,0.8169047724488314,0.7294015811275683},
{0.5857979112462582,2.3712108212617165,3.94778539389271,4.820505990697786,5.092006909657878,4.961327365271664,4.604135635310133,4.1369115739820925,3.638003112189166,3.157944010162029,2.7228296014323585,2.3433160902178916,2.018916984504491,1.7468420347880738,1.5177009489608875,1.324501731573241,1.1612131911556798,1.0220914260938636,0.9042517655673884,0.8032935182367235,0.7168707500556296},
{0.5943309020950365,2.389537801585164,3.961630559017662,4.822830466360467,5.08242721936341,4.942317045852397,4.578664476145412,4.107599188848667,3.607146011248762,3.1272717792930047,2.6934473189708865,2.315821220376109,1.9936203619221362,1.723744210664835,1.496646275935227,1.3053130281554586,1.1437114000965043,1.0061126698948304,0.8896247663338347,0.7898727963494615,0.7045175828297158},
{0.6029230050190761,2.4078033433070996,3.9752499476772867,4.824879509864309,5.0726183417726345,4.92317302201642,4.553158466130673,4.078347722114602,3.5764332059333386,3.096805599405763,2.664310211047729,2.2885918953507858,1.9685965627509474,1.7009135142544285,1.475848102378549,1.2863679295363308,1.1264392442343119,0.9903491515503606,0.8751989242991366,0.77663966039309,0.6923392650488054},
{0.611573796127863,2.4260058317125224,3.9886436551089104,4.826655643070511,5.062584296483164,4.903899521199649,4.527621240471902,4.049160041789593,3.5458664073093873,3.066545886578869,2.635417518589821,2.261626465909385,1.9438431725527912,1.6783470842265995,1.4553033582501542,1.2676632789765727,1.1093935619555977,0.9747977624713227,0.860971222790234,0.7635912117994833,0.6803330300739232},
{0.6202828443552579,2.444143675005871,4.001811815432309,4.82816139915704,5.052329074983618,4.884500705085144,4.502056366273069,4.020038941682855,3.5154472527110587,3.036492995488046,2.6067684405169578,2.234923263738806,1.919357772642613,1.6560420747604663,1.4350090008616119,1.249195955135766,1.0925712324944936,0.9594554384444057,0.8469386914721603,0.7507245990992886,0.6684961582310691},
{0.6290497115838308,2.4622153043627253,4.01475460090992,4.829399321677105,5.041856640165589,4.8649806700209695,4.476467343522431,3.990987142496253,3.485177307255836,3.0066472211498807,2.5783621354099853,2.2084806025879606,1.895137941292609,1.6339956561779798,1.4149620151017464,1.2309628719986756,1.075969175627262,0.944319159145621,0.8330984057259586,0.7380370172015528,0.6568259760245134},
{0.6378739527695452,2.480219173973303,4.027472221210512,4.830371963639551,5.0311709258613435,4.845343447478694,4.450857606059754,3.9620072929085297,3.4550580653428127,2.9770088006334787,2.5501977231361557,2.182296779341171,1.871181254891917,1.612205015538591,1.3951594136355523,1.212960978784394,1.0595843513572771,0.9293859476508035,0.819447486029014,0.7255257066802371,0.6453198553605127},
{0.6467551160667475,2.498153761077946,4.039964922676637,4.831081886610861,5.020275836406631,4.825593004550276,4.425230522524825,3.9331019706508252,3.4250909521334787,2.947577914740315,2.522274286432356,2.156370075028565,1.8474852890625186,1.590667357196625,1.3755982370782158,1.195187259839283,1.0434137595912336,0.9146528699436541,0.8059830973381488,0.7131879530678016,0.63397521278149},
{0.6556927429534127,2.5160175659947677,4.052232987596054,4.831531659838556,5.009175246227911,4.805733244480896,4.3995893972876505,3.9042736835735763,3.395277325014855,2.9183546896524555,2.49459087244704,2.130698755779618,1.8240476197320217,1.5693799033228484,1.3562755541453442,1.177638734514606,1.0274544398072838,0.9001170344218085,0.7927024484758047,0.7010210861560198,0.6227895087106926},
{0.6646863683566026,2.5338091121396578,4.064276733477335,4.831723859395644,4.997872999453343,4.785768007235276,4.373937471360729,3.875524870704956,3.3656184750448936,2.889339198549402,2.4671464942415886,2.1052810737257817,1.8008658241640778,1.5483398943916573,1.337188461780502,1.1603124570297358,1.0117034707157682,0.8857755914014248,0.7796027915196196,0.6890224793041785,0.6117602467073567},
{0.6737355207780901,2.5515269460388,4.076096512329912,4.831661067345867,4.986372909546934,4.765701070095044,4.348277923293851,3.8468579033009296,3.336115628380021,2.860531463193758,2.4399401322518863,2.0801152678578965,1.7779374819472065,1.5275445896352937,1.3183340852610868,1.1432055163217807,0.9961579699131811,0.8716257326207256,0.7666814211956791,0.6771895487547891,0.6008849727323696},
{0.6828397224201094,2.5691696373339212,4.087692709948733,4.8313458709295105,4.97467875896519,4.7455361482846,4.322613870051907,3.8182750858870254,3.3067699476847694,2.831931455485962,2.41297073571091,2.055199564843741,1.7552601759428395,1.506991267466465,1.2997095782835577,1.1263150358824137,0.9808150935299746,0.8576646907429286,0.7539356742756982,0.6655197529569257,0.5901612744244288},
{0.6919984893111837,2.586735778780397,4.099065745203727,4.830780861769379,4.962794298835646,4.725276895623006,4.296948367876131,3.789778657291859,3.277582533523353,2.803539098988316,2.386237224033033,2.0305321798106744,1.7328314931934048,1.4866772258706653,1.2813121230289675,1.1096381735826937,0.9656720358727748,0.8438897388589526,0.7413629289783862,0.6540105918972983,0.5795867803866761},
{0.701211331431993,2.604223986238432,4.1102160693342995,4.82996863509677,4.950723248656703,4.7049269051994385,4.271284413129303,3.7613707916725003,3.248554425733184,2.775354270418545,2.359738488160866,2.00611131709793,1.7106490257913367,1.4665997827695187,1.2631389302097524,1.0931721214866041,0.95072602906156,0.8302981899902879,0.7289606043752077,0.6426596064391421,0.5691591594837833},
{0.7104777528412402,2.621632898657473,4.121144165248984,4.828911788997077,4.938469296018123,4.6844897100697445,4.2456249431254065,3.7330535995317176,3.2196866047802324,2.7473768011131607,2.3334733918753625,1.9819351709826707,1.6887103717098784,1.4467562763563664,1.245187239098661,1.0769141056540228,0.9359743426623321,0.8168873965923804,0.71672615980076,0.6314643776690082,0.5588761201494568},
{0.7197972518014758,2.638961178054019,4.1318505468304885,4.827612923674793,4.926036096341634,4.663968783971739,4.219972836944214,3.7048291287271025,3.190979993096188,2.719606478460876,2.30744077306995,1.9580019263834643,1.6670131355965825,1.4271440654053122,1.2274543175406991,1.0608613859337999,0.9214142833157611,0.8036547500588649,0.7046570942679469,0.6204225262515134,0.5487354097043156},
{0.7291693209048361,2.656207509483004,4.142335758246217,4.826074640737552,4.913427272640926,4.6433675420568665,4.194330916231299,3.676699365472114,3.1624354563973744,2.6920430473063246,2.281639444989408,1.9343097595443934,1.6455549295304148,1.4077605295548714,1.20993746194891,1.045011255747579,0.9070431943622838,0.7905976802269546,0.6927509458881242,0.609531711792102,0.5387348136840898},
{0.7385934471986689,2.6733706010029312,4.1526003732645105,4.824299542499014,4.900646415300499,4.622689341636037,4.168701945984018,3.648666235329067,3.13405380498542,2.6646862113244083,2.256068197434285,1.9108568387026357,1.6243333737434065,1.3886030695673708,1.192633997284814,1.0293610418650085,0.8928584554641082,0.7777136548842971,0.6810052912963924,0.5987896322078712,0.5288721551780969},
{0.7480691123109954,2.6904491836348963,4.162644994576682,4.822290231300214,4.887697081872489,4.601937482937395,4.143088635323894,3.6207316041940136,3.1058357950296074,2.637535634365516,2.2307257979315107,1.8876413247418486,1.6033460973077576,1.369669107565134,1.1755412770242508,1.0139081041709037,0.8788574822245324,0.7650001792775541,0.6694177450821582,0.5881940231064771,0.5191452941779133},
{0.7575957925757839,2.707442011315708,4.172470253125049,4.820049308849165,4.87458279689082,4.5811152098739605,4.11749363825594,3.5928972792735747,3.077782129830979,2.6105909417719544,2.205610992872,1.8646613718334168,1.5825907387893625,1.3509560872445285,1.1586566831094016,0.9986498354249619,0.8650377258050065,0.7524547956229848,0.6579859592251254,0.577742657173164,0.5095521269361949},
{0.7671729591579901,2.7243478608452123,4.182076807437021,4.817579375578351,4.861307051701629,4.560225710819109,4.091919554415363,3.5651650100536423,3.0498934610680872,2.5838517216658707,2.1807225086158963,1.8419151280671646,1.5620649468686612,1.3324614740688263,1.1419776258876717,0.9835836610145415,0.8513966725402908,0.7400750826192558,0.6467076225368134,0.5674333435659152,0.500090585335554},
{0.7768000781783352,2.741165531828031,4.191465342965443,4.814883030019889,4.847873304309069,4.539272119388023,4.0663689298021435,3.537536489259974,3.0221703900245105,2.557317526209003,2.1560590525662113,1.819400736072881,1.5417663809297824,1.314182755440861,1.1255015440381506,0.9687070387010521,0.8379318435520986,0.7278586549627211,0.6355804601077257,0.5572639273187402,0.490758636267427},
{0.7864766108377873,2.757893846609848,4.200636571435272,4.8119628681980195,4.83428497923532,4.5182575152232705,4.040844257503958,3.510013353810639,2.994613468798077,2.5309878728346042,2.131619314211521,1.7971163336336662,1.5216927116189047,1.2961174408563774,1.1092259044862964,0.954017458360434,0.8246407943615537,0.7158031628653772,0.6246022327602653,0.5472322887530997,0.4815542810208488},
{0.7962020135417096,2.7745316502083957,4.209591230196694,4.808821483038708,4.820545467393585,4.49718492478282,4.015347978407851,3.4825971857602704,2.9672232014918682,2.504862245451842,2.1074019661384202,1.7750600542918564,1.501841621372757,1.278263062038949,1.0931482023074788,0.939512441718204,0.8115211145007867,0.7039062915756866,0.6137707365074716,0.5373363428974472,0.47247555468103636},
{0.8059757380236483,2.7910778102393112,4.218330081584812,4.805461463795961,4.806658125972848,4.476057322128894,3.989882481901144,3.4552895132361168,2.9400000453870283,2.4789400956230696,2.0834056650144093,1.7532300279480515,1.482210804918205,1.260617173057309,1.0772659606200055,0.9251895420795316,0.7985704271239894,0.6921657609024662,0.6030838020176758,0.5275740389148917,0.46352052553770906},
{0.8157972314687226,2.807531216836996,4.226853912285962,4.8018853954947005,4.792626278332992,4.454877629716128,3.964450106561949,3.428091811365805,2.912944412097431,2.4532208437142824,2.059629052541869,1.731624381453546,1.46279796974381,1.2431773504258894,1.0615767304682031,0.911046344054758,0.7857863886182044,0.6805793247419963,0.5925392940851235,0.5179433595389406,0.4546872945030345},
{0.825665936636594,2.8238907825706505,4.235163532710808,4.798095858389815,4.778453213909037,4.4336487191777,3.9390531408397416,3.401005503196832,2.8860566687062748,2.4277038800191635,2.0360707563837916,1.7102412391963147,1.4436008365442947,1.2259411931893431,1.046078090696134,0.8970804632807883,0.7731666882141364,0.6691447706085256,0.5821351111066336,0.5084423205173094,0.4459739945391148},
{0.8355812919839793,2.8401554423556146,4.24325977637422,4.794095427441173,4.764142188123135,4.412373412108075,3.913693823726351,3.3740319606076867,2.8593371388846927,2.4023885658570707,2.0127293910619164,1.6890787236805351,1.424617139638792,1.2089063229917874,1.030767647812476,0.8832895461387411,0.7607090475972427,0.657859919168306,0.5718691845643441,0.4990689700637621,0.437378790094911},
{0.8455427317866796,2.8563241533601555,4.251143499282094,4.789886671804254,4.749696422303114,4.391054480841209,3.8883743454177577,3.3471725052105854,2.832786103992428,2.3772742346453435,1.9896035588278684,1.6681349560994925,1.4058446273637575,1.1920703841314635,1.0156430358470958,0.8696712694682258,0.7484112205193391,0.6467226237772966,0.5617394785145744,0.4898213883179373,0.4288998765524956},
{0.8555496862610993,2.872395894907869,4.2588155793251135,4.7854721543361975,4.735119103606458,4.369694649223099,3.86309684796704,3.3204284092457623,2.8064038041607096,2.3523601929463203,1.9666918505079816,1.647408056901643,1.3872810624414265,1.175431043601513,1.000701916199812,0.8562233402786152,0.7362709924109687,0.6357307700226668,0.5517439890828559,0.48069768681312924,0.42053547968254334},
{0.8656015816852278,2.888369668375815,4.266276915679586,4.780854431116921,4.720413384948753,4.348296593377714,3.837863425928863,3.293800896467278,2.7801904393574315,2.327645721489468,1.9439928463223828,1.6268961463495057,1.3689242223246605,1.1589859911174978,0.9859419774818301,0.8429434954576472,0.724286179994739,0.624882275268209,0.5418807439651449,0.47169600795197064,0.41228385510894267},
{0.8756978405190545,2.904244497088531,4.273528428215343,4.776036050985086,4.705582384935726,4.326862942465354,3.8126761269957647,3.2672911430202687,2.7541461704347086,2.3031300761689852,1.921505116678995,1.6065973450709798,1.3507718995190074,1.1427329391322991,0.9713609353503023,0.8298295014776729,0.7124546308998363,0.6141750882037665,0.5321478019352426,0.46281452448996396,0.40414328778242137},
{0.8858378815243938,2.920019426208069,4.280571056910824,4.7710195550886,4.690629187798305,4.305396279432685,3.787536952626617,3.2409002783096286,2.728271120158995,2.2788124890173114,1.8992272229432388,1.5865097746026837,1.3328219018828258,1.1266696228389956,0.9569565323364645,0.8168791540998736,0.7007742232779148,0.6036071883987749,0.5225432523584398,0.4540514390268161,0.39611209146308585},
{0.8960211198840964,2.9356935226201704,4.287405761275333,4.76580747644941,4.67555684333019,4.283899141753638,3.762447858667518,3.214629385860032,2.7025653742238176,2.254692169154909,1.8771577181845096,1.566631557924819,1.3150720529062367,1.110793800162282,0.9427265376677622,0.8040902780767177,0.6892428654205299,0.5931765858599989,0.5130652147113819,0.4454049835055023,0.38818860821174633},
{0.9062469673206183,2.9512658748167446,4.29403351977857,4.760402339542333,4.660368366827739,4.262374022160653,3.737410755965427,3.1884795041672995,2.6770289822453304,2.230768303716763,1.8552951479011237,1.5469608199871137,1.2975201919697303,1.095103251739002,0.9286687470843826,0.7914607268529614,0.677858495378305,0.582881320593555,0.5037118381081763,0.4368734187190184,0.38037120788993556},
{0.9165148322139334,2.9667355927747483,4.300455329287414,4.754806659887609,4.645066739032099,4.240823369365578,3.71242751097478,3.162451627541011,2.6516619587407546,2.2070400587559456,1.8336380507261405,1.5274956882253252,1.280164174583154,1.0795957808883045,0.9147809826505744,0.7789883822654349,0.6666190805819724,0.5727194621712802,0.49448130083272296,0.4284550338247419,0.3726582876684438},
{0.9268241197187519,2.982101807831606,4.306672204510042,4.749022943656962,4.629654906073694,4.219249588769803,3.687499946357352,3.1365467069383546,2.6264642840898778,2.1835065801246953,1.8121849591173007,1.5082342930678376,1.2630018726058485,1.0642692135719385,0.9010610925611281,0.7666711542418684,0.6555226174654469,0.5626891093015125,0.4853718098772634,0.4201481458663367,0.3650482715432979},
{0.9371742318810402,2.9973636725573085,4.3126851774473645,4.743053687292889,4.6141357794194375,4.197655043163212,3.6626298415756082,3.110765650789161,2.601435905479741,2.160166994333393,1.7909344000348784,1.4891747684318863,1.2460311744486463,1.049121398345188,0.8875069509433849,0.7545069804990127,0.644567131091076,0.5527883894043498,0.47638160048714606,0.41195109930314217,0.35753960985145494},
{0.94756456775381,3.0125203606233044,4.318495296851859,4.736901377140925,4.598512235823112,4.176042053411577,3.637818933479753,3.0851093258120796,2.576576737832628,2.1370204093878384,1.769884895611432,1.470315252208938,1.2292499852584304,1.034150206298899,0.8741164576550986,0.7424938262402532,0.6337506747771833,0.5430154581914229,0.46750893571177615,0.4038622655469622,0.35013077875491627},
{0.9579945235121539,3.027571066668287,4.3241036276937415,4.730568489094608,4.582787117279504,4.154412899132106,3.613068916888685,3.059578557821852,2.551886664717517,2.114065915605228,1.7490349638171367,1.4516538867388205,1.212656227085928,1.0193535309930648,0.8608875380784916,0.730629683852951,0.623071329728043,0.5333684992502365,0.4587521059617394,0.3958800425061893,0.3428202796171492},
{0.9684634925675245,3.0425150061610506,4.32951125063458,4.724057488252948,4.5669632309831085,4.13276981935697,3.5883814451650857,3.0341741325276796,2.5273655392451166,2.0913025864092525,1.7283831191236152,1.433188819272196,1.1962478390374067,1.0047292883824004,0.8478181429108173,0.7189125726057068,0.6125272046663893,0.5238457236331163,0.4501094285720757,0.38800285413718605,0.3356066381491185},
{0.9789708656812134,3.0573514152604595,4.334719261508263,4.717370828590055,4.551043349292124,4.111115013184538,3.563758130784754,3.0088967963226,2.5030131849466137,2.06872947910467,1.7079278731680192,1.4149182024210016,1.1800227774108834,0.9902754167343228,0.8349062479517112,0.7073405383457324,0.602116435468562,0.5144453694507841,0.44157924737166454,0.38022915000284335,0.32848840318760186},
{0.9895160310770346,3.07207955067271,4.339728770809402,4.7105109526368,4.535030209698704,4.089450640418288,3.5392005459004383,2.9837472570638828,2.4788293966362756,2.0463456356317997,1.6876677354177734,1.396840194596548,1.1639790158174963,0.9759898765397429,0.8221498538876336,0.6959116531965235,0.5918371848024014,0.5051657014706031,0.4331599322587049,0.37255740483824556,0.3214641450048971},
{1.0000983745531808,3.0866986895059654,4.344540903189158,4.703480291174146,4.5189265148064015,4.067778822193283,3.514710222900264,2.958726184844411,2.4548139412580476,2.02415008330129,1.6676012138349738,1.3789529604349664,1.1481145452886143,0.9618706504170569,0.809546986073664,0.6846240152559921,0.5816876417679615,0.4960050107195003,0.4248498787822412,0.3649861181233495,0.31453245312791656},
{1.0107172795932415,3.101208129122483,4.349156796958438,4.696281262938013,4.502734932315733,4.046101641590168,3.490288654960931,2.9338342127550163,2.4309665587162588,2.002141835509572,1.6477268155381124,1.3612546712097542,1.1324273743692905,0.947915743009706,0.7970956943129106,0.673475748295229,0.5716660215411453,0.4869616140915933,0.41664750772970854,0.35751381366261137,0.3076919337394377},
{1.0213721274763607,3.115607186988332,4.353577603598501,4.688916274335337,4.486458095018858,4.024421144236706,3.465937296595798,2.9090719376377305,2.4072869626905833,1.980319892435365,1.6280430474577046,1.3437435052312063,1.1169155291986232,0.9341231808776669,0.7847940526337733,0.6624650014580437,0.5617705650203215,0.478033853960528,0.40855126472045156,0.3501390391714669,0.30094120681672304},
{1.032062297386534,3.129895200520838,4.3578044872789885,4.681387719171199,4.470098600804335,4.002739338896926,3.441657564198006,2.884439920829992,2.383774841435414,1.958683241717645,1.6085484169816033,1.3264176482325554,1.1015770535775995,0.9204910123832194,0.7726401590653084,0.6515899489614275,0.5519995384760071,0.46922009779653956,0.40055961980517724,0.34286036586959057,0.294278903214493},
{1.042787166521004,3.1440715269338195,4.36183862438326,4.673697978386679,4.453659012672815,3.981058198047891,3.4174508365787073,2.8599386888997125,2.3604298585637404,1.9372308591154135,1.5892414325852595,1.3092752937426706,1.086410009024962,0.907017307571317,0.7606321354109051,0.6408487897970765,0.5423512332036695,0.46051873778823754,0.3926710670712959,0.3356763880808472,0.28770366191428065},
{1.053546110197767,3.158135543080754,4.36568120304115,4.665849419807296,4.437141858764606,3.959379658444273,3.393318455500567,2.835568734371267,2.337251653815716,1.9159617091496735,1.5701206044420577,1.2923146434452266,1.071412474821647,0.8937001580448828,0.7487681270204898,0.6302397474340952,0.5328239651797086,0.45192819046911525,0.3848841242541006,0.32858572283984694,0.28121412764439524},
{1.0643385019621596,3.17208664529595,4.369333422669025,4.657844397901758,4.420549632399849,3.937705621670821,3.3692617262065725,2.811330516442353,2.314239843812042,1.894874745727965,1.5511844450089547,1.2755339075242742,1.056582548044316,0.8805376768353405,0.7370463025614681,0.6197610695230094,0.5234160747206794,0.4434468963487826,0.37719733235374203,0.32158700950502866,0.27480894903342196},
{1.0751637136925165,3.185924249233842,4.372796493517156,4.649685253550811,4.403884792132059,3.9160379546828783,3.3452819179442774,2.787224461691729,2.291394022792303,1.8739689127518282,1.5324314695830297,1.258931304996173,1.0419183435885093,0.8675279982686741,0.7254648537885935,0.6094110276011988,0.5141259261457957,0.43507331954891737,0.3696092552579477,0.3146789093781835,0.26848677740610616},
{1.0860211157048936,3.1996477897064906,4.37607163622439,4.641374313825982,4.387149761815651,3.894378490335169,3.321380264485547,2.763250964777838,2.268713763338428,1.8532431447075464,1.5138601968251129,1.2425050640279038,1.0274179941819004,0.8546692778272929,0.7140219953129383,0.5991879167998441,0.5049519074427531,0.4268059474439139,0.3621184793704228,0.3078601053303223,0.26224626627334646},
{1.0969100768568296,3.2132567205193836,4.3791600813800535,4.632913891777952,4.370346930688011,3.872729027898985,3.2975579646418613,2.7394103891282975,2.246198617083402,1.8326963672405345,1.4954691492473602,1.2262534222417798,1.0130796503881636,0.8419596920079847,0.7027159643701576,0.5890900555525068,0.495892429936926,0.4186432903062347,0.35472361324489793,0.301129301433821,0.2560860715151351},
{1.107829964650154,3.226750514305654,4.382063069093106,4.624306286234429,4.353478653466558,3.851091333568084,3.273816182775272,2.7157030676202973,2.2238481154054153,1.8123274977137143,1.4772568536624224,1.2101746270066327,0.998901480601913,0.8293974381762147,0.6915450205882042,0.5791157853054166,0.48694592796395353,0.4105838809564329,0.3474232872247503,0.2944852226007381,0.25000485221111146},
{1.1187801453328132,3.240128662358765,4.38478184856846,4.615553781607211,4.336547250461158,3.8294671409534162,3.2501560493050383,2.6921293032518676,2.201661770107587,1.7921354457502154,1.4592218415926619,1.1942669357155626,0.9848816710351754,0.8169807344170199,0.6805074457546517,0.5692634702295624,0.47811085854575797,0.40262627441783483,0.340216153088154,0.28792661422708976,0.2440012720402785},
{1.1297599839997159,3.253390674463792,4.387317677690459,4.606658647708305,4.3195550077021165,3.807858151567013,3.2265786612100085,2.6686893698040723,2.179639074083431,1.772119113760756,1.4413626496386667,1.1785286160503639,0.9710184256958364,0.8047078193827424,0.6696015435837833,0.5595314969346659,0.4693857010700136,0.394769047575864,0.3331008836986982,0.2814522418412917,0.23807400114957844},
{1.1407688446925814,3.2665360787273543,4.389671822613466,4.597623139574862,4.302504177083935,3.7862660352952378,3.2030850825267927,2.6453835124941114,2.1577795019682418,1.7522773974560124,1.4236778198070845,1.1629579462327768,0.9573099663584861,0.7925769521378326,0.6588256394835854,0.5499182741851106,0.46076895697308895,0.3870107988419766,0.32607617266141403,0.2750608907467606,0.23222171837962188},
{1.1518060904987848,3.2795644214063056,4.391845557359518,4.588449497302736,4.2853969765248685,3.7646924308616723,3.1796763448437573,2.6222119486193747,2.136082510776563,1.7326091863443387,1.4061658997984696,1.1475532152627297,0.9437545325280707,0.780586412000947,0.6481780803227866,0.5404222326179003,0.4522591494264859,0.3793501478221922,0.31914073398415543,0.2687513656262699,0.22644311373328066},
{1.1628710836491944,3.292475266735264,4.39384016342301,4.579139945888478,4.268235590142268,3.7431389462799154,3.1563534477908917,2.5991748681924567,2.1145475405259124,1.713113364215123,1.3888254432564553,1.1323127231437466,0.9303503813967426,0.7687344983845519,0.637657234198066,0.5310418244627072,0.4438548230267787,0.3717857349901838,0.3122933017442673,0.2625224900409648,0.2207368909771751},
{1.173963185614981,3.30526819675304,4.395656929382345,4.56969669507953,4.251022168443534,3.7216071592965383,3.1331173595255475,2.576272434567149,2.093174014846944,1.6937888096081182,1.371655009980074,1.1172347810957322,0.9170957877942782,0.7570195306322333,0.6272614902015611,0.5217755232640712,0.43555454348907774,0.36431622136490316,0.30553262976048534,0.2563731057279645,0.2151017702754082},
{1.1850817572034043,3.3179428111280727,4.397297150518528,4.560121939232486,4.23375882853252,3.7000986178244983,3.109969017214117,2.5535047850554613,2.0719613415802236,1.674634396269065,1.3546531661014642,1.1023177117553549,0.9039890441324333,0.7454398478539237,0.6169892581887896,0.5126218236058119,0.4273568973440195,0.3569402881927147,0.2988574912700101,0.2503020715985998,0.20953649076746367},
{1.196226158652563,3.330498726982926,4.398762128440622,4.55041785717918,4.216447654331068,3.678614840367276,3.0869093275096273,2.5308720315356856,2.0509089133598075,1.6556489935918899,1.3378184842315237,1.087559849364248,0.8910284603435555,0.7339938087592115,0.6068389685470905,0.5035792408376909,0.4192604916382841,0.3496566366339941,0.29226667861068095,0.24430826237252107,0.20403981301646848},
{1.2073957497251038,3.3429355787179484,4.400053170718048,4.540586612100432,4.199090696815305,3.6571573164340005,3.0639391670253113,2.5083742610515376,2.030016108183799,1.6368314670478048,1.3211495435762994,1.0729595399452947,0.8782123638138057,0.7226797914889376,0.5968090719647025,0.4946463108043883,0.4112639536386556,0.34246398745417206,0.2857590029082059,0.23839056684206025,0.19861052126892276},
{1.2185898898008796,3.3552530178341358,4.40117159051965,4.530630351407279,4.181689974266265,3.63572750694587,3.041059382804126,2.486011536402419,2.009282289972083,1.618180678601586,1.3046449300270395,1.0585151414672371,0.8655390993112746,0.7114961934452289,0.5868980392005628,0.485821589576821,0.4033659305396108,0.3353610807191763,0.2793332937683673,0.2325478858277173,0.19324742548148427},
{1.229807937968558,3.367450712755306,4.402118706259474,4.520551206629498,4.164247472534357,3.614326844634121,3.0182707927842696,2.4637838967248453,1.9887068091114146,1.5996954871153328,1.2883032362269211,1.0442250239978907,0.8530070289093059,0.7004414311201503,0.5771043608549338,0.47710365318585035,0.3955650891744444,0.3283466754952419,0.27298839897415256,0.22677912994185717,0.18794936308398463},
{1.2410492531161683,3.379528348649619,4.40289584124922,4.510351293311231,4.146765145317114,3.5929567344298206,2.9955741862606837,2.441691358065068,1.9682890029880704,1.5813747487399903,1.272123061617445,1.030087569846234,0.8406145319052989,0.6895139399231254,0.5674265471409383,0.46849109735841643,0.3878601157299238,0.3214195495530527,0.26672318418774504,0.22108321731243016,0.18271520046001052},
{1.2523131940205843,3.3914856272505487,4.403504323357295,4.500032710913571,4.129244914449607,3.5716185538457648,2.9729703243425396,2.4197339139429532,1.9480281965082298,1.563217317294912,1.2561030124674386,1.0161011736936516,0.8283600047352568,0.678712174007275,0.5578631276570896,0.45998253725612104,0.3802497154644617,0.3145784990761716,0.2605365326573086,0.21545907142846388,0.17754383413696329},
{1.26359911943594,3.4033222666773404,4.403945484674395,4.489597542723899,4.111688670206932,3.5503136533507536,2.950459940406742,2.3979115359071703,1.9279237026063054,1.5452220446357408,1.2402417018875274,1.0022642427146342,0.8162418608843447,0.6680346060948265,0.5484126511608948,0.4515766072163027,0.37273261242980715,0.30782233837372425,0.2544273449285072,0.20990561925693355,0.17243419168641336},
{1.274906388180975,3.41503800125504,4.404220661185602,4.479047855771837,4.094098271618045,3.5290433567364796,2.928043740547415,2.376224174081728,1.9079748227414028,1.5273877810108787,1.2245377498327545,0.9885751966872097,0.8042585307936859,0.6574797273017181,0.5390736853436051,0.44327196049561324,0.3653075491962322,0.30114989959729155,0.248394538560693,0.20442178975238,0.16738523234278063},
{1.2862343592252998,3.4266325813341627,4.404331192448878,4.468385700751628,4.076475546790279,3.507808961477341,2.9057224040214122,2.3546717577039478,1.8881808473821082,1.5097133754068157,1.208989783095894,0.9750324680934149,0.7924084617636376,0.6470460469615434,0.5298448166061812,0.43506726901613313,0.3579732865812134,0.29456003246197404,0.24243704784770279,0.19900651284337287,0.16239594735405302},
{1.2975823917745875,3.4381057731100313,4.404278421279932,4.4576131119507725,4.058822293243782,3.486611739083362,2.8834965836897997,2.333254195653903,1.8685410564797944,1.4921976758825597,1.1935964352937893,0.9616345022101025,0.7806901178537613,0.6367320924489525,0.5207246498365419,0.4269612231140369,0.35072860338158657,0.28805160397158386,0.23655382354319987,0.19365871893992642,0.15746536008247647},
{1.3089498453546782,3.4494573584418884,4.404063693443373,4.446732107184804,4.041140278255179,3.46545293544654,2.8613669064553604,2.311971376975418,1.8490547199306404,1.4748395298934456,1.1783563468488536,0.9483797571903756,0.7691019797796944,0.62653640900263,0.5117118081881535,0.41895253129082705,0.3435722961091605,0.28162349814792226,0.23074383259049716,0.18837733896820816,0.15259252587611782},
{1.3203360798946058,3.4606871346718058,4.403688357350119,4.4357446877379925,4.023431239209661,3.4443337711808217,2.839333973696078,2.290823171388685,1.8297210980265806,1.4576377846045585,1.1632681649676586,0.9352667041359678,0.7576425448071316,0.6164575595479729,0.5028049328600219,0.411039919967157,0.33650317872977575,0.275274615764101,0.22500605785680133,0.18316130490657637,0.1477765317340831},
{1.3317404558085344,3.4717949144434757,4.403153763760942,4.424652838309853,4.005696883960781,3.423255441955946,2.8173983616946177,2.2698094297945657,1.8105394418953362,1.4405912871940267,1.1483305436183067,0.9222938271608401,0.7463103266430916,0.6064941245195615,0.49400268287813226,0.40322213323924627,0.3295200824057828,0.2690038740818614,0.21933949787181312,0.1780095507718112,0.14301649578911776},
{1.3431623340766106,3.4827805255209174,4.40246126549614,4.4134585269673074,3.9879388911971576,3.402219118825402,2.7955606220637885,2.2489299847706605,1.7915089939297606,1.423698885146414,1.133542143508085,0.9094596234463215,0.7351038553246642,0.5966447016835409,0.4853037348783953,0.3954979326379033,0.32262185524192705,0.2628102065928481,0.2137431665706087,0.17292101398689227,0.13831156663153063},
{1.354601076324724,3.4936438106071646,4.4016122171512375,4.402163705102329,3.9701589108153756,3.3812259485487046,2.773821282167985,2.228184651059202,1.7726289882066697,1.4069594265364533,1.1189016320626852,0.896762603288065,0.7240216771053993,0.5869079059600001,0.4767067828911359,0.38786609689016266,0.31580736203461185,0.25669256276379304,0.20821609304044061,0.16789463705138008,0.13366092249797693},
{1.3660560449031809,3.5043846271629904,4.400607974818641,4.390770307394943,3.952358564298295,3.360277053908221,2.7521808455405976,2.207573226046877,1.7538986508953625,1.390371760303364,1.104407683408073,0.8842012901351319,0.7130623543395176,0.5772823692454576,0.4682105381271832,0.3803254216835477,0.30907548402452845,0.2506499077855703,0.2027573212688296,0.1629293694315131,0.12906377034777866},
{1.3775266029642883,3.5150028472257167,4.399449895815216,4.379280251781433,3.9345394450980473,3.3393735340207473,2.7306397922973975,2.1870954902366133,1.7353172006560078,1.3739347365159595,1.0900589783558952,0.8717742206214805,0.702224465364084,0.5677667402355233,0.4598137287655818,0.3728747194329515,0.3024251186526164,0.2446812223260666,0.1973659098813879,0.15802416958829218,0.12451934484824101},
{1.3890121145388428,3.525498357228142,4.398139338415673,4.367695439427607,3.916703119022991,3.3185164646440293,2.709198579545871,2.166751207711433,1.7168838490280924,1.3576472066287797,1.0758542043931445,0.8594799445901437,0.6915066043793023,0.5583596842478327,0.45151509974297127,0.3655128190501441,0.2958551793193359,0.23878550228682832,0.19204093183845683,0.15317800706691298,0.12002690728897925},
{1.4005119446115384,3.5358710578176824,4.396677661591742,4.356017754706999,3.8988511246279387,3.2977068984784528,2.6878576417905147,2.1465401265904394,1.6985978008091271,1.3415080237294683,1.0617920556766414,0.847317025110397,0.6809073813270823,0.5490598830453319,0.4433134125446695,0.35823856571590884,0.2893645951472295,0.2329617585634399,0.18678147403477968,0.1483898645786739,0.1155857444436585},
{1.4120254591952761,3.5461208636757124,4.395066224757013,4.344249065183845,3.8809849736069206,3.2769458654640466,2.666617391334073,2.1264619794770008,1.680458254423776,1.3255160427776043,1.0478712330327227,0.8352840384881686,0.6704254217680038,0.5398660346599907,0.43520744499748565,0.3510508206548031,0.2829523107467434,0.22720901680958785,0.18158663672997138,0.14365874001591583,0.11119516739585},
{1.4235520254043883,3.556247703337198,4.393306387517424,4.332391221600733,3.863106151187871,3.256234373073021,2.6454782186747186,2.1065164838992128,1.6624644022836124,1.3096701208351949,1.0340904439624112,0.8233795742699839,0.6600593667568211,0.5307768532170104,0.42719599106429196,0.3439484609125383,0.27661728598528085,0.22152631720476273,0.17645553274182268,0.13898364835076693,0.10685451034397658},
{1.4350910115267794,3.566251519010651,4.3913995094272975,4.320446057870755,3.8452161165285643,3.235573406597986,2.6244404928991645,2.0867033427427133,1.6446154311376702,1.2939691172890464,1.0204484026522136,0.8116022352407037,0.6498078727166304,0.5217910687595996,0.419277860640384,0.33693037913598184,0.2703584957594643,0.2159127142255559,0.17138728636188266,0.13436362337879637,0.10256312939861244},
{1.4466417870949722,3.5761322663984414,4.389346949750852,4.30841539107408,3.8273163031131934,3.2149639294360246,2.6035045620717123,2.067022244675902,1.6269105224139762,1.2784118940651972,1.0069438299905717,0.7999506374153142,0.639669611311817,0.5129074270743837,0.4114518793516444,0.3299954833557649,0.2641749297705721,0.21036727642050357,0.1663810319954788,0.1297977192786006,0.09832040138373763},
{1.458203722956076,3.5858899145175194,4.387150067229144,4.296301021458786,3.8094081191489857,3.1944068833687913,2.5826707536192144,2.0474728645676517,1.6093488525522355,1.2629973158356298,0.9935754535899186,0.7884234100250338,0.6296432693199059,0.5041246895175042,0.4037168883545385,0.3231426967714966,0.25806559230312487,0.20488908618843166,0.16143591257420536,0.12528501196751526,0.09412572265195684},
{1.4697761913406708,3.5955244455205846,4.384810219852354,4.284104732445833,3.7914929479623263,3.1739031888387688,2.561939374711967,2.0280548638975797,1.5919295933278568,1.2477242502174377,0.9803420078142013,0.7770191954979803,0.6197275485024256,0.4954416328414735,0.3960717441379606,0.31637095753957617,0.25202950200659263,0.19947723956026192,0.15655107782690303,0.120824600241852,0.08997850792221043},
{1.4813585659306054,3.605035854517727,4.38232876463731,4.271828290638062,3.7735721483937943,3.153453745221827,2.541310712640501,2.0087678911589224,1.5746519121674678,1.2325915679646413,0.9672422338116459,0.765736649434633,0.6099211654748818,0.4868570490228294,0.3885153183269383,0.30967921856358543,0.2460656916801883,0.19413084598422417,0.15172568251856067,0.11641560669714657,0.08587818914709533},
{1.4929502219257311,3.6144241493986304,4.379707057410298,4.259473445833139,3.7556470551916905,3.133059431096271,2.520785035188321,1.9896115822541227,1.5575149724561295,1.2175981431528577,0.9542748795525222,0.7545744405783462,0.6002228515759632,0.47836974509065844,0.38104649748822556,0.30306644728726356,0.24017320806072476,0.1888490281144396,0.14695888477356348,0.11205717842990381,0.08182421441566447},
{1.5045505361095408,3.6236893506552863,4.376946452594909,4.247041931040221,3.7377189794034753,3.1127211045084167,2.500362591000508,1.9705855608831542,1.5405179338363644,1.2027428533569646,0.9414386998715666,0.7435312507811053,0.5906313527360519,0.46997854295601477,0.37366418293777853,0.29653162549003786,0.23435111161349487,0.1836309216028206,0.14224984459191553,0.10774848752718595,0.07781604689638567},
{1.5161588869137543,3.632831491205348,4.374048303005022,4.234535462500364,3.719789208764762,3.0924396032349315,2.4800436099482717,1.9516894389246777,1.5236599524992231,1.1880245798219802,0.9287324565147279,0.7326057749647752,0.5811454293451558,0.46168227924229605,0.3663672905501404,0.2900737490851079,0.22859847632615107,0.1784756748942478,0.13759772264838466,0.10348873135423287,0.07385316382391564},
{1.5277746544818258,3.6418506162160913,4.371013959642749,4.221955739710467,3.701859008085384,3.07221574504196,2.45982830348939,1.932922816810088,1.5069401814675047,1.1734422076273054,0.9161549181898498,0.7217967210780312,0.5717638561203364,0.4534798051166152,0.3591547505697389,0.2836918279200708,0.22291438950555348,0.17338244902498126,0.13300167943936012,0.09927713265320443,0.06993505553240423},
{1.5393972207313826,3.6507467829290503,4.3678447715013045,4.209304445450661,3.683929619632172,3.0520503279412154,2.4397168650245566,1.9142852838905164,1.4903577708713183,1.1589946258445043,0.9037048606208771,0.711102810049178,0.5624854219727261,0.44536998612220075,0.35202550742410066,0.27738488558005875,0.21729795157754603,0.16835041742425247,0.1284608748146812,0.09511293946816149,0.06606122453720646},
{1.5510259694156094,3.6595200604853484,4.36454208537275,4.196583245815084,3.6660022635080733,3.0319441304431187,2.4197094702496535,1.8957764187968662,1.4739118682161403,1.1446807276888047,0.8913810666051843,0.700522775735061,0.553308929874216,0.43735170201187257,0.34497851953899583,0.27115195919339524,0.21174827588964157,0.16337876571900345,0.12397446790516846,0.09099542491275267,0.062231184666181674},
{1.5626602861835728,3.668170529751762,4.361107245660488,4.1837937902458675,3.6480781380272758,3.0118979118070754,2.3998062775039157,1.8773957897929334,1.4576016186435126,1.1304994106644544,0.8791823260735863,0.6900553648662471,0.5442331967238887,0.4294238465826172,0.3380127591555115,0.2649920992397319,0.20626448851657117,0.15846669154172144,0.11954161743321799,0.08692388679775129,0.05844446024110181},
{1.5742995586394861,3.6766982831475294,4.357541594196504,4.170937711570268,3.630158420086028,2.991912412289013,2.380007428114015,1.8591429551217038,1.4414261651845468,1.1164495767041198,0.8671074361526033,0.6796993369886699,0.5352570532142762,0.4215853275112987,0.3311272121490584,0.25890436936066397,0.200845728068674,0.15361340434132711,0.11516148237499475,0.08289764713579387,0.05470058530917244},
{1.585943176400935,3.685103424471981,4.353846470063248,4.158016626040872,3.6122442655288993,2.9719883533862617,2.3603130467340794,1.8410174633448835,1.4253846490063904,1.102530132302473,0.8551552012285739,0.6694534644019272,0.526379343697519,0.41383506619153876,0.32432087785032016,0.2528878461728032,0.1954911455030937,0.14881812519707546,0.11083322292894521,0.0789160515404464,0.050999102924203},
{1.5975905311560472,3.6933860687329347,4.35002320942005,4.145032133378687,3.594336809510172,2.95212643807983,2.340723241681601,1.8230188536757297,1.4094762096517743,1.0887399886441103,0.8433244330131612,0.6593165320943896,0.5175989260514781,0.40617199757178,0.31759276886813065,0.24694161908328546,0.1901999039377445,0.1440800866354233,0.10655600173643143,0.07497846853617587,0.04733956447658298},
{1.609241016719631,3.701546341975989,4.34607314533413,4.131985816819141,3.5764371668502224,2.9323273510742287,2.3212381052693076,1.8051466563052798,1.3936999852718337,1.0750780617259779,0.8316139506098839,0.6492873376753261,0.5089146715458918,0.39859506999457356,0.31094191091429874,0.24106479010770293,0.18497117846802233,0.13939853244982067,0.10232898529583678,0.07108428879501526,0.043721529070922874},
{1.6208940290882745,3.709584381114647,4.341997607615954,4.118879243160776,3.5585464323865876,2.91259175903484,2.301857714132944,1.787400392722014,1.3780551128522989,1.0615432724744207,0.8200225805812383,0.6393646913041892,0.5003254647086137,0.3911032450370973,0.30436734263035914,0.2352564736904324,0.17980415598621838,0.13477271752336106,0.09815134551076843,0.06723292431473651,0.040144562950000406},
{1.6325489664944102,3.7175003337613455,4.33779792265902,4.105713962816652,3.540665681319623,2.89292031082295,2.2825821295550015,1.7697795760250616,1.3625407284332312,1.0481345468570211,0.8085491570160555,0.6295474156172527,0.49183020319201,0.38369549735293607,0.29786811541626007,0.22951579652734552,0.17469803500361034,0.13020190765388936,0.09402226131521305,0.06342380755225854,0.036608238963516976},
{1.6442052294593683,3.7252943580594176,4.3334754132839395,4.092491509868279,3.522795969552562,2.8733136377285127,2.2634113977844095,1.7522837112310143,1.34715596732243,1.034850815989361,0.7971925215967245,0.6198343456517654,0.4834277976395694,0.376370814515145,0.291443293260983,0.22384189739088395,0.16965202547519864,0.1256853793791163,0.08994092032293327,0.059656390524854164,0.03311213608009271},
{1.655862220845396,3.7329666225159763,4.329031398586733,4.079213402122058,3.50493833402582,2.8537723537006734,2.2443455503521736,1.7349122955744143,1.3318999643026417,1.0216910162368402,0.7859515236659239,0.6102243287677711,0.475117171552771,0.36912819686059944,0.285091952575081,0.21823392695746902,0.1646653486270473,0.12122241979233744,0.0859065204542501,0.055930143890518286,0.02965583894085279},
{1.6675193459066675,3.740517305835771,4.324467193791323,4.0658811411680915,3.487093793045473,2.8342970555761564,2.225384604382994,1.7176648188020074,1.3167718538327173,1.0086540893116909,0.7748250202925588,0.600716224567778,0.466897261158278,0.3619666573356673,0.2788131820251424,0.2126910476372374,0.15973723678620752,0.11681232632568636,0.08191827150011573,0.052244556017668295,0.026238937452897324},
{1.6791760123392925,3.747946596756031,4.319784110106111,4.052496212441331,3.4692633466057887,2.8148883233055213,2.2065285629028573,1.7005407634608396,1.3017707702428383,0.9957389823653188,0.7638118763365778,0.5913089048144126,0.45876701527549024,0.3548852213431996,0.2726060823701636,0.20721243340607,0.15486693321318182,0.11245440646115602,0.07797539659044497,0.048599132053166336,0.02286102642084284},
{1.6908316303303144,3.755254693882318,4.314983454584612,4.03906008528492,3.451447976705755,2.7955467201773985,2.1877774151426395,1.6835396051802758,1.2868958479239514,0.9829446480760986,0.752910964512405,0.5820012533462215,0.4507253951845154,0.3478829265908658,0.2664697662998296,0.20179726963990016,0.15005369193690335,0.10814797731868234,0.07407713354071918,0.04499339299653185,0.019521705214514684},
{1.702485612605716,3.7624418055253916,4.310066529990034,4.0255742130156715,3.4336486476595143,2.776272793040679,2.1691311368376973,1.6666608129480116,1.2721462215115256,0.970270044732748,0.7421211654507135,0.5727921659917657,0.44277137449459564,0.34095882294084023,0.2604033582746929,0.1964447529512785,0.14529677759219436,0.10389236507297422,0.0702227360575813,0.04142687478712678,0.016220577470747483},
{1.7141373744774329,3.7695081495391287,4.305034634663784,4.0120400329915995,3.4158663064007126,2.7570670725247775,2.1505896905234976,1.6499038493801803,1.2575210260637695,0.9577141363134083,0.7314413677583076,0.5636805504821429,0.43490393901303614,0.3341119722608496,0.2544059943682421,0.19115409102816908,0.1405954652596732,0.09968690416814388,0.06641147479030177,0.037899127410095386,0.012957250827139877},
{1.7257863338893906,3.7764539531595114,4.299889062397829,3.9984589666813632,3.3981018827807143,2.7379300732579557,2.1321530258272863,1.633268170985624,1.2430193972344257,0.9452758925605493,0.7208704680758975,0.5546653263620848,0.42712208661467543,0.32734144827659606,0.24847682211085298,0.18592450247495912,0.1359490403080781,0.09553093632711752,0.06264263822051033,0.03440971402589826,0.009731336685530403},
{1.7374319114625543,3.7832794528446763,4.294631102310797,3.9848324197355267,3.380356289860657,2.7188622940837623,2.113821079755794,1.6167532284244117,1.228640471440256,0.9329542890518107,0.71040737113356,0.5457454248997404,0.4194248271119314,0.32064633642555795,0.2426150003356076,0.18075521665565472,0.13135679823897276,0.09142380938386191,0.05891553338737279,0.030958210127423415,0.006542450002919472},
{1.749073530539015,3.789984894116078,4.289262038727833,3.9711617820594816,3.3626304241973886,2.699864218275631,2.095593776979035,1.600358466760691,1.2143833860233464,0.9207483072669097,0.7000509898037195,0.536919788995289,0.41181118212546325,0.31402573371217823,0.23681969902597513,0.17564547353924423,0.12681804453380607,0.08736487599355637,0.055229486449435324,0.027544202727872058,0.0033902091075560664},
{1.7607106172251108,3.7965705314007487,4.283783151064084,3.9574484278878805,3.3449251661232844,2.6809363137496587,2.0774710301101833,1.5840833257099665,1.200247279408344,0.9086569346507487,0.6898002451514907,0.5281873730884865,0.4042801849554865,0.3074787485644524,0.23109009916534645,0.17059452354720728,0.12233209450329416,0.08335349229426807,0.05158384308769124,0.02416728958191083,0.00027423553795543655},
{1.7723426004335912,3.803036627874697,4.27819571371179,3.9436937158603866,3.3272413800199714,2.6620790332755955,2.05945273998156,1.5679272398808726,1.1862312912547324,0.8966791646729311,0.6796540664822405,0.5195471430652611,0.3968308804537611,0.30100450069190965,0.22542539258840097,0.16560162740314052,0.11789827313908857,0.07938901660155938,0.04797796875705282,0.0208270784419453,-0.002805846097317483},
{1.7839689119248316,3.8093834553074433,4.27250099593089,3.929898989098514,3.3095799145860205,2.6432928146860863,2.0415387959167486,1.55188963901154,1.172334562604269,0.8848139968840569,0.6696113913862581,0.5109980761634654,0.38946232489630006,0.2946021209450041,0.21982478183430612,0.16066605598448627,0.11351591496770719,0.075470808215332,0.04441124879544026,0.017523186350812233,-0.005850408241154598},
{1.7955889863471024,3.8156112939076934,4.2667002617431,3.91606557528331,3.291941603098624,2.624578081084155,2.0237290759988618,1.5359699482006286,1.1585562360236807,0.873060436969446,0.6596711657804276,0.5025391608778783,0.38217358585680944,0.28827075117590917,0.21428748000172818,0.15578709017633133,0.1091843639066885,0.07159822640808496,0.04088308840115377,0.014255238971690686,-0.00885982049263629},
{1.8072022612759036,3.821720432170203,4.260794769829404,3.9021947867336544,3.2743272636693654,2.605935241049004,2.0060234473349676,1.520167588133123,1.1448954557427362,0.8614174968012932,0.6498323439468203,0.4941693968645579,0.3749637420808994,0.2820095441007238,0.20881271060564321,0.1509640207272591,0.10490297312294479,0.06777062964834142,0.03739291249016672,0.011022869955599802,-0.011834449696782462},
{1.818808177252378,3.827711166723809,4.25478577343089,3.8882879204848293,3.256737699494124,2.5873646888401076,1.9884217663167243,1.5044819753009744,1.1313513677877989,0.8498841944906563,0.6400938885681465,0.485887794844631,0.3678318833610886,0.2758176631630934,0.2033997074359439,0.1461961481072349,0.10067110489328415,0.06398737509494276,0.03394016544554094,0.00782572034648491,-0.014774660020975959},
{1.8304061778207905,3.833583802180643,4.248674520252865,3.87434625836711,3.239173699097185,2.568866804599637,1.970923878877216,1.48891252221866,1.117923120110951,0.8384595544409538,0.630454770759999,0.4776933765075964,0.3607771104126186,0.2696942823992384,0.1980477144178123,0.14148278236748885,0.09648813046706298,0.060247818379511736,0.03052431077135525,0.004663438023561761,-0.01768081301956774},
{1.8419957095651036,3.8393386509865577,4.242462252372206,3.860371067084031,3.2216360365696555,2.550441954553229,1.9535296207440314,1.4734586376337648,1.1046098627148115,0.827142607404834,0.6209139700998655,0.4695851744142314,0.3537985347501116,0.263638586304401,0.19275598547386227,0.1368232430023894,0.09235342993095091,0.0565513136773739,0.027144830663475443,0.0015356771803379191,-0.020553267688015076},
{1.8535762221446417,3.8449760332727516,4.236150206147888,3.8463635982900723,3.2041254718022887,2.53209049120912,1.9362388176886085,1.4581197267326516,1.0914107477731259,0.8159323905461888,0.6114704746528754,0.4615622318991618,0.3468952785650807,0.25764976970070097,0.18752378438802478,0.1322168588132706,0.0882663920757676,0.05289721405269383,0.02380122550917092,-0.0015579021605066044,-0.02339238050777607},
{1.865147168328861,3.850496276708626,4.229739612134616,3.8323250886674227,3.1866427507127773,2.513812753555656,1.9190512857718671,1.4428951913413162,1.0783249297472435,0.8048279475088237,0.6021232809942696,0.4536236029731732,0.34006647460432127,0.25172703760640297,0.18235038467116807,0.12766296777419886,0.08422641426536912,0.049284872052126914,0.02049301332709781,-0.004617634597348426,-0.026198505483034765},
{1.8767080040312234,3.8558997163558613,4.223231694999507,3.818256760001565,3.1691886054676544,2.495609067257179,1.9019668315861602,1.4277844301215061,1.0653515654985626,0.7938283284928435,0.5928713942285958,0.4457683522253245,0.3333112660491943,0.24586960510659367,0.17723506942843553,0.12316091689965043,0.08023290230755024,0.04571364051306598,0.017219729158551397,-0.007643849766056969,-0.028971994170216495},
{1.88825818834219,3.8611866945237225,4.216627673441795,3.80415981925545,3.1517637546988806,2.4774797448483263,1.8849852524935673,1.4127868387621834,1.0524898143970491,0.7829325903392091,0.5837138280056328,0.43799555472492097,0.32662880639582303,0.24007669722526623,0.17217713122828973,0.11871006211408303,0.07628527032693871,0.04218287354743855,0.013980924420176694,-0.010636872723779259,-0.03171319570112527},
{1.899797183561342,3.866357560625632,4.209928760115456,3.7900354586420004,3.134368903715255,2.45942508592673,1.8681063368605673,1.3979018101664176,1.0397388384259163,0.7721397966222827,0.5746496045330681,0.43030429592341046,0.3200182593362159,0.23434754879880526,0.16717587197324377,0.11430976812337193,0.07238294063984754,0.03869192765960159,0.010776166227539036,-0.013597024301276442,-0.03442245680045021},
{1.9113244552286235,3.8714126710369623,4.20313616155473,3.7758848556947875,3.117004744708723,2.441445377344132,1.851329864289112,1.3831287346337875,1.0270978022825508,0.7614490177495109,0.5656777545859522,0.4226936715562449,0.31347879864032724,0.22868140435087272,0.16223060277226498,0.10995940828809056,0.06852534363105849,0.03524016295681942,0.0076050366981605475,-0.016524621425028006,-0.037100121798290524},
{1.9228394721547388,3.8763523889541185,4.196251078102497,3.7617091733367474,3.0996719569557483,2.4235408933959355,1.8346556058441454,1.368467000038379,1.014565873475783,0.7508593310668252,0.5567973175129658,0.4151627875447666,0.3070096080390742,0.22307751796868597,0.15734064381483817,0.10565836449861284,0.06471191763251065,0.031826944412518196,0.004467132241796351,-0.019419977410366183,-0.03974653263827362},
{1.9343417064506914,3.881177084254857,4.189274703841406,3.747509559946801,3.082371207013821,2.405711896009176,1.818083324277583,1.3539159920024482,1.0021422224195828,0.7403698209678272,0.5480073412395496,0.40771075989816147,0.30060988110831843,0.21753515318069003,0.1525053242466742,0.10140602705201762,0.06094210880385799,0.028451643145599476,0.0013620628449180997,-0.022283402226961242,-0.042362028881776134},
{1.9458306335564708,3.8858871333598843,4.182208226527739,3.733287149424356,3.065103148913236,2.387958634928931,1.8016127742487986,1.3394750940658382,0.9898260225232631,0.7299795790044659,0.5393068822679333,0.4003367146155183,0.2942788211538196,0.2120535828356078,0.14772398204703902,0.09720179453076314,0.057215371014717,0.025113637683053608,-0.0017105486444363126,-0.025115202738057407,-0.04494694770871785},
{1.9573057322689191,3.8904829190957284,4.1750528275279715,3.71904306125169,3.047868424344283,2.370281347903186,1.7852437025416505,1.325143687851227,0.977616450278285,0.7196877039967061,0.5306950056741364,0.393039787588047,0.2880156410971812,0.20663208898287358,0.14299596390770142,0.09304507368312284,0.053531165727496874,0.021812315177653495,-0.0047510672260324665,-0.027915682914919637,-0.04750162391532768},
{1.968766484768761,3.894964830558893,4.167809681757931,3.7047784005542406,3.0306676628399405,2.352680260866131,1.7689758482780733,1.3109211532252791,0.9655126853417327,0.7094933021385768,0.5221707851019852,0.3858191245014785,0.28181956336278213,0.20126996275443493,0.1383206251134705,0.08893527930534685,0.04988896187613392,0.018547072557233944,-0.007759846446356335,-0.03068514402804269,-0.05002638990927324},
{1.9802123766468123,3.8993332629812785,4.160479957624541,3.6904942581588815,3.0135014819541994,2.3351555881199157,1.7528089431282765,1.2968068684557805,0.9535139106165481,0.6993954870980438,0.5137333027542229,0.37867388073869424,0.27568981976571466,0.1959665042479189,0.1336973294243145,0.08487183412553492,0.04628823572817862,0.015317317586801162,-0.010737229083076658,-0.03342388481670513,-0.05252157570248835},
{1.9916428969293853,3.9035886175969052,4.153064816970091,3.6761917106503543,2.9963704874361627,2.3177075325148615,1.7367427115175837,1.282800210364839,0.941619312328602,0.6893933801083079,0.5053816493807783,0.3716032212826163,0.2696256514007307,0.19072102241115793,0.12912544895904407,0.08085416868919716,0.04272847070658073,0.012122469829241903,-0.013683547811684644,-0.036132201638497105,-0.054987508902024675},
{2.003057538102885,3.907731301509915,4.145565415018971,3.661871820425975,2.979275273400019,2.3003362856281284,1.7207768708299438,1.2689005544782124,0.9298280801006756,0.679486110048354,0.4971149242642663,0.36460632061938614,0.2636263085321995,0.1855328349280631,0.12460436408054008,0.07688172124647877,0.039209157137966855,0.008961961494612333,-0.016599125851524534,-0.03881038860044081,-0.05742451469921587},
{2.01445579613761,3.9117617275638628,4.137982900326835,3.647535635748856,2.962216422491009,2.283042027940837,1.7049111316081473,1.2551072751708474,0.9181394070234323,0.6696728135108985,0.488932235202797,0.357682362641867,0.257691050485088,0.18040126810583973,0.12013346328251516,0.0729539376410293,0.03572979189164495,0.005835238171770502,-0.019484277588962633,-0.041458737673300015,-0.05983291585743359},
{2.0258371705107687,3.9156803142123024,4.1303184147321295,3.6331841907998577,2.9451945060475224,2.2658249290136503,1.6891451977507812,1.2414197458087002,0.9065524897234466,0.659952634856225,0.4808326984901706,0.35083054055349433,0.25181914553696205,0.1753256567635361,0.115712143077787,0.0690702712004919,0.032289877880693554,0.0027417594394633007,-0.022339309175921432,-0.044077538790628576,-0.062213032698686804},
{2.037201164228718,3.9194874853906656,4.122573093309961,3.61881850572855,2.928210084259435,2.2486851476608276,1.6734787667059576,1.2278373388869053,0.8950665284283713,0.650324726250777,0.47281543889353883,0.34405005677250317,0.2460098708110155,0.1703053441219144,0.11133980788805195,0.0652301826285941,0.028888923412106172,-0.000319000643162308,-0.025164519102439123,-0.046667079934029354,-0.06456518308930406},
{2.0485472838484355,3.923183670389449,4.11474806432825,3.6044395867034607,2.9112637063228117,2.2316228321227354,1.6579115296618558,1.2143594261643806,0.8836807270293139,0.6407882476897535,0.4648795896286219,0.33734012283656084,0.24026251217013217,0.16533968169464175,0.10701586993514152,0.06143313989881715,0.025526441393101604,-0.003347553164261838,-0.027960198742302177,-0.04922764720601709,-0.06688968242492146},
{2.0598750394982184,3.9267693037286726,4.106844449206096,3.5900484259619003,2.8943559105910683,2.2146381202368164,1.6424431717340795,1.2009853787949116,0.872394293140477,0.6313423670033165,0.4570242923325512,0.33069995930781787,0.23457636411197547,0.16042802918078125,0.1027397491337416,0.05767861814962261,0.022201948420773047,-0.006344394100891855,-0.030726632871138276,-0.05175952489177626,-0.06918684361497959},
{2.071183944897637,3.9302448250336455,4.098863362474336,3.575646001859686,2.87748722472273,2.1977311396070305,1.6270733721498984,1.1877145674548033,0.8612064381561529,0.621986259846376,0.44924869703443415,0.3241287956784142,0.22895072966511582,0.1555697543585852,0.0985108729855654,0.053966099581216564,0.01891496379839032,-0.00931000416866552,-0.033464100156661694,-0.05426299551100759,-0.07145697706692299},
{2.08247351737675,3.9336106789120517,4.0908059117382685,3.561233278921112,2.8606581658259156,2.180902007771763,1.6118018044293858,1.174546362467167,0.8501163773051236,0.6127191096722292,0.44155196212372333,0.31762587027645056,0.22338492028619159,0.15076423298057112,0.09432867647495716,0.05029507335382846,0.01566500853169437,-0.012244848772467279,-0.03617287362101874,-0.056738339860953266,-0.0737003906702831},
{2.0937432778945673,3.9368673148322895,4.08267319764245,3.5468112078894336,2.843869240599594,2.1641508323701895,1.5966281365634674,1.1614801339228984,0.8391233297025358,0.603540107690599,0.4339332543164681,0.3111904301724484,0.21787825575810318,0.14601084866987527,0.09019260196591246,0.04666503548748469,0.012451604361844268,-0.015149378050406982,-0.03885322107541307,-0.05918583705159017,-0.07591738978079975},
{2.1049927510567943,3.9400151870031355,4.0744663138375365,3.532380725778225,2.8271209454717954,2.147477711307109,1.5815520311889448,1.148515251798417,0.8282265183993175,0.5944484528108778,0.4263917486195463,0.30482173108632205,0.21243006408924642,0.14130899281787537,0.08610209910050277,0.04307548876326055,0.00927427288890859,-0.018024027002675445,-0.041505405527376395,-0.06160576453388945,-0.07810827720473927},
{2.1162214651328575,3.9430547542547028,4.066186346949177,3.517942755923944,2.810413766734847,2.1308827329162505,1.5665731457604941,1.13565108607024,0.8174251704291982,0.5854433515715559,0.41892662829294997,0.29851903729487056,0.20703968141377455,0.13665806448306603,0.08205662469868076,0.039525942625979936,0.006132534832311501,-0.020869215696673597,-0.044129685561218726,-0.06399839812195052,-0.08027335318354449},
{2.127428952072214,3.9459864799206774,4.057834376548828,3.5034982080399586,2.7937481806777376,2.1143659761220355,1.5516911327196763,1.1228870068264383,0.8067185168533912,0.576524018056985,0.411537084810217,0.29228162153981896,0.2017064518928997,0.13205747029118237,0.0780556426594578,0.036015913088357734,0.0030259094641187055,-0.023685349539731414,-0.04672631569231874,-0.0663640120097336,-0.08241291537893765},
{2.1386147475199606,3.948810831721858,4.049411475126524,3.4890479782723767,2.777124653715712,2.09792751059981,1.5369056396609948,1.110222384375051,0.7961057928030011,0.5676896738027304,0.40422231781708784,0.28610876493641263,0.19642972761721933,0.12750662433655768,0.07409862386343168,0.03254492263654874,-0.00004608576097675683,-0.026472819610823053,-0.04929554669601772,-0.06870287878304344,-0.0845272588585941},
{2.1497783908317443,3.951528281650984,4.040918708065517,3.474592949257936,2.760543642517217,2.0815673969345427,1.5222163094950127,1.0976565893495114,0.7855862375192154,0.5589395476908525,0.39698153508847306,0.27999975688258744,0.19120886851007654,0.12300494808470566,0.0701850460766525,0.029112500137097937,-0.0030839353672151414,-0.02923200304293165,-0.05183762591194687,-0.07101526942733527,-0.08661667608248123},
{2.1609194250879913,3.9541393058588477,4.032357133618759,3.4601339901842247,2.7440055941282697,2.0652856867779934,1.5076227806085762,1.085188992811153,0.7751590943913377,0.550272875836505,0.38981395248381256,0.27395389496872713,0.18604324223194396,0.1185518702761148,0.06631439385580754,0.025718180745259445,-0.006088125810377176,-0.03196326344806849,-0.0543527975246576,-0.07330145333186242,-0.0886814568899602},
{2.172037397107453,3.9566443845416863,4.023727802887194,3.4456719568524714,2.7275109460943483,2.049082423004333,1.4931246870221522,1.07281896634884,0.7648236109927185,0.5416889014672315,0.3827187939009081,0.26797048488802105,0.18093222408583454,0.11414682683124852,0.062486158454712754,0.022361505814679168,-0.009059145230591169,-0.0346669513773571,-0.05684130282142387,-0.07556169829060431,-0.09072188848771899},
{2.1831318574600918,3.9590440018298776,4.015031759799817,3.431207691743139,2.7110601265799157,2.0329576398642595,1.478721658544328,1.0605458821758071,0.7545790391146421,0.5331868747963614,0.3756952912283096,0.2620488403474376,0.1758751969237327,0.10978926075673295,0.058699837732093946,0.01904202280840807,-0.011997483022259517,-0.03734340480910979,-0.05930338042812018,-0.07779627050038296,-0.09273825543861342},
{2.194202360479287,3.961338645677881,4.006270041095433,3.4167420240844937,2.6946535544856367,2.0169113631375413,1.4644133209234764,1.0483691132237287,0.7444246347982159,0.5247660528918364,0.36874268429632723,0.25618828297931673,0.17087155105404067,0.10547862205272603,0.05495493606063761,0.015759285211235322,-0.014903629243726882,-0.03999294965831235,-0.06173926652406826,-0.08000543455651189,-0.09473083965147225},
{2.2052484642734043,3.9635288077554796,3.9974436763061183,3.402275769924349,2.6782916395633865,2.0009436102840654,1.4501992959966343,1.0362880332341142,0.7343596583643242,0.5164256995417758,0.36186022082675307,0.2503881422536025,0.16592068415004146,0.10121436762145454,0.05125096423730267,0.012512852443322363,-0.01777807389306258,-0.04261590030150032,-0.0641491950367878,-0.08218945344628467,-0.09669992037191243},
{2.2162697307367227,3.965614983340294,3.9885536877423555,3.387809732205138,2.6619747825291706,1.9850543905933378,1.4360792018356232,1.0243020168470562,0.7243833744417006,0.5081650851180088,0.35504715638136686,0.24464775539072356,0.1610220011593722,0.09699596117691166,0.04758743939487511,0.009302289775116119,-0.02062130607829546,-0.045212560111543794,-0.06653339781761874,-0.08434858854058397,-0.09864577417421144},
{2.2272657255597004,3.9675976712115397,3.9796010904797106,3.3733447008424116,2.645703375173945,1.9692437053324476,1.422052652890411,1.0124104396873939,0.7144950519931503,0.4999834864387081,0.34830275430928564,0.23896646727512005,0.1561749142144998,0.09282287315569498,0.043963884914745004,0.006127168243524004,-0.02343381311088897,-0.047783221997414485,-0.06889210479922894,-0.0864830995838494,-0.10056867495426378},
{2.238236018238643,3.9694773735450712,3.970586892347149,3.358881452806888,2.629477800472527,1.9535115478925167,1.4081192601297832,1.0006126784483538,0.7046939643400014,0.49188018663120453,0.34162628569324566,0.23334363036944528,0.15137884254420061,0.08869458062898472,0.040379830340900674,0.002987064569336697,-0.026216079550449974,-0.05032816894453467,-0.0712255441360671,-0.08859324468263288,-0.10246889392364932},
{2.2491801820847357,3.97125459580969,3.9615120939168658,3.34442075221015,2.6132984326906032,1.9378579039336132,1.3942786311793274,0.988908110972709,0.6949793891848107,0.4838544749959396,0.3350170292948691,0.22777860462943222,0.14663321238603388,0.08461056721564109,0.03683481129511424,-0.0001184389241269991,-0.028968586226948125,-0.052847674551829545,-0.07353394232886096,-0.09067928029294096,-0.10434669960483549},
{2.260097794232453,3.9729298466646705,3.9523776884955923,3.3299633503939665,2.597165637489898,1.9222827515281342,1.3805303704567515,0.9772961163315106,0.6853506086323786,0.47590564687242276,0.32847427149898134,0.2222707574194415,0.1419374568998057,0.08057032299641476,0.033328369393311345,-0.003189754391162458,-0.031691809264306495,-0.05534200356208578,-0.07581752433427932,-0.09274146120654711,-0.10620235782751475},
{2.270988435647397,3.9745036378585836,3.94318466211742,3.315509986023383,2.5810797720316443,1.9067860613026766,1.3668740793046037,0.9657760749004533,0.6758069092091288,0.46803300350798416,0.3219973062570495,0.21681946342869887,0.1372910160820166,0.07657334442925719,0.029860052163105104,-0.006227288542632083,-0.034386219126404584,-0.05781141238269601,-0.07807651366090321,-0.0947800405364525,-0.10803613172609772},
{2.2818516911335025,3.975976484129323,3.933933993538006,3.3010613851834822,2.5650411850783397,1.8913677965783724,1.3533093561203715,0.9543473684339058,0.6663475818808814,0.4602358519299789,0.31558543502978814,0.21142410458822095,0.1326933366812871,0.07261913426571974,0.026429412962482718,-0.009231442723745724,-0.03705227970345137,-0.060256149594280425,-0.08031113245261823,-0.09679526970165217,-0.10984828173834758},
{2.292687149339686,3.9773489031054092,3.9246266542302215,3.286618261479869,2.549050217093919,1.876027913509718,1.33983579648404,0.9430093801366775,0.6569719220690844,0.45251350482203945,0.3092379667289986,0.20608406998844483,0.12814387211475478,0.06870720146842908,0.02303601089962777,-0.01220261299072299,-0.03969044745356398,-0.06267645644510136,-0.08252160156054276,-0.09878739841135559,-0.11163906560516498},
{2.3034944027658866,3.97862141520848,3.9152636083811174,3.272181316142807,2.5331072003423647,1.8607663612218628,1.3264529932830906,0.9317614947335434,0.6476792296655238,0.4448652804048569,0.30295421765868813,0.20079875579755707,0.12364208238543334,0.06483706112962886,0.019679410753863376,-0.015141190186733343,-0.04230117061131368,-0.06507256732953408,-0.08470814060454572,-0.10075667464880819,-0.11340873837150448},
{2.3142730477685705,3.979794543557067,3.9058458128902735,3.2577512381349893,2.5172124589848397,1.84558308194641,1.3131605368350185,0.9206030985366024,0.6384688090455808,0.4372905023219033,0.29673351145552906,0.1955675651805337,0.11918743400053157,0.06100823439077423,0.01635918289770432,-0.01804756001906474,-0.04488488847208457,-0.06744471024920567,-0.0868709680253704,-0.10270334465484078,-0.11515755238841363},
{2.3250226845656368,3.980868813871537,3.8963742173694094,3.243328704262833,2.5013663091753986,1.830478011155687,1.2999580150073644,0.9095335795104921,0.6293399690800552,0.4297884995304043,0.2905751790287076,0.19038990821889426,0.11477939989071875,0.05722024836316994,0.013074903220000603,-0.020922103143575253,-0.047442030758411455,-0.06979310725571945,-0.08901030112831439,-0.1046276529112767,-0.11688575731618167},
{2.33574291724079,3.981844754380296,3.886849764143276,3.2289143792912354,2.4855690591553063,1.815451077695505,1.2868450133353015,0.8985523273355218,0.6202920231456119,0.4223586061978151,0.2844785584992081,0.18526520183116874,0.11041745933033442,0.053472636049638506,0.009826153050160548,-0.02376519526928782,-0.049973017072038155,-0.07211797487414275,-0.0911263561193457,-0.10652984212431091,-0.11859360012857188},
{2.3464333537473583,3.9827228957271714,3.8772733882517882,3.21450891606168,2.4698210093460555,1.8005022039164262,1.2738211151368186,0.8876587334687559,0.6113242891338813,0.4150001616039655,0.2784429951385946,0.18019286969408865,0.10610109785853039,0.0497649362672092,0.006612519083436836,-0.026577207303330547,-0.052478256433307925,-0.07441952450670371,-0.09321934813447787,-0.10841015320797416,-0.12028132511812166},
{2.3570936059115764,3.983503770880021,3.867646017453366,3.20011295561359,2.454122452441127,1.7856313058035211,1.2608859016255214,0.8768521912031039,0.6024360894592588,0.4077125100489871,0.27246784130732943,0.17517234216449787,0.10182980720134027,0.04609669357081345,0.0034335933072644365,-0.02935850556078049,-0.054958146907671986,-0.07669796281633778,-0.09528949126314055,-0.11026882526777979,-0.12194917390248154},
{2.3677232894353284,3.9841879150405166,3.8579685722294306,3.1857271273087533,2.4384736734964916,1.7708382931046203,1.2480389520210735,0.866132095724446,0.5936267510654328,0.4004950007670599,0.2665524563926837,0.17020305620198736,0.09760308519466593,0.042467458177977827,0.00028897292863350535,-0.03210945206273526,-0.05741307531755503,-0.07895349208992901,-0.09733699856622519,-0.11210609558465377,-0.12359738543176775},
{2.378322023898379,3.9847758655551417,3.8482419657900824,3.1713520489587443,2.4228749500199958,1.7561230694570864,1.2352798436573442,0.8554978441668555,0.5848956054306962,0.39334698784598854,0.26069620674629357,0.16528445529226207,0.09342043570817654,0.038876785894503066,-0.0028217396975137483,-0.03483040493863036,-0.0598434170365648,-0.0811863105812614,-0.0993620820894186,-0.11392219959923018,-0.1252261959969026},
{2.3888894327600765,3.9852681618273524,3.838467104080864,3.1569883269551378,2.4073265520595695,1.7414855325130854,1.2226081520882475,0.8449488356659343,0.5762419885720527,0.38626783015253746,0.25489846562140006,0.16041598937122784,0.0892813685701071,0.03532423804111583,-0.00589893713887844,-0.03752171893707805,-0.062249535862026056,-0.0833966128338235,-0.10136495287236455,-0.1157173708965975,-0.12683583923890585},
{2.399425143360562,3.9856653452309394,3.828644885790633,3.142636556402383,2.3918287422903917,1.7269255740633789,1.210023451191347,0.8344844714103319,0.5676652410481793,0.37925689126344647,0.24915861310983745,0.15559711474981547,0.08518539949295356,0.03180938138108487,-0.008943006955404502,-0.04018374603599978,-0.06463178396105748,-0.08558458998375934,-0.10334582095415269,-0.11749184119156564,-0.12842654615911434},
{2.4099287869214607,3.985967959024526,3.8187762023604814,3.128297321253148,2.3763817761009847,1.71244308015963,1.1975253132692274,0.8241041546914581,0.5591647079612605,0.3723135394019833,0.24347603607880292,0.1508272940395294,0.08113205000005269,0.02833178804878706,-0.011954331767895903,-0.042816836130257066,-0.06699050188485901,-0.08775043004333549,-0.10530489537556596,-0.1192458403145211,-0.1299985451302889},
{2.420399998546102,3.986176548267269,3.808861937993705,3.1139711944460036,2.36098590167832,1.698037931235244,1.1851133091486894,0.8138072909514555,0.5507397389577411,0.36543714737988114,0.2378501281074654,0.14610599607872982,0.07712084735304148,0.024891035479216842,-0.014933289325664095,-0.045421337765341324,-0.06932601864550177,-0.08989431816540547,-0.10724238417848275,-0.12097959619792824,-0.13155206190858015},
{2.43083841721923,3.9862916597356732,3.798902969666757,3.099658738045204,2.3456413600919475,1.683710002224724,1.1727870082777805,0.8035932878294471,0.5423896882280206,0.3586270925444629,0.23228028942345347,0.1414326958596423,0.07315132448018379,0.021486706338420564,-0.017880252573222333,-0.04799759888003243,-0.0716386518493176,-0.09201643688940868,-0.1091584944027888,-0.12269333486353054,-0.13308731964631618},
{2.441243685806258,3.986313841841594,3.7889001671412004,3.0853605033824554,2.330348385377203,1.6694591626815791,1.1605459788207104,0.7934615552061169,0.5341139145051348,0.3518827567307549,0.22676592683927374,0.1368068744560998,0.0692230199055634,0.018118388454855583,-0.02079558971603464,-0.05054596751941727,-0.0739287078808986,-0.09411696636948645,-0.11105343208111003,-0.12438728041029846,-0.13460453890558088},
{2.451615451052048,3.986243644551354,3.778854392976605,3.0710770312004287,2.3151072046175116,1.6552852768947663,1.148389787750673,0.783411505246648,0.5259117810624432,0.34520352621835076,0.22130645368869498,0.13222801895201292,0.06533547767912729,0.014785674751651618,-0.02367966428533519,-0.0530667924818389,-0.07619648213176763,-0.09619608458533538,-0.11292740223165874,-0.12606165500316013,-0.13610393767254117},
{2.4619533635792155,3.986081619306002,3.768766502544376,3.0568088517978684,2.2999180380258237,1.6411882040036778,1.1363180009406086,0.7734425524420562,0.5177826557103604,0.3385887916927894,0.21590128976314507,0.12769562237056759,0.06148824730757625,0.011488163179770755,-0.026532835202032506,-0.055560423868338295,-0.07844225926790595,-0.09825396753641708,-0.11478060884944265,-0.12771667886255272,-0.13758573137249605},
{2.472257077885994,3.985828318942689,3.75863734404247,3.0425564851760836,2.2847810990252126,1.6271677981116852,1.124330183251941,0.7635541136489584,0.5097259107921613,0.33203794821119637,0.21054986124815844,0.12320918360415013,0.05768088368609484,0.008225456652054836,-0.0293554568397057,-0.058027213510004935,-0.08066631353053198,-0.10029078942015471,-0.11661325489607577,-0.1293525702548181,-0.13905013288560325},
{2.4825262523436504,3.9854842976171856,3.7484677585110178,3.028320441186666,2.2696965943286793,1.6132239083982516,1.11242589862133,0.7537456081278141,0.501740923178891,0.3255503951719308,0.20525160065991319,0.11876820734499814,0.053912947030908764,0.004997162978145234,-0.03214787908671103,-0.06046751525642299,-0.08286890906478511,-0.10230672279474765,-0.11842554228838939,-0.1309695454834678,-0.14049735256325474},
{2.4927605491934495,3.9850501107274745,3.738258579848762,3.0141012196802115,2.2546647240181477,1.5993563792295973,1.1006047101454475,0.7440164575796613,0.49382707426340205,0.31912553628796864,0.200005946781891,0.11437220401657264,0.05018400281266703,0.0018028948002696034,-0.0349104474074067,-0.06288168511626974,-0.0850503002712743,-0.10430193872724032,-0.12021767188603415,-0.1325678188813375,-0.14192759824506557},
{2.5029596345431955,3.9845263148384706,3.7280106348303605,2.9998993106559024,2.2396856816227326,1.585565050267951,1.0888661801638366,0.7343660861813978,0.4859837499535574,0.31276277956376825,0.19481234460169647,0.11002068970565489,0.04649362169063706,-0.0013577304701179096,-0.037643502902511505,-0.06527008124851158,-0.08721073217577312,-0.10627660692750515,-0.12198984347822783,-0.13414760280363683,-0.143341075276437},
{2.51312317836335,3.983913467607829,3.717724743124472,2.985715194411739,2.2247596541962666,1.5718497565793812,1.077209870339872,0.7247939206196266,0.4782103406646192,0.3064615372753437,0.18967024524806486,0.1057131860951582,0.042841379447705524,-0.0044850907148545165,-0.04034738236860591,-0.0676330638091062,-0.08935044081270416,-0.10823089586881685,-0.12374225576979779,-0.1357091076219083,-0.14473798652666411},
{2.523250854482729,3.9832121277128376,3.707401717312634,2.971549341695253,2.209886822394105,1.5582103287402145,1.0656353417398459,0.7152993901231085,0.47050624131085106,0.30022122595329254,0.18457910592808766,0.10144922039765812,0.03922685692617983,-0.007579559170750359,-0.04302241835678909,-0.06997099466343118,-0.09146965361840632,-0.11016497289573081,-0.12547510636664339,-0.13725254171889523,-0.14611853240755043},
{2.5333423405837725,3.9824228547783704,3.6970423629088884,2.957402213854527,2.1950673605492694,1.544646592942049,1.0541421549102303,0.7058819264938453,0.4628708512963635,0.2940412663685153,0.1795383898646866,0.09722832528963565,0.03564963996437735,-0.010641504490450447,-0.045668939230505655,-0.07228423697872709,-0.09356858983054332,-0.11207900432000599,-0.1271885917607373,-0.13877811148432462,-0.147482910892502},
{2.5433973181974423,3.9815462093059466,3.6866474783801664,2.9432742629893656,2.1803014367478974,1.53115837109538,1.0427298699531296,0.6965409641368329,0.45530357450522846,0.28792108352037854,0.17454756623435544,0.09305003884642966,0.03210931933400012,-0.013671290802481504,-0.048287269222549084,-0.07457315471366714,-0.09564746089036666,-0.11397315550532688,-0.12888290731475985,-0.1402860213115959,-0.14883131753606235},
{2.553415472697695,3.9805827526038153,3.676217855167372,2.929165932102421,2.1655892129040666,1.5177454809318323,1.0313980465999641,0.6872759400885102,0.44780381929088364,0.28186010662707484,0.1696061101051993,0.08891390447789774,0.028605490678281675,-0.016669277770498245,-0.05087772849125718,-0.07683811202385418,-0.09770647084489206,-0.11584759094160949,-0.1305582472464692,-0.14177647359537185,-0.15016394549386303},
{2.5633964932955786,3.9795330467181125,3.6657542777071557,2.91507765525014,2.150930844833977,1.5044077361050128,1.0201462442834095,0.6780862940439335,0.44037099846485345,0.2758577691179418,0.16471350237528593,0.08481947086477941,0.025137754450902987,-0.019635820651736198,-0.053440633175910274,-0.07907947260273386,-0.09974581674638434,-0.11770247430966599,-0.13221480461288257,-0.143249668730065,-0.1514809855429543},
{2.573340073032941,3.9783976543650543,3.6552575234543867,2.901009857693377,2.1363264823295176,1.4911449462900002,1.0089740222076227,0.66897146838271,0.43300452928481387,0.2699135086275152,0.15986922971133422,0.08076629189575864,0.02170571585566726,-0.022571270354681303,-0.05597629545134071,-0.08129759897725718,-0.10176568904686428,-0.11953796853700396,-0.1338527712943552,-0.14470580510919998,-0.15278262610248594},
{2.583245908775766,3.9771771388641692,3.6447283629052447,2.8869629560474914,2.121776269231244,1.4779569172814624,0.9978809394167961,0.659930908193717,0.4257038334420198,0.2640267669910937,0.155072784487755,0.07675392660522444,0.018308984786924477,-0.025475973495968834,-0.05848502358176781,-0.08349285177681282,-0.10376627198565025,-0.12135423584552762,-0.13547233797862646,-0.14614507912564745,-0.15406905325471654},
{2.5931137012071352,3.975872064072553,3.634167559620976,2.8729373584318423,2.1072803435007694,1.464843451090432,0.9868665548620473,0.650964061298635,0.41846833704811953,0.2581969902416098,0.1503236647260583,0.07278193911172019,0.014947175770741662,-0.02835027245651829,-0.06096712197386822,-0.0856655889926227,-0.10574774396823308,-0.12315143779186015,-0.1370736941449015,-0.14756768517270707,-0.1553404507663142},
{2.6029431548198323,3.9744829943201503,3.623575870252233,2.8589334646184796,2.092838837292584,1.4518043460397256,0.9759304274666948,0.6420703782743222,0.41129747062137917,0.25242362860760376,0.14562137403464553,0.06884989855708418,0.011619907906807251,-0.03119450543691564,-0.06342289122909159,-0.08781616524313272,-0.10771027793503818,-0.12492973530100064,-0.13865702804803734,-0.14897381564602435,-0.15659700010992644},
{2.612733977908586,3.973010494346035,3.6129540445640322,2.8449516661799596,2.0784518770253224,1.4388393968580389,0.9650721161899386,0.6332493124740624,0.4041906690723388,0.24670613651211798,0.14096542154899677,0.06495737904627129,0.00832680481106397,-0.03400900651205171,-0.06585262819523267,-0.08994493105902847,-0.10965404171887681,-0.12668928869396456,-0.1402225267028885,-0.15036366094632084,-0.15783888048599312},
{2.62248588256197,3.971455129235709,3.6023028254612743,2.8309923466361187,2.0641195834524786,1.4259483947727083,0.9542911800889742,0.6245003200477072,0.39714737168891917,0.24104397257233007,0.1363553218722644,0.06110395958785359,0.00506749455906238,-0.03679410568502648,-0.06825662601727137,-0.09205223219952177,-0.11157919839010791,-0.12843025771002792,-0.14177037586887564,-0.15173740948291625,-0.15906626884477418},
{2.6321985846539584,3.96981746435937,3.5916229490148144,2.8170558815996998,2.0498420717326016,1.4131311276011609,0.9435871783795755,0.6158228599607427,0.3901670221210049,0.2354365995997595,0.13179059501628723,0.05728922403519844,0.0018416096300257982,-0.03955012894033006,-0.07063517418748881,-0.09413840900952822,-0.11348590658873316,-0.13015280152415032,-0.14330076003483097,-0.15309524767802468,-0.16027933990857518},
{2.6418718038351328,3.968098065311187,3.5809151444880833,2.803142638920737,2.0356194514989503,1.4003873798410529,0.9329596704951607,0.6072163940123043,0.38324906836451617,0.2298834846008937,0.12727076634302797,0.053512761028311595,-0.0013512131483791653,-0.042277398296306216,-0.0729885585948727,-0.09620379582539297,-0.11537432084283322,-0.13185707876008848,-0.14481386240416838,-0.1544373599717943,-0.16147826619413364},
{2.6515052635235867,3.9662974978495305,3.5701801343642163,2.7892529788295617,2.02145182692865,1.3877169327591157,0.9224082161443871,0.5986803868521697,0.3763929627449981,0.22438409877808416,0.12279536650644932,0.049774163936349314,-0.004511332654575633,-0.044976231856912706,-0.07531706157381986,-0.0982487204349705,-0.11724459187291422,-0.13354324749969113,-0.1463098648804338,-0.15576392882807655,-0.16266321803516243},
{2.661098690895477,3.9644163278381903,3.55941863437369,2.7753872540783684,2.0073392968113386,1.3751195644787115,0.9119323753672862,0.5902143059967461,0.3695981619007387,0.2189379175305814,0.11836393139483056,0.046073030800789255,-0.007639103526920207,-0.047646943862782225,-0.07762096195214667,-0.10027350359613929,-0.11909686688188625,-0.13521146528879752,-0.1477889480532733,-0.15707513474089033,-0.16383436360501102},
{2.6706518168752824,3.962455121188538,3.5486313535224463,2.7615458100812114,1.9932819546173088,1.3625950500661181,0.9015317085899737,0.5818176218440886,0.36286412676543944,0.213544420455584,0.1139760020735332,0.04240896427925592,-0.010734876216864309,-0.05028984474159651,-0.07990053509843151,-0.10227845861628136,-0.12093128983051502,-0.13686188914013248,-0.14925129118486463,-0.158371156241563,-0.16499186893943424},
{2.680164376125733,3.9604144438026334,3.5378189941204705,2.747728985052379,1.9792798885651788,1.3501431616155368,0.8912057766779621,0.5734898076879603,0.35619032255045363,0.20820309134918308,0.1096311247282208,0.03878157158999667,-0.013798997041443165,-0.05290524115778229,-0.08215605296885463,-0.10426389099389288,-0.12274800169832051,-0.13849467553355513,-0.15069707219685216,-0.1596521699065183,-0.16613589795944572},
{2.6896361070374475,3.9582948615172864,3.526982251810836,2.7339371101430423,1.9653331816890591,1.3377636683328564,0.8809541409880949,0.5652303397309687,0.349576218726613,0.20291341820710349,0.1053288506085382,0.03519046445700258,-0.01683180823509665,-0.05549343606153593,-0.08438778415442295,-0.10623009812228457,-0.12454714072997966,-0.1401099804139652,-0.1521264676578165,-0.16091835036568858,-0.16726661249423833},
{2.6990667517182674,3.956096940049043,3.5161218155991705,2.7201705095761213,1.951441911905263,1.325456336618168,0.8707763634191359,0.557038697096795,0.343021289005657,0.1976748932251394,0.10106873597225294,0.031635259055768715,-0.019833648000832663,-0.05805472873718792,-0.08659599393156768,-0.10817736905433034,-0.1263288426673872,-0.14170795918715925,-0.153539652771313,-0.16216987031152377,-0.16838417230415165},
{2.7084560559823,3.95382124494009,3.5052383678835524,2.706429500779298,1.9376061520785368,1.3132209301470483,0.8606720064610353,0.5489143618415414,0.33652501132128254,0.1924870127992031,0.0968503420298646,0.0281155759596887,-0.02280485056073922,-0.060589414850914694,-0.08878094432298489,-0.11010598432638137,-0.12809324096760066,-0.14328876671387702,-0.1549368013645021,-0.16340690050856882,-0.16948873510366957},
{2.7178037693386807,3.9514683415050866,3.494332584484805,2.6927143945161145,1.9238259700878246,1.3010572099506237,0.8506406332428943,0.540856818964219,0.33008686780983354,0.18734927752490552,0.09267323488968124,0.024631040087079566,-0.025745746205850677,-0.06309778649780393,-0.09094289418038964,-0.11201621583877545,-0.129840467006959,-0.14485255730227034,-0.15631808587740179,-0.1646296098035846,-0.17058045658443105},
{2.7271096449800396,3.949038794778886,3.483405134677174,2.679025495015089,1.9101014288915803,1.2889649344944234,0.8406818075796633,0.5328655564163941,0.32370634479064186,0.18226119219659973,0.08853698550337101,0.021181280648827155,-0.028656661345381994,-0.06558013224829048,-0.09308209930468046,-0.11390832678985979,-0.13157065027172346,-0.1463994846989992,-0.15768367735278588,-0.16583816513619262,-0.17165949043824608},
{2.736373439770719,3.9465331694651637,3.4724566812193878,2.665363100096837,1.896432586592616,1.2769438597560392,0.8307950940175836,0.5249400651110218,0.31738293274603646,0.17722226580582565,0.0844411696119843,0.017765931096652997,-0.031537918555329655,-0.06803673719395709,-0.09519881261995958,-0.11578257166002101,-0.13328391853561805,-0.14792970207911643,-0.15903374542672605,-0.16703273155000087,-0.17272598838008257},
{2.745594914234696,3.9439520298859336,3.461487880386066,2.6517275012991015,1.8828194965025062,1.2649937393015986,0.8209800578784086,0.5170798389304793,0.3111161263010394,0.17223201153910003,0.08038536769245401,0.014384629071990982,-0.03438983662645418,-0.07046788299272275,-0.0972932844151354,-0.11763919624196886,-0.13498039802469802,-0.14944336203492897,-0.16036845831982233,-0.16821347220420743,-0.17378010017103554},
{2.7547738325432647,3.9412959399319325,3.450499381999478,2.638118983999706,1.8692622072055372,1.253114324361067,0.8112362653024199,0.5092843747338256,0.30490542420275785,0.16728994677500544,0.07636916490457134,0.011037016355472943,-0.03721273061164788,-0.07287384791341772,-0.09936576266075509,-0.11947843771332171,-0.1366602135699786,-0.15094061656395977,-0.16168798282910626,-0.16938054838563743,-0.17482197364124352},
{2.763909962502445,3.9385654630138878,3.4394918294616272,2.6245378275373623,1.855760762622212,1.241305363902394,0.8015632832902658,0.501553172363305,0.29875032929949197,0.16239559308053772,0.07239215103843902,0.0077227388170148705,-0.040006911872694104,-0.07525490687975497,-0.10141649340064099,-0.12130052474746679,-0.1383234887482719,-0.15242161705615268,-0.16299248432063887,-0.1705341195211983,-0.17585175471275138},
{2.7730030755401605,3.9357611620146513,3.4284658597866633,2.6109843053303203,1.842315202072327,1.2295666047045117,0.7919606797436483,0.4938857346501151,0.29265034851956834,0.15754847620667406,0.06845392046240448,0.004441446366498647,-0.042772688126430224,-0.07761133151371108,-0.1034457212094192,-0.12310567765866189,-0.13997034601168287,-0.1538865142804447,-0.16428212672280879,-0.17167434319072813,-0.17686958742230435},
{2.782052946693145,3.9328835992421545,3.4174221036335735,2.59745868499283,1.8289255603375825,1.217897791429194,0.7824280235048638,0.4862815674194558,0.28660499284991514,0.15274812608313668,0.06455407207146888,0.0011927929050445148,-0.04551036349031524,-0.07994339017831498,-0.10545368969952448,-0.12489410857738571,-0.14160090680619913,-0.15533545837080787,-0.16555707252032245,-0.17280137514020982,-0.1778756139440591},
{2.7910593545936373,3.9299333363832516,3.4063611853391884,2.5839612284494047,1.8155918677237826,1.2062986666918036,0.772964884395248,0.47874017949488396,0.2806137773143927,0.1479940768123259,0.06069220923617784,-0.002023563723133283,-0.04822023852741468,-0.08225134801986367,-0.10744064205578699,-0.1266660216520638,-0.14321529167982158,-0.1567685988118768,-0.16681748274890343,-0.1739153692953301,-0.178869974612207},
{2.800022081455819,3.926910934458361,3.3952837229514476,2.5704921920468604,1.8023141501225823,1.1947689711309208,0.7635708332525157,0.4712610827019861,0.2746762209518874,0.1432858666624049,0.05686793975198866,-0.0052079617782897075,-0.05090261029080523,-0.08453546700956271,-0.10940682157265712,-0.1284216132734266,-0.1448136203806657,-0.15818608442424706,-0.16806351699068017,-0.17501647777536045,-0.17985280794349207},
{2.8089409130620435,3.923816953776962,3.38419032826294,2.557051826664135,1.7890924290728076,1.1833084434768815,0.7542454419670407,0.4638437918713913,0.2687918467941919,0.13862303805952386,0.05308087578911639,-0.008360735672141552,-0.0535577723674095,-0.08679600598460459,-0.11135247216854544,-0.13016107231794427,-0.14639601194548701,-0.15958806334953665,-0.16929533337027214,-0.17610485090733632,-0.18082425065961957},
{2.8178156387488134,3.9206519538938776,3.373081606844678,2.5436403778198593,1.7759267218213388,1.171916820619222,0.7449882835170853,0.45648782484113953,0.26296018184367065,0.13400513757917132,0.04933063384285907,-0.011482216014291193,-0.05618601492126775,-0.08903322068869271,-0.11327783885332009,-0.13188458040697565,-0.14796258477908586,-0.16097468303529544,-0.17051308855156252,-0.17718063724051478,-0.18178443770954547},
{2.8266460513925886,3.9174164935664155,3.3619581580801454,2.530258085777717,1.7628170413835729,1.1605938376730616,0.7357989320030001,0.4491927024584268,0.2571807570507344,0.12943171593665184,0.04561683468439745,-0.014572729658089908,-0.05878762473624953,-0.0912473638120148,-0.11518316812821827,-0.13359231217848494,-0.14951345672506638,-0.16234609021982344,-0.17171693773514704,-0.17824398356108873,-0.18273350229163499},
{2.8354319473953247,3.914111130712246,3.350820575199528,2.516905185649534,1.7497633966034376,1.1493392280444048,0.7266769626804167,0.44195794858073856,0.2514531072911272,0.12490232797668217,0.04193910331207303,-0.017632599745944368,-0.06136288525821941,-0.09343868503067776,-0.11706870830173224,-0.13528443556840808,-0.15104874512843786,-0.16370243091697328,-0.17290703465645405,-0.17929503490713813,-0.1836715758756867},
{2.844173126669844,3.9107364223681285,3.339669445314199,2.5035819074961716,1.7367657922129953,1.138152723494408,0.7176219519924553,0.43478309007639104,0.24577677134304118,0.12041653266211538,0.03829706890314094,-0.020662145754073546,-0.06391207663665464,-0.09560743104560675,-0.11893470970989824,-0.13696111209897702,-0.15256856689056314,-0.165043850400986,-0.17408353158452208,-0.18033393458379654,-0.18459878822481146},
{2.8528693926249984,3.907292924649396,3.328505349451388,2.490288476426173,1.7238242288916015,1.1270340542025952,0.7086334776009585,0.427667656824501,0.2401512918640701,0.11597389306179268,0.03469036476599651,-0.023661683536720778,-0.06643547576572895,-0.09775384562091856,-0.1207814248343786,-0.13862249717154435,-0.1540730385169713,-0.16637049319141214,-0.17524657932142013,-0.18136082417861585,-0.18551526741715935},
{2.8615205521506093,3.903781192710207,3.317328862589046,2.477025112692203,1.7109387033246464,1.1159829488290438,0.699711118416783,0.4206111817143902,0.23457621536800943,0.11157397633753102,0.03111862829287543,-0.02663152536982795,-0.06893335632486769,-0.09987816962177706,-0.12260910831643307,-0.14026874036168469,-0.15556227615854776,-0.16768250303816976,-0.17639632720230508,-0.18237584357711276,-0.1864211398674934},
{2.8701264156022623,3.900201780704593,3.3061405536909017,2.4637920317853,1.6981092082618603,1.1049991345755537,0.690854454629155,0.4136132006444506,0.2290510922015163,0.10721635373026105,0.027581500913025234,-0.02957197999417581,-0.07140598881877393,-0.10198064105173332,-0.12441801686906387,-0.1418999857145549,-0.1570363956466226,-0.16898002290676278,-0.17753292309608934,-0.18337913097847353,-0.1873165303485937},
{2.8786867967858685,3.896555241748232,3.294940985741687,2.4505894445269285,1.6853357325752,1.094082337245801,0.6820630677341162,0.4066732525204791,0.22357547652063822,0.10290060054532373,0.02407862804634667,-0.03248335265799892,-0.0738536406169455,-0.10406149508956417,-0.12620840909316294,-0.14351637203873632,-0.15849551252246447,-0.17026319496371575,-0.17865651340671754,-0.18437082291140694,-0.1882015620124999},
{2.8872015129420734,3.892842127880991,3.283730715782515,2.437417557158876,1.6726182613162965,1.0832322813044903,0.6733365405620763,0.3997908792534983,0.21814892626721927,0.09862629613694174,0.020609659057504368,-0.03536594515907597,-0.07627657599267536,-0.10612096412560937,-0.12798054520626356,-0.1451180331969632,-0.15993974206167083,-0.17153216056223744,-0.17976724307502262,-0.18535105425012427,-0.18907635641157386},
{2.8956703847304763,3.889062990030208,3.2725102949464193,2.4242765714310073,1.65995677577348,1.0724486899355201,0.6646744573044877,0.3929656257570804,0.21277100314519617,0.09439302389188561,0.017174247210503285,-0.0382200558863071,-0.07867505616155071,-0.108159277797618,-0.12973468669456772,-0.14670509839235385,-0.1613691992939294,-0.1727870602281519,-0.1808652555811526,-0.18631995823043088,-0.18994103351938604},
{2.9040932362136824,3.885218377974696,3.2612802684940365,2.4111666846868895,1.6473512535283816,1.061731285099158,0.6560764035396647,0.3861970399441848,0.20744127259678882,0.09020037121234706,0.013772049623732343,-0.04104597986077964,-0.08104933931945496,-0.11017666302610989,-0.13147109590024664,-0.14827769244894157,-0.16278399901860252,-0.1740280336461256,-0.18195069294754865,-0.18727766646591837,-0.1907957117514188},
{2.912469894841189,3.8813088403094924,3.2500411758494185,2.3980880899473376,1.6348016685120956,1.0510797875882498,0.64754196625776,0.3794846727235292,0.20215930377860006,0.08604792949804593,0.010402727225468074,-0.04384400877633047,-0.08339968068007825,-0.11217334404925929,-0.13319003555673553,-0.14983593608546675,-0.16418425581655816,-0.1752552196462085,-0.18302369574245717,-0.18822430896423903,-0.19164050798558452},
{2.920800191433102,3.877334924411301,3.238793550635961,2.3850409759918683,1.622307991060925,1.040493917083458,0.6390707338849164,0.3728280779955003,0.19692466953762772,0.0819352941275856,0.007065944709842821,-0.046614431039608294,-0.08572633251194275,-0.11414954245730659,-0.13489176828489105,-0.1513799461815626,-0.16557008405863466,-0.1764687561907172,-0.18408440308395596,-0.1891600141434495,-0.19247553758254984},
{2.9290839601636955,3.873297176404651,3.2275379207124537,2.372025527438129,1.6098701879716892,1.029973392207547,0.6306622963066117,0.3662268126476243,0.1917369463872003,0.07786206443908435,0.0037613704932711566,-0.04935753180964303,-0.08802954417494889,-0.11610547722650245,-0.1365765560626019,-0.1529098360356054,-0.16694159791110902,-0.17766878036147726,-0.18513295264447255,-0.1900849088484099,-0.19330091440586844},
{2.937321038544835,3.869196141128775,3.21627480820924,2.359041924819315,1.5974882225566094,1.0195179305787248,0.6223162448902143,0.3596804365496101,0.18659571448284662,0.07382784371010409,0.0004886766713323651,-0.05207359303692742,-0.09030956215644838,-0.11804136475259572,-0.13824465967979607,-0.15442571561363838,-0.1682989113385036,-0.17885542834745016,-0.1861694806557864,-0.19099911836722872,-0.194116750841917},
{2.94551126740922,3.865032362105139,3.2050047295644517,2.346090344659587,1.585162054697756,1.0091272488630345,0.6140321725067591,0.35318851254797007,0.1815005575980999,0.06983223913689618,-0.0027524610238902937,-0.0547628935020162,-0.09256663010685368,-0.11995741888386725,-0.13989633818987773,-0.15592769178891108,-0.16964213810402756,-0.18002883543276071,-0.18719412191448392,-0.1919027664477357,-0.19492315781962954},
{2.9536544908935176,3.8608063815057028,3.1937281955603636,2.3331709595475734,1.5728916409010794,0.9988010628258354,0.6058096735519699,0.34675060646024547,0.17645106310025535,0.06587486181299892,-0.005962363266018142,-0.057425708853649386,-0.09480098887478318,-0.121853850953717,-0.14153184836753707,-0.15741586857166706,-0.17097139176794066,-0.1811891359851434,-0.1882070097878568,-0.1927959753139798,-0.19572024483003514},
{2.961750556421323,3.856518740121807,3.1824457113597897,2.3202839382079197,1.5606769343499935,0.9885390873823409,0.5976483439665328,0.34036628706883393,0.17144682192608654,0.06195532670719948,-0.009141347176136015,-0.06006231164640364,-0.09701287654175386,-0.12373086981281171,-0.1431514441816721,-0.15889034732893792,-0.1722867856840763,-0.18233646344482635,-0.1892082762202183,-0.19367886568273143,-0.1965081199455883},
{2.9697993146860138,3.852169977333772,3.171157776542582,2.3074294455709894,1.5485178849585457,0.978341036647261,0.5895477812556462,0.3340351261144415,0.16648742855756068,0.05807325264089545,-0.012289726364102246,-0.06267297137787654,-0.09920252845642429,-0.12558868186079694,-0.144755376290905,-0.16035122699417237,-0.17358843299475277,-0.18347095031386254,-0.19019805173962137,-0.19455155677998492,-0.1972868898392929},
{2.97780061963345,3.84776063108113,3.1598648851421762,2.2946076428406976,1.5364144394241412,0.9682066239835332,0.5815075845078497,0.3277566982891674,0.16157248099763963,0.05422826226487803,-0.0154078109694128,-0.06525795452541137,-0.10137017726839434,-0.12742749107758064,-0.1463438915679191,-0.16179860426662343,-0.17487644662427404,-0.18459272814592864,-0.19117646546495848,-0.19541416635744893,-0.19805665980362278},
{2.9857543284445662,3.8432912378335113,3.1485675256821906,2.281818687560543,1.5243665412798448,0.9581355620501574,0.5735273544131647,0.3215305812292328,0.15670158074634624,0.05041998203556107,-0.01849590770162323,-0.06781752458236641,-0.10351605296156877,-0.1292474990541954,-0.14791723265761741,-0.16323257380048245,-0.17615093927119638,-0.1857019275366006,-0.19214364511342824,-0.1962668107090145,-0.19881753376923106},
{2.9936603015178203,3.8387623325621867,3.1372661812130835,2.269062733677871,1.5123741309462455,0.9481275628491478,0.5656066932805395,0.31535635550736546,0.15187433277742737,0.04664804219068645,-0.021554319880329922,-0.07035194209393142,-0.10564038288708705,-0.13104890502324262,-0.14947563757293886,-0.16465322838381014,-0.17741202339952342,-0.18679867811411588,-0.193099717008345,-0.19710960468719682,-0.1995696143234524},
{3.0015184024515436,3.834174448712227,3.125961329348838,2.256339931606386,1.500437145782891,0.9381823377716041,0.5577452050546323,0.30923360462485316,0.14709034551609834,0.04291207672452722,-0.02458334747471324,-0.07286146469250333,-0.10774339179583074,-0.13283190588892757,-0.15101933933109982,-0.1660606591073737,-0.17865981122897018,-0.18788310853063628,-0.1940448060872796,-0.1979426617195333,-0.20031300272859515},
{3.0093284980261656,3.82952811817531,3.1146534423036925,2.243650428286987,1.4885555201392915,0.9282995976429143,0.5499424953319361,0.3031619150032733,0.14234923081853312,0.039211723362617315,-0.02758328714264617,-0.07534634713261501,-0.10982530187050502,-0.13459669625668635,-0.15254856563203842,-0.1674549555235431,-0.17989441472442325,-0.18895534645401335,-0.19497903591050528,-0.19876609382493765,-0.20104779894001987},
{3.0170904581863276,3.824823871263133,3.103342986928884,2.230994367246917,1.4767291854054836,0.9184790527670991,0.5421981713762547,0.29714087597591377,0.13765060395387946,0.03554662353603415,-0.030554432269369894,-0.07780684132543396,-0.11188633275730875,-0.13634346846241419,-0.15406353857997707,-0.16883620579544067,-0.1811159455847134,-0.19001551856006293,-0.19590252866974026,-0.19958001162999733,-0.20177410162400936},
{3.0248041560229,3.820062236681453,3.092030424749424,2.2183718886573147,1.464958070062168,0.9087204129703043,0.5345118421335626,0.2911700797788911,0.1329940835896346,0.03191642235525564,-0.03349707300574049,-0.08024319637282895,-0.11392670159719605,-0.13807241260130199,-0.15556447444824323,-0.17020449683657976,-0.1823245152308029,-0.1910637505253646,-0.1968154051971663,-0.20038452438521182,-0.20249200817542853},
{3.0324694677548782,3.8152437415047005,3.0807162120008638,2.20578312938916,1.4532420997304039,0.8990233876434438,0.5268831182462347,0.2852491215419784,0.128379291781198,0.028320768583622855,-0.03641149630604897,-0.08265565860100949,-0.11594662305672743,-0.13978371655627897,-0.1570515834868309,-0.17155991444123683,-0.18352023479347418,-0.19210016702056754,-0.19771778497470144,-0.2011797399811579,-0.20320161473516785},
{3.0400862727112097,3.8103689111512367,3.069400799666103,2.1932282230676936,1.441581197220882,0.8893876857840267,0.5193116120666839,0.279377599279155,0.12380585396629179,0.024759314610427838,-0.03929798596541799,-0.08504447159374845,-0.11794630935853073,-0.14147756602607858,-0.15852506977163627,-0.17290254340585565,-0.18470321510061125,-0.19312489170423153,-0.19860978614352404,-0.2019657649645845,-0.2039030162073818},
{3.0476544533124823,3.805438269359159,3.0580846335121525,2.1807073001253117,1.4299752825827503,0.8798130160371389,0.5117969376704026,0.2735551138788809,0.11927339896475561,0.02123171642365415,-0.042156822656777324,-0.08740987622518605,-0.11992597031135893,-0.14315414455293693,-0.15998513109382936,-0.17423246764176048,-0.1858735666641357,-0.19413804721717615,-0.19949152551381508,-0.20274270455442145,-0.2045963062765106},
{3.0551738950525764,3.800452338162716,3.0467681541269296,2.1682204878530094,1.4184242731520118,0.8702990867356307,0.5043387108684286,0.26778126909411654,0.1147815589839731,0.01773763358239591,-0.04498828396742222,-0.08975211069222573,-0.12188581333976513,-0.14481363355006324,-0.16143195888747383,-0.17554977027949914,-0.18703139966667914,-0.19513975517735713,-0.20036311857471872,-0.20351066265770376,-0.205281577424094},
{3.0626444864801754,3.7954116378692766,3.035451796956008,2.1557679104503755,1.406928083599488,0.8608456059394826,0.49693654921924657,0.2620556715320832,0.11032996962990463,0.014276729188973207,-0.047792644435156934,-0.09207141054652482,-0.12382604351339316,-0.1464562123295073,-0.16286573819320715,-0.17685453376511936,-0.18817682394804058,-0.1961301361752585,-0.20122467950449718,-0.2042697418854022,-0.20595892094537546},
{3.070066119180232,3.7903166870368823,3.0241359923393736,2.1433496890742165,1.3954866259783403,0.8514522814743861,0.4895900720401355,0.25637793064378744,0.10591826992342115,0.010848669860774627,-0.05057017558402639,-0.09436800872608378,-0.1257468635758856,-0.14808205813235922,-0.1642866476555927,-0.17814683994867722,-0.18930994899149317,-0.19710930976979588,-0.20207632118086855,-0.2050200435681566,-0.20662842696569372},
{3.0774386877553437,3.78516800245236,3.0128211655481514,2.130965941885813,1.3840998097711692,0.8421188209695372,0.48229890041797385,0.2507476587133073,0.10154610232135534,0.007453125701842596,-0.05332114595964238,-0.09664213558644438,-0.127648473973425,-0.1496913461655792,-0.1656948595516099,-0.1794267701652893,-0.19043088390998927,-0.19807739448473202,-0.2029181551915158,-0.20576166777190788,-0.2072901844566701},
{3.0847620898070334,3.7799660991099677,3.0015077368212775,2.1186167840968646,1.3727675419366645,0.832844931894646,0.4750626572195177,0.2451644708468546,0.09721311274145406,0.004089770274228174,-0.056045821164100194,-0.09889401893149277,-0.129531072882899,-0.15128424965266346,-0.1670905398476566,-0.18069440530901182,-0.19153973743230593,-0.19903450780559026,-0.20375029184474613,-0.2064947133134205,-0.20794428125218387},
{3.092036225916985,3.774711490190605,2.99019612140217,2.106302328014156,1.3614897269558253,0.8236303215961908,0.46788096710115684,0.2396279849616217,0.09291895059022376,0.0007582805691341704,-0.0587444638904973,-0.10112388404388224,-0.13139485623970537,-0.15286093990785515,-0.1684738482824123,-0.18194982589984893,-0.19263661788918396,-0.19998076617706378,-0.20457284018029612,-0.20721927777569524,-0.20859080406414104},
{3.099260999628191,3.769404687041558,2.9788867295753376,2.09402268308299,1.3502662668777548,0.8144746973329057,0.4607534565181698,0.2341378217744183,0.08866326879251771,-0.0025416630221352515,-0.06141733395705064,-0.1033319537150745,-0.13324001776519745,-0.15442158644456114,-0.16984493847290494,-0.1831931121441859,-0.1937216331994937,-0.20091628500091466,-0.20538590798026546,-0.20793545752326859,-0.20922983849804042},
{3.1064363174260445,3.764046199156778,2.9675799667029494,2.081777955929407,1.3390970613650004,0.8053777663105284,0.45367975373347796,0.22869360479010942,0.08444572382164055,-0.005810376737395456,-0.06406468834082206,-0.10551844827500738,-0.13506674899377535,-0.15596635712750806,-0.17120395804117763,-0.18442434398894292,-0.1947948908564741,-0.20184117863434944,-0.2061896017801692,-0.20864334771739146,-0.20986146906833245},
{3.11356208871936,3.758636534157666,2.9562762332613484,2.069568250401243,1.3279820077384807,0.7963392357158048,0.4466594888259164,0.22329496028985954,0.08026597572871023,-0.009048173472960983,-0.06668678121104941,-0.1076835856213925,-0.13687523929962686,-0.1574954183750007,-0.1725510487590071,-0.1856436011697692,-0.1958564979140758,-0.2027555603888633,-0.20698402688009584,-0.20934304233109033,-0.21048577921357606},
{3.1206382258213337,3.753176197774397,2.9449759248775136,2.0573936676080633,1.3169210010219627,0.7873588127497706,0.4396922936980317,0.21794151731919334,0.07612368817004692,-0.012255362813160173,-0.06928386396208874,-0.10982758124864693,-0.13866567592312212,-0.1590089354130221,-0.1738863467082276,-0.18685096325358838,-0.1969065609734463,-0.20365954252954227,-0.20776928735595532,-0.21003463416409723,-0.211102851311391},
{3.1276646439304683,3.7476656938277526,2.9336794323654627,2.0452543059599857,1.3059139339861128,0.7784362046603172,0.43277780208341443,0.21263290767588028,0.07201852843142183,-0.015432251059973062,-0.07185618524597287,-0.1119506482764654,-0.1404382439968683,-0.16050707257773586,-0.17520998245433084,-0.18804650967583064,-0.1979451861695921,-0.20455323627481264,-0.20854548607081858,-0.2107182148576595,-0.21171276669321343},
{3.1346412611114083,3.742105524211426,2.9223871417625773,2.033150261205455,1.2949606971921095,0.7695711187740413,0.4259156495535795,0.20736876589764647,0.06795016744809762,-0.018579141262778983,-0.07440399100458775,-0.1140529974780389,-0.1421931265714297,-0.16198999365799902,-0.17652208123112084,-0.18923031977269084,-0.19897247915824479,-0.20543675179662968,-0.20931272468632472,-0.2113938749092126,-0.21231560565884863},
{3.141567998275769,3.7364961888748773,2.9110994343658776,2.0210816264679967,1.2840611790348304,0.7607632625274109,0.41910547352440375,0.2021487292497285,0.06391827981973194,-0.02169633324819285,-0.07692752450147017,-0.11613483730791939,-0.14393050464071366,-0.16345786226548298,-0.17782276313435025,-0.1904024728087427,-0.19998854510296146,-0.20631019822108626,-0.21007110367415446,-0.21206170368692787,-0.2129114474908287},
{3.148444779162874,3.730838185806623,2.899816686768204,2.0090484922819614,1.273215265785596,0.7520123434972316,0.4123469132621261,0.19697243771226722,0.05992254381935157,-0.024784123649981785,-0.07942702635323157,-0.11819637392954244,-0.14565055716703043,-0.1649108422172898,-0.17911214332240108,-0.1915630480002642,-0.20099348866248118,-0.20717368362943853,-0.21082072232755816,-0.2127217894441219,-0.21350037046857542},
{3.155271530320489,3.725132011018048,2.8885392708943334,1.997050946627332,1.262422841634495,0.7433180694304431,0.4056396098889315,0.1918395339675572,0.05596264139577489,-0.027842805939043695,-0.08190273456060881,-0.12023781124240301,-0.14735346110583045,-0.16634909791468494,-0.18039033222221262,-0.19271212453459946,-0.20198741397835632,-0.20802731505952698,-0.21156167877292534,-0.21337421933352838,-0.21408245188236344},
{3.162048181085493,3.719378158527671,2.877267554037002,1.9850890749635903,1.2516837887322636,0.7346801482732475,0.39898320638811247,0.18674966338715185,0.05203825816902026,-0.03087267045343379,-0.08435488453914862,-0.12225935090889849,-0.1490393914301199,-0.16777279470167905,-0.18165743573880916,-0.1938497815858971,-0.20297042466288212,-0.20887119850758604,-0.21229406998139375,-0.21401907942143614,-0.21465776804709724},
{3.1687746635645095,3.7135771203458954,2.8660018988928555,1.9731629602626952,1.2409979872317491,0.7260982881995781,0.39237734760883414,0.18170247401883463,0.04814908341839774,-0.03387400442842756,-0.08678370914952632,-0.12426119238083605,-0.15070852115456554,-0.16918209918846216,-0.18291355546691995,-0.1949760983275419,-0.2039426237873317,-0.20970543893042765,-0.21301799178048617,-0.21465645470168368,-0.2152263943158924},
{3.175450912614521,3.707729386460207,2.8547426635982895,1.9612726830412022,1.2303653153289291,0.7175721976389225,0.3858216802704976,0.1766976165734602,0.0442948100631456,-0.03684709202660188,-0.08918943872750493,-0.1262435329256118,-0.1523610213592864,-0.1705771795268198,-0.18415878890332452,-0.19609115394158583,-0.20490411387051433,-0.21053014024798583,-0.2137335388657649,-0.21528642910951684,-0.21578840509347258},
{3.182076865823431,3.701835444820841,2.843490201765214,1.9494183213915466,1.2197856493035149,0.7091015853035094,0.3793158529667208,0.17173474441167416,0.04047513463561187,-0.03979221436792163,-0.09157230111353647,-0.12820656765206723,-0.15399706121334225,-0.17195820562738107,-0.1853932296586963,-0.19719502762547195,-0.2058549968676624,-0.21134540534620821,-0.21444080481250244,-0.21590908553530233,-0.2163438738493756},
{3.188652463490617,3.6958957813268944,2.8322448625167103,1.9375999510125301,1.2092588635591204,0.7006861602148662,0.37285951616894153,0.1668135135305158,0.03668975724711874,-0.042709649559816876,-0.0939325216820081,-0.13015048953602137,-0.1556168079979139,-0.17332534931151697,-0.18661696766783573,-0.19828779859632067,-0.206795374159655,-0.21215133608028125,-0.21513988208735266,-0.21652450583809765,-0.21689287313097497},
{3.1951776486074412,3.6899108798128837,2.8210069905225854,1.9258176452390348,1.1987848306630038,0.6923256317297626,0.36645232222964913,0.16193358254991055,0.03293838154676416,-0.04559967272723191,-0.09627032337013967,-0.13207548944548836,-0.15722042712919115,-0.1746787843937412,-0.18783008939733106,-0.19936954609303725,-0.20772534654258598,-0.21294803327817352,-0.21583086206002258,-0.217132770859079,-0.2174354745763187},
{3.201652366837747,3.6838812220357315,2.8097769260348273,1.9140714750709904,1.1883634213853855,0.6840197095655405,0.3600939253852626,0.15709461269905672,0.0292207146735094,-0.04846255604264067,-0.09858592670653382,-0.13398175616558416,-0.1588080821809646,-0.17601868669331852,-0.18903267804978052,-0.20044034937647803,-0.2086450142176824,-0.21373559674449313,-0.2165138350149374,-0.21773396043482565,-0.21797174892678778},
{3.2080765664983315,3.677807287662203,2.7985550049229473,1.9023615092016348,1.1779945047383416,0.6757681038248549,0.3537839817586502,0.15229626780271516,0.025536467202003088,-0.05129856875600082,-0.10087954983938155,-0.13586947642312044,-0.16037993490692412,-0.1773452339763591,-0.19022481376383493,-0.20150028772788098,-0.2095544767815716,-0.21451412526463126,-0.2171888901628869,-0.2183281534104552,-0.21850176603957228},
{3.2144501985394025,3.671689554256745,2.7873415587092163,1.890687814045075,1.1676779480142716,0.6675705250198173,0.3475221493613102,0.14753821426740255,0.021885353082637993,-0.054107977224642556,-0.10315140856433047,-0.1377388349108984,-0.1619361452626763,-0.17865860583187657,-0.19140657380942114,-0.2025494404457766,-0.21045383321691039,-0.21528371660919332,-0.2178561156526554,-0.21891542765261937,-0.2190255948999732},
{3.2207732165250156,3.6655284972697557,2.7761369146037707,1.8790504537632036,1.1574136168239468,0.6594266840955662,0.34130808809521573,0.1428201210674985,0.01826708957641149,-0.05689104494307176,-0.10540171635201445,-0.13959001431169624,-0.16347687142747297,-0.1799589834870438,-0.1925780327775964,-0.20358788684153983,-0.21134318188336382,-0.21604446753869305,-0.21851559858262093,-0.21949586006234845,-0.21954330363352545},
{3.2270455766135027,3.659324590026266,2.7649413955396254,1.8674494902919603,1.147201375134132,0.6513362924532693,0.3351414597543312,0.1381416597312698,0.014681397185180061,-0.059648032572673704,-0.10763068437525146,-0.1414231953219627,-0.1650022698256641,-0.1812465495682372,-0.1937392627645897,-0.20461570623375916,-0.21222262050895718,-0.21679647380850364,-0.219167425012327,-0.22006952658775297,-0.22005495951794965},
{3.2332672375378904,3.6530783037150325,2.7537553202075475,1.855884983367006,1.1370410853047979,0.6432990619725623,0.3290219280258131,0.1335025043268147,0.011127999577931622,-0.06237919797130794,-0.10983852153591292,-0.14323855667521665,-0.166512495147877,-0.18252148781537572,-0.19489033354964827,-0.20563297794156768,-0.2130922461817825,-0.21753983017405407,-0.21981167997401577,-0.22063650223658057,-0.22056062899493312},
{3.2394381605863107,3.646790107378014,2.742579003090811,1.8443569905487909,1.1269326081259041,0.6353147050334418,0.3229491584908965,0.1289023314479374,0.007606623513709578,-0.06508479622277327,-0.11202543449146532,-0.14503627516515272,-0.16800770037191734,-0.1837839827576105,-0.19603131276640073,-0.2066397812770582,-0.21395215534207504,-0.2182746303962499,-0.22044844748411785,-0.22119686108862288,-0.22106037768173675},
{3.245558309582401,3.6404604679002635,2.731412754499828,1.8328655672470722,1.1168758028537715,0.6273829345376128,0.3169228186254765,0.12434082019995032,0.004116998761816048,-0.06776507966613966,-0.11419162768119284,-0.14681652566846778,-0.1694880367834117,-0.1850342193586447,-0.19716226606750656,-0.2076361955369147,-0.21480244377465746,-0.2190009672471206,-0.22107781055470133,-0.22175067630798226,-0.2215542703826421},
{3.251627650865706,3.634089850000192,2.720256880606648,1.8214107667448936,1.10687052724704,0.6195034639293093,0.3109425778003981,0.11981765218541757,0.0006588580199232245,-0.07042029792492607,-0.116337303352097,-0.14857948116739464,-0.17095365399617446,-0.18627238263988413,-0.19828325728242407,-0.2086222999933533,-0.21564320660175,-0.21971893251566366,-0.2216998512048629,-0.22229802015518654,-0.22204237110022368},
{3.257646153272082,3.6276787162202258,2.7091116834793305,1.809992640222044,1.0969166376022081,0.6116760072155907,0.30500810728145206,0.11533251148983721,-0.0027680631693076177,-0.07305069793611707,-0.11846266158448518,-0.15032531277196293,-0.17240469997232244,-0.18749865728934037,-0.19939434856819904,-0.20959817388447488,-0.21647453827615395,-0.22042861701388983,-0.22231465047207022,-0.2228389639991643,-0.22252474304646686},
{3.263613788114099,3.621227526917838,2.697977461116177,1.7986112367780245,1.0870139887887666,0.6039002789861238,0.29911908022909317,0.11088508466726855,-0.006164026502517836,-0.07565652397901004,-0.12056790031724435,-0.15205418974198218,-0.17384132104212757,-0.1887132272637202,-0.20049560055320317,-0.21056389640411308,-0.21729653257480214,-0.22113011058305096,-0.22292228842344364,-0.2233735783290723,-0.2230014486537168},
{3.2695305291614423,3.6147367402569484,2.6868545074798282,1.7872666034545392,1.0771624342839146,0.5961759944324604,0.2932751716978791,0.10647506072591223,-0.009529291000303296,-0.07823801770387682,-0.12265321537280824,-0.15376627950875033,-0.17526366192361598,-0.1899162753905446,-0.20158707247381888,-0.21151954669124876,-0.2181092825926835,-0.2218235021000382,-0.2235228441669776,-0.22390193276597958,-0.2234725495854737},
{3.2753963526213274,3.6082068121996866,2.675743112531231,1.7759587852575354,1.0673618262068738,0.5885028693668207,0.2874760586356453,0.10210213111364116,-0.012864113091712676,-0.08079541816043748,-0.12471880048182066,-0.15546174769649523,-0.1766718657419195,-0.19110798297644233,-0.20266882230409586,-0.212465203819064,-0.2189128807371374,-0.22250887948394535,-0.22411639586269472,-0.22442409607440897,-0.22393810674702846},
{3.2812112371189266,3.6016381964985347,2.6646435622634517,1.76468782517881,1.057612015352795,0.5808806202403886,0.28172141988241645,0.09776598970349341,-0.016168746698110102,-0.08332896182613038,-0.1267648473074927,-0.15714075814354686,-0.17806607404837246,-0.19228852942701502,-0.20374090687843208,-0.21340094678369315,-0.21970741872251448,-0.22318632970277932,-0.22470302073373113,-0.2249401361737321,-0.22439818029594216},
{3.2869751636777926,3.5950313446887905,2.6535561387353543,1.7534537642172012,1.0479128512262526,0.5733089641611295,0.2760109361690637,0.09346633277912689,-0.019443443315968777,-0.08583888263417636,-0.12879154546966648,-0.15880347292324834,-0.17944642683937043,-0.19345809188291602,-0.20480338200738785,-0.21432685449272307,-0.22049298756521066,-0.22385593878031437,-0.2252827950773525,-0.22545012014942536,-0.22485282965237255},
{3.2926881157003174,3.5883867060814203,2.6424811201051397,1.7422566413993839,1.0382641820743508,0.5657876189111377,0.27034429011571576,0.08920285902023709,-0.02268845209819807,-0.08832541200143128,-0.13079908256858505,-0.16045005236460988,-0.1808130625749889,-0.19461684487601835,-0.20585630258674012,-0.21524300575350486,-0.22126967757906651,-0.2245177918030805,-0.22585579427589592,-0.22595411426418383,-0.22530211350925314},
{3.298350078948171,3.5817047277562137,2.6314187806637137,1.731096493800281,1.0286658549194085,0.5583163029635203,0.2647211662299255,0.08497526948795117,-0.025904019933642365,-0.09078877885601261,-0.13278764420836417,-0.16208065507269806,-0.1821661181973561,-0.1957649600087943,-0.20689972269991683,-0.21614947926129752,-0.2220375783711293,-0.2251719729274668,-0.2264220928076308,-0.22645218396889152,-0.22574608984231506},
{3.303961041522798,3.5749858545553113,2.620369390867936,1.7199733565631228,1.0191177155912656,0.5508947354988326,0.2591412509046027,0.08078326761018936,-0.02909039152444653,-0.09322920966470535,-0.13475741402018532,-0.16369543794878325,-0.18350572914880103,-0.1969026056593578,-0.2079336957139867,-0.2170463535873126,-0.2227967788377813,-0.22581856538694667,-0.22698176425754674,-0.22694439391345736,-0.22618481591997291},
{3.309520993845907,3.5682305290770535,2.609333217373698,1.7088872629191578,1.0096196087591816,0.5435226364210625,0.25360423241571917,0.07662655916701008,-0.03224780946100697,-0.09564692846013345,-0.13670857368519682,-0.16529455621022635,-0.18483202938976304,-0.1980299467139341,-0.20895827436936287,-0.2179337071666709,-0.22354736716122003,-0.2264576514994001,-0.22753488132805444,-0.2274308079575047,-0.22661834831305228},
{3.3150299286399765,3.5614391916701384,2.598310523068831,1.6978382442070257,1.0001713779633343,0.5361997263731835,0.24810980091978696,0.07250485227593279,-0.03537651429427718,-0.09804215686769663,-0.13864130295713717,-0.16687816341012432,-0.1861451514164747,-0.19914714432795094,-0.20997351086342345,-0.21881161828632242,-0.2242894308062996,-0.22708931267453306,-0.22808151584960537,-0.22791148918092954,-0.2270467429043861},
{3.3204878409088154,3.5546122804281404,2.5873015671058863,1.6868263298918278,0.9907728656459424,0.5289257267522739,0.24265764845112434,0.0684178573772446,-0.03847674460523499,-0.1004151141322705,-0.14055577968468003,-0.16844641145671033,-0.18744522627842236,-0.20025435571639874,-0.21097945692824321,-0.2196801650729523,-0.225023056517717,-0.22771362942138812,-0.2286217387912273,-0.22838649989431672,-0.22747005489826028},
{3.325894727918111,3.5477502311843145,2.5763066049347074,1.6758515475838973,0.9814239131819803,0.5217003597242187,0.23724746891890688,0.06436528721929835,-0.04154873707134473,-0.10276601714466295,-0.14245217983350347,-0.1699994506325129,-0.18873238359557837,-0.20135173397362707,-0.2119761639026428,-0.2205394254809034,-0.2257483303175475,-0.22833068135592932,-0.2291556202709692,-0.22885590164922467,-0.2278883388297292},
{3.331250589176019,3.5408534775067197,2.5653258883348333,1.6649139230572678,0.9721243609095123,0.5145233482379916,0.23187895810401263,0.06034685684379777,-0.04459272652989811,-0.10509508046782799,-0.14433067750808937,-0.1715374296132779,-0.1900067515754209,-0.2024394279223481,-0.21296368279876685,-0.22138947728013977,-0.22646533750311737,-0.22894054720870194,-0.2296832295662627,-0.2293197552483307,-0.2283016485737836},
{3.3365554264138044,3.533922450693679,2.554359665447717,1.6540134802678992,0.9628740481596467,0.5073944160395406,0.2265518136556723,0.05636228357107998,-0.04760894603813081,-0.10740251636283221,-0.14619144497325345,-0.17306049548665384,-0.1912684570297296,-0.20351758199124462,-0.21394206436339022,-0.22223039804427702,-0.2271741626452091,-0.22954330483255633,-0.230204635124186,-0.2297781207554457,-0.2287100373543919},
{3.3418092435664586,3.5269575797694896,2.54340818080869,1.6431502413716117,0.9536728132860913,0.5003132876852652,0.2212657350879177,0.05241128698539416,-0.05059762693005763,-0.10968853481457277,-0.1480346526754089,-0.17456879377064521,-0.1925176253911729,-0.20458633612030275,-0.2149113591341646,-0.22306226513869892,-0.22787488958659852,-0.23013903121042523,-0.2307199045716419,-0.23023105750539377,-0.229113557753402},
{3.347012046753409,3.5199592914804905,2.532471675378727,1.6323242267417983,0.9445204936943407,0.4932796885551077,0.21602042377584746,0.04849358892017862,-0.053558998869990285,-0.11195334355725044,-0.14986046926357183,-0.1760624684318411,-0.19375438072968437,-0.2056458256927382,-0.21587161749099762,-0.22388515570879072,-0.22856760144090857,-0.23072780246315908,-0.23122910472544222,-0.23067862411376294,-0.2295122617193159},
{3.352163844259217,3.512928010291382,2.521550386575915,1.6215354549868908,0.9354169258704771,0.4862933448652594,0.21081558295170658,0.04460891344334522,-0.05649328990271952,-0.11419714809958781,-0.15166906161010404,-0.1775416619034107,-0.19497884576862543,-0.20669618149218733,-0.21682288970275734,-0.224699146668289,-0.2292523805917793,-0.23130969385739777,-0.23173230160229522,-0.23112087848652343,-0.22990620057593109},
{3.357264646514344,3.505864158381869,2.5106445483066304,1.6107839429676063,0.9263619454095994,0.47935398368049015,0.20565091770078525,0.040756986842565006,-0.0594007265003834,-0.1164201517498033,-0.15346059483120406,-0.1790065151028828,-0.19619114190075257,-0.20773752968370204,-0.21776522596949804,-0.22550431468778975,-0.22992930869234554,-0.23188477981348532,-0.23222956042870152,-0.23155787782951812,-0.2302954250308556},
{3.3623144660759223,3.4987681556435652,2.4997543909963698,1.6000697058139786,0.9173553870438735,0.472461332926105,0.2005261349571493,0.036937537610565764,-0.06228153360604185,-0.11862255564032954,-0.15523523230714148,-0.18045716744969795,-0.1973913892039692,-0.20876999181695716,-0.2186986764603881,-0.2263007361834087,-0.2305984666650076,-0.23245313391341313,-0.23272094565075263,-0.2319896786578239,-0.23067998518389696},
{3.367313317608593,3.4916404196772075,2.4888801416202044,1.5893927569421897,0.9083970846702117,0.4656151213995438,0.1954409434991959,0.033150296430439465,-0.06513593467401671,-0.12080455875228512,-0.15699313570224543,-0.18189375688254883,-0.19857970645689008,-0.2097936848500314,-0.2196232913475437,-0.22708848730562692,-0.2312599347015017,-0.2330148289087907,-0.23320652094383254,-0.23241633680498722,-0.23105993053532786},
{3.372261217865369,3.484481365790139,2.478022023732803,1.578753108071209,0.8994868713775862,0.4588150787816172,0.19039505394505207,0.029394996160963135,-0.06796415170705748,-0.12296635793969869,-0.15873446498464502,-0.18331641987650235,-0.19975621115420067,-0.21080872119206176,-0.22053912083595634,-0.2278676439283259,-0.23191379226324665,-0.23356993672883772,-0.2336863492222245,-0.2328379074321359,-0.2314353099940266},
{3.3771581856685486,3.4772914069940746,2.4671802574979793,1.5681507692392522,0.890624579473971,0.4520609356474008,0.18538817874781163,0.025671371821937832,-0.07076640529041266,-0.12510814795347847,-0.16045937844576635,-0.1847252914599098,-0.20092101952182562,-0.2118152087630665,-0.22144621518971913,-0.22863828163802752,-0.2325601180819671,-0.23411852848838902,-0.2341604926486178,-0.23325444503696227,-0.23180617188550065},
{3.3820042418906584,3.470070954003149,2.456355059717709,1.5575857488200577,0.8818100405129214,0.44535242347677684,0.1804200321906138,0.02197916057954281,-0.0735429146229025,-0.12723012146514162,-0.16216803271959118,-0.18612050523111082,-0.20207424653194156,-0.2128132510692464,-0.22234462475476074,-0.22940047572335506,-0.23319899016058493,-0.2346606744959136,-0.23462901264351776,-0.23366600346259067,-0.23217256395978836},
{3.3867994094354557,3.4628204152322404,2.445546643860572,1.5470580535390137,0.8730430853197964,0.4386892746646487,0.17549033038158182,0.01831810173171442,-0.07629389754508589,-0.12933246909028992,-0.1638605828016739,-0.18750219337492574,-0.20321600591801117,-0.21380294729208366,-0.22323439997829128,-0.23015430116471958,-0.23383048577436416,-0.23519644426153447,-0.23509196989455522,-0.2340726359063151,-0.23253453339924512},
{3.3915437132189696,3.4555401967955595,2.434755220089564,1.5365676884891115,0.8643235440176092,0.4320712225308204,0.17059879124860777,0.01468793669354711,-0.0790195705646393,-0.13141537941184306,-0.16553718206792967,-0.18887048667894749,-0.20434641019054914,-0.21478439238962754,-0.22411559142518642,-0.23089983262425415,-0.23445468147230805,-0.2357259065050537,-0.2355494243657004,-0.23447439492822417,-0.23289212682621396},
{3.396237180150599,3.4482307025055388,2.4239809952892255,1.526114657146765,0.8556512460525395,0.4254980013295518,0.1657451345340031,0.011088408982717426,-0.08172014887906089,-0.13347903900302882,-0.16719798229318628,-0.190225514549631,-0.20546557065541166,-0.21575767720839284,-0.22498824979151197,-0.23163714443599992,-0.2350716530787938,-0.23624912916397137,-0.23600143530637593,-0.2348713324597032,-0.23324539031058183},
{3.4008798391142387,3.4408923338719526,2.4132241730920434,1.5156989613874778,0.8470260202190726,0.41896934625879584,0.160929081789009,0.007519264204938914,-0.08439584639582003,-0.13552363245012716,-0.16884313366951037,-0.19156740502818337,-0.20657359743803683,-0.21672288860437314,-0.22585242591541502,-0.23236631059635518,-0.2356814756954419,-0.2367661794014998,-0.23644806126047085,-0.23526349981182026,-0.23359436937722616},
{3.4054717209494836,3.433525490101353,2.4024849539040862,1.505320601501382,0.8384476946848034,0.4124849934691275,0.15615035636817676,0.003980250039444116,-0.08704687575008357,-0.13754934237497662,-0.17047278482430772,-0.19289628480626023,-0.2076705995188374,-0.21768010957174805,-0.2267081707855898,-0.23308740475480078,-0.23628422370320423,-0.2372771236145641,-0.2368893600752558,-0.23565094768359673,-0.23393910901334813},
{3.41001285843286,3.426130568096741,2.3917635349298165,1.494979576208647,0.8299160970148818,0.40604468007236,0.1514086834236215,0.000471116224498868,-0.08967344832013677,-0.13955634945723747,-0.17208708283819804,-0.19421227924146311,-0.20875668478619747,-0.21862941937793476,-0.22755553554751323,-0.233800500204905,-0.236879970764668,-0.23778202744178778,-0.2373253889101981,-0.23603372617016075,-0.23427965367569945},
{3.414503286259125,3.4187079624575296,2.3810601101960667,1.484675882674767,0.8214310541961142,0.3996481441498698,0.14670378989914892,-0.0030083854570473467,-0.09227577424064178,-0.14154483245641802,-0.17368617326267224,-0.19551551237264986,-0.20983196011381466,-0.21957089370373528,-0.22839457150767262,-0.2345056698756186,-0.23746878982656175,-0.23828095577145963,-0.23775620424567862,-0.23641188477078887,-0.2346160472977006},
{3.4189430410226267,3.4112580654797786,2.3703748705751435,1.4744095165257374,0.8129923926607292,0.39329512476061934,0.14203540452426827,-0.006458501192181372,-0.0948540624138553,-0.14351496823366683,-0.17527020013753244,-0.19680610693505768,-0.21089653146814866,-0.22050460478739914,-0.22922533013595406,-0.23520298632286848,-0.23805075312246413,-0.23877397274948287,-0.23818186189161278,-0.236785472396839,-0.2349483332964581},
{3.4233321611986818,3.4037812671566643,2.359708003807009,1.4641804718631104,0.8045999383097874,0.38698536194889427,0.13740325780808288,-0.009879475152104309,-0.09740852051893915,-0.14546693177332592,-0.17683930600811454,-0.19808418437523337,-0.21195050404966312,-0.22143062157151983,-0.23004786306638036,-0.23589252172144126,-0.23862593217569256,-0.2392611417872898,-0.23860241699596457,-0.23715453737956357,-0.23527655457966976},
{3.4276706871250724,3.396277955179273,2.3490596945206006,1.4539887412789616,0.7962535165362715,0.3807185967517584,0.13280708203307393,-0.013271549506573197,-0.09993935501949536,-0.1474008962042569,-0.17839363194230407,-0.19934986486578754,-0.2129939824687521,-0.22234900985177067,-0.2308622220963734,-0.23657434785717738,-0.23919439780237714,-0.2397425255697388,-0.2390179240531714,-0.23751912747782533,-0.23560075355243704},
{3.4319586609835344,3.3887485149376033,2.338430124254173,1.443834315870741,0.78795295224783,0.3744945712062273,0.12824661124877487,-0.016634964438200717,-0.10244677116944557,-0.14931703282092953,-0.17993331754733619,-0.20060326731996048,-0.21402707095410803,-0.22325983242656114,-0.23166845918468473,-0.23724853611945443,-0.2397562201147011,-0.24021818606297168,-0.23942843691246413,-0.23787928988569387,-0.23592097212396962},
{3.4361961267813665,3.3811933295218894,2.327819471474775,1.4337171852560489,0.7796980698891941,0.3683130283561767,0.1237215812653403,-0.01996995815671295,-0.10493097301739236,-0.1512155111042865,-0.18145850098639543,-0.20184450940601328,-0.2150498735883708,-0.22416314924679487,-0.2324666264481592,-0.23791515749398084,-0.24031146852430874,-0.24068818452224283,-0.23983400878609282,-0.2382350712399442,-0.23623725171419685},
{3.4403831303330437,3.373612779724145,2.317227911596781,1.4236373375872968,0.7714886934642632,0.3621737122589738,0.11923172964701703,-0.023276766913166352,-0.10739216340957437,-0.15309649874237868,-0.18296931899500707,-0.20307370756144041,-0.2160624945634551,-0.22505901756497354,-0.23325677615744655,-0.2385742825558816,-0.24086021174586322,-0.24115258149970858,-0.24023469225745459,-0.23858651762744454,-0.23654963326027456},
{3.444519719241932,3.3660072440399906,2.306655616999544,1.413594759566305,0.7633246465578654,0.3560763679918549,0.11477679570551534,-0.02655562501411368,-0.10983054399153899,-0.15496016165077453,-0.18446590689722936,-0.20429097700700732,-0.2170650384462431,-0.2259474920829799,-0.23403896073180103,-0.2392259814630812,-0.2414025178007546,-0.24161143685217887,-0.24063053928912087,-0.23893367459244272,-0.2368581572230045},
{3.448605942882049,3.3583770986707546,2.2961027570441797,1.4035894364588053,0.7552057523571984,0.350020741658041,0.11035652049328731,-0.02980676483573034,-0.11224631520865201,-0.1568066639927494,-0.18594839862164844,-0.20549643176061835,-0.21805761044444977,-0.22682862509794838,-0.23481323273307336,-0.23987032394997984,-0.24193845402094732,-0.24206480974882894,-0.2410216012307748,-0.2392765871437504,-0.23716286359315092},
{3.452641852379898,3.35072271752582,2.2855694980895063,1.393621352108872,0.7471318336729508,0.344006580392604,0.10597064679671601,-0.033030416837886545,-0.1146396763055462,-0.15863616819924767,-0.18741692671717153,-0.20669018465101033,-0.21904031666232335,-0.22770246664568877,-0.23557964485899086,-0.24050737932141558,-0.24246808705295544,-0.242512758678866,-0.2414079288270463,-0.23961529976182275,-0.23746379189767058},
{3.4566275005963405,3.34304447222522,2.275056003507181,1.3836904889532686,0.7391027129600997,0.3380336323680873,0.1016189191292172,-0.03622680957817383,-0.11701082532462583,-0.16044883498862875,-0.18887162236863395,-0.20787234733128082,-0.22001326433645638,-0.2285690646412101,-0.23633824993583225,-0.24113721644691288,-0.2429914828619464,-0.24295534145915035,-0.24178957222525402,-0.23994985640574246,-0.23776098120584555},
{3.4605629421085804,3.3353427321025277,2.2645624336960877,1.3737968280357356,0.7311182123384067,0.3321016467998787,0.09730108372425661,-0.03939616972588035,-0.11935995910372743,-0.16224482338619725,-0.19031261541220829,-0.20904303029225277,-0.22097656204305363,-0.22942846501594666,-0.23708910091056556,-0.24175990375521236,-0.24350870673596037,-0.2433926152417718,-0.24216658098305371,-0.240280300520101,-0.23805447013533096},
{3.464448233192169,3.3276178642079572,2.2540889460960027,1.3639403490211985,0.7231781536125972,0.32621037395135266,0.09301688852829008,-0.042538722075911854,-0.12168727327303151,-0.16402429074351116,-0.191740034350629,-0.21020234287566988,-0.22193031986951883,-0.23028071185134294,-0.23783225084253118,-0.24237550922907358,-0.24401982329023938,-0.24382463652157543,-0.24253900407599113,-0.2406066750417874,-0.23834429685811026},
{3.468283431803097,3.319870233311738,2.2436356952006173,1.3541210302099134,0.715282358292235,0.32035956513877356,0.08876608319361988,-0.04565468956266372,-0.12399296225132667,-0.1657873927574818,-0.1931540063682296,-0.2113503932872377,-0.22287464954492403,-0.231125847508515,-0.23856775289473353,-0.242984100400353,-0.24452489647166128,-0.24425146114363638,-0.24290688990495926,-0.24092902240667452,-0.2386304991063635},
{3.4720685975599648,3.3121002019077377,2.2332028325699653,1.344338848551553,0.7074306476112986,0.31454897273597426,0.0845484190711847,-0.048744293273834505,-0.12627721924170793,-0.16753428348925795,-0.1945546573457941,-0.21248728860949814,-0.2238096645257092,-0.23196391275374878,-0.23929566032479754,-0.24358574434534824,-0.24502398956326807,-0.24467314431068313,-0.24327028630356665,-0.24124738455621697,-0.23891311417825092},
{3.4758037917262046,3.3043081302173216,2.222790506842314,1.334593779659225,0.6996228425474512,0.3087783501788137,0.08036364920327276,-0.05180775246418667,-0.12854023622679794,-0.1692651153829005,-0.19594211187523045,-0.21361313481455318,-0.2247354800347366,-0.23279494687964813,-0.2400160264756527,-0.24418050768040495,-0.24551716518888742,-0.24508974059046817,-0.2436292405454092,-0.24156180294395194,-0.23919217894361167},
{3.4794890771923814,3.296494376193448,2.212398863745597,1.3248857978234314,0.6918587638410201,0.3030474519694064,0.07621152831616812,-0.054845284569250544,-0.1307822039635728,-0.17098003928385025,-0.1973164932740611,-0.21472803677662894,-0.22565221305344163,-0.23361898782178112,-0.2407289047659799,-0.2447684565577873,-0.24600448531783778,-0.24550130392308192,-0.24398379935125353,-0.24187231854190758,-0.23946772984957607},
{3.4831245184585677,3.2886592955250116,2.202028046108452,1.315214876025982,0.6841382320136836,0.2973560336801473,0.07209181281273554,-0.05785710521896906,-0.1330033119778618,-0.17267920445718543,-0.1986779235997382,-0.2158320982844885,-0.22655998226828444,-0.23443607227071436,-0.24143434868046915,-0.2453496566618023,-0.24648601126971093,-0.24590788762821203,-0.2443340088961287,-0.24217897184692252,-0.23973980292609992},
{3.4867101816167714,3.2808032416413964,2.1916781938709335,1.3055809859538325,0.676461067386865,0.2917038519575165,0.0680042607649334,-0.060843428251288,-0.1352037485585996,-0.17436275860567804,-0.20002652366378637,-0.21692542205369317,-0.22745890797394178,-0.23524623577935933,-0.24213241175993042,-0.2459241732051768,-0.24696180371922938,-0.24630954441234498,-0.24467991481632592,-0.24248180288687476,-0.24000843379141457},
{3.490246134333475,3.2729265657172824,2.181349444094976,1.2959840980128892,0.6688270900998481,0.28609066452568566,0.06394863190627813,-0.06380446572568103,-0.13738370075188788,-0.1760308478876445,-0.20136241304576735,-0.2180081097387148,-0.2283491119366638,-0.23604951286558642,-0.2428231475912783,-0.2464920709256851,-0.24743192270116715,-0.24670632637590892,-0.24502156221631077,-0.24278085122682058,-0.24027365765739975},
{3.4937324458322028,3.265029616677641,2.171041930974682,1.2864241813417503,0.661236120127603,0.2805162301899185,0.05992468762424279,-0.06674042793661873,-0.1395433543549369,-0.17768361693459517,-0.20268571010708117,-0.21908026194489913,-0.2292307172219886,-0.23684593711008842,-0.24350660979743854,-0.2470534140830183,-0.24789642761533592,-0.24709828502035835,-0.2453589956755462,-0.2430761559750489,-0.24053550933487544},
{3.497169186876194,3.2571127412029632,2.1607557858465007,1.2769012038253957,0.6536879772983373,0.2749803088397703,0.055932190952605494,-0.06965152342697646,-0.1416828939099389,-0.17932120886868602,-0.20399653200459347,-0.22014197824028642,-0.2301038479915281,-0.2376355412495015,-0.24418285202718482,-0.24760826645590192,-0.24835537723162507,-0.24748547125519596,-0.24569225925522828,-0.24336775578904732,-0.24079402323881896},
{3.5005564297511422,3.249176283734691,2.1504911371993893,1.2674151321088356,0.6461824813107687,0.2694826614520988,0.0519709065637452,-0.07253795900137698,-0.14380250269792846,-0.1809437653199707,-0.2052949947041016,-0.2211933571672869,-0.2309686292738575,-0.23841835726481744,-0.2448519279449491,-0.24815669133944707,-0.24880882969509682,-0.2478679354049394,-0.24602139650493451,-0.2436556888813848,-0.24104923339350512},
{3.503894248248003,3.2412205864808428,2.1402481106849938,1.2579659316106981,0.6387194517511279,0.26402305009387966,0.04804060076088573,-0.07539993973947443,-0.14590236273268017,-0.1825514264434584,-0.20658121299363483,-0.22223449625421426,-0.23182518671467736,-0.23919441646513173,-0.24551389122061254,-0.24869875154273682,-0.2492568425311231,-0.24824572721601884,-0.24634645046918538,-0.24393999302551048,-0.2413011734375705},
{3.50718271764589,3.2332459894218455,2.1300268291279654,1.2485535665367824,0.6312987081098903,0.25860123792483747,0.044141041470296793,-0.07823766900917163,-0.14798265475468317,-0.18414433093597538,-0.20785530049659204,-0.2232654920266804,-0.23267364631139156,-0.23996374956679808,-0.24616879551930324,-0.2492345093866471,-0.24969947265056755,-0.24861889586361807,-0.24666746369392153,-0.24422070556146858,-0.24154987662900654},
{3.510421914695039,3.22525283031654,2.1198274125364374,1.2391779998935584,0.6239200697982409,0.2532169891998985,0.04027199823344721,-0.08105134847977201,-0.15004355822524185,-0.1857226160528339,-0.20911736968472178,-0.22428644001884998,-0.23351413413708924,-0.24072638676806968,-0.2468166944912264,-0.24976402670188957,-0.25013677635500464,-0.2489874899584499,-0.24698447823289568,-0.24449786340153504,-0.24179537585007793},
{3.513611917599848,3.2172414447083755,2.1096499781127545,1.2298391935016115,0.6165833561642697,0.24787006927145255,0.036433242199115735,-0.0838411781350734,-0.1520852513207382,-0.18728641762431497,-0.2103675318909446,-0.22529743478456296,-0.23434677605866272,-0.24148235781932573,-0.24745764176152618,-0.2502873648272821,-0.25056880934197007,-0.24935155755346786,-0.24729753565398033,-0.24477150303576925,-0.2420377036121686},
{3.516752806002021,3.209212165931785,2.09949464026452,1.220537108009066,0.609288386508919,0.24256024459145456,0.032624546115467244,-0.08660735628638676,-0.1541079109270822,-0.18883587007195402,-0.21160589732201898,-0.22629856990831743,-0.23517169745345273,-0.24223169208898312,-0.24809169092021763,-0.2508045846082416,-0.2509956267102456,-0.2497111461505189,-0.24760667704539663,-0.2450416605374927,-0.2422768920605636},
{3.519844660963736,3.201165325118695,2.0893615106159875,1.2112717029049316,0.6020349801016551,0.23728728271334165,0.02884568432208274,-0.08935007958549629,-0.15611171263439563,-0.1903711064246473,-0.21283257507105452,-0.22728993801612393,-0.23598902292842036,-0.24297441862521402,-0.24871889551218102,-0.25131574639548415,-0.25141728296516214,-0.2500663027069229,-0.24791194302185443,-0.2453083715686858,-0.24251297297915314},
{3.5228875649509646,3.1931012512052375,2.079250698019907,1.2020429365324385,0.5948229561959008,0.23205095229379005,0.025096432741961647,-0.09206954303754869,-0.15809683073194428,-0.1918922583345674,-0.2140476731298736,-0.2282716307862256,-0.23679887604542277,-0.2437105662135872,-0.24933930902724707,-0.2518209100439435,-0.2518338320239278,-0.25041707364199833,-0.2482133737306181,-0.24557167138530794,-0.24274597779507592},
{3.525881601816802,3.185020270938574,2.069162308569828,1.1928507661022951,0.5876521340441986,0.22685102309430397,0.02137656887348487,-0.09476594001387577,-0.1600634382033489,-0.19339945609289647,-0.21525129840122403,-0.22924373895969116,-0.23760137905571221,-0.24444016343076497,-0.24995298489037895,-0.2523201349118929,-0.25224532722097476,-0.2507635048435124,-0.24851100885748617,-0.24583159484254474,-0.24297593758329106},
{3.528826856784937,3.176922708883889,2.0590964456129393,1.1836951477059325,0.5805223329131349,0.22168726598264446,0.01768587178235164,-0.09743946226475098,-0.1620117067221003,-0.19489282864537769,-0.21644355671084317,-0.23020635235087883,-0.23839665264633983,-0.24516323869438902,-0.25055997645196254,-0.2528134798602735,-0.2526518213133173,-0.25110564167407623,-0.2488048876326983,-0.24608817639997735,-0.24320288307108523},
{3.531723416433153,3.1688088874315015,2.049053209763476,1.1745760363286795,0.573433372098006,0.21655945293409803,0.014024122093483853,-0.10009029993207419,-0.16394180664738975,-0.19637250360768604,-0.21762455281937745,-0.2311595598577754,-0.2391848157006869,-0.24587982030928673,-0.25116033697821705,-0.253301003252214,-0.25305336648592264,-0.2514435289774662,-0.2490950488367562,-0.24634145012668113,-0.24342684464251746},
{3.5345713686769473,3.1606791268041063,2.039032698916747,1.165493385862907,0.5663850709372436,0.21146735703259337,0.010391101982903272,-0.10271864156199248,-0.1658539070202795,-0.1978386072806201,-0.21879439043415722,-0.23210344947220962,-0.2399659850749368,-0.2465899365101426,-0.2517541196417357,-0.2537827629527501,-0.25345001435708925,-0.2517772110848871,-0.24938153080617242,-0.2465914497062496,-0.24364785234279351},
{3.5373708027532187,3.152533745064148,2.029035008263807,1.156447149121131,0.5593772488265941,0.2064107524716655,0.006786595169585831,-0.10532467411744467,-0.16774817556022084,-0.19929126466511582,-0.21995317222083008,-0.23303810828994348,-0.2407402753918795,-0.24729361550076068,-0.2523413775121623,-0.2542588163287277,-0.25384181598382943,-0.2521067318211643,-0.24966437143914266,-0.24683820844174986,-0.24386593588258657},
{3.540121809204034,3.144373058121296,2.0190602303068172,1.1474372778490594,0.5524097252330539,0.20138941455527382,0.0032103869072901622,-0.10790858299064351,-0.16962477866193826,-0.20073059947708652,-0.22110099981485545,-0.23396362252064096,-0.24150779885307894,-0.24799088549006149,-0.2529221635470196,-0.25472922024889083,-0.25422882186725393,-0.2524321345108745,-0.2499436082011369,-0.24708175926060477,-0.24408112464228726},
{3.5428244798604824,3.136197379740015,2.0091084548751086,1.1384637227386025,0.5454823197085633,0.1964031196984694,-0.00033773602363376676,-0.11047055201548256,-0.17148388139268653,-0.20215673416208768,-0.22223797383285737,-0.2348800774977201,-0.24226866507008488,-0.24868177472493286,-0.2534965305826845,-0.2551940310841477,-0.254611081957954,-0.2527534619844081,-0.25021927813042194,-0.24732213471940623,-0.2442934476761982},
{3.5454789078266136,3.1280070215472526,1.9991797691419966,1.1295264334408412,0.5385948519034665,0.191451645427929,-0.00385798532445571,-0.11301076347987504,-0.173325647489887,-0.2035697899098104,-0.2233641938838446,-0.23578755768808318,-0.24302298091505825,-0.249366311520067,-0.2540645313255344,-0.2556533047080096,-0.25498864566138335,-0.2530707565839693,-0.25049141784350626,-0.2475593670086648,-0.2445029337166662},
{3.5480851874634634,3.119802293040203,1.9892742576423392,1.1206253585789414,0.5317471415797297,0.18653477038234076,-0.007350571186296199,-0.1155293981380211,-0.17515023935915514,-0.20496988666840465,-0.22447975858029406,-0.23668614670173246,-0.24377085039090976,-0.25004452428489854,-0.2546262183432557,-0.2561070964971963,-0.2553615618432306,-0.25338406016950793,-0.2507600635405119,-0.24779348795748318,-0.24470961117815676},
{3.5506434143731567,3.111583501594155,1.979392002290876,1.1117604457610362,0.5249390086239316,0.18165227431266137,-0.010815702298369746,-0.1180266352226044,-0.17695781807271688,-0.20635714315863218,-0.22558476554910095,-0.23757592730127117,-0.24451237452080085,-0.25071644154776646,-0.2551816440563268,-0.25655546133240514,-0.2557298788347837,-0.2536934141245873,-0.2510252510104762,-0.24802452903817448,-0.24491350816126814},
{3.5531536853830916,3.103350952470413,1.9695330824013446,1.1029316415930464,0.5181702730600132,0.17680393808223893,-0.01425358585624692,-0.12050265245691551,-0.1787485433682226,-0.20773167688785404,-0.22667931144239883,-0.23845698141128735,-0.24524765125666076,-0.2513820919774165,-0.2557308607296874,-0.25699845359923656,-0.256093644438285,-0.2539988593621895,-0.2512870156365793,-0.24825252137080422,-0.24511465245669264},
{3.555616098530232,3.09510494882429,1.9596975747064012,1.0941388916914705,0.5114407550618015,0.17198954366680036,-0.017664427570125832,-0.12295762606690731,-0.1805225736479574,-0.20909360416385225,-0.22776349194824785,-0.23932939012763088,-0.24597677540618287,-0.2520415044019628,-0.25627392046458386,-0.2574361271892706,-0.256452905932271,-0.25430043633045024,-0.2515453924013023,-0.24847749572767616,-0.24531307154911458},
{3.5580307530454522,3.0868457917131535,1.949885553378329,1.0853821406961197,0.5047502749653058,0.16720887415432,-0.021048431673114737,-0.12539173079317445,-0.1822800659784479,-0.21044304010848638,-0.2288374018011966,-0.2401932337265749,-0.24669983857762656,-0.2526947078254285,-0.2568108751906136,-0.25786853550129146,-0.2568077100769002,-0.2545981850183361,-0.25180041589151764,-0.24869948253775165,-0.2455087926210604},
{3.560397749337996,3.0785737801045383,1.9400970900505496,1.076661332282808,0.4980986532807819,0.16246171374475504,-0.02440580092952859,-0.12780513990286385,-0.18402117609046667,-0.21178009867119038,-0.2299011347927173,-0.24104859167386974,-0.24741692914162625,-0.25334173144199046,-0.25734177665795765,-0.2582957314426491,-0.2571581031192612,-0.2548921449612516,-0.25205212030350665,-0.24891851189100536,-0.2457018425566888},
{3.5627171889800056,3.0702892108842885,1.9303322538399335,1.0679764091759958,0.49148571070457986,0.1577478477496672,-0.027736736643187456,-0.13019802520150986,-0.1857460583794291,-0.2131048926423056,-0.23095478378151188,-0.24189554263369045,-0.24812813220911817,-0.2539826046480507,-0.2578666764298103,-0.2587177674307613,-0.2575041307986619,-0.2551823552465848,-0.2523005394479138,-0.2491346135427227,-0.24589224794553},
{3.564989174691144,3.0619923788647587,1.920591111369896,1.0593273131613845,0.484911268130758,0.15306706259172137,-0.03104143866572527,-0.13257055704479928,-0.18745486590618024,-0.2144175336662574,-0.23199844070370165,-0.2427341644774728,-0.24883352962442234,-0.2546173570522654,-0.2583856258750163,-0.25913469539474066,-0.2578458383519004,-0.2554688545191892,-0.25254570675462773,-0.24934781691773214,-0.2460800350861692},
{3.567213810323294,3.053683576793032,1.9108737267942746,1.0507139850984628,0.4783751466624824,0.14841914580406584,-0.03432010540490375,-0.13492290435026316,-0.18914775039817,-0.21571813225457379,-0.2330321965828864,-0.24356453429265015,-0.24953319997247245,-0.25524601848366096,-0.25889867616090273,-0.25954656677715077,-0.2581832705185109,-0.2557516809868017,-0.2527876552776038,-0.24955815111458368,-0.24626522998988115},
{3.5693912008453683,3.045363095359183,1.9011801618219835,1.0421363649330082,0.47187716762320714,0.1438038860296049,-0.0375729338329272,-0.1372552346088948,-0.19082486225101036,-0.21700679779874846,-0.23405614154009075,-0.24438672839128256,-0.25022721859914376,-0.2558686189979689,-0.2594058782463244,-0.2599534325358807,-0.2585164715459888,-0.25603087242539807,-0.2530264176996158,-0.24976564490966324,-0.24644785838421232},
{3.571521452328182,3.0370312232045586,1.8915104757424148,1.0335943917095294,0.46541715256763366,0.13922107302015285,-0.04080011949476288,-0.1395677138966968,-0.19248635053040714,-0.21828363858294939,-0.2350703648035849,-0.2452008223185841,-0.25091565764362694,-0.25648518888230804,-0.25990728287491294,-0.2603553431461309,-0.25884548519498773,-0.2563064661844847,-0.2532620263369427,-0.24997032676125236,-0.24662794571650928},
{3.57360467192942,3.028688246930066,1.88186472545158,1.0250880035836674,0.45899492329245845,0.13467049763548547,-0.044001856516460144,-0.14186050688615234,-0.19413236297445843,-0.21954876179657612,-0.2360749547185908,-0.24600689086134822,-0.2515985860817791,-0.2570957586583449,-0.2604029405685364,-0.26075234860251434,-0.25917035474449085,-0.2565784991923281,-0.25349451314399746,-0.2501722248135293,-0.2468055171574002},
{3.5756409678786927,3.020334451104484,1.8722429654789643,1.0166171378345399,0.45261030184690204,0.13015195184228276,-0.04717833761347101,-0.14413377685762568,-0.1957630459963223,-0.22080227354666349,-0.23706999875687312,-0.24680500805627517,-0.2522760697794087,-0.25770035908406,-0.26089290162097306,-0.26114449842125576,-0.259491122996955,-0.2568470079611235,-0.2537239097178836,-0.25037136690051454,-0.24698059760421823},
{3.5776304494626925,3.0119701182727923,1.8626452480151,1.0081817308770442,0.44626311054303713,0.125665228712972,-0.050329754098961094,-0.14638768571068428,-0.19737854468722615,-0.22204427887013614,-0.23805558352620765,-0.24759524719819578,-0.2529481715544519,-0.2582990211542361,-0.26137721609179,-0.26153184164249105,-0.25980783228342047,-0.25711202859209764,-0.25395024730289745,-0.25056778054995765,-0.24715321168436918},
{3.579573227010414,3.00359552896447,1.853071622939771,0.99978171827409,0.4399531719658888,0.1212101224244577,-0.05345629589213442,-0.14862239397535953,-0.1989790028198416,-0.22327488174592405,-0.23903179477975275,-0.24837768084820663,-0.25361495124705524,-0.2588917760998038,-0.26185593380045086,-0.26191442683267124,-0.26012052446860356,-0.2573735967805604,-0.2541735567949697,-0.2507614929871803,-0.24732338375864937},
{3.5814694118784867,2.9952109617018294,1.8435221378509046,0.9914170347487924,0.433680308983344,0.11678642825676534,-0.056558151526536954,-0.1508380608233221,-0.2005645628519797,-0.22449418510691962,-0.23999871742529197,-0.2491523808417007,-0.25427646579657115,-0.2594786553861329,-0.26232910432062634,-0.2622923020870412,-0.26042924095594094,-0.2576317478208843,-0.25439386874603953,-0.2509525311388509,-0.2474911379244912},
{3.5833191164365767,2.986816693008321,1.833996838094057,0.9830876141966113,0.42744434475585047,0.11239394259158339,-0.059635508158363035,-0.1530348440789875,-0.20213536593062192,-0.22570229085179655,-0.24095643553437543,-0.2499194182963046,-0.2549327693245584,-0.2600596907103945,-0.2627967769747257,-0.2626655150322131,-0.2607340226926123,-0.25788651661143025,-0.2546112133683754,-0.2511409216367168,-0.24765649801915282},
{3.585122454052889,2.9784129974168314,1.8244957667924966,0.9747933896974297,0.421245102745909,0.10803246291071296,-0.06268855157475389,-0.15521290023055007,-0.20369155189627078,-0.22689929985668572,-0.24190503235135175,-0.25067886361972463,-0.2555839132228928,-0.26063491399808614,-0.2632590008286501,-0.2630341128288173,-0.2610349101745263,-0.25813793765941023,-0.2548256205388321,-0.2513266908212799,-0.24781948762284134},
{3.586879539079763,2.9700001474779816,1.8150189648778516,0.9665342935275816,0.4150824067273661,0.10370178779441976,-0.0657174662020878,-0.15737238444094423,-0.20523325928761016,-0.22808531198670948,-0.2428445903022907,-0.25143078651749856,-0.2562299462461572,-0.26120435739881587,-0.2637158246867601,-0.26339814217423096,-0.26133194345127236,-0.2583860450856954,-0.2550371198030556,-0.25150986474542225,-0.2479801300617763},
{3.588590486839336,2.9615784137683856,1.8055664711212789,0.9583102571718237,0.4089560807945085,0.09940171691970373,-0.06872243511426203,-0.15951345055872823,-0.20676062534646555,-0.22926042610737543,-0.24377519100380413,-0.2521752560006561,-0.25687091460751815,-0.26176805328142905,-0.2641672970870643,-0.2637576493053786,-0.2616251621310364,-0.2586308726295583,-0.2552457403796252,-0.25169046917798127,-0.2481384484111929},
{3.5902554136093237,2.953148064898912,1.7961383221651344,0.9501212113352451,0.40286594937095854,0.0951320510584736,-0.07170364004096538,-0.16163625112890057,-0.20827378602305582,-0.23042474009583247,-0.24469691527175794,-0.2529123403932895,-0.2575068620773555,-0.26232603422855827,-0.2646134662966253,-0.26411268000159693,-0.26191460538548367,-0.2588724536533652,-0.2554515111641416,-0.2518685296072743,-0.24829446549828854},
{3.5918744366088617,2.9447093675229,1.7867345525551048,0.9419670859551297,0.39681183721837743,0.09089259207564111,-0.07466126137593847,-0.1637409374036371,-0.2097728759815211,-0.23157835085198972,-0.2456098431298851,-0.25364210734004744,-0.2581378300839612,-0.2628783330306706,-0.2650543803071782,-0.26446327958756927,-0.26220031195460003,-0.25911082114720174,-0.25565446073326065,-0.25204407124457406,-0.2484482039051228},
{3.59344767398447,2.9362625863443714,1.7773551947727706,0.9338478102127521,0.3907935694449753,0.0866831429271325,-0.07759547818522365,-0.1658276593529595,-0.21125802860572773,-0.2327213543095011,-0.24651405381829786,-0.2543646238136317,-0.2587638578156676,-0.2634249826796759,-0.26549008683096853,-0.2648094929363137,-0.262482320151501,-0.25934600773344996,-0.2558546173486669,-0.25221711902753846,-0.24859968597147075},
{3.5949752447960655,2.9278079841261895,1.7680002792685583,0.9257633125451151,0.3848109715138231,0.08250350765781038,-0.08050646821540025,-0.16789656567532857,-0.21272937600532638,-0.2338538454466162,-0.2474096258018954,-0.25507995612259865,-0.25938498232382534,-0.26396601636215516,-0.26592063329679233,-0.2651513644722302,-0.2627606678671982,-0.2595780456712988,-0.2560520089609998,-0.25238769762358604,-0.24874893379763396},
{3.596457269003105,2.9193458216982133,1.758669834495067,0.917713520656636,0.3788638692509891,0.07835349139932662,-0.0833944079018075,-0.16994780380816568,-0.21418704902206515,-0.23497591829689846,-0.2482966367786806,-0.25578816992030134,-0.26000123862609825,-0.26450146745227066,-0.26634606684625084,-0.26548893817420177,-0.26303539257533176,-0.2598069668612099,-0.25624666321372225,-0.2525558314332357,-0.24889596924722723},
{3.5978938674507863,2.910876357965393,1.7493638869407053,0.9096983615307589,0.3729520888534777,0.07423290036788917,-0.08625947237675163,-0.17198151993830033,-0.2156311772363382,-0.23608766595981323,-0.24917516368797332,-0.25648933021665266,-0.26061265980957815,-0.26503136950439266,-0.2667664343302004,-0.2658222575787369,-0.2633065313368602,-0.26003280284931746,-0.25643860744693586,-0.252721544593386,-0.24904081394992728},
{3.59928516185636,2.902399849915853,1.740082461163632,0.9017177614415207,0.3670754568969931,0.07014154186195841,-0.08910183547769872,-0.17399785901234482,-0.2170618889739667,-0.23718918061118677,-0.2500452827185319,-0.25718350139542123,-0.2612192771332942,-0.26555575624550276,-0.26718178230540324,-0.26615136578316634,-0.26357412080471215,-0.26025558483177696,-0.25662786870114673,-0.25288486098056295,-0.24918348930420292},
{3.600631274795522,2.893916552628924,1.7308255798259469,0.8937716459650468,0.3612338003435168,0.0660792242598702,-0.09192166975544909,-0.175996964746998,-0.21847931131319592,-0.23828055351353752,-0.2509070693165798,-0.25787074724068076,-0.2618211201297064,-0.26607466156739834,-0.2675921570313703,-0.2664763054488746,-0.26383819722839924,-0.2604753436590632,-0.25681447372097943,-0.25304580421411405,-0.24932401648002459},
{3.60193232968889,2.8854267192831395,1.7215932637281006,0.8858599399909829,0.3554269465487029,0.06204575701738131,-0.09471914648229578,-0.1779789796392753,-0.219883570091905,-0.23936187502628237,-0.2517605981937373,-0.25855113097651145,-0.2624182167048396,-0.2665881195187437,-0.2679976044673896,-0.2667971188045711,-0.26409879645858697,-0.2606921098402044,-0.25699844895883717,-0.25320439765935876,-0.2494624164215526},
{3.6031884507885836,2.8769306011641973,1.7123855318435004,0.8779825677338726,0.34965472326910446,0.05804095066515347,-0.09749443566016226,-0.1799440449766649,-0.22127478991501068,-0.24043323461581598,-0.2526059433348641,-0.25922471532391245,-0.26301059323674036,-0.2670961642969912,-0.2683981702697382,-0.2671138476495994,-0.26435595395162553,-0.26090591354697357,-0.25717982057851746,-0.2533606644307012,-0.24959870984981156},
{3.6043997631648845,2.868428447672878,1.7032024013532623,0.8701394527444611,0.34391695866921745,0.054064616806160294,-0.10024770602872637,-0.18189230084721683,-0.2226530941620673,-0.24149472086546986,-0.25344317800581045,-0.25989156257808826,-0.26359827467197966,-0.2675988302402072,-0.2687938997890726,-0.2674265333572755,-0.26460970477404155,-0.26111678461801985,-0.2573586144587742,-0.2535146273946931,-0.24973291726535202},
{3.605566392692991,2.8599205063329216,1.694043887681078,0.8623305179209433,0.3382134813283596,0.05011656811303607,-0.10297912507351817,-0.18382388614955267,-0.2240186049950377,-0.24254642148534766,-0.25427237476107756,-0.2605517347079277,-0.2641812846199672,-0.26809615181882035,-0.2691848380679858,-0.26773521687825597,-0.2648600836069857,-0.26132475256294935,-0.25753485619683397,-0.25366630917306066,-0.24986505895089156},
{3.6066884660398526,2.8514070227988593,1.6849100045281793,0.8545556855201399,0.33254412024737406,0.046196618325356306,-0.10568885903400091,-0.18573893860280916,-0.22537144336623943,-0.24358842332203998,-0.25509360545139215,-0.2612052934778222,-0.2647596454448612,-0.26858816362731724,-0.2695710298387379,-0.2680399387439309,-0.2651071247506391,-0.26152984656635364,-0.25770857111185985,-0.25381573214568326,-0.2499951549739411},
{3.607766110651118,2.8428882408638185,1.675800763908347,0.8468148771686136,0.3269087048551651,0.0423045822468536,-0.10837707291163011,-0.18763759475650904,-0.22671172902645131,-0.24462081236822408,-0.25590694123119156,-0.26185230059020664,-0.2653333783549138,-0.26907490037591114,-0.26995251952114496,-0.26834073906984635,-0.26535086212858305,-0.2617320954917893,-0.257879784248376,-0.253962918453539,-0.2501232251894241},
{3.6087994547381346,2.8343644024672536,1.6667161761829372,0.8391080138737157,0.321307065015072,0.03844027574257684,-0.11104393047789017,-0.18951999000035863,-0.22803958053316709,-0.2456436737721414,-0.2567124525660263,-0.26249281784553163,-0.26590250348908556,-0.2695563968821877,-0.27032935122062796,-0.2686376575591411,-0.26559132929212154,-0.26193152788570445,-0.2580485203796395,-0.254107890001602,-0.2502492892422655},
{3.6097886272650865,2.825835747702677,1.6576562500959104,0.8314350160345647,0.3157390310310787,0.03460351573598626,-0.11368959428230807,-0.19138625857397598,-0.22935511525899555,-0.2466570918469621,-0.2575102092398737,-0.26312690731504246,-0.2664670400008281,-0.2700326880627553,-0.27070156872641427,-0.26893073350600366,-0.2658285594245629,-0.262128171981314,-0.25821480401096764,-0.2542506684617067,-0.2503733665699712},
{3.6107337579361647,2.817302514825297,1.6486209928087994,0.82379580345296,0.31020443365386174,0.030794120205994244,-0.11631422566044458,-0.19323653357654713,-0.2306584494001886,-0.2476611500800342,-0.2583002803623693,-0.26375463152074063,-0.26702700613892794,-0.27050380892490955,-0.2710692155098886,-0.26922000579914757,-0.26606258534546334,-0.26232205570242784,-0.2583786593830223,-0.25439127527536876,-0.250495476405182},
{3.6116349771828897,2.808764940259659,1.639610409935627,0.81619029534423,0.3047031040866849,0.0270119081839516,-0.11891798474185995,-0.1950709469764104,-0.23194969798529746,-0.24865593114201928,-0.25908273437595836,-0.2643760536163841,-0.2675824193253411,-0.27096979455832154,-0.2714323347230912,-0.269505512925297,-0.2662934395148216,-0.2625132066672277,-0.25854011047504355,-0.2545297316565682,-0.250615637778208},
{3.6124924161514675,2.800223258607214,1.6306245055777093,0.8086184103480037,0.2992348739911267,0.023256699750571375,-0.12150103045805709,-0.19688962962057363,-0.23322897488394337,-0.24964151689591707,-0.2598576390629591,-0.26499123756325055,-0.26813329622997134,-0.271430680126767,-0.2717909691973569,-0.26978729297268694,-0.2665211540372395,-0.2627016521919975,-0.25869918100804945,-0.2546660585944971,-0.2507338695195394},
{3.6133062066902673,2.791677702653852,1.6216632823583295,0.8010800665389209,0.29379957549266866,0.019528316032809228,-0.12406352055039699,-0.19869271124415688,-0.23449639281569407,-0.25061798840598026,-0.260625061552553,-0.26560024829465434,-0.2686796528423534,-0.2718865008599027,-0.272145161442095,-0.27006538363457094,-0.2667457606660357,-0.2628874192948049,-0.258855894447984,-0.25480027685626544,-0.2508501902623284},
{3.6140764813373902,2.7831285033774065,1.6127267414572712,0.7935751814372674,0.28839704118612136,0.015826579200684938,-0.12660561157799033,-0.20048032047976966,-0.23575206335904406,-0.25158542594651867,-0.261385068327688,-0.26620315186376975,-0.26922150454022514,-0.2723372920451002,-0.27249495364370374,-0.27033982221273717,-0.26696729080731674,-0.2630705346991343,-0.25901027400882565,-0.25493240698957564,-0.2509646184448486},
{3.6148033733082983,2.7745758899550887,1.6038148826451508,0.7861036720195437,0.28302710414090876,0.012151312464057946,-0.1291274589255613,-0.20225258486681144,-0.23699609696048152,-0.2525439090105954,-0.26213772523190754,-0.26680001557010036,-0.2697588661549897,-0.27278308901934417,-0.2728403876646138,-0.27061064562102666,-0.26718577552400913,-0.26325102483747415,-0.2591623426556528,-0.2550624693253558,-0.2510771723129217},
{3.6154870164835686,2.766020089770913,1.594927704317555,0.7786654547289609,0.2776895979062036,0.008502340069355071,-0.13162921681128625,-0.20400963086071072,-0.2382286029436458,-0.25349351631862016,-0.2628830974761006,-0.2673909080608844,-0.27029175203407946,-0.27322392716120764,-0.27318150504246663,-0.27087789038885934,-0.26740124553984757,-0.26342891585485745,-0.25931212310766943,-0.25519048398035943,-0.2511878699223163},
{3.616127545396707,2.757461328423057,1.5860652035289422,0.7712604454858646,0.2723843565159137,0.00487948729624638,-0.13411103829460197,-0.20575158384208836,-0.23944968951856013,-0.2544343258268323,-0.26362124964517214,-0.26797589940470723,-0.2708201761002451,-0.27365984188290204,-0.2735183469894167,-0.2711415926647586,-0.2676137312433231,-0.2636042336123572,-0.25945963784118864,-0.25531647085973025,-0.25129672914111467},
{3.616725095222073,2.748899829731196,1.57722737602629,0.7638885596980907,0.2671112144935357,0.0012825804542809308,-0.1365730752839885,-0.20747856812585508,-0.2406594637909399,-0.25536641473568594,-0.26435224570464166,-0.26855506113564,-0.27134415190780564,-0.2740908686224221,-0.27385095439155477,-0.2714017882198774,-0.2678232626915849,-0.2637770036905345,-0.25960490909257533,-0.25544044965953133,-0.2514037676520474},
{3.6172798017628813,2.7403358157437983,1.568414216282467,0.7565497122712428,0.2618700068568618,-0.0022885531205267436,-0.13901547854472232,-0.20919070697024073,-0.24185803177156356,-0.2562898594981272,-0.2650761490071633,-0.269128466267165,-0.2718636926959067,-0.2745170428357756,-0.2741793678084561,-0.27165851245152095,-0.2680298696143077,-0.26394725139284536,-0.25974795886115004,-0.2555624398692412,-0.25150900295479545},
{3.61779180143929,2.7317695067453696,1.559625717529304,0.749243817618903,0.25666056912255286,-0.00583408506914853,-0.14143839770660224,-0.21088812258574985,-0.2430454983857087,-0.25720473582777376,-0.2657930222989713,-0.2696961892760677,-0.27237881143883724,-0.27493839998931835,-0.2745036274728405,-0.2719118003866668,-0.26823358141751036,-0.2641150017490005,-0.2598888089120567,-0.25568246077421664,-0.2516124523682607},
{3.6182612312765827,2.723201121263679,1.550861871790347,0.7419707896727685,0.25148273731057835,-0.009354186013037075,-0.14384198127164194,-0.21257093614405687,-0.24422196748264086,-0.25811111870699305,-0.2665029277262559,-0.27025830605724077,-0.2728895208934618,-0.275354975552189,-0.2748237732903559,-0.27216168668548024,-0.2684344271873382,-0.2642802795182815,-0.2600274807790807,-0.2558005314581162,-0.2517141330327942},
{3.6186882288934474,2.7146308760769418,1.5421226699132753,0.7347305418927103,0.24633634794851345,-0.012849025557665079,-0.14622637662173743,-0.21423926778682698,-0.24538754184515582,-0.25900908239488313,-0.26720592684146055,-0.2708148938510272,-0.27339583364384595,-0.2757668049888526,-0.2751398448394613,-0.2724082056448233,-0.26863243569380063,-0.26444310919281544,-0.2601639957674463,-0.25591667080530023,-0.25181406191240213},
{3.61907293249032,2.706058986220957,1.5334081016019603,0.7275229872767642,0.24122123807571905,-0.016318772296095033,-0.14859173002630122,-0.21589323663447277,-0.24654232319916342,-0.2598987004351548,-0.267902080609514,-0.27136603114525193,-0.2738977621431377,-0.2761739237517602,-0.27545188137143206,-0.2726513912017565,-0.2688276353944717,-0.2646035150008079,-0.2602983749565594,-0.25603089750318647,-0.2519122557969075},
{3.6194154808378376,2.6974856649962327,1.5247181554481546,0.7203480383710413,0.23613724524738308,-0.01976359381259626,-0.15093818664986547,-0.21753296079484177,-0.24768641222331814,-0.26078004566391694,-0.2685914494139842,-0.27191179755451284,-0.2743953187527763,-0.276576367274121,-0.2757599218104625,-0.27289127693703086,-0.26902005443814464,-0.2647615209097296,-0.2604306392027257,-0.25614323004457423,-0.2520087313040823},
{3.6197160132653736,2.68891112397506,1.5160528189627918,0.7132056072795706,0.23108420753844208,-0.023183656686289994,-0.15326589055965734,-0.21915855737183704,-0.2488199085586792,-0.2616531902173705,-0.26927409306316885,-0.2724522736795869,-0.2748885157791254,-0.2769741709627978,-0.2760640047538757,-0.27312789607856897,-0.26920972066845106,-0.2649171506294656,-0.26056080914182633,-0.25625368672993054,-0.2521035048817425},
{3.619974669649652,2.680335573008566,1.5074120786068783,0.7060956056740616,0.22606196354737743,-0.02657912649483206,-0.15557498473313874,-0.22077014247397309,-0.24994291081840447,-0.2625182055394028,-0.26995007079611205,-0.2729875409499867,-0.27537736550759295,-0.2773673701913274,-0.2763641684724316,-0.2733612815049375,-0.26939666162743386,-0.2650704276154219,-0.2606889051919575,-0.25636228566962926,-0.25219659280980966},
{3.620191590403466,2.671759220233744,1.498795919821977,0.6990179448035935,0.22107035239988157,-0.029950167818134907,-0.15786561106551888,-0.22236783122286352,-0.2510555165974706,-0.2633751623890979,-0.2706194412885537,-0.27351768145278554,-0.2758618802343344,-0.2777560002930661,-0.2766604509107369,-0.27359146574880505,-0.26958090455908645,-0.2652213750715924,-0.26081494755603696,-0.25646904478615706,-0.2522880112023425},
{3.6203669164644596,2.66318227208043,1.4902043270602443,0.6919725355042292,0.21610921375241915,-0.0332969442421121,-0.16013791037722735,-0.22395173776164135,-0.2521578224824096,-0.2642241308481448,-0.27128226265881217,-0.27404277775081914,-0.2763420722956248,-0.27814009655446637,-0.2769528896877437,-0.2738184810003865,-0.26976247641284695,-0.26537001595358356,-0.26093895622437635,-0.2565739818162703,-0.25237777600952316},
{3.620500789284029,2.65460493327829,1.4816372838140446,0.6849592882085516,0.21117838779565562,-0.036619618362465675,-0.16239202242136422,-0.2255219752633181,-0.2532499240610658,-0.2650651803281656,-0.27193859247359925,-0.27456291269330274,-0.27681795409497767,-0.27851969420848904,-0.2772415220973473,-0.2740423591108749,-0.26994140384705545,-0.26551637297160463,-0.2610609509772148,-0.2566771143131102,-0.25246590301963},
{3.6205933508162724,2.646027406863743,1.4730947726450918,0.6779781129551267,0.2062777152577826,-0.03991835178849491,-0.1646280858911113,-0.22707865593907198,-0.25433191593235643,-0.26589837957794843,-0.27258848775376765,-0.2750781692217624,-0.2772895381281088,-0.27889482842814955,-0.27752638510906863,-0.2742631315958565,-0.27011771323237,-0.26566046859341236,-0.26118095138722675,-0.2567784596482794,-0.25255240786095895},
{3.6206447435070683,2.637449894186889,1.4645767752131396,0.6710289193978889,0.20140703740772384,-0.043193305146936464,-0.1668462384271086,-0.22862189104647362,-0.25540389171603894,-0.2667237966905933,-0.27323200497999506,-0.2755886301740019,-0.2777568370058145,-0.2792655343201972,-0.2778075153688191,-0.2744808296387071,-0.27029143065514233,-0.26580232504722034,-0.26129897682198183,-0.2568780350138701,-0.25263730600371803},
{3.6206551102831908,2.628872594918396,1.4560832723041846,0.6641116168154472,0.19656619605822268,-0.04644463808583882,-0.1690466166248029,-0.23015179089764834,-0.25646594406247675,-0.2675414991105736,-0.2738692000984027,-0.2760943780886205,-0.27821986347486194,-0.2796318469189441,-0.2780849491997592,-0.2746954840939766,-0.27046258192076034,-0.2659419643245733,-0.26141504644638913,-0.25697585742447177,-0.252720612761902},
{3.620624594541571,2.6202957070563824,1.4476142438582094,0.6572261141203227,0.1917550335688355,-0.04967250927845505,-0.1712293560417611,-0.23166846486737191,-0.25751816466239896,-0.2683515536407125,-0.27450012852611083,-0.276595495012352,-0.2786786304369601,-0.27999380118023043,-0.27835872260323086,-0.2749071254907548,-0.2706311925569455,-0.26607940818318027,-0.2615291792251003,-0.2570719437191325,-0.2528023432951194},
{3.620553340138583,2.611719426933257,1.439169668996409,0.6503723198680952,0.1869733928488031,-0.05287707642716793,-0.17339459120494394,-0.23317202140110202,-0.2585606442566428,-0.2691540264490673,-0.2751248451567291,-0.27709206231224953,-0.2791331509658869,-0.28035143197552825,-0.2786288712597639,-0.2751157840360115,-0.27079728781701556,-0.26621467814970984,-0.26164139392487556,-0.2571663105632965,-0.25288251261040434},
{3.6204414913794665,2.6031439492225643,1.4307495260479448,0.6435501422664882,0.18222111735982538,-0.056058496267438446,-0.17554245561795595,-0.2346625680229489,-0.2595934726458815,-0.26994898307574317,-0.2757434043657874,-0.2775841604944912,-0.27958343832285587,-0.2807047740862011,-0.2788954305301675,-0.2753214896179279,-0.27096089268310686,-0.26634779552255383,-0.2617517091169321,-0.25725897445072515,-0.2529611355639855},
{3.620289193007801,2.594569466945794,1.4223537925761827,0.6367594891843666,0.1774980511187312,-0.059216924571772314,-0.17767308176824992,-0.2361402113435765,-0.2606167387003271,-0.2707364884396098,-0.2763558600161027,-0.2780718690313229,-0.28002950597017834,-0.281053862197897,-0.27915843545668173,-0.27552427180919814,-0.27112203186935896,-0.26647878137454667,-0.26186014317924233,-0.2573499517053801,-0.25303822686303734},
{3.620096590195074,2.5859961714791804,1.4139824454044245,0.6300002681606579,0.17280403870003633,-0.06235251615372356,-0.17978660113430509,-0.23760505706804802,-0.2616305303694033,-0.27151660684495116,-0.2769622654630852,-0.2785552661974086,-0.28047136758330843,-0.2813987308950982,-0.2794179207642081,-0.27572415987031984,-0.2712807298250672,-0.2666076565556617,-0.26196671429882606,-0.2574392584833121,-0.25311380106740217},
{3.619863828530358,2.577424252560498,1.4056354606411408,0.6232723864132024,0.16813892523841795,-0.06546542487190377,-0.1818831441927662,-0.23905721000360408,-0.2626349346913869,-0.27228940198802465,-0.2775626735599876,-0.2790344289166128,-0.2809090370613278,-0.2817394146558119,-0.27967392086160053,-0.2759211827528557,-0.27143701073779003,-0.26673444169565874,-0.2620714404739871,-0.2575269107745155,-0.253187872591276},
{3.6195910540100282,2.5688538982958207,1.3973128137046724,0.6165757508475141,0.16350255643107564,-0.06855580363402514,-0.18396284042554728,-0.24049677406737968,-0.2636300378030061,-0.27305493696354505,-0.27815713666309,-0.2795094326200269,-0.2813425285359454,-0.28207594784641116,-0.27992646984302133,-0.27611536910267653,-0.27159089853642426,-0.266859157206707,-0.26217433951653774,-0.25761292440478323,-0.2532604557048784},
{3.6192784130276032,2.5602852951662953,1.389014479347425,0.6099102680654767,0.15889477854000644,-0.07162380440095648,-0.18602581832690435,-0.24192385229405788,-0.2646159249489964,-0.2738132742710908,-0.27874570663682846,-0.2799803511158374,-0.2817718563790892,-0.2824083647166243,-0.28017560148935866,-0.2763067472631843,-0.2717424168942432,-0.26698182328596864,-0.26227542905398743,-0.25769731503754956,-0.2533315645360951},
{3.618926052363648,2.5517186280348776,1.3807404316795389,0.6032758443739519,0.154315438394184,-0.07466957819079892,-0.18807220541046588,-0.24333854684346398,-0.26559268049160906,-0.2745644758214317,-0.2793284348588674,-0.28044725647142854,-0.282197035209151,-0.2827366993946706,-0.28042134926969947,-0.27649534527850717,-0.271891589231897,-0.26710245991815035,-0.26237472653169913,-0.25778009817571856,-0.2534012130720859},
{3.6185341191757754,2.5431540801530836,1.3724906441920433,0.5966723857933147,0.1497643833916325,-0.07769327508298511,-0.19010212821623443,-0.24474095900809817,-0.266560387920066,-0.2753086029427816,-0.2799053722251108,-0.2809102189079647,-0.2826180798959745,-0.283060985882547,-0.2806637463428629,-0.2766811908966776,-0.2720384387203815,-0.26722108687802226,-0.2624722492150281,-0.257861289163496,-0.25346941516088395},
{3.6181027609887098,2.534591833167713,1.3642650897794806,0.59009979806591,0.14524146150142928,-0.08069504422238888,-0.19211571231754798,-0.2461311892206041,-0.26751912985995563,-0.27604571638697645,-0.2804765691546599,-0.28136930670750526,-0.28303500556465006,-0.2833812580514599,-0.28090282555897866,-0.2768643115727826,-0.2721829882839631,-0.26733772373290177,-0.2625680141914214,-0.2579409031882003,-0.2535361845129558},
{3.6176321256844726,2.5260320671275793,1.3560637407620186,0.5835579866644282,0.1407465212656007,-0.08367503382345778,-0.1941130823280064,-0.2475093370611824,-0.2684689880825746,-0.276775876335576,-0.28104207559471456,-0.28182458613260697,-0.28344782759819853,-0.28369754963740734,-0.28113861946112506,-0.27704473447209366,-0.27232526060307977,-0.26745238984510916,-0.2626620383724934,-0.25801895528207663,-0.25360153470274954},
{3.617122361492598,2.5174749604902247,1.347886568907029,0.577046856800207,0.1362794118009419,-0.08663339117435578,-0.19609436190836405,-0.24887550126493715,-0.2694100435141944,-0.2774991424058944,-0.2816019410254161,-0.28227612135820146,-0.283856561639221,-0.28400989423690515,-0.28137116028700526,-0.277222486473169,-0.2724652781171968,-0.2675651043743855,-0.26275433849607777,-0.2580954603240942,-0.2536654791702148},
{3.616573616980484,2.508920690128637,1.3397335454501569,0.5705663134314529,0.13183998280074724,-0.0895702626411223,-0.19805967377338132,-0.250229779729169,-0.27034237624527496,-0.2782155736569583,-0.282156214464641,-0.28272397441548547,-0.2842612235905894,-0.2843183253028633,-0.28160047997067594,-0.2773975941709314,-0.2726030630276334,-0.26767588628028294,-0.26284493112824414,-0.25817043304173803,-0.2537280312222991},
{3.6159860410437843,2.500369431337953,1.3316046411158626,0.5641162612713854,0.12742808453644686,-0.09248579367184975,-0.20000913969864556,-0.2515722695206037,-0.27126606553959504,-0.2789252285953932,-0.28270494447273514,-0.28316820514741614,-0.28466182961525416,-0.28462287614060167,-0.28182661014431376,-0.2775700838797275,-0.27273863730035497,-0.26778475432452564,-0.2629338326653008,-0.25824388801278986,-0.2537892040344338},
{3.6153597828969204,2.4918213578421744,1.3234998261374555,0.5576966047963031,0.12304356785917739,-0.09538012880086702,-0.20194288052735168,-0.252903066882566,-0.2721811898433192,-0.2796281651812409,-0.2832481791572004,-0.28360887117538325,-0.28505839613525,-0.2849235799040192,-0.28204958214002623,-0.27773998163635577,-0.2728720226687295,-0.26789172707333325,-0.2630210593357572,-0.2583158396670959,-0.25384901065198145},
{3.6146949920636344,2.483276641800867,1.3154190702766,0.5513072482535685,0.11868628420125524,-0.09825341165294152,-0.20386101617704508,-0.25422226724209035,-0.27308782679398597,-0.28032444083370406,-0.28378596617732166,-0.2840460278765303,-0.2854509398299541,-0.28522046959189745,-0.2822694269916987,-0.2779073132030693,-0.27300324063625425,-0.2679968228997226,-0.2631066272022732,-0.258386302288327,-0.2539074639916822},
{3.613991818367654,2.474735453815864,1.3073623428423218,0.5449480956695203,0.11435608557758105,-0.10110578494748874,-0.20576366564633397,-0.2555299652169759,-0.2739860532294173,-0.2810141124368272,-0.2843183527487494,-0.2844797283711779,-0.2858394776336875,-0.2855135780443514,-0.28248617543687465,-0.2780721040705577,-0.27313231247924263,-0.2681000599857717,-0.2631905521635741,-0.25845529001571144,-0.25396457684306617},
{3.613250411923433,2.466197962937978,1.2993296127095006,0.5386190508573064,0.11005282458696536,-0.10393739050279328,-0.2076509470215585,-0.25682625462278297,-0.27487594519655467,-0.2816972363451063,-0.2848453856480256,-0.2849100235197517,-0.2862240267327091,-0.2858029379394183,-0.28269985791867486,-0.27823437946089885,-0.2732592592494833,-0.2682014563248596,-0.2632728499563417,-0.25852281684576733,-0.25402036186984994},
{3.612470923126966,2.457664336673701,1.291320848336862,0.5323200174246366,0.10577635441336229,-0.10674836924024403,-0.2095229774834265,-0.258111228479772,-0.27575757796021017,-0.28237386838903494,-0.2853671112170599,-0.285336961928607,-0.28660460456167597,-0.28608858178978974,-0.2829105045877436,-0.2783941643304884,-0.2733841017768687,-0.2683010297238747,-0.2633535361570894,-0.2585888966340082,-0.254074831611321},
{3.61165350264668,2.449134740991915,1.28333601778446,0.5260508987814599,0.10152652882705167,-0.10953886118857101,-0.21137987331360966,-0.2593849790197838,-0.2766310260117367,-0.2830440638805799,-0.28588357536755754,-0.28576058996410597,-0.2869812287996184,-0.28637054193967443,-0.28311814530422785,-0.2785514833729416,-0.2735068606719865,-0.268398797805397,-0.2634326261840006,-0.258653543096636,-0.2541279984836961},
{3.610798301414436,2.440609340330607,1.2753750887306812,0.5198115981475618,0.09730320218572759,-0.11230900548810097,-0.21322174990130605,-0.2606475976930659,-0.27749636307761794,-0.283707877618598,-0.286394823585396,-0.28618095177432656,-0.2873539173654975,-0.28664885056180517,-0.283322809639779,-0.27870636102196805,-0.2736275563286779,-0.26849477800984733,-0.26351013529875056,-0.25871676981220854,-0.25417987478146475},
{3.6099054706165563,2.4320882976035763,1.2674380284887379,0.5136020185600875,0.0931062294355248,-0.11505894039501142,-0.2150487217497654,-0.26189917517503786,-0.27835366212797324,-0.28436536389418493,-0.28690090093495607,-0.2865980893177494,-0.28772268841338544,-0.2869235396545778,-0.28352452687958835,-0.27885882145422525,-0.2737462089265777,-0.2685889875976154,-0.2635860786083075,-0.25877859022329797,-0.254230472678715},
{3.608975161684985,2.423571774207156,1.259524804022691,0.5074220628809862,0.08893546611197538,-0.11778880328559467,-0.21686090248277085,-0.2631398013729953,-0.27920299538497273,-0.28501657649595846,-0.2874018520633942,-0.2870120423983006,-0.2880875603273151,-0.28719464103931513,-0.28372332602443084,-0.27900888859213496,-0.2738628384335979,-0.2686814436511489,-0.26366047106669527,-0.2588390176381115,-0.25427980423044183},
{3.608007526288506,2.4150599300269464,1.2516353819629895,0.5012716338043778,0.08479076834088131,-0.12049873066053435,-0.21865840485109442,-0.2643695654327459,-0.2800444343311791,-0.28566156871528786,-0.2878977212048838,-0.2874228487061356,-0.2884485517158596,-0.28746218635768284,-0.2839192357927539,-0.27915658610669053,-0.2739774646084116,-0.26877216307703455,-0.2637333274767572,-0.25889806523211323,-0.2543278813738418},
{3.607002716324028,2.4065529234445338,1.243769728621531,0.4951506338638446,0.08067199283913787,-0.12318885814917989,-0.22044134073890714,-0.2655885557451274,-0.28087804971779645,-0.28630039335145346,-0.2883885521847954,-0.2878305438635432,-0.28880568140645635,-0.28772620706921603,-0.2841122846227603,-0.27930193742021925,-0.2740901070028807,-0.2688611626080311,-0.2638046624918725,-0.2589557460495977,-0.2543747159295834},
{3.605960883907974,2.3980509113442356,1.235927810006261,0.489058965439639,0.0765789969154762,-0.1258593205138308,-0.22220982117015084,-0.2667968599523447,-0.2817039115728306,-0.28693310271674793,-0.2888743884238363,-0.28823516147540557,-0.28915896843953065,-0.28798673444898865,-0.28430250067452945,-0.27944496570913435,-0.27420078496447015,-0.26894845880509105,-0.2638744906176708,-0.2590120730052658,-0.2544203196030743},
{3.6048821813677296,2.3895540491198437,1.2281095918353078,0.4829965307658275,0.0725116384711459,-0.1285102516540254,-0.22396395631488428,-0.26799456495399826,-0.2825220892091733,-0.2875597486415211,-0.28935527294214386,-0.2886367331836338,-0.2895084320624428,-0.28824379958540874,-0.2844899118321454,-0.2795856939066485,-0.27430951763862066,-0.26903406805934904,-0.26394282621370957,-0.25906705888575815,-0.25446470398569865},
{3.60376676123317,2.3810624906813693,1.2203150395506606,0.4769632319373456,0.06846977600053765,-0.13114178461082832,-0.22570385549557542,-0.26918175691259005,-0.2833326512325928,-0.28818038247915634,-0.28983124836333096,-0.28903528872505513,-0.2898540917232894,-0.2884974333781348,-0.28467454570583706,-0.2797241447054677,-0.27441632397109894,-0.2691180065940856,-0.26400968349513704,-0.2591207163511781,-0.2545078805560498},
{3.602614776228284,2.3725763884618187,1.2125441183314056,0.47095897091698463,0.06445326859172637,-0.13375405157113204,-0.22742962719337081,-0.2703585212582697,-0.2841356655496421,-0.28879505511100234,-0.29030235691848927,-0.28943085599223844,-0.2901959670645886,-0.28874766653612916,-0.2848564296341428,-0.2798603405604558,-0.27452122271032076,-0.2692002904666684,-0.264075076534335,-0.25917305793658507,-0.25454986068114},
{3.6014263792628523,2.364095893423943,1.2047967931065147,0.46498364954229926,0.06046197592697152,-0.13634718387195038,-0.22914137905432128,-0.2715249426924758,-0.2849311993754853,-0.2894038169512373,-0.2907686404501504,-0.289823461096763,-0.2905340779168692,-0.28899452957582544,-0.2850355906860787,-0.27999430369127815,-0.27462423240963724,-0.2692809355704688,-0.26413901926253647,-0.25922409605346636,-0.2545906556176044},
{3.600201723424211,2.355621155067035,1.1970730285672022,0.45903716953243584,0.056495758283144015,-0.13892131200472163,-0.23083921789556677,-0.27268110519012395,-0.28571931924163196,-0.2900067179516744,-0.291230140416192,-0.2902131284344893,-0.2908684442921825,-0.28923805281941534,-0.28521205566331564,-0.28012605608500796,-0.27472537142959785,-0.2693599576367437,-0.26420152547141673,-0.2592738429911835,-0.2546302765128786},
{3.5989409619691033,2.3471523214337062,1.1893727891788584,0.4531194324948942,0.05255447653209833,-0.1414765656196099,-0.23252324971149552,-0.27382709199998395,-0.2865000910035942,-0.2906038076065222,-0.29168689789371943,-0.29059988075240184,-0.29119908637756703,-0.2894782663932648,-0.28538585110237474,-0.2802556194987208,-0.2748246579401904,-0.2694373722365131,-0.26426260881467784,-0.2593223109184032,-0.25466873440637816},
{3.597644248315585,2.338689539116687,1.1816960391925588,0.447230339932206,0.04863799214099265,-0.14401307352980638,-0.2341935796798527,-0.27496298564289157,-0.28727357984845575,-0.2911951349570767,-0.2921389535828841,-0.2909837392166127,-0.2915260245284655,-0.28971520022642866,-0.2855570032768157,-0.28038301546204575,-0.27492210992303756,-0.2695131947823878,-0.26432228280957965,-0.2593695118844905,-0.25470604023064036},
{3.596311736035026,2.3302329532656367,1.1740427426561637,0.44136979324854037,0.044746167172530174,-0.1465309637158373,-0.23585031216782115,-0.27608886790753523,-0.2880398503023597,-0.29178074859637126,-0.29258634781067605,-0.29136472348118336,-0.29184927926212595,-0.2899488840492942,-0.28572553819945107,-0.28050826527971073,-0.27501774517358685,-0.26958744053039907,-0.26438056083847666,-0.2594154578208994,-0.2547422048124785},
{3.5949435788441764,2.321782707593961,1.1664128634250157,0.43553769375623835,0.040878864285172026,-0.14903036332986427,-0.23749355073806164,-0.27720481984359185,-0.2887989662379128,-0.29236069667376047,-0.2930291205346653,-0.291742851757391,-0.29216887125098906,-0.29017934739231505,-0.2858914816245463,-0.280631390034043,-0.27511158130325414,-0.2696601245817855,-0.26443745615030306,-0.25946016054251897,-0.25477723887410497},
{3.593539930597318,2.313338944385645,1.1588063651722378,0.4297339426822638,0.0370359467332736,-0.15151139869999186,-0.2391233981547141,-0.27831092175213645,-0.2895509908815082,-0.29293502689946077,-0.29346731134670595,-0.2921181408831579,-0.2924848213160761,-0.2904066195848639,-0.2860548590500364,-0.2807524105874531,-0.27520363574155304,-0.26973126188477037,-0.2644929818620363,-0.25950363174901625,-0.254811153034244},
{3.5921009452784753,2.304901804502093,1.1512232113986451,0.42395844117459186,0.033217278367179345,-0.15397419533456685,-0.24073995638936818,-0.27940725317332044,-0.29029598682056695,-0.29350378654903253,-0.2939009594765988,-0.29249060639232777,-0.2927971504203925,-0.2906307297541788,-0.2862156957197416,-0.28087134758489596,-0.27529392573819617,-0.26980086723630603,-0.26454715096013914,-0.2595458830261472,-0.25484395780923913},
{3.5906267769937132,2.2964714273889753,1.1436633654422748,0.41821109030851433,0.029422723633264255,-0.15641887792647935,-0.24234332662698838,-0.28049389287145815,-0.2910340160106979,-0.2940670224678109,-0.29433010379571245,-0.2928602625835521,-0.29310587966234647,-0.2908517068244045,-0.2863740166255821,-0.28098822145629415,-0.2753824683651602,-0.2698689552837999,-0.26459997630195664,-0.25958692584704385,-0.2548756636141324},
{3.5891175799635042,2.2880479510831,1.1361267904875443,0.41249179109287487,0.025652147573907935,-0.15884557035746566,-0.2439336092718077,-0.2815709188177485,-0.29176513978277874,-0.29462478107528955,-0.2947547828205665,-0.2932271225885373,-0.29341103026920284,-0.29106957951573215,-0.2865298465097996,-0.2811030524189497,-0.2754692805187405,-0.26993554052682495,-0.26465147061710703,-0.25962677157349556,-0.2549062807637501},
{3.5875735085151788,2.2796315122192885,1.1286134495740463,0.40680044447623287,0.02190541582744207,-0.1612543957024023,-0.2455109039531853,-0.2826384081709743,-0.29248941884995816,-0.2951771083694498,-0.295175034716376,-0.29359119843943915,-0.2937126235905684,-0.2912843763436263,-0.28668320986717083,-0.28121586047991937,-0.27555437892156864,-0.2700006373187958,-0.26470164650882544,-0.2596654314571886,-0.25493581947376},
{3.585994717075427,2.2712222460372553,1.1211233056049794,0.40113695135294686,0.018182394628027756,-0.163645476233602,-0.2470753095314195,-0.28369643725658306,-0.2932069133145798,-0.2957240499310387,-0.29559089730055427,-0.2939525011352294,-0.294010681091923,-0.29149612561813676,-0.28683413094722954,-0.2813266654383726,-0.275637780124609,-0.2700642598686345,-0.2647505164553005,-0.259702916640948,-0.2549642898617233},
{3.5843813601628987,2.26282028638851,1.1136563213552433,0.3955012125691946,0.014482950805495238,-0.16601893342510368,-0.2486269241035367,-0.2847450815446379,-0.2939176826750268,-0.29626565092780566,-0.2960024080461802,-0.29431104070684205,-0.29430522434819634,-0.29170485544329505,-0.28698263375647615,-0.2814354868879177,-0.2757195005091322,-0.2701264222424077,-0.26479809281098704,-0.25973923815993916,-0.2549917019481332},
{3.58273359238086,2.254425765743275,1.1062124594791822,0.38989312892891653,0.010806951785138859,-0.16837488795695887,-0.25016584500903066,-0.28578441562715623,-0.294621785832492,-0.2968019561186783,-0.2964096040854264,-0.29466682628097796,-0.2945962750374005,-0.29191059371658684,-0.28712874206058936,-0.2815423442189049,-0.2757995562886579,-0.27018713836494646,-0.26484438780788866,-0.25977440694286574,-0.25501806565743895},
{3.581051568409932,2.246038815197399,1.0987916825180004,0.384312601199684,0.007154265587444298,-0.17071345971951732,-0.25169216883557277,-0.2868145131953752,-0.2953192810976716,-0.29733300985790423,-0.29681252221294935,-0.2950198661424193,-0.2948838549343188,-0.2921133681285087,-0.28727247938663847,-0.2816472566207079,-0.275877963510881,-0.2702464220214463,-0.26488941355685097,-0.25980843381314384,-0.25504339081906335},
{3.5793354430008906,2.237659564479297,1.0913939529068533,0.3787595301185041,0.003524760827799761,-0.17303476781770202,-0.25320599142468486,-0.28783544701749736,-0.2960102261973816,-0.29785885609913254,-0.29721119888924674,-0.2953701677947531,-0.29516798590425897,-0.2923132061621901,-0.2874138690252806,-0.281750243083978,-0.2759547380595693,-0.27030428685904645,-0.2649331820488159,-0.25984132949005534,-0.2550676871684052},
{3.577585370967545,2.22928814195689,1.0840192329816172,0.37323381639754066,-0.00008169328386348901,-0.17533893057528682,-0.25470740787737045,-0.28884728891744654,-0.2966946782811041,-0.2983795383994572,-0.2976056702439735,-0.2957177380194003,-0.29544868989686884,-0.2925101350930875,-0.287552934032959,-0.28185132240286975,-0.27602989565643543,-0.2703607463883826,-0.26497570515608265,-0.2598731045898868,-0.2550909643478273},
{3.57580150717969,2.2209246746445688,1.0766674849853612,0.3677353607297779,-0.0036652269434583745,-0.1776260655391625,-0.25619651255972,-0.2898501097551331,-0.29737269392745647,-0.29889509992341323,-0.29799597207925194,-0.296062582932886,-0.295725988940026,-0.2927041819887552,-0.28768969723409893,-0.28195051317724795,-0.27610345186299323,-0.2704158139851333,-0.2650169946335608,-0.259903769627054,-0.2551132319076379},
{3.5739840065561266,2.2125692882101626,1.0693386710745072,0.36226406379460613,-0.007225969753173477,-0.17989628948359576,-0.2576733991084664,-0.29084397940869944,-0.2980443291505869,-0.2994055834469212,-0.2983821398730458,-0.2964047080422698,-0.29599990513379615,-0.2928953737086708,-0.2878241812232856,-0.2820478338148694,-0.2761754220823822,-0.2704695028915327,-0.2650570621200051,-0.25993333501520083,-0.255134499307061},
{3.572133024057744,2.2042221069819146,1.0620327533247016,0.35681982626333597,-0.010764050721964576,-0.18214971841449185,-0.2591381604365147,-0.29182896675915,-0.298709639406503,-0.2999110313611947,-0.298764208782876,-0.2967441182986957,-0.2962704606444689,-0.29308373690413386,-0.28795640836744696,-0.28214330253353725,-0.2762458215611734,-0.270521826217874,-0.2650959191392611,-0.25996181106829375,-0.2551547759151875},
{3.570248714680689,2.195883253955479,1.0547496937364043,0.35140254880464883,-0.014279598266062116,-0.18438646757363955,-0.26059088873843367,-0.2928051396777193,-0.2993686795993251,-0.300411485676601,-0.2991422136504906,-0.2970808181490195,-0.2965376776986691,-0.2932692980182197,-0.2880864008080175,-0.28223693736323435,-0.27631466539115557,-0.2705727969439898,-0.26513357710149527,-0.25998920800168945,-0.2551740710119281},
{3.5683312334495914,2.1875528508009183,1.0474894542401971,0.34601213208996817,-0.017772740209537508,-0.18660665144295696,-0.26203167549590317,-0.29377256501626914,-0.3000215040874699,-0.3009069880264727,-0.2995161890086004,-0.29741481158548516,-0.2968015785775541,-0.2934520832857992,-0.28821418046310326,-0.2823287561482317,-0.2763819685110928,-0.27062242792071195,-0.2651700473044262,-0.2600155359331967,-0.2551923937889463},
{3.566380735410861,2.1792310178697205,1.0402519967018236,0.3406484767987733,-0.02124360378490159,-0.1888103837487264,-0.2634606114831408,-0.294731308600939,-0.3006681666897653,-0.3013975796708862,-0.2998861690913655,-0.29774610219343084,-0.2970621856110847,-0.2936321187336104,-0.2883397690296293,-0.2824187765491709,-0.27644774570846287,-0.27067073187132107,-0.2652053409345551,-0.26004080488411413,-0.25520975335058166},
{3.564397375626062,2.170917874201821,1.033037282926971,0.3353114836238383,-0.024692315633735685,-0.19099777746581736,-0.2648777867722755,-0.29568143522921064,-0.30130872069149384,-0.30188330150038456,-0.30025218785077223,-0.29807469319701935,-0.29731952117238863,-0.2938094301803916,-0.2884631879854824,-0.28250701604512835,-0.27651201162117833,-0.27071772139296557,-0.26523946906838425,-0.26006502478026255,-0.2552261587147649},
{3.5623813091653442,2.162613537532638,1.0258452746657898,0.3300010532763995,-0.028119001807384043,-0.19316894482191624,-0.2662832907387002,-0.29662300867048785,-0.30194321885037223,-0.3023641940396733,-0.30061427898129534,-0.2984005875029963,-0.297573607672207,-0.29398404323706695,-0.28858445859164156,-0.2825934919356533,-0.27657478073927844,-0.27076340895807466,-0.26527244267363914,-0.2600882054529962,-0.25524161881392177},
{3.5603326911009496,2.154318124300113,1.018675933617174,0.3247170864912641,-0.0315237877676524,-0.19532399730172917,-0.26767721206637973,-0.2975560916702227,-0.30257171340246014,-0.30284029745126123,-0.3009724759551484,-0.29872378774246916,-0.29782446755342923,-0.2941559833069851,-0.28870360189429856,-0.2826782213427806,-0.2766360674066061,-0.27080780691574546,-0.2653042726104857,-0.26011035664020254,-0.25525614249586687},
{3.558251676500788,2.1460317496517693,1.011529221432802,0.31945948403183977,-0.03490679838756817,-0.1974630456511913,-0.2690596387531221,-0.29848074595757085,-0.30319425606800166,-0.30331165153906636,-0.30132681207001444,-0.2990442963107425,-0.2980721232857173,-0.294325275586209,-0.28882063872696717,-0.2827612212130238,-0.27669588582245913,-0.27085092749311657,-0.26533496963273434,-0.26013148798729024,-0.25526973852468654},
{3.5561384204220743,2.1377545274517717,1.0044050997209382,0.31422814669510957,-0.03826815795216275,-0.19958619988165893,-0.27043065811582756,-0.29939703225651404,-0.30381089805720507,-0.30377829575198506,-0.30167732051046936,-0.2993621154052095,-0.2983165973602244,-0.2944919450638598,-0.28893558971258254,-0.28284250831934776,-0.27675425004322785,-0.27089278279672513,-0.26536454438905177,-0.26015160904816376,-0.2552824155816131},
{3.5539930779050315,2.129486570287999,0.9973035300500174,0.30902297531653006,-0.04160799015928579,-0.2016935692740921,-0.27179035679568225,-0.3003050103003243,-0.3044216900759498,-0.30424026918740854,-0.3020240344233913,-0.299677247061341,-0.29855791228440104,-0.29465601652249895,-0.28904847526558025,-0.28292209926310785,-0.27681117398400223,-0.27093338481384227,-0.26539300742414823,-0.2601707292861783,-0.25529418226588485},
{3.5518158039666776,2.121227989479127,0.9902244739520119,0.3038438707748702,-0.04492641812047564,-0.20378526238323547,-0.27313882076333534,-0.30120473884922727,-0.3050266823314369,-0.304697610594717,-0.3023669870067335,-0.2999896931867979,-0.29879609057690004,-0.2948175145385747,-0.28915931559397995,-0.28300001047598455,-0.2768666714201712,-0.27097274541379823,-0.2654203691799715,-0.26018885807509695,-0.25530504709560553},
{3.549606753594648,2.112978895081708,0.9831678929255776,0.2986907339969802,-0.04822356436183306,-0.20586138704178022,-0.2744761353240286,-0.30209627571106457,-0.30562592453777027,-0.30515035837872095,-0.3027062116100715,-0.3002994555936917,-0.29903115476257375,-0.29497646348289436,-0.28926813070143625,-0.28307625822187743,-0.27692075598899063,-0.2710108763492865,-0.2654466399968858,-0.2602060047000193,-0.25531501850858207},
{3.547366081741118,2.1047393958972815,0.9761337484390111,0.29356346596249355,-0.05149955082495267,-0.20792205036452366,-0.275802385122695,-0.30297967776475493,-0.3062194659214742,-0.3055985506030683,-0.30304174184455396,-0.300606536029054,-0.2992631273675687,-0.2951328875211587,-0.289374940389294,-0.2831508585987906,-0.27697344119113715,-0.27104778925765044,-0.2654718301148361,-0.2602221783583111,-0.25532410486316287},
{3.5450939433167634,2.0965095994794685,0.9691220019329992,0.2884619677084726,-0.054754498867871454,-0.20996735875251155,-0.27711765414902817,-0.3038550009863031,-0.30680735522695385,-0.30604222499361766,-0.30337361169924415,-0.3009109362035311,-0.29949203091451626,-0.29528681061452944,-0.2894797642586165,-0.28322382754069036,-0.2770247403922468,-0.2710834956621607,-0.26549594967451334,-0.2602373881605135,-0.25533231443906207},
{3.5427904931848038,2.088289612141087,0.9621326148231836,0.28338614033398035,-0.057988529266047625,-0.21199741789717222,-0.27842202574250574,-0.3047223004771138,-0.30738964072188363,-0.3064814189417652,-0.30370185566042046,-0.3012126578183651,-0.29971788791782117,-0.29543825652024064,-0.2895826217122113,-0.28329518081934063,-0.2770746668244238,-0.2711180069732675,-0.26551900871849576,-0.26025164313124516,-0.25533965543817233},
{3.540455886155097,2.0800795389612654,0.9551655485025388,0.2783358850045925,-0.06120176221339092,-0.2140123327844459,-0.2797155825973866,-0.30558163049434506,-0.30796637020254675,-0.30691616950774636,-0.30402650883022186,-0.3015117025907081,-0.29994072087905266,-0.295587248792253,-0.289683531956635,-0.28336493404612506,-0.277123233587743,-0.27115133448984957,-0.2655410171923872,-0.2602649522100975,-0.25534613598537503},
{3.53809027697831,2.0718794837925705,0.9482207643435763,0.2733111029568468,-0.06439431732329273,-0.2160122076988925,-0.28099840676767457,-0.30643304448302344,-0.3085375909990991,-0.3073465134238874,-0.3043476070410087,-0.3018080722772983,-0.30016055228242455,-0.2957338107819432,-0.28978251400418414,-0.28343310267383376,-0.2771704536517217,-0.27118348940042997,-0.26556198494593247,-0.2602773242525063,-0.25535176412933547},
{3.5356938203401485,2.063689549268134,0.9412982237003741,0.2683116955026241,-0.06756631362971109,-0.21799714622779748,-0.28227057967203745,-0.3072765951096628,-0.3091033499807905,-0.307772487097834,-0.30466518696203054,-0.3021017686965796,-0.300377404590391,-0.29587796563883967,-0.28987958667488306,-0.28349970199844615,-0.27721633985678595,-0.2712144827843981,-0.26558192173413425,-0.26028876803062956,-0.25535654784329453},
{3.5332666708556517,2.0555098368087936,0.9343978879104476,0.2633375640334746,-0.07071786958826942,-0.21996725126525998,-0.28353218209870784,-0.3081123342970944,-0.309663693561108,-0.30819412661573437,-0.30497928619529496,-0.3023927937492812,-0.30059130023932507,-0.2960197363113832,-0.28997476859843674,-0.28356474716087804,-0.2772609049157069,-0.27124432561319867,-0.2656008372183383,-0.26029929223419934,-0.25536049502584185},
{3.5308089830635354,2.04734044663022,0.927519718296455,0.258388610024875,-0.07384910307737987,-0.22192262501626828,-0.2847832942103328,-0.30894031326026605,-0.310218667702872,-0.30861146774538784,-0.3052899433579964,-0.3026811494375324,-0.3008022616353103,-0.29615914554772943,-0.29006807821618624,-0.28362825314871626,-0.27730416141502323,-0.27127302875151327,-0.2656187409673124,-0.26030890547137325,-0.2553636135016905},
{3.528320911420632,2.039181477750076,0.9206636761677562,0.2534647350404268,-0.07696013139942058,-0.22386336900077347,-0.28602399554880487,-0.30976058254273525,-0.3107683179232727,-0.30902454593936923,-0.3055971981493725,-0.30296683788256246,-0.3010103111500283,-0.2962962158965921,-0.29015953378304593,-0.28369023479793465,-0.27734612181645224,-0.2713006029584297,-0.26563564245831695,-0.26031761626957506,-0.2553659110224404},
{3.5258026102963558,2.031033027995151,0.9138297228218251,0.24856584073599605,-0.08005107128190149,-0.22578958405773494,-0.2872543650400496,-0.3105731920536099,-0.31131268929884265,-0.30943339633810474,-0.3059010914003898,-0.3032498613410193,-0.3012154711167452,-0.2964309697081039,-0.2902491533694183,-0.2837507067945833,-0.27738679845827563,-0.2713270588885953,-0.26565155107814825,-0.2603254330763192,-0.25536739526732855},
{3.5232542339672532,2.0228951940085182,0.9070178195455151,0.2436918288637825,-0.08312203887869038,-0.22770137034917015,-0.2884744809987789,-0.3113781911047095,-0.3118518264703791,-0.3098380537729217,-0.3062016651052224,-0.30353022221998466,-0.30141776382640517,-0.296563429134722,-0.2903369548631031,-0.2838096836764639,-0.2774262035567101,-0.2713524070933505,-0.26566647612417116,-0.2603323642600346,-0.25536807384397575},
{3.5206759366116063,2.0147680712566873,0.9002279276161994,0.23884260127633983,-0.08617314977124203,-0.22959882736417894,-0.2896844211332238,-0.3121756284477092,-0.3123857736478045,-0.3102385527690656,-0.30649896243402164,-0.3038079230907174,-0.3016172115238152,-0.2966936161321603,-0.2904229559711848,-0.2838671798347786,-0.2774643492072615,-0.271376658021856,-0.2656804268053405,-0.260338418110868,-0.25536795428912235},
{3.5180678723040986,2.0066517540367586,0.8934600083027744,0.2340180599305318,-0.08920451896985435,-0.2314820539229568,-0.2908842625498131,-0.31296555231107065,-0.312914574614971,-0.31063492754867683,-0.3067930277269477,-0.3040829667011825,-0.30181383640394277,-0.29682155246034525,-0.29050717422190697,-0.283923209515772,-0.2775012473860673,-0.27139982202220386,-0.26569341224320187,-0.26034360284149294,-0.25536704406935884},
{3.5154301950105475,1.9985463354835808,0.8867140228665413,0.2292181068914242,-0.09221626091497155,-0.23335114818080555,-0.29207408175783955,-0.3137480104365614,-0.31343827273441455,-0.3110272120337461,-0.3070839064699114,-0.30435535598741786,-0.3020076606083021,-0.29694725968441066,-0.29058962696653357,-0.283977786822338,-0.2775369099512106,-0.2714219093425122,-0.265705441472877,-0.2603479265878946,-0.25536535058184234},
{3.5127630585826806,1.9904519075769096,0.879989932561971,0.22444264433612646,-0.09520848947847801,-0.23520620763211658,-0.29325395467408105,-0.3145230501151836,-0.3139569109520465,-0.3114154398490264,-0.3073716452528165,-0.30462509408377536,-0.3021987062214475,-0.29707075917570624,-0.2906703313811877,-0.28403092571561894,-0.2775713486440315,-0.2714429301320088,-0.2657165234440347,-0.2603513974101533,-0.25536288115500944},
{3.5100666167529946,1.982368561148566,0.8732876986373533,0.21969157455756338,-0.0981813179650418,-0.2370473291143515,-0.2944239566273859,-0.3152907182223565,-0.3144705318017968,-0.31179964432491974,-0.3076562917114381,-0.3048921843320907,-0.30238699526756396,-0.297192072112844,-0.29074930446868424,-0.2840826400165834,-0.2776045750904123,-0.2714628944421042,-0.26572666702185077,-0.2603540232932205,-0.2553596430492847},
{3.5073410231296567,1.974296385889594,0.8666072823353383,0.21496479996820167,-0.10113485911346672,-0.2388746088120028,-0.29558416236324403,-0.31605106125220306,-0.3149791774101982,-0.31217985850033,-0.30793789445431974,-0.30515663028981826,-0.30257254970715836,-0.2973112194827585,-0.29082656306033833,-0.284132943407581,-0.277636600802051,-0.2714818122274421,-0.2657358809879453,-0.26035581214767894,-0.25535564345776973},
{3.5045864311914756,1.966235470357423,0.8599486448933773,0.21026222310371023,-0.10406922509806191,-0.24068814226053942,-0.29673464604829874,-0.3168041253508163,-0.3154828895009201,-0.3125561151254856,-0.30821650297625164,-0.3054184357371737,-0.3027553914338492,-0.2974282220818003,-0.29090212381776387,-0.2841818494338866,-0.2776674371777213,-0.27149969334695034,-0.26574417404130785,-0.260356771810505,-0.2553508895069384},
{3.5018029942829214,1.9581859019830197,0.8533117475440578,0.20558374662656398,-0.10698452753006091,-0.24248802435034988,-0.2978754812748499,-0.3175499563483919,-0.3159817093992492,-0.3129284466647307,-0.3084921675600412,-0.3056776046833265,-0.3029355422712496,-0.2975431005168394,-0.29097600323465156,-0.28422937150521704,-0.2776970955045111,-0.2715165475648631,-0.26575155479920837,-0.26035691004581,-0.25534538825731007},
{3.4989908656092132,1.9501477670780465,0.8466965515153543,0.20092927332959643,-0.10988087745902361,-0.24427434933065545,-0.29900674106531433,-0.31828859979012936,-0.316475678036516,-0.31329688529928734,-0.3087649391683476,-0.30593414137167896,-0.3031130239699562,-0.29765587520640113,-0.29104821763853705,-0.2842755228972391,-0.2777255869590519,-0.2715323845517367,-0.265758031798096,-0.26035623454558193,-0.2553391467041284},
{3.496150198231461,1.9421211508420144,0.8401030180307814,0.1962987061394861,-0.11275838537428882,-0.24604721081342176,-0.3001284978766461,-0.31902010096581884,-0.31696483595446817,-0.31366146292998454,-0.3090348693273912,-0.30618805028427104,-0.303287858204625,-0.29776656638181515,-0.29111878319254453,-0.28432031675305325,-0.27775292260872814,-0.2715472138854509,-0.2657636134944776,-0.26035475293041827,-0.25533217177802425},
{3.4932811450618675,1.934106137369435,0.8335311083094673,0.19169194812019957,-0.11561716120643273,-0.24780670177724992,-0.30124082360474946,-0.3197445049380495,-0.317449223309601,-0.31402221117996487,-0.3093020100043462,-0.3064393361453574,-0.30346006657115393,-0.2978751940883859,-0.29118771589712855,-0.28436376608466163,-0.27777911341287803,-0.2715610450521876,-0.2657683082657891,-0.2603524727502459,-0.2553244703456757},
{3.490383858858977,1.9261028096569632,0.8269807835661445,0.18710890247637,-0.11845731432874013,-0.24955291457124926,-0.30234378958882785,-0.32046185656897735,-0.3179288798774205,-0.31437916139734884,-0.30956641348014113,-0.30668800392418133,-0.3036296705839474,-0.29798177818657373,-0.2912550315917775,-0.28440588377441844,-0.27780417022396975,-0.2715738874473903,-0.2657721244112455,-0.26034940148503805,-0.2553160492104545},
{3.487458492223006,1.9181112496105457,0.8204520050110654,0.18254947255662335,-0.12127895355872395,-0.25128594091890943,-0.3034374666157313,-0.32117220054562334,-0.31840384505667607,-0.3147323446578881,-0.30982813221937816,-0.30693405883701236,-0.3037966916732856,-0.2980863383532066,-0.2913207459567294,-0.28444668257646605,-0.27782810378877604,-0.27158575037671384,-0.26577507015268353,-0.2603455465455203,-0.25530691511307324},
{3.4845051975911976,1.9101315380525565,0.813944733849844,0.17801356185685446,-0.1240821871596243,-0.25300587192194063,-0.30452192492425223,-0.3218755814036524,-0.3188741578735263,-0.31508179176757384,-0.3100872187389223,-0.30717750634845764,-0.3039611511827788,-0.29818889408269217,-0.29138487451464573,-0.28448617511814833,-0.27785092474952394,-0.27159664305694514,-0.2657771536353921,-0.26034091527387027,-0.2552970747322205},
{3.4815241272332544,1.9021637547289325,0.8074589312832311,0.1735010740234387,-0.12686712284195945,-0.25471279806411273,-0.30559723420939566,-0.32257204354963703,-0.3193398569856651,-0.3154275332652263,-0.3103437254766396,-0.30741835217212,-0.3041230703669189,-0.298289464688251,-0.29144743263228745,-0.2845243739014134,-0.2778726436450337,-0.2716065746169112,-0.26577838292891987,-0.2603355149444077,-0.2552865346851883},
{3.4785154332468253,1.8942079783162993,0.8009945585068253,0.16901191285640466,-0.12963386776507205,-0.25640680921506914,-0.3066634636266248,-0.32326163128177304,-0.3198009806863946,-0.31576959942505334,-0.3105977046616221,-0.3076566022706226,-0.3042824703887193,-0.2983880693031661,-0.291508435522166,-0.2845612913041924,-0.2778932709118459,-0.27161555409836846,-0.26577876602788497,-0.26032935276428043,-0.2552753015284977},
{3.475479267553041,1.8862642864290957,0.7945515767107222,0.16454598231254378,-0.13238252853869453,-0.25808799463412974,-0.3077206817960655,-0.32394438880907067,-0.32025756690865037,-0.316108020259181,-0.31084920818710077,-0.30789226285505655,-0.3044393723174394,-0.29848472688203687,-0.2915678982441777,-0.2845969395817689,-0.27791281688533115,-0.271623590456869,-0.26577831085275755,-0.2603224358741387,-0.2552633817585066},
{3.472415781892109,1.8783327556266893,0.7881299470791087,0.16010318650847072,-0.13511321122455536,-0.2597564429740829,-0.3087689568066876,-0.32462036026900976,-0.32070965322898276,-0.31644282552016195,-0.3110982874871223,-0.3081253403838931,-0.3045937971264083,-0.29857945620205467,-0.29162583570723344,-0.2846313308681318,-0.2779312918007947,-0.2716306925626274,-0.2657770252506469,-0.26031477134880643,-0.25525078181202915},
{3.469325127818954,1.87041346142048,0.7817296307897998,0.15568342972363403,-0.13782602133796376,-0.2614122422849524,-0.3098083562204522,-0.3252895897436856,-0.3211572768714821,-0.31677404470344783,-0.3113449934179136,-0.30835584156139,-0.30474576569092265,-0.298672275864276,-0.29168226267085656,-0.28466447717730364,-0.2779487057945518,-0.2716368692013511,-0.2657749169960588,-0.26030636619794045,-0.2552375080669259},
{3.466207456698937,1.862506478281007,0.7753505890137325,0.15128661640326896,-0.14052106384944543,-0.2630554800177608,-0.31083894707642723,-0.3259521212744721,-0.321600474711668,-0.31710170704984597,-0.31158937614473387,-0.3085837733355602,-0.3048952987862444,-0.29876320429492154,-0.29173719374678025,-0.28469639040466577,-0.2779650689050093,-0.27164212907508367,-0.2657719937916588,-0.26029722736668803,-0.25522356684270886},
{3.4630629197035923,1.8546118796450337,0.7689927829144046,0.14691265116131075,-0.1431984431863681,-0.2646862430282634,-0.3118607958948785,-0.326607998875215,-0.3220392832803211,-0.31742584154794157,-0.3118314850348767,-0.308809142895708,-0.3050424170856636,-0.2988522597466663,-0.2917906434005163,-0.28472708232825433,-0.27798039107371664,-0.2716464808030204,-0.2657682632690108,-0.26028736173633,-0.2552089644011202},
{3.4598916678064544,1.846729737922636,0.7626561736472793,0.14256143878324845,-0.14585826323458687,-0.26630461758067575,-0.3128739686813223,-0.32725726654400833,-0.32247373876727525,-0.31774647693649344,-0.3120713685573569,-0.3090319576696055,-0.30518714115866413,-0.29893946029995105,-0.2918426259529142,-0.2847565646100503,-0.27799468214641654,-0.2716499329223235,-0.2657637329893122,-0.2602767761249257,-0.2551937069467188},
{3.4566938517789048,1.8388601245042702,0.7563407223591407,0.13823288422893285,-0.1485006273401282,-0.26791068935138834,-0.3138785309305558,-0.3278999682735843,-0.32290387702516615,-0.31806364170681556,-0.31230907418971593,-0.30925222532032764,-0.3053294914691575,-0.29902482386429563,-0.29189315558171147,-0.28478484879725474,-0.27800795187407584,-0.27165249388893425,-0.2657584104441208,-0.26026547728794264,-0.255177800627457},
{3.453469622186107,1.831003109767844,0.7500463901874193,0.13392689263533822,-0.15112563831084883,-0.2695045434326519,-0.3148745476306553,-0.3285361480603571,-0.32332973357312894,-0.31837736410512063,-0.3125446483322356,-0.30946995374278374,-0.3054694883738042,-0.29910836817961983,-0.2919422463230532,-0.28481194632354023,-0.27802020991391035,-0.27165417207837567,-0.26575230305606407,-0.2602534719188857,-0.25516125153524505},
{3.4502191293829574,1.8231587630857584,0.7437731382594776,0.1296433693192676,-0.15373339841814096,-0.27108626433626337,-0.31586208326693666,-0.32916584991217196,-0.32375134360045327,-0.31868767213484267,-0.31277813622978534,-0.30968515105998407,-0.305607152120408,-0.29919011081756564,-0.2919899120730093,-0.2848378685102959,-0.2780314658303863,-0.27165497578655284,-0.26574541817954367,-0.26024076664991463,-0.25514406570651743},
{3.4469425235101183,1.8153271528319608,0.7375209276918684,0.12538221978002076,-0.15632400939863522,-0.27265593599722254,-0.3168412018259054,-0.3297891178548052,-0.3241687419701977,-0.3189945935589392,-0.3130095819014156,-0.309897825619072,-0.30574250284638865,-0.299270069182831,-0.29203616658906995,-0.28486262656785094,-0.27804172909622316,-0.2716549132305526,-0.2657377631014304,-0.2602273680524585,-0.2551262491227835},
{3.443639954490084,1.8075083463889667,0.7312897195895629,0.12114334970201134,-0.15889757245590802,-0.27421364177737545,-0.3178119667991544,-0.3304059959372692,-0.3245819632227558,-0.31929815590216293,-0.3132390280777281,-0.3101079859871489,-0.3058755605773398,-0.29934826051450275,-0.29208102349162735,-0.2848862315966926,-0.27805100909337693,-0.2716539925494431,-0.2657293450417505,-0.2602132826378233,-0.2551078077111861},
{3.440311572023304,1.799702410154879,0.72507947504515,0.11692666495733199,-0.16145418826223376,-0.2757594644690511,-0.318774441187251,-0.33101652823597494,-0.3249910415793818,-0.3195983864533139,-0.31346651614597854,-0.31031564094692005,-0.30600634522564263,-0.2994247018873951,-0.2921244962654443,-0.28490869458865864,-0.27805931511401016,-0.2716522218050685,-0.26572017115435564,-0.26019851685778866,-0.2550887473450375},
{3.4369575255843614,1.7919094095503962,0.7188901551380169,0.11273207160828509,-0.16399395696031105,-0.2772934862986684,-0.319728687503588,-0.331620758857804,-0.32539601094567566,-0.3198953122674673,-0.31369208610282434,-0.31052079949218997,-0.3061348765891704,-0.29949941021338905,-0.2921665982611011,-0.28493002642812415,-0.27806665636145333,-0.2716496089828434,-0.2657102485275976,-0.2601830771052031,-0.2550690738443591},
{3.4335779644181934,1.7841294090257998,0.7127217209335025,0.1085594759098545,-0.16651697816502836,-0.2788157889303357,-0.3206747677781967,-0.3322187319421471,-0.3257969049150188,-0.3201889601681726,-0.3139157765145282,-0.3107234708232265,-0.3062611743500547,-0.29957240224277665,-0.2922073426964371,-0.2849502378931703,-0.27807304195115723,-0.2716461619925533,-0.26569958418498,-0.26016696971457354,-0.2550487929764187},
{3.4301730375363677,1.7763624720679345,0.7065741334820385,0.10440878431214579,-0.1690233509652257,-0.2803264534694299,-0.3216127435615544,-0.33281049166196564,-0.3261937567719746,-0.3204793567496368,-0.3141376244844305,-0.31092366434201446,-0.30638525807352135,-0.29964369456560186,-0.2922467426579678,-0.28496933965673826,-0.27807848091162524,-0.27164188866914196,-0.26568818508581177,-0.2601502009626389,-0.25502791045624695},
{3.426742893713419,1.768608661207174,0.70044735381827,0.10027990346277763,-0.1715131739254657,-0.2818255604661587,-0.32254267592833896,-0.3333960822239315,-0.3265865994956481,-0.32076652837888153,-0.3143576656274259,-0.3111213896474278,-0.3065071472068012,-0.29971330361301,-0.2922848111022954,-0.284987342287775,-0.27808298218534716,-0.2716367967735089,-0.2656760581258504,-0.260132777068955,-0.2550064319471668},
{3.423287681483201,1.7608680380243646,0.6943413429601598,0.0961727402092248,-0.17398654508783912,-0.28331318991911186,-0.3234646254811701,-0.33397554786769973,-0.32697546576299724,-0.3210505011978728,-0.31457593405116374,-0.311316656530323,-0.3066268610780992,-0.29978124565858755,-0.2923215608574972,-0.2850042562523584,-0.27808655462970866,-0.2716308939933001,-0.26566321013793137,-0.260114704196453,-0.25498436306130234},
{3.419807549135326,1.7531406631577624,0.688256061908084,0.09208720160112832,-0.17644356197374564,-0.28478942127878804,-0.32437865235431973,-0.3345489328643713,-0.32736038795211414,-0.32133130112563724,-0.31479246234365654,-0.3115094749685763,-0.30674441889563575,-0.29984753681971127,-0.29235700462450326,-0.28502009191481004,-0.278089207017899,-0.27162418794369225,-0.2656496478925975,-0.26009598845200776,-0.25496170936008855},
{3.4163026447116365,1.7454265963099527,0.6821914716439176,0.08802319489255206,-0.17888432158571538,-0.2862543334511118,-0.3252848162173846,-0.33511628151420053,-0.3277413981454577,-0.321608953860348,-0.3150072815669667,-0.311699855122088,-0.30685983974674735,-0.29991219305888867,-0.29239115497845986,-0.28503485953880464,-0.27809094803980294,-0.2716166861681833,-0.265635378098717,-0.26007663588699076,-0.25493847635477573},
{3.412773116002724,1.7377258962547482,0.6761475331301079,0.08398062754420917,-0.18130892040922192,-0.2877080048009303,-0.326183176278953,-0.3356776381435985,-0.32811852813305387,-0.321883484881392,-0.3152204212566255,-0.31188780732774946,-0.30697314259705466,-0.2999752301851036,-0.292424024370078,-0.28504856928845024,-0.27809178630288683,-0.2716083961393738,-0.26562040740409704,-0.26005665249782395,-0.25491466950692665},
{3.409219110544496,1.730038620844076,0.6701242073087457,0.07995940722564024,-0.1837174544145006,-0.28915051315549006,-0.3270737912902164,-0.3362330471014886,-0.3284918094156481,-0.3221549194514149,-0.315431909426409,-0.3120733420943965,-0.3070843462896867,-0.30003666385515415,-0.29245562512696516,-0.2850612312293689,-0.27809173033306855,-0.271599325259743,-0.26560474239608295,-0.2600360442265206,-0.2548902942289067},
{3.405640775614792,1.7223648270148464,0.6641214551006263,0.07595944181735098,-0.1861100190584059,-0.2905819358079077,-0.3279567195485783,-0.3367825527550639,-0.32886127320783043,-0.3224232826183441,-0.3156417725781303,-0.3122564700977549,-0.3071934695445715,-0.30009650957499207,-0.29248596945494626,-0.28507285532975635,-0.2780907885755803,-0.2715894808624212,-0.26558838960216,-0.2600148169612258,-0.25486535588437476},
{3.4020382582300517,1.7147045707958006,0.6581392374043157,0.071980639412916,-0.18848670928623595,-0.29200234952061144,-0.32883201890121966,-0.3373261994849965,-0.3292269504411142,-0.3226885992173898,-0.3158500357160532,-0.3124372021753871,-0.3073005309577791,-0.3001547827010612,-0.29251506943936767,-0.2850834514614338,-0.27808896939582095,-0.27157887021196014,-0.265571355490542,-0.259992976536748,-0.2548398597887596},
{3.398411705142024,1.707057907314344,0.652177515095206,0.06802290832103097,-0.1908476195336007,-0.293411830528776,-0.32969974674864055,-0.33786403168014895,-0.32958887176697743,-0.3229508938730257,-0.31605672236558163,-0.3126155493216475,-0.30740554900093153,-0.30021149844162615,-0.29254293704638923,-0.28509302940088777,-0.27808628108019984,-0.27156750050509126,-0.26555364647075386,-0.25997052873508947,-0.2548138112097406},
{3.3947612628345203,1.6994248908033591,0.6462362490245785,0.06408615706753928,-0.19319284372827605,-0.29481045454373256,-0.3305599600481855,-0.3383960937318312,-0.3299470675598739,-0.3232101910009475,-0.3162618545958468,-0.3127915226826564,-0.3075085420206632,-0.30026667185810246,-0.29256958412426043,-0.28510159883029007,-0.27808273183696486,-0.2715553788714816,-0.26553526889420753,-0.2599474792859615,-0.25478721536771526},
{3.391087077520225,1.6918055746080038,0.6403154000186658,0.06017029439741406,-0.19552247529206646,-0.2961982967563646,-0.33141271531752386,-0.3389224300276551,-0.3303015679201972,-0.32346651481001115,-0.3164654530458402,-0.31296513355129174,-0.30760952823814103,-0.3003203178663814,-0.2925950224045829,-0.28510916933851493,-0.2780783297970258,-0.2715425123744767,-0.2655162290547763,-0.25992383386730633,-0.2547600774362634},
{3.387389295137537,1.684200011192482,0.6344149288777149,0.056275229276694635,-0.19783660714270004,-0.29757543184049356,-0.33225806863812135,-0.339443084945023,-0.33065240267721907,-0.3237198893041531,-0.3166675369537507,-0.3131363933622174,-0.3077085257486419,-0.30037245123815337,-0.2926192635035666,-0.28511575042214127,-0.27807308301477063,-0.27152890801184754,-0.26549653318935684,-0.2598995981058061,-0.2547324025426161},
{3.383668061347473,1.6766082521467998,0.6285347963750606,0.052400870894402145,-0.20013533169569234,-0.2989419339562328,-0.3330960756586728,-0.3399581028442966,-0.33099960139198137,-0.3239703382842829,-0.3168681241891531,-0.3133053136869265,-0.3078055525211763,-0.3004230866022195,-0.2926423189232527,-0.2851213514864363,-0.2780669994688621,-0.27151457271651025,-0.2654761874784218,-0.259874777577384,-0.25470419576809844},
{3.3799235215306025,1.6690303481935034,0.6226749632561979,0.04854712866439527,-0.2024187408662525,-0.300297876753345,-0.3339267915985117,-0.34046752806168734,-0.3313431933601651,-0.32421788535016816,-0.31706723128773845,-0.31347190622884724,-0.30790062639818044,-0.30047223844580906,-0.2926642000527518,-0.28512598184634336,-0.278060087063035,-0.2714995133572591,-0.26545519804658263,-0.25984937780771095,-0.2546754621485938},
{3.376155820784035,1.6614663491943906,0.6168353902378677,0.04471391222720947,-0.20468692607117212,-0.3016433333745594,-0.3347502712510015,-0.34097140490190053,-0.33168320761490977,-0.32446255390228773,-0.3172648734882598,-0.3136361828184594,-0.30799376509523835,-0.30051992111587805,-0.29268491816944164,-0.2851296507274359,-0.2780523536268793,-0.27148373673947024,-0.26543357096312326,-0.25982340427269124,-0.25464620667497895},
{3.3723651039184452,1.653916304157206,0.611016038007149,0.04090113145184938,-0.2069399782307212,-0.30297837645888925,-0.33556656898688636,-0.3414697776305754,-0.33201967292960827,-0.32470436714366924,-0.3174610647714015,-0.31379815540847583,-0.3080849862008737,-0.30056614882041216,-0.2927044844401643,-0.2851323672668799,-0.27804380691661323,-0.27146724960580815,-0.2654113122425453,-0.25979686239896066,-0.254616434293567},
{3.368551515455153,1.6463802612423108,0.6052168672205576,0.03710869643754047,-0.2091779877705776,-0.3043030781449293,-0.3363757387576325,-0.3419626904665578,-0.3323526178206671,-0.32494334808171504,-0.31765581790029057,-0.3139578360690608,-0.3081743071763756,-0.3006109356297244,-0.29272290992241634,-0.28513414051437513,-0.27803445461585174,-0.2714500586369215,-0.26538842784510375,-0.259769757564362,-0.2545861499065476},
{3.364715199623231,1.6388582677693335,0.5994378385031608,0.033336517515457575,-0.2114010446237199,-0.30561751007412663,-0.3371778340987293,-0.34245018757402834,-0.33268207055022736,-0.32517951952999813,-0.31784914446237045,-0.31411523698309357,-0.30826174535567824,-0.300654295477738,-0.29274020556550784,-0.2851349794330892,-0.2780243043363608,-0.27143217045212475,-0.2653649236773289,-0.2597420950984275,-0.254555358372413},
{3.3608563003566827,1.6313503702238017,0.5936789124477018,0.02958450525039899,-0.21360923823236566,-0.30692174339405065,-0.3379729081329729,-0.3429323130545296,-0.3330080591288565,-0.32541290411004514,-0.31804105491239393,-0.3142703704414921,-0.30834731794528064,-0.30069624216327095,-0.29275638221172817,-0.2851348929005748,-0.278013363618805,-0.2714135916100725,-0.26534080559255463,-0.25971388028285425,-0.2545240645063893},
{3.3569749612916246,1.6238566142637403,0.587940049613734,0.025852570442443705,-0.21580265754988648,-0.3082158487616308,-0.3387610135737281,-0.3434091109389104,-0.33333061131820735,-0.3256435242531038,-0.3182315586162891,-0.3144232488385776,-0.3084310420242079,-0.3007367893513105,-0.2927714505974847,-0.28513388970968245,-0.2780016399334882,-0.2713943286094238,-0.2653160793914299,-0.2596851183519663,-0.25449227308085187},
{3.3530713257635494,1.616377044726258,0.5822212105267767,0.022140624128562304,-0.21798139104273195,-0.3094998963463805,-0.3395422027281519,-0.3438806251792226,-0.3336497546336394,-0.32587140220188404,-0.3184206638956853,-0.31457388466750025,-0.30851293454401785,-0.3007759505742803,-0.292785421354436,-0.2851319785694613,-0.27798914068108244,-0.27137438788949664,-0.26529075082243375,-0.25965581449318725,-0.25445998882574994},
{3.349145536804606,1.6089117056341067,0.5765223556774768,0.01844857758419153,-0.22014552669238505,-0.31077395583361844,-0.3403165275004085,-0.3443468996405938,-0.3339655163468173,-0.32609656001229337,-0.3186083780728721,-0.31472229051571865,-0.3085930123288372,-0.3008137392333044,-0.29279830501061066,-0.285129168106046,-0.2779758731933515,-0.27135377583091286,-0.265264825582379,-0.25962597384748975,-0.2544272164290144},
{3.345197737140933,1.6014606402022118,0.570843445520791,0.014776342324781852,-0.22229515199727995,-0.3120380964276505,-0.34108403939484866,-0.3448079780930984,-0.33427792348826757,-0.3263190195551436,-0.31879470751603,-0.3148684790605297,-0.30867129207543853,-0.3008501685994552,-0.29281011199151125,-0.2851254668635355,-0.2779618447338615,-0.2713324987562292,-0.26523830931691234,-0.2595956015098524,-0.25439396053696595},
{3.3412280691900365,1.59402389084419,0.5651844404751865,0.011123830107298179,-0.22443035397476233,-0.3132923868549528,-0.34184478951916103,-0.34526390420365227,-0.3345870028499116,-0.3265388025178442,-0.31897965768451714,-0.31501246306466796,-0.3087477903533546,-0.300885251815005,-0.29282085262121177,-0.28512088330486407,-0.27794706249868706,-0.2713105629305662,-0.2652112076210116,-0.2595647025297121,-0.2543602257547228},
{3.337236675058194,1.5866014991788306,0.5595453009218516,0.007490952931699615,-0.22655121916302584,-0.31453689536732754,-0.34259882858751883,-0.34571472152794835,-0.3348927809875615,-0.3267559304060842,-0.31916323317408285,-0.31515425537194813,-0.30882252360501516,-0.3009190018946618,-0.29283053712343715,-0.2851154258126532,-0.27793153361711,-0.27128797456221593,-0.26518352603947054,-0.25953328191140107,-0.25432601664659515},
{3.333223696537917,1.5791935060365605,0.553925987203935,0.003877623042376613,-0.22865783362305964,-0.31577168974504155,-0.3433462069236747,-0.34616047350245627,-0.33519528422338996,-0.3269704245454891,-0.3193454377618343,-0.3152938689029837,-0.30889550814592437,-0.3009514317267997,-0.2928391756226324,-0.28510910269006623,-0.27791526515230586,-0.27126473980325655,-0.2651552700673918,-0.2595013446145929,-0.2542913377364833},
{3.329189275105445,1.5717999514658794,0.5483264596257929,0.00028375292955120507,-0.23075028294061953,-0.31699683729996075,-0.34408697446405634,-0.34660120343650663,-0.3354945386483704,-0.32718230608326654,-0.31952627445083553,-0.3154313166509532,-0.30896676016486113,-0.30098255407468466,-0.2928467781450231,-0.28510192216164354,-0.2778982641020258,-0.2712408647501369,-0.26512644515065875,-0.25946889555473207,-0.25425619350826995},
{3.325133551918282,1.5644208747397725,0.5427466784522625,-0.0032907446693455737,-0.23282865222816704,-0.31821240487864966,-0.34482118076082297,-0.3470369545044637,-0.33579057012468067,-0.3273915959898329,-0.3197057455142021,-0.31556661167742783,-0.30903629572410574,-0.30101238157768434,-0.2928533546196575,-0.2850938923741288,-0.27788053739926655,-0.27121635544426703,-0.2650970566864112,-0.2594359396034669,-0.25422058840620265},
{3.3210566678127726,1.5570563143620977,0.5371866039079551,-0.006845956768345946,-0.23489302612684299,-0.3194184588654666,-0.34554887498489806,-0.3474677697380181,-0.33608340428808536,-0.32759831506042814,-0.31988385253859075,-0.31569976710827186,-0.30910413075969834,-0.3010409267524764,-0.29285891487944404,-0.2850850213972909,-0.27786209191294153,-0.271191217872597,-0.26506711002352,-0.25940248158907125,-0.25418452683527765},
{3.3169587633017126,1.5497063080739397,0.5316461961765643,-0.010381970131635547,-0.23694348880842547,-0.3206150651856383,-0.3462701059289939,-0.34789369201860443,-0.3363730665502849,-0.32780248391670797,-0.3200605964669836,-0.31583079612959103,-0.3091702810817144,-0.30106820199424733,-0.2928634686621702,-0.28507531722472895,-0.27784293444853136,-0.2711654579681793,-0.26503661046304694,-0.25936852629687035,-0.25414801316162144},
{3.312839978572017,1.542370892859954,0.5261254154002045,-0.01389887127228705,-0.2389801239772871,-0.32180228930831123,-0.3469849220105906,-0.34831476406995293,-0.3366595821012345,-0.32800412300832654,-0.3202359776406652,-0.31595971198375616,-0.3092347623745707,-0.3010942195778801,-0.2928670256115167,-0.28506478777467503,-0.2778230717487341,-0.2711390816107282,-0.2650055632587067,-0.2593340784696545,-0.2541110517128595},
{3.308700453482403,1.5350501049546665,0.5206242216787613,-0.017396746451023945,-0.24100301487238124,-0.3229801962496024,-0.34769337127491096,-0.3487310284507981,-0.3369429759114412,-0.3282032526145036,-0.3204099958403331,-0.31608652796548253,-0.3092975901973463,-0.3011189916591347,-0.2928695952780561,-0.2850534408907845,-0.27780251049410853,-0.2711120946271733,-0.26497397361732067,-0.25929914280808963,-0.2540736467784927},
{3.3045403275611256,1.5277439798487553,0.5151425750692733,-0.02087568167501586,-0.24301224426919532,-0.32414885057561316,-0.348395501397861,-0.34914252754774455,-0.3372232727342232,-0.3283998928455695,-0.3205826503262616,-0.31621125741797235,-0.3093587799841286,-0.30114253027582255,-0.29287118712023963,-0.28504128434291076,-0.2777812573036994,-0.2710845027921951,-0.2649418466992681,-0.25926372397112607,-0.254035802610257},
{3.300359740003754,1.5204525522953076,0.5096804355853267,-0.02433576269671413,-0.2450078944817351,-0.3253083164054433,-0.3490913596889472,-0.3495493035683028,-0.33750049710795155,-0.32859406364450466,-0.3207539398774596,-0.316333913729129,-0.30941834704438276,-0.301164847348968,-0.29287181050537775,-0.2850283258278869,-0.27775931873566234,-0.2710563118287622,-0.26490918761893445,-0.2592278265764037,-0.253997523422493},
{3.2961588296709756,1.5131758563160438,0.5042377631964828,-0.02777707501270774,-0.24699004736449082,-0.32645865741417573,-0.34978099309418337,-0.34995139853410134,-0.3377746733582577,-0.32878578478845555,-0.3209238628297775,-0.31645451032782657,-0.30947630656333086,-0.30118595468396026,-0.2928714747106023,-0.2850145729702794,-0.27773670128786904,-0.2710275274086532,-0.2648760014451479,-0.2591914552006478,-0.25395881339249754},
{3.2919377350864463,1.505913925207514,0.4988145178277222,-0.031199703862620158,-0.24895878431440593,-0.32759993683585004,-0.3504644481989555,-0.3503488542742882,-0.3380458256002153,-0.328975075890242,-0.3210924171129163,-0.31657306068025176,-0.3095326736023584,-0.3012058639717032,-0.2928701889238223,-0.28500003332314555,-0.2777134113985048,-0.27099815515297393,-0.2648422932016185,-0.2591546143800654,-0.253919676660881},
{3.287696594434672,1.4986667915472751,0.49341065935891304,-0.03460373422804104,-0.25091418627287326,-0.3287322174664229,-0.3511417712308839,-0.3507417124191223,-0.3383139777405016,-0.32916195639984813,-0.32125960028630773,-0.31668957828630906,-0.30958746309943663,-0.30122458678975067,-0.29286796224467404,-0.28498471436878076,-0.2776894554466599,-0.2709682006326702,-0.26480806786737116,-0.25911730861073623,-0.2538801173319222},
{3.2834355455589392,1.4914344872000276,0.48802614762431007,-0.037989250831477965,-0.2528563337276906,-0.32985556166670216,-0.3518130080626486,-0.35113001439375646,-0.3385791534795197,-0.3293464456058952,-0.3214254095738319,-0.3168040766760835,-0.3096406898695556,-0.30124213460342975,-0.2928648036854465,-0.28496862351944907,-0.27766483975289324,-0.2709376693690205,-0.26477333037717077,-0.25907954234899655,-0.25384013947390693},
{3.27915472595926,1.4842170433237358,0.48266094241206603,-0.04135633813535867,-0.2547853067150571,-0.33097003136527775,-0.3524782042147961,-0.35151380141223204,-0.33884137631351235,-0.32952856263710717,-0.32158984189735745,-0.31691656940638835,-0.30969236860518723,-0.30125851876696624,-0.29286072217201137,-0.2849517681181194,-0.2776395705798022,-0.2709065668341417,-0.2647380856219493,-0.2590413200118261,-0.25379974711948167},
{3.2748542727903853,1.4770144903757096,0.47731500346377925,-0.04470508034104276,-0.25670118482154136,-0.3320756880614176,-0.3531374048585323,-0.3518931144716674,-0.33910066953663237,-0.32970832646375636,-0.3217528939090809,-0.31702707005735326,-0.30974251387674717,-0.30127375052458766,-0.29285572654473124,-0.28493415543917544,-0.2776136541325685,-0.2708748984514683,-0.26470233844922203,-0.25900264597722145,-0.2537589442659838},
{3.270534322859819,1.4698268581186666,0.47198829047406177,-0.04803556138788161,-0.25860404718605423,-0.33317259282796274,-0.3537906548184793,-0.3522679943466615,-0.3393570562429999,-0.3298857558990944,-0.3219145620226628,-0.3171355922291006,-0.3097911401330864,-0.301287841011625,-0.2928498255593637,-0.28491579268913264,-0.2775870965594955,-0.2708426695962342,-0.26466609366350197,-0.25896352458457406,-0.2537177348757821},
{3.266195012625895,1.462654175626757,0.46668076309012596,-0.0513478649523067,-0.2604939725018524,-0.3342608063142029,-0.35443799857542374,-0.3526384815839095,-0.33961055932873224,-0.3300608696007781,-0.3220748424431528,-0.3172421495384764,-0.30983826170199075,-0.3013008012556051,-0.2928430278879543,-0.2848966870073411,-0.27755990395254404,-0.2708098855959491,-0.26462935602671256,-0.2589239601350377,-0.25367612287661007},
{3.261836478195871,1.455496471291564,0.46139238091140844,-0.05464207444693638,-0.2623710390184909,-0.3353403887487261,-0.3550794802690376,-0.3530046164970208,-0.3398612014939462,-0.3302336860722665,-0.32223373119569576,-0.3173467556158477,-0.309883892790695,-0.3013126421773307,-0.29283534211971834,-0.28487684546667713,-0.2775320823478467,-0.27077655173086107,-0.2645921302585906,-0.2588839568918947,-0.2536341121618942},
{3.2574588553240877,1.4483537728280802,0.45612310348920976,-0.057918273019735886,-0.2642353245438251,-0.33641139994226577,-0.35571514370057017,-0.353366439161565,-0.3401090052447373,-0.3304042236642215,-0.3223912241530382,-0.31744942410197263,-0.3099280474864157,-0.3013233745919541,-0.29282677676191093,-0.28485627507423283,-0.27750363772622827,-0.27074267323442297,-0.2645544210370946,-0.25884351908092423,-0.2535917065910769},
{3.253062279410116,1.4412261072806407,0.4508728903263627,-0.06117654355318487,-0.26608690644597865,-0.33747389929051896,-0.356345032335539,-0.3537239894103166,-0.3403539928951372,-0.3305725005758802,-0.32254731706182427,-0.3175501686449288,-0.3099707397568893,-0.3013330092100365,-0.29281734024069245,-0.28483498277199065,-0.277474576013711,-0.2707082552937397,-0.26451623299879473,-0.25880265089075166,-0.2535489099899414},
{3.2486468854969797,1.434113501028839,0.4456417008769271,-0.06441696866348808,-0.26792586165531707,-0.3385279457769524,-0.3569691893063778,-0.35407730682872557,-0.34059618656904816,-0.330738534856423,-0.3227020055677071,-0.31764900289711767,-0.31001198345093417,-0.3013415566386082,-0.2928070409019775,-0.284812975437501,-0.27744490308202174,-0.27067330305002546,-0.26447757073927564,-0.25876135647321336,-0.2535057261509323},
{3.2442128082693977,1.4270159797934108,0.44042949454590774,-0.06763963069981485,-0.2697522666664472,-0.3395735979755991,-0.3575876574150757,-0.3544264307505952,-0.34083560820214676,-0.3309023444063251,-0.32285528523927454,-0.3177459405123211,-0.3100517922990153,-0.30134902738220803,-0.2927958870122814,-0.2847902598845388,-0.27741462474908984,-0.2706378215990405,-0.2644384388135165,-0.25871963994369873,-0.25346215883346396},
{3.239760182052052,1.4199335686420804,0.43523623068899936,-0.07084461174356146,-0.27156619754017225,-0.34061091405382554,-0.35820047913579783,-0.3547714002539738,-0.3410722795437754,-0.331063946978693,-0.323007151590823,-0.31784099514283787,-0.3100901799138252,-0.3013554318439175,-0.29278388675954736,-0.2847668428637615,-0.2773837467795478,-0.2706018159915263,-0.2643988417362858,-0.25867750538150347,-0.2534182117642389},
{3.2352891408079065,1.4128662919953876,0.43006186861235635,-0.07403199360765629,-0.27336772990548924,-0.34163995177509526,-0.35880769661746825,-0.3551122541572596,-0.34130622215880396,-0.33122336018059384,-0.3231576001039819,-0.3179341804366785,-0.31012715979088057,-0.301360780326395,-0.2927710482539791,-0.2847427310633597,-0.27735227488522907,-0.2705652912336462,-0.26435878398252105,-0.25863495683017257,-0.25337388863755367},
{3.2307998181365427,1.4058141736324772,0.42490636757238964,-0.07720185783587558,-0.275156938961551,-0.3426607685017062,-0.3594093516863577,-0.35544903101551084,-0.3415374574294691,-0.331380601474364,-0.32330662624821793,-0.31802551003482543,-0.31016274530912363,-0.3013650830328809,-0.2927573795288449,-0.28471793110969124,-0.27732021472566454,-0.2705282522874003,-0.2643182699877018,-0.2585919982978372,-0.2533291931156058},
{3.2262923472725418,1.3987772366968603,0.4197696867755875,-0.0803542857022021,-0.27693389947964164,-0.34367342119751554,-0.3600054858486287,-0.3557817691169712,-0.3417660065571969,-0.331535688178911,-0.32345422550023983,-0.3181149975685639,-0.31019694973154055,-0.3013683500682149,-0.29274288854129044,-0.2846924495679222,-0.2772875719085807,-0.2704907040710575,-0.2642773041482327,-0.25854863375755643,-0.2532841288287913},
{3.2217668610838928,1.3917555037021456,0.4146517853783617,-0.083489358210211,-0.2786986858051645,-0.3446779664306536,-0.3605961402928763,-0.35611050647979187,-0.3419918905643978,-0.33168863747100225,-0.32360039336233165,-0.3182026566568731,-0.3102297862057879,-0.30137059143983075,-0.29272758317313374,-0.28466629294264567,-0.2772543519903956,-0.2704526514595626,-0.26423589082180904,-0.2585048671476472,-0.25323869937601334},
{3.217223492070434,1.3847489965377417,0.40955262248692076,-0.08660715609247191,-0.28045137185959673,-0.3456744603762113,-0.3611813558926371,-0.35643528084896253,-0.3422151302962435,-0.3318394663865358,-0.32374512537962774,-0.31828850090388094,-0.31026126776482654,-0.3013718170587427,-0.2927114712316465,-0.28463946767850584,-0.27722056047671606,-0.270414099284951,-0.26419403432778277,-0.2584607023720127,-0.25319290832496766},
{3.212662372362322,1.3777577364745224,0.4044721571571663,-0.08970775980999914,-0.2821920311424754,-0.3466629588189206,-0.36176117320887996,-0.3567561296934393,-0.3424357464224215,-0.33198819182180456,-0.3238884171563743,-0.31837254389638747,-0.31029140732757254,-0.30137203674052826,-0.2926945604503375,-0.2846119801608059,-0.27718620282283907,-0.27037505233675524,-0.26415173894752697,-0.25841614330047075,-0.2531467592124394},
{3.208083633718547,1.370781744170466,0.3994103483946161,-0.09279124955170878,-0.2839207367333574,-0.34764351715581326,-0.36233563249249134,-0.3570730902034721,-0.3426537594388687,-0.33213483053474635,-0.3240302643711921,-0.31845479920145225,-0.3103202176995522,-0.3013712602062992,-0.2926768584897203,-0.28458383671611437,-0.27715128443424686,-0.2703355153624048,-0.2641090089247987,-0.258371193769076,-0.2531002555445957},
{3.2034874075254685,1.36382103967627,0.39436715515435394,-0.09585770523391435,-0.2856375612937838,-0.3486161903988637,-0.3629047736867196,-0.35738619928812126,-0.34286918966948554,-0.33227939914618126,-0.32417066279137124,-0.31853528036404183,-0.3103477115735684,-0.3013694970836619,-0.2926583729380737,-0.2845550436128641,-0.27711581066710894,-0.2702954930676248,-0.2640658484660885,-0.2583258575804397,-0.2530534007972684},
{3.1988738247953723,1.3568756424409167,0.38934253634099847,-0.0989072064998505,-0.2873425770692589,-0.3495810331776237,-0.3634686364296154,-0.35769549357296826,-0.3430820572678271,-0.33242191414104766,-0.32430960828622635,-0.31861400090474207,-0.3103739015303736,-0.30136675690766757,-0.29263911131219145,-0.28452560706193997,-0.2770797868287823,-0.27025499011682486,-0.26402226174097604,-0.258280138504042,-0.2530061984162389},
{3.1942430161650903,1.3499455713172275,0.3843364508087045,-0.10193983271921267,-0.2890358558911969,-0.35053809974182837,-0.3640272600564463,-0.3580010093980119,-0.34329238221877956,-0.3325623918696742,-0.32444709683955153,-0.3186909743175336,-0.3103988000393546,-0.3013630491217618,-0.29261908105812856,-0.28449553321726456,-0.2770432181783069,-0.2702140111334923,-0.2639782528824811,-0.2582340402765514,-0.25295865181751986},
{3.1895951118946164,1.3430308445673746,0.3793488573611844,-0.10495566298774095,-0.29071746917889874,-0.3514874439640002,-0.36458068360208945,-0.35830278281574346,-0.3435001843402076,-0.3327008485491989,-0.32458312456118665,-0.31876621406762995,-0.3104224194592223,-0.3013583830787127,-0.2925982895519332,-0.28446482817637836,-0.27700610992690705,-0.2701725607005705,-0.26393382598740345,-0.25818756660212655,-0.25291076438763105},
{3.184930241865776,1.336131479868361,0.3743797147517519,-0.10795477612680822,-0.29238748794150043,-0.35242911934202265,-0.3651289458034172,-0.3586008495894055,-0.34370548328459427,-0.33283730026542657,-0.32471768769774245,-0.31883973358937534,-0.3104447720387123,-0.3013527680415383,-0.2925767441003759,-0.284433497981007,-0.27696846723849067,-0.27013064336084275,-0.26388898511666853,-0.2581407211527277,-0.2528625394838781},
{3.180248535580916,1.3292474943174775,0.3694289816833995,-0.11093725068304752,-0.29404598277992283,-0.35336317900170916,-0.3656720851016468,-0.35889524519142185,-0.34390829854064997,-0.33297176297562714,-0.324850782642501,-0.31891154628420276,-0.3104658699172872,-0.30134621318442273,-0.29255445194166346,-0.28440154861762545,-0.2769302952301386,-0.27008826361730254,-0.26384373429566393,-0.2580935075684169,-0.25281398043461645},
{3.1755501221616207,1.3223789044377177,0.3644966168088869,-0.11390316492800742,-0.29569302388884555,-0.35428967569935477,-0.3662101396446892,-0.35918600480199936,-0.34410864943491215,-0.33310425251310966,-0.32498240594453337,-0.3189816655186605,-0.31048572512585515,-0.3013387275936252,-0.2925314202461566,-0.28436898601802185,-0.2768915989726066,-0.27004542593353176,-0.26379807751457496,-0.2580459294576604,-0.25276509053953156},
{3.170835130347472,1.315525726183171,0.35958257873086413,-0.11685259685781528,-0.29732868105863514,-0.35520866182426675,-0.3667431472894622,-0.35947316330789375,-0.34430655513331687,-0.33323478459463096,-0.32511255431705377,-0.3190501046224815,-0.31050434958747825,-0.30133032026837525,-0.29250765611706087,-0.2843358160598398,-0.2768523834908093,-0.2700021347340591,-0.2637520187287125,-0.2579979903976207,-0.25271587306989585},
{3.1661036884948306,1.3086879749443754,0.3546868260020126,-0.11978562419288946,-0.2989530236773127,-0.35612018940128853,-0.36727114560419544,-0.3597567553013427,-0.3445020346427634,-0.33336337483195444,-0.32524122464504635,-0.3191168768867351,-0.310521755118113,-0.30132100012176505,-0.29248316659113177,-0.28430204456713476,-0.2768126537643144,-0.2699583944047343,-0.2637055618588485,-0.2579496939344553,-0.25266633126883825},
{3.161355924575637,1.3018656655536471,0.34980931712521146,-0.1227023243776518,-0.3005661207324851,-0.35702431009329444,-0.3677941718707212,-0.36003681507914753,-0.34469510681264914,-0.33349003874887034,-0.3253684139921872,-0.31918199556201343,-0.31053795342732415,-0.3013107759816301,-0.2924579586393538,-0.28426767731090463,-0.27677241472782593,-0.26991420929307763,-0.2636587107915328,-0.25790104358360444,-0.2526164683516009},
{3.15659196617626,1.2950588122903723,0.344950010553728,-0.12560277458027633,-0.30216804081328347,-0.35792107520368205,-0.36831226308672904,-0.36031337664191576,-0.3448857903363907,-0.3336147918049308,-0.3254941196070963,-0.319245473856693,-0.31055295611903416,-0.3012996565914166,-0.2924320391676203,-0.28423272000962685,-0.27673167127166143,-0.26986958370864134,-0.2636114693794194,-0.25785204283007884,-0.2525662875058009},
{3.1518119404963576,1.2882674288862677,0.3401088646914262,-0.12848705169246422,-0.3037588521123207,-0.3588105356788467,-0.3688254559680246,-0.3605864736934514,-0.3450741037529335,-0.33373764942687484,-0.3256183389289455,-0.31930732493524444,-0.31056677469225513,-0.3012876506110541,-0.2924054150174058,-0.2841971783297845,-0.27669042824223555,-0.2698245219233622,-0.2635638414415823,-0.25780269512874365,-0.2525157918916838},
{3.1470159743477693,1.2814915285306094,0.3352858378930043,-0.13135523232922872,-0.30533862242760407,-0.3596927421106314,-0.36933378695075475,-0.36085613964028296,-0.34526006544823246,-0.3338586270483151,-0.3257410695924357,-0.3193675619165994,-0.31057942054183874,-0.30127476661779984,-0.29237809296642686,-0.28416105788639084,-0.27664869044252516,-0.26977902817190524,-0.26351583076383067,-0.25775300390459904,-0.252464984642377},
{3.1422041941534613,1.2747311238754415,0.33048088846425117,-0.13420739282872185,-0.30690741916448605,-0.36056774473877673,-0.3698372921936157,-0.36112240759134323,-0.3454436936567265,-0.3339777401578296,-0.3258623094321876,-0.3194261978725789,-0.31059090495922315,-0.3012610131070927,-0.2923500797293004,-0.28412436424349824,-0.27660646263254407,-0.2697331066520157,-0.26346744109902215,-0.2577029725530647,-0.2524138688641389},
{3.1373767259464502,1.2679862270407283,0.32569397466232397,-0.13704360925206255,-0.308465309337581,-0.3614355934533403,-0.37033600758005825,-0.36138531035777033,-0.34562500646278616,-0.33409500435506023,-0.3259820564865558,-0.3194832458263655,-0.31060123913318644,-0.30124639849338586,-0.2923213819581877,-0.2840871029147142,-0.2765637495297992,-0.2696867615248545,-0.263418676167369,-0.2576526044402459,-0.25236244763660864},
{3.132533695368801,1.2612568496195,0.3209250546960507,-0.13986395738320023,-0.3100123595726858,-0.3622963377971078,-0.3708299687204546,-0.36164488045285387,-0.34580402180215264,-0.3342104354139728,-0.3261003090008887,-0.3195387187510409,-0.31061043415060585,-0.30123093111097954,-0.29229200624344015,-0.2840492793637027,-0.2765205558097511,-0.2696399969153392,-0.26336953965674637,-0.2576019029032173,-0.2523107240130511},
{3.127675227670628,1.2545430026829503,0.316174086726249,-0.14266851272879993,-0.3115486361087181,-0.3631500269679958,-0.3713192109542654,-0.3619011500920972,-0.34598075746335566,-0.3343240493519988,-0.32621706543026036,-0.319592629568169,-0.3106185009972113,-0.3012146192148382,-0.2922619591142301,-0.28401089900468146,-0.27647688610626364,-0.26959281691248105,-0.26332003522299097,-0.25755087125028314,-0.2522587010205972},
{3.1228014477091266,1.2478446967855077,0.31144102886607183,-0.14545735051813835,-0.31307420479961356,-0.3639967098214233,-0.3718037693521789,-0.3621541511934074,-0.34615523108911667,-0.3344358625034318,-0.326332324441698,-0.31964499114643113,-0.3106254505583517,-0.30119747098140504,-0.2922312470391746,-0.2839719672029159,-0.27643274501204673,-0.2695452255697075,-0.26327016649020374,-0.2574995127612504,-0.25220638166048726},
{3.117912479947633,1.2411619419698758,0.30672583918136936,-0.1482305457030374,-0.31458913111625625,-0.364836434872687,-0.3722836787182326,-0.3624039153774046,-0.3463274601777329,-0.3345458915952334,-0.32644608491592036,-0.31969581630031885,-0.310631293619759,-0.30117949450940623,-0.2921998764269617,-0.2839324892752067,-0.2763881370790988,-0.26949722690520106,-0.263219937051045,-0.2574478306876897,-0.25215376890830404},
{3.11300844845472,1.234494747772042,0.3020284756910748,-0.15098817295779926,-0.3160934801483764,-0.3656692502993048,-0.3727589735919293,-0.36265047396783723,-0.34649746208445154,-0.3346541538232452,-0.32655834594860533,-0.3197451177888691,-0.3106360408683127,-0.30116069782064264,-0.2921678536269557,-0.2838924704903699,-0.2763430668191393,-0.26944882490221567,-0.2631693504670259,-0.25739582825320123,-0.25210086571421453},
{3.108089476903294,1.227843123226249,0.2973488963676076,-0.15373030667917523,-0.31758731660645256,-0.3664952039433543,-0.3732296882503228,-0.36289385799211965,-0.3466652540228233,-0.33476066692679696,-0.3266691068512225,-0.31979290831445834,-0.3106397028928104,-0.3011410888607853,-0.29213518492980806,-0.28385191606971705,-0.27629753870403584,-0.2694000235094053,-0.2631184102688039,-0.2573435086536723,-0.25204767500319814},
{3.103155688569754,1.2212070768699426,0.29268705913729764,-0.1564570209863505,-0.31907070482362765,-0.3673143433137936,-0.3736958567100946,-0.3631340981819624,-0.3468308530660392,-0.3348654492597348,-0.3267783671514334,-0.319839200521635,-0.31064229018473255,-0.3011206755001453,-0.2921018765680509,-0.2838108311875204,-0.27625155716622024,-0.2693508266411338,-0.2630671199564613,-0.2572908750575286,-0.25199419967527525},
{3.098207206333137,1.2145866167486798,0.28804292188082814,-0.15916838972094577,-0.32054370875758814,-0.36812671558877086,-0.37415751272961334,-0.3633712249741131,-0.3469942761482603,-0.33496851985605813,-0.3268861265930981,-0.319884006996007,-0.31064381313901696,-0.3010994655344523,-0.29206793471669446,-0.2837692209714824,-0.27620512659910884,-0.26930123817779583,-0.26301548299979777,-0.2572379306059963,-0.25194044260574394},
{3.09324415267432,1.2079817504210089,0.2834164424336985,-0.16186448644704582,-0.32200639199247205,-0.3689323676179137,-0.37461468981096835,-0.36360526851118935,-0.3471555400659212,-0.3350698984885323,-0.3269923851359002,-0.31992734026317526,-0.3106442820548285,-0.30107746668561364,-0.2920333654938066,-0.2837270905031974,-0.2761582513575053,-0.2692512619661293,-0.26296350283861003,-0.25718467841334725,-0.2518864066453941},
{3.088266649675235,1.2013924849633213,0.2788075785867046,-0.16454538445123568,-0.3234588177407464,-0.36973134592460666,-0.37506742120200814,-0.3638362586426117,-0.34731466147902945,-0.3351696057188946,-0.32709714295461756,-0.3199692127877124,-0.3106437071363307,-0.3010546866024727,-0.2919981749610972,-0.2836844448186049,-0.2761109357580078,-0.2692009018195217,-0.26291118288296816,-0.25713112156715123,-0.2518320946207443},
{3.083274819018097,1.1948188269746605,0.27421628808644005,-0.16721115674266063,-0.3249010488450859,-0.37052369670824953,-0.3755157398983362,-0.3640642249256141,-0.34747165691243986,-0.33526766293853594,-0.3272004004380578,-0.32000963697218543,-0.3106420984934553,-0.30103113286155375,-0.2919623691244851,-0.28364128890844137,-0.2760631840793972,-0.2691501615183146,-0.2628585265134919,-0.2570772631285184,-0.2517775093342476},
{3.0782687819846872,1.188260782581514,0.26964252863581173,-0.16986187605311087,-0.3263331477802687,-0.37130946584651453,-0.3759596786453124,-0.3642891966263524,-0.34762654275712274,-0.33536409239884535,-0.3273021581876892,-0.32004862515622495,-0.31063946614267646,-0.3010068129678021,-0.2919259539346664,-0.2835976277186843,-0.2760150005630321,-0.26909904481011226,-0.262805537081626,-0.2570231061323447,-0.2517226535645268},
{3.0732486594556314,1.18171835744256,0.2650862578945747,-0.17249761483710851,-0.3277551766550328,-0.3720886988975733,-0.37639926994002776,-0.3645112027210906,-0.34777933527141836,-0.3354589172306492,-0.32740241701598105,-0.32008618961563656,-0.31063582000777945,-0.30098173435531816,-0.29188893528767434,-0.2835534661509935,-0.27596638941322965,-0.2690475554100759,-0.2627522179099104,-0.25696865358755533,-0.2516675300665777},
{3.0682145719097136,1.1751915567533926,0.26054743347988635,-0.17511844527203344,-0.32916719721395954,-0.37286144110232095,-0.37683454603325917,-0.3647302718974626,-0.34793005058226406,-0.33555216145248806,-0.3275011779444809,-0.3201223425615579,-0.31063116992063333,-0.3009559043880785,-0.291851319025431,-0.2835088090631488,-0.27591735479764024,-0.26899569700122294,-0.262698572292244,-0.25691390847733686,-0.25161214157199147},
{3.063166639423221,1.1686803852512073,0.2560260129668741,-0.1777244392582415,-0.3305692708393285,-0.37362773738657423,-0.3772655389314244,-0.3649464325558097,-0.3480787046864272,-0.33564384996770114,-0.32759844220165407,-0.3201570961396496,-0.31062552562195683,-0.30092933036065506,-0.29181311093629364,-0.2834636612694781,-0.27586790084762297,-0.2689434732347228,-0.26264460349415375,-0.25685887375938227,-0.2515564907891665},
{3.0581049816692962,1.1621848472194611,0.2515219538892209,-0.1803156684192167,-0.33196145855297376,-0.37438763236326794,-0.37769228039850267,-0.3651597128105918,-0.348225313451707,-0.3357340085505352,-0.3276942112204958,-0.3201904624293374,-0.31061889676208926,-0.3009020194989214,-0.29177431675559645,-0.28341802754128387,-0.27581803165860547,-0.2688908877301831,-0.2625903147530557,-0.2568035523661141,-0.251500580403514},
{3.05302971791733,1.1557049464924969,0.24703521373976778,-0.18289220410174029,-0.3333438210181542,-0.37514117033463185,-0.37811480195795744,-0.3653701404918666,-0.3483698926181382,-0.33582266382169107,-0.32778848663595467,-0.32022245344308853,-0.3106112929017584,-0.30087397896075824,-0.291734942166188,-0.2833719126072681,-0.2757677512904493,-0.2688379440759468,-0.2625357092785138,-0.25674794720492644,-0.2514444130776724},
{3.0479409670323627,1.1492406864601385,0.2425657499711307,-0.18545411737605808,-0.3347164185413843,-0.3758883952943488,-0.3785331348946256,-0.3655777431468267,-0.3485124577991618,-0.3359098432138734,-0.3278812702821672,-0.3202530811257226,-0.31060272351283996,-0.30084521583674173,-0.2916949927989521,-0.2833253211539427,-0.2757170637677959,-0.26878464582936745,-0.2624807902524967,-0.2566920611584052,-0.2513879914517078},
{3.0428388474745227,1.1427920700722545,0.23811351999633412,-0.18800147903609354,-0.3360793110742955,-0.3766293509297117,-0.3789473102566056,-0.36578254804140625,-0.34865302448280855,-0.3359955749280963,-0.32797256418954573,-0.3202823573537732,-0.31059319797912854,-0.3008157371508365,-0.2916544742333396,-0.28327825782604954,-0.2756659730804221,-0.2687309965170997,-0.2624255608296336,-0.2566358970845609,-0.2513313181433224},
{3.0377234772984756,1.1363590998432858,0.2336784811894579,-0.1905343595996426,-0.3374325582154657,-0.3773640806237484,-0.37935735885712796,-0.36598458216193963,-0.34879160803284304,-0.33607988788154086,-0.3280623705817153,-0.3203102939348754,-0.3105827255970935,-0.30078554986107175,-0.29161339199788,-0.28323072722696313,-0.27561448318358084,-0.26867699963537717,-0.2623700241374655,-0.25657945781705066,-0.2512743957480554},
{3.032594974152899,1.1299417778567502,0.22926059088630202,-0.19305282930860665,-0.3387762192122463,-0.37809262745734457,-0.37976331127640134,-0.36618387221687654,-0.34892822368991233,-0.3361628116479041,-0.3281506918723292,-0.32033690260719355,-0.3105713155766388,-0.30075466086021163,-0.291571751570692,-0.2831827339190916,-0.2755625979983309,-0.2686226586502891,-0.2623141832766923,-0.256522746165399,-0.25121722683948},
{3.027453455279992,1.1235401057697114,0.22485980638506045,-0.1955569581292379,-0.34011035296261305,-0.3788150342113587,-0.3801651978634588,-0.3663804446385529,-0.3490628865726785,-0.33624437639119825,-0.32823753066178835,-0.3203621950388882,-0.31055897704186175,-0.3007230769764245,-0.2915295583799938,-0.28313428242428446,-0.2755103214118831,-0.2685679769980567,-0.2622580413214235,-0.256465764915219,-0.2511598139694045},
{3.0222990375149776,1.1171540848172101,0.22047608494701496,-0.19804681575238295,-0.34143501801696363,-0.3795313433687037,-0.3805630487379764,-0.3665743255850039,-0.3491956116789325,-0.33632461279397713,-0.3283228897338532,-0.32038618282761083,-0.3105457190318048,-0.3006908049739384,-0.291486817804597,-0.28308537722421667,-0.2754576572779156,-0.26851295808530234,-0.2622016013194196,-0.25640851682843124,-0.2511021596680701},
{3.0171318372856653,1.1107837158166776,0.21610938379723765,-0.20052247159376868,-0.34275027257995955,-0.38024159711643635,-0.380956893792078,-0.3667655409418314,-0.34932641388670316,-0.33640355198102045,-0.328406772052191,-0.3204088775000369,-0.31053155050120756,-0.30065785155369146,-0.29144353517440547,-0.2830360227607838,-0.27540460941690126,-0.2684576052893229,-0.2621448662923341,-0.2563510046434753,-0.2510442664443367},
{3.0119519706120053,1.1044289991723082,0.21175966012530825,-0.2029839947942721,-0.3440561745123224,-0.3809458373478151,-0.38134676269213896,-0.3669541163241104,-0.3494553079553501,-0.33648122543944253,-0.3284891807568539,-0.3204302905114345,-0.31051648032125495,-0.3006242233539786,-0.2913997157709013,-0.2829862234364844,-0.2753511816164273,-0.26840192195835394,-0.2620878392359528,-0.2562932310755291,-0.2509861367858853},
{3.0067595531056766,1.0980899348794029,0.20742687108604607,-0.2054314542202227,-0.34535278133264163,-0.3816441056643567,-0.3817326848805585,-0.367140077078344,-0.34958230852664773,-0.33655766493619926,-0.32857011916070583,-0.3204504332452617,-0.31050051728032346,-0.30058992695108555,-0.29135536482763047,-0.282935983614798,-0.2752973776315031,-0.26834591141183595,-0.2620305231204343,-0.2562351988167149,-0.2509277731594022},
{3.00155469996969,1.0917665225286826,0.20311097380025103,-0.20786491846371627,-0.34664015021918815,-0.38233644337787454,-0.3821146895775285,-0.36732344828444674,-0.3497074301258497,-0.3366329024339151,-0.3286495907458039,-0.32046931701278975,-0.3104836700847205,-0.3005549688599203,-0.29131048753067923,-0.28288530762055564,-0.2752432011848746,-0.2682895769406754,-0.2619729208905378,-0.2561769105363082,-0.2508691780107667},
{2.9963375259980256,1.0854587613105717,0.198811925355459,-0.21028445584293015,-0.34791833801169514,-0.38302289151250263,-0.3824928057827831,-0.3675042547577823,-0.34983068716275334,-0.3367069700059023,-0.3287275991597568,-0.3204869530527699,-0.31046594735942457,-0.3005193555346368,-0.2912650890191445,-0.2828341997403071,-0.275188655967323,-0.268232921807503,-0.2619150354658634,-0.25611836888094985,-0.2508103537652423},
{2.9911081455752724,1.0791666500194488,0.1945296828067078,-0.2126901344024728,-0.34918740121316444,-0.3837034908067103,-0.3828670622773324,-0.36768252105122523,-0.34995209393274407,-0.33677989975118244,-0.3288041482120542,-0.32050335253112067,-0.31044735764882025,-0.3004830933692516,-0.2912191743856074,-0.2827826642226762,-0.2751337456379676,-0.2681759492469308,-0.2618568697410732,-0.2560595764748425,-0.2507513028276531},
{2.9858666726763015,1.072890187057867,0.19026420317731635,-0.21508202191371906,-0.35044739599163666,-0.3843782817152965,-0.3832374876251919,-0.3678582714572593,-0.3500716646178295,-0.33685172371026817,-0.32887924187038436,-0.32051852654064283,-0.3104279094174285,-0.3004461886982533,-0.2911727486765883,-0.282730705278713,-0.275078473824563,-0.2681186624658085,-0.26179842658612507,-0.25600053591996164,-0.2506920275825763},
{2.980613220865956,1.066629370440747,0.18601544345967203,-0.2174601858751761,-0.3516983781819726,-0.3850473044113768,-0.38360411017508733,-0.36803153001011635,-0.3501894132876662,-0.33692247378237944,-0.32895288425694347,-0.320532486100775,-0.3104076110506354,-0.30040864779720866,-0.29112581689301115,-0.28267832708223595,-0.2750228441237887,-0.2680610646434766,-0.2617397088465007,-0.25594124979625366,-0.25063253039451894},
{2.975347903298763,1.0603841977995323,0.18178336061602934,-0.21982469351286346,-0.35294040328763815,-0.3857105987883601,-0.3839669580621509,-0.36820232048793194,-0.3503053539005717,-0.3369921816447041,-0.32902507964474625,-0.3205452421573557,-0.3103864708554143,-0.3003704768833555,-0.29107838399064784,-0.2826255337701621,-0.2749668601015364,-0.26800315893200766,-0.2616807193434162,-0.255881720661828,-0.25057281360809014},
{2.9700708327186582,1.0541546663863228,0.17756791157932164,-0.22217561178068265,-0.3541735264824535,-0.38636820446189946,-0.3843260592096042,-0.3683706664149445,-0.35041950030452507,-0.33706087867425105,-0.3290958324539413,-0.3205568055824348,-0.3103644970610449,-0.30033168211619626,-0.29103045488057244,-0.28257232944284105,-0.2749105252931972,-0.2679449484564625,-0.2616214608740575,-0.25582195105316513,-0.2505128795481919},
{2.964782121458736,1.0479407730779713,0.17336905325397936,-0.22451300736083113,-0.3553978026123713,-0.3870201607718479,-0.38468144133041904,-0.3685365910637108,-0.3505318662381615,-0.33712859587276434,-0.3291651472481372,-0.32056718717409277,-0.31034169781983106,-0.30029226959808125,-0.2909820344295972,-0.2825187181643724,-0.2748538432039375,-0.26788643631513187,-0.26156193621178847,-0.25576194348530085,-0.25045273052018063},
{2.9594818814410266,1.0417425143801538,0.1691867425167575,-0.226836946664196,-0.35661328619722227,-0.3876665067841843,-0.38503313192898436,-0.36870011745735626,-0.3506424653317521,-0.3371953637950943,-0.3292330287307422,-0.32057639765629903,-0.3103180812078107,-0.3002522453747897,-0.29093312746071537,-0.2824647039629221,-0.2747968173089846,-0.26782762557977857,-0.2615021481063745,-0.255701700452028,-0.2503923688100555},
{2.9541702241762664,1.0355598864314048,0.1650209362175774,-0.2291474958307733,-0.35782003143246033,-0.3883072812929332,-0.3853811583027342,-0.3688612683718371,-0.3507513111081719,-0.33726121248136204,-0.32929948174132406,-0.3205844476787805,-0.310293655225461,-0.30021161543609454,-0.29088373875352874,-0.28241029083103,-0.27473945105388764,-0.26776851929587636,-0.26144209928419043,-0.25564122442608,-0.25033179668461597},
{2.9488472607637286,1.0293928850071339,0.16087159118037056,-0.23144472073010713,-0.3590180921909217,-0.38894252282207914,-0.3857255475437884,-0.36902006633823675,-0.35085841698386283,-0.3373261713932062,-0.32936451125199306,-0.3205913478169284,-0.31026842779840397,-0.30017038571633436,-0.2908338730446785,-0.2823554827259185,-0.2746817478548015,-0.26770912048285084,-0.2613817924484381,-0.255580517859323,-0.25027101639164406},
{2.9435131018910283,1.023241505523593,0.15673866420393406,-0.23372868696171234,-0.3602075220245439,-0.38957226962745606,-0.3860663265405557,-0.3691765336450712,-0.3509637962697821,-0.337390269354299,-0.3294281223638077,-0.32059710857171636,-0.31024240677810033,-0.3001285620949721,-0.2907835350282676,-0.28230028356979003,-0.2746237110987415,-0.26764943213431325,-0.26132123027935367,-0.25551958318294427,-0.25021003016006677},
{2.9381678578339776,1.0171057430418347,0.15262211206279686,-0.235999459855543,-0.36138837416611486,-0.3901965596986317,-0.3864035219793408,-0.3693306923406191,-0.35106746217234114,-0.33745353449531734,-0.32949032030321046,-0.3206017403696465,-0.3102155999425473,-0.30008615039714315,-0.2907327293562759,-0.282244697250129,-0.2745653441438537,-0.2675894572182901,-0.26126041543441375,-0.255458422807632,-0.25014884020012196},
{2.9328116384564487,1.0109855922716282,0.1485218915080883,-0.23825710447243537,-0.3625607015309852,-0.39081543076077485,-0.3867371603459345,-0.3694825642352609,-0.3511694277943361,-0.3375159942034563,-0.3295511104184974,-0.32060525356271713,-0.310188014996966,-0.3000431563942108,-0.2906814606389801,-0.28218872762000186,-0.27450665031967786,-0.26752919867746344,-0.2611993505485454,-0.25539703912376865,-0.2500874487035319},
{2.9274445532102473,1.0048810475753467,0.1444379592684194,-0.24050168560458063,-0.36372455671878584,-0.3914289202765123,-0.3870672679271854,-0.3696321709038385,-0.3512697061358662,-0.337577675076557,-0.32961049817630866,-0.32060765842840794,-0.31015965957448216,-0.29999958580430025,-0.2906297334453557,-0.28213237849834555,-0.2744476329273956,-0.26746865942938974,-0.26113803823432713,-0.25533543450159907,-0.25002585784365644},
{2.922066711135021,0.9987921029718309,0.14037027205076721,-0.2427332677760127,-0.3648799920151557,-0.39203706544777833,-0.3873938708125693,-0.3697795336880197,-0.3513683100952487,-0.33763860288186587,-0.32966848915816827,-0.32060896516969095,-0.31013054123681194,-0.29995544429283955,-0.29057755230348886,-0.28207565367027226,-0.2743882952400966,-0.26740784236673354,-0.26107648108219095,-0.2552736112914219,-0.2499640697756639},
{2.9166782208581727,0.9927187521402185,0.13631878654136823,-0.24495191524307766,-0.36602705939343017,-0.3926399032176369,-0.3877169948957325,-0.3699246736986734,-0.3514652524699099,-0.3376988025193982,-0.3297250890570458,-0.32060918391505266,-0.31010066747492915,-0.2999107374730863,-0.2905249217009706,-0.2820185568873583,-0.27432864050302036,-0.2673467503574871,-0.26101468166062425,-0.2552115718237618,-0.24990208663668836},
{2.911279190594791,0.9866609884237442,0.13228345940661815,-0.24715769199495324,-0.36716581051635777,-0.3932374702721165,-0.38803666587603214,-0.3700676118182551,-0.351560545957285,-0.33775829798986945,-0.3297803036739631,-0.32060832471854717,-0.3100700457097405,-0.29986547090665217,-0.2904718460852958,-0.2819610918679447,-0.2742686719338111,-0.2672853862451969,-0.2609526425163613,-0.2551493184095458,-0.2498399105459853},
{2.9058697281476076,0.9806188048335136,0.12826424729397584,-0.24935066175413373,-0.3682962967377841,-0.3938298030420001,-0.3883529092600664,-0.3702083687031913,-0.35165420315569695,-0.3378171123670928,-0.32983413891463537,-0.3206063975598595,-0.31003868329274886,-0.2998196501040247,-0.2904183298642559,-0.2819032622974347,-0.27420839272276554,-0.26722375284918126,-0.2608903661745892,-0.2550868533402807,-0.2497775436050974},
{2.900449940906967,0.9745921940522478,0.12426110683287897,-0.25153088797695045,-0.3694185691043359,-0.3944169377046312,-0.38866575036318024,-0.37034696478627055,-0.35174623656522586,-0.33787526777474247,-0.32988660078614823,-0.32060341234438827,-0.3100065875067136,-0.2997732805250739,-0.29036437740632237,-0.2818450718285874,-0.2741478060330694,-0.2671618529647487,-0.26082785513913254,-0.2550241788882228,-0.24971498789800334},
{2.895019935850807,0.9685811484379936,0.12027399463565427,-0.2536984338541023,-0.37053267835711917,-0.3949989101856965,-0.3889752143109722,-0.37048342027903514,-0.3518366585885748,-0.33793278536735755,-0.3299376953936808,-0.32059937890335344,-0.3099737655663015,-0.2997263675795646,-0.2903099930410334,-0.2817865240818233,-0.27408691500104415,-0.2670996893634162,-0.26076511189264784,-0.254961297306548,-0.24965224549127377},
{2.8895798195446694,0.9625856600278146,0.11630286729844697,-0.2558533623111699,-0.37163867493337555,-0.3955757561609924,-0.38928132604078336,-0.37061775517416967,-0.351925481531926,-0.33798968531542806,-0.3299874289372626,-0.32059430699391317,-0.30994022461874293,-0.29967891662765755,-0.29025518105937126,-0.2817276226455225,-0.274025722736387,-0.26703726479311907,-0.2607021388968187,-0.2548982108295265,-0.2495893184342285},
{2.8841296981417064,0.9566057205414417,0.11234768140214169,-0.257995736009173,-0.3727366089681655,-0.3961475110581882,-0.3895841103031636,-0.3707499892478851,-0.3520127176057798,-0.33804598679439823,-0.3300358077085681,-0.320588206299302,-0.30990597174447093,-0.29963093298040056,-0.29019994571413543,-0.281668371076323,-0.27396423232239825,-0.2669745819784256,-0.260638938592535,-0.25483492167268335,-0.2495262087590796},
{2.8786696773827343,0.9506413213849076,0.10840839351329858,-0.2601256173450997,-0.3738265302960224,-0.3967142100585697,-0.3898835916633526,-0.370880142062302,-0.35209837892579765,-0.3381017079774223,-0.3300828380877646,-0.3205810864289926,-0.3098710139577652,-0.2995824219002279,-0.2901442912203177,-0.28160877289943087,-0.2739024468162265,-0.26691164362074615,-0.2605755134000858,-0.25477143203297165,-0.24946291848109042},
{2.8731998625962754,0.9446924536541446,0.1044849601850881,-0.26224306845246753,-0.3749084884526085,-0.3972758880987773,-0.3901797945027219,-0.37100823296782753,-0.3521824775136291,-0.33815686603167033,-0.3301285265403865,-0.32057295691886517,-0.3098353582073854,-0.29953338860143924,-0.29008822175546645,-0.28154883160891764,-0.2738403692490923,-0.26684845239854393,-0.2605118657193426,-0.254707744088931,-0.24939944959871996},
{2.867720358698628,0.9387591081385551,0.1005773379582302,-0.2643481512018878,-0.37598253267637216,-0.3978325798725284,-0.3904727430202204,-0.37113428110551316,-0.3522650252977255,-0.33821147711799615,-0.3301728796142583,-0.32056382723139476,-0.3097990113771998,-0.2994838382506828,-0.29003174146004823,-0.2814885506680278,-0.27377800262651986,-0.266785010967537,-0.26044799792994044,-0.2546438600008532,-0.24933580409376832},
{2.862231270193948,0.9328412753245567,0.09668548336194001,-0.26644092720162355,-0.3770487119101774,-0.398384319832328,-0.3907624612338021,-0.37125830540941596,-0.3523460341141585,-0.3382655563937719,-0.3302159039364585,-0.3205537067558606,-0.3097619802868092,-0.2994337759674296,-0.289974854437809,-0.2814279335094817,-0.2737153499285625,-0.2667213219609023,-0.26038391239146064,-0.25457978191094455,-0.24927198393152802},
{2.8567327011743573,0.9269389453990978,0.09280935291487308,-0.26852145779817915,-0.37810707480295946,-0.39893114219117204,-0.3910489729818418,-0.37138032460894144,-0.3524255157074164,-0.33831911801868264,-0.3302576062103253,-0.32054260480856284,-0.3097242716921677,-0.299383206824442,-0.289917564756126,-0.2813669835357788,-0.27365241411002633,-0.2666573879894786,-0.2603196114436051,-0.25451551194347877,-0.2492079910609174},
{2.8512247553200463,0.9210521082531432,0.08894890312607862,-0.2705898040768688,-0.3791576697113367,-0.39947308092423,-0.39133230192454815,-0.37150035723117275,-0.3525034817312013,-0.33837217516328366,-0.330297993212502,-0.32053053063305936,-0.30968589228619814,-0.2993321358482418,-0.28985987644636196,-0.2813057041195065,-0.27358919810069643,-0.2665932116419689,-0.2602550974063799,-0.25445105220496517,-0.24914382741463664},
{2.845707535899421,0.9151807534851392,0.08510409049595069,-0.27264602686240974,-0.380200544701241,-0.4000101697705279,-0.3916124715453532,-0.3716184216031899,-0.3525799437492162,-0.3384247400201102,-0.3303370717900249,-0.3205174934004155,-0.30964684869939696,-0.29928056801956904,-0.28980179350421315,-0.28124409860363864,-0.2735257048055528,-0.2665287954851356,-0.26019037258026817,-0.25438640478429814,-0.2490794949093022},
{2.840181145769234,0.90932487040444,0.08127487151718772,-0.2746901867195243,-0.38123574754954065,-0.40054244223460944,-0.39188950515230037,-0.3717345358543693,-0.35265491323594067,-0.3384768238171444,-0.33037484885745966,-0.3205035022094634,-0.3096071475004428,-0.299228508273836,-0.2897433198900495,-0.2811821703018414,-0.27346193710499134,-0.2664641420639987,-0.26012543924640175,-0.25432157175291414,-0.24901499544558808},
{2.834645687374755,0.903484448034717,0.07746120267574677,-0.2767223439535263,-0.3822633257456388,-0.4010699315881923,-0.39216342587941455,-0.37184871791866747,-0.3527284015774024,-0.3385284368334433,-0.33041133139406664,-0.32048856608707404,-0.30956679519679065,-0.2991759615015756,-0.28968445952925637,-0.28111992249877116,-0.2733978978550382,-0.266399253902026,-0.2600602996667383,-0.25425655516494505,-0.24895033090836366},
{2.8291012627499437,0.8976594751173341,0.0736630404518074,-0.27874255861094804,-0.38328332649309077,-0.40159267087181216,-0.3924342566880589,-0.3719609855368901,-0.35280042007193746,-0.33857958841673097,-0.33044652644102035,-0.3204726939884436,-0.3095257982352674,-0.29912293254888844,-0.28962521631257004,-0.281057358450375,-0.2733335898875612,-0.2663341335013303,-0.25999495608422435,-0.25419135705736856,-0.24888550316682945},
{2.823547973517639,0.8918499401146982,0.06988034132073306,-0.28075089048013846,-0.38429579671119296,-0.40211069289644946,-0.39270202036829777,-0.37207135625894106,-0.3528709799309483,-0.3386302870027706,-0.3304804410986687,-0.3204558947973903,-0.30948416300266257,-0.29906942621788546,-0.2895655940964111,-0.28099448138419386,-0.27326901601048686,-0.2662687833428584,-0.25992941072297104,-0.2541259794501628,-0.24882051407466088},
{2.8179859208897624,0.8860558312135832,0.06611306175403689,-0.2827473990918846,-0.38530078303656956,-0.4026240302451522,-0.39296673954022443,-0.3721798474460496,-0.35294009227964773,-0.3386805401363335,-0.3305130825238274,-0.32043817732665614,-0.3094418958263047,-0.29901544726711615,-0.28950559670321474,-0.2809312944996467,-0.2732041790080049,-0.26620320588658075,-0.2598636657884176,-0.25406042434645043,-0.24875536547013394},
{2.8124152056675458,0.8802771363284279,0.0623611582203446,-0.284732143720048,-0.3862983318247714,-0.4031327152746474,-0.39322843665529683,-0.3722864762729843,-0.35300776815780077,-0.33873035449358513,-0.33054445792712883,-0.32041955031822156,-0.30939900297464934,-0.29896100041200746,-0.28944522792175564,-0.28086780096833563,-0.2731390816407828,-0.266137403571677,-0.25979772346749624,-0.2539946937326496,-0.24869005917626524},
{2.8068359282417514,0.8745138431046009,0.05862458718636396,-0.2867051833821767,-0.3872884891518356,-0.4036367801169355,-0.3934871339976536,-0.372391259730239,-0.35307401852045317,-0.3387797359057245,-0.3305745745704008,-0.32040002244362475,-0.3093554906578422,-0.2989060903252856,-0.28938449150746576,-0.2808040039343285,-0.27307372664616314,-0.26607137881672044,-0.2597315859288009,-0.25392878957862025,-0.24862459700094125},
{2.8012481885929317,0.8687659389216486,0.05490330511785148,-0.28866657684016284,-0.38827130081587446,-0.40413625668088027,-0.39374285368541717,-0.3724942146262017,-0.3531388542386583,-0.338828689383717,-0.33060343976409545,-0.32037960230429213,-0.3093113650282914,-0.29885072163739423,-0.28932339118275924,-0.2807399065144471,-0.2730081167383709,-0.2660051340198632,-0.25966525532273854,-0.2538627138378043,-0.24855898073704644},
{2.795652086291683,0.8630334108965094,0.051197268480579886,-0.2906163826008666,-0.3892468123386248,-0.4046311766537824,-0.3939956176719996,-0.37259535758930395,-0.3532022861001943,-0.3388772191439592,-0.330631060864762,-0.3203582984318738,-0.30926663218123207,-0.29879489893691996,-0.2892619306373438,-0.28067551179855504,-0.27294225460872157,-0.2659386715590188,-0.2595987337817056,-0.2537964684473782,-0.24849321216260226},
{2.79004772049892,0.8573162458867026,0.04750643374130882,-0.29255465891676513,-0.39021506896701097,-0.4051215715029433,-0.3942454477473795,-0.3726947050701441,-0.3532643248102728,-0.33892532863473734,-0.33065744527254964,-0.32033611928858113,-0.3092212981552801,-0.29873862677099694,-0.2892001135285349,-0.2806108228498342,-0.27287614292580975,-0.26587199379203996,-0.25953202342023324,-0.2537300553283831,-0.24842729304088473},
{2.784435189966169,0.8516144304934955,0.043830757368752055,-0.29448146378661666,-0.391176115674701,-0.4056074724772282,-0.39449236553938644,-0.37279227334359233,-0.35332498099224446,-0.3389730205633352,-0.33068260042877273,-0.32031307326753833,-0.30917536893298686,-0.29868190964571883,-0.28913794348156235,-0.28054584270506877,-0.27280978433571906,-0.2658051030568979,-0.2594651263351486,-0.2536634763858747,-0.24836122512055922},
{2.77881459303586,0.8459279510650379,0.04017019583454689,-0.29639685495609536,-0.39212999716363833,-0.40608891060859625,-0.3947363925149597,-0.37288807851086714,-0.35338426518829047,-0.3390202969236632,-0.33070653381349563,-0.3202891686931263,-0.3091288504413845,-0.2986247520265407,-0.2890754240898762,-0.2804805743749094,-0.27274318146220844,-0.2657380016718585,-0.25939804460573745,-0.25359673350905965,-0.24829501013580413},
{2.7731860276416502,0.8402567936994743,0.036524705614222094,-0.2983008899184756,-0.3930767578655966,-0.40656591671364983,-0.3949775499814038,-0.3729821365015982,-0.35344218786011633,-0.33906715902429174,-0.3307292529431786,-0.32026441382134313,-0.30908174855253207,-0.29856715833867814,-0.2890125589154461,-0.2804150208441517,-0.2726763369069132,-0.2656706919356561,-0.25933078029388695,-0.25352982857143136,-0.24822864980643264},
{2.76754959130875,0.8346009442480322,0.0328942431881689,-0.30019362591527887,-0.39401644194369667,-0.40703852139514063,-0.39521585908764095,-0.373074463075863,-0.3534987593896319,-0.33911360751676156,-0.3307507653683571,-0.320238816840164,-0.3090340690840488,-0.29850913296750514,-0.28894935148906875,-0.2803491850720043,-0.27260925324953983,-0.2656031761276712,-0.25926333544424934,-0.253462763430911,-0.24816214583802346},
{2.7619053811542553,0.8289603883180812,0.029278765042606555,-0.3020751199369463,-0.3949490932939322,-0.40750675504349104,-0.395451340825438,-0.3731650738261928,-0.3535539900796242,-0.3391596424240769,-0.33077107867136024,-0.32021238586989803,-0.3089858177996497,-0.2984506802589378,-0.2888858053106522,-0.2802830699923409,-0.272541933048046,-0.2655354565080926,-0.25919571208438935,-0.2533955399299789,-0.24809549992203744},
{2.756253493887509,0.8233351112761661,0.0256782276705472,-0.3039454287235244,-0.3958747555466955,-0.40797064783829534,-0.39568401603063463,-0.37325398417956934,-0.35360789015443006,-0.33920526316927224,-0.33079020046407853,-0.320185128963559,-0.3089370004096707,-0.29839180451982783,-0.2888219238495142,-0.2802166785139724,-0.2724743788388414,-0.26546753531810025,-0.25912791222492815,-0.25332815989580826,-0.248028713735939},
{2.7505940258104613,0.8177250982510191,0.022092587572765124,-0.30580460876532567,-0.39679347206827886,-0.40843022974980703,-0.39591390538436294,-0.3733412093993913,-0.353660469760598,-0.3392504686039681,-0.3308081383857733,-0.32015705410723294,-0.3088876225715916,-0.29833251001834366,-0.28875771054467253,-0.2801500135208907,-0.2724065931369737,-0.26539941478002194,-0.25905993785970716,-0.2532606251404045,-0.24796178894332177},
{2.744927072818044,0.8121303341365417,0.018521801258760025,-0.30765271630362767,-0.3977052859623875,-0.40888553054042237,-0.3961410294142396,-0.37342676458741386,-0.3537117389675379,-0.33929525703682506,-0.3308249001009147,-0.32012816922044424,-0.30883768989055393,-0.298272800984341,-0.28869316880512697,-0.2800830778725276,-0.27233857843630427,-0.26533109709750424,-0.2589917909659137,-0.25319293746072447,-0.24789472719401986},
{2.739252730398571,0.8065508035947665,0.014965825247717716,-0.30948980733134607,-0.39861024007163015,-0.40933657976614807,-0.3963654084955774,-0.3735106646856775,-0.35376170776817917,-0.33933962626182196,-0.33084049329708426,-0.3200984821565382,-0.30878720791987335,-0.29821268160974745,-0.28862830201014633,-0.2800158744040012,-0.2722703372097066,-0.2652625844556776,-0.25892347350424566,-0.25312509863882093,-0.2478275301242311},
{2.733571093634131,0.800986491058789,0.01142461606947473,-0.3113159375937282,-0.39950837697901154,-0.40978340677806385,-0.39658706285256307,-0.37359292447840586,-0.353810386079607,-0.3393835735862849,-0.33085492568289854,-0.3200680007030498,-0.3087361821615496,-0.29815215604892675,-0.28856311350955016,-0.27994840592635456,-0.27220187190923884,-0.26519387902132263,-0.2588549874190499,-0.25305711044196116,-0.24776019935663662},
{2.7278822572010006,0.7954373807356782,0.007898130265475818,-0.3131311625890526,-0.4003997390094193,-0.4102260407237715,-0.39680601255943215,-0.37367355859387835,-0.35385778374369936,-0.33942709585859776,-0.3308682049859821,-0.32003673258208354,-0.3086846180667638,-0.2980912284190446,-0.2884976066239793,-0.27988067522680127,-0.2721331849663303,-0.2651249829430279,-0.2587863346384571,-0.25298897462275705,-0.24769273650050752},
{2.7221863153700716,0.7899034566093613,0.004386324389731078,-0.31493553756931164,-0.40128436823109404,-0.4106645105488335,-0.39702227754164326,-0.37375258150628965,-0.35390391052776077,-0.3394701894955454,-0.3308803389509861,-0.320004685450692,-0.30863252103638195,-0.29802990280043296,-0.28843178464517627,-0.2798126850689568,-0.27206427879195694,-0.2650558983513501,-0.2587175170745373,-0.2529206929192958,-0.2476251431518292},
{2.7164833620072883,0.7843847024434836,0.0008891550097720954,-0.31672911754093314,-0.40216230645711337,-0.4110988449982076,-0.39723587757702256,-0.37383000753758233,-0.3539487761251403,-0.3395128505092261,-0.3308913353376381,-0.31997186690125834,-0.30857989642144534,-0.2979681832369444,-0.28836565083625165,-0.27974443819307165,-0.27199515577681765,-0.2649866273589736,-0.25864853662342613,-0.25285226705525693,-0.24755742089340557},
{2.710773490574095,0.7788811017842453,-0.002593421292394614,-0.3185119572654637,-0.403033595246841,-0.4115290726176575,-0.3974468322969246,-0.3739058508592558,-0.3539923901558567,-0.33955507453349354,-0.33090120191884076,-0.31993828446187783,-0.3085267495236592,-0.297906073736311,-0.2882992084319611,-0.27967593731626345,-0.2719258182915165,-0.2649171720608708,-0.258579395165472,-0.25278369874004586,-0.24748957129497934},
{2.705056794127893,0.7733926379632134,-0.006061447919338561,-0.3202841112602832,-0.4038982759073921,-0.4119552217551711,-0.39765516118736755,-0.37398012549415993,-0.35403476216720575,-0.33959685684988433,-0.33090994647881194,-0.3199039455967484,-0.3084730855958788,-0.29784357827049424,-0.2882324606389631,-0.279607185132737,-0.27185626868673346,-0.26484753453445475,-0.2585100945653753,-0.25271498966891265,-0.24742159591334148},
{2.6993333653225116,0.7679192941001071,-0.009514968257257068,-0.3220456337993234,-0.40475638949508286,-0.4123773205623576,-0.3978608835901572,-0.37405284531825683,-0.35407590163436564,-0.3396381924129764,-0.3309175768112521,-0.3198688577065465,-0.3084189098425843,-0.29778070077602714,-0.2881654106360834,-0.279538184314006,-0.271786509293395,-0.2647777168397324,-0.25844063667231365,-0.2526461415230686,-0.2473534962924401},
{2.6936032964086896,0.7624610531055649,-0.012954025675030546,-0.32379657891376185,-0.405607976816871,-0.4127953969958367,-0.39806401870401653,-0.37412402406237244,-0.3541158179610008,-0.33967907587518514,-0.33092410071757256,-0.3198330281288251,-0.30836422742035785,-0.2977174451543632,-0.28809806157458,-0.2794689375091115,-0.27171654242285015,-0.2647077210194611,-0.25837102332009115,-0.25257715596981695,-0.2472852739634906},
{2.687866679234573,0.7570178976838844,-0.016378663523279595,-0.32553700039276234,-0.4064530784317996,-0.4132094788186227,-0.3982645855856836,-0.3741936753139209,-0.35415452047985135,-0.33971950161092435,-0.33092952600514575,-0.31979646413839535,-0.30830904343835225,-0.2976538152722106,-0.2880304165783932,-0.27939944734483757,-0.27164637036703443,-0.2646375490992958,-0.2583012563272585,-0.2525080346626644,-0.24721693044508145},
{2.6821236052462023,0.7515898103357347,-0.0197889251334283,-0.32726695178417436,-0.40729173465242163,-0.4136195936014909,-0.39846260315103127,-0.3742618125186137,-0.3541920184533283,-0.3397594637401396,-0.33093386048560625,-0.3197591729477232,-0.3082533629587586,-0.29758981496187276,-0.287962478744407,-0.27932971642592075,-0.27157599539864513,-0.2645672030879425,-0.2582313374972543,-0.2524387792414417,-0.24714846724328585},
{2.6763741654880433,0.7461767733608545,-0.023184853816767072,-0.32898648639525824,-0.4081239855462227,-0.41402576872433966,-0.39865809017614623,-0.37432844898213835,-0.3542283210740901,-0.33979895615117695,-0.33093711197318376,-0.31972116170731874,-0.30819719099726195,-0.29752544802157643,-0.2878942511427013,-0.2792597473352555,-0.2715054197713016,-0.2644966849773053,-0.25816126861853306,-0.25236939133242386,-0.24707988585176766},
{2.6706184506034956,0.7407787688607187,-0.02656649286352161,-0.3306956572934209,-0.4089498709370437,-0.41442803137754575,-0.3988510652984203,-0.37439359787182636,-0.35426343746562317,-0.33983797252297837,-0.3309392882830817,-0.31968243750612924,-0.30814053252350154,-0.2974607182158029,-0.287825736816794,-0.27918954263410223,-0.2714346457197151,-0.26442599674263356,-0.2580910514646935,-0.2522998725484409,-0.2470111877518834},
{2.664856550835437,0.7353957787411868,-0.02993388554192454,-0.33239451730692365,-0.409769430406485,-0.4148264085633025,-0.3990415470176275,-0.3744572722182993,-0.35429737668281386,-0.3398765063465849,-0.3309403972298893,-0.3196430073719358,-0.30808339246152067,-0.2973956292756137,-0.2877569387838979,-0.279119104862285,-0.2713636754598485,-0.26435514034266644,-0.2580206877946112,-0.25223022448899834,-0.24694237441278993},
{2.65908855602676,0.7300277847151248,-0.03328707509729067,-0.33408311902563553,-0.4105827032953184,-0.41522092709695807,-0.399229553696982,-0.37451948491709375,-0.3543301477125134,-0.33991455094594386,-0.33094044662603617,-0.3196028782717467,-0.3080257756902101,-0.29733018489896584,-0.28768786003515623,-0.27904843653839073,-0.27129251118908115,-0.26428411771977667,-0.25795017935255743,-0.25216044874038646,-0.24687344729154137},
{2.653314555620932,0.7246747683050063,-0.03662610475109628,-0.3357615148017427,-0.41138972870487517,-0.4156116136083287,-0.39941510356420884,-0.3745802487302646,-0.3543617594740991,-0.3399520994980094,-0.330939444280284,-0.31956205711219987,-0.3079676870437582,-0.2972643887510408,-0.28761850353588997,-0.2789775401599657,-0.27122115508637057,-0.26421293080011765,-0.25787952786833607,-0.2520905468757963,-0.2468044078332027},
{2.64753463866255,0.7193367108454931,-0.03995101770006159,-0.3374297567504895,-0.41219054549843787,-0.41599849454302246,-0.3995982147125859,-0.37463957628797584,-0.3543922208200306,-0.33998914505212846,-0.33093739799625105,-0.3195205507399558,-0.30790913131208286,-0.29719824446454923,-0.2875488722258385,-0.2789064182037061,-0.2711496093124081,-0.2641415814937611,-0.25780873505740176,-0.2520205204554291,-0.24673525747094238},
{2.6417488937979234,0.7140135934859847,-0.04326185711524033,-0.3390878967509269,-0.41298519230263236,-0.41638159616374354,-0.3997789051019893,-0.3746974800900665,-0.3544215405364022,-0.34002568054871546,-0.3309343155709862,-0.31947836594210227,-0.30785011324126643,-0.29713175564004846,-0.2874789690193895,-0.27883507312564937,-0.27107787600978017,-0.2640700716948374,-0.25773780262098356,-0.2519503710266091,-0.24666599762613411},
{2.635957409275646,0.7087053971931584,-0.046558666141107964,-0.34073598644662595,-0.4137737075087904,-0.4167609445515787,-0.399957192559925,-0.37475397250759934,-0.35444972734348196,-0.3400616988372117,-0.3309302047935656,-0.31943550944655186,-0.3077906375339853,-0.29706492584625,-0.2874087968058213,-0.27876350736135647,-0.27100595730312405,-0.2639984032816759,-0.2576667322462124,-0.251880100123894,-0.24659662970846183},
{2.6301602729471987,0.7034121027534734,-0.04984148789466168,-0.34237407724644797,-0.41455612927433744,-0.41713656560730067,-0.400133094782549,-0.3748090657843938,-0.3544767898962582,-0.3400971926933388,-0.33092507344373334,-0.31939198792244455,-0.3077307088499357,-0.29699775862032074,-0.2873383584495283,-0.2786917233261007,-0.27093385529928093,-0.26392657811694237,-0.2575955256062332,-0.251809709269179,-0.24652715511600923},
{2.624357572267543,0.6981336907756639,-0.05311036546451772,-0.3440022203252625,-0.4153324955241408,-0.4175084850526245,-0.40030662933569294,-0.37486277203853874,-0.35450273678497046,-0.3401321548356381,-0.3309189292905857,-0.3193478079805552,-0.30767033180625325,-0.29693025746818913,-0.2872676567902552,-0.27861972341504815,-0.27086157208745365,-0.2638545980477729,-0.25752418436033536,-0.25173919997180955,-0.24645757523536654},
{2.6185493942957363,0.692870141693204,-0.05636534191001634,-0.34562046662469853,-0.4161028439518727,-0.4178767284314943,-0.4004778136558664,-0.3749151032638866,-0.35452757653564054,-0.34016657794131333,-0.3309117800912739,-0.31930297617369224,-0.30760951097793215,-0.2968624258648418,-0.2871966946433244,-0.27854751000343414,-0.27078910973935333,-0.2637824649059108,-0.25745271015406623,-0.2516685737286868,-0.24638789144172346},
{2.6127358256955437,0.6876214357667515,-0.0596064602603347,-0.34722886685390025,-0.4168672120213652,-0.4182413211113325,-0.40064666505125573,-0.37496607133153065,-0.35455131761059683,-0.3402004546613757,-0.3309036335897567,-0.31925749899710365,-0.3075482508982322,-0.2967942672546175,-0.2871254747998539,-0.27847508544674365,-0.2707164703093568,-0.26371018050784306,-0.25738110461934843,-0.25159783202436975,-0.24631810509896251},
{2.6069169527360763,0.682387553086573,-0.06283376351359792,-0.34882747149025595,-0.4176256369679442,-0.418602288284295,-0.4008132007027244,-0.37501568799126755,-0.35457396840899674,-0.3402337776351097,-0.330894497515586,-0.31921138288888784,-0.30748655605909125,-0.2967257850515035,-0.28705400002699044,-0.2784024520808802,-0.2706436558346535,-0.26363774665492545,-0.25730936937460275,-0.2515269763311867,-0.24624821755976248},
{2.6010928612924182,0.677168473574942,-0.06604729463600026,-0.35041633078017,-0.418378155799777,-0.41895965496851234,-0.4009774376647812,-0.3750639648730364,-0.3545955372673352,-0.3402665395038511,-0.3308843795827167,-0.319164634230391,-0.307424430911527,-0.29665698263941875,-0.28698227306811713,-0.2783296122223434,-0.27057066833538856,-0.2635651651335194,-0.25723750602485196,-0.2514560081093302,-0.24617823016567922},
{2.5952636368462834,0.6719641769885243,-0.06924709656092937,-0.351995494739794,-0.41912480529919627,-0.4193134460093188,-0.40113939286657313,-0.3751109134883489,-0.35461603245996093,-0.34029873292411755,-0.3308732874883675,-0.31911725934662627,-0.3073618798660384,-0.29658786337250487,-0.28691029664307727,-0.2782565681683952,-0.2704975098148186,-0.2634924377151189,-0.25716551616184746,-0.2513849288069666,-0.24610814424725086},
{2.5894293644866595,0.6667746429207307,-0.07243321218809495,-0.35356501315578664,-0.41986562202402494,-0.41966368608048343,-0.40129908311284596,-0.37515654523169784,-0.3546354621995818,-0.3403303505800728,-0.3308612289119025,-0.3190692645066726,-0.3072989072930016,-0.29651843057540783,-0.28683807344838785,-0.27818332219722924,-0.2704241822594527,-0.2634195661564832,-0.2570934013641799,-0.2513137398603381,-0.2460379611240895},
{2.58359012891047,0.661599850804059,-0.07560568438266536,-0.3551249355860744,-0.4206006423088958,-0.4200103996854213,-0.401456525084904,-0.3752008713819469,-0.35465383463776096,-0.3403613851953552,-0.33084821151374894,-0.3190206559240861,-0.3072355175230588,-0.29644868754355685,-0.2867656061574424,-0.27810987656813446,-0.27035068763919684,-0.2633465521997597,-0.2570211631973834,-0.25124244269385676,-0.2459676821049628},
{2.5777460144232593,0.6564397799124092,-0.07876455597440593,-0.3566753113605889,-0.4213299022665592,-0.4203536111584002,-0.40161173534156547,-0.3752439031037101,-0.3546711578654179,-0.3403918295442816,-0.3308342429343527,-0.318971439757312,-0.3071717148475096,-0.2963786375434438,-0.2866928974207212,-0.27803623352165946,-0.2702770279074969,-0.26327339757261164,-0.2569488032140619,-0.2511710387202126,-0.24589730848789912},
{2.5718971049398522,0.6512944093633796,-0.08190986975682434,-0.35821618958204837,-0.42205343778919435,-0.42069334466574476,-0.40176473032010157,-0.37528565144871234,-0.35468743991331475,-0.3404216764624374,-0.33081933079315856,-0.31892162211008956,-0.3071075035186915,-0.29630828381289265,-0.2866199498659859,-0.2779623952797758,-0.2702032050014809,-0.2632001039883419,-0.2568763229539842,-0.2510995293404651,-0.24582684156026136},
{2.566043483985049,0.6461637181205395,-0.08504166848632282,-0.35974761912669184,-0.4227712845496969,-0.42102962420701584,-0.4019155263371793,-0.3753261273571291,-0.35470268875254746,-0.3404509188566698,-0.3308034826876285,-0.318871209031865,-0.3070428877503618,-0.2962376295613369,-0.28654676609848073,-0.2778883640460328,-0.27012922084209945,-0.26312667314602023,-0.2568037239441997,-0.251027915944147,-0.24575628259885066},
{2.5601852346943295,0.6410476849956899,-0.08815999488135412,-0.3612696486450485,-0.4234834780029783,-0.4213624736162047,-0.4020641395897949,-0.3753653416589261,-0.35471691229502794,-0.34047954971450634,-0.33078670619229344,-0.31882020651820336,-0.3069778717180759,-0.2961666779700876,-0.28647334870112595,-0.27781414200572524,-0.27005507733426665,-0.2630531067306066,-0.25673100769915574,-0.25095619990936213,-0.24568563286998862},
{2.554322439814538,0.6359462886510917,-0.09126489162158144,-0.36278232656270254,-0.42419005338724786,-0.4216919165628963,-0.4022105861561859,-0.37540330507515957,-0.35473011839395807,-0.3405075621129866,-0.33076900885782107,-0.3187686205111906,-0.30691245955955043,-0.2960954321925903,-0.2863997002346919,-0.2777397313260333,-0.2699807763669927,-0.26297940641306244,-0.2566581757207853,-0.2508843826028714,-0.24561489362960084},
{2.548455181704604,0.630859507601682,-0.09435640134705026,-0.3642857010810383,-0.4248910457252881,-0.42201797655343964,-0.4023548819967551,-0.37544002821928163,-0.3547423148443071,-0.3405349492269696,-0.33075039821013613,-0.3187164568998538,-0.30684665537504335,-0.29602389535469903,-0.2863258232379963,-0.27766513415619126,-0.2699063198135278,-0.26290557385048496,-0.25658522949863183,-0.25081246538020235,-0.24554406612331311},
{2.542583542336259,0.6257873202172691,-0.09743456665735681,-0.3657798201780243,-0.42558648982573466,-0.42234067693210414,-0.40249704295496713,-0.3754755215984217,-0.35475350938327804,-0.34056170433688643,-0.33073088174955273,-0.31866372152056477,-0.30678046322771046,-0.29595207055492956,-0.28625172022806883,-0.2775903526276353,-0.26983170953149127,-0.2628316106862173,-0.2565121705099427,-0.2507404495857334,-0.24547315158652808},
{2.5367076032947584,0.6207297047247047,-0.10049943011083273,-0.36726473160895823,-0.42627642028433327,-0.42266004088222364,-0.4026370847582622,-0.3755097956146555,-0.35476370969077614,-0.3405878208359858,-0.33071046694994555,-0.31861042015745394,-0.30671388714396874,-0.2958799608647199,-0.28617739370033424,-0.2775153888541516,-0.2697569473630095,-0.26275751854996976,-0.25643900021977906,-0.2506683365527916,-0.24540215124451603},
{2.530827445779618,0.6156866392100394,-0.10355103422372477,-0.3687404829072324,-0.4269608714852017,-0.4229760914273417,-0.40277502301894064,-0.37554286056625413,-0.35477292338986643,-0.3406132922370721,-0.33068916125794645,-0.3185565585428164,-0.306646931113853,-0.29580756932868457,-0.2861028461287864,-0.2774402449320295,-0.26968203513485084,-0.2626832990579377,-0.25636572008112096,-0.25059612760374583,-0.24533106631249885},
{2.5249431506053432,0.6106581016206544,-0.10658942146938999,-0.3702071213851108,-0.42763987760208333,-0.42328885143234135,-0.40291087323504726,-0.37557472664892444,-0.35478115804722776,-0.3406381121787605,-0.33066697209216944,-0.3185021423575238,-0.30657959909136884,-0.29573489896486216,-0.28602807996614293,-0.2773649229402067,-0.2696069746585499,-0.26260895381291316,-0.2562923315349605,-0.2505238240500949,-0.24525989799573178},
{2.519054798202191,0.605644069767381,-0.10961463427749224,-0.37166469413447606,-0.42831347259958985,-0.4235983436045694,-0.40304465079125984,-0.3756054039570345,-0.354788421173613,-0.3406622744312615,-0.3306439068424664,-0.3184471772314353,-0.306511894994845,-0.29566195276497576,-0.2859530976440292,-0.2772894249404168,-0.2695317677305476,-0.26253448440440624,-0.25621883601041495,-0.250451427192564,-0.24518864748958907},
{2.5131624686169105,0.6006445213265914,-0.11262671503320318,-0.37311324802761703,-0.42898169023444854,-0.42390459049495544,-0.4031763709597433,-0.37563490248482,-0.354794720224288,-0.34068577290171115,-0.3306199728692065,-0.3183916687437985,-0.3064438227072732,-0.29558873369466254,-0.28587790157312715,-0.2772137529773327,-0.2694564161323124,-0.2624598924087508,-0.2561452349248179,-0.2503789383211907,-0.24511731597963968},
{2.5072662415135114,0.595659433842278,-0.11562570607641512,-0.37455282971797643,-0.42964456405672646,-0.4242076144991129,-0.4033060489010313,-0.3756632321275804,-0.3548000625994815,-0.3407086016390713,-0.33059517750258816,-0.3183356224236673,-0.3063753860766588,-0.2955152446937369,-0.285802494143353,-0.2771379090787105,-0.26938092163047445,-0.26238517938922395,-0.2560715296838218,-0.2503063587154155,-0.24504590464173912},
{2.501366196174022,0.5906887847281097,-0.11861164970095253,-0.37598348564092093,-0.4303021274110592,-0.4245074378584451,-0.40343369966487674,-0.3756904026828594,-0.35480445564482127,-0.3407307548386005,-0.3305695280419676,-0.3182790437503023,-0.30630658891635293,-0.2954414886764166,-0.28572687772401656,-0.277061895255532,-0.26930528597695014,-0.26231034689615623,-0.25599772168150403,-0.25023368964417053,-0.2449744146421015},
{2.495462411499274,0.5857325512694688,-0.12158458815379923,-0.37740526201452473,-0.4309544134378789,-0.4248040826612395,-0.4035593381911,-0.37571642385161463,-0.3548079066517761,-0.3407522268459249,-0.33054303175522637,-0.31822193815357824,-0.3062374350053913,-0.29536746853157225,-0.28565105466398016,-0.2769857135021466,-0.2692295109090684,-0.26223539646703886,-0.2559238123004478,-0.2501609323659682,-0.24490284713738353},
{2.489554966009673,0.5807907106254729,-0.12454456363432045,-0.37881820484031054,-0.43160145507461495,-0.4250975708437439,-0.4036829793104378,-0.37574130523936594,-0.3548104228580797,-0.3407730121607167,-0.3305156958781532,-0.3181643110143928,-0.3061679280888273,-0.2952931871229584,-0.28557502729183154,-0.2769093657964055,-0.2691535981496968,-0.2621603296266369,-0.2558498029118583,-0.2500880881289879,-0.24483120327476407},
{2.4836439378459887,0.5758632398309707,-0.1274916182935028,-0.380222359904049,-0.43224328505691784,-0.42538792419125615,-0.40380463774537323,-0.3757650563573393,-0.3548120114481623,-0.34079310544000535,-0.33048752761385625,-0.31810616766506383,-0.30609807187805593,-0.29521864728944885,-0.28549879791604077,-0.27683285409980396,-0.26907754940736334,-0.26208514788709636,-0.25577569487564195,-0.25001515817116043,-0.24475948419201754},
{2.4777294047701477,0.5709501157985296,-0.13042579423319178,-0.3816177727765036,-0.43287993591984714,-0.4256751643391774,-0.4039243281109734,-0.37578768662359213,-0.3548126795535783,-0.34081250150112485,-0.3304585341322002,-0.3180475133897438,-0.30602787005114207,-0.2951438518452683,-0.285422368825132,-0.2767561803576156,-0.26900136637637967,-0.26200985274804817,-0.2557014895405126,-0.24994214372025392,-0.24468769101760032},
{2.471811444166035,0.5660513153203967,-0.1333471335053393,-0.3830044888142049,-0.4335114399990731,-0.4259593127740876,-0.40404206491571093,-0.3758092053641235,-0.3548124342534231,-0.3408311953243137,-0.33042872256926636,-0.31798835342481213,-0.30595732625314587,-0.29506880358022364,-0.2853457422878509,-0.27667934649902903,-0.26892505073696416,-0.2619344456967251,-0.25562718824408276,-0.24986904599396279,-0.24461582487072192},
{2.465890133040294,0.5611668150704425,-0.13625567811126071,-0.3843825531602323,-0.4341378294320651,-0.42624039083479204,-0.4041578625622755,-0.37582962181397733,-0.3548112825747474,-0.3408491820549914,-0.33039810002683273,-0.3179286929592813,-0.3058864440964322,-0.2949935052599293,-0.285268920553326,-0.2766023544372821,-0.2688486041553605,-0.261858928208055,-0.25555279231295064,-0.24979586619998284,-0.2445438868614226},
{2.459965548023139,0.5562965916060906,-0.1391514700008908,-0.3857520107449631,-0.43475913615927103,-0.42651841971337096,-0.4042717353483961,-0.37584894511832634,-0.3548092314929772,-0.34086645700571316,-0.33036667357188393,-0.3178685371351958,-0.3058152271609948,-0.2949179596260314,-0.28519190585124804,-0.2765252060697911,-0.2687720282839605,-0.26178330174477366,-0.25547830306280583,-0.2497226055361047,-0.24447187809065019},
{2.4540377653691743,0.5514406213702253,-0.14203455107205282,-0.3871129062868661,-0.43537539192530034,-0.4267934204562192,-0.4043836974676264,-0.37586718433354394,-0.3548062879323139,-0.34088301565781864,-0.3303344502361368,-0.31780789104802776,-0.3057436789947613,-0.2948421693964303,-0.2851147003920308,-0.2764479032782876,-0.2686953247614137,-0.2617075677575227,-0.2554037217985054,-0.24964926519028655,-0.24439979965033343},
{2.448106860958215,0.5465988806930823,-0.14490496316973187,-0.3884652842932522,-0.43598662828008716,-0.4270654139650696,-0.40449376301015916,-0.3758843484282687,-0.3548024587661474,-0.34089885366279393,-0.33030143701559433,-0.3177467597470796,-0.3056718031139043,-0.2947661372654996,-0.2850373063669903,-0.27637044792894383,-0.26861849521275505,-0.26163172768495446,-0.2553290498141727,-0.24957584634074065,-0.2443276526234563},
{2.442172910296115,0.5417713457941242,-0.147762748085356,-0.38980918906104844,-0.4365928765800591,-0.42733442099803093,-0.4046019459636135,-0.37590044628444996,-0.3547977508174565,-0.3409139668433452,-0.3302676408701192,-0.3176851482358757,-0.3055996030031522,-0.2946898659043082,-0.2849597259485204,-0.2762928418725065,-0.2685415412495158,-0.2615557829538386,-0.255254288393293,-0.2495023501560172,-0.24425543808413702},
{2.436235988515605,0.5369579927838941,-0.15060794755607987,-0.3911446646775799,-0.4371941679892921,-0.42760046217059516,-0.40470826021381234,-0.3759154866983825,-0.35479217085920134,-0.34092835119420306,-0.33023306872302133,-0.31762306147255354,-0.3055270821160791,-0.29461335796082944,-0.2848819612902562,-0.27621508694441926,-0.2684644644698382,-0.26147973497915455,-0.25517943880878907,-0.24942877779507655,-0.24418315709769195},
{2.430296170377124,0.5321587976658552,-0.15344060326408124,-0.39247175502131826,-0.4377905334806614,-0.42786355795664777,-0.40481271954557,-0.3759294783817294,-0.35478572561472826,-0.3409420028826712,-0.3301977274606807,-0.3175605043702637,-0.3054542438754193,-0.2945366160601617,-0.2848040145272618,-0.27613718496495676,-0.2683872664585926,-0.26140358516419576,-0.25510450232312104,-0.2493551304073749,-0.24411081072072038},
{2.4243535302696735,0.5273737363382104,-0.15626075683585977,-0.39379050376267893,-0.438382003836995,-0.4281237286894759,-0.404915337643453,-0.37594242996253263,-0.3547784217581508,-0.34095491824891694,-0.3301616239321739,-0.3174974817975531,-0.3053810916733467,-0.2944596428047292,-0.28472588777619656,-0.276059137739345,-0.26830994878748515,-0.2613273349006664,-0.2550294801883666,-0.24928140913293953,-0.24403840000115853},
{2.4184081422116566,0.5226027845957066,-0.15906844984154278,-0.39510095436476583,-0.4389686096521997,-0.4283809945627538,-0.4050161280925565,-0.3759543499862087,-0.3547702659147417,-0.34096709380602985,-0.33012476494893256,-0.3174339985787554,-0.305307628871782,-0.29438244077450115,-0.2846475831354943,-0.27598094705788284,-0.26823251301517426,-0.2612509855687808,-0.254954373646308,-0.24920761510244724,-0.2439659259783657},
{2.4124600798517455,0.5178459181314238,-0.1618637237942022,-0.3964031500841517,-0.43955038133240754,-0.4286353756315423,-0.40511510437926285,-0.3759652469165398,-0.35476126466132246,-0.34097852623985103,-0.33008715728441884,-0.3173700594943806,-0.30523385880267384,-0.2943050125271939,-0.2845691026855467,-0.275902614696079,-0.2681549606873811,-0.26117453853736217,-0.25487918392852665,-0.2491337494373036,-0.24389338968319127},
{2.406509416469732,0.5131031125385388,-0.16464662014916986,-0.39769713397165385,-0.4401273490970926,-0.4288868918132606,-0.4052122798919887,-0.3759751291366422,-0.3547514245266363,-0.34098921240857555,-0.33004880767381534,-0.3173056692814991,-0.30515978476829186,-0.2942273605984769,-0.2844904484888705,-0.2758241424147616,-0.268077293337001,-0.26109799516393695,-0.2548039122564778,-0.2490598132497221,-0.2438207921380438},
{2.4005562249773984,0.5083743433120842,-0.16741718030337022,-0.398982948873086,-0.44069954298019764,-0.4291355628886664,-0.4053076679219419,-0.3759840049499308,-0.3547407519917296,-0.3409991493421537,-0.330009722813734,-0.31724083263412217,-0.30508541004150647,-0.2941494875021725,-0.28441162259029,-0.2757455319602029,-0.2679995124842078,-0.2610213567948283,-0.2547285598415798,-0.24898580764278977,-0.2437481343569563},
{2.394600577919385,0.503659585850681,-0.1701754455946482,-0.40026063743005147,-0.44126699283125065,-0.42938140850282114,-0.4054012816638476,-0.37599188258106514,-0.35472925349032275,-0.34100833424148985,-0.3299699093619469,-0.3171755542035811,-0.3050107378660658,-0.29407139573045793,-0.2843326270171057,-0.275666785064241,-0.2679216196365625,-0.2609446247652504,-0.25465312788529465,-0.24891173371055147,-0.24367541734565587},
{2.388642547474066,0.49895881545825893,-0.17292145730111586,-0.4015302420806914,-0.4418297283164685,-0.42962444816604534,-0.40549313421670236,-0.37599877017689465,-0.3547169354091874,-0.3410167644774606,-0.3299293739371318,-0.31710983859891395,-0.304935771456883,-0.29399308775406563,-0.2842534637792785,-0.2755879034444001,-0.26784361628912257,-0.26086780039940427,-0.2545776175792123,-0.24883759253807883,-0.24360264210163649},
{2.3826822054544308,0.4942720073457584,-0.17565525664049567,-0.40279180506045564,-0.4423877789198635,-0.4298647012548789,-0.4055832385844955,-0.3760046758073773,-0.3547038040885083,-0.34102443758975415,-0.32988812311863824,-0.3170436903872347,-0.3048605140003067,-0.2939145660224762,-0.28417413486960436,-0.2755088888040071,-0.26776550392455173,-0.26079088501057146,-0.25450203010513733,-0.24876338520155275,-0.2435298096142246},
{2.3767196233089605,0.48959913663281884,-0.17837688476947672,-0.40404536840288635,-0.4429411739443392,-0.43010218701302344,-0.4056716076769273,-0.37600960746650114,-0.3546898658222486,-0.34103135128554124,-0.32984616344626133,-0.31697711409411083,-0.3047849686543904,-0.29383583296411603,-0.2840946422638788,-0.2754297428323085,-0.26768728401321557,-0.2607138799012037,-0.25442636663516016,-0.24868911276832492,-0.24345692086463955},
{2.370754872122533,0.4849401783494495,-0.18108638278307637,-0.4052909739403614,-0.44348994251278095,-0.43033692455228456,-0.40575825431014256,-0.37601357307318517,-0.35467512685851754,-0.34103750343799893,-0.32980350142004355,-0.3169101142039363,-0.30470913854916926,-0.2937568909865482,-0.28401498792108204,-0.2753504672045909,-0.26760895801329454,-0.26063678636301313,-0.2543506283317486,-0.2486147762970004,-0.24338397682606805},
{2.364788022617298,0.48029510743768067,-0.1837837917140062,-0.40652866330488774,-0.44403411356914474,-0.43056893285350295,-0.405843191207423,-0.376016580472169,-0.3546595933999172,-0.3410428920846869,-0.329760143500082,-0.3168426951602989,-0.3046330267869182,-0.2936777424766615,-0.2839351737835363,-0.2752710635822895,-0.2675305273708809,-0.2605596056770598,-0.2542748163478176,-0.24854037683750155,-0.24331097846372257},
{2.358819145153591,0.47566389875320675,-0.1864691525320499,-0.4077584779288501,-0.444573715879532,-0.4307982307674775,-0.40592643099990894,-0.37601863743490194,-0.3546432716039061,-0.3410475154258016,-0.3297160961063601,-0.3167748613663519,-0.3045566364424209,-0.2935983898008616,-0.2838552017770872,-0.2751915336131068,-0.26745199352008353,-0.2604823391138488,-0.25419893182681386,-0.24846591543114366,-0.24323792673491235},
{2.352848309730819,0.4710465270670053,-0.1891425061434411,-0.40898045904577307,-0.4451087780332631,-0.4310248370158897,-0.4060079862272974,-0.3760197516604045,-0.35462616758314924,-0.3410513718223044,-0.3296713656185837,-0.3167066171851754,-0.30447997056323234,-0.2935188353052572,-0.28377507381127043,-0.27511187893112843,-0.2673733578831305,-0.2604049879334143,-0.25412297590279814,-0.2483913931107068,-0.24316482258910269},
{2.346875585988383,0.46644296706694455,-0.19180389339025833,-0.4101946476911113,-0.44563932844394794,-0.43124877019221663,-0.40608786933853275,-0.37601993077613277,-0.3546082874058656,-0.34105445979393967,-0.3296259583760449,-0.316637966940142,-0.3044030321699308,-0.2934390813158427,-0.2836947917794707,-0.27503210115692855,-0.26729462187046854,-0.26032755338540403,-0.2540469497005102,-0.2483168109005034,-0.2430916669679825},
{2.3409010432065744,0.46185319335937736,-0.19445335504981298,-0.4114010847029804,-0.44616539535054234,-0.4314700487626314,-0.40616609269250364,-0.37601918233882664,-0.35458963709617447,-0.3410567780171603,-0.3295798806774855,-0.31656891491527905,-0.30432582425638216,-0.29335913013868337,-0.28361435755909525,-0.27495220189768876,-0.26721578688086,-0.26025003670917235,-0.2539708543354616,-0.24824216981644617,-0.2430184608055228},
{2.3349247503075015,0.45727718047071275,-0.1970909318340583,-0.4125998107229575,-0.4466870068184122,-0.4316886910669143,-0.4062426685587176,-0.3760175138353446,-0.3545702226344428,-0.34105832532296326,-0.3295331387809845,-0.3164994653556207,-0.3042483497899846,-0.29327898406009456,-0.2835337730117293,-0.27487218274730313,-0.2671368543014858,-0.260172439133861,-0.25389469091399786,-0.2481674708661204,-0.24294520502804332},
{2.328946775855997,0.4527149028489797,-0.1997166643889956,-0.41379086619681577,-0.44720419074037376,-0.43190471531932856,-0.4063176091179889,-0.37601493268349456,-0.35455004995764516,-0.3410591006946476,-0.32948573890385746,-0.3164296224675706,-0.3041706117119233,-0.2931986453468207,-0.28345303998329974,-0.2747920452864886,-0.2670578255080393,-0.260094761878484,-0.2538184605333808,-0.24809271504884772,-0.24287190055427277},
{2.3229671880605474,0.44816633486537305,-0.20233059329408903,-0.41497429137529684,-0.4477169748377445,-0.4321181396095248,-0.40639092646311104,-0.3760114462328469,-0.35452912495978317,-0.3410591032655061,-0.3294376872225657,-0.3163593904192535,-0.30409261293742146,-0.2931181162462161,-0.28337216030423784,-0.2747117910828983,-0.2669787018648251,-0.2600170061520216,-0.25374216428186785,-0.24801790335576135,-0.24279854829541136},
{2.316986054774216,0.4436314508157812,-0.20493275906169411,-0.4161501263148836,-0.4482253866613768,-0.43232898190341373,-0.4064626325995163,-0.37600706176554327,-0.35450745349247004,-0.34105833231645233,-0.3293889898726383,-0.31628877334086236,-0.3040143563559792,-0.2930373989864155,-0.2832911357896248,-0.27463142169122423,-0.26689948472485525,-0.259939173153489,-0.2536658032387742,-0.24794303676986268,-0.24272514915518825},
{2.311003443495572,0.4391102249223021,-0.20752320213648062,-0.4173184108785391,-0.44872945359269206,-0.4325372600440377,-0.4065327394459547,-0.3760017864970906,-0.3544850413659012,-0.3410567872736057,-0.32933965294861167,-0.3162177753250128,-0.3039358448316204,-0.29295649577651456,-0.28320996823935823,-0.2745509386533057,-0.26682017542994424,-0.25986126407203425,-0.25358937847455976,-0.24786811626609645,-0.2426517040299272},
{2.3050194213696256,0.4346026313347445,-0.21010196289487473,-0.41847918473649504,-0.4492292028447111,-0.4327429917524476,-0.40660125883512854,-0.375995627577147,-0.3544618943505442,-0.3410544677058238,-0.3292896825039696,-0.31614640042708175,-0.30385708120313104,-0.292875408806731,-0.28312865943829224,-0.274470343498236,-0.2667407753108005,-0.25978328008700624,-0.25351289105089014,-0.24779314281141052,-0.242578213808601},
{2.2990340551887636,0.4301086441321148,-0.21266908164450082,-0.4196324873669884,-0.44972466146306966,-0.4329461946285503,-0.4066682025143653,-0.3759885920902975,-0.3544380181800579,-0.3410513733222127,-0.3292390845511095,-0.3160746526655577,-0.3037780682842991,-0.2927941402485866,-0.2830472111563941,-0.2743896377424662,-0.26666128568712144,-0.2597052223680452,-0.25343634202071513,-0.2477181173648225,-0.24250467937289347},
{2.2930474113936885,0.4256282373240844,-0.21522459862363258,-0.4207783580570267,-0.450215856327038,-0.43314688615198077,-0.40673358214625643,-0.37598068705682025,-0.3544134185560477,-0.34104750396959627,-0.3291878650613124,-0.3160025360223788,-0.30369880886414957,-0.29271269225506974,-0.2829656251488941,-0.27430882288991093,-0.26658170786769136,-0.2596270920751664,-0.25335973242834403,-0.24764304087749076,-0.24243110159726017},
{2.287059556074365,0.42116138485245025,-0.21776855400064907,-0.4219168359031581,-0.45070281415052643,-0.4333450836829404,-0.40679740930929736,-0.3759719194334409,-0.354388101155345,-0.34104285962997244,-0.3291360299647172,-0.3159300544432667,-0.30361930570717344,-0.2926310669608033,-0.2828839031564191,-0.2742279004320517,-0.2665020431504634,-0.25954889035882844,-0.253283063309508,-0.247567914292767,-0.24235748134898294},
{2.281070554970961,0.4167080605925739,-0.22030098787350041,-0.42304795981220544,-0.4511855614830915,-0.4335408044630418,-0.4068596954985317,-0.37596229611407883,-0.3543620716405373,-0.341037440417952,-0.32908358515031927,-0.31585721183807075,-0.3035395615535675,-0.2925492664822117,-0.28280204690514765,-0.27414687184803754,-0.26642229282265656,-0.2594706183600239,-0.25320633569143497,-0.2474927385462682,-0.24228381948823266},
{2.275080473474808,0.4122682383548123,-0.2228219402691792,-0.42417176850204985,-0.4516641247109391,-0.4337340656161516,-0.4069204521261681,-0.37595182393058274,-0.3543353356743595,-0.34103124657818246,-0.329030536465967,-0.31578401208109314,-0.3034595791194501,-0.2924672929176788,-0.2827200581069414,-0.27406573860478933,-0.26634245816084556,-0.25939227721034813,-0.2531295505929214,-0.24741751456593583,-0.24221011686811678},
{2.2690893766293425,0.4078418918859297,-0.22533145114319544,-0.4252883005023649,-0.45213853005790877,-0.4339248841492106,-0.4069796905222208,-0.3759405096534568,-0.35430789893848574,-0.34102427848277306,-0.32897688971837574,-0.31571045901142036,-0.3033793610970962,-0.2923851483477173,-0.2826379384594834,-0.2739845021570936,-0.2662625404310443,-0.25931386803208556,-0.253052709024391,-0.24734224327209695,-0.2421363743347466},
{2.2630973291310696,0.4034289948704976,-0.22782956037906502,-0.4263975941553747,-0.45260880358646804,-0.4341132769530728,-0.40703742193513176,-0.37592835999258256,-0.3542797671570267,-0.3410165366287238,-0.3289226506731529,-0.3156365564332597,-0.30329891015516175,-0.29230283483512604,-0.28255568964642575,-0.27390316394771635,-0.2661825408888069,-0.2592353919382818,-0.2529758119879826,-0.24726692557753507,-0.2420625927272899},
{2.2571043953305203,0.3990295209322809,-0.23031630778779857,-0.4274996876166196,-0.4530749711986877,-0.4342992608033127,-0.4070936575323726,-0.37591538159791693,-0.3542509461248138,-0.34100802163533583,-0.3288678250548148,-0.3155623081162475,-0.30321822893889366,-0.29222035442514643,-0.2824733133375046,-0.2738217254074873,-0.26610246077929867,-0.2591568500328213,-0.2528988604775952,-0.24719156238753737,-0.24198877287802556},
{2.251110639233213,0.39464344363561016,-0.2327917331074011,-0.42859461885568667,-0.45353705863722266,-0.43448285236104445,-0.40714840840107697,-0.3759015810601983,-0.35422144174036446,-0.3409987342416589,-0.3288124185468447,-0.3154877177957902,-0.30313732007036515,-0.29213770914562365,-0.28239081118868625,-0.2737401879554068,-0.2660223013373977,-0.2590782434105027,-0.2528218554789744,-0.24711615459996544,-0.24191491561240092},
{2.2451161245006204,0.39027073648673993,-0.23525587600237474,-0.4296824256569873,-0.4539950914862842,-0.43466406817373093,-0.4072016855486237,-0.3758869649116324,-0.35419126004309215,-0.34098867530392407,-0.3287564367917235,-0.3154127891733681,-0.3030561861486755,-0.29205490100715714,-0.28230818484228776,-0.27365855299874065,-0.26594206378777074,-0.25899957315711536,-0.25274479796976707,-0.24704070310531218,-0.2418410217490824},
{2.2391209144511337,0.38591137293519195,-0.23770877606323504,-0.4307631456204869,-0.45444909517260057,-0.4348429246759784,-0.40725349990325965,-0.3758715396265758,-0.35416040725421644,-0.34097784579300566,-0.3286998853909967,-0.3153375259168637,-0.3029748297501791,-0.2919719320032621,-0.28222543592710797,-0.2735768219331165,-0.26586174934496337,-0.2589208403495091,-0.2526676889195906,-0.24696520878675943,-0.24176709210001726},
{2.2331250720610365,0.381565326375089,-0.24015047280602245,-0.43183681616245334,-0.454899094966378,-0.4350194381903379,-0.4073038623146886,-0.37585531162220176,-0.3541288898205489,-0.3409662467918885,-0.32864276990533514,-0.3152619316608709,-0.30289325342868834,-0.29188880411051465,-0.28214256605855254,-0.2734949961426213,-0.2657813592134848,-0.2588420460556766,-0.2525905292901006,-0.2468896725202448,-0.24169312747048105},
{2.2271286599654774,0.3772325701464707,-0.2425810056718346,-0.4329034745162268,-0.45534511598225635,-0.43519362492809655,-0.4073527835546603,-0.37583828725916657,-0.354096714460266,-0.340953879493161,-0.32858509585460577,-0.315186010007008,-0.3028114597156877,-0.29180551928870824,-0.2820595768387542,-0.2734130769998954,-0.26570089458788954,-0.25876319133481657,-0.252513320035055,-0.2468140951745103,-0.2416191286591336},
{2.2211317404594437,0.37291307753659864,-0.2450004140263547,-0.4339631577329333,-0.45578718318025496,-0.4353655009900566,-0.4074002743175696,-0.37582047284226183,-0.3540638882096506,-0.3409407451965204,-0.32852686871795334,-0.3151097645242258,-0.3027294511205409,-0.2917220794810001,-0.2819764698566971,-0.27333106586622624,-0.26562035665285993,-0.25868427723741505,-0.2524360621003767,-0.24673847761116574,-0.2415450964580744},
{2.215134375498741,0.36860682178124865,-0.24740873715938697,-0.4350159026822642,-0.45622532136672345,-0.43553508236732114,-0.40744634522101997,-0.37580187462105724,-0.3540304184697341,-0.3409268453063035,-0.3284680939338858,-0.3150331987491152,-0.302647230130696,-0.2916384866140589,-0.2818932466883298,-0.273248964091642,-0.265539746583291,-0.25860530480530647,-0.2523587564242164,-0.24666282068474735,-0.2414710316528887},
{2.209136626700973,0.3643137760659878,-0.2498060142844086,-0.43606174605319675,-0.456659555195269,-0.43570238494205404,-0.40749100680641975,-0.37578249879053843,-0.3539963130518031,-0.34091218132904294,-0.3284087769003682,-0.314956316186211,-0.3025647992118888,-0.2915547425982136,-0.28180990889668833,-0.27316677301500303,-0.26545906554436843,-0.2585262750717545,-0.25228140393701953,-0.2465871252427703,-0.2413969350227067},
{2.2031385553465257,0.36003391352744163,-0.2521922845381149,-0.43710072435473846,-0.4570899091676984,-0.43586742448826593,-0.407534269539554,-0.3757623514917382,-0.3539615802207394,-0.3408967548710433,-0.3283489229749243,-0.3148791203082923,-0.30248216080834706,-0.2914708493275975,-0.2817264580320108,-0.27308449396409906,-0.26537831469165274,-0.25844718906152037,-0.2522040055615883,-0.24651139212578976,-0.24132280734025205},
{2.197140222379553,0.35576720725454586,-0.25456758697998205,-0.4381328739166894,-0.4575164076349406,-0.436030216672564,-0.4075761438111424,-0.3757414388123472,-0.35392622873524004,-0.34088056763598246,-0.32828853747474335,-0.3148016145566826,-0.302399317342986,-0.29138680868029454,-0.2816428956318482,-0.27300212825573417,-0.2652974951711578,-0.25836804779092704,-0.2521265622131384,-0.24643562216745726,-0.24124864937189322},
{2.1911416884089596,0.3515136302897867,-0.2569319605918299,-0.4391582308903482,-0.45793907479796814,-0.4361907770549084,-0.4076166399374206,-0.3757197667873351,-0.35389026788408084,-0.34086362142253873,-0.32822762567679353,-0.3147238023415456,-0.30231627121761234,-0.2913026225184756,-0.281559223221176,-0.27291967719581983,-0.26521660811943026,-0.25828885226793796,-0.2520490747993689,-0.2463598161945703,-0.24117446187769412},
{2.185143013709397,0.34727315563042593,-0.25928544427739386,-0.4401768312492904,-0.45835793470872,-0.4363491210893735,-0.40765576816068083,-0.375697341399544,-0.3538537075176721,-0.34084591812204806,-0.3281661928179391,-0.3146456870421733,-0.30223302481310926,-0.2912182926885451,-0.28147544231250643,-0.27283714207946386,-0.26513565466362743,-0.2582096034922144,-0.2519715442205145,-0.24628397502713512,-0.24110024561146437},
{2.179144258222249,0.3430457562297195,-0.2616280768619023,-0.44118871079007643,-0.45877301127100606,-0.4365052641248762,-0.4076935386498434,-0.37567416858028957,-0.353816558074321,-0.3408274597161849,-0.3281042440950679,-0.3145672720072861,-0.3021495804896389,-0.2911338210212755,-0.28139155440599395,-0.27275452419105956,-0.26505463592159517,-0.2581303024551915,-0.2518939713694122,-0.24620809947841465,-0.24102600132081403},
{2.1731454815566336,0.3388314049981191,-0.26395989709166084,-0.44219390513299306,-0.459184328241418,-0.4366592214059344,-0.4077299615010072,-0.3756502542099474,-0.3537788306007177,-0.3408082482746746,-0.328041784665224,-0.31448856055531366,-0.30206594058683256,-0.29104920933195344,-0.2813075609895455,-0.2726718248043753,-0.2649735530019472,-0.25805095014014523,-0.25181635713156225,-0.24613219035498968,-0.24095172974719525},
{2.167146742990386,0.3346300748044594,-0.26628094363364524,-0.44319244972280725,-0.4595919092302271,-0.4368110080733913,-0.4077650467379843,-0.3756256041185274,-0.35374053676631634,-0.3407882859530242,-0.32797881964573794,-0.3144095559746818,-0.30198210742397474,-0.29096445942050647,-0.2812234635389219,-0.27258904518263904,-0.26489240700413735,-0.25797154752225226,-0.25173870238517887,-0.24605624845680538,-0.24087743162595512},
{2.161148101471071,0.3304417384771391,-0.2685912550750968,-0.4441843798294699,-0.4599957777022814,-0.4369606391651475,-0.40779880431286336,-0.37560022408625027,-0.3537016888714249,-0.34076757499029736,-0.3279153541143758,-0.31433026152409965,-0.3018980833002003,-0.2908795730716473,-0.2811392635178459,-0.27250618657862813,-0.2648111990185422,-0.25789209556866804,-0.2516610080012605,-0.24598027457723004,-0.240803107686388},
{2.1551496156169705,0.3262663688052847,-0.27089086992312494,-0.4451697305488773,-0.46039595697790126,-0.43710812961688816,-0.4078312441065198,-0.37557411984410816,-0.35366229984891473,-0.3407461177068978,-0.32785139310947653,-0.3142506804328307,-0.3018138704946669,-0.2907945520550025,-0.28105496237809835,-0.2724232502347524,-0.26472993012652707,-0.25781259523857736,-0.25158327484363696,-0.24590426950310396,-0.2407287586517769},
{2.1491513437180876,0.32210393853990626,-0.27317982660431933,-0.4461485368035825,-0.4607924702337553,-0.4372534942627903,-0.4078623759291756,-0.375547297074417,-0.35362238325961254,-0.3407239165024014,-0.32778694163010935,-0.3141708159009809,-0.3017294712667508,-0.2907093981252443,-0.2809705615596213,-0.2723402373831395,-0.26464860140052715,-0.2577330474832695,-0.25150550376903485,-0.24582823401479315,-0.24065438523944876},
{2.1431533437371573,0.31795442039503835,-0.2754581634643678,-0.4471208333435272,-0.46118534050375076,-0.43739674783625804,-0.4078922095209211,-0.37551976141137494,-0.3535819532815311,-0.34070097385340337,-0.3277220046362308,-0.31409067109976696,-0.3016448878562239,-0.2906241130222295,-0.28088606249062464,-0.2722571492457225,-0.26456721390412163,-0.25765345324620686,-0.251427695627135,-0.24575216888624468,-0.2405799881608164},
{2.13715567331064,0.3138177870488696,-0.2777259187676747,-0.4480866547467831,-0.4615745906799022,-0.43753790497061246,-0.40792075455223475,-0.37549151844159273,-0.3535410246931522,-0.3406772923113965,-0.327656587048838,-0.31401024917179365,-0.3015601224834322,-0.29053869847112274,-0.2808014665876725,-0.27217398703432166,-0.26448576869210244,-0.2575738134630727,-0.25134985126062703,-0.24567607488503307,-0.2405055681214297},
{2.1311583897497317,0.30969401114486195,-0.2799831306969938,-0.449046035420254,-0.46196024351320153,-0.4376769801998017,-0.40794802062451424,-0.3754625737046325,-0.35349961285112846,-0.3406528745006816,-0.3275906937501377,-0.3139295532313199,-0.30147517734948026,-0.2904531561825283,-0.2807167752557886,-0.2720907519507287,-0.26440426681055024,-0.2574941290618522,-0.25127197150526265,-0.24559995277241423,-0.2404311258210201},
{2.1251615500413767,0.30558306529285734,-0.28222983735306145,-0.44999900960042966,-0.4623423216144933,-0.4378139879591055,-0.4079740172705819,-0.3754329326935322,-0.35345773366275346,-0.34062772311630085,-0.32752432958371414,-0.31384858636452667,-0.3013900546363963,-0.29036748785261557,-0.2806319898885462,-0.2720074451867846,-0.26432270929690355,-0.2574144009628796,-0.25119405718991733,-0.24552380330337098,-0.24035666195354538},
{2.1191652108492653,0.30148492207017286,-0.2844660767542379,-0.4509456113540857,-0.4627208474553193,-0.4379489425858126,-0.4079987539552063,-0.3754026008553255,-0.35341540355366324,-0.34060184092200474,-0.3274574993546945,-0.31376735162978575,-0.3013047565073174,-0.2902816951632476,-0.2805471118681629,-0.27192406792446516,-0.2642410971800293,-0.25733463007891266,-0.2511161091366389,-0.24544762722667074,-0.24028217720723968},
{2.1131694285148575,0.29739955402268514,-0.2866918868361593,-0.45188587457901125,-0.4630958433687883,-0.43808185831992985,-0.4080222400756191,-0.37537158359155537,-0.35337263943124425,-0.34057523074824764,-0.3273902078299391,-0.313685852057921,-0.3012192851066599,-0.29019577978210753,-0.2804621425656038,-0.27184062133596704,-0.2641594314803013,-0.25725481731518884,-0.25103812816071336,-0.24537142528491182,-0.24020767226465967},
{2.107174259058387,0.2933269336659021,-0.2889073054513841,-0.4528198330047428,-0.46346733155041675,-0.43821274930485243,-0.40804448496200063,-0.3753398862587769,-0.3533294586442278,-0.34054789549020276,-0.3273224597382053,-0.3136040906524635,-0.30113364256028685,-0.29010974336282,-0.2803770833406576,-0.2717571065837748,-0.2640777132096574,-0.25717496356948333,-0.2509601150707051,-0.24529519821456847,-0.24013314780271952},
{2.1011797581798732,0.28926703348602617,-0.29111237036906207,-0.45374752019325687,-0.4638353340589764,-0.43834162958804374,-0.40806549787800356,-0.3753075141690564,-0.35328587893902924,-0.3405198381058159,-0.32725425977033684,-0.31352207038991786,-0.3010478309756823,-0.2900235875450738,-0.2802919355420395,-0.2716735248207558,-0.26399594337167864,-0.2570950697321765,-0.25088207066852286,-0.24521894674604616,-0.2400586044927534},
{2.0951859812601437,0.28521982594100265,-0.2933071192745903,-0.45466896953971503,-0.4641998728173402,-0.4384685131217157,-0.4080852880212248,-0.37527447259046337,-0.35324191841331276,-0.34049106161387965,-0.3271856125794536,-0.31343979422000995,-0.3009618524421119,-0.2899373139547444,-0.28020670050747504,-0.2715898771902256,-0.26391412296165623,-0.25701513668630865,-0.2508039957494665,-0.24514267160372671,-0.23998404300054288},
{2.089192983361839,0.2811852834615586,-0.29549158976929546,-0.4555842142731633,-0.4645609696133106,-0.43859341376348665,-0.4081038645237225,-0.3752407667475543,-0.3531975954673451,-0.3404615690921381,-0.32711652278113446,-0.3133572650659429,-0.30087570903079824,-0.28985092420401704,-0.28012137956379335,-0.2715061648260393,-0.2638322529666547,-0.25693516530764304,-0.250725891102284,-0.24506637350601457,-0.23990946398637397},
{2.0832008192304388,0.27716337845223465,-0.2976658193701049,-0.45649328745723894,-0.46491864610045297,-0.4387163452770553,-0.408121236452497,-0.37520640182185133,-0.35315292875361676,-0.3404313636754196,-0.32704699495361444,-0.3132744858246489,-0.3007894027950774,-0.2897644198914998,-0.2800359740270109,-0.27142238885265396,-0.26375033436558426,-0.2568551564647202,-0.25064775750921725,-0.2449900531653909,-0.23983486810507212},
{2.0772095432952757,0.27315408329239915,-0.29982984550923475,-0.4573962219909097,-0.46527292379892066,-0.4388373213328586,-0.40813741280996785,-0.37517138295231744,-0.35310793712523714,-0.3404004485537967,-0.32697703363798175,-0.3131914593670345,-0.30070293577056434,-0.28967780260234743,-0.27995048520242166,-0.27133855038522137,-0.26366836812926747,-0.2567751110189228,-0.25056959574606547,-0.24491371128845096,-0.23976025600604853},
{2.0712192096705526,0.26915737033725523,-0.3019837055338793,-0.4582930506091481,-0.46562382409627634,-0.4389563555087199,-0.408152402534475,-0.3751357152358148,-0.35306263958358214,-0.34036882697076976,-0.32690664333837616,-0.31310818853822836,-0.3006163099753178,-0.28959107390837113,-0.2798649143846812,-0.2712546505296565,-0.26358635522050233,-0.2566950298245272,-0.25049140658222596,-0.2448373485759596,-0.2396856283333447},
{2.0652298721563636,0.2651732119188389,-0.3041274367059042,-0.4591838058836745,-0.46597136824831104,-0.43907346129050734,-0.4081662145007308,-0.3750994037275684,-0.35301705522561905,-0.3403365022214812,-0.3268358285221916,-0.3130246761578227,-0.30052952740998967,-0.28950423536815384,-0.27977926285789073,-0.2711706903827086,-0.26350429659413044,-0.2566149137287628,-0.2504131907807484,-0.24476096572289208,-0.23961098572567294},
{2.0592415842397207,0.26120158034700347,-0.30626107620155396,-0.460068520223647,-0.4663155773798512,-0.4391886520727687,-0.40817885752031746,-0.37506245344161837,-0.35297120319135256,-0.3403034776509555,-0.3267645936202853,-0.31294092502011506,-0.30044259005799395,-0.28941728852716575,-0.27969353189568436,-0.2710866710320469,-0.2634221931971006,-0.2565347635718726,-0.2503349490983902,-0.24468456341848144,-0.23953632881646064},
{2.0532543990955636,0.25724244791039436,-0.30838466111115515,-0.4609472258763556,-0.46665647248556547,-0.43930194115938065,-0.4081903403421483,-0.3750248693512669,-0.35292510261175564,-0.34026975665236714,-0.32669294302718666,-0.31285693789434693,-0.30035549988565413,-0.2893302349178701,-0.2796077227613099,-0.2710025935563267,-0.2633400459685333,-0.2564545801871634,-0.25025668228566283,-0.2446081423462654,-0.2394616582338901},
{2.0472683695877922,0.253295786877413,-0.3104982284388328,-0.4618199549279588,-0.46699407443076824,-0.4394133417641823,-0.40820067165293195,-0.3749866563895156,-0.3528787725575385,-0.34023534266533456,-0.3266208811013127,-0.3127727175249412,-0.3002682588423649,-0.2892430760598308,-0.27952183670771436,-0.27091845902526707,-0.26325785583978834,-0.2563743644010679,-0.2501783910868784,-0.24453170318413392,-0.23938697460094033},
{2.0412835482702887,0.249361569497176,-0.31260181510222895,-0.4626867393041475,-0.46732840395221426,-0.4395228670116026,-0.4082098600776438,-0.37494781944950406,-0.3528322319890913,-0.3402002391742357,-0.3265484121651809,-0.31268826663173516,-0.3001808688607413,-0.28915581345981656,-0.2794358749776216,-0.2708342684997245,-0.2631756237345227,-0.2562941170331968,-0.25010007624021025,-0.2444552466043624,-0.23931227853542827},
{2.0352999873879356,0.2454397680004514,-0.3146954579322288,-0.46354761077087864,-0.46765948165889903,-0.439630529937296,-0.40821791417997233,-0.3749083633849358,-0.352785499707856,-0.34016444970655685,-0.32647554050563266,-0.31260358791020887,-0.300093331856769,-0.2890684486118989,-0.2793498388036152,-0.27075002303176254,-0.26309335056875655,-0.25621383889639177,-0.25002173847772624,-0.24437877327367435,-0.2392375706500514},
{2.029317738877643,0.24153035460059902,-0.3167791936726898,-0.4644026009350542,-0.467987328032834,-0.43973634348874746,-0.4082248424627862,-0.3748682930105012,-0.3527385943094053,-0.34012797783126547,-0.32640227037405284,-0.31251868403172356,-0.3000056497299568,-0.28898098299755637,-0.27926372940821864,-0.2706657236647229,-0.2630110372509353,-0.25613353079678425,-0.2499433785254492,-0.24430228385326838,-0.2391628515524282},
{2.0233368543693793,0.23763330149449466,-0.3188530589801797,-0.46525174124521457,-0.4683119634298393,-0.43984032052590943,-0.40823065336858744,-0.37482761310229445,-0.35269153413842824,-0.3400908271572057,-0.32632860598659835,-0.3124335576437392,-0.2999178243634867,-0.2888934180857667,-0.27917754800397576,-0.2705813714333057,-0.2629286846819889,-0.2560531935338482,-0.24986499710340554,-0.24422577899887257,-0.23908812184513226},
{2.0173573851871898,0.23374858086344022,-0.32091709042372063,-0.4660950629922558,-0.4686334080803157,-0.43994247382180623,-0.4082353552799472,-0.3747863283982268,-0.3526443372458047,-0.34005300133152383,-0.32625455152442046,-0.3123482113700444,-0.2998298576243559,-0.2888057553330992,-0.2790912957935276,-0.2704969673636256,-0.26284629375539736,-0.2559728279004482,-0.24978659492566374,-0.2441492593607821,-0.23901338212573986},
{2.0113793823502264,0.2298761648740698,-0.32297132448453325,-0.46693259731009373,-0.46895168209002325,-0.4400428160631374,-0.4082389565199725,-0.3747444435984288,-0.35259702134794313,-0.34001450403811706,-0.32618011113390105,-0.3122626478109809,-0.2997417513635272,-0.2887179961838104,-0.27900497396969115,-0.270412512473297,-0.26276386535724744,-0.2558924346829038,-0.24970817270039153,-0.24407272558390733,-0.23893863298686527},
{2.005402896573774,0.22601602567924603,-0.32501579755579235,-0.46776437517638153,-0.46926680544085,-0.44014135985089536,-0.4082414653527196,-0.37470196336565326,-0.35254960378847655,-0.3399753389961063,-0.32610528892687546,-0.3121768695436572,-0.299653507416071,-0.28863014206992654,-0.2789185837155349,-0.270328007771492,-0.2626814003662921,-0.2558120146610297,-0.2496297311298906,-0.24399617830780945,-0.2388638750161994},
{1.999427978270275,0.2221681354189433,-0.3270505459423852,-0.46859042741318496,-0.46957879799157115,-0.4402381177009452,-0.4082428899836547,-0.3746588923256653,-0.3525021015024418,-0.33993550995833954,-0.326030088980871,-0.31209087912217653,-0.29956512760130627,-0.28854219441133483,-0.27883212620445896,-0.27024345425901564,-0.26259889965401584,-0.25573156860819524,-0.2495512709106599,-0.24391961816675004,-0.2387891087965514},
{1.993454677550365,0.21833246622112235,-0.3290756058606796,-0.4694107846876674,-0.4698876794786192,-0.44033310204464615,-0.4082432385600865,-0.3746152350676414,-0.3524545309829975,-0.33989502070991706,-0.3259545153393424,-0.3120046790778451,-0.29947661372294576,-0.28845415461587093,-0.2787456026002689,-0.27015885292837105,-0.26251636408469,-0.2556510972913788,-0.24947279273342937,-0.24384304578972868,-0.23871433490588428},
{1.9874830442238915,0.21450899020259842,-0.33109101343828723,-0.4702254775127918,-0.4701934695168277,-0.4404263252294239,-0.4082425191715848,-0.37457099614454265,-0.3524069082507296,-0.3398538750667417,-0.3258785720119011,-0.3119182719193928,-0.29938796756923475,-0.2883660240794008,-0.2786590140572513,-0.2700742047638304,-0.2624337945154275,-0.2555706014712064,-0.2493942972832087,-0.24376646180052491,-0.23863955391735342},
{1.981513127800947,0.21069767946989487,-0.33309680471384506,-0.4710345362479804,-0.47049618760018896,-0.44051779951935877,-0.40824073985042614,-0.3745261800734981,-0.35235924882557856,-0.33981207687409154,-0.32580226297455306,-0.3118316601331789,-0.2992991909130881,-0.2882778041859076,-0.27857236172024735,-0.269989510741501,-0.26235119179624883,-0.2554900819020175,-0.24931578523933312,-0.24368986681773952,-0.23856476639934812},
{1.9755449774928935,0.20689850612009114,-0.33509301563679195,-0.47183799109982333,-0.4707958531026039,-0.44060753709578226,-0.4082379085719967,-0.3744807913361791,-0.35231156770138067,-0.33976963000522403,-0.32572559216993496,-0.31174484618340503,-0.29921028551222556,-0.2881894963075708,-0.27848564672472786,-0.2699047718293883,-0.26226855677013083,-0.2554095393319051,-0.249237257275509,-0.24361326145483475,-0.23848997291551965},
{1.9695786422133987,0.2031114422416621,-0.3370796820671577,-0.47263587212274344,-0.47109248527861614,-0.44069555005783406,-0.40823403325523017,-0.3744348343791666,-0.35226387932303066,-0.33972653835999866,-0.325648563507545,-0.3116578325123263,-0.2991212531093103,-0.2881011018048587,-0.2783988701968646,-0.26981998898746473,-0.2621858902730711,-0.2553289745027708,-0.2491587140598574,-0.24353664632017674,-0.2384151740248301},
{1.9636141705794603,0.19933645991530316,-0.33905683977535384,-0.4734282092196704,-0.4713861032641572,-0.4407818504230582,-0.4082291217630284,-0.3743883136143159,-0.35221619756622424,-0.33968280586353206,-0.3255711808639892,-0.3115706215404534,-0.29903209543208653,-0.2880126220266056,-0.27831203325360887,-0.26973516316773977,-0.2621031931341413,-0.25524838815037204,-0.24908015625496,-0.24346002201707528,-0.2383403702815783},
{1.9576516109124298,0.19557353121475357,-0.3410245244419674,-0.47421503214273597,-0.47167672607727174,-0.4408664501279609,-0.40822318190265794,-0.37434123341911296,-0.35216853571972967,-0.3396384364648624,-0.32549344808320146,-0.31148321566675485,-0.298942814193506,-0.2879240583100998,-0.2782251370027583,-0.269650295314313,-0.26202046617554176,-0.25516778100436915,-0.24900158451789917,-0.24338338914382157,-0.23826556223544587},
{1.9516910112390529,0.1918226282076031,-0.3429827716575694,-0.4749963704939241,-0.47196437261885327,-0.440949361028577,-0.4082162214261855,-0.3742935981370302,-0.3521209064701639,-0.33959343413565846,-0.3254153689766912,-0.31139561726886394,-0.29885341109186436,-0.2878354119811719,-0.27813818254302575,-0.26956538636345345,-0.261937710212661,-0.25508715378838054,-0.24892299950030686,-0.24330674829372767,-0.238190750431525},
{1.9457324192924887,0.18808372295609543,-0.34493161692251206,-0.4757722537257674,-0.47224906167336866,-0.4410305949010401,-0.40820824803085626,-0.37424541207787393,-0.35207332188916723,-0.3395478028689351,-0.32533694732376756,-0.31130782870327456,-0.2987638878109272,-0.2877466843542736,-0.27805117096412035,-0.26948043724364973,-0.26185492605412547,-0.2550065072200247,-0.24884440184840242,-0.2432301000551666,-0.23811593541035941},
{1.9397758825133447,0.18435678751791817,-0.3468710956467516,-0.4765427111420074,-0.47253081190957336,-0.44111016344212617,-0.40819926935952966,-0.374196679518131,-0.3520257934229444,-0.3395015466778034,-0.3252581868717759,-0.311219852305541,-0.2986742460200657,-0.28765787673257703,-0.2779641033468086,-0.26939544887568334,-0.26177211450185844,-0.25492584201097135,-0.2487657922030383,-0.24315344501161232,-0.23804111770798056},
{1.9338214480507032,0.18064179394698662,-0.3488012431496581,-0.47730777189825147,-0.47280964188123187,-0.44118807826982326,-0.40818929300106477,-0.3741474047013061,-0.35197833188405186,-0.3394546695942386,-0.3251790913363278,-0.3111316903904732,-0.29858448737438054,-0.2875689904080514,-0.2778769807629886,-0.2693104221726845,-0.2616892763511334,-0.2548451588669864,-0.24868717119974243,-0.24307678374167807,-0.23796629785593473},
{1.9278691627631483,0.17693871429421634,-0.35072209465984105,-0.478067465002667,-0.47308557002782514,-0.44126435092387295,-0.4081783264907159,-0.3740975918382567,-0.3519309474453571,-0.33940717566787976,-0.3250996644015301,-0.3110433452523302,-0.2984946135148262,-0.2874800266615628,-0.27778980427575845,-0.26922535804019865,-0.26160641239062565,-0.2547644584879793,-0.24860853946875944,-0.24300011681914832,-0.23789147638132777},
{1.921919073219804,0.1732475206082834,-0.35263368531497785,-0.4788218193166171,-0.47335861467526286,-0.44133899286631645,-0.4081663773105464,-0.37404724510752574,-0.35188364963609253,-0.33935906896483997,-0.3250199097202157,-0.3109548191650158,-0.29840462606834256,-0.2873909867629597,-0.27770257493948314,-0.26914025737624764,-0.261523523402465,-0.25468374156805507,-0.2485298976350951,-0.2429234448130282,-0.23781665380685676},
{1.9159712257013488,0.16956818493637754,-0.35453605016164125,-0.4795708635553485,-0.47362879403658525,-0.44141201548204184,-0.4081534528897937,-0.3739963686556636,-0.35183644733986297,-0.3393103535665524,-0.32493983091416634,-0.3108661143822604,-0.29831452664797253,-0.28730187197116774,-0.27761529379986793,-0.2690551210713861,-0.26144061016229236,-0.25460300879554953,-0.24845124631854784,-0.24284676828756865,-0.23774183065083662},
{1.9100256662010553,0.16590067932493968,-0.356429224155142,-0.4803146262886393,-0.47389612621265836,-0.44148343007930935,-0.4081395606052823,-0.3739449665975547,-0.3517893487945477,-0.3392610335686338,-0.32485943157434105,-0.3107772331378207,-0.298224316852993,-0.2872126835342782,-0.2775279618940179,-0.2689699500087696,-0.26135767343930927,-0.25452226085308627,-0.2483725861337633,-0.24277008780231196,-0.23766700742724933},
{1.9040824404258134,0.1622449758203895,-0.3583132421593687,-0.4810531359414515,-0.47416062919287233,-0.4415532478903029,-0.4081247077818049,-0.37389304301673243,-0.3517423615939745,-0.33921111307977303,-0.32477871526110064,-0.310688177645653,-0.29813399826902603,-0.28712342268965313,-0.277440580250514,-0.2688847450642081,-0.2612747139963281,-0.25444149841761504,-0.24829391769026796,-0.24269340391212257,-0.23759218464576118},
{1.898141593797161,0.15860104646983214,-0.36018813894663654,-0.48178642079461365,-0.4744223208558305,-0.44162148007165203,-0.4081089016924949,-0.3738406019656896,-0.35169549269124933,-0.33916059622063943,-0.32469768550442885,-0.31059895010011207,-0.29804357246817115,-0.28703409066400914,-0.2773531498894757,-0.2687995071062305,-0.26119173258982836,-0.25436072216046046,-0.24821524159250813,-0.24261671716723415,-0.23751736281176822},
{1.8922031714523093,0.15496886332175536,-0.36205394919753514,-0.48251450898544096,-0.47468121897003457,-0.44168813770495174,-0.4080921495592251,-0.3737876474661925,-0.35164874840366145,-0.33910948712281624,-0.32461634580415083,-0.31050955267612296,-0.2979530410091161,-0.2869446886735202,-0.277265671822622,-0.26871423699613994,-0.26110872997,-0.25427993274736393,-0.2481365584398919,-0.24254002811327213,-0.23744254242642487},
{1.8862672182451685,0.15134839842669756,-0.3639107075007916,-0.4832374285084214,-0.47493734119457276,-0.44175323179730347,-0.40807445855296387,-0.37373418350958226,-0.3516021344190339,-0.33905778992775587,-0.3245346996301574,-0.3104199875293649,-0.2978624054372565,-0.28685521792391094,-0.277178147053347,-0.2686289355880731,-0.2610257068808023,-0.25419913083852863,-0.2480578688268288,-0.24246333729129674,-0.23736772398667155},
{1.8803337787473808,0.1477396238379018,-0.3657584483531264,-0.4839552072158508,-0.4751907050797897,-0.4418167732818094,-0.4080558357941641,-0.3736802140570749,-0.35155565580343456,-0.3390055087857608,-0.3244527504226158,-0.31033025679645354,-0.29777166728481846,-0.28676567961055865,-0.27709057657677705,-0.2685436037290604,-0.260942664060006,-0.25411831708866517,-0.24797917334276853,-0.24238664523784076,-0.23729290798528385},
{1.8744028972493398,0.14414251161193786,-0.3675972061591226,-0.4846678728184738,-0.4754413280679665,-0.44187877301810913,-0.4080362883531388,-0.37362574304006213,-0.35150931701013916,-0.33895264785498,-0.3243705015921948,-0.3102403625951141,-0.29768082807096685,-0.2866760749185853,-0.27700296137983876,-0.26845824225908277,-0.26085960223925153,-0.2540374921470341,-0.2479004725722438,-0.24230995248494339,-0.23721809491088125},
{1.8684746177612206,0.14055703380929443,-0.369427015231096,-0.4853754528861551,-0.47568922749398435,-0.441939241792883,-0.40801582325040914,-0.3735707743603969,-0.3514631218897225,-0.3388992113004314,-0.3242879565202689,-0.31015030702435875,-0.29758988930192554,-0.28658640502295957,-0.2769153024413245,-0.26837285201112543,-0.2607765221440873,-0.2539566566574855,-0.24782176709490006,-0.24223325956017852,-0.23714328524797945},
{1.8625489840140048,0.13698316249494025,-0.3712479097889712,-0.48607797484849646,-0.4759344205859975,-0.4419981903203574,-0.4079944474571003,-0.37351531189069126,-0.35141707370123176,-0.3388452032930471,-0.3242051185591396,-0.31006009216466246,-0.29749885247109104,-0.2864966710885953,-0.27682760073195034,-0.2682874338112399,-0.2606934244940278,-0.25387581125851,-0.2477430574855407,-0.24215656698670077,-0.2370684794770121},
{1.856626039460503,0.13342086973884143,-0.373059923960159,-0.4867754659955052,-0.4761769244660931,-0.44205562924281605,-0.407972167895264,-0.37345935947459247,-0.35137117512428284,-0.33879062800873866,-0.32412199103224304,-0.30996972007812856,-0.29740771905914004,-0.2864068742704474,-0.2767398572144244,-0.26820198847859333,-0.2606103100025954,-0.25379495658327106,-0.24766434431416504,-0.24207987528327327,-0.2369936780743644},
{1.8507058272763839,0.12987012761643893,-0.3748630917794447,-0.4874679534782222,-0.476416756150946,-0.44211156913108624,-0.4079489914382641,-0.3734029209270714,-0.3513254282720338,-0.3387354896274799,-0.3240385772343609,-0.3098791928086698,-0.29731649053414655,-0.28631701571361123,-0.2766520728435104,-0.2681165168255323,-0.26052717937737707,-0.25371409325965494,-0.24758562814600435,-0.24200318496430057,-0.23691888151240678},
{1.8447883903611912,0.12633090820907047,-0.376657447188876,-0.48815546430935414,-0.4766539325524748,-0.44216602048505543,-0.4079249249110901,-0.3733460000346944,-0.35127983470492846,-0.33867979233242124,-0.3239548804318317,-0.30978851238216454,-0.297225168351691,-0.2862270965534196,-0.2765642485660821,-0.26803101965763154,-0.26044403332005994,-0.2536332219103091,-0.2475069095415581,-0.24192649653987028,-0.23684409025952124},
{1.8388737713393735,0.12280318360434431,-0.37844302403765573,-0.4888380253639336,-0.47688847047849015,-0.4422189937341531,-0.4078999750906349,-0.3732886005559033,-0.3512343954451177,-0.3386235403090116,-0.3238709038627545,-0.30969768080663646,-0.29713375395496483,-0.28613711791554386,-0.2764763853211936,-0.2679454977737485,-0.260360872526486,-0.2535523431526817,-0.24742818905663133,-0.24184981051577542,-0.23676930478013458},
{1.832962012561301,0.11928692589644624,-0.38021985608204134,-0.48951566337992336,-0.4771203866333425,-0.44227049923783546,-0.4078741487059039,-0.37323072622127745,-0.35118911099148575,-0.338566737744152,-0.3237866507371983,-0.3096067000724066,-0.2970422487748888,-0.2860470809160864,-0.27638848404013433,-0.26785995196608425,-0.2602776976866954,-0.2534714575990679,-0.2473494672423716,-0.24177312739355877,-0.23669452553475226},
{1.8270531561042944,0.1157821071863821,-0.3819879769852447,-0.4901884049588793,-0.4773496976185675,-0.4423205472860904,-0.4078474524380285,-0.37317238073380965,-0.3511439813351991,-0.3385093888253618,-0.32370212423741,-0.3095155721522683,-0.2969506542302091,-0.285956986661679,-0.2763005456464987,-0.2677743830202296,-0.2601945094849778,-0.25339056585664377,-0.2472707446453096,-0.24169644767053564,-0.23661975297998517},
{1.8211472437736338,0.11228869958214735,-0.3837474203173422,-0.4908562765665646,-0.47757641993351374,-0.44236914809989275,-0.4078198929200749,-0.3731135677691598,-0.3510990059757001,-0.3384514977399703,-0.32361732751800654,-0.30942429900164503,-0.29685897172761067,-0.28586683624957937,-0.27621257105623004,-0.26768879171522,-0.260111308599911,-0.25330966852751374,-0.24719202180738814,-0.24161977183983985,-0.23654498756857723},
{1.8152443171035937,0.10880667519881695,-0.38549821955518504,-0.4915193045335745,-0.4778005699759898,-0.44241631183171104,-0.40779147673647526,-0.3730542909759248,-0.3510541839370751,-0.33839306867432983,-0.3235322637061968,-0.3093328825587488,-0.2967672026618215,-0.2857766307677644,-0.27612456117769757,-0.2676031788235944,-0.2600280957044137,-0.25322876620874596,-0.24711329926600462,-0.24154310039044444,-0.236470229749443},
{1.80934441735845,0.10533600615854999,-0.3872404080823124,-0.49217751505598106,-0.4780221640428825,-0.4424620485659672,-0.4077622104219462,-0.3729945539758862,-0.3510095137847329,-0.3383341058130389,-0.32344693590196805,-0.3092413247447393,-0.2966753484157131,-0.2856863712950269,-0.27603651691174724,-0.2675175451114363,-0.25994487146578243,-0.2531478594924107,-0.24703457755403802,-0.2414664338071941,-0.23639547996768698},
{1.8034475855335055,0.10187666459050866,-0.388974019188875,-0.4928309341959348,-0.4782412183307907,-0.4425063683195114,-0.4077321004598153,-0.37293436036426586,-0.35096499364231637,-0.33827461333819364,-0.32336134717829396,-0.3091496274638865,-0.29658341036041047,-0.2855960589010638,-0.27594843915175954,-0.2674318913384369,-0.25986163654574185,-0.25306694896562076,-0.24695585719989116,-0.24138977257084632,-0.23632073866464098},
{1.7975538623561065,0.09842862263067699,-0.39069908607155385,-0.49347958788231006,-0.47845774893665083,-0.4425492810420984,-0.4077011532795172,-0.3728737137099817,-0.35092062120880724,-0.33821459542865906,-0.3232755005813366,-0.3090577926037184,-0.2964913898553843,-0.2855056946465715,-0.27586032878371186,-0.26734621825794,-0.2597783916004899,-0.25298603521057694,-0.24687713872752753,-0.24131311715809514,-0.2362460062778925},
{1.7916632882866559,0.09499185242157732,-0.3924156418334925,-0.49412350191131454,-0.4786717718583454,-0.4425907966168366,-0.4076693752532224,-0.37281261755588335,-0.35087639377574487,-0.33815405625935374,-0.3231893991306398,-0.3089658220351821,-0.2963992882485635,-0.28541527958333857,-0.2757721866862351,-0.2672605266169967,-0.25969513728073895,-0.25290511880459626,-0.24679842265649876,-0.24123646804160734,-0.23617128324131323},
{1.7857759035196337,0.09156632611189176,-0.39412371948422864,-0.4947627019470979,-0.47888330299532844,-0.44263092486067107,-0.40763677269141424,-0.3727510754190054,-0.3508323082445276,-0.33809300000055514,-0.323103045819334,-0.30887371761279026,-0.2963071068764278,-0.2853248147543322,-0.2756840137306702,-0.2671748171564116,-0.2596118742317577,-0.2528242003201572,-0.2467197095019832,-0.24115982569004846,-0.23609656998507986},
{1.7798917479846101,0.0881520158559646,-0.39582335193962787,-0.49539721352239474,-0.4790923581492312,-0.44266967552482994,-0.4076033518373473,-0.37268909079080176,-0.350788361143723,-0.3380314308172272,-0.3230164436143299,-0.3087814811747767,-0.29621484706410844,-0.28523430119378695,-0.27559581078112694,-0.26708909061079666,-0.2595286030934193,-0.25274328032493487,-0.24664099977481885,-0.24108319056811894,-0.23602186693571578},
{1.7740108613472576,0.0847488938131952,-0.397514572021828,-0.49602706203910424,-0.4792989530244679,-0.44270705829527796,-0.4075691188603684,-0.37262666713738474,-0.35074454864636756,-0.33796935286836083,-0.3229295954565177,-0.3086891145432454,-0.2961225101254888,-0.2851437399272926,-0.2755075786945354,-0.26700334770862,-0.2594453245002385,-0.2526623593818385,-0.24656229398153756,-0.24100656313658117,-0.23594717451610955},
{1.7681332830103653,0.08135693214731907,-0.39919741245917695,-0.49665227276893553,-0.4795031032288501,-0.442743082793181,-0.407534079848013,-0.3725638078997583,-0.35070086658718647,-0.33790677030633387,-0.3228425042609632,-0.3085966195243133,-0.29603009736329844,-0.2850531319718817,-0.27541931832071254,-0.26691758917225344,-0.25936203908141897,-0.252581438049049,-0.246483592624399,-0.24092994385229036,-0.2358724931455452},
{1.7622590521148538,0.07797610302556633,-0.40087190588618765,-0.49727287085400135,-0.47970482427417566,-0.44277775857533735,-0.40749824079700714,-0.37250051649405164,-0.3506573104797165,-0.33784368727629366,-0.3227551729171018,-0.3085039979082655,-0.2959376100692138,-0.28496247833611077,-0.2753310305024079,-0.2668318157180237,-0.2592787474608941,-0.2525005168800621,-0.24640489620142164,-0.24085333316822877,-0.23579782323973444},
{1.75638820754078,0.07460637861770311,-0.4025380848434859,-0.4978888813074165,-0.4799041315768296,-0.4428110951346411,-0.407461607603149,-0.37243679631174514,-0.3506138755332809,-0.33778010791554935,-0.32266760428893604,-0.30841125146968934,-0.2958450495239486,-0.2848717800201473,-0.2752427160753622,-0.2667460280562612,-0.25919545025736634,-0.25241959642371387,-0.24632620520641968,-0.2407767315335265,-0.23572316521083195},
{1.7505207879083509,0.07124773109494983,-0.4041959817777695,-0.4985003290139322,-0.480101040458376,-0.4428431019005162,-0.40742418605021463,-0.37237265071989434,-0.35057055666978604,-0.3377160363529894,-0.3225798012152286,-0.30831838196763106,-0.2957524169973518,-0.28478103801585103,-0.27515437586836733,-0.26666022689134417,-0.25911214808435146,-0.2523386772242237,-0.2462475201290314,-0.24070013939350615,-0.23564851946748386},
{1.7446568315789321,0.06790013262878464,-0.4058456290417643,-0.49910723873050533,-0.480295566146149,-0.4428737882393529,-0.40738598179805896,-0.37230808306135554,-0.3505273485403205,-0.33765147670850487,-0.3224917665096957,-0.30822539114572517,-0.2956597137485023,-0.284690253306852,-0.275066010703309,-0.26657441292175116,-0.2590288415502151,-0.25225775982122745,-0.2461688414547538,-0.240623557189691,-0.23557388641482763},
{1.738796376656051,0.06456355538961484,-0.4074870588941926,-0.49970963508693084,-0.4804877237738415,-0.44290316345495745,-0.4073470003699906,-0.3722430966550052,-0.3504842455415038,-0.33758643309244624,-0.3224035029612,-0.30813228073234344,-0.2955669410257965,-0.28459942686863265,-0.2749776213952355,-0.2664885868401048,-0.2589455312582198,-0.2521768447498226,-0.2460901696649746,-0.24054698535985727,-0.23549926645454475},
{1.7329394609864106,0.06123797154534148,-0.4091203034997359,-0.5003075425864282,-0.48067752838207845,-0.4429312367889615,-0.4073072471397143,-0.37217769479595314,-0.3504412418315869,-0.3375209096050803,-0.3223150133339426,-0.30803905244073365,-0.2954741000670485,-0.2845085596686039,-0.2748892087524007,-0.26640274933321967,-0.2588622178065632,-0.25209593254058915,-0.24601150523700444,-0.24047042433804772,-0.23542465998487402},
{1.7270861221608875,0.05792335325979749,-0.4107453949290084,-0.5009009856062254,-0.48086499491900425,-0.44295801742127755,-0.407266727317966,-0.37211188075575996,-0.35039833134627146,-0.3374549103360703,-0.32222630036765715,-0.30794570796915044,-0.29538119209957114,-0.284417652666185,-0.27480077357631905,-0.26631690108215256,-0.258778901788413,-0.25201502371963574,-0.24593284864410747,-0.24039387455460476,-0.23535006740063275},
{1.7212363975155371,0.054619672691070244,-0.4123623651585344,-0.5014899883981863,-0.48105013824085,-0.44298351447051215,-0.40722544593907184,-0.37204565778264925,-0.35035550781421015,-0.3373884393639732,-0.32213736677779936,-0.3078522490010014,-0.29528821834027663,-0.2843267068128737,-0.2747123166618266,-0.2662310427622373,-0.25869558379195384,-0.2519341188086284,-0.24585420035553335,-0.24031733643619863,-0.23527548909325796},
{1.7153903241326,0.051326901989714145,-0.41397124607072183,-0.5020745750893698,-0.48123297311251056,-0.4430077369943891,-0.40718340784768425,-0.3719790291017129,-0.3503127647722158,-0.33732150075575335,-0.3220482152557358,-0.30775867720497607,-0.29519517999575823,-0.28423572305232947,-0.2746238387971188,-0.26614517504314805,-0.25861226440042173,-0.2518532183248316,-0.24577556083654944,-0.24024081040585757,-0.23520092545082316},
{1.709547938841497,0.048045013296854885,-0.41557206945384684,-0.5026547696826436,-0.481413514208113,-0.44303069399017964,-0.4071406176858196,-0.37191199791511853,-0.3502700955800961,-0.3372540985663054,-0.3219588484689344,-0.3076649942351774,-0.2951020782623783,-0.2841447023204303,-0.2745353407638131,-0.2660592985889215,-0.25852894419214123,-0.25177232278113415,-0.24569693054846686,-0.24016429688299384,-0.23512637685805998},
{1.7037092782198364,0.04477397874218584,-0.4171648670020393,-0.5032305960572718,-0.48159177611157494,-0.4430523943951039,-0.40709707988052407,-0.3718445674023169,-0.350227493435177,-0.33718623683799775,-0.321869269061158,-0.307571201731266,-0.2950089143263637,-0.28405364554536405,-0.2744468233370026,-0.26597341405802644,-0.25844562374057556,-0.2516914326860904,-0.24561830994867828,-0.2400877962834314,-0.23505184369640061},
{1.6978743785944064,0.04151377044186333,-0.41874967031527544,-0.5038020779694833,-0.4817677733171747,-0.44307284708676614,-0.40705279863223326,-0.37177674072023764,-0.3501849513864371,-0.33711791960023013,-0.3217794796526488,-0.3074773013185782,-0.29491568936388624,-0.28396255364768475,-0.27435828728530043,-0.26588752210339434,-0.2583623036143512,-0.2516105485439531,-0.24553969949068502,-0.24001130901943782,-0.23497732634398047},
{1.6920432760421735,0.03826436049631151,-0.420326510899365,-0.5043692390530851,-0.48194152023009784,-0.44309206088355263,-0.40700777790407383,-0.3717085210034917,-0.35014246234828106,-0.3370491508690043,-0.3216894828403164,-0.30738329460826264,-0.2948224045411474,-0.28387142754038497,-0.2742697333708891,-0.2658016233724574,-0.2582789843772997,-0.2515296708546997,-0.24546109962411944,-0.23993483549974076,-0.23490282517567904},
{1.686216006391283,0.03502572098793775,-0.4218954201659519,-0.5049321028200136,-0.4821130311669965,-0.44311004454503977,-0.40696202141225746,-0.3716399113645638,-0.35010001911393346,-0.33697993464651277,-0.32159928119792447,-0.30728918319740467,-0.29472906101447127,-0.2837802681289657,-0.27418116234957834,-0.26571571850720865,-0.2581956665884998,-0.25144880011407367,-0.24538251079478893,-0.23985837612957095,-0.23482834056314458},
{1.6803926052220468,0.031797823978759,-0.42345642943250983,-0.5054906926609435,-0.4822823203565484,-0.4431268067724132,-0.40691553261765406,-0.37157091489401184,-0.35005761436844307,-0.33691027492073194,-0.3215088772762834,-0.30719496866915974,-0.29463565993037877,-0.2836890763115005,-0.27409257497085404,-0.2656298081442356,-0.2581123508023095,-0.25136793681361763,-0.2453039334446992,-0.23978193131067152,-0.23475387287480998},
{1.67457310786794,0.028580641507962905,-0.42500956992234945,-0.5060450318458531,-0.4824494019399876,-0.4431423562088489,-0.4068683147187302,-0.3715015346606517,-0.350015240701299,-0.3368401756650452,-0.32141827360342556,-0.30710065259287506,-0.29454220242567963,-0.28359785297870543,-0.27400397197792076,-0.26554389291475966,-0.2580290375684121,-0.2512870814406992,-0.24522536801207828,-0.23970550144134475,-0.2346794224759254},
{1.668757549416594,0.02537414558939012,-0.42655487276462556,-0.5065951435245921,-0.48261428997166406,-0.4431567014399394,-0.40682037064588183,-0.3714317737117545,-0.34997289061864933,-0.33676964083786515,-0.3213274726848051,-0.30700623652421466,-0.2944486896275538,-0.2835065990139993,-0.2739153541077588,-0.26545797344469074,-0.2579457274318373,-0.25120623447854923,-0.2451468149314115,-0.239629086916457,-0.2346049897285771},
{1.6629459647107825,0.022178308208965623,-0.42809236899434183,-0.5071410507274777,-0.4827769984195691,-0.44316985099406847,-0.40677170305722954,-0.3713616350732233,-0.34993055655511585,-0.3366986743822722,-0.3212364770034644,-0.30691172200528294,-0.2943551226536263,-0.28341531529356584,-0.27382672209117076,-0.26537205035465733,-0.25786242093301504,-0.25112539640629156,-0.24506827463347367,-0.23955268812748565,-0.23453057499172011},
{1.6571383883494142,0.018993101322065935,-0.4296220895523685,-0.5076827763658411,-0.48293754116588544,-0.44318181334281836,-0.4067223143359873,-0.37129112174978574,-0.3498882308852248,-0.3366272802256739,-0.32114528902023554,-0.3068171105647476,-0.29426150261205974,-0.28332400268642266,-0.2737380766528257,-0.2652861242600579,-0.25777911860779573,-0.2510445676989765,-0.24498974754534597,-0.23947630546252707,-0.23445617862119053},
{1.6513348546885158,0.01581849685085078,-0.43114406528545657,-0.5082203432326216,-0.4830959320075182,-0.44319259690136115,-0.4066722065893233,-0.37122023672517424,-0.3498459059344205,-0.3365554622794718,-0.32105391117391435,-0.3067224037179605,-0.29416783060162327,-0.28323266205447273,-0.2736494185113152,-0.26520019577109244,-0.2576958209874985,-0.2509637488276095,-0.24491123409045745,-0.23939993930633352,-0.23438180096973887},
{1.6455353978422218,0.012654466681550694,-0.4326583269462572,-0.5087537740029241,-0.4832521846566197,-0.4432022100288347,-0.40662138164882244,-0.37114898296230586,-0.34980357398969186,-0.33648322443873496,-0.32096234588144357,-0.3066276029670799,-0.29407410771178344,-0.28314129425257645,-0.27356074837919636,-0.26511426549281447,-0.25761252859894107,-0.2508829402591869,-0.24483273468860361,-0.23932359004033799,-0.23430744238704843},
{1.6397400516837548,0.009500982661732708,-0.43416490519334766,-0.5092830912345697,-0.48340631274112295,-0.44321066102874346,-0.40656984107245453,-0.37107736340345765,-0.3497612273097953,-0.33641057058189744,-0.32087059553809427,-0.30653270980118347,-0.29398033502277454,-0.2830499001286003,-0.273472066963037,-0.26502833402516424,-0.257529241964473,-0.25080214245671917,-0.24475424975597782,-0.23924725804267422,-0.23423310321975843},
{1.6339488498464108,0.0063580165975382075,-0.4356638305912534,-0.5098083173686941,-0.4835583298052615,-0.4432179581493389,-0.40651758614804845,-0.3710053809704488,-0.34971885813508385,-0.3363375045704626,-0.3207786625176516,-0.3064377256963901,-0.2938865136056822,-0.2829584805234806,-0.27338337496346865,-0.2649424019630099,-0.25744596160201605,-0.2507213558792716,-0.24467577970520216,-0.2391709436882065,-0.2341587838114933},
{1.6281618257245387,0.003225540250915447,-0.4371551336104802,-0.5103294747302697,-0.48370824931009127,-0.44322410958398983,-0.4064646178982366,-0.3709330385648085,-0.3496764586969527,-0.3362640302487124,-0.32068654917258577,-0.30634265211597766,-0.29379264452251613,-0.2828670362712823,-0.27329467307522803,-0.26485646989619355,-0.2573626880250943,-0.25064058098198805,-0.24459732494534991,-0.23909464734855473,-0.23408448450287855},
{1.6223790124745197,0.00010352533684700876,-0.43863884462754155,-0.5108465855286953,-0.4838560846340148,-0.4432291234715766,-0.4064109370867637,-0.3708603390679476,-0.34963402122687975,-0.3361901514434442,-0.3205942578342419,-0.3062474905104922,-0.29369872882629233,-0.28277556819924965,-0.2732059619872076,-0.2647705384095633,-0.25727942174286944,-0.25055981821612483,-0.2445188858819748,-0.23901836939211574,-0.23401020563156916},
{1.6166004430157443,-0.0030080564794161685,-0.44011499392499875,-0.5113596718583462,-0.4840018490732839,-0.44323300789684483,-0.4063565442261454,-0.3707872853413364,-0.34959153796510134,-0.3361158719636982,-0.32050179081301094,-0.30615224231786853,-0.2936047675611072,-0.2826840771278686,-0.2731172423824993,-0.26468460808301864,-0.25719616326018013,-0.2504790680290793,-0.244440462917137,-0.23894211018409373,-0.23393594753226826},
{1.6108261500315895,-0.006109233585110188,-0.4415836116914957,-0.511868755699107,-0.4841455558425203,-0.4432357708907958,-0.4063014395865486,-0.3707138802266614,-0.3495490011689021,-0.3360411956005219,-0.32040915039850953,-0.3060569089635376,-0.29351076176220786,-0.28259256387091597,-0.2730285149384346,-0.2645986794915468,-0.25711291307756423,-0.25039833086441776,-0.2443620564494332,-0.2388658700865161,-0.23386171053674715},
{1.6050561659703926,-0.00920003442268559,-0.44304472802180317,-0.5123738589169653,-0.4842872180752164,-0.4432374204310533,-0.4062456232058119,-0.3706401265459982,-0.3495064031205314,-0.3359661261267184,-0.32031633885975874,-0.30596149186054444,-0.2934167124560777,-0.28250102923552,-0.2729397803266451,-0.26451275320525924,-0.2570296716913061,-0.2503176071619101,-0.24428366687401976,-0.23878964945827014,-0.2337874949738813},
{1.5992905230464234,-0.012280487492506584,-0.4444983729168561,-0.5128750032645186,-0.4844268488242448,-0.44323796444221836,-0.40618909490053173,-0.37056602710197295,-0.34946373613475845,-0.335890667296623,-0.32022335844535527,-0.3058659924096523,-0.29332262066049836,-0.2824094740222076,-0.2728510392130876,-0.26442682978943644,-0.2569464395934564,-0.25023689735755145,-0.2442052945826408,-0.23871344865511118,-0.23371330116965214},
{1.5935292532408545,-0.01535062135551319,-0.4459445762838069,-0.5133722103815608,-0.48456446106236495,-0.44323741079625373,-0.4061318542780714,-0.3704915846779257,-0.3494209925660627,-0.33581482284588604,-0.32013021138365316,-0.30577041199945615,-0.2932284873846335,-0.28231789902496,-0.27276229225810555,-0.26434090980456104,-0.2568632172718744,-0.25015620188360294,-0.24412693996365153,-0.23863726802970325,-0.23363912944718562},
{1.5877723883027317,-0.018410464635831243,-0.4473833679360712,-0.5138655017956093,-0.48470006768270846,-0.443235767312819,-0.40607390074944333,-0.3704168020380685,-0.3493781648154793,-0.3357385964912654,-0.32003689988293005,-0.30567475200649286,-0.29313431362909226,-0.2822263050312624,-0.27267354011646366,-0.26425499380635575,-0.2567800052102597,-0.25007552116860676,-0.24404860340204823,-0.2385611079316306,-0.23356498012676716},
{1.5820199597499418,-0.021460046023329286,-0.44881477759337896,-0.5143548989224412,-0.484833681499288,-0.4432330417596549,-0.40601523354291225,-0.37034168192764316,-0.3493352453370916,-0.33566199193042534,-0.31994342613156557,-0.3055790137953436,-0.2930401003860094,-0.28213469282216014,-0.27258478343739584,-0.2641690823458262,-0.2566968038881805,-0.24999485563742285,-0.24397028527949327,-0.23848496870742436,-0.23349085352585935},
{1.576271998870174,-0.02449939427611684,-0.45023883488183186,-0.5148404230666651,-0.484965315247479,-0.4432292418529307,-0.405955851718218,-0.3702662270730822,-0.34929222664419024,-0.3355850128417525,-0.319849792298214,-0.3054831987187435,-0.2929458486391108,-0.28204306317230216,-0.2724960228646465,-0.26408317596929154,-0.25661361378110814,-0.24991420571125916,-0.24389198597433825,-0.23840885070059037,-0.23341674995913295},
{1.5705285367218926,-0.02752853822296892,-0.45165556933395806,-0.5153220954222268,-0.48509498158451536,-0.44322437525759006,-0.40589575418136514,-0.37019044018215774,-0.3492491013151092,-0.3355076628841761,-0.3197560005319708,-0.30538730811768944,-0.2928515593637878,-0.281951416849998,-0.2724072590365126,-0.2639972752184239,-0.2565304353604493,-0.24983357180769566,-0.24381370586165135,-0.23833275425162453,-0.2333426697384826},
{1.5647896041352862,-0.030547506765672798,-0.4530650103887703,-0.5157999370729727,-0.48522269308997823,-0.443218449587718,-0.4058349396997722,-0.37011432394413546,-0.34920586199872,-0.3354299456969977,-0.3196620529625474,-0.30529134332153673,-0.292757233527163,-0.28185975461726165,-0.2723184925858899,-0.263911380630285,-0.25644726909357296,-0.24975295434071038,-0.2437354453132396,-0.23825667969804376,-0.23326861317304237},
{1.559055231713241,-0.033556328881293805,-0.45446718739183023,-0.5162739689931807,-0.48534846226626993,-0.44321147240687,-0.40577340691781316,-0.37003788102993124,-0.34916250141963673,-0.3353518648997344,-0.319567951700437,-0.3051953056481098,-0.2926628720881661,-0.2817680772298616,-0.2722297241403145,-0.2638254927373619,-0.25636411544385296,-0.24967235372071372,-0.24365720469767815,-0.23818062737440193,-0.23319458056922104},
{1.5533254498322913,-0.03655503362435339,-0.4558621295953148,-0.5167442120480797,-0.4854723015391063,-0.44320345122844046,-0.40571115437253974,-0.3699611140922521,-0.34911901238309906,-0.3352734240919655,-0.3194736988370877,-0.30509919640380556,-0.29256847599759483,-0.2816763854373732,-0.272140954322006,-0.26373961206760804,-0.25628097487068824,-0.24959177035457025,-0.24357898438033584,-0.23810459761231734,-0.2331205722307092},
{1.5476002886435767,-0.039543650128905164,-0.4572498661580764,-0.5172106869944055,-0.48559422325798157,-0.4431943935159939,-0.4056481805095401,-0.3698840257657489,-0.34907538777956293,-0.3351946268531885,-0.3193792964450618,-0.30500301688368525,-0.2924740461981886,-0.28158467998321457,-0.2720521837479002,-0.2636537391444669,-0.2561978478295329,-0.24951120464562676,-0.24350078472338796,-0.2380285907404899,-0.2330465884585048},
{1.5418797780737987,-0.04252220761051277,-0.4586304261457177,-0.5176734144809024,-0.4857142396966498,-0.4431843066836018,-0.4055844836988689,-0.36980661866716236,-0.3490316205890053,-0.3351154767426898,-0.3192847465782075,-0.30490676837158415,-0.29237958362469507,-0.28149296160471027,-0.2719634130297045,-0.2635678744869202,-0.25611473477193897,-0.24943065699374117,-0.24342260608585647,-0.23795260708473126,-0.23297262955093234},
{1.5361639478261748,-0.045490735368124216,-0.4600038385306585,-0.5181324150488786,-0.48583236305360045,-0.4431731980961987,-0.4055200622508908,-0.3697288953954655,-0.3489877038849417,-0.3350359772994164,-0.3191900512718271,-0.30481045214020497,-0.29228508920393614,-0.2814012310331242,-0.2718746427739336,-0.2634820186095196,-0.25603163614557056,-0.24935012779530988,-0.24334444882362705,-0.2378766469679761,-0.23289869580367062},
{1.530452827381383,-0.048449262785825065,-0.4613701321922107,-0.518587709132716,-0.48594860545251656,-0.4431610750698969,-0.40545491443205983,-0.3696508585320071,-0.3489436308381787,-0.3349561320418595,-0.3190952125428317,-0.3047140694512243,-0.2921905638548738,-0.28130948899370917,-0.2717858735819424,-0.2633961720224097,-0.25594855239425035,-0.24926961744329262,-0.24326631328947002,-0.23780071071031855,-0.23282478750976332},
{1.5247464459985198,-0.05139781933448635,-0.46272933591665477,-0.5190393170603902,-0.4860629789427492,-0.4431479448723412,-0.4053890384804788,-0.369572510640655,-0.3488993947203011,-0.33487594446794244,-0.3190002323899121,-0.3046176215553821,-0.2920960084886769,-0.28121773620575785,-0.27169710604998143,-0.2633103352313881,-0.2558654839579778,-0.24918912632724122,-0.2431881998330722,-0.23772479862902007,-0.23275090495964418},
{1.5190448327160393,-0.054336434573281786,-0.46408147839731484,-0.5194872590540084,-0.4861754954997724,-0.44313381472303026,-0.4053224326211951,-0.36949385426792947,-0.34885498890689887,-0.33479541805492274,-0.31890511279369427,-0.30452110969257684,-0.29200142400878265,-0.28112597338263684,-0.27160834076922064,-0.26322450873790587,-0.2557824312729582,-0.24910865483331696,-0.24311010880104464,-0.23764891103853242,-0.23267704844114678},
{1.513348016352701,-0.05726513815108467,-0.4654265882346379,-0.5199315552303058,-0.4862861670256476,-0.44311869179364227,-0.40525509508121366,-0.36941489194314925,-0.34881040688055504,-0.3347145562592932,-0.3188098557169066,-0.30442453509196904,-0.29190681131096907,-0.28103420123184214,-0.27151957832580337,-0.2631386930391323,-0.25569939477163867,-0.2490282033443269,-0.2430320405369678,-0.23757304825052913,-0.23260321823954316},
{1.5076560255085174,-0.06018395980773731,-0.46676469393627396,-0.5203722256011851,-0.4863950053494856,-0.4431025832083772,-0.4051870241040897,-0.36933562617856114,-0.3487656422335914,-0.33463336251670023,-0.31871446310453716,-0.3043278989720718,-0.2918121712834085,-0.28094242045503637,-0.2714308193008777,-0.2630528886279717,-0.25561637488273786,-0.24894777223975328,-0.24295399538140083,-0.23749721057391837,-0.23252941463755009},
{1.501968888565686,-0.06309292937518732,-0.4680958239171631,-0.5208092900742237,-0.4865020222278884,-0.4430854960442605,-0.40511821796414965,-0.3692560594694816,-0.3487206886705825,-0.33455184024185836,-0.31861893688398873,-0.30423120254084635,-0.29171750480674163,-0.2808506317480952,-0.2713420642706389,-0.2629670959930997,-0.25553337203126797,-0.24886736189576047,-0.24287597367190517,-0.23742139831486994,-0.2324556379153474},
{1.496286633689537,-0.0659920767784893,-0.4694200064996163,-0.5212427684531703,-0.48660722934541223,-0.44306743733148246,-0.4050486749802124,-0.3691761942944237,-0.3486755400106504,-0.33446999282847956,-0.3185232789652401,-0.30413444699578907,-0.2916228127541314,-0.28075883580115224,-0.27125331380636736,-0.2628813156190005,-0.255450386638568,-0.24878697268524047,-0.24279797574307305,-0.23734561177682506,-0.23238188835060392},
{1.4906092888294664,-0.06888143203666906,-0.47073726991340287,-0.521672680438489,-0.4867106383150047,-0.4430484140537153,-0.40497839352880355,-0.36909603311523304,-0.348630190189542,-0.334387823649208,-0.31842749124100145,-0.3040376335240322,-0.2915280959913262,-0.2806670332986324,-0.2711645684744657,-0.26279554798599003,-0.2553674191223299,-0.24870660497782127,-0.24272000192654514,-0.23726985126052752,-0.23230816621849157},
{1.484936881719871,-0.07176102526345542,-0.4720476422958404,-0.5220990456278307,-0.4868122606784611,-0.4430284331484211,-0.40490737205686794,-0.3690155783772171,-0.348584633261507,-0.33430533605555757,-0.31833157558686836,-0.3039407633024261,-0.29143335537672765,-0.2805752249193078,-0.2710758288365006,-0.26270979357026264,-0.2552844698966258,-0.2486262591399062,-0.24264205255103244,-0.23719411706404253,-0.23223447179170353},
{1.479269439881083,-0.0746308866678606,-0.47335115169187814,-0.5225218835165705,-0.4869121079068629,-0.4430075015071852,-0.4048356090938606,-0.3689348325092751,-0.3485388634009689,-0.3342225333778606,-0.31823553386147796,-0.30384383749763694,-0.2913385917614445,-0.2804834113363305,-0.27098709544923627,-0.262624052843911,-0.2552015393719426,-0.24854593553469034,-0.24256412794234752,-0.23711840948277357,-0.23216080534048428},
{1.4736069906202987,-0.07749104655462814,-0.47464782605419953,-0.5229412134983014,-0.48701019140101476,-0.44298562597600577,-0.40476310326329723,-0.3688537979240269,-0.3484928749040114,-0.3341394189252185,-0.31813936790665753,-0.3037468572662311,-0.29124380598935995,-0.28039159321727714,-0.2708983688646787,-0.2625383262749618,-0.25511862795520246,-0.24846563452218706,-0.24248622842341216,-0.23704272880948715,-0.2320871671326285},
{1.467949561032511,-0.08034153532453589,-0.47593769324330454,-0.5233570548653197,-0.4871065224918874,-0.4429628133556254,-0.40468985329367246,-0.3687724770179352,-0.3484466621896769,-0.3340559959854601,-0.3180430795475807,-0.3036498237547639,-0.29114899889718293,-0.28029977122418775,-0.2708096496301018,-0.2624526143274124,-0.25503573604979135,-0.24838535645924886,-0.24240835431429145,-0.2369670753343217,-0.23201355743351243},
{1.462297178001434,-0.0831823834745529,-0.47722078102761156,-0.5237694268091633,-0.48720111244104625,-0.44293907040183667,-0.40461585802874656,-0.36869087217143615,-0.3484002198010998,-0.333972267825113,-0.31794667059291953,-0.30355273809987415,-0.2910541713145159,-0.28020794601361626,-0.2707209382881018,-0.26236691746125507,-0.2549528640555903,-0.248305101699599,-0.24233050593221545,-0.23689144934483145,-0.2319399765061184},
{1.4566498682004296,-0.08601362159785239,-0.47849711708354986,-0.5241783484210651,-0.4872939724410874,-0.4429144038257738,-0.40454111643722657,-0.36860898574905804,-0.3483535424064551,-0.33388823768936254,-0.31785014283498103,-0.30345560142835737,-0.2909593240639068,-0.2801161182366528,-0.2706322353766135,-0.26228123613251275,-0.25487001236899676,-0.24822487059384818,-0.24225268359158766,-0.2368158511259732,-0.23186642461103096},
{1.4510076580934255,-0.08883528038368887,-0.4797667289956586,-0.5245838386924886,-0.48738511361606973,-0.4428888202942422,-0.40446562762176214,-0.36852682009954846,-0.34830662479975755,-0.33380390880203387,-0.31775349804987507,-0.30335841485726456,-0.2908644579609092,-0.28002428853898237,-0.270543541428962,-0.2621955707932674,-0.2547871813829553,-0.2481446634895238,-0.24217488760402162,-0.23674028096015481,-0.2317929020064764},
{1.4453705739358438,-0.09164739061711966,-0.48102964425668854,-0.5249859165156058,-0.4874745470219328,-0.44286232642999307,-0.40438939082734404,-0.3684443775559921,-0.3482594619015042,-0.3337192843655771,-0.31765673799764643,-0.3032611794939848,-0.2907695738141439,-0.27993245756091645,-0.27045485697389526,-0.26210992189169185,-0.25470437148698777,-0.24806448073109,-0.24209711827835448,-0.236664739127243,-0.23171940894833593},
{1.439738641775512,-0.0944499831785903,-0.4822858902676958,-0.5253846006837734,-0.48756228364692883,-0.4428349288120428,-0.4043124054490278,-0.368361660435932,-0.34821204875915834,-0.33363436756104525,-0.31755986442242473,-0.3031638964363194,-0.2906746724253445,-0.27984062593742903,-0.2703661825356158,-0.2620242898720846,-0.2546215830672064,-0.2479843226599704,-0.2420193759206701,-0.2365892259045756,-0.23164594569014646},
{1.4341118874535852,-0.09724308904338193,-0.4835354943381544,-0.5257799098920581,-0.48764833441203603,-0.4428066339759702,-0.40423467103901345,-0.3682786710414857,-0.3481643805475062,-0.33354916154808933,-0.31746287905257203,-0.3030665667725797,-0.29057975458942276,-0.27974879429820454,-0.27027751863382393,-0.26193867517488595,-0.25453881650635685,-0.24790418961457406,-0.2419416608343185,-0.23651374156699212,-0.23157251248314575},
{1.4284903366054544,-0.10002673928090763,-0.48477848368604953,-0.526171862737689,-0.4877327101713835,-0.44277744841419797,-0.40415618731312164,-0.3681954116594666,-0.3481164525688616,-0.3334636694649562,-0.31736578360082207,-0.3029691915816588,-0.29048482109451546,-0.27965696326767,-0.2701888657837388,-0.2618530782367265,-0.25445607218383115,-0.2478240819303183,-0.24186397331993914,-0.23643828638684544,-0.23149910957626763},
{1.4228740146616665,-0.10280096505387756,-0.4860148854379902,-0.5265604777205704,-0.48781542171266806,-0.4427473785763073,-0.4040769541565778,-0.3681118845614988,-0.3480682602531477,-0.3333778944284875,-0.31726857976442524,-0.30287177193312254,-0.2903898727220382,-0.27956513346503825,-0.2701002244961502,-0.26176749949044487,-0.25437335047569753,-0.24774399993964843,-0.24178631367547848,-0.23636286063402973,-0.23142573721616805},
{1.4172629468488263,-0.10556579761732074,-0.48724472662931123,-0.5269457732437549,-0.48789647975756156,-0.44271643086930434,-0.4039969716292564,-0.3680280920041295,-0.34801979915784736,-0.333291839534126,-0.3171712692252909,-0.30277430888727863,-0.2902949102467359,-0.27947330550434113,-0.2700115952774469,-0.2616819393651189,-0.254290651754733,-0.24766394397206376,-0.24170868219621217,-0.23628746457598437,-0.23135239564724497},
{1.4116571581905122,-0.10832126831747739,-0.4884680342041883,-0.5273277676139176,-0.4879758949621268,-0.4426846116579368,-0.40391623997026316,-0.3679440362289477,-0.34797106496783653,-0.3332055078559272,-0.3170738536501252,-0.3026768034952717,-0.29019993443673386,-0.27938147999447727,-0.2699229786296493,-0.26159639828609915,-0.2542079763904353,-0.24758391435413898,-0.24163107917476911,-0.23621209847772928,-0.2312790851116489},
{1.406056673508173,-0.11106740859054906,-0.48968483501573706,-0.5277064790418562,-0.4880536779172191,-0.4426519272649638,-0.4038347596019274,-0.36785971946268975,-0.3479220534950858,-0.33311890244656983,-0.3169763346905681,-0.30257925679914854,-0.29010494605357684,-0.2792896575392313,-0.26983437505043617,-0.2615108766750281,-0.2541253247490579,-0.24750391140954403,-0.24155350490113897,-0.23613676260186184,-0.23120580584930162},
{1.400461517422039,-0.11380424996132477,-0.49089515582613386,-0.5280819256429423,-0.48812983914889874,-0.44261838397144193,-0.40375253113325865,-0.36777514391735616,-0.3478727606782715,-0.33303202633737705,-0.3168787139833342,-0.30248166983194713,-0.2900099458522868,-0.2791978387373363,-0.2697457850332003,-0.2614253749498843,-0.2540426971936328,-0.24742393545907046,-0.24147595966270774,-0.23606145720860153,-0.2311325580979152},
{1.3948717143520186,-0.11653182404167078,-0.49209902330671984,-0.5284541254376229,-0.4882043891188344,-0.44258398801702253,-0.40366955536278115,-0.3676903117903223,-0.347823182582258,-0.33294488253834165,-0.3167809931503536,-0.3023840436177687,-0.2899149345813995,-0.27910602418248986,-0.26965720906706014,-0.2613398935249981,-0.2539600940839909,-0.2473439868206509,-0.2413984437442706,-0.23598618255578502,-0.2310593420930127},
{1.3892872885186003,-0.11925016252890178,-0.49329646403812155,-0.5288230963518844,-0.4882773382246963,-0.4425487456002103,-0.40358583328088404,-0.3676052252644444,-0.34777331539748596,-0.3328574740381479,-0.3166831737988946,-0.30228637917186224,-0.2898199129830049,-0.27901421446340535,-0.2695686476369039,-0.26125443281107874,-0.2538775157767966,-0.24726406580938115,-0.24132095742804854,-0.23591093889889833,-0.23098615806793207},
{1.383708263943748,-0.12195929720402417,-0.4944875045103654,-0.5291888562177087,-0.4883486968005618,-0.4425126628786634,-0.4035013660716147,-0.3675198865081667,-0.34772315543925947,-0.3327698038042025,-0.31658525752171024,-0.30218867750068584,-0.28972488179279565,-0.2789224101638342,-0.26948010122342086,-0.2611689932152543,-0.25379496262555346,-0.24718417273753784,-0.2412435009937084,-0.23583572649108273,-0.23091300625384753},
{1.3781346644517962,-0.12465925992985438,-0.4956721711229908,-0.5295514227735774,-0.4884184751173073,-0.44247574596947137,-0.40341615511397033,-0.3674342976756395,-0.347672699146942,-0.3326818747826816,-0.3164872458971698,-0.30209093960200717,-0.2896298417401061,-0.2788306118626223,-0.2693915703031354,-0.26108357514109376,-0.2537124349806572,-0.24710430791461468,-0.24116607471839607,-0.23576054558317355,-0.23083988687980406},
{1.3725665136703438,-0.12735008264903147,-0.49685049018517197,-0.5299108136648997,-0.48848668338299833,-0.44243800094940783,-0.40333020198271985,-0.36734846090680306,-0.3476219430830502,-0.3325936898985448,-0.3163891404893814,-0.30199316646495267,-0.2895347935479433,-0.2787388201337258,-0.26930305534843674,-0.26099817898862765,-0.2536299331893896,-0.2470244716473204,-0.24108867887673197,-0.23568539642368141,-0.2307668001727004},
{1.3670038350311384,-0.13003179738190318,-0.49802248791583287,-0.5302670464445093,-0.4885533317432878,-0.4423994338552307,-0.40324350844873114,-0.36726237832751685,-0.347570883932276,-0.3325052520555948,-0.3162909428483332,-0.30189535907009607,-0.2894397379330381,-0.2786470355462605,-0.2692145568276127,-0.26091280515438514,-0.2535474575959602,-0.24694466423962014,-0.24101131374084828,-0.2356102792588509,-0.23069374635733308},
{1.3614466517709714,-0.13270443622431072,-0.4991881904437748,-0.5306201385731208,-0.48861843028179786,-0.44236005068393197,-0.4031560764789075,-0.3671760520496459,-0.3475195185004224,-0.3324165641365185,-0.3161926545100172,-0.3017975183895314,-0.28934467560587546,-0.27855525866453007,-0.2691260752048803,-0.26082745403141383,-0.253465008541525,-0.24686488599274595,-0.24093397958039958,-0.2355351943326471,-0.23062072565639644},
{1.3558949869325614,-0.13536803134525927,-0.5003476238077973,-0.5309701074197699,-0.4886819890205086,-0.4423198573930237,-0.4030679082356553,-0.3670894841711725,-0.3474678437132678,-0.3323276290029295,-0.3160942769965597,-0.3016996453869438,-0.2892496072707373,-0.278463490048068,-0.26903761094042306,-0.26074212600931496,-0.25338258636420635,-0.24678513720522,-0.24085667666258526,-0.23546014188678543,-0.23054773829050668},
{1.3503488633654335,-0.1380226149844915,-0.5015008139568176,-0.5313169702623111,-0.48874401792013605,-0.44227885990080185,-0.40297900607596376,-0.3670026767762937,-0.34741585661534796,-0.33223844949542214,-0.31599581181634906,-0.30160174101767606,-0.2891545336257328,-0.2783717302516642,-0.26894916449041373,-0.26065682147425717,-0.2533001913991245,-0.24670541817287214,-0.24077940525216454,-0.2353851221607472,-0.23047478447821004},
{1.3448083037268062,-0.1406682194499568,-0.5026477867500044,-0.5316607442878369,-0.48880452688052073,-0.44223706408660046,-0.40288937255013496,-0.36691563193552595,-0.347363554368695,-0.3321490284336285,-0.3158972604641608,-0.3015038062288128,-0.28905945536285055,-0.27827997982540964,-0.2688607363070519,-0.26057154080901757,-0.25321782397841003,-0.24662572918886844,-0.2407021656114804,-0.23531013539179702,-0.2304018644360093},
{1.3392733304824675,-0.14330487711518514,-0.503788567956897,-0.5320014465931628,-0.4888635257410028,-0.44219447579107946,-0.4027990104001047,-0.36682835170579886,-0.3473109342514935,-0.33205936861627383,-0.31579862442128376,-0.30140584195924475,-0.2889643731679846,-0.27818823931472647,-0.2687723268385963,-0.2604862843929998,-0.25313548443123846,-0.2465460705437273,-0.2406249580004749,-0.2352351818149986,-0.23032897837837202},
{1.333743965907651,-0.14593262041656901,-0.5049231832575409,-0.5323390941852719,-0.48892102428079826,-0.442151100816456,-0.40270792255748106,-0.3667408381305627,-0.34725799365669807,-0.33196947282122874,-0.31569990515564217,-0.30130784913973496,-0.2888692877209813,-0.2780965092603991,-0.2686839365293899,-0.26040105260226,-0.2530531730838429,-0.2464664425253336,-0.24054778267670185,-0.23516026166322912,-0.23025612651774302},
{1.3282202320879113,-0.1485514818505606,-0.5060516582426142,-0.5326737039817473,-0.4889770322193678,-0.4421069449267878,-0.4026161121412353,-0.3666530932398758,-0.3472047300905898,-0.3318793438055812,-0.315601104121919,-0.30120982869298896,-0.28877419969567253,-0.2780047901986116,-0.2685955658198883,-0.2603158458095335,-0.2529708902595368,-0.24638684541896674,-0.24047063989535122,-0.23508537516719652,-0.23018330906455964},
{1.3227021509199939,-0.1511614939707801,-0.5071740184135635,-0.5330052928112634,-0.489031559216796,-0.4420620138482313,-0.40252358245510506,-0.36656511905051115,-0.34715114117129997,-0.3317889843057027,-0.3155022227616835,-0.3011117815337371,-0.2886791097599254,-0.27791308266098813,-0.26850721514670944,-0.2602306643842647,-0.25288863627874775,-0.2463072795073185,-0.2403935299092726,-0.23501052255546223,-0.23011052622728634},
{1.317189744112708,-0.15376268938504395,-0.5082902891827308,-0.5333338774139856,-0.4890846148741531,-0.44201631326927976,-0.40243033698473396,-0.36647691756604495,-0.3470972246272789,-0.3316983970373033,-0.31540326250349565,-0.30101370856878346,-0.2885840185756742,-0.27782138717461374,-0.26841888494263044,-0.2601455086926214,-0.2528064114590238,-0.24622774507050843,-0.24031645296897536,-0.2349357040544448,-0.23003777821239618},
{1.3116830331877896,-0.15635510075232212,-0.5094004958734969,-0.5336594744420553,-0.4891362087338725,-0.4419698488410426,-0.4023363793945346,-0.3663884907769567,-0.34704297829574765,-0.3316075846955125,-0.3153042247630476,-0.30091561069708656,-0.28848892679897203,-0.27772970426207644,-0.2683305756366514,-0.26006037909753993,-0.25272421611506535,-0.24614824238611036,-0.24023940932266652,-0.23486091988845065,-0.2299650652244138},
{1.3061820394807715,-0.15893876077961822,-0.5105046637204138,-0.533982100460022,-0.4891863502801006,-0.44192262617747124,-0.40224171352434707,-0.3662998406607212,-0.34698840012110144,-0.33151654995495217,-0.3152051109432643,-0.30081748880982495,-0.28839383508002114,-0.2776380344415005,-0.2682422876540026,-0.2599752759587208,-0.2526420505587431,-0.24606877172916514,-0.24016239921625204,-0.23478617027967602,-0.229892387465917},
{1.3006867841418424,-0.1615137022187812,-0.5116028178693418,-0.5343017719452621,-0.489235048939073,-0.44187465085563543,-0.4021463433858623,-0.3662109691819008,-0.3469334881532977,-0.3314252954697994,-0.31510592243442725,-0.3007193437904542,-0.28829874406323547,-0.27754637822657435,-0.26815402141618067,-0.2598901996326845,-0.2525599150991249,-0.2459893333722047,-0.24008542289336088,-0.2347114554482337,-0.22981974513755568},
{1.2951972881367044,-0.16407995786325807,-0.5126949833775944,-0.5346185052884604,-0.48928231407945827,-0.4418259284159587,-0.40205027315884134,-0.36612187829223924,-0.34687824054621913,-0.3313338238738772,-0.31500666061429444,-0.30062117651478487,-0.28820365438726725,-0.27745473612659033,-0.26806577734098175,-0.2598051504727743,-0.252477810042486,-0.24590992758526475,-0.24000848059536412,-0.23463677561216284,-0.2297471384380622},
{1.2897135722474404,-0.16663756054478351,-0.513781185214077,-0.5349323167940088,-0.48932815501273375,-0.44177646436246687,-0.4019535071871881,-0.3660325699307525,-0.34682265555602165,-0.3312421377807237,-0.3149073268482029,-0.30052298785104054,-0.28810856668506546,-0.2773631086464711,-0.2679775558425189,-0.25972012882918805,-0.2523957356923422,-0.24583055463591552,-0.23993157256138545,-0.23456213098744133,-0.22967456756427074},
{1.2842356570733577,-0.16918654313001194,-0.5148614482594279,-0.5352432226804701,-0.48937258099352854,-0.44172626416304117,-0.4018560499748026,-0.36594304602381955,-0.34676673153945964,-0.33115023978367636,-0.31480792248920164,-0.3004247786599251,-0.28801348158391704,-0.2772714962868043,-0.26788935733126584,-0.2596351350490066,-0.25231369234946305,-0.24575121478926434,-0.2398546990283313,-0.23448752178801574,-0.22960203271112803},
{1.2787635630318503,-0.17172693851710136,-0.51593579730617,-0.5355512390810043,-0.4894156012199771,-0.4416753332496477,-0.40175790618136026,-0.365853308485273,-0.34671046695221147,-0.3310581324559534,-0.3147084488781441,-0.30032654979468254,-0.28791839970549565,-0.27717989954387884,-0.2678011822140735,-0.2595501694762094,-0.25223168031190024,-0.24567190830798885,-0.2397778602308856,-0.23441294822579625,-0.2295295340717107},
{1.2732973103592482,-0.17425877963224948,-0.5170042570588536,-0.5358563820437872,-0.48945722483407994,-0.44162367701860045,-0.4016590806179049,-0.36576335921648795,-0.3466538603471915,-0.3309658183507428,-0.31460890734381547,-0.3002283021011702,-0.287823321665912,-0.2770883189097092,-0.2677130308942061,-0.2594652324517044,-0.2521496998749955,-0.24559263545234986,-0.23970105640155054,-0.23433841051069312,-0.2294570718372377},
{1.2678369191116583,-0.1767820994261808,-0.5180668521342033,-0.5361586675324642,-0.4894974609220363,-0.44157130083078433,-0.4015595782423419,-0.36567320010646487,-0.34659691037285245,-0.3308733000012781,-0.3145092992030336,-0.3001300364179048,-0.2877282480757577,-0.27699675487206904,-0.26762490377135617,-0.2593803243133474,-0.25206775133141557,-0.24551339648020193,-0.2396242877706406,-0.23426390885060824,-0.22938464619708088},
{1.2623824091658231,-0.17929693087060394,-0.5191236070612743,-0.536458111426555,-0.4895363185146046,-0.4415182100119008,-0.40145940415486153,-0.365582833031925,-0.34653961577150233,-0.33078057992093624,-0.314409625760764,-0.30003175357614226,-0.2876331795401611,-0.2769052079145301,-0.2675368012416931,-0.25929544539596905,-0.25198583497116245,-0.24543419164702468,-0.23954755456631827,-0.23418944345147358,-0.2293122573387845},
{1.256933800219953,-0.18180330695462105,-0.5201745462815947,-0.5367547295218995,-0.4895738065874423,-0.4414644098527094,-0.4013585635932141,-0.3654922598573924,-0.34648197537760494,-0.3306876606033219,-0.31430988831022777,-0.2999334543999274,-0.28753811665883783,-0.27681367851648264,-0.2674487236978693,-0.25921059603140034,-0.2519039510815979,-0.24535502120593583,-0.23947085701460016,-0.2341150145172514,-0.22923990544807893},
{1.2514911117945744,-0.1843012606811146,-0.5212196941493292,-0.5370485375310775,-0.48960993406144515,-0.4414099056092517,-0.4012570619279867,-0.36540148243527926,-0.34642398811609515,-0.33059454452236237,-0.314210088133007,-0.29983513970616393,-0.28744306002613174,-0.27672216715318054,-0.26736067152906323,-0.259125776548484,-0.25182209994746785,-0.24527588540770412,-0.23939419533937387,-0.2340406222499525,-0.22916759070888898},
{1.2460543632333652,-0.18679082506310404,-0.5222590749314293,-0.5373395510838154,-0.48964470980309005,-0.4413547025030966,-0.40115490465777137,-0.36531050260597314,-0.346365653000693,-0.33050123413239124,-0.3141102264991495,-0.299736810304662,-0.2873480102310819,-0.2766306742957494,-0.26727264512099536,-0.2590409872731129,-0.25174028185090574,-0.245196784500773,-0.23931756976241253,-0.23396626684965197,-0.22909531330334665},
{1.240623573703994,-0.18927203312007396,-0.5232927128077918,-0.5376277857274351,-0.48967814262477116,-0.44129880572157293,-0.4010520974042968,-0.36521932219791886,-0.3463069691322349,-0.3304077318682559,-0.31401030466728574,-0.2996384669982161,-0.2872529678574585,-0.27653920041124436,-0.2671846448559625,-0.25895622852824046,-0.25165849707147997,-0.24511771873127602,-0.23924098050339698,-0.23389194851450457,-0.22902307341181743},
{1.2351987621989504,-0.19174491787428663,-0.524320631871415,-0.5379132569272429,-0.4897102412851347,-0.4412422204179859,-0.40094864590753765,-0.3651279430277009,-0.3462479356969955,-0.33031404014539806,-0.31391032388471035,-0.2995401105826433,-0.28715793348382157,-0.2764477459626622,-0.2670966711128617,-0.2588715006339093,-0.2515767458861786,-0.2450386883430558,-0.23916442777992253,-0.2338176674407519,-0.22895087121289598},
{1.2297799475363815,-0.19420951234707456,-0.5253428561285616,-0.5381959800669728,-0.48974101448941965,-0.4411849517118675,-0.4008445560207766,-0.3650363669001314,-0.34618855196504755,-0.3302201613599601,-0.31381028538751643,-0.299441741846863,-0.28706290768357623,-0.2763563114089768,-0.2670087242672147,-0.2587868039072714,-0.2514950285694646,-0.244959693577678,-0.239087911807528,-0.23374342382274943,-0.22887870688343115},
{1.2243671483609175,-0.1966658495551215,-0.5263594094989218,-0.5384759704491916,-0.4897704708897769,-0.44112700468917987,-0.4007398337056837,-0.3649445956083258,-0.34612881728860834,-0.3301260978888812,-0.3137101904006714,-0.2993433615729419,-0.2869678910250144,-0.27626489720516695,-0.26692080469119606,-0.2587021386626159,-0.2514133453932693,-0.24488073467445273,-0.2390114327996925,-0.2336692178529729,-0.2288065805985389},
{1.2189603831444993,-0.19911396250673136,-0.5273703158157743,-0.5387532432956926,-0.489798619085611,-0.44106838440256,-0.40063448502736754,-0.3648526309337861,-0.34606873110041225,-0.33003185208998687,-0.31361004013812904,-0.29924497053615107,-0.28687288407137707,-0.27617350380225447,-0.26683291275365906,-0.258617505211377,-0.2513316966270194,-0.24480181187044575,-0.23893499096786686,-0.23359504972202633,-0.22873449253160447},
{1.2135596701872065,-0.20155388419809456,-0.5283755988261563,-0.5390278137479481,-0.4898254676238961,-0.44100909587154047,-0.4005285161494317,-0.36476047464648276,-0.3460082929121006,-0.32993742630210343,-0.313509835802931,-0.29914656950503293,-0.2867778873808957,-0.2760821316473225,-0.26674504882016326,-0.2585329038621682,-0.2512500825376602,-0.24472292540050156,-0.23885858652147834,-0.23352091961866844,-0.22866244285430615},
{1.2081650276180713,-0.20398564760954563,-0.5293752821910248,-0.5392996968674763,-0.48985102499950983,-0.44094914408275976,-0.40042193332906795,-0.36466812850493097,-0.34594750231261495,-0.3298428228451479,-0.31340957858730556,-0.29904815924144673,-0.28668290150685044,-0.275990781183549,-0.2666572132529933,-0.25844833492079994,-0.25116850338966923,-0.24464407549725503,-0.23878221966795588,-0.23344682772981915,-0.2285904317366273},
{1.2027764733959079,-0.20640928570182615,-0.5303693894854298,-0.5395689076362798,-0.48987529965555693,-0.4408885339902075,-0.4003147429121386,-0.3645755942562743,-0.34588635896662423,-0.32974804402023217,-0.31330926967276573,-0.29894974050063594,-0.2865879269976246,-0.27589945285024425,-0.266569406411194,-0.2583637986903073,-0.25108695944507986,-0.24456526239115906,-0.23870589061273845,-0.23337277424057712,-0.22851845934686488},
{1.1973940253101225,-0.20882483141234784,-0.531357944198685,-0.5398354609572418,-0.4898982999836814,-0.44082727051541104,-0.4002069513283194,-0.3644828736363593,-0.34582486261295,-0.3296530921097714,-0.31320891023020386,-0.2988513140312747,-0.28649296439673977,-0.2758081470828664,-0.2664816286505877,-0.25827929547095885,-0.25100545096349286,-0.24448648631048184,-0.23862959955928625,-0.23329875933422933,-0.22844652585164063},
{1.19201770098153,-0.21123231765146233,-0.5323409697345365,-0.5400993716545114,-0.4899200343243915,-0.4407653585476812,-0.40009856508626285,-0.36438996836981263,-0.34576301306301843,-0.3295579693775732,-0.31310850141999325,-0.29875288057552085,-0.28639801424292344,-0.2757168643130543,-0.26639388032379785,-0.2581948255602838,-0.250923978202097,-0.24440774748133626,-0.23855334670910033,-0.2332247831922643,-0.22837463141591668},
{1.1866475178631697,-0.21363177729874655,-0.5333184894113446,-0.5403606544739449,-0.489940510967378,-0.44070280294432207,-0.3999895907688026,-0.36429688017012263,-0.345700810199337,-0.32946267806896423,-0.31300804439208385,-0.2986544408690908,-0.28630307707014846,-0.2756256049686691,-0.26630616178028976,-0.2581103892530963,-0.25084254141569917,-0.244329046127701,-0.238477132261747,-0.23315084599439728,-0.2283027762030159},
{1.1812834932411103,-0.2160232431992874,-0.5342905264622485,-0.5406193240834613,-0.48995973815182686,-0.44063960853083184,-0.39988003502822483,-0.36420361073970653,-0.34563825397397135,-0.3293672204108706,-0.31290754028608553,-0.2985559956412802,-0.28620815340768546,-0.2755343694737976,-0.2662184733663664,-0.2580259868415123,-0.25076114085672235,-0.24425038247141945,-0.2384009564148497,-0.23307694791855965,-0.22823096037461693},
{1.1759256442352577,-0.21840674815999617,-0.5352571040353529,-0.5408753950734777,-0.4899777240667348,-0.4405757801011434,-0.3997699045815646,-0.3641101617699991,-0.3455753444070641,-0.3292715986119414,-0.31280699023138725,-0.2984575456150499,-0.28611324378015274,-0.2754431582488083,-0.26613081542522493,-0.2579416186149717,-0.25067977677523656,-0.24417175673223263,-0.23832481936412675,-0.23300308914094062,-0.22815918409077807},
{1.170573987800165,-0.22078232494593264,-0.536218245193903,-0.5411288819572917,-0.48999447685121617,-0.4405113224178019,-0.399659206205998,-0.36401653494151354,-0.34551208158534674,-0.3291758148626499,-0.31270639534721667,-0.29835909150706114,-0.28601834870755866,-0.27535197171035575,-0.26604318829695395,-0.25785728486025306,-0.250598449418974,-0.2440931691277854,-0.23824872130338853,-0.23292926983598156,-0.22808744750994675},
{1.1652285407258292,-0.2231500062766496,-0.5371739729164645,-0.5413797991714576,-0.4900100045948165,-0.44044624021220224,-0.3995479467342818,-0.363922731923925,-0.3454484656606932,-0.3290798713353944,-0.3126057567427609,-0.298260634027728,-0.28592346870535634,-0.27526081027142335,-0.2659555923185746,-0.2577729858615076,-0.2505171590333505,-0.24401461987364553,-0.23817266242455784,-0.23285549017639368,-0.22801575078897512},
{1.1598893196384956,-0.2255098248225682,-0.5381243100971086,-0.54162816107622,-0.4900243153378146,-0.4403805381847912,-0.3994361330502463,-0.36382875437614204,-0.34538449684867717,-0.3289837701846199,-0.31250507551724416,-0.29816217388127897,-0.28582860428448775,-0.27516967434134354,-0.26586802782405755,-0.2576887219002621,-0.25043590586147024,-0.2439361091833186,-0.23809664291769034,-0.23278175033317078,-0.22794409408312014},
{1.1545563410014505,-0.22786181320136922,-0.5390692795455931,-0.541873981955861,-0.4900374170715336,-0.4403142210052652,-0.3993237720844054,-0.36373460394637513,-0.3453201754271581,-0.3288875135469078,-0.3124043527600151,-0.2980637117658011,-0.2857337559514288,-0.2750785643258294,-0.26578049514434243,-0.25760449325545165,-0.2503546901441589,-0.2438576372682604,-0.23802066297097862,-0.2327080504756024,-0.22787247754607612},
{1.149229621115822,-0.23020600397442004,-0.5400089039875482,-0.5421172760191237,-0.49004931773864263,-0.4402472933127927,-0.3992108708095856,-0.36364028227221756,-0.3452555017348785,-0.32879110354110186,-0.312303589550649,-0.2979652483732964,-0.2856389242082347,-0.2749874806270023,-0.2656929946073733,-0.257520300203432,-0.25027351211997634,-0.24377920433790123,-0.23794472277077194,-0.23263439077129416,-0.22780090132995917},
{1.1439091761213698,-0.23254242964322913,-0.5409432060646628,-0.5423580573995869,-0.4900600252334542,-0.44017975971619905,-0.3990974362366953,-0.36354579098070844,-0.3451904761700861,-0.3286945422684045,-0.3122027869590251,-0.2978667843897219,-0.2855441095525849,-0.27489642364341027,-0.26560552653810743,-0.25743614301800466,-0.25019237202522004,-0.2437008105996491,-0.2378688225015862,-0.2325607713861621,-0.22772936558534188},
{1.1385950219972745,-0.2348711226459344,-0.5418722083348769,-0.5425963401560346,-0.4900695474022307,-0.4401116247941886,-0.3989834754105414,-0.36345113168841087,-0.3451250991891738,-0.328597831812497,-0.31210194604541786,-0.29776832049505986,-0.28544931247783006,-0.27480539377007024,-0.26551809125855635,-0.25735202197043544,-0.25011127009397166,-0.24362245625891582,-0.23779296234612413,-0.23248719248446514,-0.2276578704612558},
{1.1332871745629274,-0.23719211535382584,-0.5427959332725657,-0.5428321382728756,-0.4900778920434712,-0.4400428930955348,-0.39886899540572285,-0.3633563060014735,-0.34505937130532816,-0.32850097423963764,-0.3120010678605812,-0.2976698573633428,-0.28535453347302947,-0.27471439139847376,-0.2654306890877792,-0.2572679373294605,-0.25003020655807345,-0.24354414151911974,-0.2377171424852791,-0.2324136542288026,-0.22758641610520275},
{1.1279856494787142,-0.23950544006790514,-0.5437144032687351,-0.5430654656604843,-0.4900850669082203,-0.439973569139281,-0.39875400332265765,-0.36326131551571017,-0.3449932930872184,-0.32840397159878226,-0.3119001534458403,-0.2975713956627224,-0.28525977302299765,-0.27462341691663855,-0.2653433203419429,-0.2571838893613322,-0.24994918164718766,-0.24346586658171654,-0.23764136309815972,-0.23234015678013736,-0.22751500266316235},
{1.1226904622468004,-0.24181112901548485,-0.5446276406312096,-0.5432963361556196,-0.49009107970035426,-0.4399036574149502,-0.3986385062836419,-0.36316616181666705,-0.344926865157686,-0.3283068259216888,-0.3117992038331774,-0.2974729360555106,-0.2851650316083503,-0.2745324707091156,-0.2652559853343132,-0.25709987832981507,-0.24986819558878298,-0.24338763164620186,-0.2375656243620951,-0.23226670029780364,-0.227443630279616},
{1.1174016282119072,-0.24410921434682897,-0.5455356675848343,-0.5435247635217815,-0.4900959380768731,-0.4398331623827222,-0.3985225114290521,-0.363070846479681,-0.34486008819245323,-0.32820953922303153,-0.3116982200453029,-0.29737447919823023,-0.28507030970553265,-0.27444155315702023,-0.2651686843752955,-0.2570159044962093,-0.2497872486081647,-0.24330943691012735,-0.2374899264526534,-0.23219328493951286,-0.22737229909754172},
{1.1121191625620948,-0.24639972813183614,-0.5464385062716659,-0.5437507614495816,-0.49009964964819763,-0.4397620884736534,-0.3984060259136132,-0.3629753710699683,-0.3447929629188603,-0.3281121135005092,-0.3115972030957572,-0.29727602574165873,-0.2849756077868757,-0.2743506646380658,-0.2650814177724469,-0.25693196811938124,-0.24970634092847954,-0.2432312825691174,-0.23741426954364853,-0.23211991086138078,-0.2273010092584331},
{1.1068430803295326,-0.24868270235676404,-0.547336178751166,-0.5439743435571415,-0.4901022219784388,-0.4396904400898496,-0.39828905690274935,-0.3628797371426666,-0.34472549011460507,-0.3280145507349539,-0.31149615398897607,-0.29717757633087827,-0.28488092632061807,-0.2742598055265722,-0.26499418583050344,-0.25684806945576344,-0.24962547277075228,-0.24315316881688506,-0.23733865380715738,-0.23204657821792565,-0.2272297609023161},
{1.1015733963912768,-0.2509581689210056,-0.5482287070004076,-0.5441955233904396,-0.49010366258571136,-0.4396182216046757,-0.3981716115690757,-0.3627839462429223,-0.3446576706065226,-0.32791685289044925,-0.3113950737203854,-0.2970791316053263,-0.284786265770959,-0.2741689761935108,-0.2649069888513971,-0.25676420875938666,-0.24954464435387985,-0.2430750958452465,-0.23726307941353714,-0.2319732871620792,-0.22715855416775088},
{1.0963101254700385,-0.25322615963390754,-0.5491161129142683,-0.5444143144237101,-0.4901039789424013,-0.43954543736294316,-0.39805369708892957,-0.3626879999059512,-0.34458950526936327,-0.3278190219144357,-0.31129396327648273,-0.29698069219883594,-0.28469162659809544,-0.2740781770065209,-0.2648198271342852,-0.2566803862818998,-0.2494638558946604,-0.24299706384412967,-0.23718754653143193,-0.2319000378452164,-0.227087389191843},
{1.0910532821349501,-0.2554867062116408,-0.5499984183056355,-0.5446307300597958,-0.4901031784754486,-0.4394720916810918,-0.39793532063904363,-0.36259189965709937,-0.34452099502459027,-0.3277210597378321,-0.3111928236349037,-0.29688225873969315,-0.28459700925824993,-0.2739874083299307,-0.2647327009755628,-0.2565966022725741,-0.2493831076078079,-0.24291907300159227,-0.23711205532778978,-0.23182683041714824,-0.22701626611026002},
{1.0858028808023352,-0.25773984027412133,-0.5508756449056073,-0.544844783630505,-0.4901012685666372,-0.43939818884739124,-0.3978164893932927,-0.36249564701191517,-0.34445214083920683,-0.32762296827512866,-0.31109165576451653,-0.29678383185066326,-0.28450241420371297,-0.2738966705247914,-0.26464561066889253,-0.25651285697833615,-0.24930239970595924,-0.2428411235038347,-0.2370366059678669,-0.23175366502613753,-0.22694518505723923},
{1.0805589357364678,-0.25998559334197996,-0.5517478143636952,-0.5450564883970112,-0.49009825655286293,-0.439323733122124,-0.3976972105195322,-0.36239924347620855,-0.34438294372458306,-0.3275247494245149,-0.31099046062549085,-0.2966854121490588,-0.2844078418828805,-0.273805963948894,-0.2645585565052127,-0.2564291506437702,-0.2492217323997037,-0.2427632155352195,-0.2369611986152479,-0.23168054181891684,-0.22687414616559412},
{1.0753214610503345,-0.262223996833589,-0.5526149482480304,-0.5452658575501791,-0.49009414972642346,-0.43924872873776705,-0.39757749117656366,-0.36230269054611797,-0.3443134047353144,-0.3274264050679858,-0.3108892391693836,-0.29658700024676643,-0.28431329274028594,-0.27371528895679875,-0.26447153877277546,-0.25634548351114916,-0.24914110589758243,-0.24268534927827512,-0.23688583343186403,-0.2316074609406955,-0.22680314956673597},
{1.0700904707063923,-0.2644550820621385,-0.5534770680455676,-0.5454729042109616,-0.49008895533528585,-0.4391731798991935,-0.397457338511153,-0.3622059897081758,-0.34424352496809146,-0.3273279370714551,-0.3107879923392123,-0.2964885967503059,-0.2842187672166403,-0.2736246458998604,-0.26438455775715414,-0.2562618558204553,-0.24906052040612375,-0.2426075249137175,-0.23681051057799565,-0.23153442253517104,-0.22673219539067288},
{1.0648659785173251,-0.26667888023277175,-0.554334195162296,-0.545677641430744,-0.4900826805833628,-0.4390970907838296,-0.3973367596551859,-0.3621091424393725,-0.3441733055605811,-0.32722934728486197,-0.31068672106952605,-0.29639020226086427,-0.28412426574885263,-0.27353403512624697,-0.2642976137412689,-0.256178267809379,-0.24897997612983758,-0.24252974262046006,-0.23673523021228088,-0.2314614267445445,-0.22666128376601857},
{1.0596479981467948,-0.2688954224397734,-0.5551863509234438,-0.5458800821916874,-0.4900753326307854,-0.43902046554186314,-0.3972157617228962,-0.3620121502072076,-0.344102747690328,-0.3271306375422868,-0.31058542628649205,-0.2962918173743389,-0.28402978877008167,-0.2734434569809682,-0.2642107070054035,-0.2560947197133502,-0.2488994732712394,-0.24245200257562247,-0.2366599924917398,-0.23138847370952056,-0.22659041482002223},
{1.0544365431101934,-0.2711047396638193,-0.5560335565736929,-0.5460802394071302,-0.4900669185941711,-0.4389433082964153,-0.3970943518081905,-0.3619150144697725,-0.34403185257368135,-0.3270318096620666,-0.31048410890796724,-0.29619344268139497,-0.2839353367097567,-0.2733529118059035,-0.26412383782723553,-0.25601121176555763,-0.24881901203087492,-0.2423743049545622,-0.23658479757178658,-0.2313155635693333,-0.2265195886785542},
{1.0492316267753927,-0.27330686276927396,-0.55687583327738,-0.5462781259218923,-0.4900574455468963,-0.43886562314371347,-0.39697253698207935,-0.36181773667579176,-0.3439606214647142,-0.3269328654468939,-0.31038276984356244,-0.2960950787674874,-0.2838409099936072,-0.2732623999398099,-0.2640370064818394,-0.25592774419695075,-0.2487385926073174,-0.2422966499308617,-0.2365096456062267,-0.23124269646174278,-0.226448805466135},
{1.044033262363485,-0.2755018225015622,-0.5577132021187192,-0.5464737545126727,-0.4900469205193656,-0.43878741415329026,-0.396850324290176,-0.3617203182646986,-0.34388905565418576,-0.32683380668394063,-0.3102814099947342,-0.29599672621292394,-0.2837465090437041,-0.2731719217183676,-0.26395021324172385,-0.25584431723627443,-0.24865821519719616,-0.2422190376763637,-0.23643453674728254,-0.23116987252306154,-0.22637806530593194},
{1.0388414629495337,-0.2776896494845839,-0.5585456841020107,-0.5466671378883828,-0.49003535049926855,-0.43870868536813146,-0.39672772075032736,-0.36162276066669,-0.3438171564684985,-0.32673463514496226,-0.31018003025484503,-0.2958983855928945,-0.28365213427848385,-0.27308147747418765,-0.26386345837684166,-0.2557609311100739,-0.2485778799952004,-0.24214146836117037,-0.23635947114560318,-0.23109709188815192,-0.2263073683197764},
{1.0336562414633066,-0.27987037421819755,-0.5593733001518482,-0.5468582886904814,-0.49002274243185534,-0.43862944080488103,-0.39660473335030233,-0.36152506530278616,-0.34374492526868006,-0.3266353525864103,-0.3100786315092326,-0.2958000574775177,-0.2835577861127839,-0.2729910675368402,-0.26377674215460956,-0.2556775860427215,-0.24849758719410292,-0.24206394215366625,-0.23628444895026976,-0.23102435469044275,-0.22623671462817876},
{1.0284776106900189,-0.28204402707576587,-0.5601960711133465,-0.547047219493363,-0.49000910322018304,-0.43854968445400194,-0.3964813690455725,-0.36142723358489115,-0.34367236344937757,-0.32653596074954483,-0.30997721463529593,-0.2957017424318784,-0.28346346495786184,-0.27290069223287783,-0.26369006483993174,-0.2555942822564196,-0.24841733698477286,-0.24198645922051842,-0.23620947030881684,-0.23095166106193749,-0.2261661043503252},
{1.0233055832710676,-0.2842106383017542,-0.5610140177523425,-0.5472339428046661,-0.48999443972539275,-0.43846942027994934,-0.3963576347572161,-0.36132926691585554,-0.3435994724378724,-0.3264364613605426,-0.30987578050254794,-0.29560344101607655,-0.28336917122143956,-0.27281035188585767,-0.263603426695215,-0.25551101997122555,-0.2483371295561828,-0.24190901972670678,-0.23613453536723528,-0.23087901113323128,-0.22609553760410334},
{1.018140171704764,-0.2863702380093968,-0.5618271607556236,-0.5474184710656469,-0.48997875876696106,-0.43838865222135404,-0.39623353736984795,-0.361231166689529,-0.3435262536930984,-0.3263368561306061,-0.3097743299727034,-0.2955051537852618,-0.2832749053077164,-0.272720046816364,-0.26351682798038945,-0.25542779940507154,-0.2482569650954331,-0.24183162383551987,-0.23605964426998755,-0.23080640503351085,-0.2260250145060937},
{1.0129813883470669,-0.28852285617842227,-0.5626355207311384,-0.5476008166515135,-0.48996206712295476,-0.4383073841911769,-0.3961090837297108,-0.36113293429082705,-0.3434527087046902,-0.32623714675607973,-0.3096728638997353,-0.2954068812896759,-0.28318066761741356,-0.27262977734203064,-0.2634302689529287,-0.2553446207737685,-0.24817684378775728,-0.24175427170857783,-0.2359847971600212,-0.23073384289057305,-0.22595453517159467},
{1.007829245412309,-0.2906685226528418,-0.5634391182082203,-0.5477809918717539,-0.48994437153029324,-0.43822562007689847,-0.39598428064279056,-0.36103457109578135,-0.343378838992032,-0.3261373349185536,-0.30957138312995014,-0.2953086240746924,-0.28308645854778597,-0.2725395437775699,-0.26334374986787007,-0.25526148429104034,-0.24809676581654008,-0.24167696350584278,-0.23590999417877695,-0.23066132483083449,-0.22588409971463533},
{1.0026837549739216,-0.2928072671388006,-0.5642379736377993,-0.5479590089705098,-0.4899256786849923,-0.4381433637406734,-0.3958591348730329,-0.36093607847159814,-0.34330464610332206,-0.3260374222849757,-0.30946988850205176,-0.2952103826808593,-0.28299227849266184,-0.27244934643477847,-0.26325727097782525,-0.2551783901685153,-0.2480167313633333,-0.24159969938562517,-0.2358352354661962,-0.23058885097933823,-0.22581370824795843},
{0.9975449289651606,-0.2949391192024844,-0.5650321073926292,-0.5481348801268787,-0.4899059952424263,-0.43806061901950666,-0.3957336531406682,-0.3608374577767197,-0.34323013161466864,-0.3259374105077686,-0.30936838084721163,-0.2951121576439278,-0.2828981278424604,-0.2723591856225798,-0.2631708325330064,-0.2550953386157677,-0.2479367406078636,-0.24152247950461042,-0.23576052116074292,-0.23051642145976894,-0.22574336088307623},
{0.9924127791798267,-0.29706410826810203,-0.5658215397675023,-0.5483086174552836,-0.4898853278175778,-0.437977389725419,-0.39560784212056893,-0.360738710360881,-0.34315529712918125,-0.325837301224924,-0.3092668609891381,-0.2950139494949094,-0.282804006984228,-0.2722690616470279,-0.2630844347812426,-0.25501232984031785,-0.24785679372805353,-0.24144530401785325,-0.2356858513994075,-0.23044403639445954,-0.2256730577302276},
{0.987287317272984,-0.2991822636159176,-0.5666062909794766,-0.5484802330057926,-0.4898636829852805,-0.43789367964560316,-0.3954817084407282,-0.36063983756516005,-0.34308014427607936,-0.325737096060133,-0.30916532974413724,-0.2949157587601005,-0.28270991630165354,-0.2721789748113455,-0.2629980779680001,-0.25492936404764494,-0.24777689090003038,-0.2413681730788017,-0.23561122631771889,-0.23037169590439444,-0.2256027988984248},
{0.9821685547616736,-0.3012936143803522,-0.5673863811680939,-0.5486497387644418,-0.48984106728047233,-0.4378094925426063,-0.3953552586807964,-0.36054084072203685,-0.34300467470982077,-0.32563679662287676,-0.3090637879211752,-0.29481758596112184,-0.2826158561751034,-0.2720889254159338,-0.26291176233639413,-0.25484644144121593,-0.2476970322981321,-0.24129108683930545,-0.2355366460497527,-0.23029940010924152,-0.22553258449544994},
{0.9770565030256305,-0.303398189548148,-0.568161830395606,-0.5488171466536048,-0.48981748719844004,-0.4377248321544826,-0.3952284993706925,-0.3604417211554579,-0.34292889010924854,-0.32553640450856114,-0.308962236321962,-0.2947194316149675,-0.28252182698163925,-0.27199891375839824,-0.2628254881272133,-0.25476356222249186,-0.24761721809494452,-0.2412140454496322,-0.23546211072814935,-0.23022714912733871,-0.22546241462786581},
{0.9719511733079924,-0.3054960179565894,-0.5689326586471932,-0.5489824685322792,-0.48979294919506305,-0.43763970219495063,-0.3951014369892935,-0.360342480180869,-0.3428527921767311,-0.3254359212986047,-0.3088606757409884,-0.29462129623402267,-0.2824278290950479,-0.2719089401335638,-0.2627392555789316,-0.2546807265909417,-0.24753744846128234,-0.24113704905847316,-0.23538762048411527,-0.23015494307571055,-0.22539228940102296},
{0.9668525767160103,-0.30758712829179524,-0.5696988858311901,-0.5491457161964506,-0.48976745968705965,-0.43755410635356895,-0.3949740779631875,-0.36024311910529555,-0.3427763826373392,-0.3253353485605574,-0.3087591069656107,-0.294523180326125,-0.28233386288586404,-0.2718190048335146,-0.2626530649277348,-0.254597934744066,-0.24745772356623139,-0.24106009781295573,-0.2353131754474404,-0.23008278207009264,-0.2253222089190708},
{0.9617607242217505,-0.30967154908706573,-0.5704605317793168,-0.549306901379411,-0.4897410250522211,-0.4374680482958793,-0.3948464286655186,-0.3601436392273894,-0.3426996632380261,-0.32523468784822507,-0.30865753077610497,-0.2944250843945868,-0.282239928721394,-0.2717291081475864,-0.26256691640752533,-0.25451518687740265,-0.2473780435771423,-0.240983191858658,-0.23523877574651517,-0.23001066622491767,-0.2252521732849685},
{0.9566756266628044,-0.3117493087212964,-0.5712176162468952,-0.5494660357520624,-0.4897136516296603,-0.4373815316635797,-0.3947184954148826,-0.360044041837521,-0.34262263574681584,-0.32513394070176016,-0.30855594794572877,-0.2943270089382296,-0.28214602696573987,-0.2716392503624137,-0.26248081024995135,-0.2544324831845422,-0.24729840865964833,-0.2409063313396225,-0.23516442150831834,-0.22993859565334196,-0.22518218260048958},
{0.9515972947429832,-0.31382043541744964,-0.571970158913079,-0.5496231309232842,-0.48968534572004196,-0.4372945600746745,-0.39459028447428013,-0.3599443282179213,-0.34254530195201993,-0.32503310864779045,-0.30845435924078635,-0.29422895445143077,-0.2820521579798204,-0.2715494317619363,-0.26239474668441687,-0.25434982385715066,-0.24721881897768455,-0.24082951639835753,-0.23509011285845005,-0.22986657046724546,-0.22511223696622912},
{0.9465257390330211,-0.3158849572410921,-0.5727181793810807,-0.549778198440213,-0.4896561135858287,-0.43720713712362946,-0.3944618020501695,-0.35984449964298776,-0.3424676636614453,-0.3249321931995224,-0.3083527654206899,-0.29413092142414876,-0.28195832212140515,-0.27145965262742094,-0.2623087259381002,-0.25426720908497813,-0.2471392746934971,-0.2407527471758632,-0.23501584992113778,-0.22979459077725484,-0.22504233648162641},
{0.9414609699712705,-0.31794290209899145,-0.5734616971783955,-0.5499312497886004,-0.4896259614515088,-0.43711926638154297,-0.39433305429154575,-0.3597445573798521,-0.3423897227016476,-0.3248311958568584,-0.3082511672380148,-0.2940329103419748,-0.2818645197451209,-0.2713699132374898,-0.26222274823597713,-0.25418463905587285,-0.24705977596764842,-0.24067602381163314,-0.23494163281923605,-0.22972265669273437,-0.22497248124495772},
{0.9364029978643928,-0.31999429773777127,-0.5742007317570319,-0.5500822963931117,-0.4895948955038316,-0.4370309513962734,-0.3942040472891052,-0.3596445026894557,-0.34231148091715874,-0.3247301181065051,-0.3081495654385671,-0.2939349216861523,-0.2817707512024842,-0.2712802138681276,-0.26213681380082426,-0.2541021139557983,-0.2469803229590411,-0.2405993464436671,-0.23486746167424338,-0.2296507683218146,-0.22490267135334197},
{0.9313518328880562,-0.32203917174263247,-0.5749353024937373,-0.5502313496176371,-0.48956292189204426,-0.4369421956926163,-0.3940747870744705,-0.3595443368283582,-0.34223294016975864,-0.3246289614220872,-0.3080479607614356,-0.2938369559336132,-0.2816770168419272,-0.27119055479271004,-0.2620509228532492,-0.25401963396884436,-0.24690091582491797,-0.2405227152084784,-0.2347933366063198,-0.22957892577138203,-0.2248329069027751},
{0.9263074850876163,-0.3240775515361304,-0.5756654286902286,-0.5503784207656445,-0.4895300467281133,-0.43685300277244893,-0.3939452796194524,-0.35944406105163773,-0.3421541023377479,-0.3245277272642609,-0.3079463539390608,-0.2937390135570269,-0.2815833170088089,-0.27110093628203064,-0.26196507561169813,-0.25393719927724645,-0.24682155472089157,-0.24044613024111977,-0.23471925773428126,-0.2295071291471025,-0.22476318798811107},
{0.9212699643788114,-0.32610946437701116,-0.5763911295734162,-0.5505235210804444,-0.4894962760869675,-0.43676337611487576,-0.39381553083540005,-0.35934367661718614,-0.34207496931522474,-0.3244264170808179,-0.30784474569727505,-0.29364109502481867,-0.28148965204544674,-0.2710113586042969,-0.26187927229248037,-0.25385481006139055,-0.2467422398009376,-0.24036959167517402,-0.2346452251756257,-0.22943537855343119,-0.22469351470308124},
{0.9162392805484358,-0.3281349373591109,-0.5771124242956357,-0.550666661745554,-0.48946161600671695,-0.43667331917639374,-0.3936855465725704,-0.35924318479177775,-0.34199554301139706,-0.32432503230680826,-0.3077431367553855,-0.2935432008012159,-0.28139602229113064,-0.2709218220251829,-0.2617935131097751,-0.25377246649983964,-0.24666297121742103,-0.240293099642784,-0.23457123904652727,-0.2293636740936103,-0.2246238871402997},
{0.9112154432550318,-0.3301539974103099,-0.5778293319348804,-0.5508078538849766,-0.4894260724888776,-0.43658283539101783,-0.3935553326195884,-0.3591425868592067,-0.3419158253498841,-0.32422357436463783,-0.3076415278262085,-0.2934453313462753,-0.2813024280821494,-0.27083232680781555,-0.26170779827565266,-0.2536901687693361,-0.2465837491210992,-0.24021665427464367,-0.23449729946185904,-0.22929201586968354,-0.22455430539127835},
{0.9061984620295634,-0.33216667129154653,-0.5785418714950241,-0.5509471085635124,-0.48938965149860425,-0.436491928170455,-0.39342489470294256,-0.35904188413075866,-0.3418358182680392,-0.32412204466418704,-0.3075399196161356,-0.2933474871159165,-0.2812088697518151,-0.2707428732128191,-0.26162212800009327,-0.2536079170448238,-0.24650457366114076,-0.2401402557000304,-0.23442340653519883,-0.2292204039825178,-0.22448476954643448},
{0.9011883462760923,-0.3341729855958894,-0.5792500619060568,-0.5510844367870944,-0.4893523589649089,-0.43640060090423477,-0.39329423848651063,-0.358941077958182,-0.34175552371629425,-0.3240204446029178,-0.30743831282519607,-0.29324966856195944,-0.2811153476304713,-0.2706534614983215,-0.2615365024909985,-0.2535257114994527,-0.2464254449851297,-0.2400639040468,-0.2343495603788337,-0.22914883853178125,-0.22441527969508218},
{0.8961851052724552,-0.33617296674766667,-0.579953922024309,-0.5512198495030618,-0.48931420078088433,-0.43630885695986005,-0.3931633695711784,-0.35884016974924454,-0.3416749436574982,-0.32391877556597615,-0.30733670814709546,-0.29315187613215143,-0.28102186204552937,-0.270564091919976,-0.2614509219542074,-0.2534435523046043,-0.24634636323909043,-0.23998759944140485,-0.23427576110377912,-0.2290773196159944,-0.2243458359254683},
{0.8911887481709315,-0.3381666410016473,-0.5806534706326869,-0.5513533576004935,-0.48927518280392623,-0.43621669968295657,-0.3930322934944568,-0.35873916098581776,-0.3415940800662829,-0.32381703892630664,-0.3072351062692887,-0.2930541102702079,-0.2809284133214766,-0.2704747647309828,-0.2613653865935126,-0.25336143962988944,-0.24626732856747774,-0.23991134200889747,-0.23420200881977388,-0.22900584733249307,-0.22427643832474775},
{0.8861992839989175,-0.3401540344422844,-0.5813487264409007,-0.5514849719105035,-0.4892353108559492,-0.436124132397405,-0.3929010157301894,-0.35863805324438536,-0.34151293492843415,-0.32371523604474856,-0.3071335078730256,-0.2929563714158433,-0.2808350017799051,-0.27038548018210523,-0.2612798966106766,-0.2532793736431811,-0.2461883411132147,-0.23983513187294547,-0.23412830363530956,-0.22893442177747472,-0.2242070869790167},
{0.8812167216595861,-0.34213517298301005,-0.5820397080856976,-0.5516147032065287,-0.48919459072361116,-0.4360311584055015,-0.3927695416882798,-0.35853684821869525,-0.3414315102402816,-0.3236133682701537,-0.307031913633402,-0.292858660004792,-0.28074162773952727,-0.2702962385216836,-0.2611944522054514,-0.2531973545106072,-0.24610940101768183,-0.23975896915585201,-0.23405464565762485,-0.2288630430459873,-0.2241377819733209},
{0.8762410699325629,-0.344110082365588,-0.582726434131087,-0.5517425622046613,-0.48915302815852396,-0.43593778098808333,-0.3926378767144521,-0.35843554774424763,-0.3413498080080803,-0.3235114369394794,-0.30693032421941924,-0.2927609764688588,-0.28064829151619475,-0.2702070399956658,-0.26110905357558467,-0.25311538239657927,-0.24603050842074148,-0.23968285397854153,-0.23398103499271278,-0.22879171123194125,-0.22406852339164374},
{0.8712723374745724,-0.3460787881595103,-0.5834089230685782,-0.5518685595639166,-0.4891106288774705,-0.4358440034046802,-0.39250602609008634,-0.35833415382420924,-0.34126783024743856,-0.3234094433778926,-0.3068287402940312,-0.29266332123593075,-0.28055499342292317,-0.2701178848476158,-0.26102370091683913,-0.2530334574637958,-0.2459516634607455,-0.2396067864605946,-0.23390747174534587,-0.22872042642812113,-0.22399931131692843},
{0.8663105328201118,-0.3480413157614618,-0.5840871933174064,-0.5519927058865595,-0.4890673985626228,-0.43574982889365627,-0.39237399503205467,-0.35823266865628123,-0.34118557898271973,-0.3233073888988708,-0.3067271625142108,-0.2925656947300283,-0.2804617337699111,-0.2700287733187309,-0.2609383944230092,-0.2529515798732638,-0.24587286627454588,-0.2395307667202423,-0.23383395601907386,-0.22864918872619255,-0.2239301458310879},
{0.8613556643821,-0.34999769039482354,-0.584761263224767,-0.5521150117183842,-0.4890233428617482,-0.43565526067233173,-0.39224178869262727,-0.358131094660021,-0.3411030562464847,-0.3232052748043066,-0.3066255915309757,-0.29246809737132295,-0.28036851286455355,-0.26993970564786907,-0.26085313428593865,-0.25286974978429866,-0.24579411699750603,-0.2394547948743821,-0.23376048791622822,-0.22857799821670188,-0.22386102701499389},
{0.8564077404525333,-0.3519479371092413,-0.5854311510660503,-0.5522354875490141,-0.4889784673884304,-0.43556030193715306,-0.39210941215941375,-0.3580294345041312,-0.3410202640789352,-0.3231031023846045,-0.30652402798947265,-0.2923705295761749,-0.2802753310114716,-0.26985068207156726,-0.2607679206955336,-0.2527879673545578,-0.24571541576352118,-0.23937887103859765,-0.23368706753795127,-0.228506854989113,-0.2237919549485229},
{0.8514667692031433,-0.35389208078022427,-0.586096875045057,-0.5523541438121943,-0.4889327777222571,-0.43546495586378975,-0.3919768704552891,-0.3579276911331323,-0.34093720452735116,-0.3230008729187611,-0.30642247252899046,-0.2922729917571493,-0.28018218851251225,-0.269761702824029,-0.26068275383975703,-0.2527062327400173,-0.24563676270499843,-0.23930299532713672,-0.23361369498416915,-0.2284357591317647,-0.2237229297104991},
{0.8465327586860387,-0.355830146108818,-0.5867584532942497,-0.5524709908860855,-0.4888862794090602,-0.4353692256073061,-0.39184416853844417,-0.3578258677930134,-0.34085387964557934,-0.3228985876744893,-0.3063209257830444,-0.29217548432306756,-0.28008908566679563,-0.2696727681371893,-0.2605976339046812,-0.25262454609502427,-0.24555815795291094,-0.2392271678529607,-0.23354037035363864,-0.228364710731929,-0.22365395137877903},
{0.8416057168343565,-0.35776215762131147,-0.587415903874973,-0.5525860390935651,-0.4888389779611053,-0.4352731143022837,-0.39171131130238346,-0.35772396805529855,-0.3407702914934972,-0.3227962479082917,-0.3062193883794141,-0.2920780076790307,-0.2799960227707109,-0.2695838782407014,-0.2605125610744788,-0.2525429075722913,-0.24547960163678306,-0.2391513887277319,-0.23346709374394262,-0.2282937098757994,-0.22358502003020175},
{0.8366856514629079,-0.35968813966899593,-0.5880692447776887,-0.5526992987025079,-0.48879087885729444,-0.43517662506294863,-0.39157830357600887,-0.3576219958391504,-0.3406864421364988,-0.3226938548655637,-0.3061178609401875,-0.29198056222644225,-0.27990300011794683,-0.2694950333619655,-0.2604275355314374,-0.25246131732290444,-0.24540109388470638,-0.23907565806182873,-0.23339386525149186,-0.22822275664849215,-0.22351613574062468},
{0.8317725702688196,-0.3616081164279722,-0.5887184939222047,-0.5528107799260599,-0.4887419875433802,-0.4350797609833154,-0.3914451501237172,-0.3575199554311065,-0.34060233364499815,-0.3225914097806754,-0.30601634408181155,-0.29188314836304163,-0.27981001799950533,-0.26940623372613404,-0.2603425574559798,-0.25237977549634005,-0.24532263482334538,-0.23899997596435063,-0.23332068497153638,-0.22815185113406383,-0.22344729858491863},
{0.8268664808321746,-0.36352211189900285,-0.5893636691579062,-0.5529204929229594,-0.48869230943216224,-0.43498252513731395,-0.39131185564550197,-0.3574178515021543,-0.34051796809393514,-0.32248891387707157,-0.30591483841514727,-0.2917857664829344,-0.2797170767037196,-0.2693174795561427,-0.2602576270266746,-0.2522982822404774,-0.24524422457795508,-0.23892434254313166,-0.23324755299817873,-0.22808099341551727,-0.22337850863697412},
{0.8219673906166483,-0.36543014990741784,-0.5900047882639898,-0.5530284477977875,-0.48864184990369747,-0.43488492057892275,-0.3911784247771364,-0.3573156891218422,-0.34043334756229493,-0.3223863683673549,-0.30581334454551146,-0.2916884169766183,-0.27962417651628246,-0.26922877107272514,-0.2601727444202559,-0.2522168377016128,-0.24516586327239753,-0.23884875790475749,-0.2331744694243836,-0.2280101835748063,-0.2233097659697247},
{0.8170753069701476,-0.3673322541030528,-0.5906418689496915,-0.5531346546012811,-0.4885906143054936,-0.4347869503423084,-0.39104486209033096,-0.35721347376924495,-0.3403484741326408,-0.32228377445337314,-0.30571186307272863,-0.2915911002310202,-0.27953131772024664,-0.26914010849441666,-0.26008790981162605,-0.2521354420244654,-0.245087551029133,-0.2387732221545546,-0.23310143434197259,-0.22793942169284415,-0.2232410706551287},
{0.8121902371254386,-0.369228447960244,-0.5912749288545199,-0.5532391233305985,-0.48853860795271115,-0.434688617441932,-0.3909111720929503,-0.3571112113406335,-0.34026334989065177,-0.3221811333263104,-0.3056103945911748,-0.29149381662951357,-0.27943850059605657,-0.26905149203758866,-0.2600031233738841,-0.2520540953521934,-0.24500928796924842,-0.23869773539662276,-0.23302844784165855,-0.22786870784951507,-0.2231724227641991},
{0.8073121882007837,-0.37111875477785783,-0.5919039855484858,-0.5533418639295924,-0.48848583612836016,-0.43458992487270637,-0.39077735922924495,-0.35700890815376823,-0.3401779769246698,-0.3220784461667632,-0.3055089396898235,-0.2913965665519534,-0.2793457254215629,-0.2689629219164524,-0.2599183852783251,-0.251972797826399,-0.24493107421245558,-0.2386222977338226,-0.23295551001301884,-0.22779804212367358,-0.22310382236699838},
{0.8024411672005625,-0.373003197679373,-0.5925290565323347,-0.5534428862891247,-0.4884323040835017,-0.4344908756101078,-0.39064342788009365,-0.35690657094879324,-0.3400923573252776,-0.32197571414484016,-0.30540749895229935,-0.29129935037470656,-0.27925299247204405,-0.26887439834308635,-0.2598336956944673,-0.2518915495871592,-0.24485290987711494,-0.2385469092678112,-0.23288262094454226,-0.2277274245931733,-0.2230352695326535},
{0.7975771810159054,-0.37488179961298984,-0.5931501592377747,-0.553542200247299,-0.48837801703744066,-0.43439147261030353,-0.3905093823632935,-0.3568042068857207,-0.34000649318484183,-0.32187293842022885,-0.30530607295691153,-0.2912021684706684,-0.27916030202021586,-0.2687859215274396,-0.2597490547900534,-0.25181035077300623,-0.244774795080229,-0.23847157009901584,-0.23280978072360375,-0.22765685533484314,-0.22296676432934895},
{0.7927202364253095,-0.3767545833518005,-0.5937673110277095,-0.5536398155897794,-0.4883229801779236,-0.4342917188102894,-0.39037522693384247,-0.3567018235386402,-0.33992038659711976,-0.32177012014228423,-0.3052046622767126,-0.29110502120930626,-0.2790676543362534,-0.2686974916773557,-0.2596644627310741,-0.25172920152096934,-0.24469672993746966,-0.23839628032668003,-0.23273698943649193,-0.22758633442451953,-0.22289830682434741},
{0.7878703400952647,-0.3786215714939775,-0.5943805291964697,-0.5537357420500412,-0.48826719866132307,-0.43419161712799675,-0.3902409657842696,-0.356599428886696,-0.33983403965683545,-0.32166726045011,-0.305103267479537,-0.2910079089566745,-0.278975049687809,-0.2686091089985923,-0.25957991968177196,-0.251648101966564,-0.2446187145631727,-0.23832104004884325,-0.23266424716841935,-0.22751586193703868,-0.22282989708399373},
{0.7830274985808723,-0.38048278646302125,-0.5949898309700364,-0.5538299893096432,-0.48821067761284237,-0.43409117046243834,-0.39010660304497285,-0.35649703130203536,-0.33974745445928534,-0.3215643604726386,-0.3050018891280426,-0.29091083207544316,-0.2788824883400362,-0.2685207736948321,-0.25949542580466767,-0.2515670522438204,-0.24454074907036016,-0.2382458493623697,-0.23259155400351136,-0.22744543794626515,-0.2227615351737251},
{0.7781917183264576,-0.3823382505080337,-0.5955952335062824,-0.5539225669985226,-0.48815342212669505,-0.433990381693815,-0.38997214278456294,-0.35639463953486905,-0.33966063309994887,-0.32146142132871225,-0.30490052777975885,-0.2908137909249349,-0.27878997055559174,-0.2684324859676941,-0.25941098126055606,-0.25148605248527905,-0.24446283357074103,-0.23817070836294618,-0.2325189100248352,-0.22737506252506817,-0.22269322115806223},
{0.7733630056661889,-0.3841879857040354,-0.5961967538951897,-0.5540134846952417,-0.48809543726630733,-0.4338892536836484,-0.38983758901025406,-0.35629226269587916,-0.3395735776741017,-0.3213584441271551,-0.30479918398713135,-0.29071678586113747,-0.2786974965946679,-0.268344246016761,-0.2593265862085395,-0.25140510282201317,-0.2443849681747292,-0.23809561714509722,-0.23244631531439464,-0.2273047357453603,-0.22262495510063446},
{0.7685413668246838,-0.38603201395231546,-0.5967944091590855,-0.5541027519272776,-0.4880367280644932,-0.43378778927490297,-0.3897029456682314,-0.3561899102361695,-0.3394862902764505,-0.3212554299668531,-0.3046978582975613,-0.2906198172367367,-0.2786050667149944,-0.26825605403957936,-0.25924224080601094,-0.2513242033836314,-0.2443071529914432,-0.2380205758021782,-0.2323737699531423,-0.22723445767807193,-0.2225567370641673},
{0.7637268079176232,-0.38787035698082206,-0.597388216252873,-0.554190378171281,-0.4879772995236482,-0.43368599129209473,-0.3895682166440855,-0.3560875919250325,-0.3393987730007685,-0.32115237993683465,-0.3045965512534563,-0.2905228854011457,-0.27851268117187794,-0.2681679102316965,-0.25915794520871027,-0.251243354298296,-0.24422938812872738,-0.23794558442641434,-0.2323012740209937,-0.22716422839320205,-0.22248856711051823},
{0.7589193349523533,-0.38970303634458664,-0.5979781920642572,-0.5542763728533363,-0.48791715661594004,-0.43358386254143333,-0.3894334057632241,-0.3559853178257415,-0.3393110279395466,-0.3210492951163383,-0.3044952633922653,-0.2904259907005298,-0.2784203402181948,-0.26807981478665316,-0.25907369957069315,-0.2511625556927328,-0.24415167369315524,-0.23787064310888106,-0.23222882759682084,-0.227094047959776,-0.22242044530066096},
{0.754118953828498,-0.39153007342618085,-0.5985643534139722,-0.5543607453492488,-0.48785630428348464,-0.43348140581092226,-0.38929851679129923,-0.3558830982696507,-0.3392230571836351,-0.32094617657489655,-0.30439399524651556,-0.2903291334778231,-0.2783280441044233,-0.2679917678960097,-0.2589895040443694,-0.25108180769223093,-0.24407400979003457,-0.2377957519395213,-0.2321564307584693,-0.22702391644589076,-0.22235237169467936},
{0.7493256703385509,-0.3933514894362069,-0.5991467170560136,-0.5544435049847865,-0.48779474743853485,-0.43337862387048703,-0.3891635534346789,-0.355780943828859,-0.3391348628219305,-0.32084302537240394,-0.3042927473438711,-0.2902323140727634,-0.2782357930786524,-0.2679037697493667,-0.25890535878051346,-0.25100111042067325,-0.24399639652342503,-0.237720911007165,-0.23208408358277113,-0.22695383391870932,-0.2222843463518185},
{0.7445394901684834,-0.395167305413824,-0.5997252996778627,-0.5545246610359658,-0.4877324909636674,-0.43327551947209486,-0.38902851934089455,-0.3556788652876782,-0.3390464469410275,-0.32073984255919286,-0.30419152020716145,-0.2901355328219123,-0.27814358738660655,-0.2678158205343683,-0.2588212639282637,-0.2509204640005243,-0.24391883399614672,-0.23764612039951297,-0.23201178614553855,-0.22688380044445478,-0.22221636933044714},
{0.7397604188983381,-0.3969775422273041,-0.600300117900719,-0.554604222729295,-0.4876695397119535,-0.43317209534986045,-0.3888934180991352,-0.35557687361315005,-0.3389578116249116,-0.32063662917610214,-0.3040903143544272,-0.29003879005868266,-0.2780514272716518,-0.2677279204367224,-0.25873721963514934,-0.2508398685528612,-0.24384132230978317,-0.23757138020317348,-0.2319395385215826,-0.22681381608843906,-0.22214844068808431},
{0.7349884620028234,-0.398782220574619,-0.6008711882797225,-0.5546821992420363,-0.4876058985071495,-0.43306835422017953,-0.38875825324074176,-0.35547497992489024,-0.3388689589546512,-0.3205333862545576,-0.303989130298956,-0.28994208611335476,-0.27795931297482207,-0.2676400696402189,-0.25865322604709506,-0.2507593241973737,-0.24376386156469917,-0.23749669050365002,-0.23186734078471843,-0.22674388091505637,-0.22208056048140798},
{0.730223624851912,-0.40058136098405855,-0.6014385273041848,-0.5547585997024851,-0.48754157214387084,-0.4329642987818298,-0.38862302823969425,-0.35537319546445123,-0.3387798910080881,-0.3204301148166431,-0.30388796854932915,-0.28984542131310437,-0.27786724473483004,-0.26755226832673634,-0.25856928330843537,-0.2506788310523671,-0.24368645186003984,-0.23742205138536077,-0.23179519300777013,-0.226673994987796,-0.2220127287662486},
{0.7254659127114229,-0.40237498381487485,-0.602002151397813,-0.5548334331901971,-0.4874765653877712,-0.43285993171609183,-0.388487746513146,-0.3552715315644319,-0.33869060985954935,-0.32032681587515727,-0.3037868296094576,-0.2897487959820194,-0.2777752227880822,-0.2674645166762615,-0.2584853915619235,-0.2505983892347955,-0.24360909329374747,-0.23734746293163583,-0.23172309526257207,-0.22660415836923611,-0.2219449455976086},
{0.7207153307436177,-0.40416310925796267,-0.6025620769189362,-0.5549067087362773,-0.48741088297572427,-0.4327552556868672,-0.38835241142193905,-0.35516999961758877,-0.3386011175795619,-0.32022349043370796,-0.3036857139786238,-0.28965221044112716,-0.2776832473687014,-0.26737681486691045,-0.2584015509487545,-0.2505179988602509,-0.2435317859625719,-0.23727292522474247,-0.23165104761999783,-0.22653437112108038,-0.2218772110296624},
{0.7159718840077793,-0.4059457573365588,-0.6031183201607359,-0.5549784353236147,-0.4873445296159877,-0.4326502733407783,-0.38821702627115134,-0.35506861104606136,-0.33851141623457287,-0.32012013948676077,-0.30358462215151755,-0.2895556650084067,-0.27759131870853615,-0.26728916307492423,-0.2583177616085558,-0.2504376600429758,-0.24345452996206765,-0.237198438345875,-0.23157905014994468,-0.22646463330412492,-0.22180952511576787},
{0.7112355774608025,-0.40772294790697544,-0.6036708973514665,-0.555048621887133,-0.48727750998839114,-0.43254498730729973,-0.3880815943106516,-0.35496737727097377,-0.3384215078866821,-0.3200167640197208,-0.3034835546182747,-0.28945915999881155,-0.27749943703718005,-0.26720156147470076,-0.2582340236794266,-0.2503573728958866,-0.2433773253866196,-0.23712400237517245,-0.2315071029213439,-0.22639494497829715,-0.22174188790845883},
{0.7065064159577698,-0.40949470065935467,-0.6042198246546822,-0.555117277314066,-0.4872098287445,-0.43243940019885063,-0.3879461187356306,-0.35486630968252414,-0.33833139459337735,-0.31991336500900003,-0.3033825118645218,-0.2893626957242844,-0.2774076025819845,-0.26711401023880155,-0.25815033729791936,-0.2502771375305705,-0.24330017232943285,-0.2370496173917236,-0.23143520600218703,-0.22632530620264232,-0.22167429945946993},
{0.7017844042525317,-0.41126103511845313,-0.604765118169464,-0.5551844104441839,-0.4871414905077992,-0.43233351461091896,-0.38781060268720463,-0.3547654196107434,-0.33824107840728546,-0.3198099434220859,-0.30328149437140794,-0.28926627249377546,-0.2773158155680833,-0.2670265095379678,-0.25806670259908027,-0.25019695405729964,-0.24322307088256864,-0.23697528347358032,-0.23136335945951397,-0.22625571703534775,-0.2216067598197345},
{0.6970695469982853,-0.4130219706444457,-0.6053067939306388,-0.5552500300700651,-0.48707249987385304,-0.4322273331221726,-0.38767504925295715,-0.3546647182970217,-0.33815056137591604,-0.3197065002176068,-0.30318050261564083,-0.2891698906132609,-0.2772240762183959,-0.2669390595411324,-0.2579831197164355,-0.25011682258504436,-0.24314602113691763,-0.2369010006977498,-0.23129156335941553,-0.22618617753373133,-0.2215392690393728},
{0.6923618487481484,-0.41477752643376214,-0.6058448679090132,-0.5553141449373329,-0.4870028614104798,-0.4321208582945543,-0.3875394614675502,-0.3545642168665875,-0.3380598455414331,-0.3196030363454095,-0.3030795370695375,-0.2890735503857606,-0.2771323847536498,-0.26685166041543074,-0.2578995887820313,-0.25003674322148045,-0.24306902318224327,-0.23682676914023348,-0.23121981776707246,-0.22611668775426214,-0.22147182716773778},
{0.6876613139557275,-0.41652772151993067,-0.6063793560115835,-0.5553767637448922,-0.4869325796579219,-0.4320140926734067,-0.387403842313302,-0.35446392630195095,-0.337968932940409,-0.31949955274660785,-0.3029785982010351,-0.28897725211133324,-0.2770407413923961,-0.26676431232622105,-0.257816109926405,-0.24995671607298703,-0.24299207710716048,-0.2367525888759853,-0.23114812274670865,-0.22604724775254614,-0.2214044342533853},
{0.6829679469756921,-0.4182725747744691,-0.6069102740817729,-0.555437895145214,-0.4868616591290173,-0.4319070387875714,-0.3872681947207788,-0.35436385741751053,-0.3378778256036191,-0.3193960503536809,-0.3028776864737607,-0.2888809960871308,-0.27694914635102597,-0.26667701543710015,-0.25773268327864074,-0.24987674124468784,-0.24291518299916456,-0.23667845997897863,-0.2310764783616679,-0.22597785758336889,-0.22133709034410004},
{0.6782817520643416,-0.42001210490776797,-0.6074376378996436,-0.5554975477445306,-0.4867901043093589,-0.4317996991494951,-0.38713252156940925,-0.3542640208352906,-0.3377865255557945,-0.31929253009050546,-0.30277680234703586,-0.2887847826073601,-0.27685759984378033,-0.2665897699098993,-0.25764930896634547,-0.24979681884042568,-0.24283834094463547,-0.23660438252216753,-0.23100488467435604,-0.2259085173006684,-0.22126979548688663},
{0.6736027333801677,-0.4217463304700209,-0.6079614631821246,-0.555555730103126,-0.4867179196574742,-0.4316920762553492,-0.3869968256880838,-0.3541644269619783,-0.33769503481543717,-0.31918899287244884,-0.3026759462759408,-0.2886886119633482,-0.2767661020827693,-0.2665025759047216,-0.2575659871156819,-0.2497169489627833,-0.24276155102883945,-0.23653035657750762,-0.23093334174627506,-0.22583922695754594,-0.22120254972798375},
{0.6689308949844204,-0.4234752698521574,-0.608481765583236,-0.55561245073555,-0.4866451096049672,-0.43158417258511134,-0.38686110985577077,-0.35406508596722186,-0.33760335539460407,-0.319085439606424,-0.30257511871133,-0.28859248444352825,-0.2766746532779908,-0.2664154335799379,-0.2574827178513695,-0.24963713171311153,-0.2426848133359431,-0.23645638221596793,-0.2308618496380485,-0.22576998660628697,-0.22113535311287058},
{0.6642662408416683,-0.42519894128680363,-0.6089985606943004,-0.5556677181108605,-0.48657167855671135,-0.4314759906026989,-0.386725376802137,-0.35396600776328535,-0.3375114892987036,-0.3189818711909562,-0.30247432009987196,-0.28849640033345697,-0.27658325363734076,-0.266328343092207,-0.257399501296694,-0.2495573671915146,-0.24260812794901654,-0.23638245950755105,-0.23079040840939175,-0.22570079629837048,-0.22106820568628716},
{0.659608774820355,-0.4269173628492595,-0.6095118640441752,-0.5557215406528822,-0.4864976308909873,-0.43136753275604733,-0.38658962920815576,-0.3538672019860779,-0.3374194385263122,-0.31887828851625455,-0.30237355088409396,-0.2884003599158333,-0.27649190336662116,-0.26624130459648765,-0.257316337573524,-0.2494776554968709,-0.24253149495005716,-0.2363085885212685,-0.23071901811914086,-0.22563165608444086,-0.22100110749219704},
{0.6549585006933553,-0.42863055245849535,-0.6100216910994649,-0.5557739267404245,-0.48642297095966425,-0.4312588014772318,-0.3864538697067361,-0.3537686779775622,-0.3373272050689819,-0.3187746924642694,-0.3022728115023994,-0.28830436347051513,-0.2764006026695753,-0.26615431824605135,-0.25723322680232374,-0.24939799672683988,-0.24245491441997277,-0.23623476932518006,-0.23064767882526177,-0.2255625660143601,-0.22093405857383813},
{0.6503154221385328,-0.4303385278781624,-0.6105280572647467,-0.555824884707538,-0.48634770308834724,-0.4311497991825662,-0.3863181008833413,-0.3536704447695588,-0.3372347909110613,-0.31867108390876275,-0.3021721023891181,-0.28820841127451935,-0.2763093517478724,-0.2660673841924893,-0.2571501691021403,-0.2493183909778598,-0.2423783864386051,-0.23616100198636755,-0.23057639058483392,-0.22549352613715987,-0.2208670589736955},
{0.6456795427392895,-0.4320413067176227,-0.6110309778827869,-0.5558744228437389,-0.48627183157654336,-0.43104052827269485,-0.386182325276613,-0.35357251106895776,-0.337142198029533,-0.31856746371537603,-0.30207142397453984,-0.28811250360206553,-0.2762181508011608,-0.26598050258574807,-0.25706716459066076,-0.249238838345191,-0.24230191108474122,-0.23608728657098205,-0.23050515345409406,-0.2254245365011217,-0.22080010873353823},
{0.6410508659851113,-0.43373890643299845,-0.611530468234762,-0.5559225493942426,-0.4861953606978199,-0.43093099113271316,-0.3860465453790119,-0.35347488524431164,-0.33704942839383284,-0.31846383274168655,-0.3019707766849289,-0.28801664072457106,-0.2761270000270475,-0.26589367357410265,-0.25698421338417154,-0.2491593389228848,-0.2422254884361137,-0.23601362314421584,-0.23043396748839579,-0.2253555971537054,-0.2207332078943967},
{0.6364293952721218,-0.4354313443282263,-0.6120265435404726,-0.5559692725602096,-0.486118294699963,-0.4308211901322438,-0.38591076363740806,-0.3533775753138063,-0.33695648396568517,-0.3183601918372799,-0.3018701609425809,-0.287920822910669,-0.2760358996211258,-0.26580689730420365,-0.2569013155976002,-0.24907989280381276,-0.24214911856940477,-0.23594001177033075,-0.23036283274226363,-0.22528670814160498,-0.22066635649657226},
{0.6318151339036226,-0.4371186375561385,-0.6125192189585673,-0.5560146004989651,-0.4860406378051334,-0.4307111276255647,-0.3857749824537376,-0.3532805889346011,-0.3368633666989716,-0.3182565418438102,-0.30176957716584246,-0.28782505042623524,-0.2759448497770023,-0.265720173921084,-0.25681847134452407,-0.24900050007968305,-0.2420728015602682,-0.23586645251265578,-0.23029174926936852,-0.22521786951073627,-0.22059955457967056},
{0.6272080850906382,-0.43880080311955083,-0.6130085095867573,-0.5560585413242483,-0.4859623942100268,-0.43060080595168704,-0.3856392041855993,-0.353183933393475,-0.3367700785395486,-0.31815288359506294,-0.3016690257691486,-0.2877293235343965,-0.2758538506862872,-0.2656335035681535,-0.2567356807371534,-0.24892116084101856,-0.24199653748332137,-0.23579294543359436,-0.23022071712253997,-0.22514908130623695,-0.22053280218257024},
{0.6226082519524556,-0.4404778578723621,-0.6134944304620338,-0.5561011031064232,-0.4858835680860163,-0.43049022743445503,-0.38550343114688895,-0.3530876155987937,-0.33667662142512456,-0.3180492179170207,-0.3015685071630572,-0.2876336424955647,-0.27576290253862246,-0.26554688638722473,-0.25665294388638193,-0.24884187517720607,-0.2419203264121659,-0.2357194905946349,-0.23014973635378316,-0.22508034357249804,-0.2204660993434413},
{0.6180156375171632,-0.4421498185206779,-0.6139769965608861,-0.5561422938727172,-0.48580416357932504,-0.4303793943826707,-0.3853676656084249,-0.3529916420737391,-0.3365829972851175,-0.31794554562793326,-0.3014680217542735,-0.2875380075674339,-0.2756720055217097,-0.265460322518535,-0.2565702609017709,-0.24876264317648158,-0.2418441684193911,-0.23564608805636825,-0.23007880701426886,-0.2250116563531469,-0.22039944609976575},
{0.6134302447221847,-0.4438167016239274,-0.614456222799514,-0.5561821216074541,-0.4857241848111624,-0.43026830909014735,-0.38523190979852934,-0.3528960189507321,-0.33648920804051224,-0.3178418675383602,-0.3013675699456861,-0.28744241900502054,-0.2755811598212853,-0.265373812100731,-0.25648763189155577,-0.24868346492592858,-0.24176806357656971,-0.23557273787845484,-0.23000792915435447,-0.22494301969105035,-0.22033284248831003},
{0.6088520764148168,-0.44547852359601375,-0.6149321240340457,-0.5562205942522684,-0.4856436358778854,-0.4301569738358446,-0.3850961659036726,-0.35280075196709143,-0.3363952556037399,-0.31773818445125834,-0.3012671521364021,-0.28734687706067186,-0.27549036562117174,-0.2652873552709011,-0.25640505696266847,-0.24860434051150682,-0.2416920119542833,-0.23549944011968293,-0.229937102823575,-0.22487443362833087,-0.22026628854516395},
{0.6042811353527585,-0.4471353007064559,-0.6154047150607511,-0.5562577197063501,-0.48556252085115376,-0.4300453908839471,-0.38496043606905705,-0.3527058464617815,-0.3363011418785513,-0.3176344971620291,-0.30116676872177817,-0.2872513819840963,-0.2753996231032783,-0.2652009521645923,-0.2563225362207564,-0.2485252700180706,-0.24161601362212748,-0.23542619483794244,-0.22986632807067092,-0.22480589820638122,-0.22019978430572645},
{0.5997174242046387,-0.44878704908155626,-0.6158740106162618,-0.5562935058266522,-0.48548084377806316,-0.42993356248395853,-0.3848247223992385,-0.3526113073732811,-0.3362068687599007,-0.3175308064585878,-0.3010664200934506,-0.28715593402238226,-0.27530893244761384,-0.26511460291580613,-0.2562400697701608,-0.2484462535293404,-0.2415400686487101,-0.23535300209024626,-0.22979560494357934,-0.22473741346585765,-0.22013332980471811},
{0.5951609455505481,-0.45043378470556544,-0.6163400253777767,-0.5563279604281143,-0.4853986086813146,-0.42982149087081006,-0.3846890269587171,-0.35251713923847583,-0.3361124381338292,-0.31742711312141036,-0.30096610663935264,-0.2870605334200145,-0.27521829383229346,-0.2650283076570127,-0.2561576577139552,-0.24836729112793898,-0.24146417710165513,-0.23527986193272066,-0.22972493348942186,-0.22466897944666026,-0.22006692507617576},
{0.5906117018825595,-0.4520755234218656,-0.6168027739632799,-0.5563610912839027,-0.48531581955934844,-0.4297091782649334,-0.38455335177251326,-0.3524233461925577,-0.33601785187735855,-0.3173234179236245,-0.3008658287437677,-0.2869651804189042,-0.27512770743356885,-0.26494206651917473,-0.2560753001539362,-0.24828838289539817,-0.24138833904762858,-0.2352067744206356,-0.22965431375456444,-0.22460059618801104,-0.22000057015347702},
{0.5860696956052552,-0.45371228093415816,-0.6172622709317539,-0.5563929061256084,-0.48523248038649935,-0.4295966268723729,-0.384417698826784,-0.35232993196985973,-0.3359231118583863,-0.3172197216310434,-0.30076558678735343,-0.286869875258418,-0.275037173425831,-0.2648558796317519,-0.2559929971906561,-0.2482095289121476,-0.24131255455233136,-0.23513373960839495,-0.22958374578456558,-0.22453226372837534,-0.2199342650693229},
{0.5815349290362426,-0.4553440728076583,-0.6177185307833898,-0.5564234126434912,-0.4851485951131442,-0.42948383888487707,-0.38428207006937537,-0.3522368999055767,-0.33582821993558115,-0.3171160250022331,-0.3006653811471459,-0.2867746181753843,-0.27494669198162414,-0.2647697471226969,-0.2559107489233971,-0.24813072925755075,-0.24123682368050364,-0.23506075754952663,-0.2295132296242046,-0.2244639821055211,-0.2198680098557538},
{0.5770074044066787,-0.45697091447030436,-0.6181715679598027,-0.55645261848668,-0.4850641676658351,-0.4293708164799725,-0.38414646741042663,-0.35214425293833873,-0.33573317795830027,-0.3170123287885888,-0.300565212196644,-0.28667940940414316,-0.27485626327165663,-0.264683669118507,-0.2558285554502225,-0.2480519840098973,-0.2411611464959529,-0.23498782829674658,-0.229442765317522,-0.22439575135651096,-0.2198018045441629},
{0.5724871238617799,-0.45859282121396094,-0.6186213968442338,-0.5564805312633885,-0.48497920194745775,-0.42925756182108166,-0.38401089272292377,-0.3520519936135523,-0.3356379877664821,-0.3169086337343668,-0.30046508030576935,-0.28658424917653114,-0.27476588746482433,-0.264597645744179,-0.2557464168679444,-0.24797329324640294,-0.24108552306152115,-0.2349149519018912,-0.22937235290773123,-0.22432757151769578,-0.21973564916527813},
{0.5679740894613414,-0.46020980819564533,-0.6190680317617748,-0.5565071585411581,-0.4848937018373742,-0.42914407705759167,-0.3838753478432603,-0.351960124087513,-0.33554265119057836,-0.31680494057678343,-0.30036498584096105,-0.2864891377219678,-0.2746755647282186,-0.2645116771232858,-0.25566433327216875,-0.24789465704324504,-0.24100995343915527,-0.23484212841598204,-0.2293019924373504,-0.22425944262474296,-0.21966954374920727},
{0.563468303180248,-0.4618218904387449,-0.6195114869795643,-0.5565325078470374,-0.4848076711915533,-0.42903036432495706,-0.38373983457180794,-0.35186864613216273,-0.33544717005145613,-0.31670125004603367,-0.30026492916515796,-0.28639407526740795,-0.27458529522713326,-0.2644257633779261,-0.2555823047572838,-0.24781607547553525,-0.24093443768984196,-0.23476935788920844,-0.22923168394811716,-0.2241913647126161,-0.21960348832538434},
{0.5589697669089821,-0.46342908283425055,-0.6199517767070063,-0.5565565866678311,-0.4847211138427332,-0.42891642574479055,-0.383604354673455,-0.3517775611405155,-0.33535154616032614,-0.3165975628653769,-0.3001649106378521,-0.28629906203742556,-0.27449507912508075,-0.26433990462877255,-0.25550033141646417,-0.24773754861735015,-0.24085897587365984,-0.23469664037091498,-0.22916142748099078,-0.2241233378155838,-0.21953748292262704},
{0.5544784824541328,-0.4650314001419892,-0.6203889150959783,-0.5565794024502903,-0.48463403360053586,-0.4288022634249408,-0.38346890987815074,-0.35168687013267036,-0.33525578131867484,-0.3164938797511847,-0.30006493061510925,-0.28620409825420823,-0.2744049165838163,-0.26425410099507496,-0.2554184133417003,-0.2476590765417386,-0.24078356804977735,-0.23462397590965117,-0.22909122307624485,-0.224055361967266,-0.21947152756911487},
{0.5499944515389009,-0.4666288569918601,-0.6208229162410307,-0.5566009626013244,-0.484546434251633,-0.4286878794595976,-0.38333350188146803,-0.3515965737623432,-0.3351598773181842,-0.31639020141300556,-0.29996498944959527,-0.28610918413759956,-0.2743148077633424,-0.26416835259466714,-0.2553365506238031,-0.2475806593207319,-0.24070821427645794,-0.234551364553148,-0.2290210707733725,-0.22398743720057374,-0.21940562229241306},
{0.545517675803606,-0.46822146788508634,-0.6212537941796097,-0.556621274488233,-0.48445831955987034,-0.428573275929361,-0.383198132345089,-0.35150667232392646,-0.33506383594067607,-0.3162865285536305,-0.2998650874906115,-0.28601431990510806,-0.27422475282190867,-0.26408265954398746,-0.2552547433523927,-0.24750229702532878,-0.24063291461106892,-0.23447880634832513,-0.22895097061114944,-0.22391956354776668,-0.21933976711945385},
{0.5410481568061795,-0.46980924719545125,-0.6216815628922483,-0.556640345438891,-0.4843696932664103,-0.42845845490134465,-0.3830628028973727,-0.3514171657599712,-0.3349676589580377,-0.31618286186912975,-0.2997652250841144,-0.28591950577195546,-0.274134751916051,-0.2639970219580682,-0.2551729916159309,-0.24742398972553203,-0.2405576691100787,-0.23440630134131296,-0.22888092262762544,-0.22385174104043126,-0.2192739620765554},
{0.5365858960226738,-0.4713922091705564,-0.6221062363027858,-0.5566581827419792,-0.4842805590898695,-0.4283434184292554,-0.38292751513383205,-0.35132805366909586,-0.3348713481321657,-0.31607920204892215,-0.29966540257273583,-0.28582474195105934,-0.2740448052005756,-0.2639114399505671,-0.25509129550171167,-0.24734573749032207,-0.2404824778290749,-0.23433384957742945,-0.22881092686012483,-0.223783969709487,-0.21920820718941914},
{0.532130894847753,-0.4729703679330706,-0.6225278282785677,-0.556674793647177,-0.48419092072645165,-0.42822816855347917,-0.3827922706176835,-0.35123933531425544,-0.33477490521492637,-0.3159755497758437,-0.29956562029584527,-0.28573002865312047,-0.2739549128286029,-0.2638259136337737,-0.25500965509589074,-0.24726754038771984,-0.2404073408227677,-0.23426145110122415,-0.22874098334526635,-0.22371624958521913,-0.21914250248316644},
{0.5276831545951883,-0.47454373748198597,-0.6229463526306527,-0.5566901853653733,-0.4841007818500943,-0.4281127073011749,-0.38265707088032735,-0.3511510096313294,-0.3346783319480831,-0.3158719057261884,-0.29946587858952833,-0.2856353660865957,-0.27386507495155266,-0.263740443118616,-0.2549280704834679,-0.24718939848472962,-0.24033225814498604,-0.23418910595645576,-0.22867109211894535,-0.2236485806972347,-0.2190768479822798},
{0.5232426764983529,-0.4761123316938744,-0.6233618231140132,-0.5567043650688732,-0.4840101461125872,-0.4279970366863379,-0.38252191742183733,-0.3510630752380013,-0.33458163006326,-0.3157682705697684,-0.2993661777866471,-0.2855407544577391,-0.27377529171917103,-0.26365502851466543,-0.25484654174832566,-0.2471113118473997,-0.24025722984870634,-0.2341168141861145,-0.22860125321636082,-0.22358096307450626,-0.21901124371066655},
{0.5188094617107125,-0.4776761643241486,-0.6237742534277492,-0.556717339891603,-0.483919017143724,-0.4278811587099153,-0.3823868117114701,-0.3509755304428994,-0.33448480128190033,-0.31566464496998564,-0.2992665182168619,-0.2854461939706469,-0.273685563279538,-0.26356966993016856,-0.2547650689732176,-0.24703328054078671,-0.2401822559860433,-0.23404457583241384,-0.22853146667201868,-0.22351339674538717,-0.21894568969165393},
{0.5143835113063129,-0.4792352490083183,-0.6241836572152821,-0.5567291169293226,-0.4838273985514255,-0.42776507535986785,-0.38225175518813104,-0.3508883732549235,-0.334387847315208,-0.3155610295838549,-0.2991669002066402,-0.28535168482724926,-0.2735958897790798,-0.2634843674720199,-0.2546836522397694,-0.2469553046289969,-0.24010733660825062,-0.2339723909367972,-0.2284617325197067,-0.22344588173755503,-0.21888018594795092},
{0.5099648262802671,-0.4807895992632516,-0.6245900480645641,-0.5567397032398053,-0.4837352939218644,-0.42764878861125094,-0.3821167492608523,-0.3508016013927736,-0.3342907698641233,-0.31545742506209373,-0.2990673240793071,-0.2852572272273446,-0.27350627136258443,-0.2633991212458165,-0.25460229162850784,-0.24687738417516947,-0.2400324717657472,-0.23390025953996363,-0.22839205079255087,-0.22337841807808523,-0.21881473250171324},
{0.5055534075492392,-0.48233922848844146,-0.6249934395082817,-0.5567491058430588,-0.4836427068196223,-0.4275323004263261,-0.3819817953092846,-0.35071521229463837,-0.3341935706192914,-0.31535383204916523,-0.2989677901550507,-0.2851628213686499,-0.2734167081732114,-0.2633139313558413,-0.2545209872188711,-0.24679951924150215,-0.2399576615081097,-0.23382818168184527,-0.2283224215229795,-0.22331100579341695,-0.2187493293745031},
{0.5011492559519282,-0.4838841499672577,-0.6253938450240479,-0.5567573317215221,-0.48354964078779133,-0.4274156127546007,-0.3818468946841168,-0.3506292031279619,-0.3340962512610171,-0.31525025118332284,-0.29886829875096266,-0.2850684674467884,-0.27332720035249647,-0.2632287979050695,-0.25443973908918766,-0.2467217098892548,-0.2398829058840733,-0.23375615740164457,-0.22825284474274846,-0.22324364490936843,-0.21868397658730715},
{0.4967523722495472,-0.48542437686821244,-0.6257912780346168,-0.5567643878202547,-0.48345609934812483,-0.42729872753294706,-0.3817120487075703,-0.35054357079934195,-0.3339988134592408,-0.31514668309668303,-0.29876885018104715,-0.28497416565531974,-0.2732377480403806,-0.263143720995192,-0.2543585473167204,-0.2466439561787311,-0.2398082049415537,-0.23368418673781186,-0.22818332048293227,-0.22317633545114113,-0.21861867416056122},
{0.4923627571263026,-0.4869599222462206,-0.6261857519080741,-0.5567702810471579,-0.48336208600115854,-0.4271816466856655,-0.38157725867382075,-0.3504583119644589,-0.33390125887350874,-0.3150431284152607,-0.2986694447562672,-0.2848799161857893,-0.2731483513752045,-0.2630587007266191,-0.254277411977647,-0.24656625816933073,-0.23973355872764784,-0.23361226972805393,-0.22811384877395255,-0.22310907744333414,-0.2185534221141182},
{0.48798041118986796,-0.4884907990438582,-0.626577279958046,-0.5567750182731455,-0.48326760422633336,-0.42706437212456305,-0.381442525849461,-0.3503734230380677,-0.3338035891529665,-0.3149395877590482,-0.29857008278455793,-0.28478571922772444,-0.2730590104937387,-0.2629737371985084,-0.25419633314708845,-0.24648861591952065,-0.2396589672886426,-0.23354040640937013,-0.2280444296455465,-0.22304187090992952,-0.21848822046728486},
{0.48360533497186137,-0.49001702009261655,-0.6269658754438887,-0.5567786063323484,-0.483172657482137,-0.4269469057490487,-0.38130785147393387,-0.3502889002039741,-0.33370580593630184,-0.3148360617420273,-0.2984707645708385,-0.2846915749686477,-0.27296972553116966,-0.2628888305087186,-0.2541153108990887,-0.24641102948684107,-0.2395844306699872,-0.23346859681800528,-0.22797506312680133,-0.2229747158742877,-0.21842306923879629},
{0.47923752892831567,-0.491538598114161,-0.6273515515708967,-0.5567810520223249,-0.4830772492062175,-0.4268292494461871,-0.3811732367599362,-0.35020473942503266,-0.333607910851772,-0.3147325509722783,-0.29837149041706157,-0.28459748359414305,-0.2728804966211395,-0.26280398075390404,-0.25403434530667485,-0.2463334989279634,-0.2395099489163775,-0.23339684098952423,-0.2279057492461667,-0.22290761235922077,-0.21835796844686728},
{0.4748769934401482,-0.4930555457215858,-0.6277343214904975,-0.5567823621042316,-0.48298138281551833,-0.4267114050908089,-0.38103868289388465,-0.35012093645308767,-0.3335099055171472,-0.31462905605198366,-0.298272260622223,-0.284503445287837,-0.27279132389573363,-0.26271918802944333,-0.25395343644180385,-0.24625602429860322,-0.23943552207166552,-0.23332513895873974,-0.22783648803141976,-0.22284056038690053,-0.21829291810912993},
{0.4705237288136295,-0.494567875420661,-0.6281141983004488,-0.5567825433030407,-0.4828850617063995,-0.42659337454556734,-0.38090419103629647,-0.3500374868388758,-0.33341179153972134,-0.31452557757750094,-0.29817307548238536,-0.2844094602314156,-0.2727022074855031,-0.26263445242950295,-0.2538725843754034,-0.2461786056536337,-0.2393611501789461,-0.23325349075977347,-0.227767279509716,-0.22277355997893167,-0.21822791824270044},
{0.4661777352808506,-0.4960755996110857,-0.6284911950450366,-0.5567816023077113,-0.4827882892547561,-0.42647515966101784,-0.3807697623222228,-0.34995438594186745,-0.33331357051629246,-0.31442211613942134,-0.29807393529071774,-0.2843155286046888,-0.27261314751949367,-0.2625497740470129,-0.2537917891773903,-0.24610124304700942,-0.23928683328051775,-0.23318189642605114,-0.22769812370756226,-0.22270661115632828,-0.21816296886414896},
{0.4618390130001845,-0.4975787305877287,-0.6288653247152718,-0.5567795457713856,-0.48269106881615614,-0.4263567622757143,-0.3806353978616546,-0.34987162893999485,-0.3332152440331471,-0.3143186723226073,-0.2979748403374799,-0.28422165058555304,-0.2725241441252104,-0.262465152973703,-0.25371105091663937,-0.24602393653181523,-0.23921257141789687,-0.2331103559902874,-0.22762902065081903,-0.2226397139395198,-0.2180980699895},
{0.4575075620567472,-0.4990772805418785,-0.6292366002490897,-0.5567763803115943,-0.4825934037259517,-0.4262381842162522,-0.3805010987399004,-0.34978921083933184,-0.333116813666086,-0.31421524670624756,-0.2978757909101141,-0.2841278263500759,-0.27243519742868433,-0.26238058930009933,-0.25363036966104613,-0.2459466861602625,-0.23913836463183416,-0.23303886948450597,-0.2275599703647465,-0.22257286834837106,-0.2180332216342732},
{0.4531833824628644,-0.5005712615624732,-0.6296050345315372,-0.5567721125104206,-0.48249529729940754,-0.4261194272973806,-0.3803668660180116,-0.3497071264836019,-0.3330182809803704,-0.31411183986392177,-0.2977767872931832,-0.28403405607245014,-0.272346307554444,-0.2622960831155243,-0.25354974547747855,-0.24586949198369984,-0.2390642129623236,-0.23296743694006294,-0.22749097287396286,-0.22250607440218118,-0.21796842381344708},
{0.4488664741585195,-0.5020606856373443,-0.629970640394977,-0.5567667489147181,-0.48239675283181827,-0.4260004933220562,-0.3802327007331402,-0.34962537056358534,-0.3329196475307538,-0.31400845236362174,-0.29767782976846024,-0.28394033992504836,-0.2722574746255256,-0.26221163450811635,-0.2534691784318044,-0.24579235405259375,-0.23899011644856658,-0.23289605838760286,-0.22742202820246435,-0.22243933211964717,-0.2179036765414741},
{0.4445568370118155,-0.5035455646544418,-0.630333430619277,-0.5567602960362683,-0.4822977735986223,-0.42588138408151704,-0.38009860389894745,-0.3495439376264073,-0.33282091486147714,-0.31390508476782936,-0.29757891861492625,-0.28384667807844643,-0.2721686987635273,-0.26212724356484396,-0.2533886685889295,-0.24571527241658234,-0.23891607512904522,-0.2328247338571129,-0.22735313637364238,-0.22237264151894154,-0.21783897983229067},
{0.4402544708194312,-0.5050259104030621,-0.6306934179320033,-0.5567527603519845,-0.48219836285554596,-0.42576210135538806,-0.3799645765059773,-0.34946282208463375,-0.3327220845062759,-0.3138017376335541,-0.29748005410880185,-0.28375307070142375,-0.2720799800885766,-0.26204291037150707,-0.25330821601276443,-0.24563824712445087,-0.23884208904147336,-0.23275346337790637,-0.22728429741027567,-0.22230600261765027,-0.21777433369934085},
{0.43595937530706463,-0.5065017345750751,-0.6310506150086195,-0.5567441483040956,-0.482098523838693,-0.4256426469117003,-0.3798306195220056,-0.34938201822523923,-0.33262315798835757,-0.3136984115123876,-0.2973812365235493,-0.2836595179609881,-0.27199131871934823,-0.26195863501273936,-0.2532278207662493,-0.24556127822413265,-0.2387681582228327,-0.23268224697862827,-0.22721551133453333,-0.22223941543282558,-0.21770973815553107},
{0.43167155012989167,-0.5079730487661368,-0.63140503447267,-0.5567344663003233,-0.4819982597646834,-0.4255230225070248,-0.3796967338924409,-0.34930152021839583,-0.3325241368204458,-0.313595106950539,-0.2972824661299148,-0.28356602002239983,-0.2719027147731,-0.2618744175720285,-0.25314748291135725,-0.24548436576272945,-0.2386942827093556,-0.23261108468725936,-0.22714677816799506,-0.2221728799809604,-0.21764519321328524},
{0.42739099487300913,-0.5094398644769036,-0.6317566888959804,-0.5567237207140768,-0.48189757383076,-0.42540322988650053,-0.37956292054065455,-0.34922132212607643,-0.33242502250474987,-0.3134918244888932,-0.297183743195938,-0.28347257704916395,-0.27181416836564004,-0.26179025813172374,-0.2530672025091077,-0.24540750978651776,-0.2386204625365451,-0.23253997653112535,-0.22707809793162992,-0.22210639627799267,-0.21758069888450826},
{0.42311770905188123,-0.5109021931142395,-0.6321055907988431,-0.5567119178846246,-0.48179646921490504,-0.4252832707839312,-0.3794291803683685,-0.34914141791050823,-0.3323258165330132,-0.3133885646630723,-0.29708506798699685,-0.28337918920308613,-0.2717256796113916,-0.2617061567730408,-0.2529869796195646,-0.2453307103409599,-0.23854669773919082,-0.23246892253690893,-0.2270094706458367,-0.22203996433933326,-0.21751625518061934},
{0.41885169211278395,-0.5123600459924214,-0.6324517526502166,-0.5566990641172778,-0.48169494907597404,-0.4251631469218571,-0.37929551425598595,-0.34906180144239196,-0.33222652038648914,-0.3132853280034532,-0.29698644076578995,-0.2832858566442461,-0.2716372486233456,-0.26162211357605936,-0.25290681430184303,-0.24525396747067557,-0.23847298835133485,-0.23239792273063004,-0.22694089633039732,-0.22197358417983587,-0.21745186211253392},
{0.41459294343324793,-0.5138134343343304,-0.6327951868679011,-0.5566851656835734,-0.4815930165537818,-0.42504286001160385,-0.3791619230629509,-0.34898246650896536,-0.3321271355359832,-0.31318211503524135,-0.2968878617923991,-0.28319257953105903,-0.271548875513134,-0.26153812861976133,-0.25282670661414436,-0.24517728121951193,-0.23839933440633865,-0.23232697713767764,-0.22687237500454682,-0.22190725581384418,-0.21738751969069303},
{0.41034146232249796,-0.5152623692726457,-0.633135905818744,-0.5566702288214572,-0.4814906747692466,-0.4249224117533919,-0.3790284076280778,-0.34890340682184856,-0.3320276634418533,-0.31307892627850664,-0.2967893313242853,-0.28309935802025166,-0.2714605603909825,-0.2614542019820153,-0.25274665661372847,-0.24510065163048186,-0.23832573593683287,-0.23225608578281218,-0.22680390668691314,-0.22184097925516416,-0.21732322792505293},
{0.406097248021889,-0.5167068618510298,-0.6334739218188172,-0.5566542597354582,-0.4813879268244823,-0.4248018038363704,-0.3788949687698953,-0.34882461602468856,-0.3319281055540138,-0.3129757622482169,-0.29669084961630865,-0.2830061922668854,-0.27137230336575063,-0.26137033373957563,-0.25266666435691376,-0.24502407874580498,-0.23825219297474132,-0.23218524869013518,-0.22673549139556737,-0.22177475451705414,-0.21725898682506595},
{0.4018602997053457,-0.5181469230253023,-0.6338092471336145,-0.5566372645968597,-0.48128477580291384,-0.42468103793871315,-0.3787616072869858,-0.3487460877006096,-0.33182846331198995,-0.31287262345431543,-0.29659241692077426,-0.28291308242439284,-0.2712841045449408,-0.26128652396812246,-0.25258672989912934,-0.24494756260692546,-0.23817870555128984,-0.23211446588315537,-0.2266671291480031,-0.22170858161228119,-0.217194796399727},
{0.3976306164797938,-0.5195825636646216,-0.6341418939782353,-0.5566192495438865,-0.4811812247694125,-0.4245601157276815,-0.37862832395832025,-0.3486678153794615,-0.331728738144905,-0.31276951040173817,-0.29649403348742615,-0.2828200286445726,-0.27119596403471435,-0.26120277274225956,-0.25250685329489964,-0.2448711032544933,-0.23810527369703477,-0.23204373738474365,-0.22659881996116527,-0.22164246055308404,-0.21713065665756312},
{0.39340819738559407,-0.52101379455264,-0.6344718745175686,-0.5566002206818782,-0.48107727677037726,-0.42443903885967815,-0.37849511954355436,-0.34858979254481315,-0.3316289314715062,-0.3126664235904732,-0.29639569956346934,-0.2827270310776047,-0.27110788193986335,-0.26111908013548757,-0.2524270345978197,-0.24479470072836756,-0.23803189744180098,-0.23197306321713446,-0.22653056385141127,-0.22157639135116214,-0.21706656760660484},
{0.38919304139697125,-0.5224406263886672,-0.6347992008664869,-0.5565801840834589,-0.48097293483386516,-0.4243178089803439,-0.3783619947833755,-0.34851201264080844,-0.33152904470020444,-0.31256336351559355,-0.2962974153936082,-0.28263408987206284,-0.27101985836387404,-0.26103544622026154,-0.25234727386061195,-0.2447183550676395,-0.2379585768147618,-0.23190244340197966,-0.22646236083456045,-0.22151037401775125,-0.21700252925443325},
{0.38498514742244394,-0.5238630697888216,-0.6351238850900256,-0.5565591457887233,-0.48086820196969776,-0.42419642772461064,-0.3782289503998025,-0.34843446907876,-0.33142907922907683,-0.3124603306673194,-0.2961991812200615,-0.2825412051749546,-0.2709318934089111,-0.26095187106797957,-0.2522675711351065,-0.24464206631064783,-0.23788531184441256,-0.23183187796030952,-0.2263942109258955,-0.22144440856355485,-0.2169385416081659},
{0.38078451430524907,-0.5252811352871795,-0.6354459392035772,-0.5565371118053946,-0.4807630811695594,-0.42407489671676235,-0.37809598709651515,-0.3483571552435505,-0.3313290364459176,-0.31235732553105233,-0.2961009972825729,-0.28244837713169296,-0.2708439871758229,-0.26086835474898307,-0.2521879264722614,-0.24456583449495023,-0.2378121025585582,-0.23176136691255533,-0.22632611414012488,-0.22137849499878093,-0.21687460467445946},
{0.3765911408237688,-0.526694833336904,-0.6357653751730655,-0.5565140881090017,-0.48065757540712645,-0.42395321757052595,-0.37796310555914703,-0.3482800644997943,-0.33122891772822427,-0.312254348587404,-0.2960028638184212,-0.2823556058861241,-0.27075613976415225,-0.2607848973325616,-0.2521083399221345,-0.24448965965734726,-0.2377389489843418,-0.23169091027853111,-0.22625807049141866,-0.22131263333311824,-0.2168107184595086},
{0.3724050256919513,-0.5281041743113828,-0.6360822049151391,-0.5564900806430545,-0.4805516876381687,-0.4238313918891071,-0.377830306455592,-0.3482031901978604,-0.3311287244432734,-0.3121514003122789,-0.2959047810624881,-0.2822628915805817,-0.2706683512721684,-0.26070149888699784,-0.25202881153395723,-0.24441354183391614,-0.23766585114826244,-0.23162050807749823,-0.2261900799934326,-0.22124682357581144,-0.21674688296907088},
{0.36822616755973087,-0.529509168505349,-0.6363964402973512,-0.5564650953192125,-0.4804454208006415,-0.42370942126529004,-0.3776975904363017,-0.3481265256796052,-0.33102845794811475,-0.312048481176868,-0.29580674924722017,-0.28217023435581956,-0.27058062179684467,-0.2606181594795115,-0.2519493413560586,-0.24433748105994552,-0.2375928090761364,-0.23155016032807327,-0.22612214265925212,-0.22118106573556853,-0.2166830982084242},
{0.3640545650134498,-0.5309098261359946,-0.6367080931383425,-0.5564391380174606,-0.48033877781481527,-0.4235873072814802,-0.37756495813458185,-0.34805006428394114,-0.330928119589609,-0.3119455916477274,-0.29570876860266576,-0.2820776343510899,-0.2704929514338906,-0.26053487917633256,-0.2518699294359396,-0.24426147737002096,-0.23751982279313383,-0.23147986704833734,-0.22605425850145602,-0.22111535982063185,-0.21661936418243735},
{0.3598902165762719,-0.5323061573440808,-0.6370171752080264,-0.5564122145862584,-0.4802317615833612,-0.4234650515097792,-0.3774324101668893,-0.34797379935220224,-0.3308277107044788,-0.311842732186816,-0.295610839356529,-0.2819850917041339,-0.2704053402777602,-0.260451658042665,-0.25179057582024433,-0.24418553079798194,-0.2374468923237976,-0.2314096282557651,-0.2259864275320989,-0.22104970583876055,-0.21655568089548738},
{0.3557331207086015,-0.5336981721950359,-0.637323698227769,-0.5563843308427225,-0.4801243749914823,-0.4233426555120554,-0.3772999471331247,-0.3478977242332847,-0.3307272326192979,-0.31173990325150663,-0.29551296173412533,-0.2818926065511752,-0.2703177884216374,-0.26036849614270624,-0.2517112805547791,-0.24410964137693972,-0.23737401769199484,-0.23133944396724868,-0.22591864976269607,-0.2209841037972255,-0.2164920483515581},
{0.35158327580848936,-0.535085880680049,-0.6376276738705734,-0.5563554925727994,-0.4800166209069926,-0.4232201208399923,-0.37716756961689285,-0.34782183228860764,-0.33062668665057915,-0.31163710529468114,-0.2954151359584736,-0.2818001790269774,-0.27023029595748804,-0.2602853935396719,-0.2516320436845175,-0.24403380913927547,-0.23730119892098084,-0.23126931419913177,-0.22585092520425212,-0.2209185537028413,-0.21642846655416126},
{0.34744068021205404,-0.5364692927171512,-0.6379291137612559,-0.5563257055314109,-0.47990850218043735,-0.4230974490351688,-0.37703527818580806,-0.3477461168968614,-0.33052607410476953,-0.3115343387647157,-0.29531736225024896,-0.28170780926480676,-0.27014286297603735,-0.26020235029578503,-0.2515528652535973,-0.24395803411667627,-0.23722843603337468,-0.23119923896718003,-0.22578325386727152,-0.22085305556194584,-0.21636493550638336},
{0.34330533219388204,-0.5378484181522944,-0.6382280294766309,-0.5562949754426441,-0.47980002164519375,-0.422974641629122,-0.376903073391746,-0.34767057145854513,-0.3304253962782844,-0.3114316041055516,-0.29521964082783353,-0.28161549739645936,-0.2700554895667677,-0.2601193664722685,-0.2514737453053351,-0.24388231634008678,-0.23715572905114835,-0.23112921828658456,-0.22571563576171788,-0.22078760938038922,-0.2163014552108764},
{0.3391772299674405,-0.5392232667604174,-0.6385244325456911,-0.5562633079998944,-0.4796911821175613,-0.42285170014340256,-0.3767709557711499,-0.34759518940037093,-0.3303246544575812,-0.3113289017567429,-0.2951219719073397,-0.2815232435522829,-0.2699681758179836,-0.2600364421293948,-0.2513946838822409,-0.24380665583977248,-0.23708307799567663,-0.23105925217198914,-0.22564807089707883,-0.22072221516358967,-0.21623802566984818},
{0.3350563716854828,-0.5405938482465003,-0.6388183344497819,-0.5562307088660335,-0.4795819863968944,-0.4227286260896521,-0.3766389258452782,-0.3475199641794049,-0.3302238499191448,-0.3112262321534722,-0.29502435570261665,-0.28143104786117834,-0.2698809218167717,-0.25995357732646773,-0.2513156810260068,-0.24373105264528144,-0.23701048288770094,-0.23098934063748555,-0.22558055928232684,-0.22065687291648284,-0.21617464688510712},
{0.33094275544044954,-0.5419601722466252,-0.639109746622788,-0.556197183673585,-0.479472437265672,-0.4226054209696387,-0.3765069841204627,-0.34744488928705863,-0.33012298392958056,-0.31112359572660164,-0.294926792425268,-0.281338910450622,-0.2697937276490098,-0.25987077212182125,-0.25123673677752056,-0.24365550678547437,-0.23693794374735344,-0.23091948369661655,-0.2255131009259333,-0.2205915826435519,-0.21611131885799745},
{0.3268363792648725,-0.5433222483290098,-0.6393986804513012,-0.5561627380248663,-0.47936253748961793,-0.42248208627536177,-0.3763751310883957,-0.34736995825291206,-0.3300220577456017,-0.3110209929027198,-0.29482928228467375,-0.281246831446654,-0.2697065933994065,-0.25978802657284505,-0.2511578511768814,-0.24358001828852255,-0.2368654605941475,-0.23084968136236725,-0.22544569583586896,-0.22052634434884197,-0.21604804158946245},
{0.3227372411317756,-0.5446800859950411,-0.6396851472748063,-0.556127377492167,-0.4792522898177911,-0.42235862348906755,-0.37624336722635343,-0.3472951646483018,-0.32992107261409664,-0.31091842410415443,-0.2947318254880008,-0.28115481097389916,-0.2696195191514806,-0.2597053407359795,-0.25107902426338535,-0.24350458718190326,-0.2367930334470129,-0.23077993364718838,-0.22537834401963697,-0.22046115803592797,-0.21598481508001693},
{0.31864533895507163,-0.5460336946803065,-0.6399691583858591,-0.5560911076178969,-0.47914169698268894,-0.4222350340833466,-0.37611169299749775,-0.3472205020898258,-0.32982002977217806,-0.3108158897490533,-0.2946344222402507,-0.2810628491555897,-0.26953250498760406,-0.2596227146667441,-0.2510002560755599,-0.2434292134924293,-0.23672066232426212,-0.23071024056299438,-0.22531104548424255,-0.2203960237079542,-0.2159216393297477},
{0.31456067058995796,-0.5473830837556051,-0.6402507250302562,-0.5560539339147494,-0.4790307617003571,-0.42211131952118436,-0.3759801088510958,-0.3471459642425508,-0.3297189304471942,-0.3107133902513719,-0.2945370727442167,-0.2809709461135472,-0.26944555098896866,-0.25954014841969947,-0.2509215466511276,-0.2433538972462167,-0.2366483472436061,-0.23064060212115783,-0.22524380023618418,-0.22033094136761205,-0.21585851433833098},
{0.3104832338333141,-0.5487282625279536,-0.6405298584072112,-0.5560158618658575,-0.4789194866704737,-0.4219874812560087,-0.37584861522277413,-0.34707154482319835,-0.32961777585679924,-0.31061092602096796,-0.2944397772005708,-0.2808791019682343,-0.2693586572356388,-0.25945764204852534,-0.25084289602707055,-0.24327863846875328,-0.23657608822219645,-0.23057101833254662,-0.2251766082815296,-0.22026591101717044,-0.21579544010503732},
{0.30641302642409163,-0.5500692402415859,-0.640806569669539,-0.555976896924953,-0.47880787457645124,-0.4218635207317695,-0.3757172125347663,-0.3469972376030168,-0.3295165672089815,-0.31050849746357445,-0.29434253580783265,-0.2807873168387117,-0.26927182380651105,-0.2593751956059452,-0.2507643042395795,-0.24320343718481624,-0.23650388527657196,-0.23050148920746502,-0.22510946962581557,-0.22020093265844515,-0.2157324166287014},
{0.3023500460437081,-0.551406026078949,-0.6410808699238211,-0.5559370445165317,-0.47869592808553685,-0.42173943938298736,-0.37558590119615753,-0.34692303641062117,-0.3294153057020987,-0.3104061049808876,-0.2942453487623943,-0.2806955908426889,-0.26918505077938276,-0.2592928091438008,-0.25068577132408343,-0.24312829341854864,-0.2364317384226901,-0.23043201475574085,-0.22504238427415513,-0.22013600629282762,-0.21566944390776688},
{0.2982942903164338,-0.552738629161671,-0.6413527702305858,-0.5558963100359842,-0.47858364984890545,-0.4216152386348171,-0.37545468160311846,-0.3468489351345844,-0.3293139925249418,-0.31030374897058277,-0.294148216258567,-0.28060392409652335,-0.269098338230902,-0.2592104827130148,-0.2506072973152683,-0.24305320719343898,-0.23635964767594636,-0.2303625949866402,-0.22497535223116139,-0.2200711319212792,-0.21560652194025026},
{0.29424575680977766,-0.5540670585515451,-0.6416222816044788,-0.5558546988497809,-0.4784710425017666,-0.42149091990311116,-0.37532355413916707,-0.3467749277259414,-0.32921262885677316,-0.3102014298263478,-0.29405113848855113,-0.28051231671520693,-0.2690116862366108,-0.2591282163636296,-0.25052888224706704,-0.24297817853232145,-0.23628761305114598,-0.2302932299089533,-0.22490837350099646,-0.2200063095443348,-0.21554365072379947},
{0.2902044430348804,-0.555391323251481,-0.6418894150144353,-0.5558122162956031,-0.47835810866344236,-0.4213664845944618,-0.3751925191753521,-0.34670100820050054,-0.3291112158673586,-0.31009914793793636,-0.29395411564250445,-0.2804207688124204,-0.26892509487095545,-0.2590460101448007,-0.2504505261526653,-0.24290320745739197,-0.23621563456254546,-0.230223919530943,-0.2248414480873694,-0.2199415391621221,-0.215480830255633},
{0.28617034644688966,-0.5567114322064655,-0.6421541813838566,-0.555768867682505,-0.4782448509374796,-0.42124193410628563,-0.3750615770705254,-0.34662717064102977,-0.3290097547170252,-0.3099969036911838,-0.29385714790849904,-0.2803292805004909,-0.26883856420727337,-0.25896386410479066,-0.2503722290645096,-0.24282829399020456,-0.23614371222382086,-0.2301546638603645,-0.22477457599350725,-0.21987682077432577,-0.21541806053258025},
{0.2821434644453461,-0.5580273943045051,-0.6424165915907802,-0.5557246582910756,-0.4781312719117376,-0.42111726982686337,-0.3749307281715503,-0.34655340919931,-0.3289082465567166,-0.30989469746804726,-0.2937602354726033,-0.2802378518904471,-0.26875209431782154,-0.258881778291002,-0.25029399101431726,-0.24275343815168648,-0.23607184604809955,-0.23008546290449933,-0.22470775722221714,-0.21981215438024038,-0.21535534155109573},
{0.27812379437456447,-0.5593392183775593,-0.6426766564680512,-0.5556795933735716,-0.4780173741584687,-0.4209924931353962,-0.3747999728135294,-0.3464797180980336,-0.328806692528007,-0.3097925296466514,-0.2936633785188443,-0.2801464830919938,-0.26866568527377255,-0.25879975274996325,-0.25021581203307375,-0.24267863996211808,-0.23600003604795075,-0.23001631667009417,-0.22464099177582458,-0.2197475399787318,-0.2152926733072124},
{0.2741113335240093,-0.560646913202467,-0.6429343868034917,-0.5556336781540762,-0.47790316023444196,-0.4208676054020788,-0.3746693113200283,-0.34640609163257124,-0.32870509376317536,-0.3096904006012906,-0.2935665772292392,-0.2800551742135185,-0.2685793371452203,-0.2587177875273356,-0.2501376921510392,-0.24260389944117172,-0.23592828223537654,-0.22994722516342359,-0.22457427965621618,-0.21968297756825167,-0.21523005579661011},
{0.27010607912867457,-0.5619504875018607,-0.6431897933400754,-0.5555869178286558,-0.4777886326810098,-0.4207426079881367,-0.3745387440032918,-0.34633252417265176,-0.3286034513852587,-0.3095883107025308,-0.29346983178384767,-0.2799639253621562,-0.26849305000121454,-0.25863588266794413,-0.250059631397778,-0.24252921660790555,-0.23585658462186623,-0.22987818839027593,-0.22450762086485915,-0.21961846714687833,-0.2151674890145795},
{0.2661080283694573,-0.5632499499450799,-0.6434428867760924,-0.5555393175654985,-0.47767379402420784,-0.4206175022458989,-0.37440827116444275,-0.3462590101638614,-0.32850176650806984,-0.30948626031716425,-0.29337314236072315,-0.2798727366437237,-0.2684068239097316,-0.25855403821575573,-0.2499816298021153,-0.24245459148074117,-0.23578494321833043,-0.22980920635593488,-0.22444101540274708,-0.21955400871225134,-0.21510497295602807},
{0.26211717837353044,-0.5645453091490604,-0.643693677765319,-0.555490882505076,-0.47755864677485016,-0.4204922895188471,-0.3742778930937215,-0.3461855441290338,-0.3284000402362721,-0.3093842498082872,-0.2932765091359745,-0.27978160816276154,-0.2683206589377071,-0.25847225421389514,-0.24990368739218977,-0.24238002407751413,-0.2357133580351622,-0.22974027906522687,-0.22437446327045768,-0.21948960226163558,-0.21504250761550753},
{0.2581335262147146,-0.5658365736792316,-0.6439421769171958,-0.5554416177602693,-0.477443193428615,-0.42036697114166943,-0.37414761007067654,-0.34611212066958763,-0.32829827366542247,-0.3092822795353324,-0.29317993228377826,-0.27969054002255894,-0.2682345551510373,-0.25839053070465623,-0.24982580419543282,-0.2423055144154388,-0.23564182908222445,-0.22967140652248919,-0.22430796446812878,-0.21942524779189568,-0.21498009298718185},
{0.25415706891385037,-0.5671237520503865,-0.6441883947969822,-0.5553915284165415,-0.4773274364661408,-0.4202415484403301,-0.3740174223643876,-0.3460387344666457,-0.32819646788199874,-0.30918034985408466,-0.293083411976371,-0.27959953232512924,-0.2681485126145893,-0.25830886772951384,-0.24974798023859066,-0.24223106251113924,-0.23557035636882773,-0.2296025887315816,-0.2242415189954754,-0.21936094529949357,-0.21491772906488235},
{0.250187803439161,-0.5684068527275615,-0.6444323419259327,-0.5553406195320627,-0.47721137835311567,-0.42011602273209686,-0.37388733023363685,-0.3459653802821498,-0.32809462396349387,-0.30907846111673487,-0.2929869483840911,-0.2795085851712504,-0.2680625313922075,-0.2582272653291107,-0.2496702155477084,-0.24215666838063626,-0.23549893990378584,-0.229533825695896,-0.22417512685178087,-0.21929669478051844,-0.2148554158420558},
{0.24622572670662518,-0.5696858841268877,-0.6446740287814607,-0.5552888961378684,-0.47709502154036243,-0.4199903953256246,-0.3737573339271385,-0.34589205295979036,-0.3279927429784193,-0.30897661367189017,-0.2928905416753702,-0.2794176986604354,-0.2679766115467208,-0.25814572354327575,-0.2495925101481543,-0.24208233203937662,-0.23542757969536576,-0.22946511741836612,-0.22410878803590595,-0.21923249623066143,-0.21479315331181598},
{0.24227083558033452,-0.5709608546164493,-0.6449134657973045,-0.5552363632379996,-0.47697836846392305,-0.4198646675209896,-0.3736274336837283,-0.34581874742586927,-0.3278908259863782,-0.3088748078646141,-0.2927941920167656,-0.279326872890977,-0.26789075313993704,-0.2580642424110374,-0.24951486406461032,-0.24200805350218843,-0.23535627575133172,-0.22939646390144175,-0.22404250254629066,-0.2191683496452403,-0.21473094146690758},
{0.2383231268728621,-0.5722317725171213,-0.6451506633637026,-0.5551830258096405,-0.476861421545154,-0.41973884060975664,-0.3734976297325533,-0.3457454586900939,-0.327788874038107,-0.3087730440364701,-0.2926978995729618,-0.27923610795992526,-0.2678049562326864,-0.2579828219706081,-0.24943727732108906,-0.24193383278335556,-0.23528502807891935,-0.2293278651471392,-0.2239762703809669,-0.21910425501918168,-0.21466878029973113},
{0.23438259734562245,-0.5734986461034017,-0.6453856318275413,-0.5551288888032768,-0.47674418319083095,-0.4196129158750356,-0.3733679222932844,-0.34567218184621107,-0.3276868881755477,-0.3086713225255414,-0.29260166450681635,-0.27914540396312726,-0.26771922088479894,-0.2579014622594225,-0.24935974994095084,-0.24185966989655283,-0.23521383668487517,-0.22925932115700046,-0.22391009153754737,-0.2190402123470463,-0.21460666980236465},
{0.2304492437092291,-0.5747614836042402,-0.6456183814925402,-0.5550739571428194,-0.4766266557931983,-0.4194868945915021,-0.3732383115762662,-0.345598912072618,-0.32758486943186343,-0.30856964366645845,-0.292505486979319,-0.27905476099520987,-0.2676335471551129,-0.2578201633141127,-0.24928228194686347,-0.2417855648549037,-0.23514270157542144,-0.22919083193212603,-0.2238439660132405,-0.218976221623016,-0.21454460996652058},
{0.2265230626238529,-0.576020293203846,-0.6458489226193996,-0.5550182357257603,-0.4765088417300888,-0.41936077802550775,-0.37310879778274303,-0.3455256446328282,-0.32748281883151803,-0.3084680077904378,-0.29240936714966015,-0.2789641791495945,-0.26754793510149366,-0.2577389251705298,-0.24920487336085617,-0.24171151767095486,-0.23507162275628657,-0.2291223974731545,-0.22377789380483398,-0.21891228284089784,-0.21448260078358902},
{0.22260405069958006,-0.5772750830424919,-0.6460772654259709,-0.554961729423302,-0.4763907433649799,-0.41923456743507015,-0.3729793811050142,-0.3454523748758884,-0.3273807373903016,-0.30836641522530783,-0.29231330517520837,-0.2788736585185019,-0.2674623847808323,-0.2576577478637519,-0.24912752420429377,-0.24163752835668484,-0.23500060023270575,-0.2290540177802999,-0.22371187490873518,-0.2188483959941523,-0.2144206422446319},
{0.21869220449676458,-0.5785258612173166,-0.6463034200874294,-0.5549044430805167,-0.47627236304711484,-0.41910826406997514,-0.3728500617266432,-0.34537909823673185,-0.32727862611541514,-0.3082648662955473,-0.292217301211559,-0.27878319919297,-0.2673768962490751,-0.25757663142807585,-0.24905023449791347,-0.24156359692352164,-0.23492963400940897,-0.22898569285331688,-0.22364590932093983,-0.21878456107583577,-0.21435873434036484},
{0.21478752052638048,-0.5797726357831039,-0.646527396736416,-0.5548463815164553,-0.4761537031115575,-0.4189818691718057,-0.372720839822615,-0.34530581023638385,-0.32717648600548943,-0.3081633613222942,-0.2921213554125063,-0.278692801262849,-0.26729146956119,-0.2574955758970405,-0.24897300426177904,-0.24148972338232577,-0.2348587240906368,-0.22891742269151508,-0.2235799970370358,-0.21872077807868115,-0.2142968770611814},
{0.21088999525037558,-0.5810154147530622,-0.6467492054632207,-0.5547875495243089,-0.47603476587929566,-0.4188553839739864,-0.3725917155595224,-0.34523250648219855,-0.32707431805065773,-0.3080619006234173,-0.29202546793009954,-0.27860246481683143,-0.26720610477121565,-0.2574145813034311,-0.2488958335153466,-0.24141590774342897,-0.23478787048016167,-0.22884920729381078,-0.22351413805225284,-0.21865704699504096,-0.21423507039717854},
{0.20699962508201708,-0.5822542060995914,-0.6469688563159339,-0.554727951871544,-0.4759155536573199,-0.4187288097018633,-0.37246268909572566,-0.3451591826679089,-0.32697212323259994,-0.3079604845134919,-0.29192963891462287,-0.27851218994242244,-0.2671208019322357,-0.25733364767926603,-0.24881872227741608,-0.24134215001659065,-0.23471707318124957,-0.22878104665863425,-0.22344833236138578,-0.21859336781691208,-0.21417331433808848},
{0.20311640638624218,-0.5834890177550401,-0.6471863593006053,-0.5546675933000406,-0.47579606873868885,-0.4186021475727192,-0.37233376058154916,-0.3450858345737031,-0.32686990252458314,-0.30785911330386345,-0.2918338685146329,-0.278421976725974,-0.2670355610964123,-0.257252775055822,-0.2487416705661729,-0.2412684502110377,-0.23464633219670167,-0.22871294078403182,-0.2233825799588765,-0.2185297405359493,-0.21411160887335423},
{0.1992403354800033,-0.5847198576124563,-0.6474017243814134,-0.554606478526201,-0.4756763134026367,-0.41847539879584245,-0.3722049301594127,-0.3450124580661855,-0.3267676568915394,-0.3077577873026653,-0.29173815687696425,-0.2783318252526888,-0.26695038231496965,-0.25717196346363197,-0.24866467839916806,-0.24119480833546164,-0.23457564752883858,-0.2286448896675956,-0.2233168808387616,-0.2184661651434421,-0.21404995399207716},
{0.19537140863261188,-0.585946733526329,-0.6476149614808209,-0.5545446122411407,-0.47555628991466786,-0.41834856457260355,-0.37207619796406277,-0.3449390490982956,-0.3266653872900963,-0.30765650681486334,-0.2916425041467397,-0.27824173560663773,-0.2668652656382321,-0.2570912129325005,-0.24858774579335635,-0.24112122439802042,-0.23450501917951821,-0.22857689330652864,-0.22325123499471172,-0.2184026416303404,-0.21398834968310126},
{0.191509622066081,-0.587169653313312,-0.6478260804797311,-0.5544819991107575,-0.4754360005265823,-0.4182216460964404,-0.37194756412264596,-0.3448656037091513,-0.32656309466862765,-0.3075552721422601,-0.29154691046737774,-0.2781517078707325,-0.26678021111558714,-0.25701052349148923,-0.24851087276504358,-0.2410476984063305,-0.23443444715011796,-0.22850895169757993,-0.22318564242001332,-0.21833916998724295,-0.21392679593489583},
{0.1876549719554675,-0.5883886247529507,-0.6480350912176517,-0.5544186437759194,-0.4753154474766188,-0.41809464455296463,-0.3718190287549422,-0.3447921180238477,-0.32646077996732914,-0.3074540835835203,-0.29145137598063103,-0.2780617421267635,-0.26669521879552743,-0.2569298951689404,-0.24843405932995222,-0.2409742303674975,-0.23436393144156115,-0.22844106483710275,-0.2231201031075729,-0.2182757502044103,-0.21386529273565413},
{0.1838074544292112,-0.589603655588395,-0.648242003492855,-0.554354550852576,-0.4751946329895006,-0.4179675611199993,-0.3716905919734974,-0.34471858825320123,-0.3263584441182485,-0.30735294143424385,-0.29135590082657653,-0.2779718384554119,-0.2666102887256506,-0.2568493279924798,-0.24835730550320545,-0.2409008202880967,-0.23429347205431317,-0.22837323272105012,-0.22305461704993634,-0.21821238227176987,-0.21380384007327152},
{0.179967065569471,-0.5908147535270997,-0.6484468270625319,-0.5542897249318853,-0.4750735592765231,-0.41784039696760533,-0.3715622538837712,-0.3446450106934359,-0.32625608804533845,-0.3072518459869246,-0.29126048514363434,-0.2778819969362225,-0.2665254209526657,-0.2567688219890208,-0.24828061129930262,-0.2408274681741797,-0.23422306898836898,-0.2283054553449479,-0.22298918423927025,-0.21814906617889143,-0.21374243793531145},
{0.1761338014124632,-0.59202192624152,-0.6486495716429509,-0.5542241705803539,-0.4749522285356455,-0.41771315325815783,-0.3714340145843231,-0.3445713817257975,-0.3261537126645119,-0.30715079753103924,-0.2911651290685753,-0.27779221764764345,-0.2664406155223787,-0.2566883771847517,-0.2482039767321641,-0.2407541740312979,-0.23415272224328043,-0.2282377327039206,-0.22292380466737372,-0.21808580191502824,-0.2136810863090597},
{0.17230765794879616,-0.5932251813697966,-0.6488502469096137,-0.5541578923399717,-0.474830642951553,-0.4175858311463716,-0.37130587416692196,-0.344497697816179,-0.3260513188837216,-0.3070497963530404,-0.2910698327365624,-0.27770250066703284,-0.266355872479742,-0.2566079936051904,-0.24812740181512855,-0.24068093786448946,-0.2340824318181644,-0.22817006479271498,-0.22285847832570332,-0.21802258946910247,-0.21361978518150188},
{0.16848863112380083,-0.5944245265164331,-0.6490488624974163,-0.5540908947283322,-0.47470880469575094,-0.4174584317793645,-0.3711778327167195,-0.3444239555146171,-0.32594890760295503,-0.3069488427363899,-0.2909745962811123,-0.2776128460706343,-0.2662711918688139,-0.2565276712751199,-0.24805088656092306,-0.24060775967826603,-0.2340121977116609,-0.2281024516056269,-0.22279320520531995,-0.21795942882969052,-0.21355853453930476},
{0.16467671683786334,-0.5956199692529606,-0.6492454280008039,-0.5540231822387766,-0.47458671592662205,-0.4173309562966986,-0.371049890312394,-0.3443501514548129,-0.325846479714341,-0.3068479369615852,-0.29087941983416954,-0.2775232539336203,-0.2661865737328025,-0.2564474102186621,-0.24797443098171956,-0.24053463947667342,-0.23394201992199223,-0.22803489313662323,-0.22272798529696314,-0.21789631998506773,-0.21349733436886809},
{0.16087191094675618,-0.5968115171185976,-0.6494399529739177,-0.553954759340501,-0.47446437878952885,-0.4172034058304369,-0.37092204702629905,-0.3442762823535707,-0.3257440361021682,-0.30674707930619394,-0.2907843035260633,-0.2774337243300764,-0.26610201811404793,-0.2563672104592384,-0.2478980350890937,-0.24046157726322914,-0.23387189844693523,-0.22796738937923444,-0.2226628185909966,-0.2178332629231712,-0.2134361846562749},
{0.15707420926196647,-0.5979991776209023,-0.6496324469307663,-0.5538856304787092,-0.47434179541688404,-0.4170757815051788,-0.37079430292460275,-0.34420234501020186,-0.3256415776429547,-0.3066462700448618,-0.2906892474855508,-0.27734425733301804,-0.2660175250540522,-0.2562870720195878,-0.24782169889406983,-0.24038857304097344,-0.23380183328383022,-0.22789994032661226,-0.222597705077444,-0.21777025763161673,-0.2133750853873405},
{0.15328360755101733,-0.5991829582364081,-0.6498229193453647,-0.5538158000747273,-0.4742189679282166,-0.4169480844381006,-0.3706666580674105,-0.34412833630589723,-0.3255391052054962,-0.30654550944935877,-0.2905942518398348,-0.2772548530143985,-0.2659330945934505,-0.2562069949217815,-0.24774542240708614,-0.240315626812438,-0.2337318244295805,-0.22783254597152452,-0.22253264474596682,-0.21770730409770883,-0.2133140365475583},
{0.1495001015378007,-0.6003628664112614,-0.6500113796518986,-0.5537452725261311,-0.47409589843026223,-0.416820315739028,-0.37053911250893506,-0.3440542532030565,-0.32543661965091003,-0.306444797788591,-0.2904993167145461,-0.277165511445118,-0.2658487267720618,-0.2561269791872127,-0.24766920563802447,-0.2402427385797,-0.2336618718806719,-0.22776520630635402,-0.22246763758589114,-0.2176444023084322,-0.2132530381221569},
{0.14572368690289395,-0.6015389095618382,-0.6501978372448688,-0.553674052206877,-0.4739725890170239,-0.4166924765104536,-0.37041166629760525,-0.3439800927445609,-0.32533412183270216,-0.3063441353286255,-0.2904044422337885,-0.2770762326950123,-0.26576442162885683,-0.2560470248366156,-0.24759304859621106,-0.24016990834431892,-0.23359197563317016,-0.22769792132311933,-0.2224026835862044,-0.2175815522504683,-0.21319209009607828},
{0.14195435928388597,-0.602711095075366,-0.650382301479259,-0.5536021434674206,-0.4738490417698593,-0.41656456784759843,-0.3702843194762081,-0.34390585205305724,-0.3252316125968045,-0.3062435223327233,-0.290309628520131,-0.276987016832875,-0.26568017920198633,-0.2559671318900528,-0.24751695129041362,-0.24009713610739203,-0.23352213568269156,-0.227630691013442,-0.2223377827355409,-0.2175187539101816,-0.2131311924539575},
{0.13819211427569517,-0.6038794303105226,-0.6505647816706701,-0.5535295506348543,-0.4737252587575662,-0.4164365908384756,-0.37015707208204357,-0.34383152833015407,-0.3251290927816316,-0.30614295906135924,-0.2902148756946255,-0.2768978639264727,-0.2655959995287874,-0.25588730036694673,-0.24744091372885446,-0.24002442186954032,-0.2334523520244628,-0.22756351536857786,-0.22227293502219966,-0.21745600727361908,-0.21307034518017834},
{0.13443694743089069,-0.6050439225980414,-0.6507452870954887,-0.5534562780130151,-0.47360124203642656,-0.41630854656387617,-0.37002992414700264,-0.3437571188556328,-0.3250265632181435,-0.3060424457722465,-0.2901201838768134,-0.2768087740425403,-0.2655118826457665,-0.2558075302860644,-0.2473649359192054,-0.23995176563091436,-0.23338262465328669,-0.22749639437942576,-0.22220814043415998,-0.2173933123265364,-0.21300954825881352},
{0.13068885426000454,-0.6062045792412952,-0.6509238269910245,-0.5533823298826228,-0.47347699365031554,-0.41618043609748856,-0.3699028756977387,-0.34368262098660585,-0.3249240247298821,-0.30594198272036305,-0.29002555318475826,-0.27671974724677934,-0.2654278285886406,-0.2557278216655201,-0.24728901786859991,-0.2398791673911947,-0.2333129535635484,-0.2274293280364795,-0.2221433989590385,-0.2173306690543782,-0.21294880167366656},
{0.12694783023185444,-0.6073614075168734,-0.6511004105556699,-0.5533077105013979,-0.4733525156307409,-0.41605226050588784,-0.3697759267557784,-0.3436080321566351,-0.32482147813303,-0.305841570157964,-0.289930983735028,-0.27663078360388926,-0.265343837392319,-0.2556481745228043,-0.24721315958363893,-0.23980662714959766,-0.2332433387492374,-0.22736231632992537,-0.22207871058416212,-0.2172680774423086,-0.2128881054082743},
{0.12321387077385253,-0.6085144146751632,-0.6512750469490531,-0.5532324241041804,-0.4732278099969415,-0.4159240208486006,-0.36964907733763586,-0.3435333498748758,-0.3247189242364641,-0.30574120833462803,-0.28983647564272674,-0.27654188317754774,-0.2652599090909211,-0.25556858887475525,-0.2471373610703784,-0.23973414490487843,-0.233173780203921,-0.22729535924953626,-0.2220140752965028,-0.2172055374751597,-0.21282745944588155},
{0.11948697127231574,-0.6096636079409082,-0.6514477452921784,-0.5531564749030609,-0.47310287875596013,-0.4157957181781633,-0.36952232745494923,-0.34345857172512456,-0.3246163638417896,-0.3056408974972523,-0.2897420290214953,-0.2764530460304283,-0.26517604371775827,-0.25548906473758237,-0.24706162233435836,-0.23966172065533023,-0.23310427792077693,-0.2272284567847475,-0.2219494930827056,-0.2171430491374909,-0.21276686376945722},
{0.11576712707278664,-0.6108089945137595,-0.651618514667583,-0.5530798670874835,-0.47297772390269793,-0.4156673535401272,-0.3693956771145949,-0.34338369536494207,-0.32451379774343503,-0.30554063789011254,-0.28964764398354415,-0.27636427222422766,-0.2650922413053953,-0.25540960212689373,-0.2469859433805911,-0.23958935439881024,-0.23303483189258883,-0.22716160892465564,-0.2218849639291214,-0.21708061241357343,-0.21270631836171647},
{0.11205433348033023,-0.6119505815688326,-0.651787364119485,-0.5530026048243922,-0.4728523474200044,-0.4155389279731569,-0.3692691263187866,-0.3433087185246406,-0.3244112267286591,-0.305440429754845,-0.28955332063962236,-0.2762755618196379,-0.26500850188559144,-0.25533020105765114,-0.24691032421356135,-0.23951704613270866,-0.2329654421117362,-0.2270948156579689,-0.22182048782174807,-0.21701822728736922,-0.21264582320508796},
{0.10834858575985336,-0.6130883762572381,-0.6519543026539294,-0.5529246922583334,-0.47272675127873254,-0.41541044250900916,-0.3691426750652185,-0.34323363900635695,-0.32430865157761396,-0.30534027333049973,-0.28945905909907466,-0.2761869148763706,-0.2649248254893475,-0.2552508615442137,-0.24683476483724817,-0.23944479585397876,-0.23289610857020943,-0.22702807697307786,-0.22175606474629714,-0.21695589374257154,-0.21258537828173657},
{0.10464987913640252,-0.6142223857066157,-0.6521193392389409,-0.5528461335115672,-0.47260093743781684,-0.41528189817262945,-0.36901632334714596,-0.3431584546830539,-0.324206073063404,-0.3052401688535413,-0.2893648594698277,-0.27609833145315954,-0.2648412121468947,-0.2551715836003136,-0.24675926525510905,-0.23937260355912574,-0.2328268312596029,-0.2269613928580039,-0.2216916946881432,-0.21689361176257385,-0.21252498357355007},
{0.100958208795473,-0.6153526170216584,-0.6522824828046663,-0.5527669326842215,-0.47247490784437285,-0.4151532959821824,-0.368890071153552,-0.34308316349754475,-0.32410349195214017,-0.3051401165579003,-0.2892707218584072,-0.2760098116077818,-0.2647576618877202,-0.25509236723910816,-0.24668382547010753,-0.2393004692442143,-0.23275761017114016,-0.22689476330044198,-0.22162737763236756,-0.21683138133049196,-0.2124646390621804},
{0.09727356988331211,-0.6164790772846234,-0.6524437422435247,-0.5526870938543558,-0.4723486644337013,-0.41502463694905445,-0.36876391846917683,-0.34300776346145856,-0.32400090900297385,-0.30504011667495934,-0.289176646369945,-0.27592135539704077,-0.2646741747405411,-0.25501321247312275,-0.2466084454846888,-0.23922839290488496,-0.23268844529565266,-0.22682818828773033,-0.22156311356373287,-0.2167692024291632,-0.21240434472898598},
{0.09359595750721983,-0.6176017735558409,-0.6526031264103489,-0.5526066210781322,-0.4722222091294221,-0.41489592207795545,-0.3686378652746878,-0.3429322526542501,-0.32389832496816967,-0.3049401694336022,-0.28908263310819204,-0.2758329628767833,-0.2645907507333335,-0.25493411931430593,-0.24653312530079724,-0.2391563745363312,-0.23261933662359136,-0.22676166780687082,-0.2214989024666899,-0.21670707504114242,-0.21234410055508074},
{0.08992536673584942,-0.6187207128742136,-0.6527606441225443,-0.5525255183899058,-0.47209554384351615,-0.41476715236693673,-0.36851191154676755,-0.34285662922218363,-0.3237957405931326,-0.3048402750602267,-0.2889886821755445,-0.2757446341019224,-0.26450738989334743,-0.254855087774003,-0.24645786491989718,-0.23908441413333426,-0.23255028414503415,-0.22669520184454595,-0.22143474432540977,-0.2166449991487126,-0.21228390652131598},
{0.08626179259950736,-0.6198359022577087,-0.6529163041602208,-0.5524437898023308,-0.4719686704763779,-0.41463832880740104,-0.3683860572582006,-0.34278089137728524,-0.32369315661648,-0.3047404337787619,-0.2888947936730274,-0.27565636912640584,-0.2644240922470823,-0.25477611786297344,-0.2463826643429476,-0.23901251169022922,-0.23248128784968838,-0.22662879038707995,-0.22137063912373053,-0.2165829747338867,-0.2122237626082849},
{0.08260523009044952,-0.6209473487038344,-0.6530701152663396,-0.552361439306498,-0.47184159091693767,-0.41450945238419956,-0.36826030237800234,-0.3427050373963243,-0.3235905737700732,-0.30464064581069394,-0.28880096770030683,-0.27556816800326445,-0.2643408578203139,-0.25469720959140313,-0.24630752357041896,-0.23894066720094964,-0.23241234772688024,-0.2265624334204846,-0.2213065868452161,-0.21652100177839065,-0.21216366879633586},
{0.078955674163178,-0.6220550591901263,-0.653222086146873,-0.552278470872041,-0.47171430704266226,-0.41438052407562853,-0.36813464687150377,-0.34262906561980144,-0.3234879927790888,-0.3045409113750971,-0.2887072043557509,-0.2754800307846042,-0.26425768663810423,-0.25461836296889456,-0.24623244260230598,-0.23886888065900347,-0.23234346376558745,-0.2264961309304381,-0.22124258747312914,-0.2164590802637069,-0.21210362506555952},
{0.07531311973473559,-0.6231590406746053,-0.6533722254709248,-0.5521948884472461,-0.471586820719673,-0.41425154485349464,-0.36800909070043597,-0.3425529744508916,-0.3233854143620448,-0.3044412306886287,-0.28861350373635575,-0.27539195752158546,-0.26417457872477806,-0.2545395780044689,-0.24615742143811042,-0.23879715205747346,-0.23227463595439826,-0.22642988290228774,-0.22117864099042442,-0.21639721017101782,-0.21204363139578739},
{0.07167756168499602,-0.6242593000962426,-0.6535205418708955,-0.5521106959591765,-0.471459133802789,-0.4141225156831476,-0.3678836338230611,-0.34247676235442226,-0.32328283923086826,-0.30434160396558385,-0.2885198659378373,-0.275303948264478,-0.2640915341039727,-0.25446085470659474,-0.2460824600768735,-0.2387254813890498,-0.2322058642815624,-0.22636368932108075,-0.2211147473797877,-0.21633539148127062,-0.21198368776662202},
{0.06804899485696225,-0.6253558443754125,-0.6536670439426117,-0.5520258973137644,-0.47133124813559696,-0.4139934375235135,-0.3677582761942252,-0.3424004278558572,-0.32318026809093714,-0.30424203141788064,-0.28842629105459133,-0.2752160030626152,-0.264008552798607,-0.25438219308315557,-0.24600755851714318,-0.23865386864600066,-0.23213714873495436,-0.226297550171511,-0.2210509066235984,-0.21627362417513377,-0.21192379415740936},
{0.064427414057049,-0.6264486804143339,-0.6538117402454692,-0.5519404963959519,-0.4712031655505311,-0.41386431132715823,-0.36763301776550084,-0.34232396954026,-0.32307770164111904,-0.30414251325510633,-0.28833277917971134,-0.27512812196445535,-0.2639256348308975,-0.2543035931414963,-0.24593271675701972,-0.2385823138201898,-0.23206848930210416,-0.2262314654379819,-0.2209871187039638,-0.2162119082330159,-0.21186395054725915},
{0.060812814055374906,-0.6275378150975139,-0.6539546393025933,-0.5518544970697781,-0.47107488786892304,-0.41373513804028594,-0.36750785848522227,-0.34224738605128174,-0.3229751405738607,-0.3040430496845361,-0.28823933040502225,-0.2750403050175471,-0.2638427802223773,-0.2542250548883902,-0.24585793479412268,-0.238510816903087,-0.23199988597018661,-0.22616543510457318,-0.22092338360270009,-0.21615024363506605,-0.21180415691503454},
{0.05720518958605096,-0.6286232552921744,-0.654095749600956,-0.5517679031785091,-0.4709464169010764,-0.41360591860283225,-0.36738279829861986,-0.34217067609014706,-0.3228725855751822,-0.3039436409111352,-0.28814594482106426,-0.274952552268549,-0.2637599889938776,-0.2541465783300692,-0.24578321262560893,-0.23843937788576192,-0.23193133872602195,-0.22609945915505003,-0.22085970130132854,-0.21608863036118325,-0.21174441323936494},
{0.05360453534746379,-0.6297050078486748,-0.6542350795915273,-0.5516807185447317,-0.47081775444631707,-0.4134766539484478,-0.36725783714788524,-0.34209383841463814,-0.3227700373247641,-0.303844287137595,-0.2880526225171133,-0.27486486376323943,-0.263677261165555,-0.2540681634722039,-0.24570855024818816,-0.2383679967588775,-0.23186284755608305,-0.22603353757286965,-0.22079607178112232,-0.21602706839100838,-0.2116847194986467},
{0.05001084600255995,-0.6307830796009307,-0.6543726376894254,-0.5515929469704748,-0.4706889022930848,-0.4133473450045807,-0.36713297497225406,-0.3420168718381153,-0.32266749649597615,-0.3037449885643457,-0.28795936358119506,-0.2747772395465033,-0.2635945967568898,-0.253989810319943,-0.24563394765811009,-0.23829667351272427,-0.2317944124465109,-0.22596767034118997,-0.22073249502305098,-0.21596555770392611,-0.21162507567103864},
{0.04642411617913181,-0.6318574773668189,-0.65450843227404,-0.5515045922373255,-0.4705598622189865,-0.4132179926925102,-0.36700821170812636,-0.34193977522849484,-0.322564963755942,-0.30364574538958494,-0.28786616810008414,-0.2746896796623837,-0.26351199578668744,-0.25391151887788155,-0.24555940485116556,-0.2382254081371813,-0.23172603338309333,-0.22590185744285426,-0.22066897100782182,-0.2159040982790782,-0.2115654817344742},
{0.04284434047009618,-0.6329282079485847,-0.654642471689189,-0.5514156581065021,-0.47043063599083695,-0.4130885979273374,-0.36688354728909855,-0.34186254750730183,-0.32246243976556854,-0.30354655780927625,-0.28777303615932426,-0.2746021841540377,-0.2634294582730773,-0.2538332891500814,-0.2454849218227067,-0.23815420062175896,-0.23165771035126922,-0.225836098860407,-0.22060549971586604,-0.21584269009534937,-0.21150593766664783},
{0.03927151343377444,-0.6339952781332316,-0.6547747642432421,-0.5513261483190195,-0.4703012253647637,-0.412959161618097,-0.3667589816460658,-0.34178518764867455,-0.3223599251796142,-0.30344742601719377,-0.28767996784322003,-0.274514753063766,-0.2633469842335398,-0.25375512114007864,-0.2454104985676368,-0.23808305095557863,-0.2315894433361687,-0.22577039457609144,-0.22054208112733764,-0.2157813331313892,-0.211446443445042},
{0.03570562959417285,-0.6350586946929088,-0.6549053182092726,-0.5512360665957428,-0.47017163208622725,-0.4128296846677341,-0.3666345147073218,-0.34170769467838924,-0.322257420646715,-0.3033483502049238,-0.2875869632348804,-0.2744273864330264,-0.26326457368488965,-0.25367701485088784,-0.2453361350804244,-0.23801195912738707,-0.23152123232257388,-0.22570474457186693,-0.22047871522214685,-0.21572002736559734,-0.2113869990469092},
{0.03214668344125984,-0.6361184643852986,-0.655034141825189,-0.551145416637528,-0.47004185789012154,-0.4127001679731776,-0.36651014639861557,-0.34163006767295245,-0.32215492680944835,-0.30324933056189485,-0.28749402241618893,-0.274340084302422,-0.2631822266433048,-0.2535989702849891,-0.2452618313550981,-0.23794092512554632,-0.2314530772949311,-0.2256391488293803,-0.22041540197991133,-0.21565877277612877,-0.2113276044492815},
{0.028594669431238354,-0.6371745939539831,-0.6551612432938766,-0.5510542021253173,-0.469911904500824,-0.41257061242537085,-0.366385876643226,-0.3415523057585901,-0.3220524443043678,-0.30315036727537714,-0.2874011454678273,-0.2742528467117128,-0.26309994312428686,-0.2535209874443504,-0.2451875873852396,-0.2378699489380467,-0.2313849782373665,-0.2255736073299916,-0.22035214137999826,-0.21559756934090463,-0.211268259628965},
{0.02504958198682594,-0.6382270901288118,-0.6552866307833318,-0.5509624267202335,-0.4697817736322397,-0.4124410189092886,-0.3662617053620577,-0.3414744081103963,-0.321949973762068,-0.30305146053053544,-0.2873083324692892,-0.27416567369984085,-0.26301772314273514,-0.253443066330438,-0.24511340316403318,-0.23779903055252044,-0.23131693513368634,-0.22550812005478266,-0.22028893340151673,-0.21553641703762316,-0.2112089645625727},
{0.02151141549752117,-0.6392759596262713,-0.6554103124268016,-0.5508700940637193,-0.46965146698788995,-0.4123113883040064,-0.3661376324736788,-0.34139637395134825,-0.3218475158072106,-0.30295261051040756,-0.28721558349888643,-0.27407856530490315,-0.2629355667128828,-0.25336520694419123,-0.24503927868419767,-0.23772816995621032,-0.23124894796736864,-0.22544268698452466,-0.2202257780233069,-0.21547531584371138,-0.2111497192264661},
{0.017980164319881947,-0.6403212091498275,-0.6555322963229175,-0.5507772077776077,-0.4695209862609529,-0.4121817214827127,-0.36601365789444074,-0.34131820255142215,-0.3217450710585823,-0.3028538173959515,-0.2871228986337411,-0.273991521564188,-0.2628534738483521,-0.2532874092860594,-0.24496521393805767,-0.23765736713601776,-0.23118101672156655,-0.22537730809973758,-0.2201626752239657,-0.21541426573639194,-0.21109052359682862},
{0.014455822777793143,-0.6413628453902789,-0.6556525905358355,-0.5506837714642272,-0.46939033313433026,-0.41205201931274404,-0.3658897815384982,-0.3412398932266905,-0.32164264012912813,-0.3027550813660438,-0.28703027794980623,-0.2739045425141503,-0.26277144456212526,-0.25320967335597616,-0.24489120891749847,-0.23758662207846526,-0.23111314137912484,-0.2253119833806266,-0.2200996249818224,-0.21535326669265267,-0.21103137764961216},
{0.010938385162731379,-0.642400875026097,-0.6557712030953691,-0.5505897887065414,-0.469259509280733,-0.41192228265566366,-0.365766003317939,-0.3411614453384436,-0.3215402236260224,-0.3026564025975187,-0.2869377215218678,-0.2738176281904581,-0.2626894788665709,-0.2531319991533925,-0.24481726361400769,-0.23751593476972743,-0.23104532192257624,-0.22524671280713648,-0.22003662727496262,-0.2152923186892458,-0.21097228136057009},
{0.007427845734039568,-0.6434353047237653,-0.6558881419971279,-0.5504952630682073,-0.4691285163626866,-0.411792512367222,-0.3656423231427868,-0.34108285829231993,-0.32143782215069105,-0.3025577812651658,-0.2868452294235463,-0.2737307786279548,-0.26260757677344154,-0.2530543866772536,-0.24474337801863794,-0.23744530519561866,-0.23097755833412995,-0.22518149635892615,-0.2199736820812176,-0.21523142170269705,-0.21091323470524784},
{0.003924198719188171,-0.6444661411380967,-0.656003415202647,-0.5504001980937101,-0.4689973560326543,-0.4116627092974655,-0.36551874092111014,-0.3410041315374257,-0.3213354362988591,-0.30245921754175586,-0.28675280172730794,-0.2736439938606956,-0.26252573829387454,-0.2529768359260209,-0.24466955212204483,-0.23737473334160014,-0.230909850595695,-0.22511633401537626,-0.21991078937816902,-0.21517057570930284,-0.21085423765898303},
{0.000427438314042794,-0.6454933909125627,-0.6561170306395253,-0.5503045973084537,-0.4688660299330466,-0.41153287429073504,-0.36539525655908367,-0.34092526456549377,-0.3212330666606149,-0.3023607115980581,-0.2866604385044624,-0.2735572739219455,-0.26244396343840926,-0.2528993468976752,-0.24459578591448342,-0.23730421919278608,-0.2308421986888733,-0.22505122575560688,-0.21984794914316022,-0.21510978068515796,-0.21079529019691767},
{-0.0030624413168744147,-0.646517060679611,-0.6562289962015608,-0.5502084642188504,-0.46873453969629764,-0.4114030081857046,-0.3652718699610331,-0.3408462569100612,-0.321130713820431,-0.30226226360286235,-0.28656813982517776,-0.2734706188441739,-0.26236225221697534,-0.2528219195897051,-0.24452207938578202,-0.2372337627339482,-0.23077460259495877,-0.22498617155845735,-0.2197851613532874,-0.21504903660609814,-0.2107363922939852},
{-0.006545446040120043,-0.6475371570609689,-0.6563393197488736,-0.5501118023124465,-0.468602886944948,-0.4112731118154247,-0.36514858102952763,-0.34076710814560374,-0.3210283783572137,-0.3021638737229757,-0.2864759057584545,-0.2733840286590708,-0.2622806046389157,-0.25274455399913204,-0.24444843252539653,-0.23716336394950324,-0.23070706229494894,-0.22492117140250334,-0.21972242598540354,-0.2149883434477745,-0.2106775439249364},
{-0.010021581753071981,-0.6485536866679507,-0.6564480091080585,-0.5500146150579999,-0.46847107329166343,-0.4111431860073458,-0.36502538966540815,-0.3406878178867676,-0.3209260608443655,-0.30206554212327563,-0.2863837363721824,-0.27329750339755987,-0.2621990207129713,-0.2526672501224946,-0.24437484532236925,-0.23709302282353478,-0.23063957776954125,-0.22485622526604498,-0.21965974301612085,-0.21492770118559779,-0.21061874506430342},
{-0.013490854383669426,-0.649566656101755,-0.6565550720722949,-0.5499169059055977,-0.46833910033930737,-0.4110132315833679,-0.3649022957678585,-0.34060838578753005,-0.32082376184980493,-0.30196726896667747,-0.2862916317330734,-0.27321104308978095,-0.2621175004472996,-0.25259000795586395,-0.2443013177653373,-0.23702273933978457,-0.2305721489991236,-0.22479133312712496,-0.219597112421814,-0.21486710979475918,-0.2105599956864337},
{-0.016953269890149572,-0.650576071953752,-0.6566605164015,-0.549818678286743,-0.46820696968101516,-0.41088324935986625,-0.3647792992345048,-0.34052881154043446,-0.3207214819360351,-0.30186905441420797,-0.2861995919067469,-0.2731246477651252,-0.2620360438494877,-0.2525128274948644,-0.24422784984258403,-0.2369525134816686,-0.23050477596381894,-0.22472649496353916,-0.21953453417863028,-0.21480656925027128,-0.21050129576549761},
{-0.020408834260798897,-0.6515819408057768,-0.6567643498224428,-0.5497199356144566,-0.46807468290022486,-0.4107532401477235,-0.36465639996139243,-0.3404490948757888,-0.3206192216601529,-0.30177089862497153,-0.28610761695765274,-0.2730383174522066,-0.2619546509265229,-0.25243570873462245,-0.24415444154196397,-0.23688234523225554,-0.23043745864343212,-0.22466171075279484,-0.21947200826247104,-0.21474607952687794,-0.2104426452754409},
{-0.023857553513689025,-0.6525842692304,-0.6568665800288833,-0.5496206812833851,-0.4679422415707749,-0.4106232047523798,-0.3645335978431307,-0.34036923556089893,-0.32051698157392183,-0.3016728017561895,-0.2860157069491359,-0.2729520521789029,-0.2618733216848455,-0.2523586516698356,-0.2440810928509798,-0.23681223457429446,-0.23037019701748274,-0.22459698047216767,-0.21940953464902252,-0.2146856405991548,-0.21038404419005208},
{-0.027299433696433714,-0.6535830637912106,-0.6569672146817134,-0.5495209186698753,-0.46780964725689667,-0.41049314397382597,-0.36441089277287636,-0.34028923339933137,-0.3204147622238166,-0.30157476396322525,-0.28592386194339897,-0.27286585197233404,-0.26179205613030887,-0.25228165629472815,-0.24400780375673203,-0.23674218149020038,-0.23030299106521657,-0.22453230409866232,-0.21934711331372292,-0.21462525244145922,-0.21032549248290566},
{-0.030734480885923635,-0.6545783310430761,-0.6570662614090621,-0.549420651132107,-0.4676769015133378,-0.41036305860669825,-0.3642882846424229,-0.340209088230146,-0.32031256415103465,-0.30147678539958067,-0.28583208200153476,-0.2727797168588838,-0.26171085426820195,-0.25220472260308613,-0.24393457424595216,-0.2366721859620789,-0.23023584076558742,-0.22446768160903557,-0.219284744231801,-0.21456491502792457,-0.21026699012740627},
{-0.034162701188082734,-0.6555700775324089,-0.6571637278064459,-0.5493198820101519,-0.46754400588537004,-0.4102329494402539,-0.36416577334226274,-0.34012879992716427,-0.32021038789157436,-0.3013788662169046,-0.28574036718350115,-0.27269364686419006,-0.2616297161032736,-0.25212785058824305,-0.24386140430499245,-0.23660224797169238,-0.23016874609726518,-0.22440311297979737,-0.2192224273782454,-0.21450462833250467,-0.21020853709677104},
{-0.03758410073761767,-0.6565583097974274,-0.6572596214368951,-0.5492186146260869,-0.4674109619088585,-0.41010281725843334,-0.36404335876160143,-0.3400483683982517,-0.3201082339762505,-0.3012810065650561,-0.2856487175481625,-0.27260764201315835,-0.2615486416396981,-0.2520510402430842,-0.24378829391983511,-0.23653236750050252,-0.23010170703864619,-0.22433859818721225,-0.21916016272783756,-0.21444439232892878,-0.2101501333640227},
{-0.04099868569776312,-0.6575430343683957,-0.6573539498310762,-0.5491168522841154,-0.4672777711103624,-0.40997266283991773,-0.3639210407884646,-0.339967793584593,-0.32000610293075143,-0.30118320659206316,-0.2855571331532598,-0.2725217023299854,-0.2614676308811128,-0.25197429156006085,-0.2437152430760913,-0.23646254452963275,-0.23003472356783744,-0.22427413720728015,-0.21909795025511808,-0.21438420699073527,-0.21009177890201253},
{-0.044406462260042426,-0.6585242577678854,-0.6574467204874272,-0.5490145982705981,-0.46714443500709324,-0.40984248695807846,-0.3637988193096831,-0.33988707545999386,-0.31990399527567237,-0.3010854664441625,-0.28546561405542836,-0.27243582783811926,-0.26138668383059893,-0.2518976045311848,-0.24364225175901438,-0.23639277903991907,-0.2299677956626876,-0.22420973001578073,-0.21903578993442055,-0.21432407229125355,-0.2100334736834071},
{-0.047807436644014795,-0.6595019865110058,-0.6575379408722792,-0.548911855854217,-0.46701095510706836,-0.4097122903811174,-0.3636766942109817,-0.33980621403018996,-0.3198019115265689,-0.30098778626582456,-0.28537416031020824,-0.2723500185603148,-0.2613058004907025,-0.2518209791480372,-0.24356931995347625,-0.2363230710118717,-0.22990092330076334,-0.22414537658822792,-0.21897368173985537,-0.21426398820362313,-0.20997521768068897},
{-0.05120161509703186,-0.6604762271056379,-0.6576276184199886,-0.5488086282860247,-0.46687733290909605,-0.4095820738720107,-0.36355466537703174,-0.33972520933215966,-0.31969985219397645,-0.3008901661997493,-0.2852827719720472,-0.2722642745186061,-0.2612249808634328,-0.25174441540176884,-0.2434964476440183,-0.23625342042568798,-0.22983410645935737,-0.2240810768999203,-0.21891162564532493,-0.21420395470079495,-0.20991701086617212},
{-0.05458900389399565,-0.6614469860526733,-0.6577157605330657,-0.5487049187995579,-0.46674356990286403,-0.40945183818858766,-0.3634327326914623,-0.3396440614334413,-0.3195978177834791,-0.3007926063869024,-0.28519144909429883,-0.2721785957343167,-0.2611442249502656,-0.2516679132830965,-0.243423634814791,-0.23618382726127474,-0.2297673451155061,-0.22401683092590108,-0.21884962162451135,-0.21414397175550068,-0.20985885321198902},
{-0.05796960933711484,-0.6624142698462325,-0.6578023745822934,-0.5486007306109256,-0.4666096675690026,-0.4093215840835661,-0.36331089603695654,-0.33956277043148353,-0.31949580879571593,-0.3006951069664954,-0.2851001917292389,-0.2720929822280798,-0.2610635327521462,-0.2515914727823293,-0.24335088144961328,-0.23611429149821883,-0.2297006392459691,-0.22395263864097503,-0.21878766965088736,-0.21408403934030665,-0.2098007446900926},
{-0.061343437755660785,-0.6633780849738873,-0.6578874679068637,-0.5484960669188892,-0.4664756273790903,-0.4091913123045437,-0.36318915529524076,-0.3394813364529877,-0.31939382572645925,-0.3005976680760544,-0.2850089999280701,-0.272007434019826,-0.2609829042695003,-0.25151509388934357,-0.243278187531952,-0.23604481311581832,-0.2296339888272501,-0.22388850001973304,-0.21872576969771715,-0.21402415742757394,-0.20974268527227008},
{-0.06471049550573543,-0.6643384379168753,-0.6579710478144979,-0.5483909309049912,-0.46634145079576195,-0.4090610235940758,-0.36306751034716034,-0.33939975965325503,-0.3192918690666229,-0.3005002898513701,-0.28491787374092525,-0.27192195112879597,-0.2609023395022318,-0.2514387765936084,-0.24320555304491048,-0.23597539209306156,-0.22956739383558708,-0.22382441503651046,-0.21866392173804705,-0.21396432598947265,-0.20968467493012077},
{-0.06807078897002128,-0.6652953351503059,-0.6580531215815739,-0.5482853257336001,-0.4662071392727191,-0.40893071868966774,-0.36294596107272636,-0.3393180402155558,-0.3191899393023193,-0.3004029724265584,-0.2848268132168743,-0.271836533573546,-0.26082183844972284,-0.25136252088418015,-0.24313297797126848,-0.23590602840864844,-0.22950085424696087,-0.22376038366542977,-0.21860212574473029,-0.2139045449979934,-0.20962671363508656},
{-0.0714243245575521,-0.6662487831433742,-0.6581336964532458,-0.5481792545520234,-0.466072694254796,-0.4088003983238356,-0.36282450735112526,-0.33923617835049713,-0.3190880369148915,-0.30030571593406646,-0.28473581840394346,-0.271751181371942,-0.2607414011108546,-0.2512863267496954,-0.2430604622934446,-0.23583672204099698,-0.22943437003708775,-0.22369640588038056,-0.2185403816904021,-0.21384481442493414,-0.20956880135843436},
{-0.07477110870347711,-0.6671987883595538,-0.6582127796435795,-0.5480727204906235,-0.46593811717805467,-0.40867006322414223,-0.36270314906081924,-0.3391541742954257,-0.3189861623809622,-0.3002085205046815,-0.28464488934912424,-0.2716658945411994,-0.2606610274839995,-0.2512101941784064,-0.24298800599353726,-0.2357674729682089,-0.22936794118145265,-0.22363248165502686,-0.21847868954752125,-0.21378513424192164,-0.20951093807127108},
{-0.07811114786881906,-0.6681453572567939,-0.6582903783356671,-0.547965726662844,-0.46580340946974697,-0.40853971411316986,-0.36258188607950204,-0.3390720283137806,-0.3188843161724504,-0.3001113862675264,-0.2845540260983517,-0.2715806730978315,-0.26058071756700935,-0.25113412315813527,-0.24291560905327825,-0.23569828116810917,-0.22930156765525816,-0.22356861096280115,-0.21841704928830238,-0.21372550442037352,-0.2094531237445096},
{-0.08144444854024599,-0.6690884962877071,-0.6583664996817528,-0.5478582761653742,-0.46566857254844546,-0.40840935170862913,-0.3624607182842058,-0.3389897406945317,-0.31878249875663467,-0.3000143133501042,-0.28446322869655716,-0.2714955170577066,-0.26050047135725823,-0.2510581136763246,-0.24284327145409296,-0.23562914661824821,-0.22923524943347393,-0.2235047937769229,-0.218355460884798,-0.21366592493155834,-0.20939535834891623},
{-0.08477101722983939,-0.6700282118997606,-0.6584411508033609,-0.5477503720781843,-0.4655336078240573,-0.4082789767233368,-0.3623396455513301,-0.33890731175157085,-0.3186807105961954,-0.2999173018783063,-0.28437249718764857,-0.2714104264360253,-0.26042028885161456,-0.25098216572001947,-0.24277099317706827,-0.23556006929587514,-0.22916898649082026,-0.2234410300703923,-0.21829392430884428,-0.2136063957465462,-0.20933764185509238},
{-0.08809086047485745,-0.6709645105354565,-0.6585143387914132,-0.547642017464634,-0.4653985166978796,-0.4081485898652661,-0.3622186677566291,-0.33882474182312444,-0.3185789521492124,-0.29982035197640755,-0.2842818316145435,-0.2713254012473294,-0.26034017004645493,-0.2509062792758645,-0.2426987742029586,-0.235491049177972,-0.22910277880177177,-0.22337731981598763,-0.2182324395320992,-0.21354691683623564,-0.20927997423347236},
{-0.09140398483751011,-0.6718973986325039,-0.6585860707063489,-0.5475332153715627,-0.46526330056266807,-0.40801819183757765,-0.3620977847753162,-0.33874203127118213,-0.31847722386924027,-0.2997234637670889,-0.28419123201913987,-0.27124044150551596,-0.2602601149376733,-0.2508304543301122,-0.24262661451219228,-0.23542208624122812,-0.2290366263405422,-0.22331366298627098,-0.21817100652600904,-0.21348748817134783,-0.20922235545432985},
{-0.09471039690472709,-0.6728268826239949,-0.6586563535782617,-0.5474239688293663,-0.4651279608026557,-0.40788778333862735,-0.361976996482053,-0.33865918048094207,-0.31837552620535536,-0.2996266373714697,-0.28410069844238756,-0.27115554722382806,-0.2601801235206855,-0.250754690868648,-0.24255451408488524,-0.2353531804620756,-0.22897052908113286,-0.2232500595535954,-0.21810962526183839,-0.2134281097224342,-0.20916478548777673},
{-0.09801010328793221,-0.673752968938571,-0.6587251944070022,-0.547314280852102,-0.4649924987936287,-0.4077573650620306,-0.3618563027509826,-0.3385761898602365,-0.31827385960214366,-0.29952987290908206,-0.2840102309242334,-0.27107071841487734,-0.26010019579040555,-0.2506789888769508,-0.24248247290081407,-0.23528433181665415,-0.22890448699728932,-0.22318650949009025,-0.2180482957106484,-0.21336878145986066,-0.2091072643037601},
{-0.1013031106228163,-0.6746756640005849,-0.6587926001623085,-0.5472041544375565,-0.4648569159029642,-0.4076269376966609,-0.36173570345580697,-0.3384930598389848,-0.3181722244997842,-0.2994331704979167,-0.2839198295036883,-0.2709859550906308,-0.26002033174129197,-0.2506033483401373,-0.2424104909394654,-0.23521554028083885,-0.22883850006251094,-0.2231230127676912,-0.21798701784333577,-0.21330950335384552,-0.2090497918720791},
{-0.1045894255691112,-0.6755949742302666,-0.6588585777839313,-0.5470935925673392,-0.4647212134896771,-0.40749650192670256,-0.36161519846976076,-0.3384097908686553,-0.31807062133407027,-0.2993365302544273,-0.2838294942188006,-0.2709012572624185,-0.25994053136732453,-0.25052776924292763,-0.24233856817997496,-0.23514680583023914,-0.2287725682500867,-0.2230595693581155,-0.21792579163058953,-0.21325027537440502,-0.2089923681623762},
{-0.10786905481036285,-0.6765109060438643,-0.6589231341817392,-0.5469825982069838,-0.46458539290449996,-0.4073660584316721,-0.36149478766570387,-0.3383263834217271,-0.31796905053643565,-0.2992399522935463,-0.2837392251066835,-0.27081662494095565,-0.2598607946620201,-0.25045225156969364,-0.2422667046012068,-0.2350781284401915,-0.22870669153303838,-0.22299617923287818,-0.2178646170429239,-0.21319109749142146,-0.20893499314413766},
{-0.11114200505371828,-0.6774234658538174,-0.6589862762358658,-0.5468711743059996,-0.4644494554898652,-0.40723560788641766,-0.36137447091609187,-0.3382428379911686,-0.31786751253400586,-0.2991434367286724,-0.2836490222035273,-0.27073205813633583,-0.25978112161842604,-0.2503767953044109,-0.24219490018167816,-0.23500950808577342,-0.22864086988419102,-0.22293284236327798,-0.21780349405066174,-0.21313196967458686,-0.20887766678668987},
{-0.1144082830296905,-0.6783326600688747,-0.6590480107967956,-0.5467593237979949,-0.464313402580031,-0.4071051509612105,-0.3612542480930375,-0.33815915508991035,-0.3177660077496358,-0.29904698367172083,-0.2835588855446019,-0.2706475568580227,-0.2597015122291245,-0.25030140043069665,-0.24212315489961952,-0.23494094474179317,-0.22857510327611574,-0.22286955872042571,-0.21774242262395785,-0.21307289189343603,-0.2088203890592141},
{-0.11766789549194889,-0.6792384950942566,-0.6591083446854992,-0.5466470496007267,-0.46417723550106954,-0.4069746883217079,-0.36113411906836584,-0.3380753352503323,-0.3176645366019313,-0.2989505932331166,-0.2834688151642816,-0.27056312111488223,-0.25962196648625796,-0.2502260669318143,-0.24205146873296798,-0.23487243838280167,-0.2285093916811769,-0.222806328275224,-0.21768140273277,-0.21301386411734588,-0.20876315993075117},
{-0.12092084921709367,-0.6801409773317895,-0.6591672846935644,-0.546534354616207,-0.4640409555709386,-0.40684422062901976,-0.3610140837135709,-0.33799137902376564,-0.3175630995052861,-0.2988542655217986,-0.28337881109604623,-0.2704787509151477,-0.2595424843814868,-0.25015079479064994,-0.24197984165932476,-0.23480398898309665,-0.22844373507148868,-0.22274315099838027,-0.21762043434689457,-0.21295488631551926,-0.2087059793701761},
{-0.12416715100444017,-0.6810401131800369,-0.6592248375832919,-0.5464212417307955,-0.4639045640995589,-0.40671374853975106,-0.36089414189994107,-0.3379072869799939,-0.3174616968699392,-0.29875800064526087,-0.2832888733724997,-0.27039444626648423,-0.25946306590605506,-0.2500755839897326,-0.2419082736560223,-0.23473559651670897,-0.22837813341896146,-0.2226800268604025,-0.21755951743593882,-0.2128959584570192,-0.20864884734623532},
{-0.12740680767579898,-0.6819359090344308,-0.6592810100878338,-0.5463077138152403,-0.46376806238879,-0.4065832727059619,-0.36077429349849366,-0.33782305970675514,-0.31736032910198253,-0.2986617987095228,-0.28319900202536863,-0.27031020717593157,-0.2593837110507417,-0.2500004345112392,-0.24183676470008725,-0.23466726095742904,-0.22831258669527613,-0.22261695583159657,-0.2174986519693392,-0.2128370805107236,-0.208591763827515},
{-0.1306398260752671,-0.6828283712874024,-0.6593358089112833,-0.5461937737248077,-0.4636314517325417,-0.4064527937752733,-0.3606545383800398,-0.33773869780927285,-0.3172589966034042,-0.29856565981918026,-0.2831091970855337,-0.27022603364994174,-0.259304419805881,-0.24992534633699254,-0.24176531476823657,-0.23459898227878606,-0.2282470948719033,-0.22255393788208347,-0.21743783791636295,-0.21277825244536888,-0.20853472878246843},
{-0.1338662130690022,-0.6837175063284943,-0.659389240728825,-0.5460794242993379,-0.4634947334167889,-0.40632231239085126,-0.36053487641524906,-0.33765420190976236,-0.3171576997721463,-0.29846958407740387,-0.28301945858303285,-0.2701419256943903,-0.2592251921613783,-0.24985031944847289,-0.2416939238369345,-0.23453076045406548,-0.22818165792008197,-0.22249097298179005,-0.21737707524610225,-0.21271947422953721,-0.20847774217940657},
{-0.1370859755450195,-0.6846033205444902,-0.6594413121868281,-0.5459646683633337,-0.46335790871962823,-0.40619182919144126,-0.3604153074745918,-0.33756957264698034,-0.31705643900209507,-0.29837357158593236,-0.2829297865470648,-0.27005788331454117,-0.259146028106699,-0.2497753538267878,-0.2416225918823079,-0.23446259545630016,-0.22811627581084254,-0.2224280611004498,-0.21731636392746842,-0.21266074583165737,-0.20842080398650079},
{-0.1402991204129749,-0.6854858203195298,-0.6594920299029738,-0.5458495087260522,-0.4632209789113341,-0.4060613448114069,-0.36029583142844623,-0.33748481067574976,-0.3169552146831516,-0.29827762244511846,-0.28284018100600705,-0.2699739065151126,-0.2590669276308805,-0.24970044945273162,-0.24155131888023598,-0.23439448725828488,-0.22805094851500504,-0.22236520220760272,-0.21725570392923096,-0.2126020672199903,-0.20836391417178363},
{-0.14350565460395054,-0.6863650120352118,-0.6595414004663618,-0.5457339481815503,-0.46308394525437224,-0.40593085988073707,-0.3601764481470666,-0.3373999166665093,-0.31685402720126293,-0.29818173675391674,-0.2827506419874426,-0.2698899953002194,-0.2589878907225383,-0.24962560630673722,-0.24148010480629367,-0.23432643583256962,-0.2279856760031808,-0.222302396272621,-0.2171950952199662,-0.2125434383626732,-0.2083070727031508},
{-0.14670558507025133,-0.687240902070709,-0.6595894304376345,-0.5456179895088239,-0.4629468090034843,-0.40580037502509547,-0.36005715750061884,-0.3373148913048637,-0.3167528769384256,-0.2980859146098968,-0.282661169518128,-0.2698061496734224,-0.2589089173698426,-0.2495508243689063,-0.24140894963577833,-0.23425844115145955,-0.22792045824576024,-0.22223964326467197,-0.21713453776810285,-0.21248485922766838,-0.20825027954836445},
{-0.14989891878518985,-0.6881134968028704,-0.659636126349089,-0.5455016354718294,-0.462809571405696,-0.4056698908658254,-0.35993795935923756,-0.3372297352911473,-0.3166517642727665,-0.29799015610926327,-0.2825717636240593,-0.269722369637707,-0.25883000756056357,-0.249476103619,-0.24133785334371666,-0.23419050318702114,-0.22785529521292344,-0.22217694315274733,-0.21707403154188357,-0.21242632978279571,-0.2081935346750485},
{-0.15308566274288232,-0.6889828026063214,-0.659681494704789,-0.5453848888195891,-0.46267223370038535,-0.40553940801999006,-0.35981885359297816,-0.3371444493399758,-0.3165506895785285,-0.29789446134686454,-0.2824824243304466,-0.26963865519549696,-0.25875116128204245,-0.24940144403644432,-0.24126681590483834,-0.23412262191109706,-0.22779018687466884,-0.22211429590565607,-0.21701357650941827,-0.21236784999574168,-0.20813683805070657},
{-0.1562658239580431,-0.6898488258535699,-0.6597255419806822,-0.545267752286296,-0.46253479711934586,-0.405408927100408,-0.35969984007191913,-0.33705903417982785,-0.31644965322614355,-0.2977988304161967,-0.28239315166172757,-0.2695550063486649,-0.2586723785212022,-0.2493268456003383,-0.2411958372936209,-0.23405479729526643,-0.22772513320075813,-0.2220517014920195,-0.21695317263863537,-0.21230941983403,-0.20808018964269887},
{-0.1594394094657705,-0.690711572915081,-0.6597682746247121,-0.5451502285913269,-0.4623972628867797,-0.40527844871565344,-0.35958091866613173,-0.33697349055264236,-0.3163486555822616,-0.2977032634094398,-0.28230394564160577,-0.2694714230985352,-0.2585936592645861,-0.2492523082894643,-0.24112491748426365,-0.2339870293109216,-0.227660134160778,-0.22198915988029785,-0.21689281989731046,-0.2122510392650573,-0.20802358941827032},
{-0.16260642632135275,-0.6915710501593906,-0.6598096990569315,-0.5450323204393972,-0.4622596322193871,-0.4051479734701029,-0.35946208924569545,-0.33688781921335637,-0.31624769700974215,-0.29760776041742715,-0.2822148062930212,-0.2693879054458726,-0.2585150034982934,-0.2491778320822539,-0.24105405645068725,-0.23391931792918827,-0.22759518972410403,-0.22192667103876654,-0.2168325182530593,-0.21219270825606226,-0.20796703734452893},
{-0.16576688160005837,-0.6924272639531777,-0.6598498216696207,-0.544914030520583,-0.4621219063263795,-0.4050175019639494,-0.35934335168076026,-0.33680202092953926,-0.3161467778677522,-0.2975123215296879,-0.28212573363818383,-0.26930445339090414,-0.25843641120803795,-0.2491034169568421,-0.24098325416655295,-0.23385166312096076,-0.2275302998599102,-0.22186423493551174,-0.21677226767334154,-0.21213442677415004,-0.20791053338846038},
{-0.1689207823969368,-0.6932802206613573,-0.6598886488273894,-0.5447953615104117,-0.46198408640953886,-0.4048870347932325,-0.3592247058415121,-0.3367160964809668,-0.31604589851175685,-0.297416946834456,-0.28203672769859567,-0.26922106693331405,-0.2583578823791278,-0.2490290628910218,-0.2409125106052546,-0.23378406485693645,-0.22746546453717179,-0.2218018515384685,-0.21671206812546867,-0.21207619478628678,-0.20785407751692903},
{-0.17206813582661437,-0.6941299266471523,-0.6599261868672901,-0.5446763160699657,-0.46184617366328373,-0.40475657254988173,-0.359106151598245,-0.33663004665922946,-0.31594505929355965,-0.2973216364186569,-0.2819477884950164,-0.2691377460722547,-0.25827941699647683,-0.24895476986228599,-0.24084182573992044,-0.23371652310756233,-0.2274006837246767,-0.22173952081538087,-0.21665191957658775,-0.21201801225929598,-0.2077976696966719},
{-0.17520894902309678,-0.6949763882721842,-0.6599624420989518,-0.5445568968459138,-0.46170816927465363,-0.4046261158216959,-0.35898768882133936,-0.3365438722673557,-0.3158442605613605,-0.2972263903679604,-0.2818589160475305,-0.26905449080634297,-0.2582010150446004,-0.24888053784780004,-0.24077119954341836,-0.23364903784307534,-0.22733595739101523,-0.22167724273383368,-0.21659182199369909,-0.21195987915986741,-0.20774130989429984},
{-0.17834322913956815,-0.6958196118965356,-0.6599974208046565,-0.5444371064706415,-0.46157007442340386,-0.4044956651924238,-0.3588693173812783,-0.3364575741194119,-0.3157435026597591,-0.2971312087667367,-0.2817701103755099,-0.26897130113368045,-0.2581226765076353,-0.2488063668244265,-0.24070063198836855,-0.23358160903349154,-0.2272712855045931,-0.22161501726124228,-0.21653177534364965,-0.2119017954545564,-0.20768499807632063},
{-0.18147098334819284,-0.6966596038788306,-0.6600311292394738,-0.5443169475622711,-0.46143189028202947,-0.4043652212417437,-0.35875103714872003,-0.33637115304012594,-0.3156427859298132,-0.2970360916981222,-0.2816813714976514,-0.2688881770518394,-0.25804440136931894,-0.2487322567687196,-0.24063012304712417,-0.23351423664859763,-0.22720666803360767,-0.22155284436485345,-0.21647177959314917,-0.21184376110978276,-0.20762873420910655},
{-0.18459221883992305,-0.6974963705763016,-0.6600635736313698,-0.5441964227247698,-0.4612936180158006,-0.4042347845453227,-0.3586328479944223,-0.33628460986453124,-0.3155421107090571,-0.2969410392439913,-0.28159269943197307,-0.2688051185578618,-0.25796618961300516,-0.2486582076569207,-0.2405596726917783,-0.23344692065797792,-0.22714210494609519,-0.22149072401175202,-0.21641183470873931,-0.2117857760918279,-0.20757251825892162},
{-0.18770694282429362,-0.6983299183448489,-0.6600947601812989,-0.5440755345480366,-0.46115525878283414,-0.40410435567482494,-0.35851474978935405,-0.33619794543758263,-0.31544147733155026,-0.29684605148499243,-0.2815040941958175,-0.26872212564830267,-0.2578880412216801,-0.24858421946496656,-0.24048928089418825,-0.23337966103099386,-0.22707759620987863,-0.2214286561688487,-0.2163519406568407,-0.21172784036685083,-0.20751635019191125},
{-0.19081516252924044,-0.6991602535391224,-0.66012469506335,-0.5439542856079296,-0.4610168137340852,-0.4039739351979168,-0.3583967424046397,-0.3361111606138085,-0.31534088612790434,-0.2967511285005258,-0.28141555580589184,-0.2686391983191906,-0.2578099561779422,-0.24851029216850382,-0.24041894762595964,-0.23331245773680004,-0.22701314179262283,-0.221366640802903,-0.21629209740370253,-0.21166995390088336,-0.20746022997409885},
{-0.19391688520089193,-0.699987382512556,-0.6601533844248078,-0.5438326784664015,-0.46087828401344244,-0.403843523678348,-0.35827882571159475,-0.336024256256959,-0.3152403374253056,-0.29665627036878933,-0.28132708427822783,-0.2685563365660453,-0.2577319344640115,-0.24843642574286282,-0.24034867285843925,-0.2332453107443353,-0.22694874166178747,-0.22130467788050795,-0.2162323049154456,-0.21161211665981325,-0.2074041575714014},
{-0.19701211810338848,-0.7008113116174441,-0.6601808343863014,-0.5437107156715135,-0.46073967075772404,-0.40371312167590767,-0.35816099958177605,-0.335937233239644,-0.3151398315475845,-0.2965614771667663,-0.28123867962823074,-0.2684735403839038,-0.2576539760617493,-0.2483626201630974,-0.24027845656274294,-0.23317822002232774,-0.2268843957846675,-0.22124276736809792,-0.21617256315804886,-0.21155432860941817,-0.20734813294962315},
{-0.20010086851868553,-0.7016320472049911,-0.6602070510418949,-0.5435883997575466,-0.46060097509674425,-0.4035827297464897,-0.35804326388692176,-0.335850092443007,-0.3150393688152032,-0.29646674897024394,-0.281150341870671,-0.2683908097672829,-0.2575760809526365,-0.24828887540395006,-0.2402082987097304,-0.23311118553930157,-0.22682010412836426,-0.22118090923195588,-0.21611287209734473,-0.21149658971533725,-0.20729215607445065},
{-0.20318314374636393,-0.7024495956253666,-0.6602320404592018,-0.543465733245089,-0.4604621981533791,-0.40345234844213806,-0.3579256184990581,-0.33576283475638924,-0.3149389495453331,-0.29637208585382696,-0.2810620710196895,-0.2683081447102268,-0.25749824911780933,-0.24821519143988488,-0.24013819927002877,-0.23304420726357603,-0.22675586665981376,-0.22111910343820532,-0.21605323169903523,-0.2114388999430961,-0.2072362269114653},
{-0.20625895110343906,-0.703263963227742,-0.6602558086794894,-0.5433427186410347,-0.46032334104352934,-0.40332197831098526,-0.35780806329041864,-0.33567546107697815,-0.3148385740518487,-0.29627748789093084,-0.28097386708881056,-0.2682255452062768,-0.2574204805380167,-0.24814156824507036,-0.24006815821402702,-0.23297728516326868,-0.22669168334576484,-0.22105734995280424,-0.2159936419286656,-0.21138125925808296,-0.20718034542613492},
{-0.20932829792417557,-0.7040751563603587,-0.6602783617177808,-0.5432193584387601,-0.4601844048762451,-0.40319161989737995,-0.35769059813351844,-0.3355879723095201,-0.3147382426453936,-0.2961829551538081,-0.28088573009095374,-0.2681430112484921,-0.25734277519366255,-0.24806800579339117,-0.23999817551187624,-0.23291041920629488,-0.22662755415280803,-0.22099564874157762,-0.21593410275166366,-0.21132366762557928,-0.20712451158381345},
{-0.2123911915598971,-0.7048831813705492,-0.6602997055629708,-0.5430956551180973,-0.46004539075370643,-0.40306127374183526,-0.35757322290115556,-0.3355003693659663,-0.314637955633404,-0.2960884877135558,-0.2807976600384284,-0.26806054282946573,-0.2572651330648009,-0.24799450405845172,-0.23992825113349778,-0.23284360936036952,-0.22656347904734273,-0.22093399977018172,-0.2158746141333171,-0.21126612501073935,-0.20706872534976234},
{-0.2154476393788004,-0.7056880446048008,-0.6603198461779365,-0.5429716111454752,-0.45990629977130104,-0.40293094038109245,-0.3574559374663936,-0.33541265316518215,-0.3145377133201262,-0.2959940856401154,-0.28070965694295397,-0.2679781399412895,-0.2571875541311146,-0.2479210630135726,-0.23985838504856213,-0.2327768555930058,-0.22649945799560747,-0.2208724030041344,-0.2158151760387698,-0.21120863137858856,-0.20701298668911208},
{-0.2184976487657722,-0.7064897524087761,-0.6603387894996263,-0.5428472289739723,-0.4597671330176521,-0.4028006203481319,-0.3573387417026278,-0.33532482463262014,-0.3144375160066591,-0.29589974900229227,-0.28062172081565195,-0.26789580257560336,-0.25711003837196345,-0.24784768263178458,-0.23978857722653532,-0.23271015787152827,-0.22643549096366816,-0.220810858408789,-0.21575578843304613,-0.21115118669405042,-0.206957295566905},
{-0.22154122712220117,-0.7072883111273651,-0.6603565414391832,-0.5427225110433419,-0.45962789157463907,-0.40267031417217714,-0.3572216354835349,-0.3352368847000477,-0.31433736399099677,-0.29580547786776634,-0.2805338516670796,-0.26781353072356606,-0.25703258576634125,-0.24777436288587118,-0.2397188276366402,-0.23264351616306667,-0.22637157791743176,-0.2207493659493771,-0.21569645128103054,-0.2110937909219236,-0.20690165194807078},
{-0.2245783818658014,-0.7080837271047083,-0.6603731078820428,-0.5425974597801788,-0.459488576517473,-0.4025400223787644,-0.3571046186831117,-0.33514883430522063,-0.3142372575680378,-0.2957112723030886,-0.2804460495071983,-0.2677313243758739,-0.25695519629290364,-0.2477011037483061,-0.2396491362478787,-0.23257693043455288,-0.22630771882262382,-0.22068792559096573,-0.2156371645474776,-0.21103644402688648,-0.2068460557974361},
{-0.22760912043041825,-0.7088760066842327,-0.6603884946880308,-0.5424720775978765,-0.45934918891469084,-0.4024097454897091,-0.3569876911757155,-0.33506067439160747,-0.314137197029637,-0.2956171323736962,-0.28035831434540903,-0.2676491835227682,-0.256877869929965,-0.24762790519132655,-0.23957950302902928,-0.23251040065272982,-0.22624391364480792,-0.2206265372984814,-0.21557792819701144,-0.21097914597350523,-0.2067905070797039},
{-0.23063345026586124,-0.709665156208685,-0.6604027076914828,-0.5423463668967792,-0.4592097298282334,-0.4022794840231694,-0.35687085283599884,-0.3349724059080942,-0.3140371826646136,-0.2955230581439353,-0.28027064619055375,-0.26756710815401896,-0.25680060665550003,-0.2475547671868708,-0.2395099279486312,-0.23244392678415665,-0.22618016234939364,-0.2205652010367008,-0.21551874219413822,-0.21092189672623582,-0.2067350057595017},
{-0.23365137883771256,-0.7104511820201622,-0.660415752701349,-0.5422203300642479,-0.45907020031349766,-0.4021492384936839,-0.3567541035390268,-0.3348840298087321,-0.3139372147588105,-0.2954290496770605,-0.28018304505091485,-0.26748509825896527,-0.25672340644716135,-0.24748168970663645,-0.2394404109750348,-0.23237750879520178,-0.22611646490162635,-0.220503916770279,-0.21545960650322593,-0.21086469624942097,-0.20667955180134076},
{-0.23666291362715552,-0.7112340904601164,-0.6604276355012695,-0.5420939694746363,-0.4589306014192779,-0.402019009412094,-0.35663744316015017,-0.33479554705240344,-0.3138372935950759,-0.2953351070352201,-0.2800955109342135,-0.2674031538264647,-0.2566462692822535,-0.24740867272203315,-0.23937095207634596,-0.23231114665204977,-0.22605282126658752,-0.22044268446370835,-0.2154005210885197,-0.21080754450728653,-0.2066241451696194},
{-0.23966806213079112,-0.7120138878694035,-0.660438361849712,-0.5419672874895011,-0.45879093418793143,-0.4018887972857055,-0.35652087157513035,-0.3347069586026138,-0.31373741945333333,-0.2952412302795107,-0.28000804384764544,-0.2673212748449608,-0.256569195137759,-0.24733571620422276,-0.23930155122047128,-0.23224484032070267,-0.2259892314092043,-0.2203815040813611,-0.2153414859141503,-0.21075044146395364,-0.2065687858286422},
{-0.2426668318604618,-0.7127905805882936,-0.6604479374800635,-0.5418402864575553,-0.4586511996553301,-0.40175860261822016,-0.35640438866011026,-0.3346182654272055,-0.3136375926106106,-0.2951474194699458,-0.2799206437978424,-0.26723946130243165,-0.25649218399033824,-0.24726282012410516,-0.23923220837508702,-0.23217858976696865,-0.22592569529423312,-0.22032037558745754,-0.21528250094410867,-0.21069338708342245,-0.20651347374261214},
{-0.24565923034307882,-0.7135641749564884,-0.660456368100732,-0.5417129687147888,-0.45851139885092773,-0.40162842590977776,-0.3562879942915893,-0.3345294684980846,-0.3135378133410361,-0.2950536746654926,-0.2798333107909285,-0.2671577131864259,-0.256415235816317,-0.24718998445232132,-0.23916292350766924,-0.23211239495649333,-0.2258622128862951,-0.2202592989460856,-0.21522356614228005,-0.2106363813295967,-0.20645820887562977},
{-0.24864526512044313,-0.714334677313134,-0.6604636593952355,-0.5415853365845376,-0.4583715327978194,-0.4014982676569898,-0.3561716883464856,-0.33444056879097217,-0.3134380819158739,-0.2949599959240691,-0.27974604483247056,-0.2670760304840644,-0.25633835059171034,-0.24711720915925856,-0.23909369658548207,-0.23204625585473743,-0.22579878414984592,-0.22019827412120502,-0.21516468147242657,-0.21057942416626846,-0.2064029911916925},
{-0.25162494374907063,-0.7151020939968524,-0.6604698170223325,-0.5414573923775083,-0.4582316025127151,-0.4013681283529372,-0.35605547070210436,-0.3343515672851676,-0.3133383986035735,-0.2948663833025533,-0.27965884592753604,-0.26699441318201844,-0.25626152829221843,-0.2470444942150489,-0.23902452757557976,-0.2319801724269764,-0.22573540904918798,-0.22013730107663518,-0.21510584689818033,-0.21052251555712798,-0.2063478206547056},
{-0.2545982738000232,-0.7158664313457344,-0.6604748466160979,-0.5413291383919141,-0.45809160900604556,-0.4012380084872261,-0.3559393412361501,-0.33426246496328593,-0.3132387636697629,-0.2947728368567785,-0.27957171408064824,-0.26691286126655395,-0.256184768893213,-0.2469718395895712,-0.2389554164448098,-0.23191414463833215,-0.22567208754847676,-0.22007637977607092,-0.21504706238306517,-0.2104656554657414,-0.20629269722846333},
{-0.2575652628587331,-0.7166276956973625,-0.66047875378604,-0.541200576913469,-0.4579515532819478,-0.4011079085459759,-0.35582329982676175,-0.33417326281103615,-0.31313917737730446,-0.29467935664156863,-0.27948464929583955,-0.2668313747234949,-0.25610807236976385,-0.2468992452524712,-0.23888636315981573,-0.23184817245371495,-0.22560881961172108,-0.22001551018306895,-0.21498832789048936,-0.21040884385559575,-0.20623762087666386},
{-0.26052591852483264,-0.7173858933888175,-0.6604815441171942,-0.5410717102154992,-0.45781143633833354,-0.4009778290118642,-0.35570734635247153,-0.33408396181696864,-0.3130396399862809,-0.29458594271072824,-0.2793976515766141,-0.2667499535382402,-0.2560314386966209,-0.24682671117312838,-0.23881736768703565,-0.23178225583791137,-0.22554560520277256,-0.2199546922610558,-0.21492964338374487,-0.21035208069004926,-0.20618259156292745},
{-0.26348024841197826,-0.7181410307566801,-0.6604832231702219,-0.5409425405590127,-0.4576712591669282,-0.4008477703641491,-0.35559148069227486,-0.333994562972256,-0.31294015175405654,-0.29449259511706616,-0.27931072092598225,-0.266668597695796,-0.25595486784824595,-0.24675423732069154,-0.2387484299927126,-0.23171639475549985,-0.22548244428534442,-0.21989392597333535,-0.21487100882599994,-0.2102953659323782,-0.2061276092507649},
{-0.26642826014769505,-0.718893114137048,-0.6604837964815209,-0.5408130701927063,-0.4575310227532644,-0.4007177330786431,-0.3554757027255607,-0.3339050672704596,-0.31284071293527976,-0.29439931391237,-0.2792238573464428,-0.26658730718073476,-0.25587835979877416,-0.24668182366405897,-0.23867955004287275,-0.23165058917090808,-0.2254193368230031,-0.21983321128307762,-0.21481242418032573,-0.21023869954574315,-0.20607267390358075},
{-0.26936996137319313,-0.7196421498655298,-0.6604832695633117,-0.5406833013531251,-0.45739072807677167,-0.40058771762781376,-0.3553600123321784,-0.33381547570732234,-0.3127413237819022,-0.2943060991474567,-0.27913706084000844,-0.2665060819772214,-0.25580191452204604,-0.24660947017190066,-0.238610727803379,-0.23158483904839502,-0.22535628277917005,-0.21977254815333824,-0.21475388940967047,-0.21018208149321183,-0.20601778548470745},
{-0.27230535974320674,-0.7203881442772446,-0.660481647903746,-0.540553236264629,-0.45725037611076513,-0.4004577244807331,-0.3552444093924225,-0.33372578928053587,-0.3126419845432209,-0.2942129508721619,-0.2790503314081829,-0.2664249220690243,-0.25572553199161563,-0.24653717681263476,-0.23854196323986876,-0.23151914435204582,-0.22529328211712088,-0.21971193654703294,-0.21469540447686303,-0.21012551173773708,-0.2059629439573637},
{-0.2752344629258306,-0.7211311037068342,-0.6604789369670037,-0.5404228771395195,-0.45710996782251034,-0.4003277541031305,-0.3551288937870112,-0.3336360089895305,-0.3125426954658639,-0.29411986913532784,-0.2789636690520029,-0.2663438274394918,-0.25564921218071307,-0.24646494355446252,-0.23847325631779462,-0.2314535050457904,-0.22523033479999485,-0.2196513764269661,-0.21463696934465384,-0.2100689902421975,-0.20590814928468948},
{-0.2781572786023496,-0.7218710344884456,-0.6604751421933875,-0.5402922261781098,-0.4569695041732844,-0.400197806957443,-0.3550134653971623,-0.33354613583529513,-0.31244345679386243,-0.2940268539848655,-0.27887707377200044,-0.26626279807159153,-0.25557295506230165,-0.24639277036533624,-0.238404607002415,-0.23138792109338957,-0.22516744079080425,-0.21959086775582118,-0.21457858397566096,-0.21001251696934883,-0.20585340142973801},
{-0.28107381446707297,-0.7226079429557419,-0.660470268999438,-0.5401612855687175,-0.4568289861183176,-0.4000678835027444,-0.35489812410451577,-0.33345617082012674,-0.312344268768615,-0.29393390546769105,-0.278790545568228,-0.266181833947879,-0.2554967606090389,-0.24632065721297494,-0.23833601525880546,-0.2313223924584566,-0.22510460005240004,-0.21953041049614647,-0.2145202483323971,-0.2099560918818696,-0.20579870035546394},
{-0.28398407822717975,-0.7233418354418909,-0.6604643227779975,-0.5400300574878194,-0.4566884146069367,-0.3999379841948676,-0.35478286979117724,-0.33336611494747176,-0.31224513162894424,-0.2938410236297925,-0.27870408444027445,-0.2661009350505186,-0.2554206287932839,-0.24624860406489035,-0.23826748105184525,-0.2312569191044377,-0.22504181254751635,-0.21947000461039318,-0.21446196237727078,-0.2098997149423305,-0.2057440460247187},
{-0.28688807760253865,-0.7240727182795512,-0.6604573088983481,-0.5398985441000365,-0.45654779058252093,-0.3998081094863646,-0.3546677023397422,-0.3332759692217232,-0.3121460456111238,-0.29374820851621986,-0.2786176903872354,-0.2660201013612938,-0.25534455958713453,-0.2461766108883516,-0.23819900434623892,-0.23119150099461663,-0.22497907823873362,-0.21940965006086735,-0.21440372607259486,-0.20984338611320458,-0.20568943840029327},
{-0.2897858203255671,-0.7248005978008809,-0.6604492327062804,-0.5397667475582502,-0.4564071149825811,-0.39967825982654104,-0.35455262163324963,-0.3331857346480089,-0.3120470109488502,-0.293655460171074,-0.2785313634077475,-0.26593933286159077,-0.255268552962375,-0.2461046776503963,-0.23813058510648058,-0.23112613809212498,-0.22491639708851688,-0.21934934680977727,-0.21434553938056294,-0.20978710535687553,-0.20563487744486675},
{-0.29267731414105713,-0.7255254803375139,-0.660440099524198,-0.539634670003654,-0.45626638873879066,-0.39954843566148923,-0.35443762755524383,-0.33309541223203987,-0.31194802787331055,-0.2935627786375359,-0.2784451034999774,-0.26585862953242473,-0.25519260889052797,-0.24603280431785837,-0.2380622232969109,-0.23106083035993985,-0.22485376905919238,-0.21928909481920855,-0.21428740226329113,-0.2097308726356445,-0.20558036312104855},
{-0.29556256680601267,-0.7262473722205518,-0.6604299146512183,-0.5395023135657685,-0.45612561277697483,-0.39941863743407796,-0.35432271998972653,-0.33300500297990976,-0.31184909661318405,-0.29347016395787234,-0.27835891066162305,-0.26577799135440866,-0.2551167273428296,-0.24596099085733775,-0.23799391888166954,-0.23099557776089769,-0.22479119411295825,-0.21922889405113766,-0.21422931468276335,-0.20967468791170338,-0.2055258953913511},
{-0.2984415860895049,-0.7269662797805577,-0.6604186833632744,-0.5393696803625845,-0.4559847880172117,-0.3992888655840083,-0.35420789882118264,-0.33291450789791,-0.31175021739464087,-0.29337761617343583,-0.27827278488992513,-0.2656974183078045,-0.2550409082902433,-0.24588923723521697,-0.23792567182472335,-0.23093038025766208,-0.22472867221187362,-0.21916874446742185,-0.21417127660089452,-0.2096185511471586,-0.20547147421820122},
{-0.301314379772497,-0.7276822093475298,-0.6604064109131867,-0.5392367725005462,-0.45584391537380076,-0.3991591205477977,-0.3540931639346022,-0.33282392799237437,-0.311651390441403,-0.2932851353246738,-0.2781867261816572,-0.2656169103724873,-0.2549651517034425,-0.24581754341767245,-0.23785748208986374,-0.23086523781275797,-0.2246662033178754,-0.21910864602980745,-0.2141132879794709,-0.2095624623040273,-0.20541709956393903},
{-0.3041809556477002,-0.7283951672508979,-0.6603931025307833,-0.5391035920746545,-0.4557029957553488,-0.39902940275882465,-0.3539785152154272,-0.3327332642694986,-0.31155261597470624,-0.2931927214511273,-0.2781007345331574,-0.26553646752794835,-0.2548894575528442,-0.245745909370639,-0.23778934964069054,-0.23080015038857138,-0.22460378739277811,-0.21904859869991555,-0.21405534878020085,-0.20950642134424033,-0.20536277139083284},
{-0.30704132151940794,-0.7291051598195016,-0.6603787634229863,-0.5389701411685491,-0.455562030064788,-0.39889971264735513,-0.3538639525496453,-0.33264251773518866,-0.31145389421338027,-0.29310037459148325,-0.27801480994028654,-0.2654560897533528,-0.254813825808594,-0.24567433505988526,-0.2377212744406564,-0.23073511794732562,-0.2245414243982657,-0.21898860243928997,-0.21399745896469582,-0.2094504282296482,-0.20530848966106113},
{-0.30989548520334986,-0.729812193381574,-0.6603633987739096,-0.5388364218544809,-0.45542101919937517,-0.398770050640512,-0.35374947582368765,-0.33255168939487023,-0.31135522537380117,-0.2930080947835022,-0.27792895239847004,-0.2653757770274454,-0.2547382564405529,-0.24560282045091839,-0.23765325645301164,-0.23067014045110104,-0.22447911429589612,-0.21892865720933263,-0.2139396184944592,-0.2093944829219836,-0.20525425433671385},
{-0.31274345452652585,-0.7305162742647109,-0.66034701374494,-0.5387024361934868,-0.4552799640507692,-0.3986404171623582,-0.353635084924497,-0.33246078025337067,-0.3112566096699623,-0.292915882064105,-0.2778431619026902,-0.2652955293286557,-0.2546627494183388,-0.24553136550906648,-0.23758529564085384,-0.23060521786184465,-0.22441685704711398,-0.2188687629713612,-0.21388182733091776,-0.209338585382932,-0.20520006537981358},
{-0.315585237327063,-0.7312174087958689,-0.6603296134748496,-0.5385681862353553,-0.45513886550504234,-0.398510812633876,-0.3535207797395364,-0.3323697913147285,-0.3111580473134539,-0.29282373646932347,-0.2777574384474628,-0.265215346635024,-0.25458730471128616,-0.24545997019944166,-0.23751739196709593,-0.2305403501413406,-0.2243546526132163,-0.218808919686565,-0.21382408543537898,-0.2092827355740637,-0.20514592275229138},
{-0.3184208414540555,-0.7319156033013333,-0.6603112030798783,-0.5384336740187281,-0.45499772444271186,-0.3983812374729888,-0.3534065601567288,-0.3322787235820738,-0.31105953851350676,-0.29273165803433965,-0.27767178202688875,-0.2651352289242531,-0.2545119222884858,-0.2453886344869522,-0.23744954539449584,-0.23047553725126188,-0.2242925009554234,-0.21874912731604435,-0.21376639276908901,-0.20922693345688337,-0.20509182641600185},
{-0.3212502747674142,-0.7326108641066873,-0.6602917876538268,-0.5382989015711753,-0.4548565417387963,-0.39825169209460365,-0.3532924260645448,-0.3321875780574543,-0.3109610834769907,-0.2926396467934854,-0.2775861926346123,-0.26505517617369084,-0.25443660211875824,-0.2453173583363104,-0.2373817558856422,-0.23041077915311386,-0.22423040203479164,-0.21868938582078723,-0.21370874929317896,-0.20917117899280885,-0.20503777633274184},
{-0.32407354513771813,-0.7333031975368025,-0.6602713722681608,-0.5381638709092031,-0.45471531826279254,-0.3981221769105914,-0.3531783773519325,-0.33209635574172186,-0.31086268240842996,-0.29254770278024184,-0.2775006702638493,-0.264975188360328,-0.2543613441706721,-0.2452461417120164,-0.2373140234029538,-0.23034607580827604,-0.224168355812291,-0.21862969516168496,-0.21365115496870185,-0.20911547214317405,-0.2049837724642037},
{-0.3268906604460632,-0.7339926099158034,-0.6602499619720885,-0.538028584038365,-0.4545740548787789,-0.39799269232984386,-0.3530644139083421,-0.3320050576343705,-0.31076433551002675,-0.29245582602724884,-0.27741521490738097,-0.2648952654608221,-0.25428614841254477,-0.24517498457837472,-0.237246347908695,-0.23028142717800196,-0.22410636224875932,-0.21857005529952753,-0.21359360975661315,-0.20905981286923672,-0.20492981477202102},
{-0.3297016285839102,-0.7346791075670431,-0.6602275617926612,-0.5378930429532807,-0.4544327524453822,-0.397863238758264,-0.3529505356237559,-0.33191368473341143,-0.31066604298168393,-0.2923640165663219,-0.2773298265575531,-0.26481540745147264,-0.25421101481242925,-0.24510388689949694,-0.23717872936495782,-0.23021683322337844,-0.22404442130491825,-0.21851046619499392,-0.21353611361779534,-0.20900420113216964,-0.20487590321776217},
{-0.3325064574529421,-0.7353626968130785,-0.6602041767348718,-0.5377572496377071,-0.4542914118158516,-0.3977338165988021,-0.35283674238862484,-0.3318222380352297,-0.3105678050210057,-0.2922722744284462,-0.27724450520628086,-0.2647356143082379,-0.2541359433381385,-0.2450328486392916,-0.23711116773367202,-0.2301522939053837,-0.223982532941386,-0.2184509278086565,-0.21347866651301622,-0.20894863689305931,-0.2048220377629011},
{-0.33530515496490565,-0.7360433839756297,-0.6601798117817227,-0.5376212060646284,-0.45415003383808505,-0.3976044262514734,-0.3527230340939639,-0.33173071853447844,-0.3104696218233104,-0.29218059964379556,-0.27715925084506626,-0.2646558860067657,-0.25406093395724644,-0.24496186976148993,-0.23704366297662982,-0.2300878091848661,-0.2239206971186558,-0.21839144010102185,-0.21342126840298936,-0.20889312011295175,-0.2047682183688736},
{-0.3380977290414805,-0.7367211753755694,-0.6601544718943512,-0.5374849141962226,-0.4540086193546247,-0.39747506811333383,-0.35260941063124696,-0.3316391272239262,-0.3103714935816686,-0.2920889922417131,-0.27707406346495633,-0.26457622252232676,-0.2539859866370596,-0.24489095022960536,-0.23697621505543706,-0.23002337902251924,-0.22385891379711473,-0.2183320030324564,-0.2133639192483181,-0.208837650752771,-0.20471444499700886},
{-0.34088418761411854,-0.7373960773328736,-0.6601281620120915,-0.5373483759840479,-0.45386716920274517,-0.397345742578589,-0.35249587189248033,-0.3315474650943626,-0.3102734204868989,-0.2919974522507593,-0.2769889430566207,-0.2644966238298959,-0.25391110134466444,-0.24482009000698282,-0.23690882393157564,-0.22995900337892433,-0.22379718293704212,-0.21827261656327912,-0.2133066190095378,-0.2087822287734033,-0.2046607176086041},
{-0.34366453862390584,-0.7380680961666006,-0.6601008870525757,-0.5372115933689806,-0.45372568421441883,-0.3972164500385064,-0.35238241777019375,-0.33145573313445137,-0.3101754027275885,-0.2919059796986918,-0.27690388961027057,-0.2644170899041103,-0.25383627804688624,-0.24474928905676951,-0.2368414895663446,-0.2298946822145429,-0.2237355044986031,-0.21821328065365764,-0.21324936764708569,-0.20872685413562947,-0.20460703616486284},
{-0.34643879002141953,-0.7387372381948478,-0.660072651911831,-0.5370745682813248,-0.453584165216404,-0.397087190881501,-0.3522690481573989,-0.33136393233063915,-0.31007744049010943,-0.2918145746124662,-0.2768189031157225,-0.2643376207192658,-0.2537615167103217,-0.24467854734192726,-0.23677421192090475,-0.2298304154896743,-0.22367387844184644,-0.2181539952637051,-0.2131921651213298,-0.2086715268001833,-0.2045534006269359},
{-0.34920694976658034,-0.7394035097347307,-0.6600434614643573,-0.5369373026409059,-0.45344261303027333,-0.39695796549316276,-0.3521557629476613,-0.3312720636670321,-0.30997953395863537,-0.29172323701826547,-0.27673398356236406,-0.2642582162493508,-0.2536868173013374,-0.24460786482523827,-0.23670699095626044,-0.2297662031645227,-0.2236123047267322,-0.21809476035343234,-0.2131350113925552,-0.20861624672771165,-0.2044998109559141},
{-0.3519690258285123,-0.7400669171023345,-0.6600133205632279,-0.5367997983570165,-0.45330102847235637,-0.3968287742561895,-0.35204256203502315,-0.3311801281252729,-0.30988168331514415,-0.29163196694148186,-0.27664913093917787,-0.2641788764680247,-0.25361217978604983,-0.24453724146929048,-0.23663982663327765,-0.22970204519916218,-0.22355078331310022,-0.21803557588275446,-0.21307790642095537,-0.20856101387880155,-0.20444626711281638},
{-0.354725026185402,-0.7407274666126943,-0.6599822340401631,-0.5366620573285981,-0.4531594123539054,-0.3966996175505054,-0.35192944531404824,-0.3310881266844789,-0.30978388873944757,-0.29154076440674287,-0.27656434523473894,-0.26409960134863286,-0.2535376041303569,-0.2444666772365068,-0.23657271891266485,-0.22963794155354708,-0.22348931416068932,-0.21797644181150155,-0.21302085016665523,-0.2085058282139725,-0.20439276905859988},
{-0.3574749588243559,-0.7413851645797344,-0.6599502067056398,-0.5365240814442006,-0.45301776548100525,-0.3965704957532213,-0.35181641267982966,-0.33099606032108436,-0.30968615040922143,-0.29144962943791897,-0.27647962643720664,-0.2640203908642152,-0.2534630902999124,-0.244396172089117,-0.23650566775499027,-0.2295738921874954,-0.2234278972291323,-0.21791735809939666,-0.21296384258969164,-0.20845068969365355,-0.2043393167541717},
{-0.3602188317412588,-0.7420400173162564,-0.6599172433489636,-0.5363858725820828,-0.4528760886546773,-0.39644140923865,-0.3517034640279434,-0.33090393000877366,-0.30958846849996496,-0.29135856205810057,-0.2763949745343389,-0.26394124498748095,-0.25338863826016117,-0.24432572598917413,-0.23643867312065728,-0.2295098970607099,-0.2233665324779599,-0.21785832470609484,-0.2129068836500315,-0.20839559827822385,-0.20428591016034842},
{-0.3629566529406411,-0.7426920311338829,-0.6598833487383656,-0.5362474326102792,-0.4527343826709032,-0.39631235837837164,-0.35159059925451197,-0.33081173671838116,-0.30949084318507675,-0.2912675622896376,-0.2763103895134924,-0.26386216369084553,-0.2533142479763007,-0.24425533889856624,-0.23637173496994932,-0.22944595613277977,-0.22330521986660853,-0.21779934159115813,-0.21284997330757477,-0.20834055392800716,-0.20423254923792505},
{-0.36568843043553356,-0.7433412123430292,-0.6598485276210894,-0.5361087633865897,-0.452592648320587,-0.3961833435411698,-0.35147781825615204,-0.33071948141778695,-0.3093932746358417,-0.2911766301541389,-0.27622587136161947,-0.26378314694640626,-0.2532399194133247,-0.24418501077899452,-0.2363048532630031,-0.22938206936317207,-0.22324395935440075,-0.21774040871404832,-0.21279311152211874,-0.20828555660323467,-0.2041792339476126},
{-0.3684141722473347,-0.7439875672528513,-0.6598127847234722,-0.5359698667587198,-0.4524508863896782,-0.39605436509314085,-0.3513651209299836,-0.3306271650718329,-0.30929576302143386,-0.29108576567245903,-0.2761414200652783,-0.26370419472597395,-0.25316565253598977,-0.24411474159199092,-0.23623802795981103,-0.22931823671124438,-0.22318275090057357,-0.21768152603416607,-0.2127362982534166,-0.20823060626409473,-0.20412596425005947},
{-0.3711338864056673,-0.7446311021712193,-0.6597761247510374,-0.5358307445642531,-0.4523090976591211,-0.39592542339762915,-0.3512525071736543,-0.33053478864222563,-0.3091983085089646,-0.290994968864726,-0.2760570356106194,-0.2636253070010366,-0.25309144730884375,-0.24404453129892423,-0.23617125902022415,-0.22925445813622583,-0.2231215944642417,-0.21762269351080574,-0.21267953346111435,-0.20817570287069054,-0.20407274010586973},
{-0.37384758094824855,-0.7452718234046611,-0.6597385523885797,-0.5356913986307548,-0.45216728290493396,-0.3957965188152899,-0.3511399768853041,-0.3304423530874615,-0.3091009112634641,-0.29090423975033364,-0.2759727179834159,-0.2635464837427949,-0.2530173036962097,-0.2439743798609777,-0.23610454640394898,-0.22919073359724573,-0.22306049000444622,-0.21756391110317674,-0.2126228171048092,-0.20812084638308198,-0.2040195614755837},
{-0.3765552639207587,-0.745909737258337,-0.6597000723002568,-0.5355518307758423,-0.45202544289824487,-0.39566765170411755,-0.3510275299636066,-0.330349859362741,-0.309003571447917,-0.29081357834796623,-0.27588846716903936,-0.26346772492216386,-0.25294322166219607,-0.24390428723919041,-0.2360378900705801,-0.22912706305331237,-0.22299943748013343,-0.21750517877043515,-0.2125661491440261,-0.2080660367612723,-0.20396642831969083},
{-0.37925694337669114,-0.7465448500359771,-0.6596606891296708,-0.5354120428071425,-0.4518835784052432,-0.3955388224194002,-0.35091516630772157,-0.3302573084198785,-0.3089062892232759,-0.2907229846755768,-0.2758042831524736,-0.2633890305097436,-0.2528692011706964,-0.24383425339440667,-0.23597128997954947,-0.22906344646331578,-0.2229384368501295,-0.2174464964716184,-0.21250952953820307,-0.20801127396516936,-0.20391334059860733},
{-0.3819526273772367,-0.7471771680398518,-0.6596204074999478,-0.5352720365224731,-0.45174169018731647,-0.3954100313138079,-0.35080288581732383,-0.33016470120722935,-0.3088090647484636,-0.2906324587504154,-0.2757201659183209,-0.26331040047586407,-0.25279524218540783,-0.24376427828733302,-0.2359047460901738,-0.22899988378605757,-0.22287748807319385,-0.2173878641657072,-0.21245295824673496,-0.2079565579546592,-0.20386029827271604},
{-0.3846423239911425,-0.7478066975707217,-0.6595792320138403,-0.5351318137097903,-0.4515997790009776,-0.3952812787373599,-0.3506906883925999,-0.33007203866962737,-0.30871189818038786,-0.2905420005890252,-0.27563611545079164,-0.26323183479055806,-0.2527213446697932,-0.24369436187849342,-0.23583825836163014,-0.2289363749802042,-0.22281659110797336,-0.21732928181159814,-0.21239643522890395,-0.2079018886895374,-0.20380730130233102},
{-0.3873260412945777,-0.748433444927801,-0.6595371672537979,-0.5349913761472838,-0.451457845597964,-0.3951525650374598,-0.35057857393422087,-0.3299793217482803,-0.30861478967398726,-0.2904516102072449,-0.27555213173371257,-0.2631533334235673,-0.2526475085871221,-0.24362450412825917,-0.23577182675296454,-0.22887292000433213,-0.22275574591302783,-0.21727074936809435,-0.21233996044396647,-0.20784726612955484,-0.20375434964771658},
{-0.3900037873710075,-0.7490574164086875,-0.6594942177820466,-0.5348507256034535,-0.4513158907252506,-0.39502389055891785,-0.3504665423433963,-0.3298865513807363,-0.3085177393821979,-0.2903612876202363,-0.2754682147505433,-0.2630748963443711,-0.25257373390046073,-0.2435547049968442,-0.23570545122309605,-0.22880951881690717,-0.22269495244682758,-0.21721226679394523,-0.21228353385109233,-0.20779269023441094,-0.20370144326910075},
{-0.3926755703110596,-0.7496786183093547,-0.6594503881407047,-0.5347098638370922,-0.4511739151250297,-0.394895255643939,-0.350354593521807,-0.3297937285007819,-0.3084207474560073,-0.29027103284246003,-0.2753843644843523,-0.26299652352213904,-0.25250002057265974,-0.2434849644443032,-0.23563913173080991,-0.2287461713762786,-0.22263421066775213,-0.21715383404780844,-0.21222715540937948,-0.20773816096372832,-0.2036485821266425},
{-0.39534139821239667,-0.7502970569240669,-0.6594056828518271,-0.53456879259741,-0.45103191953481664,-0.3947666606321758,-0.3502427273716406,-0.32970085403841054,-0.3083238140444472,-0.2901808458876956,-0.27530058091784354,-0.26291821492579975,-0.25242636856639034,-0.24341528243052693,-0.23557286823477827,-0.22868287764072034,-0.22257352053409368,-0.21709545108827566,-0.21217082507788246,-0.20768367827710105,-0.20359576618045488},
{-0.39800127917958444,-0.750912738545356,-0.6593601064175123,-0.5344275136240315,-0.45088990468739576,-0.39463810586071135,-0.3501309437956053,-0.32960792891972224,-0.3082269392946241,-0.290090726769055,-0.27521686403334006,-0.26283997052398084,-0.25235277784409704,-0.24334565891526072,-0.23550666069354062,-0.22861963756836706,-0.222512882004057,-0.21703711787385285,-0.21211454281556535,-0.2076292421340267,-0.20354299539060605},
{-0.4006552213239707,-0.7515256694639696,-0.6593136633199933,-0.5342860286470656,-0.45074787131091065,-0.39450959166410343,-0.350019242696867,-0.3295149540668921,-0.30813012335171097,-0.2900006754989759,-0.2751332138128018,-0.26276179028503643,-0.2522792483680343,-0.2432760938580813,-0.23544050906549963,-0.22855645111726813,-0.222452295035752,-0.21697883436296422,-0.21205830858133556,-0.20757485249397611,-0.20349026971711354},
{-0.40330323276354385,-0.7521358559688051,-0.6592663580216922,-0.5341443393871903,-0.45060582012889283,-0.3943811183743975,-0.34990762397913716,-0.3294219303980948,-0.3080333663589958,-0.28991069208922926,-0.27504963023782614,-0.2626836741770748,-0.25220578010027833,-0.24320658721843677,-0.235374413308959,-0.22849331824538094,-0.22239175958721225,-0.21692060051399537,-0.21200212233404242,-0.207520509316373,-0.2034375891199617},
{-0.40594532162282726,-0.7527433043468925,-0.6592181949653304,-0.534002447555602,-0.45046375186019716,-0.3942526863210758,-0.34979608754658126,-0.32932885882744767,-0.3079366684578555,-0.2898207765509168,-0.2749661132896174,-0.262605622167909,-0.252132373002683,-0.24313713895560082,-0.23530837338207997,-0.22843023891055111,-0.22233127561637386,-0.21686241628521563,-0.21194598403247095,-0.20746621256055736,-0.203384953559063},
{-0.4085814960327331,-0.7533480208833154,-0.6591691785740006,-0.5338603548542136,-0.4503216672191679,-0.3941242958312006,-0.349684633303866,-0.32923574026497093,-0.3078400297878061,-0.28973092889450924,-0.2748826629490545,-0.26252763422510766,-0.25205902703694266,-0.24306774902872041,-0.23524238924292545,-0.2283672130705264,-0.22227084308111125,-0.21680428163486568,-0.21188989363535282,-0.20741196218584906,-0.20333236299430346},
{-0.41121176413044724,-0.7539500118611754,-0.6591193132512435,-0.5337180629755548,-0.45017956691552996,-0.39399594722930303,-0.3495732611561681,-0.3291425756165085,-0.30774345048650625,-0.28964114912981365,-0.2747992791966343,-0.2624497103159733,-0.25198574216452474,-0.24299841739676997,-0.23517646084941826,-0.22830424068296234,-0.2222104619391877,-0.21674619652107666,-0.21183385110134578,-0.20735775815148486,-0.2032798173855302},
{-0.413836134059309,-0.754549283561538,-0.659068603381139,-0.5335755736029083,-0.4500374516545125,-0.3938676408374666,-0.34946197100911913,-0.32904936578370403,-0.30764693068975746,-0.28955143726599286,-0.2747159620124935,-0.26237185040753846,-0.2519125183467331,-0.24292914401859328,-0.23511058815937314,-0.2282413217054054,-0.2221501321482993,-0.2166881609019381,-0.21177785638903085,-0.20730360041666526,-0.20322731669252592},
{-0.41645461396867867,-0.755145842263387,-0.6590170533283899,-0.5334328884103798,-0.44989532213685723,-0.39373937697535477,-0.3493507627688756,-0.3289561116639491,-0.30755047053153883,-0.28946179331158167,-0.27463271137642126,-0.2622940544665847,-0.2518393555446821,-0.24285992885289573,-0.23504477113048555,-0.22817845609532478,-0.22208985366607084,-0.216630174735462,-0.21172190945698255,-0.20724948894053613,-0.2031748608750499},
{-0.4190672120138149,-0.7557396942435597,-0.6589646674383907,-0.5332900090628266,-0.44975317905877044,-0.3936111559601486,-0.3492396363420497,-0.3288628141502996,-0.30745407014400494,-0.2893722172744715,-0.2745495272678485,-0.26221632245964294,-0.2517662537192949,-0.24279077185822107,-0.23497900972034272,-0.22811564381008492,-0.22202962645002983,-0.2165722379795871,-0.21166601026366416,-0.2071954236822037,-0.2031224498928152},
{-0.4216739363557679,-0.756330845776718,-0.6589114500373171,-0.5331469372160659,-0.4496110231120636,-0.3934829781066567,-0.3491285916357407,-0.3287694741314937,-0.3073577296575187,-0.28928270916192567,-0.2744664096658674,-0.2621386543529894,-0.2516932128313082,-0.24272167299298447,-0.23491330388641413,-0.2280528848069616,-0.22196945045762567,-0.21651435059219445,-0.2116101587675124,-0.20714140460071595,-0.20307008370547736},
{-0.42427479516123345,-0.7569193031352666,-0.658857405432208,-0.5330036745167847,-0.4494688549840792,-0.39335484372725427,-0.3490176285575436,-0.3286760924918516,-0.30726144920065684,-0.2891932689806104,-0.27438335854919843,-0.26206105011264663,-0.25162023284129226,-0.2426526322154581,-0.23484765358606582,-0.22799017904313168,-0.22190932564624793,-0.216456512531097,-0.21155435492689406,-0.20708743165506088,-0.20301776227268015},
{-0.4268697966024543,-0.7575050725893301,-0.6588025379110415,-0.5328602226026576,-0.4493266753577708,-0.3932267531319441,-0.3489067470155013,-0.3285826701112603,-0.30716522890020753,-0.28910389673652825,-0.27430037389623685,-0.2619835097043853,-0.251547313709627,-0.24258364948376318,-0.23478205877651973,-0.22792752647568582,-0.22184925197318553,-0.21639872375402175,-0.2114985987001124,-0.20703350480419133,-0.20296548555398536},
{-0.4294589488570885,-0.7580881604066789,-0.658746851742819,-0.5327165831024172,-0.44918448491174634,-0.393098706628361,-0.34879594691817045,-0.32848920786514485,-0.3070690688812207,-0.2890145924351109,-0.27421745568501493,-0.2619060330937457,-0.2514744553965123,-0.24251472475590546,-0.23471651941493027,-0.22786492706162206,-0.22178922939567122,-0.21634098421867012,-0.21144289004543407,-0.2069796240070206,-0.20291325350896566},
{-0.4320422601080955,-0.7586685728526907,-0.6586903511776465,-0.5325727576358077,-0.4490422843202123,-0.3929707045217635,-0.3486852281745544,-0.32839570662440587,-0.30697296926699014,-0.28892535608116876,-0.27413460389325234,-0.26182862024600617,-0.25140165786197943,-0.24244585798974613,-0.2346510354583185,-0.22780238075785364,-0.22172925787086026,-0.2162832938826542,-0.21138722892106157,-0.20692578922238697,-0.20286106609711718},
{-0.4346197385436157,-0.7592463161902842,-0.6586330404468022,-0.5324287478137449,-0.44890007425309414,-0.3928427471150808,-0.3485745906941251,-0.3283021672554025,-0.30687693017908474,-0.2888361876789041,-0.2740518184982982,-0.2617512711262258,-0.2513289210658904,-0.24237704914299407,-0.23458560686360597,-0.22773988752120497,-0.2216693373558153,-0.21622565270352814,-0.21133161528515396,-0.2068720004091154,-0.20280892327791303},
{-0.43719139235685156,-0.7598213966798737,-0.6585749237628248,-0.5322845552382693,-0.448757855375971,-0.3927148347089011,-0.34846403438684637,-0.3282085906199029,-0.30678095173736136,-0.2887470872319299,-0.27396909947717596,-0.26167398569919603,-0.25125624496791665,-0.24230829817325297,-0.23452023358760843,-0.2276774473084017,-0.2216094678075442,-0.21616806063878752,-0.21127604909579473,-0.20681825752594785,-0.20275682501077855},
{-0.43975722974595155,-0.760393820579309,-0.6585160053195985,-0.5321401815026331,-0.4486156283501787,-0.39258696760150025,-0.3483535591631074,-0.3281149775750703,-0.3066850340599694,-0.2886580547432578,-0.273886446806575,-0.26159676392948844,-0.2511836295275721,-0.24223960503796999,-0.23445491558701456,-0.2276150600761004,-0.22154964918297523,-0.2161105176458532,-0.21122053031101456,-0.20676456053161568,-0.20270477125509484},
{-0.44231725891389867,-0.7609635941438355,-0.6584562892924255,-0.5319956281913949,-0.44847339383282026,-0.3924591460888707,-0.34824316493381535,-0.3280213289734206,-0.30658917726338103,-0.2885690902153246,-0.27380386046285937,-0.26151960578144645,-0.2511110747041959,-0.2421709696944719,-0.2343896528184471,-0.22755272578085903,-0.22148988143896808,-0.2160530236821085,-0.21116505888882622,-0.20671090938479075,-0.20265276197024706},
{-0.44487148806839116,-0.761530723626021,-0.6583957798380963,-0.5318508968803354,-0.4483311524767116,-0.39233137046467936,-0.3481328516102917,-0.3279276456627872,-0.3064933814623977,-0.28848019364997185,-0.2737213404220584,-0.26144251121916934,-0.251038580456972,-0.24210239209998086,-0.23432444523840343,-0.2274904443791677,-0.2214301645323305,-0.21599557870487043,-0.2111096347871567,-0.2066573040441074,-0.20260079711553244},
{-0.44741992542172093,-0.7620952152757076,-0.6583344810949745,-0.5317059891366525,-0.44818890493052815,-0.39220364102036065,-0.3480226191043335,-0.32783392848631254,-0.30639764677015696,-0.28839136504847873,-0.27363888665987474,-0.26136548020653977,-0.2509661467449066,-0.2420338722115423,-0.23425929280328717,-0.22742821582741954,-0.22137049841977122,-0.21593818267139034,-0.21105425796391525,-0.20660374446815066,-0.20254887665023874},
{-0.449962579190675,-0.7626570753399627,-0.6582723971830831,-0.5315609065188991,-0.4480466518387106,-0.392075958045059,-0.3479124673282038,-0.3277401782824125,-0.3063019732981522,-0.2883026044115281,-0.27355649915167696,-0.26128851270718695,-0.25089377352684405,-0.2419654099861198,-0.2341941954693918,-0.22736604008192549,-0.22131088305793783,-0.21588083553886672,-0.21099892837692158,-0.20655023061545946,-0.2024970005336201},
{-0.45249945759640786,-0.7632163100630184,-0.6582095322041681,-0.5314156505770742,-0.4479043938415884,-0.3919483218256849,-0.3478023961945879,-0.3276463958847361,-0.306206361156251,-0.28821391173925087,-0.2734741778725159,-0.2612116086845361,-0.25082146076145784,-0.24189700538051373,-0.23412915319291241,-0.2273039170989127,-0.22125131840341727,-0.21582353726442674,-0.2109436459839629,-0.20649676244453768,-0.20244516872487606},
{-0.455030568864336,-0.7637729256862122,-0.6581458902417773,-0.5312702228526907,-0.44776213157535893,-0.39182073264693046,-0.3476924056166605,-0.3275525821221766,-0.3061108104527202,-0.28812528703121376,-0.2733919227971317,-0.26113476810177816,-0.2507492084072811,-0.2418286583514388,-0.23406416592995988,-0.22724184683454812,-0.22119180441274117,-0.2157662878051721,-0.21088841074280026,-0.20644333991385774,-0.20239338118320246},
{-0.4575559212240258,-0.7643269284479437,-0.6580814753613548,-0.5311246248787315,-0.4476198656720799,-0.39169319079124,-0.3475824955080131,-0.3274587378188102,-0.3060153212942061,-0.2880367302864214,-0.2733097338999303,-0.26105799092188403,-0.2506770164226735,-0.2417603688554551,-0.233999233636535,-0.22717982924488966,-0.22113234104235202,-0.2157090871181275,-0.21083322261111778,-0.20638996298182377,-0.20234163786772758},
{-0.4600755229090776,-0.7648783245835984,-0.6580162916102871,-0.5309788581798118,-0.4474775967597658,-0.3915656965388779,-0.34747266578268965,-0.32736486379391444,-0.3059198937857682,-0.2879482415033158,-0.27322761115500693,-0.2609812771076197,-0.2506048847658383,-0.24169213684902463,-0.2339343562685491,-0.22711786428594608,-0.2210729282486376,-0.2156519351602731,-0.2107780815465713,-0.2063366316068407,-0.20228993873757173},
{-0.46258938215702383,-0.7654271203255174,-0.6579503430180003,-0.5308329242721292,-0.4473353254623311,-0.3914382501679087,-0.3473629163551884,-0.32727096086192003,-0.3058245280309118,-0.28785982067980187,-0.27314555453615624,-0.26090462662150415,-0.2505328133948246,-0.24162396228848293,-0.2338695337818275,-0.22705595191363154,-0.2210135659879367,-0.2155948318885232,-0.21072298750676138,-0.20628334574723534,-0.20223828375180747},
{-0.4650975072092116,-0.7659733219029208,-0.6578836335960447,-0.5306868246635434,-0.4471930523996876,-0.39131085195421633,-0.3472532471404203,-0.32717702983240704,-0.3057292241315684,-0.28777146781323065,-0.27306356401683646,-0.26082803942585175,-0.25046080226752016,-0.2415558451300314,-0.23380476613207773,-0.22699409208377155,-0.22095425421649886,-0.2155377772597441,-0.2106679404492433,-0.20623010536131858,-0.20218667286947845},
{-0.46759990631068926,-0.7665169355418588,-0.6578161673381302,-0.5305405608536612,-0.44705077818774147,-0.39118350217153786,-0.3471436580537742,-0.3270830715100902,-0.30563398218813437,-0.287683182900421,-0.27298163957022314,-0.2607515154827809,-0.25038885134168476,-0.24148778532978205,-0.23374005327493586,-0.2269322847521515,-0.2208949928905366,-0.21548077123076204,-0.21061294033153166,-0.20617691040736463,-0.20213510604960222},
{-0.4700965877101188,-0.7670579674651585,-0.6577479482202574,-0.5303941343337677,-0.4469085034383583,-0.3910562010914195,-0.34703414901102086,-0.326989086694789,-0.3055388022994545,-0.287594965937634,-0.272899781169155,-0.2606750547541729,-0.2503169605748925,-0.24141978284371127,-0.23367539516593808,-0.22687052987444445,-0.22083578196617626,-0.21542381375833974,-0.21055798711109946,-0.20612376084359119,-0.2020835832511635},
{-0.47258755965964017,-0.7675964238923634,-0.6576789802007477,-0.5302475465870158,-0.44676622875950533,-0.39092894898332253,-0.34692471992840357,-0.3268950761814474,-0.3054436845628867,-0.2875068169206304,-0.2728179887861991,-0.2605986572017132,-0.2502451299245987,-0.24135183762768497,-0.23361079176054433,-0.22680882740627825,-0.22077662139950716,-0.21536690479919168,-0.21050308074538088,-0.20607065662820884,-0.202032104433103},
{-0.4750728304147831,-0.7681323110396677,-0.6576092672203282,-0.5301007990883427,-0.4466239547551345,-0.39080174611453733,-0.3468153707225734,-0.3268010407600699,-0.3053486290742674,-0.2874187358446195,-0.2727362623935971,-0.2605223227868822,-0.25017335934808177,-0.24128394963745797,-0.23354624301411436,-0.22674717730319943,-0.22071751114655133,-0.2153100443099874,-0.2104482211917594,-0.2060175977193594,-0.20198066955435828},
{-0.4775524082343574,-0.7686656351198864,-0.6575388132022266,-0.529953893304564,-0.44648168202533,-0.39067459275026173,-0.34670610131059626,-0.32670698121575553,-0.3052536359279383,-0.28733072270429094,-0.27265460196329394,-0.2604460514709316,-0.25010164880249525,-0.2412161188286654,-0.23348174888190595,-0.22668557952066448,-0.2206584511632574,-0.21525323224733234,-0.2103934084075676,-0.20596458407516877,-0.20192927857379692},
{-0.48002630138034263,-0.7691964023423639,-0.6574676220522215,-0.5298068306944778,-0.44633941116627857,-0.39054748915361814,-0.3465969116099897,-0.3266128983286797,-0.30515870521677313,-0.2872427774938237,-0.2725730074669435,-0.2603698432149308,-0.25002999824484096,-0.24114834515685954,-0.23341730931911947,-0.2266240340140855,-0.22059944140554627,-0.21519646856781044,-0.21033864235013497,-0.205911615653722,-0.20187793145030464},
{-0.48249451811778477,-0.7697246189129452,-0.6573956976587275,-0.5296596127087618,-0.4461971427702467,-0.390420435585588,-0.3464878015386607,-0.3265187928740581,-0.30506383703217527,-0.2871549002068777,-0.27249147887589714,-0.2602936979797408,-0.24995840763198224,-0.2410806285774345,-0.2333529242808552,-0.22656254073878582,-0.22054048182924846,-0.21513975322793072,-0.21028392297670295,-0.20585869241307855,-0.20182662814270177},
{-0.4849570667146937,-0.7702502910339076,-0.657323043892862,-0.5295122407901637,-0.44605487742569916,-0.3902934323051285,-0.3463787710149456,-0.32642466562217143,-0.3049690314641022,-0.287067090836604,-0.2724100161612165,-0.2602176157260258,-0.24988687692063102,-0.24101296904572428,-0.2332885937221283,-0.22650109965002896,-0.22048157239015742,-0.21508308618417477,-0.21022925024451258,-0.2058058143112529,-0.2017753686097814},
{-0.4874139554419354,-0.7707734249039014,-0.657249664608528,-0.5293647163734556,-0.4459126157172171,-0.39016647956912526,-0.3462698199575968,-0.3263305173383424,-0.30487428860108473,-0.28697934937565417,-0.2723286192936746,-0.26014159641424633,-0.24981540606736513,-0.24094536651693332,-0.23322431759788112,-0.22643971070301355,-0.22042271304401895,-0.21502646739296535,-0.21017462411075116,-0.2057529813062257,-0.20172415281035355},
{-0.4898651925731373,-0.7712940267178954,-0.6571755636424792,-0.5292170408854806,-0.4457703582256069,-0.39003957763238817,-0.3461609482857503,-0.3262363487829257,-0.30477960853020725,-0.28689167581616576,-0.27224728824374,-0.26006564000465565,-0.24974399502861802,-0.24087782094614288,-0.23316009586294453,-0.22637837385285087,-0.2203639037464989,-0.21496989681068487,-0.21012004453255997,-0.2057001933559469,-0.20167298070312306},
{-0.49231078638457415,-0.771812102667121,-0.6571007448143935,-0.5290692157452667,-0.4456281055279054,-0.3899127267477379,-0.34605215591898825,-0.3261421607113223,-0.3046849913371571,-0.2868040701497815,-0.2721660229816163,-0.2599897464573338,-0.24967264376069012,-0.24081033228836823,-0.2330959284721092,-0.2263170890546094,-0.22030514445322516,-0.21491337439366281,-0.21006551146705688,-0.20564745041834442,-0.20162185224684626},
{-0.4947507451550719,-0.77232765893902,-0.6570252119269525,-0.5289212423639503,-0.44548585819732306,-0.38978592716592864,-0.345943442777259,-0.3260479538739522,-0.3045904371062161,-0.28671653236766914,-0.27208482347720697,-0.2599139157321442,-0.24960135221974672,-0.24074290049849098,-0.23303181538005419,-0.22625585626328143,-0.22024643511978254,-0.21485690009820851,-0.21001102487132467,-0.20559475245130435,-0.20157076740020963},
{-0.4971850771659135,-0.7728407017171829,-0.6569489687659044,-0.5287731221449442,-0.44534361680339757,-0.3896591791357349,-0.34583480878093764,-0.3259537290162751,-0.30449594592029516,-0.28662906246048336,-0.2720036897001393,-0.2598381477887927,-0.249530120361823,-0.2406755255313079,-0.232967756541398,-0.22619467543379745,-0.2201877757016761,-0.21480047388056345,-0.20995658470240547,-0.20554209941269042,-0.2015197261218781},
{-0.4996137907007241,-0.773351237181281,-0.6568720191001332,-0.5286248564838707,-0.44520138191187064,-0.3895324829039162,-0.3457262538507846,-0.3258594868787606,-0.3044015178609142,-0.28654166041842044,-0.27192262161975395,-0.2597624425867562,-0.24945894814280517,-0.24060820734151156,-0.23290375191066784,-0.22613354652101578,-0.22012916615438433,-0.21474409569693376,-0.20990219091730397,-0.20548949126031546,-0.2014687283705024},
{-0.502036894045379,-0.77385927150703,-0.6567943666817485,-0.5284764467686502,-0.4450591540848382,-0.3894058387152489,-0.3456177779079359,-0.32576522819691667,-0.3043071530082368,-0.28645432623117356,-0.271841619205111,-0.2596868000853347,-0.2493878355184505,-0.24054094588367023,-0.23283980144231395,-0.22607246947973558,-0.2200706064333152,-0.2146877655034723,-0.20984784347298682,-0.20543692795197993,-0.20141777410469036},
{-0.5044543954879097,-0.7743648108661277,-0.656716015246138,-0.5283278943796018,-0.4449169338807217,-0.38927924681255793,-0.3455093808739675,-0.3256709537012786,-0.30421285144110743,-0.2863670598879833,-0.27176068242501517,-0.259611220243676,-0.24931678244440947,-0.24047374111230357,-0.2327759050907297,-0.2260114442647117,-0.22001209649385015,-0.21463148325632014,-0.20979354232641023,-0.2053844094454665,-0.20136686328304337},
{-0.5068663033183907,-0.7748678614261785,-0.6566369685120405,-0.5281792006893151,-0.4447747218542213,-0.3891527074366567,-0.3454010626707769,-0.3255766641173852,-0.3041186132369845,-0.2862798613775922,-0.27167981124796803,-0.2595357030206942,-0.2492457888761728,-0.24040659298178785,-0.23271206281020734,-0.22595047083060749,-0.21995363629129996,-0.21457524891154714,-0.2097392874344628,-0.20533193569849842,-0.2013159958641309},
{-0.5092726258288578,-0.7753684293506627,-0.6565572301816295,-0.528030367062895,-0.44463251855648156,-0.3890262208264608,-0.34529282322070054,-0.32548236016582743,-0.3040244384720542,-0.28619273068830126,-0.27159900564222245,-0.25946024837515363,-0.24917485476912643,-0.24033950144642352,-0.23264827455497722,-0.2258895491320524,-0.2198952257809346,-0.21451906242519814,-0.20968507875404005,-0.20527950666879047,-0.201265171806491},
{-0.5116733713131985,-0.7758665207988704,-0.65647680394057,-0.5278813948578494,-0.4444903245349473,-0.388899787218918,-0.345184662446434,-0.3253880425622152,-0.3039303272211481,-0.28610566780793967,-0.2715182655757435,-0.25938485626562197,-0.24910398007851625,-0.24027246646041064,-0.2325845402792014,-0.22582867912360435,-0.21983686491798005,-0.2144629237532732,-0.20963091624196745,-0.20522712231402335,-0.20121439106865768},
{-0.5140685480670628,-0.7763621419258393,-0.6563956934580981,-0.5277322854241824,-0.44434814033352626,-0.3887734068490573,-0.34507658027103943,-0.32529371201718005,-0.3038362795578412,-0.2860186727238645,-0.27143759101623416,-0.2593095266504978,-0.24903316475945947,-0.240205487977851,-0.23252085993695243,-0.2257678607597548,-0.2197785536576124,-0.2144068328517303,-0.20957679985505662,-0.205174782591851,-0.20116365360911645},
{-0.5164581643877587,-0.7768552988822977,-0.6563139023870757,-0.5275830401044803,-0.4442059664925525,-0.38864707995000736,-0.34496857661798086,-0.3251993692364183,-0.3037422955543949,-0.2859317454230036,-0.27135698193114416,-0.25923425948800133,-0.24896240876696768,-0.24013856595277738,-0.23245723348225145,-0.22570709399496303,-0.2197202919549558,-0.21435078967649884,-0.20952272955010626,-0.20512248745990863,-0.20111295938635543},
{-0.5188422285741683,-0.7773459978146309,-0.6562314343640905,-0.527433660233837,-0.444063803548759,-0.3885208067529681,-0.34486065141106453,-0.3251050149206381,-0.3036483752818051,-0.28584488589181883,-0.27127643828764153,-0.2591590547361662,-0.24889171205591892,-0.24007170033909664,-0.23239366086903368,-0.22564637878360766,-0.21966207976510027,-0.21429479418346833,-0.2094687052838533,-0.20507023687578738,-0.2010623083588254},
{-0.5212207489266435,-0.7778342448647881,-0.6561482930094855,-0.5272841471400225,-0.44392165203540385,-0.3883945874872746,-0.3447528045744877,-0.32501064976561833,-0.30355451880981615,-0.2857580941163243,-0.27119596005263985,-0.2590839123528684,-0.2488210745810756,-0.24000489109064704,-0.2323301420511738,-0.22558571508002545,-0.21960391704308316,-0.21423884632848472,-0.2094147270130282,-0.2050180307970811,-0.2010117004849634},
{-0.5235937337469128,-0.7783200461702566,-0.6560644819274514,-0.5271345021434136,-0.44377951248216174,-0.3882684223803647,-0.34464503603280605,-0.32491627446217364,-0.30346072620690207,-0.2856713700821087,-0.2711155471927967,-0.2590088322958057,-0.24875049629706877,-0.2399381381611777,-0.23226667698247797,-0.22552510283849486,-0.21954580374390364,-0.21418294606737093,-0.20936079469432722,-0.20496586918132165,-0.20096113572319102},
{-0.5259611913379951,-0.7788034078639993,-0.6559800047061113,-0.5269847265570922,-0.44363738541527276,-0.38814231165781155,-0.34453734571092187,-0.3248218896961848,-0.3033669975403083,-0.2855847137743067,-0.2710351996744954,-0.2589338145224942,-0.2486799771584219,-0.2398714415043282,-0.232203265616667,-0.2254645420132281,-0.2194877398225119,-0.21412709335589314,-0.20930690828440285,-0.204913751986053,-0.20091061403189114},
{-0.5283231300040929,-0.7792843360743846,-0.6558948649175365,-0.5268348216869075,-0.44349527135750094,-0.3880162555433621,-0.34442973353412115,-0.32472749614860574,-0.3032733328760655,-0.28549812517761564,-0.27095491746389133,-0.2588588589903054,-0.24860951711953722,-0.23980480107368102,-0.23213990790741806,-0.22540403255841154,-0.21942972523381699,-0.21407128814980467,-0.20925306773991265,-0.20486167916877698,-0.20086013536945635},
{-0.5306795580505164,-0.7797628369251561,-0.6558090661178815,-0.526684788831401,-0.4433531708281051,-0.3878902542588562,-0.34432219942802406,-0.32463309449544664,-0.3031797322789698,-0.2854116042763217,-0.27087470052686236,-0.25878396565642114,-0.24853911613470955,-0.23973821682271135,-0.2320766038083335,-0.22534357442815223,-0.21937175993268643,-0.21401553040481608,-0.20919927301744945,-0.204809650686978,-0.20080969969424406},
{-0.5330304837835789,-0.7802389165353543,-0.6557226118473967,-0.5265346292819972,-0.4432110843429795,-0.3877643080243655,-0.3442147433186156,-0.3245386854078339,-0.3030861958126212,-0.2853251510542732,-0.2707945488290459,-0.2587091344778747,-0.24846877415811258,-0.23967168870480715,-0.2320133532729378,-0.22528316757651348,-0.2193138438739518,-0.213959820076604,-0.20914552407361536,-0.2047576664981219,-0.2007593069645957},
{-0.5353759155105069,-0.7807125810192745,-0.6556355056305236,-0.5263843443229146,-0.44306901241453833,-0.38763841705809915,-0.3441073651322274,-0.32444426955195627,-0.3029927235394382,-0.28523876549490135,-0.2707144623358279,-0.25863436541153434,-0.24839849114379148,-0.2396052166732966,-0.23195015625471505,-0.22522281195753188,-0.21925597701239988,-0.2139041571208183,-0.20909182086496703,-0.20470572655965152,-0.20070895713886344},
{-0.5377158615393587,-0.7811838364864069,-0.6555477509759544,-0.52623393523125,-0.4429269555518371,-0.38751258157646246,-0.34400006479552125,-0.3243498475891136,-0.3028993155206374,-0.2851524475812131,-0.27063444101233747,-0.25855965841408957,-0.24832826704570393,-0.23953880068138297,-0.23188701270706086,-0.22516250752514896,-0.21919815930277203,-0.21384854149306715,-0.20903816334802255,-0.20465383082898103,-0.20065865017533713},
{-0.5400503301789255,-0.781652689041393,-0.655459351376708,-0.526083403277082,-0.4427849142605832,-0.387386801794086,-0.3438928422355343,-0.32425542017573405,-0.3028059718162869,-0.28506619729580124,-0.27055448482347155,-0.258485013442089,-0.24825810181769856,-0.23947244068224344,-0.23182392258332613,-0.22510225423329872,-0.21914039069978347,-0.21379297314894358,-0.20898455147930894,-0.20460197926352275,-0.20060838603234704},
{-0.5423793297386403,-0.7821191447839481,-0.65537031031018,-0.5259327497233532,-0.44264288904305726,-0.3872610779237693,-0.34378569737960724,-0.32416098796335246,-0.30271269248527877,-0.2849800146208636,-0.27047459373387817,-0.2584104304519138,-0.24818799541348455,-0.23940613662891708,-0.23176088583678933,-0.22504205203584077,-0.21908267115809696,-0.2137374520439899,-0.20893098521529763,-0.20455017182066215,-0.2005581646681707},
{-0.5447028685284999,-0.7825832098088368,-0.6552806312382253,-0.525781975826078,-0.44250088039828583,-0.38713541017657105,-0.3436786301554418,-0.3240665515986449,-0.30261947758536534,-0.2848938995381698,-0.27039476770795484,-0.2583359093997969,-0.2481179477866894,-0.23933988847439633,-0.23169790242066596,-0.2249819008865978,-0.21902500063234692,-0.21368197813373152,-0.20887746451245937,-0.20449840845777262,-0.2005079860410911},
{-0.5470209548589618,-0.7830448902057934,-0.6551903176072135,-0.5256310828342525,-0.44235888882189833,-0.3870097987617611,-0.34357164049106775,-0.32397211172344553,-0.3025263271731725,-0.28480785202911696,-0.27031500670988085,-0.2582614502418141,-0.24804795889082148,-0.23927369617159067,-0.23163497228812896,-0.2249218007393563,-0.21896737907713376,-0.21362655137367134,-0.20882398932723514,-0.2044466891322032,-0.2004578501093927},
{-0.5493335970408724,-0.7835041920594887,-0.6550993728481053,-0.5254800719899446,-0.4422169148062765,-0.38688424388685444,-0.3434647283148254,-0.32387766897473436,-0.30243324130417726,-0.2847218720746726,-0.270235310703568,-0.25818705293387645,-0.24797802867928717,-0.23920755967332288,-0.23157209539225848,-0.22486175154782312,-0.21890980644700908,-0.21357117171926418,-0.20877055961602226,-0.2043950138013014,-0.20040775683131826},
{-0.551640803385365,-0.7839611214494545,-0.6550078003765003,-0.525328944528367,-0.44207495884053133,-0.3867587457576427,-0.34335789355541035,-0.3237832239846662,-0.302340220032763,-0.2846359596554152,-0.2701556796527172,-0.25811271743175496,-0.24790815710539227,-0.23914147893234053,-0.23150927168610552,-0.22480175326569418,-0.2188522826964937,-0.21351583912595062,-0.20871717533522072,-0.2043433824223867,-0.2003577061651389},
{-0.5539425822037821,-0.7844156844500619,-0.654915603592733,-0.5251777016777985,-0.44193302141046575,-0.3866333045781555,-0.3432511361418231,-0.32368877738059143,-0.30224726341219216,-0.28455011475155007,-0.2700761135207848,-0.2580384436910661,-0.24783834412233252,-0.2390754539013294,-0.23144650112266085,-0.22474180584660491,-0.21879480778008464,-0.21346055354915222,-0.2086638364412121,-0.20429179495277894,-0.20030769806910553},
{-0.5562389418075897,-0.7848678871304385,-0.6548227858819025,-0.5250263446597706,-0.4417911029987053,-0.3865079205507127,-0.34314445600339255,-0.3235943297850621,-0.3021543714946481,-0.2844643373428838,-0.2699966122709979,-0.25796423166728905,-0.24776858968320836,-0.239009484532883,-0.23138378365483542,-0.2246819092441586,-0.21873738165222956,-0.21340531494424386,-0.20861054289034464,-0.20424025134978074,-0.2002577325014548},
{-0.5585298905082843,-0.785317735554429,-0.6547293506139654,-0.5248748746889647,-0.4416492040845774,-0.38638259387591484,-0.34303785306976575,-0.32349988181583306,-0.3020615443312172,-0.2843786274088415,-0.2699171758663488,-0.2578900813157414,-0.24769889374099868,-0.2389435707795331,-0.2313211192355113,-0.2246220634119016,-0.21868000426734563,-0.21335012326659453,-0.20855729463894582,-0.20418875157067706,-0.20020780942042088},
{-0.5608154366173166,-0.7857652357805415,-0.6546353011437748,-0.5247232929733174,-0.4415073251442606,-0.3862573247526572,-0.3429313272708924,-0.3234054340858915,-0.3019687819719175,-0.2842929849284563,-0.26983780426959386,-0.2578159925915863,-0.24762925624860427,-0.2388777125937151,-0.23125850781748722,-0.22456226830332698,-0.21862267557981824,-0.21329497847152712,-0.2085040916433169,-0.20413729557274488,-0.20015792878422806},
{-0.5630955884460029,-0.7862103938619052,-0.6545406408111761,-0.524571600714097,-0.44136546665075016,-0.38613211337816067,-0.3428248785370483,-0.3233109872034813,-0.3018760844657104,-0.284207409880399,-0.2697584974432919,-0.25774196544988165,-0.24755967715882063,-0.23881190992783397,-0.2311959493535333,-0.2245025238719222,-0.21856539554400004,-0.21323988051436327,-0.20845093385976413,-0.20408588331327981,-0.20010809055110085},
{-0.5653703543054411,-0.7866532158462041,-0.6544453729410563,-0.5244197991058188,-0.4412236290738313,-0.38600695994794076,-0.3427185067988062,-0.3232165417720916,-0.3017834518605044,-0.2841219022429617,-0.26967925534975157,-0.2576679998455036,-0.24749015642434863,-0.2387461627341961,-0.23113344379634415,-0.22444283007111437,-0.2185081641142192,-0.21318482935038185,-0.20839782124454487,-0.204034514749517,-0.20005829467925706},
{-0.5676397425064289,-0.7870937077756319,-0.6543495008433867,-0.5242678893364103,-0.44108181288019965,-0.38588186465586055,-0.34261221198705755,-0.3231220983905,-0.30169088420315376,-0.28403646199406973,-0.2696000779510715,-0.2575940957332077,-0.2474206939977939,-0.23868047096503708,-0.23107099109857626,-0.22438318685426956,-0.21845098124474965,-0.21312982493485277,-0.20834475375394043,-0.2039831898387335,-0.20000854112690072},
{-0.5699037613593793,-0.7875318756868385,-0.6542530278133195,-0.52411587258714,-0.4409400185333402,-0.38575682769410913,-0.34250599403298465,-0.3230276576527719,-0.3015983815394886,-0.2839510891112725,-0.2695209652091166,-0.25752025306760984,-0.24735128983165414,-0.23861483457253135,-0.23100859121282585,-0.22432359417475706,-0.2183938468898576,-0.21307486722300467,-0.20829173134416412,-0.20393190853815765,-0.19995882985225089},
{-0.5721624191742428,-0.787967725610891,-0.6541559571312381,-0.5239637500327112,-0.4407982464936884,-0.3856318492532165,-0.34239985286806274,-0.32293322014827347,-0.30150594391431484,-0.2838657835717609,-0.26944191708554077,-0.25744647180317565,-0.24728194387833724,-0.2385492535087818,-0.23094624409163544,-0.22426405198586877,-0.2183367610037734,-0.21301995617006472,-0.20823875397142694,-0.2038806708050461,-0.19990916081349788},
{-0.5744157242604176,-0.7884012635732021,-0.6540582920628127,-0.5238115228413118,-0.44065649721858247,-0.3855069295220993,-0.3422937884240776,-0.32283878646171427,-0.3014135713714263,-0.28378054535236724,-0.2693629335417992,-0.25737275189424935,-0.24721265609016577,-0.2384837277258368,-0.23088394968750311,-0.22420456024088,-0.21827972354068126,-0.2129650917312266,-0.20818582159195698,-0.2038294765966274,-0.19985953396884296},
{-0.5766636849266795,-0.7888324955935073,-0.6539600358590769,-0.5236591921745691,-0.4405147711622409,-0.3853820686880124,-0.34218780063310494,-0.3227443571731309,-0.3013212639536166,-0.2836953744295679,-0.2692840145390973,-0.2572990932950405,-0.24714342641936085,-0.23841825717566056,-0.2308217079528675,-0.22414511889301464,-0.21822273445476403,-0.21291027386166433,-0.20813293416192505,-0.20377832587013334,-0.19980994927647458},
{-0.5789063094810902,-0.7892614276857866,-0.6538611917564814,-0.5235067591876846,-0.44037306877587623,-0.38525726693661544,-0.34208188942749673,-0.3226499328579366,-0.3012290217026742,-0.28361027077947537,-0.2692051600384535,-0.2572254959596046,-0.24707425481807355,-0.23835284181016814,-0.23075951884013302,-0.22408572789547954,-0.21816579370014347,-0.21285550251653013,-0.20808009163750302,-0.20372721858278894,-0.19976040669457873},
{-0.5811436062309263,-0.7896880658582388,-0.6537617629769548,-0.5233542250293814,-0.44023139050760074,-0.38513252445193025,-0.34197605473992154,-0.32255551408691585,-0.30113684465941737,-0.28352523437786836,-0.2691263700006729,-0.25715195984189787,-0.24700514123833467,-0.23828748158119928,-0.23069738230164438,-0.22402638720142937,-0.21810890123094853,-0.21280077765096206,-0.2080272939748538,-0.20367615469180764,-0.19971090618134388},
{-0.5833755834825975,-0.7901124161132179,-0.6536617527279793,-0.5232015908419798,-0.44008973680253266,-0.3850078414163939,-0.34187029650329864,-0.3224611014262553,-0.3010447328636834,-0.28344026520015475,-0.2690476443863371,-0.25707848489571616,-0.24693608563210895,-0.2382221764405419,-0.2306352982896962,-0.2239670967639812,-0.21805205700126135,-0.212746099220082,-0.20797454113010838,-0.20362513415441386,-0.1996614476949443},
{-0.5856022495415609,-0.7905344844471914,-0.6535611642026296,-0.5230488577614663,-0.4399481081028137,-0.3848832180108722,-0.3417646146508561,-0.32236669543755364,-0.30095268635434214,-0.28335536322141736,-0.26896898315583223,-0.2570050710747531,-0.24686708795126217,-0.23815692633991292,-0.23057326675653897,-0.22390785653623302,-0.21799526096512772,-0.2126914671789687,-0.2079218330594034,-0.20357415692780853,-0.1996120311935585},
{-0.5878236127122549,-0.7909542768506919,-0.6534600005796629,-0.5228960269174147,-0.43980650484752426,-0.3847586544145914,-0.3416590091160868,-0.3222722966778481,-0.300860705169316,-0.28327052841638234,-0.268890386269343,-0.2569317183325535,-0.24679814814758216,-0.23809173123097055,-0.23051128765437812,-0.22384866647123017,-0.21793851307658796,-0.21263688148271698,-0.2078691697188397,-0.20352322296920142,-0.19956265663536668},
{-0.5900396812980135,-0.7913717993082691,-0.653358265023552,-0.522743099433163,-0.43966492747285046,-0.3846341508052688,-0.34155347983280665,-0.3221779056996441,-0.3007687893455712,-0.28318576075944324,-0.2688118536868358,-0.2568584266225471,-0.24672926617277186,-0.2380265910653106,-0.2304493609353756,-0.22378952652199594,-0.21788181328964315,-0.21258234208636556,-0.20781655106452315,-0.20347233223578873,-0.19951332397852667},
{-0.5922504636009851,-0.7917870577984247,-0.653255960684568,-0.5225900764257316,-0.43952337641194683,-0.384509707359021,-0.3414480267351694,-0.32208352305090704,-0.3006769389191445,-0.28310106022466686,-0.2687333853680917,-0.2567851958980548,-0.24666044197843318,-0.2379615057944885,-0.2303874865516532,-0.2237304366415299,-0.21782516155827716,-0.21252784894497473,-0.20776397705254235,-0.2034214846847789,-0.19946403318122152},
{-0.5944559679220676,-0.7922000582936009,-0.6531530906988248,-0.5224369590058895,-0.43938185209507125,-0.38438532425040906,-0.3413426497577898,-0.32198914927509525,-0.3005851539251335,-0.28301642678575895,-0.2686549812726874,-0.25671202611224075,-0.24659167551610017,-0.23789647536996716,-0.2303256644552804,-0.2236713967827738,-0.21776855783646415,-0.21247340201356266,-0.20771144763896823,-0.2033706802733453,-0.19941478420159167},
{-0.5966562025608242,-0.7926108067601021,-0.6530496581883573,-0.5222837482782599,-0.43924035494957764,-0.38426100165249344,-0.34123734883602974,-0.32189478491120493,-0.30049343439772774,-0.2829318604161173,-0.2685766413599942,-0.25663891721816523,-0.24652296673723173,-0.23783149974319484,-0.23026389459827457,-0.22361240689866904,-0.21771200207812097,-0.212419001247139,-0.20765896277986204,-0.20331991895869192,-0.19936557699782312},
{-0.5988511758154078,-0.7930193091580585,-0.6529456662611677,-0.5221304453412002,-0.43909888539985886,-0.38413673973674267,-0.3411321239064256,-0.32180043049374607,-0.300401780370201,-0.28284736108879516,-0.2684983655891985,-0.2565658691687742,-0.2464543155931909,-0.23776657886551822,-0.2302021769326326,-0.22355346694209866,-0.21765549423716493,-0.21236464660068735,-0.2076065224312647,-0.20326920069798518,-0.19931641152805607},
{-0.6010408959824882,-0.7934255714413845,-0.652841118011285,-0.5219770512870086,-0.43895744386748403,-0.3840125386731459,-0.34102697490752854,-0.321706086552797,-0.30031019187491353,-0.28276292877653175,-0.26842015391927904,-0.25649288191688857,-0.2463857220352574,-0.23770171268825202,-0.23014051141030056,-0.22349457686591992,-0.21759903426747562,-0.21231033802918406,-0.20755412654923155,-0.20321852544840993,-0.19926728775043862},
{-0.6032253713571726,-0.7938295995577243,-0.6527360165188443,-0.5218235672018132,-0.4388160307710897,-0.3838883986301591,-0.3409219017811595,-0.3216117536140244,-0.30021866894336674,-0.28267856345174375,-0.2683420063090445,-0.2564199554152236,-0.24631718601465558,-0.2376369011626696,-0.23007889798318498,-0.2234357366229876,-0.21754262212294187,-0.2122560754876006,-0.20750177508977832,-0.2031678931671398,-0.1992182056231428},
{-0.6054046102329418,-0.794231399448413,-0.6526303648501117,-0.5216699941656732,-0.4386746465264795,-0.38376431977471803,-0.34081690447430346,-0.3215174321986649,-0.30012721160613237,-0.28259426508650626,-0.2682639227170891,-0.2563470896163572,-0.246248707482502,-0.23757214423996165,-0.2300173366031419,-0.2233769461660962,-0.21748625775741115,-0.21220185893087234,-0.20744946800891859,-0.20311730381133186,-0.1991691651042923},
{-0.6075786209015691,-0.7946309770484232,-0.6525241660575791,-0.5215163332526345,-0.43853329154665455,-0.3836403022723002,-0.34071198294180544,-0.3214231228236084,-0.3000358198929338,-0.2825100336525782,-0.2681859031018343,-0.2562742844727528,-0.24618028638985273,-0.23750744187127937,-0.22995582722199995,-0.22331820544801856,-0.21742994112470135,-0.21214768831394062,-0.2073972052626736,-0.20306675733815074,-0.1991201661520479},
{-0.6097474116530394,-0.7950283382863327,-0.6524174231800111,-0.5213625855306698,-0.43839196624172916,-0.38351634628686126,-0.34060713714997226,-0.32132882600137,-0.299944493832621,-0.28242586912141043,-0.268107947421512,-0.2562015399367964,-0.24611192268769405,-0.23744279400773077,-0.2298943697915578,-0.22325951442152242,-0.21737367217863507,-0.2120935635917232,-0.20734498680703503,-0.20301625370473964,-0.1990712087245534},
{-0.6119109907755002,-0.7954234890842682,-0.6523101392424919,-0.5212087520618289,-0.4382506710190791,-0.383392451980898,-0.34050236708126047,-0.32123454224013853,-0.29985323345318915,-0.28234177146413336,-0.26803005563417004,-0.256128855960726,-0.2460436163269309,-0.23737820060036313,-0.22983296426355304,-0.22320087303931996,-0.21731745087298387,-0.21203948471911038,-0.2072928125979882,-0.20296579286826302,-0.19902229277995012},
{-0.6140693665551606,-0.7958164353578585,-0.6522023172564902,-0.5210548339021605,-0.4381094062832037,-0.3832686195154239,-0.34039767274011745,-0.3211402720437803,-0.299762038781768,-0.2822577406515545,-0.2679522276976729,-0.2560562324966822,-0.24597536725838748,-0.23731366160016115,-0.22977161058970755,-0.22314228125411006,-0.21726127716153987,-0.21198545165102536,-0.20724068259152653,-0.2029153747858336,-0.19897341827636492},
{-0.6162225472762389,-0.7962071830162007,-0.6520939602199292,-0.5209008321017854,-0.43796817243590686,-0.3831448490499967,-0.34029305416010386,-0.32104601591187293,-0.29967090984464934,-0.2821737766541529,-0.2678744635696888,-0.2559836694966802,-0.24590717543281287,-0.2372491769580732,-0.2297103087216928,-0.22308373901855805,-0.21720515099805734,-0.2119314643423175,-0.20718859674359866,-0.2028649994145833,-0.19892458517193337},
{-0.6183705412208917,-0.7965957379618206,-0.6519850711172372,-0.5207467477050041,-0.43782696987621955,-0.38302114074273963,-0.3401885114123114,-0.32095177433973643,-0.2995798466673117,-0.2820898794421022,-0.2677967632077355,-0.255911166912668,-0.24583904080090635,-0.23718474662500794,-0.22964905861115492,-0.22302524628532816,-0.21714907233626007,-0.21187752274788196,-0.2071365550101921,-0.20281466671165432,-0.19887579342478479},
{-0.6205133566691268,-0.796982106090604,-0.6518756529194037,-0.5205925817501568,-0.4376857990003789,-0.38289749475030616,-0.34008404461497965,-0.3208575478184299,-0.299488849274377,-0.2820060489852721,-0.2677191265691382,-0.25583872469644264,-0.24577096331326748,-0.23712037055181204,-0.2295878602097074,-0.22296680300702199,-0.21709304112988811,-0.21182362682256808,-0.2070845573472526,-0.20276437663414332,-0.19882704299306425},
{-0.6226510018987562,-0.7973662932917831,-0.651765708584036,-0.5204383352698505,-0.437544660201973,-0.38277391122794646,-0.33997965394446134,-0.3207633368348018,-0.29939791768966206,-0.28192228525319507,-0.267641553611041,-0.25576634279972127,-0.24570294292046946,-0.23705604868928198,-0.2295267134689114,-0.22290840913624915,-0.21703705733263093,-0.2117697765212193,-0.20703260371075108,-0.20271412913915166,-0.19877833383489021},
{-0.624783485185303,-0.7977483054478708,-0.6516552410554123,-0.5202840092908161,-0.43740355387180285,-0.382650390329456,-0.33987533964716005,-0.3206691418714835,-0.2993070519361657,-0.2818385882150869,-0.2675640442904263,-0.2556940211741068,-0.24563497957295785,-0.2369917809881758,-0.2294656183403169,-0.2228500646255776,-0.2169811208981862,-0.21171597179867865,-0.20698069405660274,-0.20266392418378265,-0.19872966590838473},
{-0.6269108148019534,-0.7981281484346365,-0.6515442532645617,-0.5201296048340409,-0.437262480398014,-0.382526932207229,-0.33977110205257344,-0.32057496340694336,-0.29921625203609914,-0.2817549578398573,-0.26748659856409057,-0.2556217597711027,-0.24556707322114818,-0.23692756739919915,-0.22940457477543635,-0.2227917694275621,-0.21692523178024226,-0.21166221260978585,-0.2069288283407682,-0.202613761725114,-0.19868103917166982},
{-0.6290329990194674,-0.7985058281210403,-0.6514327481292881,-0.5199751229148114,-0.4371214401660826,-0.3824035370122621,-0.33966694158711813,-0.3204808019154872,-0.29912551801086223,-0.28167139409608877,-0.26740921638867077,-0.25554955854211014,-0.24549922381539013,-0.2368634078730194,-0.2293435827257393,-0.22273352349472905,-0.2168693899324506,-0.21160849890933542,-0.2068770065191876,-0.20256364172021263,-0.19863245358285692},
{-0.631150046106131,-0.7988813503692247,-0.6513207285542569,-0.519820564542633,-0.4369804335587779,-0.38228020489413617,-0.33956285878856196,-0.32038665786728826,-0.29903484988107304,-0.2815878969520468,-0.2673318977206254,-0.2554774174384378,-0.2454314313059518,-0.23679930236024682,-0.2292826421426682,-0.2226753267795847,-0.21681359530846203,-0.21155483065216757,-0.20682522854777435,-0.2025135641261554,-0.19858390910006712},
{-0.6332619643276741,-0.7992547210344368,-0.6512081974310325,-0.5196659307214145,-0.4368394609562826,-0.3821569360010513,-0.33945885432089906,-0.3202925317284159,-0.29894424766657735,-0.2815044663756806,-0.26725464251626085,-0.25540533641127944,-0.2453636956430596,-0.23673525081146524,-0.22922175297763842,-0.22261717923461694,-0.2167578478619084,-0.21150120779305426,-0.2067734943824545,-0.20246352889998928,-0.19853540568140013},
{-0.635368761947209,-0.7996259459650138,-0.6510951576381365,-0.5195112224493397,-0.4366985227360617,-0.38203373047982425,-0.33935492898936004,-0.3201984239608531,-0.2988537113864366,-0.28142110233460615,-0.26717745073170523,-0.25533331541175414,-0.2452960167768416,-0.23667125317720356,-0.22916091518204718,-0.22255908081228137,-0.216702147546412,-0.21144763028681715,-0.2067218039791627,-0.20241353599877046,-0.19848694328496666},
{-0.6374704472251621,-0.7999950310023253,-0.6509816120411245,-0.5193564407190131,-0.4365576192730254,-0.38191058847589476,-0.33925108375544044,-0.3201043350225062,-0.2987632410589408,-0.2813378047961294,-0.2671003223229128,-0.25526135439085046,-0.2452283946573829,-0.2366073094079458,-0.22910012870723656,-0.22250103146502237,-0.2166464943155993,-0.21139409808823423,-0.20667015729380012,-0.20236358537952742,-0.19843852186887984},
{-0.6395670284192077,-0.8003619819807408,-0.650867563492604,-0.5192015865174682,-0.4364167509394795,-0.3817875101333681,-0.3391473197515951,-0.3200102653672647,-0.298672836701653,-0.2812545737272367,-0.26702325724571097,-0.25518945329949955,-0.2451608292347231,-0.23654341945414203,-0.22903939350454133,-0.2224430311452728,-0.2165908881230485,-0.21134061115207833,-0.2066185542823056,-0.20231367699929625,-0.1983901413912172},
{-0.6416585137842058,-0.8007268047275939,-0.6507530148323293,-0.5190466608261098,-0.4362759181050837,-0.3816644955949279,-0.33904363829544115,-0.3199162154449842,-0.29858249833134703,-0.2811714090945691,-0.26694625545572476,-0.25511761208851513,-0.24509332045880983,-0.2364795832662031,-0.2289787095252624,-0.22238507980542524,-0.21653532892236507,-0.21128716943313694,-0.20656699490056674,-0.20226381081508718,-0.19834180181008898},
{-0.6437449115721312,-0.8010895050631232,-0.6506379688872316,-0.518891664620891,-0.4361351211370079,-0.38154154500198767,-0.3389400409032536,-0.31982218570153986,-0.29849222596407876,-0.2810883108644576,-0.26686931690844506,-0.2550458307086152,-0.24502586827955714,-0.23641580079448116,-0.22891807672065825,-0.22232717739786428,-0.21647981666711932,-0.2112337728861619,-0.20651547910451207,-0.20221398678391853,-0.1982935030835868},
{-0.6458262300320069,-0.8014500888004528,-0.6505224284714775,-0.5187365988722136,-0.4359943603997736,-0.38141865849456885,-0.3388365293025287,-0.31972817657882546,-0.2984020196151788,-0.2810052790029216,-0.26679244155920584,-0.2549741091104614,-0.24495847264678575,-0.23635207198931246,-0.22885749504198946,-0.22226932387496892,-0.21642435131087173,-0.21118042146592828,-0.2064640068500437,-0.20216420486279668,-0.19824524516980366},
{-0.6479024774098496,-0.8018085617455355,-0.6504063963865351,-0.5185814645449902,-0.43585363625540874,-0.3812958362113701,-0.3387331054434457,-0.3196341885147928,-0.298311879299215,-0.280922313475621,-0.26671562936316096,-0.25490244724456956,-0.24489113351029396,-0.2362883968009678,-0.22879696444047343,-0.2222115191890718,-0.21636893280720146,-0.21112711512719012,-0.206412578093067,-0.20211446500870237,-0.19819702802680692},
{-0.6499736619486001,-0.8021649296971325,-0.6502898754212254,-0.518426262598763,-0.4357129490634276,-0.3811730782897937,-0.33862977150909046,-0.31954022194348136,-0.2982218050300508,-0.28083941424791314,-0.2666388802753424,-0.25483084506139697,-0.24482385081980576,-0.23622477517971485,-0.22873648486728995,-0.22215376329252456,-0.21631356110962627,-0.2110738538246921,-0.20636119278949142,-0.2020647671786416,-0.19814885161269855},
{-0.6520397918880527,-0.8025191984467575,-0.6501728683517607,-0.5182709939875638,-0.43557229918076323,-0.3810503848658972,-0.3385265299242977,-0.3194462772950207,-0.2981317968208429,-0.2807565812848283,-0.2665621942506089,-0.2547593025113215,-0.24475662452499009,-0.2361612070757467,-0.22867605627362225,-0.2220960561376181,-0.2162582361717078,-0.2110206375131902,-0.2063098508952239,-0.20201511132958627,-0.198100715885554},
{-0.6541008754648093,-0.8028713737786496,-0.6500553779418257,-0.5181156596601105,-0.4354316869619364,-0.3809277560744462,-0.3384233833629691,-0.3193523549956619,-0.29804185468401245,-0.28067381455107027,-0.266485571243658,-0.25468781954461445,-0.24468945457545443,-0.23609769243924356,-0.22861567861060367,-0.2220383976766629,-0.2162029579469654,-0.21096746614741307,-0.20625855236616655,-0.2019654974185026,-0.1980526208034441},
{-0.6561569209121934,-0.8032214614697184,-0.6499374069426045,-0.5179602605597241,-0.435291112758885,-0.38080519204891217,-0.33832033475382994,-0.31925845546782994,-0.2979519786313283,-0.2805911140110036,-0.26640901120907023,-0.254616396111482,-0.24462234092076762,-0.23603423122033038,-0.22855535182937398,-0.2219807878619446,-0.21614772638892357,-0.21091433968211754,-0.2062072971582305,-0.2019159254023865,-0.1980045663244494},
{-0.6582079364602146,-0.8035694672895256,-0.6498189580928511,-0.5178047976243819,-0.43515057692113046,-0.3806826929214458,-0.3382173872845462,-0.31916457913006857,-0.2978621686738106,-0.280508479628692,-0.26633251410124104,-0.2545450321620152,-0.24455528351043287,-0.23597082336911293,-0.2284950758810065,-0.22192322664573663,-0.21609254145110338,-0.21086125807201964,-0.2061560852273224,-0.20186639523816977,-0.19795655240662552},
{-0.6602539303354824,-0.8039153970002307,-0.64970003411895,-0.5176492717868075,-0.4350100797957493,-0.38056025882296796,-0.3381145444041546,-0.31907072639717565,-0.297772424821829,-0.2804259113678543,-0.26625607987444605,-0.2544737276462473,-0.24448828229389585,-0.23590746883565605,-0.22843485071658548,-0.22186571398028976,-0.2160374030870059,-0.2108082212718697,-0.2061049165293513,-0.2018169068828383,-0.19790857900806308},
{-0.6622949107611608,-0.8042592563565714,-0.6495806377349451,-0.5174936839743828,-0.4348696217273185,-0.38043788988307287,-0.33801180982383927,-0.3189768976801389,-0.2976827470850588,-0.2803434091918992,-0.2661797084828045,-0.2544024825141178,-0.24442133722055753,-0.2358441675699827,-0.22837467628717098,-0.22180824981784025,-0.21598231125013626,-0.21075522923638929,-0.20605379102021834,-0.20176746029332457,-0.19786064608682802},
{-0.6643308859569059,-0.8046010511058013,-0.6494607716426165,-0.5173380351093092,-0.43472920305805984,-0.38031558623012623,-0.3379091875159791,-0.31888309338618825,-0.2975931354724944,-0.2802609730639147,-0.26610339988028253,-0.25433129671549093,-0.24435444823977315,-0.23578091952209201,-0.2283145525437901,-0.22175083411062754,-0.2159272658939857,-0.21070228192029922,-0.2060027086558357,-0.20171805542660226,-0.1978127536009616},
{-0.6663618641387952,-0.8049407869876761,-0.6493404385315138,-0.5171823261085058,-0.4345888241276882,-0.38019334799120874,-0.33780668171155476,-0.31878931391882726,-0.29750358999247745,-0.28017860294666724,-0.26602715402072236,-0.2542601702001399,-0.24428761530083187,-0.235717724641944,-0.22825447943745777,-0.22169346681086252,-0.21587226697203268,-0.21064937927833857,-0.20595166939212883,-0.20166869223960598,-0.19776490150855044},
{-0.6683878535192758,-0.8052784697343982,-0.6492196410790223,-0.5170265578837194,-0.43444848527357666,-0.3800711752921504,-0.3377042968959492,-0.31869555967783464,-0.2974141106526663,-0.2800962988026038,-0.2659509708577905,-0.2541891029177669,-0.24422083835298836,-0.23565458287946775,-0.2281944569191588,-0.2216361478707477,-0.2158173144377881,-0.21059652126521852,-0.20590067318500208,-0.2016193706892877,-0.19771708976766372},
{-0.6704088623071112,-0.8056141050706013,-0.6490983819504239,-0.5168707313415708,-0.43430818683072897,-0.37994906825758107,-0.3376020378032358,-0.3186018310593281,-0.29732469746009815,-0.28001406059387907,-0.2658748503450779,-0.2541180948179985,-0.24415411734544112,-0.23559149418456535,-0.22813448493988137,-0.22157887724250158,-0.21576240824472603,-0.2105437078356954,-0.20584971999039753,-0.2015700907326277,-0.19766931833637658},
{-0.6724248987073062,-0.8059476987132876,-0.6489766637989112,-0.5167148473834524,-0.4341679291316871,-0.37982702701082444,-0.33749990940887986,-0.3185081284557299,-0.29723535042112315,-0.27993188828229487,-0.2657987924359567,-0.2540471458503802,-0.24408745222732986,-0.23552845850708878,-0.2280745634505722,-0.2215216548782722,-0.2157075483462968,-0.2104909389444568,-0.20579880976420556,-0.20152085232652572,-0.19762158717273437},
{-0.6744359709210559,-0.8062792563718116,-0.6488544892656969,-0.5165589069057306,-0.4340277125067394,-0.37970505167403196,-0.337397916921218,-0.31841445225584175,-0.2971460695414621,-0.2798497818293882,-0.2657227970837151,-0.2539762559643627,-0.24402084294778123,-0.23546547579687852,-0.22801469240213793,-0.2214644807302554,-0.2156527346959936,-0.2104382145462274,-0.2057479424623626,-0.20147165542795914,-0.19757389623483002},
{-0.6764420871457004,-0.8066087837478382,-0.6487318609800088,-0.5164029107996415,-0.4338875372837287,-0.37958314236810864,-0.337296065771457,-0.3183208028448523,-0.29705685482621613,-0.27976774119636416,-0.2656468642414938,-0.25390542510935793,-0.2439542894558376,-0.23540254600374644,-0.22795487174553877,-0.22140735475060305,-0.2155979672472651,-0.21038553459575451,-0.20569711804080373,-0.20142249999387823,-0.19752624548073708},
{-0.6784432555746431,-0.8069362865353047,-0.6486087815591788,-0.5162468599513461,-0.4337474037882186,-0.37946129921274807,-0.33719436160259053,-0.3182271806043339,-0.2969677062798343,-0.2796857663441439,-0.26557099386228694,-0.25383465323467225,-0.24388779170051694,-0.23533966907746157,-0.22789510143165964,-0.22135027689148748,-0.21554324595360097,-0.2103328990477445,-0.20564633645545957,-0.2013733859812386,-0.19747863486855333},
{-0.6804394843973097,-0.8072617704203808,-0.6484852536086847,-0.5160907552420381,-0.4336073123434594,-0.3793395223264623,-0.33709281025719806,-0.31813358591231816,-0.2968786239061427,-0.27960385723333825,-0.2654951858989768,-0.2537639402895632,-0.24382134963079244,-0.23527684496776918,-0.22783538141138682,-0.22129324710505086,-0.2154885707684405,-0.21028030785693794,-0.20559559766229227,-0.20132431334700251,-0.19743106435636634},
{-0.6824307817990851,-0.8075852410814566,-0.6483612797221957,-0.5159345975478198,-0.43346726327033874,-0.3792178118265286,-0.33699141776425734,-0.31804001914325847,-0.29678960770836377,-0.27952201382427383,-0.2654194403042896,-0.2536932862231875,-0.24375496319558287,-0.23521407362439797,-0.2277757116355819,-0.2212362653434237,-0.21543394164526064,-0.21022776097805804,-0.20554490161721842,-0.201275282048137,-0.19738353390228408},
{-0.6844171559612662,-0.8079067041890738,-0.6482368624816264,-0.5157783877398855,-0.4333272568875457,-0.37909616782905686,-0.336890190325123,-0.317946480668128,-0.29670065768909437,-0.2794402360769908,-0.26534375703083235,-0.25362269098465273,-0.24368863234378557,-0.23515135499702838,-0.2277160920550904,-0.22117933155875658,-0.21537935853750576,-0.2101752583658216,-0.20549424827618593,-0.20122629204161,-0.19733604346440048},
{-0.6863986150609874,-0.808226165405913,-0.6481120044571906,-0.5156221266844325,-0.4331872935113672,-0.37897459044897447,-0.33678913429866614,-0.3178529708543584,-0.2966117738503404,-0.27935852395123406,-0.2652681360310982,-0.25355215452299207,-0.24362235702423604,-0.23508868903533314,-0.22765652262077854,-0.22112244570316286,-0.21532482139864123,-0.21012279997498998,-0.20544363759518403,-0.2011773432844175,-0.19728859300086204},
{-0.6883751672711832,-0.8085436303867588,-0.6479867082074502,-0.5154658152427218,-0.43304737345590394,-0.3788530798000083,-0.33668825618591497,-0.31775949006591253,-0.2965229561934648,-0.2792768774064827,-0.26519257725741374,-0.2534816767871586,-0.2435561371857263,-0.23502607568895198,-0.22759700328345261,-0.22106560772877393,-0.21527033018213235,-0.21007038576028442,-0.20539306953015457,-0.20112843573353545,-0.19724118246979774},
{-0.690346820760521,-0.8088591047784512,-0.6478609762793637,-0.5153094542711709,-0.43290749703300124,-0.3787316359947661,-0.33658756261404366,-0.31766603866331355,-0.2964342047192922,-0.2791952964019256,-0.26511708066201783,-0.25341125772605155,-0.2434899727770308,-0.23496351490749065,-0.2275375339939214,-0.2210088175877059,-0.21521588484141693,-0.21001801567643685,-0.20534254403707433,-0.2010795693459843,-0.19719381182933884},
{-0.6923135836933586,-0.8091725942198751,-0.6477348112083396,-0.5151530446212241,-0.43276766455220395,-0.37861025914462604,-0.33648706032004916,-0.3175726170036501,-0.2963455194280214,-0.2791137808964905,-0.2650416461970111,-0.2533408972884937,-0.2434238637468691,-0.2349010066405592,-0.22747811470299048,-0.2209520752320631,-0.21516148532996385,-0.20996568967820942,-0.20529206107191553,-0.20103074407875213,-0.1971464810376617},
{-0.6942754642296753,-0.809484104341903,-0.6476082155182818,-0.5149965871395814,-0.4326278763209189,-0.3784889493598862,-0.33638675613405383,-0.3174792254406011,-0.29625690031926794,-0.2790323308488388,-0.2649662738143525,-0.2532705954232349,-0.2433578100439262,-0.23483855083770258,-0.22741874536142026,-0.22089538061394884,-0.21510713160122102,-0.2099134077203327,-0.2052416205906598,-0.20098195988887343,-0.19709919005293805},
{-0.6962324705250231,-0.8097936407673674,-0.6474811917216432,-0.5148400826680407,-0.43248813264423575,-0.37836770674963804,-0.3362866569624387,-0.3173858643244515,-0.29616834739209763,-0.27895094621737243,-0.26489096346590835,-0.25320035207898556,-0.24329181161683996,-0.23477614744847616,-0.22735942592002098,-0.22083873368547324,-0.21505282360863612,-0.20986116975756824,-0.20519122254931518,-0.2009332167333883,-0.19705193883335226},
{-0.6981846107304863,-0.8101012091110436,-0.6473537423194751,-0.5146835320436057,-0.4323484338250948,-0.3782465314218536,-0.3361867697708566,-0.31729253400213614,-0.29607986064496683,-0.2788696269602345,-0.26481571510339313,-0.25313016720435516,-0.24322586841423002,-0.23471379642240064,-0.22730015632953057,-0.22078213439873873,-0.2149985613057026,-0.20980897574467555,-0.20514086690387132,-0.20088451456934442,-0.19700472733710198},
{-0.7001318929926033,-0.8104068149795983,-0.6472258698014743,-0.5145269360985512,-0.4322087801642696,-0.37812542348338635,-0.33608710156723,-0.3171992348172557,-0.2959914400757736,-0.27878837303532444,-0.2647405286784348,-0.2530600407479114,-0.2431599803846712,-0.23465149770897897,-0.2272409365406957,-0.22072558270584472,-0.21494434464584028,-0.2097568256364115,-0.20509055361033707,-0.20083585335380247,-0.19695755552241287},
{-0.7020743254533328,-0.81071046397156,-0.6470975766460465,-0.5143702956603313,-0.43206917196028183,-0.3780043830399439,-0.33598765938487224,-0.317105967110074,-0.29590308568187773,-0.27870718440028697,-0.2646654041425241,-0.25298997265815126,-0.24309414747669827,-0.23458925125768373,-0.22718176650426125,-0.22066907855886694,-0.2148901735825294,-0.20970471938755392,-0.20504028262474064,-0.20078723304385585,-0.19691042334752176},
{-0.7040119162500009,-0.8110121616772937,-0.6469688653203114,-0.5142136115517457,-0.43192960950957915,-0.37788341019612454,-0.33588845026570646,-0.3170127312175831,-0.2958147974600447,-0.27862606101253934,-0.26459034144700905,-0.2529199628835158,-0.24302836963880775,-0.2345270570179822,-0.227122646170936,-0.22061262190990458,-0.21483604806921933,-0.20965265695285384,-0.20499005390308578,-0.20073865359658097,-0.19686333077066245},
{-0.7059446735152352,-0.8113119136789665,-0.6468397382802209,-0.5140568845908449,-0.431790093106369,-0.37776250505542275,-0.3357894812437408,-0.31691952747350655,-0.2957265754065338,-0.2785450028292622,-0.264515340543184,-0.2528500113723924,-0.2429626468194938,-0.2344649149393039,-0.22706357549147516,-0.22055621271105114,-0.2147819680593874,-0.2096006382871294,-0.20493986740143905,-0.2006901149691229,-0.19681627775011346},
{-0.7078726053769254,-0.811609725550507,-0.6467101979705359,-0.5139001155909935,-0.43165062304275426,-0.3776416677201958,-0.3356907593288259,-0.31682635620829,-0.2956384195170193,-0.2784640098074037,-0.2644404013821715,-0.2527801180730875,-0.2428969789671755,-0.23440282497108314,-0.22700455441654452,-0.22049985091440322,-0.21472793350650474,-0.20954866334513303,-0.2048897230758226,-0.20064161711858317,-0.19676926424414165},
{-0.7097957199581741,-0.8119056028575824,-0.6465802468249325,-0.5137433053609591,-0.4315111996087371,-0.3775208982917462,-0.33559229149081005,-0.3167332177491901,-0.2955503297866432,-0.27838308190368666,-0.26436552391500945,-0.2527102829338601,-0.24283136603026506,-0.23434078706270303,-0.2269455828968741,-0.2204435364720367,-0.21467394436403445,-0.2094967320816852,-0.2048396208823112,-0.20059316000214492,-0.1967222902110524},
{-0.7117140253772336,-0.8121995511575721,-0.6464498872660174,-0.5135864547048151,-0.43137182309214517,-0.3774001968702577,-0.3354940846441268,-0.3166401124202495,-0.2954623062100332,-0.2783022190746254,-0.2642907080926188,-0.252640505902917,-0.24276580795713518,-0.23427880116356328,-0.22688666088313178,-0.2203872693360367,-0.21462000058545183,-0.20944484445157993,-0.20478956077696547,-0.2005447435769477,-0.19667535560915778},
{-0.7136275297474666,-0.8124915759995184,-0.6463191217053772,-0.5134295644220916,-0.43123249377877376,-0.37727956355483544,-0.3353961456327924,-0.3165470405423235,-0.2953743487812529,-0.2782214212765149,-0.264215953865796,-0.25257078692838747,-0.24270030469613538,-0.23421686722302612,-0.22682778832599787,-0.2203310494584931,-0.21456610212422456,-0.20939300040961792,-0.20473954271585068,-0.20049636780019597,-0.1966284603967647},
{-0.7155362411772893,-0.8127816829241132,-0.6461879525436407,-0.513272635307686,-0.43109321195224104,-0.37715899844350265,-0.3352984812159817,-0.31645400243311383,-0.2952864574938725,-0.27814068846544704,-0.2641412611852629,-0.25250112595836854,-0.2426348561955684,-0.23415498519043765,-0.2267689651761651,-0.22027487679149782,-0.21451224893385004,-0.20934119991063016,-0.20468956665507393,-0.20044803262908517,-0.19658160453222048},
{-0.717440167770126,-0.813069877463652,-0.6460563821705154,-0.5131156681519604,-0.4309539778941439,-0.3770385016332218,-0.3352010980540998,-0.31636099840719417,-0.29519863234091814,-0.2780600205973104,-0.26406663000158204,-0.2524315229408918,-0.2425694624037303,-0.23409315501514175,-0.2267101913842834,-0.2202187512871235,-0.21445844096782332,-0.20928944290943807,-0.20463963255072465,-0.20039973802086222,-0.1965347879738897},
{-0.7193393176243631,-0.8133561651420205,-0.645924412964842,-0.5129586637407676,-0.4308147918840126,-0.3769180732198922,-0.3351040026955105,-0.31626802877602783,-0.2951108733149131,-0.2779794176277965,-0.2639920602652719,-0.2523619778239231,-0.24250412326886225,-0.2340313766464392,-0.22665146690100932,-0.22016267289746871,-0.21440467817959605,-0.2092377293608794,-0.20458974035891817,-0.2003514839327706,-0.1964880106801132},
{-0.7212336988332857,-0.8136405514746478,-0.6457920472946358,-0.5128016228554011,-0.43067565419927156,-0.3767977132983328,-0.3350072015638621,-0.3161750938479701,-0.2950231804078661,-0.27789887951239994,-0.2639175519266963,-0.25229249055539926,-0.2424388387392112,-0.23396965003366296,-0.22659279167700733,-0.22010664157463383,-0.21435096052272118,-0.20918605921981195,-0.20453989003578937,-0.20030327032209985,-0.19644127260932415},
{-0.7231233194850464,-0.8139230419684903,-0.6456592875171414,-0.5126445462727254,-0.43053656511538924,-0.37667742196234205,-0.33491070094603426,-0.3160821939283284,-0.2949355536112721,-0.2778184062064466,-0.2638431049361236,-0.25222306108318077,-0.2423736087629707,-0.23390797512608066,-0.22653416566291013,-0.22005065727069273,-0.21429728795066433,-0.20913443244107133,-0.20449008153746104,-0.2002550971461331,-0.19639457371988406},
{-0.7250081876626089,-0.814203642121986,-0.6455261359788593,-0.5124874347650961,-0.4303975249056797,-0.3765571993046525,-0.3348145069807362,-0.31598932931935664,-0.29484799291613994,-0.27773799766505175,-0.26376871924374523,-0.25215368935508986,-0.24230843328831222,-0.2338463518729789,-0.2264755888093777,-0.21999471993775205,-0.21424366041694703,-0.2090828489795419,-0.20444031482009103,-0.20020696436219057,-0.19634791397022278},
{-0.7268883114437023,-0.8144823574250446,-0.645392595015621,-0.512330289100453,-0.43025853384153534,-0.37643704541696077,-0.33471862564783306,-0.3158965003202832,-0.294760498312976,-0.27765765384318686,-0.2636943947996196,-0.25208437531888866,-0.24224331226338708,-0.23378478022362265,-0.2264170610670258,-0.21993882952789762,-0.21419007787509725,-0.20903130879008192,-0.20439058983984104,-0.20015887192761736,-0.1963012933187656},
{-0.7287636989007651,-0.8147591933589905,-0.6452586669526104,-0.5121731100423308,-0.43011959219230445,-0.3763169603899402,-0.33462306275827064,-0.3158037072273495,-0.29467306979179436,-0.277577374695628,-0.263620131553732,-0.2520151189223031,-0.24217824563630766,-0.23372326012725264,-0.22635858238650608,-0.2198829859932392,-0.21413654027862078,-0.20897981182760247,-0.2043409065528837,-0.200110819799772,-0.19625471172397244},
{-0.7306343581009149,-0.8150341553965753,-0.6451243541044354,-0.5120158983498312,-0.42998070022531865,-0.376196944313236,-0.33452782394482744,-0.31571095033378893,-0.29458570734211964,-0.277497160176996,-0.2635459294559494,-0.25194592011299055,-0.2421132333551851,-0.23366179153311312,-0.2263001527184242,-0.21982718928588346,-0.21408304758105626,-0.2089283580469842,-0.20429126491541083,-0.2000628079360462,-0.19620816914429082},
{-0.7325002971058864,-0.8153072490018966,-0.6449896587751474,-0.5118586547777438,-0.42984185820598153,-0.37607699727547217,-0.3344329146534019,-0.31561822992991007,-0.29449841095299945,-0.2774170102417428,-0.2634717884560409,-0.2518767788385746,-0.24204827536808482,-0.2336003743904357,-0.2262417720134154,-0.21977143935792104,-0.21402959973593444,-0.20887694740312895,-0.20424166488362053,-0.20001483629382835,-0.19616166553820666},
{-0.7343615239719972,-0.8155784796304176,-0.6448545832583025,-0.5117013800764606,-0.42970306639764144,-0.3759571193642672,-0.33433834013508595,-0.3155255463030678,-0.29441118061300586,-0.2773369248441698,-0.26339770850370775,-0.2518076950466253,-0.24198337162306513,-0.23353900864843036,-0.22618344022211262,-0.21971573616148268,-0.2139761966968164,-0.20882557985098094,-0.2041921064137363,-0.19996690483057608,-0.19611520086422413},
{-0.7362180467500896,-0.8158478527289036,-0.6447191298370072,-0.5115440749920686,-0.42956432506173986,-0.3758373106662109,-0.33424410543891087,-0.31543289973771055,-0.2943240163102231,-0.2772569039384142,-0.2633236895485097,-0.25173866868467343,-0.24191852206814346,-0.23347769425630505,-0.22612515729512775,-0.2196600796486709,-0.2139228384172572,-0.20877425534546898,-0.20414258946199232,-0.1999190135037298,-0.19606877508085588},
{-0.7380698734854911,-0.8161153737354162,-0.6445833007839447,-0.5113867402663819,-0.4294256344577593,-0.37571757126693245,-0.3341502154052316,-0.31534029051538853,-0.29423691803229113,-0.2771769474784785,-0.263249731539966,-0.25166969970018904,-0.2418537266513285,-0.23341643116325406,-0.22606692318308358,-0.21960446977161904,-0.2138695248508142,-0.20872297384152277,-0.2040931139846294,-0.1998711622707664,-0.1960223881466282},
{-0.7399170122179785,-0.8163810480792716,-0.6444470983614645,-0.5112293766368683,-0.42928699484320676,-0.37559790125102444,-0.3340566746598606,-0.315247718914784,-0.29414988576636986,-0.27709705541819724,-0.2631758344274522,-0.25160078804060904,-0.24178898532060117,-0.23335521931846814,-0.22600873783659498,-0.21954890648245234,-0.21381625595105688,-0.2086717352941211,-0.20404367993790307,-0.19982335108918906,-0.1959760400201101},
{-0.7417594709817182,-0.8166448811810342,-0.6443105248215781,-0.5110719848368157,-0.42914840647371916,-0.375478300702125,-0.3339634876088147,-0.31515518521173114,-0.2940629194991514,-0.277017227711293,-0.2631019981602827,-0.2515319336533176,-0.2417242980239237,-0.23329405867110478,-0.22595060120626617,-0.21949338973328988,-0.21376303167158212,-0.2086205396582137,-0.2039942872780882,-0.19977557991649586,-0.19592973065983826},
{-0.7435972578052211,-0.8169068784524384,-0.644173582406023,-0.5109145655952321,-0.4290098696029488,-0.37535876970287874,-0.333870658433644,-0.3150626896792393,-0.2939760192169059,-0.2769374643113265,-0.2630282226876809,-0.25146313648567076,-0.24165966470923433,-0.2332329491703592,-0.22589251324274948,-0.21943791947628905,-0.21370985196596673,-0.208569386888813,-0.20394493596149021,-0.19972784871025284,-0.19588346002442866},
{-0.7454303807113176,-0.8171670452964319,-0.6440362733463183,-0.510757119636901,-0.42887138448268003,-0.37523930833494,-0.33377819108753176,-0.31497023258750545,-0.29388918490541804,-0.27685776517174376,-0.26295450795877073,-0.2513943964849637,-0.24159508532446555,-0.23317189076538536,-0.22583447389663894,-0.21938249566359594,-0.21365671678785056,-0.20851827694089775,-0.20389562594441157,-0.19968015742799358,-0.1958372280724562},
{-0.747258847717098,-0.8174253871070949,-0.6438985998637969,-0.5105996476824755,-0.42873295136279915,-0.3751199166790303,-0.3336860892918478,-0.31487781420395045,-0.29380241655003747,-0.2767781302458396,-0.26288085392259863,-0.25132571359845396,-0.24153055981749144,-0.23311088340532285,-0.22577648311855425,-0.21932711824736353,-0.2136036260908059,-0.20846720976947403,-0.20384635718316724,-0.19963250602732455,-0.1957910347625419},
{-0.7490826668338657,-0.8176819092696284,-0.6437605641696553,-0.5104421504483654,-0.4285945704912768,-0.37500059481486625,-0.3335943565334716,-0.31478543479321974,-0.29371571413568015,-0.27669855948680133,-0.2628072605281183,-0.2512570877733661,-0.24146608813620601,-0.23304992703933394,-0.2257185408591303,-0.21927178717974172,-0.21355057982847997,-0.2084161853296055,-0.20379712963411029,-0.1995848944658363,-0.19574488005332688},
{-0.7509018460671101,-0.8179366171603466,-0.6436221684649805,-0.5102846286469025,-0.428456242114272,-0.3748813428212421,-0.3335029960625439,-0.3146930946172218,-0.2936290776468122,-0.27661905284769395,-0.2627337277241842,-0.2511885189568791,-0.24140167022847933,-0.23298902161655205,-0.22566064706896694,-0.21921650241290974,-0.2134975779545114,-0.20836520357629562,-0.20374794325357232,-0.19953732270114877,-0.1956987639034276},
{-0.7527163934164437,-0.8181895161466152,-0.6434834149408345,-0.510127082986252,-0.4283179664759995,-0.3747621607759882,-0.3334120108907983,-0.31460079393514884,-0.2935425070674773,-0.2765396102814514,-0.2626602554596077,-0.2511200070961387,-0.24133730604215292,-0.23292816708611855,-0.22560280169873373,-0.21916126389904822,-0.21344462042254106,-0.2083142644646257,-0.20369879799796933,-0.19948979069092537,-0.19565268627152183},
{-0.7545263168755838,-0.8184406115868564,-0.6433443057782429,-0.509969514170468,-0.42817974381885676,-0.3746430487559732,-0.33332140379052083,-0.31450853300347215,-0.2934560023812866,-0.27646023174089485,-0.2625868436830782,-0.2510515521382452,-0.2412729955250473,-0.23286736339716682,-0.2255450046990233,-0.21910607159033946,-0.2133917071862542,-0.2082633679496559,-0.2036496938236579,-0.1994422983927957,-0.19560664711625958},
{-0.7563316244322901,-0.8186899088305067,-0.6432048431482912,-0.5098119228995706,-0.42804157438342316,-0.3745240068371549,-0.33323117729386414,-0.3144163120760176,-0.29336956357141575,-0.2763809171787369,-0.2625134923432202,-0.2509831540302564,-0.24120873862497122,-0.2328066104988087,-0.225487256020492,-0.2190509254389805,-0.213338838199305,-0.20821251398648677,-0.2036006306870628,-0.1993948457644843,-0.1955606463963268},
{-0.7581323240683271,-0.8189374132180012,-0.6430650292121289,-0.5096543098694606,-0.42790345840839916,-0.37440503509454515,-0.3331413336928468,-0.31432413140391696,-0.2932831906206316,-0.2763016665475739,-0.2624402013885749,-0.2509148127192118,-0.24114453528971522,-0.23274590834017136,-0.22542955561376377,-0.21899582539715978,-0.2132860134153815,-0.2081617025302078,-0.2035516085446083,-0.1993474327636572,-0.1955146840704205},
{-0.7599284237594373,-0.819183130080735,-0.642924866121036,-0.5094966757720578,-0.4277653961307246,-0.37428613360222535,-0.3330518750396367,-0.3142319912356782,-0.29319688351127526,-0.27622247979989967,-0.26236697076759896,-0.2508465281520882,-0.2410803854670599,-0.23268525687036945,-0.22537190342948893,-0.2189407714171088,-0.21323323278818324,-0.2081109335359375,-0.2035026273527253,-0.19930005934804715,-0.19546876009721034},
{-0.7617199314752806,-0.8194270647410506,-0.6427843560164626,-0.5093390212952188,-0.42762738778544207,-0.37416730243335783,-0.3329628031473788,-0.31413989181717994,-0.2931106422252767,-0.276143356888099,-0.26229380042869677,-0.25077830027585346,-0.2410162891047636,-0.23262465603852123,-0.22531429941831776,-0.21888576345103444,-0.21318049627143223,-0.20806020695882974,-0.20345368706790168,-0.19925272547541134,-0.1954228744354029},
{-0.7635068551794023,-0.8196692225122086,-0.6426435010300476,-0.509181347122805,-0.42748943360586367,-0.3740485416601909,-0.33287411959139335,-0.3140478333917202,-0.293024466744159,-0.2760642977644617,-0.26222069032014494,-0.25071012903741996,-0.24095224615057137,-0.23256410579373246,-0.22525674353089792,-0.2188308014511814,-0.2131278038188513,-0.208009522754014,-0.20340478764660205,-0.19920543110349864,-0.19537702704372548},
{-0.7652892028291933,-0.8199096086983526,-0.6425023032836983,-0.5090236539347448,-0.42735153382349567,-0.3739298513540632,-0.3327858257108255,-0.313955816200004,-0.29293835704903415,-0.275985302381176,-0.2621476403902039,-0.25064201438368444,-0.24088825655221072,-0.2325036060851224,-0.2251992357179125,-0.21877588536979906,-0.21307515538420327,-0.20795888087669637,-0.2033559290453554,-0.1991581761901114,-0.19533121788089094},
{-0.7670669823758598,-0.8201482285945256,-0.6423607648896242,-0.5088659424069486,-0.4272136886680313,-0.3738112315854084,-0.332697922610639,-0.31386384048018234,-0.29285231312062504,-0.27590637069032853,-0.26207465058702434,-0.25057395626150125,-0.24082432025739442,-0.2324431568617962,-0.22514177593000034,-0.21872101515912407,-0.21302255092121336,-0.20790828128203262,-0.20330711122065237,-0.19911096069304152,-0.1952854469056239},
{-0.7688402017643577,-0.8203850874865783,-0.6422188879503482,-0.5087082132114551,-0.4270758983674703,-0.3736926824237563,-0.33261041116397133,-0.31377190646786046,-0.2927663349392302,-0.27582750264390754,-0.26200172085867296,-0.2505059546176862,-0.2407604372138322,-0.23238275807284398,-0.2250843641178428,-0.21866619077141689,-0.21296999038365994,-0.20785772392523943,-0.2032583341290359,-0.19906378457010945,-0.19523971407663968},
{-0.7706088689333793,-0.8206201906512065,-0.6420766745587838,-0.5085504670163405,-0.4269381631479449,-0.3735742039377549,-0.33252329201477354,-0.31368001439613413,-0.2926804224847788,-0.2757486981938194,-0.2619288511531863,-0.2504380093990335,-0.24069660736921478,-0.23232240966738377,-0.22502700023213393,-0.218611412158971,-0.2129174737253395,-0.20780720876153766,-0.20320959772708164,-0.19901664777917571,-0.19519401935270686},
{-0.7723729918153004,-0.8208535433558901,-0.641934126798255,-0.5083927044857933,-0.4268004832339217,-0.37345579619514657,-0.3324365655808492,-0.31358816449559224,-0.29259457573680636,-0.2756699572918768,-0.26185604141848207,-0.250370120552308,-0.24063283067122002,-0.2322621115945253,-0.22496968422355365,-0.2185566792740572,-0.21286500090006194,-0.2077567357461652,-0.2031609019713742,-0.19896955027809765,-0.1951483626925507},
{-0.7741325783361457,-0.8210851508588932,-0.6417912467425655,-0.5082349262801658,-0.42666285884810157,-0.37333745926281536,-0.3323502320570574,-0.3134963569943565,-0.29250879467444535,-0.27559127988981064,-0.26178329160245783,-0.2503022880242397,-0.24056910706750279,-0.23220186380336394,-0.2249124160428176,-0.21850199206899787,-0.21281257186163455,-0.2077063048343964,-0.20311224681850204,-0.1989224920247823,-0.19510274405494882},
{-0.7758876364155485,-0.8213150184092247,-0.6416480364560049,-0.5080771330558933,-0.4265252902114324,-0.37321919320675906,-0.3322642914189479,-0.31340459211807387,-0.29242307927645284,-0.2755126659392377,-0.26171060165288595,-0.2502345117615245,-0.24050543650571735,-0.23214166624301694,-0.22485519564060405,-0.21844735049608255,-0.2127601865638813,-0.20765591598150251,-0.20306363222509535,-0.19887547297712682,-0.19505716339862345},
{-0.7776381739667202,-0.8215431512466231,-0.6415044979934128,-0.50791932546565,-0.42638777754321433,-0.3731009980920907,-0.33217874342649,-0.31331287008994924,-0.29233742952121616,-0.2754341153917276,-0.26163797151750673,-0.2501667917108401,-0.2404418189335184,-0.23208151886256748,-0.2247980229676262,-0.21839275450763704,-0.21270784496067524,-0.20760556914276393,-0.2030150581477934,-0.19882849309305117,-0.19501162068204209},
{-0.7793841988964012,-0.821769554601536,-0.6413606334002148,-0.5077615041582373,-0.4262503210609361,-0.3729828739830824,-0.3320935876280697,-0.31322119113078106,-0.2922518453867333,-0.2753556281987437,-0.26156540114400423,-0.25009912781882826,-0.24037825429852608,-0.2320214216111477,-0.22474089797464478,-0.2183382040560024,-0.2126555470058684,-0.20755526427352314,-0.2029665245432658,-0.198781552330539,-0.19496611586188822},
{-0.7811257191048291,-0.8219942336950856,-0.6412164447124704,-0.5076036697786845,-0.4261129209804623,-0.3728648209431206,-0.3320088233647518,-0.31312955545895316,-0.2921663268506234,-0.2752772043116817,-0.26149289047995294,-0.2500315200321066,-0.2403147425483748,-0.2319613744378569,-0.22468382061236902,-0.21828369909353654,-0.21260329265336766,-0.2075050013291014,-0.20291803136818748,-0.19873465064755097,-0.194920648885763},
{-0.7828627424857055,-0.8222171937390634,-0.6410719339568941,-0.5074458229682739,-0.42597557751594756,-0.3727468390347762,-0.33192444977461877,-0.31303796329046735,-0.2920808738901557,-0.27519884368184344,-0.2614204394729028,-0.24996396829726777,-0.2402512836306666,-0.23190137729179672,-0.22462679083155093,-0.21822923957258614,-0.21255108185705296,-0.20745478026485345,-0.2028695785792844,-0.19868778800209375,-0.19487521966979438},
{-0.7845952769261529,-0.8224384399359005,-0.6409271031509138,-0.5072879643644705,-0.42583829087984215,-0.3726289283197206,-0.33184046579742643,-0.31294641483896124,-0.29199548648222456,-0.2751205462604621,-0.2613480480703313,-0.24989647256088024,-0.2401878774930165,-0.23184143012209596,-0.22456980858294437,-0.2181748254455526,-0.2124989145708474,-0.20740460103616834,-0.20282116613326368,-0.1986409643522004,-0.194829828045666},
{-0.7863233303066832,-0.822657977478642,-0.6407819543027133,-0.507130094601072,-0.4257010612829854,-0.3725110888588214,-0.3317568701792753,-0.3128549103157278,-0.29191016460334435,-0.275042311998694,-0.26127571621961587,-0.24982903276946966,-0.24012452408300117,-0.23178153287785003,-0.22451287381729024,-0.21812045666479668,-0.21244679074870176,-0.20735446359842036,-0.20277279398686937,-0.19859417965588477,-0.19478447366122792},
{-0.7880469105011516,-0.8228758115509265,-0.6406364894112562,-0.5069722143081266,-0.42556388893448077,-0.3723933207120944,-0.33167366147746863,-0.31276344992972704,-0.2918249082296993,-0.274964140847623,-0.261203443868136,-0.24976164886957622,-0.2400612233482452,-0.23172168550819208,-0.2244559864854009,-0.2180661331827474,-0.21239471034455004,-0.20730436790703408,-0.20272446209688944,-0.1985474338712413,-0.19473915582436913},
{-0.7897660253767425,-0.823091947326975,-0.6404907104663412,-0.5068143241119765,-0.4254267740418278,-0.37227562393871777,-0.33159083806551326,-0.3126720338876193,-0.29173971733710746,-0.2748860327582562,-0.26113123096316515,-0.2496943208076732,-0.23999797523631197,-0.23166188796225123,-0.22439914653804677,-0.21801185495183145,-0.21234267331241427,-0.20725431391746044,-0.2026761704201137,-0.19850072695633852,-0.19469387328904908},
{-0.7914806827939075,-0.8233063899715548,-0.6403446194486324,-0.5066564246353251,-0.42528971681088085,-0.3721579985970477,-0.331508398138133,-0.31258066239377247,-0.2916545919010127,-0.2748079876815316,-0.26105907745193346,-0.2496270485302389,-0.23993477969476715,-0.23160214018912462,-0.22434235392602866,-0.21795762192447077,-0.212290679606237,-0.2072043015851287,-0.2026279189133588,-0.19845405886930706,-0.19464862399449645},
{-0.7931908906063496,-0.8235191446399781,-0.6401982183297072,-0.5064985164971713,-0.42515271744582833,-0.37204044474461967,-0.33142633971655255,-0.31248933565027137,-0.2915695318965401,-0.2747300055683032,-0.2609869832816034,-0.24955983198371323,-0.2398716366711884,-0.23154244213797542,-0.22428560860016117,-0.21790343405312548,-0.21223872918004666,-0.2071543308655433,-0.20257970753345117,-0.19840742956827634,-0.19460340477675547},
{-0.7948966566609762,-0.8237302164780602,-0.6400515090720854,-0.5063406003129264,-0.4250157761493125,-0.3719229624381443,-0.33134466065364315,-0.3123980538569489,-0.29148453729843626,-0.27465208636937527,-0.26091494839927437,-0.24949267111451665,-0.23980854611314903,-0.23148279375791322,-0.22422891051124097,-0.21784929129025496,-0.21218682198789088,-0.20710440171418404,-0.20253153623723125,-0.19836083901139057,-0.19455821107712878},
{-0.7965979887978758,-0.8239396106221174,-0.6399044936292919,-0.5061826766943511,-0.4248788931222663,-0.37180555173354046,-0.33126335863926615,-0.3123068172114306,-0.29139960808115006,-0.27457423003547876,-0.26084297275202606,-0.24942556586907894,-0.23974550796822489,-0.23142319499808173,-0.22417225961014892,-0.21779519358836216,-0.21213495798381157,-0.20705451408659753,-0.20248340498163436,-0.198314287156851,-0.19451303667322434},
{-0.7982948948502735,-0.824147332198933,-0.6397571739458496,-0.5060247462495926,-0.42474206856406854,-0.3716882126858808,-0.3311824312055769,-0.31221562590907714,-0.29131474421874104,-0.2744964365172683,-0.2607710562868352,-0.2493585161937668,-0.23968252218395109,-0.2313636458076335,-0.22411565584770066,-0.21774114089993615,-0.21208313712187835,-0.20700466793829614,-0.2024353137235158,-0.19826777396283163,-0.1944678734546918},
{-0.7999873826445049,-0.8243533863257482,-0.6396095519573779,-0.5058668095832649,-0.4246053026725094,-0.3715709453494796,-0.3311018757324376,-0.31212448014308297,-0.2912299456849699,-0.2744187057653369,-0.26069919895065696,-0.2492915220349491,-0.23961958870787808,-0.23130414613570457,-0.2240590991747855,-0.2176871331775059,-0.21203135935620446,-0.2069548632248751,-0.202387262419837,-0.1982212993875901,-0.19442271126173255},
{-0.8016754599999756,-0.824557778110244,-0.639461629590593,-0.5057088672963657,-0.42446859564376543,-0.3714537497778376,-0.3310216894528528,-0.312033380104454,-0.29114521245324004,-0.2743410377302131,-0.26062740069037593,-0.24922458333897618,-0.23955670748758515,-0.23124469593146157,-0.22400258954225136,-0.2176331703735964,-0.21197962464087095,-0.2069050999019163,-0.20233925102753447,-0.1981748633893462,-0.19437753779700895},
{-0.8033591347291356,-0.8247605126505075,-0.6393134087633465,-0.505550919986397,-0.4243319476724949,-0.3713366260236514,-0.3309418694583363,-0.3119423259820126,-0.29106054449663854,-0.2742634323623659,-0.2605556614528154,-0.24915770005216828,-0.23949387847059314,-0.23118529514405453,-0.22394612690099816,-0.21757925244076654,-0.21192793293002743,-0.20685537792501124,-0.20229127950357417,-0.19812846592639044,-0.19433233861605975},
{-0.8050384146374372,-0.8249615950350314,-0.639164891384685,-0.5053929682472975,-0.42419535895168853,-0.37121957413885115,-0.3308624127043676,-0.31185131796245735,-0.29097594178791186,-0.2741858896121844,-0.2604839811847886,-0.24909087212084396,-0.23943110160446537,-0.23112594372265444,-0.22388971120194484,-0.21752537933159438,-0.21187628417783394,-0.20680569724982462,-0.2022433478049686,-0.1980821069570044,-0.19428709719511494},
{-0.8067133075233072,-0.8251610303426751,-0.6390160793548649,-0.5052350126695053,-0.42405882967287256,-0.3711025941745694,-0.3307833160157756,-0.31176035623035603,-0.2908914042994929,-0.27410840943001535,-0.26041235983298705,-0.2490240994913003,-0.2393683768367471,-0.2310666416164341,-0.22383334239598904,-0.21747155099865595,-0.21182467833846447,-0.2067560578319944,-0.20219545588874294,-0.19803578643950348,-0.19424179507024064},
{-0.8083838211781241,-0.8253588236426834,-0.6388669745654225,-0.5050770538400035,-0.4239223600259814,-0.37098568618117933,-0.33070457609212295,-0.3116694409681374,-0.2908069320034945,-0.2740309917661319,-0.2603407973441232,-0.24895738210981108,-0.23930570411496022,-0.23100738877457097,-0.22377702043408063,-0.21741776739456328,-0.21177311536610294,-0.20670645962720474,-0.20214760371192197,-0.19798950433223994,-0.19419641203895638},
{-0.8100499633861564,-0.8255549799946067,-0.6387175788991659,-0.5049190923422477,-0.4237859501993944,-0.37086885020825966,-0.33062618951315553,-0.31157857235617525,-0.2907225248717264,-0.2739536365707623,-0.2602692936648322,-0.2488907199226579,-0.23924308338669958,-0.2309481851462843,-0.22372074526718336,-0.21736402847196923,-0.2117215952149918,-0.20665690259118819,-0.2020997912316319,-0.19794326059359846,-0.19415092641266996},
{-0.8117117419245676,-0.8257495044483536,-0.6385678942302663,-0.5047611287562996,-0.4236496003800352,-0.3707520863046537,-0.3305481527440802,-0.31148775057272904,-0.2906381828756407,-0.27387634379405984,-0.2601978487416942,-0.24882411287608325,-0.23918051459947315,-0.23088903068075295,-0.22366451684624422,-0.2173103341834881,-0.21167011783937206,-0.20660738667965078,-0.20205201840491988,-0.19789705518194733,-0.19410531530718966},
{-0.8133691645633637,-0.8259424020441215,-0.6384179224242488,-0.5046031636587407,-0.4235133107531864,-0.3706353945184142,-0.3304704621408475,-0.31139697579402226,-0.29055390598642594,-0.2737991133861117,-0.26012646252124394,-0.24875756091632958,-0.2391179977008623,-0.23082992532719268,-0.2236083351222508,-0.2172566844818241,-0.21161868319349714,-0.20655791184836125,-0.2020042851889307,-0.19785088805572343,-0.19405955495902077},
{-0.8150222390653608,-0.8261336778124062,-0.6382676653380628,-0.504445197622749,-0.4233770815027106,-0.37051877489685425,-0.330393113955437,-0.3113062481942135,-0.2904696941749378,-0.2737219452969737,-0.2600551349499769,-0.24869106398961138,-0.23905553263838078,-0.23077086903482366,-0.22355220004620197,-0.2172030793196273,-0.21156729123166057,-0.20650847805309397,-0.20195659154082457,-0.1978047591733491,-0.19401362105496706},
{-0.8166709731861601,-0.8263233367739657,-0.6381171248201005,-0.5042872312181277,-0.42324091281093146,-0.37040222748651924,-0.33031610434100905,-0.31121556794545285,-0.2903855474117288,-0.2736448394766115,-0.25998386597433776,-0.2486246220421618,-0.23899311935959658,-0.23071186175286373,-0.22349611156913599,-0.21714951864962517,-0.21151594190817646,-0.20645908524965023,-0.20190893741776023,-0.1977586684933264,-0.19396748906427225},
{-0.8183153746741191,-0.826511383939835,-0.6379663027102505,-0.504129265011257,-0.42310480485866064,-0.37028575233323224,-0.3302394293571302,-0.3111249352178638,-0.29030146566704945,-0.2735677958749587,-0.259912655540724,-0.24855823502016097,-0.2389307578120597,-0.2306529034305686,-0.2234400696420457,-0.2170960024245348,-0.2114646351773677,-0.20640973339386803,-0.20186132277693614,-0.19771261597411605,-0.193921134563468},
{-0.8199554512703162,-0.8266978243112644,-0.6378152008399095,-0.5039712995651985,-0.42296875782529203,-0.3701693494820521,-0.3301630849747473,-0.3110343501795851,-0.29021744891086043,-0.2734908144418863,-0.2598415035954932,-0.248491902869814,-0.23886844794332984,-0.23059399401717526,-0.22338407421599987,-0.21704253059710016,-0.2114133709935973,-0.20636042244159325,-0.2018137475755868,-0.19766660157425325,-0.19387453354623874},
{-0.8215912107085261,-0.8268826628797497,-0.6376638210320499,-0.5038133354396274,-0.4228327718886338,-0.3700530189773114,-0.33008706708126667,-0.3109438129967743,-0.29013349711283193,-0.2734138951272097,-0.2597704100849707,-0.24842562553729802,-0.23880618970096346,-0.23053513346196788,-0.22332812524208515,-0.21698910312011127,-0.21136214931124736,-0.20631115234871983,-0.20176621177096293,-0.19762062525229673,-0.19382766271167817},
{-0.8232226607151785,-0.8270659046269775,-0.6375121651012406,-0.5036553731909105,-0.4226968472251021,-0.3699367608625981,-0.3300113714853935,-0.3108533238336392,-0.29004961024231435,-0.273337037880682,-0.2596993749554163,-0.24835940296878684,-0.23874398303251793,-0.2304763217141991,-0.22327222267135693,-0.21693571994633293,-0.21131097008472544,-0.20626192307113733,-0.20171871532033686,-0.19757468696680358,-0.19378049972623046},
{-0.8248498090093384,-0.8272475545248374,-0.6373602348536658,-0.503497413372118,-0.42256098400962455,-0.3698205751807959,-0.3299359939220331,-0.31076288285240994,-0.289965788268401,-0.2732602426520138,-0.25962839815306415,-0.2482932351104338,-0.2386818278855658,-0.23041755872317254,-0.2232163664549351,-0.21688238102859353,-0.21125983326845227,-0.20621273456478223,-0.20167125818103482,-0.1975287866763945,-0.19373302345619448},
{-0.8264726633026787,-0.8274276175353943,-0.637208032087217,-0.503339456532979,-0.4224251824156616,-0.36970446197403717,-0.3298609300570814,-0.310672490213424,-0.28988203115988187,-0.2731835093908528,-0.25955747962411024,-0.24822712190840165,-0.23861972420767627,-0.23035884443818877,-0.223160556543947,-0.21682908631971942,-0.21120873881687457,-0.20616358678561714,-0.2016238403103619,-0.19748292433969533,-0.19368521416857926},
{-0.8280912312994481,-0.8276060986108749,-0.6370555585914655,-0.5031815032200095,-0.4222894426152903,-0.36958842128374836,-0.3297861754920584,-0.3105821460750885,-0.28979833888526096,-0.27310683804678726,-0.2594866193146864,-0.24816106330883517,-0.23855767194642105,-0.23030017880854373,-0.22310479288950552,-0.21677583577256254,-0.21115768668449325,-0.20611447968960633,-0.2015764616656785,-0.19743709991535446,-0.19363705369947487},
{-0.8297055206964272,-0.8277830026936472,-0.6369028161477313,-0.5030235539764225,-0.42215376477906064,-0.36947245315065175,-0.3297117257687135,-0.31049185059391177,-0.2897147114127858,-0.2730302285693832,-0.25941581717093065,-0.24809505925787917,-0.23849567104939834,-0.23024156178358426,-0.22304907544279357,-0.21672262934000713,-0.21110667682577317,-0.20606541323277527,-0.20152912220438352,-0.19739131336206878,-0.19358852559036333},
{-0.8313155391829298,-0.8279583347162187,-0.6367498065291196,-0.5028656093421773,-0.42201814907615653,-0.3693565576147424,-0.32963757637349744,-0.3104016039245356,-0.28963114871040835,-0.2729536809081258,-0.2593450731388973,-0.2480291097016595,-0.23843372146418568,-0.23018299331267444,-0.22299340415498098,-0.21666946697496137,-0.21105570919528305,-0.20601638737116185,-0.20148182188388397,-0.19734556463852904,-0.19353961519270863},
{-0.8329212944407589,-0.8281320996012138,-0.6365965315005482,-0.5027076698540613,-0.42188259567432196,-0.36924073471531527,-0.3295637227419812,-0.310311406219708,-0.289547650745794,-0.27287719501244956,-0.2592743871646318,-0.24796321458630455,-0.23837182313835034,-0.23012447334512612,-0.22293777897727135,-0.21661634863033735,-0.21100478374754722,-0.20596740206079334,-0.2014345606616021,-0.1972998537035091,-0.19349030974298187},
{-0.834522794144162,-0.8283043022613604,-0.6364429928187912,-0.5025497360455955,-0.42174710473987137,-0.3691249844909699,-0.32949016026320144,-0.310221257630353,-0.28946421748638107,-0.2728007708317482,-0.2592037591941221,-0.2478973738579314,-0.2383099760195277,-0.23006600183036485,-0.2228821998608741,-0.21656327425908245,-0.2109539004371458,-0.20591845725779578,-0.20138733849501333,-0.19725418051574423,-0.19344059840945627},
{-0.8361200459598397,-0.828474947599474,-0.6362891922325065,-0.5023918084471607,-0.42161167643778263,-0.36900930697960993,-0.32941688428384347,-0.31013115830554155,-0.2893808488992924,-0.2727244083153667,-0.2591331891733205,-0.24783158746267045,-0.23824818005531184,-0.23000757871773753,-0.22282666675700608,-0.2165102438141724,-0.2109030592186792,-0.20586955291826192,-0.20134015534159683,-0.19720854503404966,-0.19339047231338075},
{-0.8377130575468803,-0.828644040508454,-0.6361351314822816,-0.5022338875859178,-0.4214763109315477,-0.3688937022184504,-0.3293438901123149,-0.3100411083925677,-0.28929754495142135,-0.2726481074125882,-0.2590626770481909,-0.24776585534662826,-0.2381864351933239,-0.22994920395666596,-0.22277117961696108,-0.21645725724860165,-0.21085226004679308,-0.20582068899833456,-0.20129301115891146,-0.1971629472172386,-0.19333992452697418},
{-0.8393018365567676,-0.828811585871251,-0.6359808123006504,-0.5020759739858859,-0.42134100838332733,-0.36877817024400633,-0.32927117302280473,-0.30995110803683745,-0.28921430560939165,-0.272571868072655,-0.25899222276458955,-0.24770017745590847,-0.23812474138118034,-0.22989087749658982,-0.2227157383919905,-0.21640431451538533,-0.21080150287611765,-0.20577186545417547,-0.20124590590446056,-0.1971173870241455,-0.19328895005059726},
{-0.8408863906333244,-0.8289775885608822,-0.6358262364121439,-0.5019180681679599,-0.4212057689538886,-0.36866271109211607,-0.32919872825912894,-0.30986115738205844,-0.28913113083956343,-0.2724956902447632,-0.258921826268394,-0.2476345537366158,-0.23806309856651273,-0.22983259928693306,-0.2226603430334097,-0.21635141556757453,-0.2107507876613703,-0.20572308224200103,-0.20119883953585016,-0.1970718644136793,-0.19323754577203178},
{-0.8424667274127057,-0.8291420534403924,-0.6356714055333319,-0.5017601706498704,-0.4210705928026105,-0.3685473247979519,-0.3291265510386348,-0.30977125657010657,-0.28904802060804446,-0.2724195738780334,-0.25885148750542447,-0.2475689841348624,-0.23800150669695458,-0.22977436927715894,-0.22260499349251162,-0.2162985603582167,-0.21070011435721608,-0.2056743393180075,-0.20115181201067212,-0.19702637934470313,-0.19318571040997418},
{-0.844042854523365,-0.8293049853628528,-0.63551632137284,-0.5016022819462893,-0.4209354800875711,-0.36843201139598925,-0.32905463655582257,-0.3096814057411153,-0.28896497488069284,-0.2723435189215695,-0.2587812064214594,-0.24750346859673758,-0.2379399657201489,-0.229716187416739,-0.2225496897206392,-0.2162457488404268,-0.21064948291840946,-0.20562563663844913,-0.20110482328656087,-0.1969809317761625,-0.19313344444457015},
{-0.8456147795860233,-0.8294663891713465,-0.6353609856313911,-0.50144440256875,-0.42080043096539377,-0.36831677092005827,-0.3289829799859993,-0.30959160503348093,-0.2888819936231293,-0.272267525324425,-0.2587109829622908,-0.2474380070683351,-0.23787847558378322,-0.2296580536551679,-0.22249443166917393,-0.2161929809673071,-0.2105988932997126,-0.20557697415961984,-0.20105787332117359,-0.1969355216670119,-0.19308075003722058},
{-0.8471825102136505,-0.8296262696989628,-0.6352054000018417,-0.5012865330257078,-0.42066544559143376,-0.36820160340330643,-0.32891157648871105,-0.3095018545838607,-0.28879907680068817,-0.2721915930355645,-0.2586408170736134,-0.24737259949576673,-0.23781703623548978,-0.2295999679419612,-0.22243921928946297,-0.21614025669200443,-0.21054834545591894,-0.2055283518378131,-0.2010109620721956,-0.19689014897623797,-0.19302763094156156},
{-0.8487460540114458,-0.829784631768782,-0.6350495661692139,-0.5011286738226062,-0.42053052411967173,-0.3680865088782233,-0.3288404212111468,-0.30941215452718646,-0.2887162243785071,-0.272115722003945,-0.2585707087011262,-0.24730724582510671,-0.23775564762295026,-0.2295419302266295,-0.2223840525329231,-0.21608757596767453,-0.21049783934183347,-0.20547976962934805,-0.200964089497354,-0.19684481366281503,-0.19297409240803204},
{-0.850305418576789,-0.8299414801938543,-0.6348934858107433,-0.5009708254617941,-0.42039566670275513,-0.36797148737665875,-0.32876950929155285,-0.30932250499674263,-0.28863343632149485,-0.2720399121784869,-0.258500657790541,-0.24724194600247837,-0.237694309693888,-0.2294839404587643,-0.222328931351007,-0.21603493874754598,-0.21044737491232046,-0.20543122749063275,-0.20091725555442225,-0.1967995156858373,-0.19292014108359823},
{-0.85186061149924,-0.8300968197771998,-0.6347371605958869,-0.5008129884426218,-0.42026087349205765,-0.36785653892978615,-0.32869883586226106,-0.3092329061240512,-0.28855071259426446,-0.2719641635080185,-0.2584306642874622,-0.24717669997395716,-0.23763302239597572,-0.2294259985879108,-0.22227385569513453,-0.21598234498481916,-0.21039695212224835,-0.205382725378023,-0.20087046020114319,-0.19675425500433835,-0.19286578490814527},
{-0.8534116403605063,-0.8302506553118019,-0.6345805921863772,-0.5006551632614044,-0.42012614463754555,-0.3677416635681483,-0.328628396052854,-0.3091433580390116,-0.2884680531612361,-0.2718884759413408,-0.2583607281375244,-0.24711150768564308,-0.23757178567694298,-0.22936810456367096,-0.22221882551679023,-0.2159297946327367,-0.21034657092650844,-0.20533426324795895,-0.20082370339535072,-0.19670903157740732,-0.19281103300942687},
{-0.8549585127344101,-0.8304029915805793,-0.6344237822362493,-0.5004973504114614,-0.4199914802879578,-0.36762686132163497,-0.32855818499313805,-0.3090538608698537,-0.28838545798659637,-0.2718128494272192,-0.2582908492862874,-0.24704636908363325,-0.23751059948450348,-0.2293102583356364,-0.22216384076746026,-0.21587728764457537,-0.21029623128005365,-0.20528584105690106,-0.20077698509488412,-0.19666384536417436,-0.1927558955972895},
{-0.856501236186872,-0.8305538333563867,-0.6342667323918723,-0.5003395503831553,-0.4198568805906721,-0.3675121322194887,-0.32848819781599187,-0.30896441474316594,-0.28830292703428306,-0.2717372839143578,-0.2582210276793422,-0.2469812841140223,-0.2374494637663866,-0.22925245985345238,-0.22210890139868944,-0.21582482397364716,-0.2102459331378304,-0.20523745876130434,-0.20073030525761493,-0.19661869632380363,-0.19270038385879312},
{-0.858039818275887,-0.8307031854020139,-0.6341094442920012,-0.5001817636638406,-0.41972234569180006,-0.3673974762903461,-0.32841842966025936,-0.30887501978388404,-0.2882204602680394,-0.2716617793514046,-0.25815126326218785,-0.24691625272290274,-0.2373883784703424,-0.22919470906675804,-0.2220540073619714,-0.21577240357326255,-0.21019567645481602,-0.20518911631769032,-0.2006836638414235,-0.1965735844154376,-0.19264450985475},
{-0.8595742665514988,-0.8308510524701535,-0.6339519195677721,-0.5000239907379719,-0.41958787573620315,-0.3672828935621683,-0.3283488756733306,-0.3087856761153484,-0.2881380576513628,-0.27158633568698565,-0.25808155598035015,-0.24685127485637776,-0.2373273435441518,-0.22913700592521952,-0.22199915860889702,-0.2157200263967679,-0.21014546118604782,-0.2051408136825853,-0.2006370608042642,-0.19652850959830764,-0.19258828641878706},
{-0.8611045885557771,-0.8309974393034116,-0.6337941598427833,-0.49986623208701964,-0.4194534708673861,-0.3671683840623362,-0.32827953101379503,-0.30869638385931536,-0.28805571914754613,-0.2715109528696633,-0.2580119057793233,-0.24678635046055233,-0.23726635893557252,-0.22907935037854765,-0.2219443550910799,-0.21566769239757605,-0.21009528728655896,-0.2050925508125898,-0.20059049610408963,-0.19648347183165465,-0.1925317270593962},
{-0.8626307918227851,-0.8311423506342879,-0.6336361667330773,-0.49970848818956054,-0.41931913122764986,-0.36705394781756995,-0.3282103908538857,-0.3086071431359092,-0.28797344471963837,-0.2714356308479594,-0.25794231260454,-0.2467214794815175,-0.2372054245924029,-0.22902174237645345,-0.22188959676010095,-0.2156154015290807,-0.21004515471145419,-0.20504432766428898,-0.20054396969889415,-0.19643847107475415,-0.19247484586555053},
{-0.8641528838785745,-0.8312857911851658,-0.633477941847225,-0.49955075952127165,-0.41918485695798796,-0.3669395848539863,-0.3281414503818816,-0.3085179540637055,-0.28789123433049835,-0.2713603695703498,-0.25787277640145023,-0.24665666186538565,-0.23714454046243422,-0.22896418186864392,-0.22183488356761522,-0.21556315374472135,-0.20999506341581137,-0.20499614419429135,-0.20049748154671032,-0.19639350728690436,-0.19241765741647265},
{-0.8656708722411514,-0.8314277656683122,-0.6333194867863184,-0.4993930465549081,-0.4190506481981367,-0.36682529519709417,-0.32807270480451356,-0.3084288167597131,-0.28780908794277094,-0.2712851689852605,-0.25780329711547245,-0.24659189755826716,-0.2370837064934912,-0.22890666880491423,-0.2217802154652938,-0.21551094899796697,-0.20994501335476884,-0.20494800035928107,-0.20045103160558803,-0.1963485804274127,-0.19236017669566746},
{-0.8671847644204473,-0.8315682787858603,-0.6331608031440297,-0.49923534976039696,-0.41891650508665346,-0.36671107887176946,-0.3280041493490638,-0.3083397313393855,-0.28772700551887787,-0.2712100290410678,-0.257733874691977,-0.24652718650627947,-0.237022922633413,-0.2288492031350065,-0.22172559240480472,-0.21545878724230538,-0.20989500448351017,-0.20489989611593334,-0.2004046198336074,-0.19630369045566348,-0.1923024190093492},
{-0.8686945679183071,-0.8317073352298077,-0.6330018925066276,-0.49907766960476657,-0.4187824277607528,-0.36659693590230713,-0.32793577926554507,-0.3082506979166395,-0.28764498702104685,-0.27113494968612006,-0.2576645090763703,-0.24646252865554158,-0.23696218883005216,-0.22879178480876156,-0.2216710143378967,-0.2154066684312601,-0.20984503675721028,-0.20485183142097763,-0.2003582461888933,-0.1962588373310522,-0.19224439991003245},
{-0.870200290228474,-0.8318449396819942,-0.6328427564530064,-0.4989200065522046,-0.41864841635648165,-0.366482866312385,-0.32786758982871683,-0.3081617166038725,-0.2875630324112897,-0.2710599308686982,-0.2575952002139674,-0.2463979239521441,-0.23690150503124563,-0.2287344137759929,-0.22161648121628852,-0.21535459251840283,-0.2097951101311173,-0.20480380623116856,-0.2003119106296073,-0.1962140210129838,-0.19218613512445976},
{-0.8717019388365399,-0.8319810968141189,-0.6326833965547395,-0.49876236106409305,-0.418514471008633,-0.36636887012506314,-0.32779957633999457,-0.30807278751198897,-0.28748114165140304,-0.27098497253705134,-0.2575259480501204,-0.24633337234224523,-0.23684087118488417,-0.22867708998652436,-0.22156199299176238,-0.21530255945729276,-0.20974522456047529,-0.2047558205032497,-0.20026561311391422,-0.19616924146093911,-0.1921276404867021},
{-0.8731995212199559,-0.8321158112877168,-0.6325238143760998,-0.4986047335989833,-0.41838059185076854,-0.36625494736284847,-0.3277317341294598,-0.3079839107503632,-0.28739931470301555,-0.2709100746393769,-0.25745675253013234,-0.24626887377196433,-0.23678028723886196,-0.2286198133902541,-0.2215075496161082,-0.21525056920156022,-0.20969538000056231,-0.20470787419407555,-0.2002193536000384,-0.1961244986344104,-0.1920689318760196},
{-0.8746930448479865,-0.8322490877541389,-0.6323640114740793,-0.498447124612625,-0.4182467790153044,-0.36614109804762474,-0.32766405855747327,-0.3078950864268929,-0.2873175515275219,-0.2708352371238336,-0.2573876135992828,-0.2462044281874194,-0.23671975314108196,-0.22856258393706214,-0.2214531510411405,-0.21519862170482218,-0.20964557640671505,-0.2046599672604501,-0.20017313204621612,-0.19607979249289625,-0.19201002515935062},
{-0.876182517181707,-0.8323809308545811,-0.6322039893984466,-0.4982895345579933,-0.418113032633357,-0.36602732220069545,-0.3275965450164623,-0.3078063146480346,-0.2872358520861485,-0.2707604599385297,-0.25731853120287773,-0.24614003553477593,-0.23665926883950833,-0.2285054015768912,-0.22139879721874395,-0.2151467169207612,-0.20959581373426817,-0.20461209965928656,-0.20012694841074313,-0.19603512299597103,-0.1919509361386887},
{-0.8776679456739621,-0.832511345220037,-0.6320437496917487,-0.4981319638852627,-0.417979352834896,-0.3659136198427836,-0.3275291889325037,-0.30771759551872435,-0.2871542163398996,-0.2706857430315226,-0.2572495052861498,-0.24607569576016097,-0.23659883428202105,-0.22844826625965925,-0.22134448810074708,-0.21509485480308177,-0.20954609193859713,-0.20456427134746286,-0.2000808026519052,-0.19599049010318403,-0.19189168050279415},
{-0.8791493377693598,-0.832640335471313,-0.6318832938893753,-0.49797441304188894,-0.41784573974869055,-0.36579999099402694,-0.32746198576684604,-0.30762892914252615,-0.2870726442496074,-0.2706110863508473,-0.25718053579434813,-0.2460114088097417,-0.23653844941661772,-0.22839117793535652,-0.22129022363910483,-0.21504303530551228,-0.20949641097513066,-0.20451648228192065,-0.20003469472807067,-0.19594589377422128,-0.19183227378355527},
{-0.880626700904257,-0.8327679062190383,-0.6317226235195632,-0.49781688247255285,-0.41771219350231703,-0.36568643567400194,-0.3273949310174358,-0.3075403156215059,-0.2869911357758955,-0.27053648984447043,-0.2571116226726978,-0.24594717462965987,-0.23647811419126574,-0.22833413655396106,-0.2212360037856987,-0.21499125838179056,-0.20944677079928076,-0.20446873241963298,-0.1999886245975928,-0.1959013339686616,-0.1917727313163784},
{-0.8821000425067211,-0.8328940620636153,-0.6315617401034443,-0.49765937261924637,-0.4175787142222127,-0.3655729539016874,-0.32732802022025453,-0.3074517550563399,-0.28690969087921037,-0.2704619534603194,-0.2570427658663904,-0.24588299316608048,-0.23641782855395205,-0.22827714206549365,-0.22118182849252938,-0.21493952398573496,-0.20939717136652852,-0.2044210217175842,-0.19994259221889998,-0.19585681064624094,-0.1917130682049349},
{-0.8835693699965143,-0.8330188075952496,-0.6314006451550584,-0.4975018839211983,-0.41744530203356406,-0.36545954569551087,-0.3272612489506411,-0.30736324754627414,-0.2868283095198155,-0.2703874771462804,-0.2569739653206537,-0.2458188643651984,-0.23635759245269317,-0.22822019442001296,-0.22112769771156598,-0.21488783207115658,-0.20934761263238555,-0.20437335013281693,-0.19989659755040345,-0.19581232376665458,-0.19165329928972968},
{-0.885034690785085,-0.8331421473939236,-0.6312393401814116,-0.49734441681497354,-0.41731195706047497,-0.3653462110733362,-0.3271946128245149,-0.307274793189181,-0.28674699165774953,-0.2703130608501946,-0.2569052209806412,-0.24575478817316393,-0.23629740583550785,-0.228163293567562,-0.2210736113948248,-0.21483618259188692,-0.20929809455237397,-0.20432571762240798,-0.199850640550581,-0.19576787328965922,-0.19159343912050653},
{-0.8864960122755382,-0.8332640860294183,-0.6310778266824848,-0.49718697173444837,-0.41717867942583764,-0.36523295005246376,-0.3271281074995574,-0.3071863920815313,-0.2866657372529246,-0.2702387045198932,-0.25683653279154695,-0.24569076453619543,-0.23623726865045291,-0.22810643945827203,-0.22101956949437063,-0.2147845755018421,-0.20924861708207865,-0.20427812414343766,-0.19980472117798087,-0.19572345917504835,-0.19153350193230528},
{-0.887953341862616,-0.8333846280612776,-0.630916106151271,-0.4970295491107997,-0.41704546925139896,-0.3651197626496347,-0.3270617286763249,-0.30709804431841736,-0.28658454626502206,-0.2701644081030993,-0.25676790069848865,-0.24562679340046972,-0.2361771808455851,-0.228049632042243,-0.2209655719622582,-0.21473301075491846,-0.20919918017708689,-0.20423056965305103,-0.1997588393910955,-0.19567908138263085,-0.19147350162478805},
{-0.8894066869326839,-0.8335037780388144,-0.6307541800738063,-0.49687214937258817,-0.4169123266578237,-0.36500664888101964,-0.32699547209930274,-0.3070097499935679,-0.2865034186535548,-0.27009017154753145,-0.25669932464663586,-0.2455628747121913,-0.23611714236897963,-0.22799287126961193,-0.2209116187506115,-0.21468148830505596,-0.2091497837930249,-0.20418305410839777,-0.19971299514851437,-0.1956347398722486,-0.19141345174493773},
{-0.8908560548637106,-0.833621540501114,-0.6305920499292027,-0.496714772945704,-0.41677925176454167,-0.36489360876227594,-0.32692933355783454,-0.30692150919937694,-0.28642235437786173,-0.27001599480086286,-0.2566308045811109,-0.24549900841758832,-0.2360571531687775,-0.22793615709058695,-0.22085770981155106,-0.21463000810623928,-0.2091004278855626,-0.2041355774666837,-0.19966718840885217,-0.19559043460381115,-0.19135336547253234},
{-0.89230145302524,-0.8337379199770231,-0.6304297171896798,-0.4965574202533992,-0.41664624468992356,-0.3647806423084884,-0.326863308887046,-0.3068333220268865,-0.2863413533971073,-0.26994187781072754,-0.25656234044703224,-0.24543519446288353,-0.23599721319304862,-0.2278794894553382,-0.22080384509724593,-0.21457857011248177,-0.20905111241039392,-0.20408813968515277,-0.1996214191307346,-0.19554616553721788,-0.19129325560849958},
{-0.8937428887783836,-0.8338529209851377,-0.6302671833205827,-0.4964000917163497,-0.4165133055511811,-0.36466774953419806,-0.32679739396868235,-0.306745188565825,-0.28626041567026556,-0.2698678205247236,-0.25649393218952315,-0.24537143279432622,-0.23593732238997733,-0.2278228683141123,-0.22075002455991616,-0.21452717427782314,-0.20900183732326816,-0.20404074072105033,-0.19957568727286307,-0.1955019326324377,-0.19123313456560903},
{-0.8951803694758005,-0.8339665480338221,-0.6301044497804287,-0.496242787752577,-0.41638043446440387,-0.36455493045342197,-0.3267315847319173,-0.30665710890457765,-0.28617954115613087,-0.26979382289035864,-0.25642557975366403,-0.24530772335813522,-0.23587748070770098,-0.22776629361714573,-0.2206962481517349,-0.21447582055632586,-0.20895260257991716,-0.2039933805316736,-0.1995299927939127,-0.19545773584942883,-0.19117301436152923},
{-0.8966139024616744,-0.8340788056211756,-0.6299415180209295,-0.49608550877755764,-0.41624763154464733,-0.36444218507962445,-0.3266658771541095,-0.30656908313024095,-0.28609872981334517,-0.2697198848551714,-0.2563572830845577,-0.24524406610060118,-0.2358176880944104,-0.22770976531472759,-0.22064251582498884,-0.21442450890210912,-0.20890340813616093,-0.20394605907436536,-0.19948433565265594,-0.1954135751482351,-0.19111290661392466},
{-0.8980434950717012,-0.8341896982350552,-0.6297783894870179,-0.49592825520417394,-0.41611489690573455,-0.3643295134257606,-0.32660026726141755,-0.3064811113286324,-0.286017981600369,-0.2696460063666154,-0.25628904212729436,-0.2451804609679744,-0.23575794449832577,-0.22765328335719226,-0.22058882753199122,-0.21437323926932544,-0.20885425394781648,-0.20389877630650705,-0.19943871580786487,-0.19536945048891957,-0.1910528225372906},
{-0.8994691546330615,-0.8342992303530575,-0.6296150656168844,-0.49577102744272933,-0.415982230660507,-0.3642169155042301,-0.32653475112945374,-0.3063931935842684,-0.28593729647546295,-0.26957218737209643,-0.25622085682693824,-0.24511690790654356,-0.23569824986765842,-0.2275968476948516,-0.2205351832250172,-0.21432201161211767,-0.2088051399707601,-0.20385153218547541,-0.19939313321833518,-0.19532536183154187,-0.1909927729414474},
{-0.9008908884644127,-0.8344074064425137,-0.6294515478419944,-0.49561382590103004,-0.41584963292061916,-0.36410439132692796,-0.3264693248838012,-0.30630532998039806,-0.2858566743967615,-0.269498427819022,-0.25615272712856435,-0.2450534068626128,-0.2356386041506609,-0.22754045827806468,-0.22048158285643593,-0.21427082588471796,-0.20875606616086417,-0.2038043266687108,-0.1993475878429481,-0.19528130913625602,-0.19093276823158484},
{-0.9023087038758746,-0.8345142309605089,-0.6292878375871462,-0.49545665098427666,-0.41571710379670407,-0.36399194090521625,-0.3264039847006593,-0.3062175205990132,-0.2857761153221966,-0.269424727654719,-0.2560846529772414,-0.24498995778247856,-0.23557900729560893,-0.22748411505723914,-0.2204280263786197,-0.21421968204135333,-0.20870703247408506,-0.2037571597136903,-0.1993020796405669,-0.19523729236320153,-0.1908728184093994},
{-0.9037226081690002,-0.8346197083538436,-0.6291239362704614,-0.4952995030952161,-0.4155846433983226,-0.36387956424993706,-0.326338726807165,-0.3061297655208537,-0.28569561920954556,-0.2693510868264773,-0.25601663431800636,-0.24492656061248314,-0.23551945925079093,-0.22742781798277217,-0.2203745137439903,-0.2141685800363129,-0.20865803886636464,-0.20371003127790943,-0.1992566085700901,-0.1951933114725663,-0.19081293307543012},
{-0.905132608636761,-0.8347238430590651,-0.6289598453034477,-0.49514238263404403,-0.4154522518339099,-0.36376726137143905,-0.3262735474819439,-0.3060420648254316,-0.28561518601642466,-0.2692775052815884,-0.2559486710959378,-0.24486321529896532,-0.23545995996455027,-0.22737156700515315,-0.2203210449049826,-0.21411751982388416,-0.2086090852937022,-0.20366294131891477,-0.1992111745905082,-0.19514936642460473,-0.19075312143248024},
{-0.9065387125635473,-0.8348266395024488,-0.6287955660910027,-0.4949852899984636,-0.41531992921087685,-0.36365503227953944,-0.3262084430553497,-0.3059544185910181,-0.28553481570028294,-0.26920398296727077,-0.2558807632560617,-0.24479992178825466,-0.23540050938520468,-0.22731536207483727,-0.22026761981408133,-0.21406650135843786,-0.20856017171213093,-0.2036158897942995,-0.19916577766080212,-0.19510545717957134,-0.19069339228965215},
{-0.9079409272251269,-0.8349281021000001,-0.6286311000314578,-0.49482822558371536,-0.41518767563555203,-0.363542876983527,-0.3261434099098689,-0.30586682689469435,-0.2854545082183827,-0.2691305198306976,-0.25581291074344015,-0.24473668002674204,-0.2353411074611182,-0.22725920314232123,-0.22021423842380256,-0.21401552459432122,-0.20851129807773322,-0.2035688766616286,-0.1991204177399835,-0.19506158369777682,-0.1906337540673283},
{-0.9093392598886385,-0.8350282352574443,-0.6284664485166102,-0.49467118978255414,-0.4150554912131975,-0.3634307954922362,-0.326078444480439,-0.3057792898122909,-0.28537426352785694,-0.26905711581902814,-0.2557451135030974,-0.24467348996080568,-0.23528175414070363,-0.22720309015815066,-0.2201609006866752,-0.2139645894859633,-0.20846246434658156,-0.20352190187858776,-0.19907509478710528,-0.19501774593952714,-0.19057421480280656},
{-0.910733717812594,-0.835127043370249,-0.6283016129317287,-0.49451418298529115,-0.41492337604810936,-0.36331878781396965,-0.3260135432546579,-0.30569180741848245,-0.2852940815856647,-0.268983770879366,-0.255677371480063,-0.2446103515368429,-0.23522244937236297,-0.22714702307289397,-0.2201076065552664,-0.2139136959878093,-0.20841367047481119,-0.20347496540281823,-0.1990298087612774,-0.19497394386522204,-0.19051478215629875},
{-0.9121243082468232,-0.8352245308235879,-0.6281365946556285,-0.4943572055797821,-0.41479133024343506,-0.3632068539565303,-0.32594870277297927,-0.3056043797867636,-0.28521396234860563,-0.2689104849588027,-0.25560968461939776,-0.24454726470127014,-0.23516319310457612,-0.22709100183713826,-0.2200543559822034,-0.2138628440543322,-0.20836491641860916,-0.2034280671920654,-0.1989845596216372,-0.19493017743528557,-0.19045546341763503},
{-0.9135110384324998,-0.8353207019923703,-0.6279713950606316,-0.49420025795143363,-0.41465935390135217,-0.36309499392725053,-0.32588391962888275,-0.3055170069894033,-0.2851339057733214,-0.26883725800436087,-0.2555420528661099,-0.24448422940052705,-0.23510398528575877,-0.2270350264015094,-0.2200011489201098,-0.21381203364003903,-0.20831620213414165,-0.20338120720405678,-0.1989393473273412,-0.19488644661011012,-0.19039626551326944},
{-0.9148939156020939,-0.8354155612412293,-0.6278060155126611,-0.49404334048329035,-0.41452744712297646,-0.36298320773291926,-0.3258191904689888,-0.3054296890975835,-0.28505391181629675,-0.26876408996306034,-0.25547447616524943,-0.2444212455810717,-0.2350448258644518,-0.2269790967166641,-0.21994798532168686,-0.21376126469949686,-0.20826752757767625,-0.20333438539659815,-0.19889417183759167,-0.19484275135023643,-0.19033719501373625},
{-0.916272946979378,-0.8355091129245233,-0.6276404573712344,-0.49388645355592276,-0.41439561000841185,-0.36287149537991426,-0.32575451199320865,-0.30534242618127183,-0.28497398043386646,-0.26869098078184583,-0.2554069544618341,-0.24435831318935136,-0.23498571478916092,-0.2269232127332959,-0.21989486513961287,-0.21371053718726402,-0.20821889270545374,-0.2032876017274866,-0.19884903311162594,-0.19479909161614223,-0.19027825814128407},
{-0.9176481397794031,-0.8356013613863231,-0.6274747219894936,-0.49372959754757617,-0.4142638426567878,-0.36275985687405515,-0.32568988095477086,-0.305255218309321,-0.28489411158219546,-0.2686179304076605,-0.2553394877008935,-0.24429543217187027,-0.23492665200843882,-0.22686737440208754,-0.2198417883266383,-0.21365985105798696,-0.20817029747380822,-0.20324085615459975,-0.1988039311087329,-0.19475546736842347,-0.19021946077797403},
{-0.9190195012084761,-0.8356923109604322,-0.6273088107142417,-0.49357277283404966,-0.4141321451661341,-0.3626482922207146,-0.325625294160253,-0.30516806554942766,-0.28481430521733464,-0.2685449387874126,-0.25527207582746597,-0.24423260247512735,-0.2348676374708658,-0.2268115816738256,-0.21978875483554494,-0.21360920626629915,-0.20812174183905652,-0.20319414863581292,-0.19875886578820579,-0.19471187856764433,-0.1901608084738008},
{-0.920387038464157,-0.835781965970368,-0.6271427248859637,-0.4934159797888151,-0.41400051763356704,-0.36253680142480127,-0.3255607484695333,-0.30508096796821454,-0.28473456129512315,-0.26847200586793857,-0.2552047187865796,-0.2441698240456463,-0.23480867112503712,-0.22675583449924314,-0.2197357646191409,-0.2135586027668711,-0.20807322575757653,-0.20314747912905606,-0.19871383710939888,-0.194668325174432,-0.19010230645518272},
{-0.9217507587352501,-0.8358703307293939,-0.6269764658388699,-0.4932592187829923,-0.4138689601551271,-0.3624253844907054,-0.3254962407957995,-0.30499392563114247,-0.28465487977132076,-0.26839913159610795,-0.2551374165232688,-0.2441070968299699,-0.23474975291961342,-0.22670013282920864,-0.2196828176302701,-0.2135080405144701,-0.20802474918580122,-0.20310084759231678,-0.1986688450317302,-0.1946248071495122,-0.19004395963350218},
{-0.9231106692017633,-0.8359574095404637,-0.6268100349008963,-0.49310249018532015,-0.41373747282589923,-0.36231404142238877,-0.3254317681055,-0.30490693860259965,-0.2845752606014962,-0.26832631591868183,-0.25507016898257373,-0.24404442077465655,-0.23469088280325234,-0.22664447661449916,-0.21962991382180663,-0.21345751946381875,-0.2079763120801501,-0.20305425398356147,-0.19862388951457532,-0.19458132445354132,-0.18998577261367144},
{-0.9244667770349184,-0.8360432066962854,-0.6266434333937578,-0.49294579436224684,-0.41360605574002746,-0.3622027722233112,-0.32536732741822855,-0.3048200069458632,-0.28449570374108035,-0.2682535587824449,-0.25500297610952183,-0.24398179582629248,-0.23463206072461978,-0.2265888658060216,-0.21957705314667736,-0.21340703956971335,-0.20792791439712555,-0.20300769826084514,-0.1985789705174183,-0.19453787704727865,-0.18992774970314202},
{-0.9258190893971365,-0.8361277264792786,-0.6264766626329601,-0.49278913167788085,-0.41347470899055483,-0.3620915768964937,-0.32530291580659554,-0.30473313072313335,-0.2844162091453641,-0.2681808601341245,-0.254935837849169,-0.24391922193148352,-0.23457328663248267,-0.226533300354676,-0.2195242355578062,-0.2133566007869902,-0.20787955609323905,-0.20296118038223848,-0.19853408799975542,-0.194494464891518,-0.1898698949205364},
{-0.9271676134420038,-0.8362109731615948,-0.6263097239278289,-0.49263250249401846,-0.4133434326696736,-0.3619804554444787,-0.3252385303960762,-0.30464630999553965,-0.2843367767695037,-0.2681082199204171,-0.25486875414654525,-0.2438566990368436,-0.23451456047555402,-0.22647778021138742,-0.21947146100820153,-0.21330620307049653,-0.2078312371250427,-0.2029147003058761,-0.19848924192112716,-0.19445108794707433,-0.1898122120046376},
{-0.9285123563142748,-0.8362929510051114,-0.62614261858155,-0.492475907170184,-0.41321222686851444,-0.36186940786933286,-0.32517416836483337,-0.3045595448231696,-0.28425740656850007,-0.26803563808800696,-0.25480172494671505,-0.24379422708903004,-0.23445588220263297,-0.22642230532712887,-0.21941872945087781,-0.21325584637516537,-0.20778295744913894,-0.20286825798986657,-0.1984444322411103,-0.1944077461748535,-0.18975470442326703},
{-0.9298533251498592,-0.8363736642614428,-0.6259753478911811,-0.4923193460635891,-0.41308109167728196,-0.36175843417270903,-0.32510982694357904,-0.30447283526500624,-0.2841780984972105,-0.2679631145835197,-0.2547347501947243,-0.24373180603468736,-0.23439725176254422,-0.22636687565290103,-0.2193660408388694,-0.21320553065589304,-0.20773471702214247,-0.2028218533924122,-0.19839965891927158,-0.19436443953570454,-0.18969737538213566},
{-0.931190527075802,-0.8364531171719267,-0.6258079131476824,-0.49216281952921404,-0.4129500271852602,-0.361647534355769,-0.32504550341531957,-0.30438618137901957,-0.28409885251038813,-0.2678906493535694,-0.2546678298356464,-0.24366943582051837,-0.23433866910410556,-0.22631149113974097,-0.21931339512527892,-0.21315525586766576,-0.20768651580074315,-0.20277548647174687,-0.19835492191533677,-0.194321167990598,-0.18964022783379486},
{-0.9325239692102747,-0.8365313139676385,-0.625640315635943,-0.49200632791973475,-0.4128190334806917,-0.36153670841924646,-0.3249811951151268,-0.304299583222157,-0.2840196685626224,-0.2678182423447459,-0.2546009638145438,-0.2436071163932227,-0.2342801341762118,-0.22625615173872027,-0.21926079226324507,-0.21310502196551429,-0.2076383537416296,-0.20272915718613638,-0.1983102211889341,-0.1942779315005323,-0.18958326448634666},
{-0.9338536586625545,-0.8366082588694015,-0.6254725566348276,-0.49184987158560256,-0.4126881106509638,-0.36142595636341845,-0.3249168994298286,-0.30421304085032547,-0.28394054660835427,-0.2677458935035846,-0.2545341520764927,-0.24354484769952794,-0.23422164692774566,-0.2262008574009321,-0.21920823220590396,-0.213054828904448,-0.2075902308015493,-0.2026828654938569,-0.19826555669982426,-0.19423473002649805,-0.1895264878122444},
{-0.9351796025330246,-0.8366839560877626,-0.625304637417152,-0.491693450875048,-0.41255725878244454,-0.36131527818809994,-0.32485261379778874,-0.30412655431840896,-0.28386148660193483,-0.2676736027766319,-0.25446739456658657,-0.24348262968619244,-0.234163207307662,-0.22614560807749934,-0.21915571490646485,-0.21300467663958228,-0.20754214693726236,-0.20263661135327637,-0.19822092840774636,-0.19419156352958644,-0.1894699000569443},
{-0.9365018079131495,-0.8367584098230254,-0.6251365592497793,-0.4915370661340404,-0.4124264779605982,-0.3612046738927061,-0.32478833570859195,-0.304040123680283,-0.28378248849754056,-0.26760137011037227,-0.25440069122988496,-0.24342046229998454,-0.23410481526490806,-0.2260904037196032,-0.21910324031815825,-0.21295456512600608,-0.2074941021056131,-0.20259039472272294,-0.1981763362725143,-0.19414843197085746,-0.18941350324749617},
{-0.9378202818854691,-0.8368316242652228,-0.6249683233935848,-0.491380717706386,-0.41229576827000036,-0.36109414347617064,-0.3247240627027551,-0.3039537489888403,-0.2837035522492528,-0.2675291954512603,-0.25433404201152415,-0.24335834548770724,-0.23404647074848733,-0.2260352442784398,-0.21905080839425228,-0.21290449431889036,-0.20744609626343252,-0.2025442155606471,-0.19813178025397016,-0.19410533531147006,-0.18935729920094874},
{-0.9391350315235858,-0.8369036035941464,-0.6247999311035217,-0.49122440593365035,-0.4121651297942275,-0.36098368693702537,-0.3246597923713551,-0.3038674302959784,-0.2836246778110136,-0.267457078745777,-0.2542674468566035,-0.2432962791961808,-0.23398817370745217,-0.22598012970526393,-0.21899841908805479,-0.2128544641734248,-0.2073981293676203,-0.20249807382547996,-0.1980872603119958,-0.19406227351261573,-0.18930128953272862},
{-0.9404460638921507,-0.8369743519793402,-0.6246313836286149,-0.4910681311552009,-0.4120345626159995,-0.3608733042733593,-0.3245955223556557,-0.3037811676525993,-0.2835458651366262,-0.26738501994031294,-0.2542009057102411,-0.2432342633722503,-0.23392992409082236,-0.22592505995131873,-0.2189460723529073,-0.21280447464483215,-0.20735020137510873,-0.2024519694757152,-0.19804277640651197,-0.19401924653547536,-0.18924547566480554},
{-0.9417533860468625,-0.8370438735800986,-0.6244626822120247,-0.4909118937082801,-0.4119040668170595,-0.36076299548280366,-0.324531250346765,-0.3036949611086629,-0.28346711417977594,-0.26731301898126975,-0.2541344185175792,-0.24317229796277456,-0.233871721847712,-0.2258700349679223,-0.21889376814218336,-0.21275452568839304,-0.20730231224285345,-0.20240590246988077,-0.19799832849745824,-0.1939762543413392,-0.18918985883371503},
{-0.9430570050344272,-0.8371121725454798,-0.6242938280910514,-0.49075569392792195,-0.41177364247827664,-0.3606527605626111,-0.3244669740853087,-0.30360881071313356,-0.28338842489403354,-0.2672410758150038,-0.25406798522373664,-0.24311038291467324,-0.2338135669272604,-0.22581505470641183,-0.21884150640931477,-0.21270461725941092,-0.20725446192789843,-0.20235987276655332,-0.19795391654484829,-0.1939332968914677,-0.18913444009851632},
{-0.9443569278925793,-0.8371792530142974,-0.6241248224971404,-0.4905995321470198,-0.411643289679663,-0.3605425995095661,-0.3244026913609565,-0.303522716514045,-0.2833097972328554,-0.2671691903878772,-0.2540016057738859,-0.24304851817485046,-0.23375545927859287,-0.2257601191181644,-0.21878928710774503,-0.2126547493132196,-0.2072066503872223,-0.20231388032432268,-0.19790954050870213,-0.19389037414718646,-0.18907922034845875},
{-0.945653161650055,-0.8372451191151371,-0.6239556666559617,-0.4904434086963244,-0.4115130085002513,-0.36043251232007567,-0.3243384000120565,-0.30343667855849665,-0.2832312311495498,-0.2670973626462043,-0.2539352801132032,-0.24298670369025566,-0.23369739885093288,-0.22570522815459004,-0.21873711019097491,-0.21260492180520313,-0.2071588775779623,-0.20226792510183716,-0.19786520034909444,-0.19384748606989505,-0.18902420031053258},
{-0.9469457133265775,-0.8373097749663543,-0.6237863617873748,-0.4902873239044311,-0.4113827990182289,-0.36032249899010416,-0.32427409792514933,-0.303350696892577,-0.2831527265973215,-0.2670255925362615,-0.2538690081868493,-0.2429249394078402,-0.2336393855934833,-0.22565038176714008,-0.21868497561252043,-0.21255513469076848,-0.20711114345719872,-0.20222200705776977,-0.19782089602614739,-0.1938046326209531,-0.18896938055687507},
{-0.9482345899328593,-0.8373732246760826,-0.6236169091055129,-0.4901312780978619,-0.41125266131086746,-0.36021255951517617,-0.32420978303455084,-0.30326477156155474,-0.2830742835292705,-0.2669538800043506,-0.2538027899400254,-0.24286322527462006,-0.23358141945551458,-0.22559557990729473,-0.21863288332596786,-0.2125053879253927,-0.20706344798212323,-0.202176126150854,-0.19777662750000047,-0.1937618137618376,-0.18891476151199793},
{-0.9495197984705727,-0.8374354723422297,-0.6234473098187432,-0.48997527160097193,-0.41112259545457525,-0.3601026938904608,-0.32414545332195,-0.3031789026096883,-0.2829959018983722,-0.26688222499669323,-0.2537366253179385,-0.2428015612376166,-0.23352350038630698,-0.22554082252655522,-0.21858083328491673,-0.21245568146454907,-0.20701579110989882,-0.2021302823398296,-0.1977323947308422,-0.19371902945399805,-0.1888603434596801},
{-0.950801345932365,-0.8374965220524965,-0.6232775651297595,-0.4898193047360724,-0.41099260152492323,-0.35999290211065715,-0.32408110681589636,-0.30309309008037777,-0.2829175816574872,-0.2668106274595376,-0.25367051426581483,-0.242739947243863,-0.23346562833518497,-0.22548610957648457,-0.21852882544299634,-0.21240601526375763,-0.20696817279778706,-0.20208447558351506,-0.19768819767892193,-0.19367627965897433,-0.1888061265499697},
{-0.9520792393018159,-0.8375563778843667,-0.6231076762355615,-0.4896633778233525,-0.4108626795965147,-0.3598831841701162,-0.32401674159134264,-0.3030073340160865,-0.2828393227593577,-0.26673908733908414,-0.2536044567288937,-0.24267838324044544,-0.23340780325152605,-0.22543144100869555,-0.21847685975391157,-0.21235638927862033,-0.206920593003047,-0.2020387058407354,-0.1976440363044643,-0.1936335643383149,-0.1887521108056412},
{-0.9533534855534513,-0.8376150439051195,-0.6229376443274837,-0.4895074911808959,-0.4107328297431741,-0.3597735400627606,-0.32395235576908965,-0.30292163445841214,-0.28276112515661295,-0.2666676045815116,-0.2535384526524085,-0.24261686917444775,-0.2333500250846866,-0.2253768167747796,-0.2184249361713675,-0.21230680346468417,-0.20687305168297526,-0.20199297307036262,-0.1975999105678053,-0.19359088345357806,-0.1886982961287177},
{-0.9546240916527333,-0.8376725241718481,-0.6227674705912698,-0.48935164512483215,-0.4106030520378367,-0.35966396978210063,-0.3238879475153888,-0.30283599144805234,-0.2826829888018339,-0.2665961791330418,-0.25347250198166843,-0.24255540499304756,-0.23329229378415473,-0.2253222368264573,-0.2183730546491689,-0.21225725777767218,-0.2068255487949815,-0.20194727723136274,-0.19755582042933223,-0.19354823696647983,-0.18864468230680526},
{-0.9558910645560295,-0.8377288227314343,-0.622597156206999,-0.4891958399690842,-0.4104733465525302,-0.3595544733212458,-0.32382351504132734,-0.3027504050247895,-0.28260491364738555,-0.26652481093974967,-0.2534066046619114,-0.24249399064334204,-0.2332346092993357,-0.2252677011153626,-0.21832121514106068,-0.21220775217319765,-0.20677808429639283,-0.2019016182826267,-0.19751176584934732,-0.19350562483859568,-0.1885912690188853},
{-0.957154411210626,-0.8377839436205754,-0.6224267023492082,-0.48904007602564625,-0.410343713358547,-0.3594450506729181,-0.3237590566024272,-0.30266487522759006,-0.2825268996456031,-0.2664534999477893,-0.2533407606384659,-0.24243262607253901,-0.2331769715797305,-0.22521320959326374,-0.21826941760090157,-0.21215828660699843,-0.20673065814465896,-0.20185599618318983,-0.19746774678830448,-0.1934630470316634,-0.18853805584144534},
{-0.9584141385547048,-0.8378378908657984,-0.6222561101868814,-0.4888843536044244,-0.4102141525262072,-0.3593357018294667,-0.3236945704980366,-0.3025794020945265,-0.28244894674870374,-0.2663822461032843,-0.25327496985663567,-0.2423713112278454,-0.2331193805749074,-0.22515876221194436,-0.2182176619825748,-0.2121088610348345,-0.2066832702972372,-0.20181041089206403,-0.19742376320667981,-0.19342050350741352,-0.1884850422540214},
{-0.959670253517338,-0.837890668483446,-0.6220853808834498,-0.48872867301330447,-0.4100846641250942,-0.3592264267828416,-0.323630055070797,-0.30249398566281693,-0.28237105490880565,-0.26631104935231337,-0.2532092322617549,-0.24231004605650608,-0.23306183623439197,-0.22510435892320502,-0.2181659482399982,-0.2120594754125052,-0.20663592071165665,-0.20176486236835373,-0.19737981506497915,-0.19337799422762741,-0.18843222764465273},
{-0.9609227630184782,-0.837942280479687,-0.6219145155968536,-0.48857303455819895,-0.4099552482238734,-0.3591172255245707,-0.3235655087060973,-0.30240862596885054,-0.28229322407791496,-0.2662399096409788,-0.2531435477992034,-0.24224883050578788,-0.2330043385078206,-0.22504999967891132,-0.21811427632713204,-0.2120101296958427,-0.2065886093454573,-0.20171935057117535,-0.19733590232375747,-0.19333551915413072,-0.18837961131523134},
{-0.9621716739689473,-0.8379927308505394,-0.6217435154795408,-0.48841743854295844,-0.40982590489041704,-0.35900809804585504,-0.3235009298315756,-0.3023233230481526,-0.2822154542079242,-0.26616882691529753,-0.2530779164143255,-0.2421876645229757,-0.23294688734481567,-0.2249956844309275,-0.21806264619794957,-0.21196082384071824,-0.20654133615620895,-0.20167387545966275,-0.1972920249435564,-0.19329307824874747,-0.18832719248651086},
{-0.9634169932704291,-0.8380420235818486,-0.6215723816785019,-0.4882618852694993,-0.40969663419181435,-0.3588990443374583,-0.3234363169165525,-0.30223807693541793,-0.28213774525067536,-0.2660978011213467,-0.2530123380525272,-0.24212654805541417,-0.23288948269504306,-0.22494141313120092,-0.2180110578065103,-0.21191155780303084,-0.2064941011015744,-0.201628436993054,-0.19724818288503831,-0.19325067147336833,-0.18827497030314555},
{-0.9646587278154741,-0.8380901626493337,-0.6214011153353045,-0.48810637503771825,-0.40956743619424146,-0.3587900643898234,-0.3233716684714526,-0.30215288766453235,-0.28206009715788194,-0.2660268322051449,-0.25294681265921853,-0.2420654810504439,-0.23283212450823842,-0.2248871857317138,-0.21795951110690187,-0.21186233153878492,-0.2064469041392103,-0.2015830351305633,-0.19720437610885683,-0.19320829878995077,-0.18822294383828825},
{-0.9658968844874547,-0.8381371520185428,-0.6212297175860877,-0.48795090814553543,-0.40943831096315153,-0.35868115819298074,-0.3233069830472134,-0.3020677552685509,-0.28198250988113444,-0.2659559201127053,-0.25288134017981834,-0.24200446345545373,-0.23277481273411765,-0.22483300218444596,-0.2179080060532098,-0.21181314500392268,-0.20639974522681376,-0.20153766983149762,-0.1971606045757207,-0.193165960160408,-0.1881711120981745},
{-0.9671314701605902,-0.8381829956449138,-0.6210581895616119,-0.48779548488896746,-0.4093092585630984,-0.35857232573656006,-0.3232422592347435,-0.3019826797797265,-0.28190498337199305,-0.26588506479003143,-0.25281592055978175,-0.24194349521782937,-0.2327175473224744,-0.22477886244144502,-0.21785654259959192,-0.2117639981545012,-0.20635262432213214,-0.20149234105515013,-0.19711686824635172,-0.19312365554677158,-0.18811947402657592},
{-0.9683624916999309,-0.8382276974737441,-0.620886532387277,-0.48764010556200543,-0.4091802790578878,-0.35846356700988835,-0.32317749566440895,-0.3018976612294947,-0.2818275175818762,-0.2658142661830992,-0.25275055374457644,-0.24188257628504872,-0.2326603282231291,-0.22472476645479444,-0.21780512070025798,-0.21171489094657864,-0.20630554138298035,-0.20144704876089425,-0.19707316708157574,-0.19308138491105437,-0.18806802850889237},
{-0.9695899559613486,-0.8382712614402071,-0.6207147471831373,-0.48748477045676575,-0.4090513725105396,-0.35835488200187127,-0.32311269100539874,-0.30181269964850865,-0.28175011246212767,-0.2657435242378624,-0.25268523967969464,-0.24182170660454683,-0.2326031553859116,-0.2246707141766176,-0.21775374030942524,-0.2116658233362797,-0.20625849636715482,-0.20140179290815663,-0.1970295010421768,-0.19303914821530405,-0.1880167743762174},
{-0.9708138697915097,-0.8383136914693758,-0.6205428350639437,-0.48732947986339686,-0.40892253898321207,-0.35824627070107223,-0.32304784396520886,-0.30172779506663494,-0.2816727679640125,-0.2656728389003195,-0.2526199783106402,-0.24176088612384783,-0.23254602876074976,-0.2246167055590873,-0.21770240138137936,-0.2116167952797371,-0.20621148923254096,-0.2013565734563703,-0.19698587008903928,-0.1929969454216715,-0.1879657104092688},
{-0.9720342400279018,-0.8383549914762067,-0.6203707971391368,-0.48717423407011273,-0.40879377853734344,-0.35813773309571584,-0.32298295328897064,-0.3016429475129374,-0.28159548403869056,-0.2656022101163842,-0.25255476958293227,-0.241700114790462,-0.23248894829752342,-0.2245627405543963,-0.21765110387042058,-0.21156780673318515,-0.20616451993706303,-0.20131139036501183,-0.19694227418307642,-0.19295477649228904,-0.18791483534197811},
{-0.9732510734988045,-0.8383951653655685,-0.6201986345128966,-0.4870190333632731,-0.4086650912335027,-0.35802926917356936,-0.3229180177589674,-0.301558157015739,-0.28151826063723273,-0.26553163783200473,-0.252489613442147,-0.24163939255194383,-0.23243191394622154,-0.2245088191147796,-0.21759984773088975,-0.21151885765280848,-0.2061175884386648,-0.20126624359362566,-0.19689871328521885,-0.19291264138933084,-0.18786414786511685},
{-0.9744643770232742,-0.8384342170322319,-0.620026348284162,-0.48686387802729164,-0.40853647713154506,-0.3579208789221776,-0.3228530361940667,-0.30147342360256907,-0.28144109771064363,-0.26546112199309624,-0.2524245098338274,-0.24157871935590813,-0.23237492565685464,-0.22445494119251785,-0.21754863291722049,-0.21146994799492502,-0.20607069469534123,-0.20122113310177975,-0.196855187356469,-0.19287054007503462,-0.18781364662966865},
{-0.9756741574111586,-0.8384721503608914,-0.6198539395466378,-0.48670876834472604,-0.4084079362905567,-0.35781256232861475,-0.3227880074491166,-0.3013887473002057,-0.28136399520983196,-0.26539066254556554,-0.2523594587035766,-0.24151809514994116,-0.23231798337941673,-0.22440110673993097,-0.21749745938380205,-0.21142107771583385,-0.20602383866511653,-0.201176058849101,-0.19681169635783297,-0.1928284725116235,-0.18776333025005926},
{-0.976880421463074,-0.8385089692261746,-0.6196814093888482,-0.48655370459622244,-0.4082794687687904,-0.3577043193796866,-0.3227229304144161,-0.30130412813469454,-0.28128695308564,-0.26532025943532833,-0.2522944599970287,-0.24145751988170494,-0.2322610870640161,-0.22434731570939187,-0.2174463270851391,-0.21137224677189315,-0.20597702030609338,-0.20113102079520412,-0.19676824025038753,-0.19278643866143835,-0.18771319730729857},
{-0.9780831759704043,-0.8385446774926342,-0.619508758894117,-0.4863986870605585,-0.4081510746237731,-0.35759615006180756,-0.3226578040150764,-0.30121956613127876,-0.281209971288767,-0.265249912608248,-0.2522295136597769,-0.2413969934988679,-0.23220423666073248,-0.22429356805328876,-0.2173952359757223,-0.21132345511949002,-0.2059302395763511,-0.2010860188998178,-0.19672481899525657,-0.19274443848679917,-0.18766324635185544},
{-0.9792824277152841,-0.8385792790147729,-0.6193359891406329,-0.4862437160146915,-0.40802275391224047,-0.35748805436102316,-0.3225926272105302,-0.301135061314537,-0.28113304976993153,-0.2651796220102395,-0.2521646196375221,-0.24133651594916328,-0.23214743211975025,-0.22423986372407562,-0.21734418601012262,-0.21127470271510035,-0.20588349643410636,-0.20104105312266418,-0.19668143255356912,-0.19270247195010037,-0.18761347590656746},
{-0.9804781834706133,-0.8386127776370627,-0.6191631012014355,-0.486088791733683,-0.4078945066901833,-0.3573800322630876,-0.3225273989939445,-0.3010506137082536,-0.2810561884796892,-0.26510938758714503,-0.25209977787590926,-0.2412760871803093,-0.23209067339120526,-0.22418620267421668,-0.21729317714292407,-0.2112259895151663,-0.20583679083749745,-0.20099612342352086,-0.19663808088652718,-0.19266053901372865,-0.18756388446925132},
{-0.98167045000003,-0.8386451771939074,-0.618990096144479,-0.4859339144907886,-0.4077663330128857,-0.3572720837533691,-0.32246211839170075,-0.30096622333551776,-0.28097938736856015,-0.2650392092848344,-0.2520349883206566,-0.24121570714009494,-0.23203396042534669,-0.22413258485623616,-0.21724220932877203,-0.2111773154762091,-0.2057901227448321,-0.2009512297622108,-0.1965947639553417,-0.19261863964018966,-0.18751447051538217},
{-0.9828592340579029,-0.8386764815097139,-0.6188169750326136,-0.4857790845574068,-0.4076382329347841,-0.35716420881691746,-0.3223967844628247,-0.30088189021868544,-0.28090264638697143,-0.2649690870491653,-0.2519702509174767,-0.24115537577630203,-0.23197729317242405,-0.2240790102227047,-0.21719128252233,-0.2111286805548368,-0.20574349211432197,-0.2009063720985863,-0.1965514817212899,-0.19257677379193694,-0.18746523250037617},
{-0.9840445423893398,-0.8387066943988474,-0.6186437389236306,-0.4856243022031055,-0.4075102065096595,-0.3570564074384542,-0.3223313962983991,-0.3007976143794279,-0.28082596548526617,-0.2648990208259759,-0.2519055656121097,-0.24109509303677762,-0.23192067158271212,-0.22402547872621553,-0.2171403966783229,-0.21108008470758033,-0.20569689890432424,-0.2008615503925531,-0.19650823414567298,-0.19253494143152144,-0.18741616886201662},
{-0.985226381730177,-0.838735819665691,-0.6184703888702856,-0.48546956769570926,-0.4073822537904892,-0.35694867960233156,-0.32226595302108424,-0.30071339583866563,-0.28074934461376405,-0.2648290105611328,-0.2518409323503541,-0.24103485886940446,-0.23186409560660204,-0.22397199031943865,-0.21708955175152456,-0.21103152789117735,-0.20565034307325464,-0.20081676460407955,-0.1964650211899025,-0.1924931425215894,-0.1873672780227027},
{-0.9864047588069627,-0.8387638611045984,-0.6182969259203039,-0.48531488130115463,-0.4072543748295395,-0.356841025292593,-0.32220045378455203,-0.3006292346166615,-0.28067278372263355,-0.26475905620043944,-0.2517763510779721,-0.24097467322206617,-0.23180756519442086,-0.22391854495503638,-0.2170387476967247,-0.21098301006223813,-0.2056038245794652,-0.20077201469313855,-0.19642184281530445,-0.19245137702472037,-0.1873185583913678},
{-0.9875796803369623,-0.8387908224999607,-0.618123351116427,-0.48516024328364393,-0.4071265696783871,-0.35673344449293837,-0.32213489777297905,-0.3005451307329664,-0.28059628276202897,-0.2646891576897237,-0.2517118217407942,-0.24091453604272084,-0.23175108029658048,-0.2238651425857361,-0.216987984468771,-0.21093453117754296,-0.20555734338141868,-0.2007273006197582,-0.19637869898331223,-0.19240964490357282,-0.18727000836562224},
{-0.9887511530281496,-0.838816707626168,-0.6179496654964158,-0.4850056539055681,-0.40699883838778955,-0.35662593718675295,-0.3220692842005311,-0.3004610842064358,-0.2805198416820213,-0.26461931497482,-0.251647344284642,-0.24085444727932082,-0.23169464086355818,-0.22381178316431455,-0.2169372620225377,-0.21088609119383073,-0.2055108994376365,-0.20068262234398448,-0.19633558965545034,-0.19236794612090968,-0.18722162633363038},
{-0.9899191835791884,-0.8388415202476605,-0.6177758700930746,-0.48485111342753534,-0.40687118100787223,-0.3565185033571178,-0.32200361231078856,-0.3003770950552779,-0.2804434604325857,-0.2645495280015316,-0.2515829186553813,-0.24079440687989112,-0.23163824684580359,-0.22375846664357085,-0.2168865803129661,-0.21083769006793063,-0.20546449270664602,-0.20063797982596254,-0.1962925147932068,-0.19232628063948087,-0.18717341067578064},
{-0.9910837786794539,-0.8388652641189092,-0.6176019659342874,-0.48469662210844333,-0.4067435975879633,-0.35641114298670507,-0.321937881376254,-0.3002931632969812,-0.280367138963675,-0.26447979671567146,-0.2515185447988973,-0.24073441479244545,-0.23158189819387415,-0.22370519297636104,-0.2168359392950146,-0.210789327756696,-0.20541812314701824,-0.2005933730258495,-0.19624947435813733,-0.19228464842208648,-0.18712535976648692},
{-0.9922449450089974,-0.8388879429844331,-0.617427954043017,-0.4845421802053631,-0.4066160881767339,-0.35630385605795833,-0.32187209069791234,-0.3002092889483997,-0.28029087722511575,-0.26441012106303174,-0.25145422266109585,-0.24067447096506855,-0.2315255948583379,-0.22365196211557953,-0.21678533892368484,-0.21074100421700925,-0.20537179071738965,-0.20054880190382612,-0.1962064683118402,-0.19224304943159165,-0.1870774719757533},
{-0.9934026892385668,-0.8389095605788213,-0.6172538354373471,-0.48438778797368587,-0.40648865282215374,-0.3561966425529469,-0.3218062396046577,-0.3001254720257104,-0.28021467516672594,-0.2643405009894209,-0.2513899521879084,-0.2406145753458817,-0.2314693367897721,-0.22359877401416084,-0.21673477915402678,-0.21069271940581674,-0.2053254953764313,-0.20050426642012292,-0.19616349661595267,-0.19220148363090483,-0.1870297456706842},
{-0.9945570180295786,-0.8389301206267327,-0.6170796111304937,-0.4842334456670083,-0.40636129157141176,-0.35608950245346316,-0.32174032745286857,-0.30004171254445283,-0.28013853273823974,-0.2642709364406348,-0.25132573332530234,-0.2405547278830107,-0.23141312393885288,-0.22354562862508742,-0.21668425994116663,-0.21064447328013608,-0.20527923708286605,-0.20045976653506536,-0.19612055923218985,-0.1921599509829981,-0.18698217921694793},
{-0.9957079380341334,-0.8389496268429113,-0.6169052821308264,-0.48407915353722863,-0.4062340044710965,-0.35598243574096866,-0.3216743536258395,-0.2999580105194915,-0.28006244988928575,-0.2642014273624697,-0.2512615660192477,-0.24049492852466775,-0.2313569562562477,-0.22349252590136182,-0.21663378124020444,-0.21059626579694501,-0.20523301579543624,-0.20041530220894277,-0.19607765612225747,-0.19211845145083428,-0.18693477098000277},
{-0.9968554558949891,-0.8389680829321898,-0.6167308494418942,-0.48392491183454805,-0.4061067915669859,-0.35587544239654756,-0.3216083175333259,-0.2998743659650747,-0.2799864265694826,-0.26413197370070157,-0.25119745021574547,-0.24043517721902735,-0.231300833692703,-0.223439465796059,-0.21658334300632204,-0.21054809691332516,-0.20518683147292166,-0.20037087340215798,-0.19603478724790913,-0.19207698499751014,-0.18688751932645287},
{-0.9979995782455762,-0.8389854925895166,-0.6165563140624477,-0.48377072080740763,-0.40597965290426774,-0.3557685224010954,-0.3215422186111315,-0.29979077889478384,-0.27991046272835207,-0.2640625754011191,-0.2511333858608404,-0.24037547391440278,-0.23124475619898294,-0.22338644826229898,-0.21653294519474897,-0.21049996658640052,-0.2051406840742322,-0.20032648007511422,-0.19599195257099133,-0.19203555158612617,-0.1868404226253474},
{-0.9991403117099875,-0.8390018594999463,-0.6163816769864486,-0.4836165807025986,-0.40585258852741213,-0.35566167573509055,-0.32147605632057574,-0.29970724932159704,-0.279834558315374,-0.26399323240947664,-0.2510693729005854,-0.24031581855903722,-0.23118872372586452,-0.22333347325320024,-0.21648258776070906,-0.21045187477328592,-0.2050945735581865,-0.20028212218820918,-0.19594915205328656,-0.1919941511797404,-0.18679347924905154},
{-1.0002776629029544,-0.8390171873386628,-0.6162069392031098,-0.4834624917651854,-0.40572559848015444,-0.355554902378766,-0.32140983014812485,-0.2996237772578456,-0.2797587132799761,-0.26392394467160085,-0.2510054112810493,-0.24025621110128476,-0.23113273622424158,-0.22328054072196457,-0.21643227065955795,-0.21040382143121994,-0.20504849988375945,-0.20023779970200206,-0.19590638565675278,-0.19195278374164615,-0.18674668757451773},
{-1.0014116384298761,-0.8390314797709981,-0.6160321016968964,-0.4833084542385405,-0.4055986828056266,-0.3554482023120684,-0.3213435396047797,-0.29954036271524487,-0.2796829275714803,-0.2638547121332527,-0.25094150094834594,-0.2401966514895209,-0.23107679364492928,-0.22322765062184285,-0.21638199384659773,-0.2103558065174192,-0.2050024630099062,-0.20019351257703388,-0.19586365334330513,-0.19191144923502856,-0.18670004598417356},
{-1.0025422448867958,-0.8390447404524228,-0.6158571654475606,-0.4831544683644159,-0.40547184154620675,-0.355341575514528,-0.32127718422574986,-0.2994570057049141,-0.27960720113917753,-0.26378553474020205,-0.25087764184862427,-0.2401371396721076,-0.2310208959389387,-0.22317480290608827,-0.21633175727720771,-0.21030782998918945,-0.20495646289564173,-0.20014926077384276,-0.1958209550749137,-0.19187014762321664,-0.1866535528668577},
{-1.0036694888603863,-0.839056973028584,-0.6156821314301614,-0.48300053438285606,-0.4053450747436603,-0.3552350219655203,-0.3212107635700284,-0.2993737062373461,-0.2795315339323315,-0.26371641243822996,-0.25081383392802425,-0.24007767559757415,-0.23096504305721832,-0.22312199752803852,-0.21628156090686673,-0.21025989180382454,-0.2049104995000648,-0.20010504425309972,-0.19577829081360498,-0.19182887886952393,-0.1866072066187403},
{-1.0047933769279702,-0.8390681811352825,-0.6155070006150706,-0.482846652532262,-0.4052183824390878,-0.355128541644011,-0.3211442772198637,-0.2992904643224351,-0.27945592590009577,-0.26364734517309774,-0.25075007713274894,-0.240018259214342,-0.23090923495072962,-0.2230692344410356,-0.21623140469097657,-0.2102119919187036,-0.20486457278222348,-0.20006086297543302,-0.1957356605214502,-0.19178764293732287,-0.18656100564401557},
{-1.0059139156574994,-0.8390783683985356,-0.6153317739680336,-0.48269282304938615,-0.4050917646728712,-0.3550221345287458,-0.3210777247804797,-0.2992072799695024,-0.27938037699160995,-0.26357833289060834,-0.2506863714090268,-0.23995889047096763,-0.23085347157060637,-0.22301651359852598,-0.21618128858510183,-0.21016413029125958,-0.20481868270134884,-0.20001671690157485,-0.19569306416051313,-0.19174643979010564,-0.18651494835579907},
{-1.0070311116075519,-0.839087538434522,-0.6151564524501206,-0.4825390461693222,-0.4049652214847875,-0.35491580059814526,-0.3210111058794668,-0.2991241531872077,-0.27930488715591095,-0.2635093755365162,-0.25062271670307984,-0.23989956931599188,-0.23079775286786297,-0.222963834953953,-0.21613121254477335,-0.2101163068789219,-0.20477282921657247,-0.19997260599230005,-0.19565050169300335,-0.19170526939128807,-0.18646903317670294},
{-1.0081449713273343,-0.8390956948496635,-0.6149810370178217,-0.48238532212560015,-0.40483875291391397,-0.3548095398302976,-0.3209444201664828,-0.29904108398371854,-0.27922945634203933,-0.26344047305662044,-0.2505591129611951,-0.2398402956980375,-0.2307420787937251,-0.2229111984607936,-0.21608117652560405,-0.21006852163924838,-0.20472701228716916,-0.19992853020837287,-0.19560797308108746,-0.1916641317044594,-0.18642325853957253},
{-1.0092555013566786,-0.8391028412405781,-0.6148055286230109,-0.48223165115002625,-0.4047123589987015,-0.35470335220307686,-0.32087766731286244,-0.29895807236654576,-0.2791540844989343,-0.26337162539666015,-0.250495560129656,-0.23978106956574646,-0.23068644929928916,-0.22285860407260744,-0.21603118048322972,-0.2100207745297038,-0.20468123187239473,-0.19988448951062576,-0.19556547828696502,-0.19162302669313813,-0.1863776228880023},
{-1.010362708226035,-0.8391089811941392,-0.6146299282130072,-0.48207803347289774,-0.40458603977699564,-0.35459723769400675,-0.3208108470111646,-0.29887511834268027,-0.27907877157550975,-0.2633028325024538,-0.25043205815483244,-0.23972189086780715,-0.23063086433582725,-0.22280605174297347,-0.21598122437333184,-0.20997306550792683,-0.20463548793161934,-0.19984048385998376,-0.19552301727294652,-0.19158195432097236,-0.18633212467704552},
{-1.0114665984564646,-0.8391141182874573,-0.6144542367305663,-0.48192446932283395,-0.40445979528588305,-0.35449119628036635,-0.32074395897483454,-0.298792221918505,-0.27900351752062036,-0.2632340943197826,-0.2503686069830414,-0.2396627595529272,-0.2305753238545784,-0.22275354142553383,-0.21593130815164696,-0.20992539453157033,-0.20458978042419018,-0.19979651321732084,-0.19548059000133688,-0.19154091455166578,-0.18628676237360298},
{-1.0125671785596426,-0.8391182560879002,-0.6142784551139059,-0.4817709589268653,-0.40433362556193575,-0.3543852279391493,-0.32067700293770707,-0.29870938309985967,-0.27892832228305,-0.26316541079436945,-0.2503052065606945,-0.23960367556988416,-0.23051982780681968,-0.22270107307392178,-0.2158814317739166,-0.2098777615582187,-0.20454410930948952,-0.19975257754360298,-0.19543819643447813,-0.19149990734880273,-0.18624153445681824},
{-1.0136644550378584,-0.8391213981531219,-0.6141025842967525,-0.48161750251049834,-0.4042075306409969,-0.3542793326470085,-0.3206099786537113,-0.298626601892016,-0.2788531858115827,-0.26309678187209246,-0.25024185683419475,-0.2395446388674891,-0.23046437614397652,-0.22264864664192086,-0.21583159519599815,-0.20983016654567954,-0.2044984745470234,-0.19970867679988846,-0.19539583653481052,-0.19145893267630076,-0.1861964394188198},
{-1.0147584343839962,-0.839123548031045,-0.6139266252083159,-0.48146410029759124,-0.40408151055833186,-0.3541735103804015,-0.3205428858965045,-0.2985438782997044,-0.2787781080549059,-0.2630282074986973,-0.25017855775002995,-0.239485649394592,-0.23040896881741285,-0.2225962620832489,-0.215781798373765,-0.209782609451725,-0.20445287609631324,-0.19966481094720379,-0.19535351026479608,-0.19141799049787434,-0.18615147576484203},
{-1.0158491230815594,-0.8391247092599023,-0.6137505787733508,-0.48131075251047195,-0.40395556534859745,-0.354067761115435,-0.32047572445902656,-0.29846121232710493,-0.2787030889616794,-0.26295968761998134,-0.2501153092546806,-0.2394267071000793,-0.23035360577853553,-0.2225439193517254,-0.21573204126308287,-0.20973509023411707,-0.20440731391687783,-0.1996209799466423,-0.1953112175868682,-0.19137708077740434,-0.18610664201364824},
{-1.016936527604638,-0.8391248853682298,-0.6135744459121402,-0.481157459369867,-0.40382969504572225,-0.35396208482799535,-0.3204084941532385,-0.29837860397784527,-0.27862812848052215,-0.2628912221817593,-0.25005211129462374,-0.23936781193286877,-0.2302982869788538,-0.2224916184012073,-0.21568232381991592,-0.2096876088507288,-0.2043617879683054,-0.19957718375935762,-0.19526895846359016,-0.19133620347876457,-0.18606193669788396},
{-1.0180206544179242,-0.839124079874898,-0.6133982275405523,-0.4810042210949791,-0.40370389968314735,-0.353856481493693,-0.3203411948096437,-0.29829605325502057,-0.2785532265599951,-0.2628228111298114,-0.2499889638164164,-0.23930896384196604,-0.2302430123698595,-0.22243935918559776,-0.2156326460002641,-0.20964016525949392,-0.2043162982102602,-0.19953342234654103,-0.19522673285755354,-0.19129535856587443,-0.1860173583644653},
{-1.0191015099767062,-0.8391222962891014,-0.6132219245700374,-0.48085103790348116,-0.4035781792935849,-0.3537509510877684,-0.32027382627697526,-0.2982135601611991,-0.278478383148612,-0.2627544544099792,-0.24992586676666506,-0.2392501627763471,-0.23018778190315226,-0.222387141658827,-0.21558300776015682,-0.20959275941830824,-0.20427084460240041,-0.19948969566940444,-0.19518454073137204,-0.19125454600273706,-0.1859729055746714},
{-1.020179100726868,-0.8391195381103995,-0.613045537907642,-0.48069791001145123,-0.4034525339091942,-0.35364549358534947,-0.3202063884218937,-0.2981311246984119,-0.2784035981948479,-0.2626861519680492,-0.24986282009193456,-0.23919140868508693,-0.23013259553032667,-0.2223349657748711,-0.2155334090556804,-0.20954539128520666,-0.2042254271044729,-0.19944600368920717,-0.19514238204766665,-0.19121376575334859,-0.18592857690451503},
{-1.0212534331048726,-0.8391158088286994,-0.6128690684560343,-0.48054483763350364,-0.4033269635615585,-0.3535401089611492,-0.3201388811286021,-0.2980487468681881,-0.2783288716471441,-0.262617903749837,-0.2497998237389198,-0.239132701517293,-0.2300774532030337,-0.2222828314877786,-0.21548384984295454,-0.20949806081816946,-0.20418004567626946,-0.1994023463672978,-0.19510025676920495,-0.19117301778179596,-0.18588437094495092},
{-1.0223245135377927,-0.8391111119243042,-0.6126925171135654,-0.4803918209826859,-0.40320146828154524,-0.35343479718972765,-0.3200713042985642,-0.2979664266715332,-0.2782542034539057,-0.2625497097012306,-0.24973687765426977,-0.2390740412220866,-0.23002235487298162,-0.22223073875162358,-0.2154343300782211,-0.2094507679753559,-0.20413470027758884,-0.19935872366500973,-0.1950581648587265,-0.1911323020521748,-0.18584028630202842},
{-1.0233923484432599,-0.8391054508678976,-0.6125158847741943,-0.48023886027053075,-0.4030760480995458,-0.35332955824533724,-0.3200036578500055,-0.29788416410893925,-0.278179593563458,-0.26248156976799525,-0.2496739817846786,-0.2390154277486714,-0.22996730049188902,-0.22217868752049774,-0.21538484971759697,-0.20940351271482305,-0.20408939086829825,-0.19931513554379854,-0.19501610627904276,-0.19109161852860312,-0.18579632159700832},
{-1.0244569442295144,-0.839098829120575,-0.6123391723276043,-0.4800859557071172,-0.4029507030452466,-0.3532243921019187,-0.31993594171773715,-0.2978019591804,-0.27810504192413804,-0.26241348389603303,-0.24961113607691315,-0.2389568610462322,-0.22991229001159952,-0.22212667774860606,-0.21533540871739942,-0.2093562949947705,-0.20404411740828088,-0.1992715819650277,-0.19497408099294777,-0.19105096717530312,-0.18575247546658424},
{-1.0255183072953618,-0.8390912501338419,-0.6121623806591597,-0.4799331075009592,-0.4028254331478066,-0.3531192987332429,-0.3198681558528338,-0.29771981188541585,-0.2780305484841965,-0.262345452031152,-0.2495483404777633,-0.23889834106410607,-0.22985732338388332,-0.22207470939012885,-0.21528600703393197,-0.20930911477343894,-0.2039988798575636,-0.1992280628902462,-0.19493208896336822,-0.19101034795653116,-0.18570874656304115},
{-1.026576444030198,-0.8390827173496422,-0.6119855106499559,-0.4797803158591364,-0.40270023843580355,-0.3530142781127379,-0.3198003002222032,-0.2976377222229762,-0.27795611319186964,-0.2622774741191992,-0.24948559493398303,-0.238839867751532,-0.22980240056061219,-0.22202278239931894,-0.21523664462354397,-0.2092619720090494,-0.20395367817603882,-0.19918457828094516,-0.19489013015318646,-0.19096976083642403,-0.18566513355414305},
{-1.0276313608139889,-0.8390732342003697,-0.6118085631768349,-0.4796275809872143,-0.4025751189371611,-0.3529093302136408,-0.31973237480843136,-0.2975556901915937,-0.2778817359953699,-0.2622095501060942,-0.24942289939244433,-0.23878144105792792,-0.22974752149375022,-0.22197089673049408,-0.21518732144262587,-0.20921486665993538,-0.20390851232383678,-0.19914112809875728,-0.19484820452543694,-0.19092920577938555,-0.18562163512348961},
{-1.0286830640172906,-0.8390628041088699,-0.6116315391123816,-0.47947490308926927,-0.40245007467928756,-0.35280445500895435,-0.3196643796092695,-0.29747371578933,-0.2778074168428738,-0.26214167993767407,-0.24936025380004578,-0.2387230609326339,-0.22969268613521443,-0.22191905233797582,-0.21513803744761606,-0.20916779868445778,-0.2038633822610113,-0.1990977123052985,-0.19480631204308918,-0.19088868274973247,-0.1855782499704649},
{-1.0297315600012285,-0.8390514304884773,-0.6114544393249665,-0.4793222823679714,-0.4023251056889589,-0.35269965247128643,-0.31959631463745974,-0.2973917990137517,-0.2777331556824526,-0.2620738635598588,-0.24929765810368182,-0.23866472732511723,-0.22963789443706706,-0.22186724917617162,-0.21508879259501335,-0.20912076804100743,-0.20381828794769374,-0.19905433086217483,-0.19476445266924747,-0.19084819171183287,-0.18553497681009457},
{-1.0307768551174925,-0.8390391167430007,-0.6112772646787559,-0.4791697190244819,-0.4022002119924101,-0.35259492257316355,-0.31952817992044585,-0.2973099398619416,-0.27765895246225103,-0.26200610091851023,-0.24923511225030648,-0.23860644018490118,-0.2295831463513629,-0.2218154871995205,-0.21503958684135382,-0.209073774688061,-0.2037732293441017,-0.1990109837311962,-0.19472262636697502,-0.1908077326301394,-0.18549181437345263},
{-1.031818955708364,-0.8390258662667606,-0.6111000160337295,-0.47901721325853064,-0.4020753936153233,-0.352490265286769,-0.3194599754999878,-0.29722813833055617,-0.2775848071303127,-0.2619383919595496,-0.24917261618689301,-0.2385481994614661,-0.22952844183014398,-0.22176376636247042,-0.21499042014320546,-0.20902681858411465,-0.20372820641043343,-0.19896767087405132,-0.19468083309947326,-0.19076730546904264,-0.18544876140730915},
{-1.0328578681066853,-0.8390116824445992,-0.6109226942457142,-0.4788647652684098,-0.4019506505827487,-0.35238568058405983,-0.31939170143198464,-0.2971463944157986,-0.27751071963466944,-0.26187073662891347,-0.24911016986046775,-0.23849000510438678,-0.22947378082564718,-0.2217120866195743,-0.21494129245719384,-0.20897989968767106,-0.20368321910694598,-0.19892439225252845,-0.1946390728298858,-0.19072691019306598,-0.18540581667433453},
{-1.0338935986358782,-0.8389965686518792,-0.6107453001663655,-0.4787123752509316,-0.401825982919217,-0.35228116843679946,-0.31932335778604765,-0.2970647081133572,-0.2774366899233066,-0.2618031348725048,-0.24904777321808053,-0.2384318570633217,-0.2294191632899557,-0.22166044792540562,-0.21489220373999562,-0.2089330179573361,-0.20363826739397528,-0.1988811478285769,-0.19459734552152086,-0.19068654676678287,-0.1853629789531328},
{-1.0349261536099164,-0.8389805282545212,-0.6105678346432323,-0.47856004340157005,-0.40170139064868093,-0.3521767288163992,-0.3192549446453002,-0.2969830794185947,-0.27736271794421347,-0.2617355866363011,-0.24898542620684722,-0.2383737552878924,-0.229364589175432,-0.2216088502345982,-0.2148431539483192,-0.20888617335180404,-0.20359335123189826,-0.19883793756398904,-0.19455565113760953,-0.19064621515468638,-0.1853202470379628},
{-1.0359555393333677,-0.8389635646090068,-0.6103902985197351,-0.4784077699142865,-0.40157687379453955,-0.3520723616941227,-0.31918646210606444,-0.2969015083263587,-0.2772888036453112,-0.26166809186621637,-0.24892312877385908,-0.23831569972782918,-0.22931005843425545,-0.2215572935017831,-0.21479414303891498,-0.2088393658297074,-0.20354847058106817,-0.19879476142073105,-0.19451398964152422,-0.19060591532141513,-0.18527761973892942},
{-1.0369817621013593,-0.8389456810623903,-0.610212692635211,-0.4782555549816949,-0.4014524323796654,-0.35196806704094247,-0.31911791027762504,-0.2968199948311036,-0.27721494697452737,-0.26160065050824555,-0.24886088086631908,-0.2382576903328698,-0.22925557101882654,-0.22150577768167545,-0.21474517096861157,-0.20879259534977201,-0.20350362540199596,-0.19875161936079588,-0.19447236099662057,-0.19056564723161573,-0.18523509588189824},
{-1.0380048281995742,-0.8389268809523152,-0.6100350178249175,-0.478103398794966,-0.40132806642629226,-0.3518638448276304,-0.3190492892819409,-0.29673853892682034,-0.27714114787971994,-0.26153326250835984,-0.24879868243136039,-0.2381997270528312,-0.22920112688147432,-0.22145430272906375,-0.21469623769425483,-0.20874586187080846,-0.20345881565515422,-0.19870851134617729,-0.19443076516633173,-0.19052541084996932,-0.18519267430833342},
{-1.0390247439042812,-0.838907167607033,-0.6098572749200539,-0.47795130154386467,-0.40120377595621803,-0.3517596950247257,-0.3189805992533199,-0.2966571406071371,-0.2770674063087377,-0.2614659278125301,-0.24873653341625296,-0.23814180983747757,-0.22914672597459684,-0.22140286859862612,-0.21464734317268808,-0.2086991653515572,-0.20341404130100504,-0.19866543733894448,-0.1943892021140562,-0.19048520614112452,-0.18515035387527912},
{-1.04004151548231,-0.8388865443454344,-0.6096794647478012,-0.4777992634168319,-0.4010795609906069,-0.3516556176024812,-0.3189118403382208,-0.2965757998652802,-0.27699372220945495,-0.2613986463668387,-0.248674433768305,-0.2380839386367799,-0.22909236825077262,-0.22135147524537624,-0.2145984873609299,-0.2086525057510097,-0.20336930230025507,-0.1986223973012783,-0.19434767180342427,-0.19044503306991245,-0.18510813345542054},
{-1.0410551491910534,-0.8388650144770197,-0.6095015881312847,-0.47764728460085426,-0.4009554215501391,-0.3515516125309821,-0.318843012694939,-0.296494516694066,-0.27692009552966473,-0.2613314181172417,-0.24861238343479208,-0.23802611340064783,-0.22903805366245267,-0.22130012262412468,-0.2145496702159413,-0.20860588302803829,-0.2033245986134743,-0.1985793911952829,-0.1943061741979073,-0.1904048916011385,-0.18506601193672267},
{-1.0420656512784727,-0.8388425813019481,-0.6093236458896527,-0.4774953652815862,-0.4008313576549621,-0.35144767978003166,-0.3187741164933842,-0.29641329108586395,-0.27684652621711975,-0.261264243009801,-0.24855038236308324,-0.2379683340790254,-0.2289837821622014,-0.22124881068981306,-0.21450089169477338,-0.20855929714156274,-0.20327993020138757,-0.1985364189831781,-0.19426470926114403,-0.19036478169964366,-0.1850239882225888},
{-1.043073027983111,-0.838819248111065,-0.6091456388380659,-0.47734350564328665,-0.4007073693246096,-0.35134381931925207,-0.31870515191486204,-0.2963321230327648,-0.2767730142196003,-0.2611971209906008,-0.24848843050055158,-0.23791060062195513,-0.22892955370261725,-0.2211975393974246,-0.21445215175448984,-0.20851274805067233,-0.20323529702466692,-0.1984934806272337,-0.1942232769567389,-0.19032470333023777,-0.18498206123155336},
{-1.04407728553405,-0.8387950181858721,-0.6089675677877009,-0.4771917058688494,-0.4005834565781719,-0.35124003111802526,-0.31863611915170165,-0.2962510125263744,-0.27669955948486546,-0.2611300520056467,-0.24842652779460572,-0.2378529129794994,-0.22887536823635157,-0.22114630870200291,-0.2144034503522384,-0.2084662357143855,-0.20319069904407783,-0.1984505760897144,-0.19418187724844793,-0.19028465645790738,-0.18494022989738057},
{-1.0450784301509597,-0.83876989479858,-0.6087894335458119,-0.47703996613987143,-0.40045961943415986,-0.3511363151454513,-0.3185670184070922,-0.2961699595579835,-0.2766261619605966,-0.2610630360010981,-0.24836467419274344,-0.23779527110175536,-0.2288212257161425,-0.22109511855859965,-0.21435478744515568,-0.20841976009179208,-0.20314613622045974,-0.19840770533297558,-0.19414051009995115,-0.19024464104758487,-0.18489849316870355},
{-1.0460764680440724,-0.8387438812121131,-0.6086112369156809,-0.4768882866365274,-0.4003358579105613,-0.35103267137049826,-0.31849784989482494,-0.29608896411848734,-0.2765528215944946,-0.26099607292300786,-0.24830286964246395,-0.23773767493887765,-0.22876712609475158,-0.22104396892235578,-0.21430616299053917,-0.20837332114210227,-0.2031016085146653,-0.19836486831945144,-0.1940991754750363,-0.19020465706431888,-0.18485685000925234},
{-1.0470714054141874,-0.8387169806801242,-0.6084329786967171,-0.4767366675377135,-0.40021217202493703,-0.35092909976183795,-0.3184286138390629,-0.2960080261984568,-0.2764795383342318,-0.2609291627175069,-0.2482411140912847,-0.23768012444103337,-0.22871306932489954,-0.2209928597484193,-0.21425757694559489,-0.20832691882444032,-0.2030571158875898,-0.19832206501150063,-0.19405787333752644,-0.19016470447307865,-0.18481529939723573},
{-1.0480632484526715,-0.8386891964470071,-0.6082546596844123,-0.4765851090209556,-0.40008856179415603,-0.3508256002879943,-0.3183593104741449,-0.2959271457880783,-0.2764063121274843,-0.26086230533079513,-0.24817940748680434,-0.23762261955854147,-0.22865905535949027,-0.22094179099200573,-0.21420902926769092,-0.20828055309812965,-0.20301265830023607,-0.19827929537167455,-0.19401660365129958,-0.19012478323901671,-0.18477384032579458},
{-1.0490520033414619,-0.8386605317479205,-0.6080762806703777,-0.47643361126246697,-0.39996502723474153,-0.3507221729172499,-0.31828994004418293,-0.29584632287718077,-0.27633314292188954,-0.26079550070894575,-0.2481177497766468,-0.2375651602416372,-0.22860508415141534,-0.2208907626083979,-0.21416051991414553,-0.20823422392246493,-0.2029682357135396,-0.19823655936248097,-0.193975366380292,-0.19008489332727996,-0.18473247180231878},
{-1.050037676253061,-0.8386309898087966,-0.6078978424423568,-0.47628217443716653,-0.39984156836257734,-0.3506188176175778,-0.3182205028029856,-0.295765557455259,-0.2762600306650146,-0.26072874879817753,-0.24805614090845685,-0.23750774644062578,-0.22855115565357687,-0.22083977455287895,-0.2141120488424103,-0.2081879312567253,-0.20292384808852337,-0.1981938569464362,-0.1939341614883614,-0.19004503470302758,-0.1846911928486037},
{-1.0510202733505383,-0.8386005738463542,-0.6077193457842572,-0.4761307987186084,-0.3997181851931251,-0.35051553435689087,-0.3181509990137942,-0.2956848495114943,-0.27618697530451897,-0.2606620495446921,-0.2479945808299675,-0.23745037810594882,-0.2284972698190083,-0.22078882678081013,-0.21406361600994084,-0.20814167506035353,-0.20287949538635364,-0.19815118808629328,-0.19389298893961693,-0.19000520733151582,-0.1846500025008153},
{-1.0519998007875504,-0.8385692870681247,-0.6075407914761511,-0.47597948427910053,-0.3995948777413165,-0.3504123231027787,-0.3180814289490112,-0.2956041990346456,-0.27611397678794225,-0.2605954028946448,-0.24793306948884375,-0.23739305518797982,-0.22844342660069905,-0.22073791924754338,-0.21401522137419304,-0.20809545529274054,-0.20283517756808178,-0.1981085527445542,-0.1938518486980021,-0.1899654111779473,-0.184608899808962},
{-1.0529762647083039,-0.8385371326724604,-0.6073621802943149,-0.4758282312896257,-0.3994716460215506,-0.3503091838226748,-0.31801179289014014,-0.2955236060132555,-0.2760410350628849,-0.2605288087943486,-0.24787160683294596,-0.23733577763720093,-0.2283896259517425,-0.22068705190859217,-0.2139668648928068,-0.20804927191344347,-0.20279089459497812,-0.19806595088406354,-0.19381074072768278,-0.1899256462077178,-0.1845678838371364},
{-1.0539496712475938,-0.8385041138485547,-0.6071835130112089,-0.4756770399198461,-0.39934849004777623,-0.35020611648380806,-0.3179420911272764,-0.29544307043545803,-0.2759681500768719,-0.26046226719001797,-0.24781019281004435,-0.23727854540412097,-0.22833586782527893,-0.2206362247193887,-0.21391854652331999,-0.20800312488194783,-0.20274664642819662,-0.19802338246751994,-0.19376966499272064,-0.18988591238619013,-0.18452695366311755},
{-1.0549200265307754,-0.8384702337764522,-0.6070047903955137,-0.4755259103382102,-0.39922540983338706,-0.35010312105309727,-0.3178723239590979,-0.29536259228909684,-0.27589532177740944,-0.2603957780279256,-0.24774882736800186,-0.2372213584392896,-0.22828215217448933,-0.22058543763548677,-0.21387026622339378,-0.2079570141578212,-0.2027024330290298,-0.1979808474577337,-0.19372862145732272,-0.18984620967872468,-0.18448610837836332},
{-1.055887336673793,-0.8384354956270754,-0.6068260132121731,-0.47537484271185726,-0.39910240539135283,-0.35000019749742906,-0.31780249169267655,-0.295282171561713,-0.2758225501121031,-0.2603293412543899,-0.2476875104547399,-0.2371642166933774,-0.22822847895262266,-0.22053469061248654,-0.2138220239507933,-0.20791093970074026,-0.20265825435885465,-0.19793834581759673,-0.19368761008569113,-0.18980653805085446,-0.18444534708771743},
{-1.056851607783155,-0.8383999025622241,-0.6066471822223513,-0.4752238372066391,-0.39897947673412776,-0.3498973457833348,-0.3177325946430876,-0.29520180824047054,-0.27574983502836253,-0.26026295681568734,-0.24762624201817918,-0.23710712011692936,-0.2281748481128676,-0.2204839836059913,-0.21377381966314413,-0.20786490147035175,-0.20261411037893307,-0.19789587750994864,-0.19364663084207523,-0.18976689746799802,-0.18440466890939344},
{-1.057812845955953,-0.8383634577346168,-0.606468298183537,-0.4750728939871658,-0.39885662387364834,-0.34979456587721847,-0.3176626331334499,-0.2951215023123046,-0.2756771764737353,-0.26019662465822346,-0.24756502200631936,-0.23705006866071665,-0.22812125960862706,-0.22043331657172838,-0.21372565331833626,-0.20781889942638765,-0.20257000105076628,-0.19785344249780834,-0.19360568369079678,-0.18972728789580307,-0.184364072974728},
{-1.0587710572798525,-0.8383261642878723,-0.6062893618494476,-0.474922013216761,-0.3987338468214083,-0.34969185774530487,-0.31759260749447116,-0.2950412537637635,-0.27560457439566727,-0.2601303447283051,-0.2475038503671273,-0.23699306227543682,-0.22806771339323018,-0.22038268946534223,-0.21367752487416647,-0.2077729335286126,-0.20252592633578537,-0.19781104074412714,-0.19356476859617622,-0.18968770929978884,-0.1843235584280284},
{-1.0597262478331082,-0.8382880253565608,-0.6061103739701449,-0.47477119505757615,-0.3986111455883969,-0.34958922135351844,-0.31752251806438414,-0.29496106258115623,-0.2755320287416627,-0.2600641169723499,-0.24744272704872883,-0.23693610091190176,-0.22801420942017503,-0.2203321022426924,-0.21362943428852477,-0.20772700373685582,-0.20248188619545882,-0.19776867221192207,-0.1935238855226178,-0.18964816164563714,-0.1842831244264388},
{-1.0606784236845417,-0.8382490440662016,-0.6059313352919912,-0.4746204396704237,-0.3984885201851193,-0.3494866566676745,-0.31745236518871467,-0.29488092875046057,-0.2754595394591126,-0.259997941336752,-0.24738165199916395,-0.23687918452094192,-0.22796074764284247,-0.2202815548595478,-0.21358138151940276,-0.207681110010967,-0.20243788059139334,-0.19772633686433982,-0.1934830344345283,-0.18960864489906604,-0.18424277013980705},
{-1.0616275908935773,-0.8382092235332786,-0.6057522465577052,-0.4744697472149494,-0.39836597062167434,-0.3493841636533602,-0.3173821492200837,-0.2948008522573646,-0.27538710649550585,-0.25993181776795593,-0.247320625166635,-0.23682231305344692,-0.22790732801477165,-0.22023104727176968,-0.21353336652474197,-0.20763525231089142,-0.20239390948517988,-0.19768403466449747,-0.19344221529640515,-0.1895691590257813,-0.18420249475043748},
{-1.0625737555102057,-0.8381685668652661,-0.6055731085063517,-0.4743191178495363,-0.3982434969075738,-0.3492817422759886,-0.3173118705181086,-0.2947208330872303,-0.27531472979823535,-0.2598657462124342,-0.24725964649928833,-0.23676548646033846,-0.22785395048958734,-0.22018057943534186,-0.21348538926259986,-0.2075894305966013,-0.2023499728384789,-0.1976417655755709,-0.19340142807278338,-0.18952970399158775,-0.18416229745302692},
{-1.063516923575009,-0.8381270771606286,-0.6053939218733544,-0.4741685517313194,-0.3981210990519497,-0.3491793925007668,-0.31724152944899486,-0.29464087122513544,-0.275242409314689,-0.2597997266165982,-0.24719871594528375,-0.23670870469252536,-0.2278006150208094,-0.2201301513061038,-0.2134374496909932,-0.20754364482800503,-0.20230607061290506,-0.19759952956075455,-0.1933606727281555,-0.18949027976222743,-0.18412217745434045},
{-1.0644571011191757,-0.8380847575088811,-0.6052146873905424,-0.47401804901632505,-0.3979987770634607,-0.34907711429268007,-0.3171711263855896,-0.29456096665590714,-0.2751701449923474,-0.25973375892708095,-0.24713783345298423,-0.23665196770113306,-0.22774732156223665,-0.22007976284021613,-0.21338954776817265,-0.2074978949653069,-0.20226220277029694,-0.19755732658339287,-0.1933199492272375,-0.1894508863036649,-0.1840821339732942},
{-1.06539429416446,-0.8380416109905409,-0.6050354057861375,-0.4738676098592396,-0.39787653095025677,-0.3489749076165947,-0.3171006617069806,-0.29448111936406135,-0.27509793677854755,-0.2596678430903444,-0.24707699897062574,-0.23659527543716175,-0.22769407006747766,-0.22002941399364062,-0.2133416834522297,-0.20745218096851947,-0.2022183692723769,-0.19751515660675145,-0.19327925753454678,-0.18941152358176094,-0.18404216624057346},
{-1.0663285087232222,-0.837997640677187,-0.6048560777847753,-0.47371723441362573,-0.3977543607201157,-0.348872772437103,-0.31703013579846573,-0.2944013293338062,-0.27502578462067995,-0.25960197905294524,-0.24701621244660776,-0.23653862785176205,-0.22764086049035892,-0.21997910472251558,-0.21329385670143863,-0.20740650279780704,-0.20217457008103124,-0.19747301959426,-0.1932385976148685,-0.18937219156251395,-0.18400227349859133},
{-1.0672597507984207,-0.8379528496314755,-0.6046767041075426,-0.4735669228318252,-0.3976322663802226,-0.3487707087186805,-0.316959549051377,-0.29432159654906465,-0.2749536884660879,-0.2595361667615116,-0.24695547382922034,-0.23648202489604253,-0.22758769278464308,-0.2199288349830072,-0.21324606747405905,-0.2073608604133722,-0.20213080515808846,-0.19743091550921477,-0.19319796943286827,-0.18933289021183508,-0.18396245500122788},
{-1.0681880263836068,-0.8379072409071395,-0.6044972854719567,-0.47341667526497855,-0.397510247937445,-0.3486687164256213,-0.3168889018628228,-0.2942419209935088,-0.2748816482622005,-0.2594704061626594,-0.24689478306697887,-0.2364254665213018,-0.22753456690425145,-0.2198786047313156,-0.21319831572849712,-0.20731525377554338,-0.20208707446554397,-0.1973888443152534,-0.19315737295343416,-0.18929361949585533,-0.18392271001382765},
{-1.0691133414629277,-0.8378608175490181,-0.6043178225920169,-0.47326649186307823,-0.3973883053981209,-0.3485667955219368,-0.3168181946354253,-0.2941623026504697,-0.27480966395628426,-0.2594046972030005,-0.24683414010829052,-0.23636895267867253,-0.22748148280307667,-0.21982841392364405,-0.2131506014230189,-0.2072696828444769,-0.2020433779652694,-0.1973468059757284,-0.19311680814125498,-0.18925437938055656,-0.18388303781281012},
{-1.0700357020111362,-0.8378135825930624,-0.6041383161781894,-0.4731163727748857,-0.39726643876813716,-0.34846494597157057,-0.31674742777741766,-0.2940827415030679,-0.27473773549574765,-0.2593390398292815,-0.246773544901697,-0.23631248331955756,-0.2274284404351289,-0.21977826251641708,-0.2131029245161622,-0.20722414758064112,-0.20199971561944607,-0.19730480045428012,-0.19307627496134683,-0.18921516983214104,-0.1838434376857786},
{-1.0709551139935922,-0.8377655390663741,-0.6039587669374415,-0.47296631814805884,-0.3971446480530387,-0.34836316773821263,-0.3166766017022186,-0.29400323753410035,-0.27466586282786265,-0.2592734339881262,-0.24671299739573593,-0.236256058395251,-0.22737543975431185,-0.21972815046584715,-0.2130552849663382,-0.20717864794431728,-0.20195608739001436,-0.19726282771444603,-0.19303577337848454,-0.18917599081670078,-0.18380390893110954},
{-1.0718715833662749,-0.8377166899872013,-0.6037791755732788,-0.4728163281290289,-0.397022933257765,-0.34826146078543496,-0.31660571682848243,-0.29392379072608615,-0.2745940459000048,-0.25920787962633607,-0.24665249753897178,-0.2361996778571741,-0.22732248071480232,-0.2196780777284214,-0.21300768273213133,-0.2071331838960604,-0.2019124932391283,-0.1972208877199536,-0.19299530335771264,-0.1891368423004064,-0.1837644508579691},
{-1.0727851160757422,-0.8376670383649634,-0.6035995427857002,-0.4726664028630926,-0.3969012943869562,-0.34815982507662363,-0.3165347735797326,-0.2938444010612904,-0.2745222846594746,-0.2591423766906763,-0.24659204528008283,-0.23614334165681827,-0.2272695632706917,-0.21962804426056792,-0.2129601177721222,-0.20708775539629487,-0.20186893312903187,-0.19717898043445525,-0.19295486486401803,-0.1890977242495634,-0.1837250627860889},
{-1.0736957180591906,-0.8376165872002641,-0.6034198692712623,-0.47251654249440767,-0.3967797314447213,-0.34805826057484957,-0.316463772384245,-0.29376506852163065,-0.27445057905352555,-0.2590769251278989,-0.2465316405676944,-0.23608704974556016,-0.22721668737607958,-0.2195780500187573,-0.2129125900448764,-0.20704236240554108,-0.2018254070218115,-0.19713710582160204,-0.19291445786237038,-0.18905863663033362,-0.18368574404558558},
{-1.0746033952444236,-0.8375653394849165,-0.6032401557230894,-0.4723667471659597,-0.39665824443481706,-0.34795676724322916,-0.31639271367503147,-0.2936857930888537,-0.27437892902954086,-0.2590115248848588,-0.24647128335058577,-0.236030802075069,-0.22716385298525832,-0.21952809495956582,-0.21286509950914623,-0.2069970048844305,-0.20178191487986552,-0.19709526384531417,-0.19287408231798053,-0.18901957940909453,-0.18364649397688648},
{-1.07550815354987,-0.8375132982019435,-0.60306040283085,-0.47221701701962865,-0.3965368333605189,-0.34785534504456145,-0.3163215978894714,-0.2936065747443396,-0.2743073345347241,-0.25894617590842484,-0.246410973577461,-0.23597459859685932,-0.2271110600524301,-0.219478179039575,-0.21281764612365572,-0.2069516827935377,-0.20173845666539558,-0.1970534544693151,-0.1928337381958829,-0.18898055255211144,-0.1836073119304822},
{-1.0764099988845657,-0.8374604663256346,-0.6028806112808573,-0.47206735219612217,-0.3964154982246533,-0.3477539939415056,-0.31625042546944737,-0.29352741346925926,-0.2742357955163873,-0.25888087814548366,-0.24635071119713714,-0.2359184392625836,-0.22705830853193454,-0.21942830221543663,-0.2127702298471742,-0.20690639609360773,-0.20169503234084785,-0.1970116776575277,-0.19279342546127987,-0.18894155602573248,-0.18356819726686446},
{-1.0773089371481839,-0.837406846821503,-0.6027007817559806,-0.4719177528350179,-0.3962942390296811,-0.3476527138965885,-0.31617919686081664,-0.2934483092444281,-0.27416431192176594,-0.2588156315429423,-0.24629049615846366,-0.2358623240239337,-0.22700559837809564,-0.21937846444380849,-0.2127228506385146,-0.20686114474530193,-0.20165164186858142,-0.19696993337384372,-0.19275314407937427,-0.1889025897963903,-0.1835291493562683},
{-1.0782049742310325,-0.8373524426463566,-0.6025209149357331,-0.47176821907483524,-0.39617305577760875,-0.34755150487207964,-0.316107912513568,-0.2933692620504873,-0.27409288369813667,-0.25875043604779013,-0.24623032841035297,-0.23580625283263845,-0.22695292954536783,-0.2193286656814658,-0.21267550845658256,-0.20681592870944743,-0.20160828521108665,-0.196928221582246,-0.19271289401545433,-0.18886365383045056,-0.1834901675786359},
{-1.0790981160140305,-0.8372972567482906,-0.602341011496247,-0.4716187510529043,-0.3960519484700069,-0.3474503668301945,-0.31603657288153736,-0.2932902718677549,-0.27402151079272796,-0.25868529160701537,-0.24617020790174748,-0.23575022564052694,-0.2269003019882221,-0.21927890588518195,-0.21262820326034604,-0.20677074794684813,-0.20156496233086763,-0.19688654224672708,-0.19267267523486187,-0.1888247480944375,-0.18345125132350348},
{-1.07998836836874,-0.8372412920666978,-0.602161072110317,-0.4714693489054822,-0.3959309171080906,-0.34734929973287587,-0.31596517842222627,-0.29321133867621685,-0.27395019315276503,-0.25862019816759474,-0.24611013458158626,-0.23569424239936232,-0.22684771566108153,-0.21922918501177724,-0.2125809350086998,-0.20672560241835192,-0.201521673190455,-0.19684489533135374,-0.19263248770288632,-0.18878587255474133,-0.18341239998952796},
{-1.0808757371573674,-0.8371845515323215,-0.6019810974474158,-0.4713200127677205,-0.39580996169256594,-0.3472483035419863,-0.3158937295968812,-0.293132462455706,-0.2738789307254632,-0.2585551556766337,-0.2460501083989327,-0.23563830306109546,-0.22679517051860953,-0.2191795030181749,-0.2125337036607552,-0.20668049208489203,-0.20147841775248743,-0.19680328080019593,-0.1925923313849408,-0.1887470271779319,-0.18337361298488009},
{-1.0817602282327516,-0.8371270380672104,-0.6018010881736587,-0.47117074277364535,-0.3956890822237855,-0.3471473782192109,-0.31582222687007283,-0.29305364318567306,-0.2738077234580065,-0.25849016408120495,-0.24599012930284514,-0.23558240757761872,-0.2267426665153507,-0.21912985986128497,-0.21248650917560263,-0.2066354169074882,-0.20143519597961912,-0.19676169861741322,-0.19255220624650193,-0.18870821193059883,-0.1833348897266115},
{-1.082641847438384,-0.8370687545848162,-0.6016210449518968,-0.47102153905625366,-0.3955682787017302,-0.3470465237259993,-0.3157506707096768,-0.29297488084535295,-0.2737365712975669,-0.2584252233284391,-0.24593019724244303,-0.2355265559009061,-0.2266902036059888,-0.21908025549808396,-0.21243935151228788,-0.20659037684709813,-0.2013920078345086,-0.1967201487471666,-0.19251211225298792,-0.18866942677919385,-0.18329622964076442},
{-1.0835206006083955,-0.8370097039899329,-0.601440968441656,-0.47087240174736744,-0.3954475511258655,-0.34694574002370415,-0.3156790615867798,-0.29289617541370405,-0.27366547419131027,-0.2583603333654656,-0.24587031216688393,-0.2354707479830167,-0.22663778174522176,-0.21903068988565,-0.21239223063007573,-0.20654537186480992,-0.2013488532799781,-0.1966786311537272,-0.1924720493700005,-0.1886306716904863,-0.18325763216216062},
{-1.084396493567575,-0.8369498891787713,-0.6012608592992039,-0.4707233309778311,-0.3953268994953935,-0.346845027073537,-0.3156073999754763,-0.2928175268693973,-0.2735944320863922,-0.25829549413950903,-0.24581047402543765,-0.23541498377603187,-0.22658540088777646,-0.21898116298101888,-0.21234514648815772,-0.2065004019217075,-0.201305732278787,-0.1966371458013425,-0.1924320175630687,-0.18859194663101897,-0.1832190967343138},
{-1.0852695321313681,-0.8368893130389516,-0.6010807181775603,-0.4705743268773135,-0.3952063238089593,-0.3467443848365117,-0.3155356863528779,-0.2927389351908827,-0.2735234449299174,-0.2582307055978278,-0.24575068276730783,-0.23535926323208822,-0.22653306098855364,-0.21893167474139297,-0.21229809904587338,-0.2064554669790457,-0.20126264479386646,-0.19659569265439492,-0.1923920167978831,-0.18855325156756042,-0.1831806228092696},
{-1.0861397221058695,-0.8368279784495133,-0.600900545726459,-0.47042538957445407,-0.39508582406491805,-0.3466438132735013,-0.3154639211987076,-0.29266040035620433,-0.27345251266894455,-0.2581659676875827,-0.24569093834180356,-0.23530358630330717,-0.22648076200230072,-0.21888222512386624,-0.21225108826247363,-0.2064105669979136,-0.20121959078798834,-0.19655427167715545,-0.1923520470400174,-0.18851458646677144,-0.1831422098473433},
{-1.0870070692878564,-0.8367658882809698,-0.6007203425924471,-0.47027651919689284,-0.3949654002612193,-0.3465433123452106,-0.3153921049954653,-0.29258192234326963,-0.27338163525058057,-0.2581012803561543,-0.24563124069825948,-0.23524795294196044,-0.22642850388397773,-0.21883281408572208,-0.21220411409736428,-0.20636570193960568,-0.2011765702241518,-0.19651288283406987,-0.19231210825518774,-0.18847595129539585,-0.18310385731713597},
{-1.087871579464757,-0.8367030453952744,-0.6005401094188226,-0.4701277158711149,-0.39484505239536016,-0.34644288201223017,-0.3153202382281285,-0.2925035011296918,-0.27331081262187973,-0.25803664355088585,-0.24557158978614368,-0.2351923631003493,-0.226376286588565,-0.21878344158424268,-0.21215717651002708,-0.20632087176551883,-0.20113358306541218,-0.19647152608963947,-0.19227220040921456,-0.18843734602032458,-0.18306556469550306},
{-1.0887332584146774,-0.8366394526458736,-0.6003598468456903,-0.4699789797226268,-0.39472478046456033,-0.34634252223494,-0.3152483213840598,-0.29242513669278003,-0.27324004472984853,-0.2579720572191039,-0.2455119855549126,-0.2351368167308342,-0.22632411007106779,-0.21873410757679745,-0.21211027545995254,-0.20627607643695745,-0.2010906292747896,-0.19643020140834344,-0.19223232346787755,-0.18839877060839594,-0.183027331467134},
{-1.0895921119064016,-0.8365751128777243,-0.6001795555099625,-0.46983031087583277,-0.3946045844654721,-0.34624223297362333,-0.3151763549529812,-0.292346829009584,-0.27316933152144596,-0.2579075213082127,-0.24545242795397126,-0.23508131378570474,-0.22627197428648704,-0.2186848120207141,-0.21206341090663583,-0.20623131591530264,-0.20104770881538125,-0.19638890875474202,-0.19219247739697642,-0.18836022502646,-0.18298915712456099},
{-1.0904481456993849,-0.8365100289272925,-0.5999992360453816,-0.46968170945412746,-0.39448446439454,-0.34614201418841634,-0.31510433942675586,-0.2922685780568731,-0.27309867294369794,-0.2578430357656796,-0.24539291693299303,-0.23502585421747968,-0.22621987919003506,-0.2186355548734995,-0.2120165828097138,-0.2061865901620522,-0.20100482165035327,-0.19634764809342065,-0.1921526621624935,-0.18832170924149616,-0.18295104116817051},
{-1.091301365543774,-0.8364442036225864,-0.5998188890825363,-0.46953317557988533,-0.3943644202477126,-0.3460418658392148,-0.3150322752992035,-0.29219038381111717,-0.27302806894342413,-0.25777860053893253,-0.24533345244146865,-0.23497043797857275,-0.22616782473673613,-0.21858633609252986,-0.21196979112874326,-0.20614189913869896,-0.20096196774282182,-0.1963064193889873,-0.19211287773022523,-0.18828322322043078,-0.18291298310574278},
{-1.0921517771803986,-0.8363776397831587,-0.5996385152488338,-0.4693847093744135,-0.39424445202060215,-0.3459417878858913,-0.3149601630662351,-0.29211224624863663,-0.27295751946761193,-0.25771421557555396,-0.24527403442912032,-0.23491506502159254,-0.22611581088195165,-0.2185371556354685,-0.21192303582349992,-0.20609724280679564,-0.20091914705616343,-0.19626522260619428,-0.1920731240663116,-0.18824476693038028,-0.1828749824527841},
{-1.0929993863407872,-0.836310340220152,-0.5994581151685902,-0.4692363109580429,-0.3941245597084657,-0.3458417802881051,-0.3148880032254373,-0.2920341653453479,-0.27288702446305957,-0.2576498808230179,-0.24521466284564253,-0.23485973529907056,-0.2260638375808005,-0.2184880134598216,-0.21187631685367747,-0.2060526211279463,-0.20087635955356153,-0.1962240577097194,-0.1920334011366449,-0.18820634033837158,-0.1828370387319339},
{-1.0938441987471674,-0.8362423077362877,-0.5992776894629883,-0.4690879804500416,-0.3940047433061152,-0.3457418430053723,-0.31481579627626577,-0.2919561410769582,-0.27281658387663055,-0.2575855962289697,-0.24515533764072306,-0.23480444876367368,-0.22601190478865973,-0.2184389095232524,-0.2118296341790442,-0.20600803406380552,-0.20083360519839455,-0.19618292466434561,-0.1919937089073337,-0.1881679434115614,-0.18279915147322845},
{-1.094686220112452,-0.836173545125898,-0.5990972387501079,-0.4689397179686839,-0.3938850028080477,-0.34564197599715657,-0.31474354271969585,-0.291878173418916,-0.27274619765509833,-0.2575213617409937,-0.24509605876423468,-0.23474920536806188,-0.22596001246087782,-0.21838984378343573,-0.21178298775952142,-0.2059634815760939,-0.20079088395407718,-0.19614182343491282,-0.1919540473445116,-0.18812957611713987,-0.18276132021370006},
{-1.09552545614028,-0.8361040551749431,-0.5989167636449133,-0.4687915236312615,-0.3937653382083596,-0.3455421792225799,-0.3146712430581503,-0.29180026234634626,-0.27267586574519664,-0.25745717730674234,-0.24503682616598366,-0.23469400506501248,-0.22590816055286922,-0.21834081619814305,-0.21173637755494146,-0.20591896362655848,-0.20074819578401892,-0.19610075398626992,-0.1919144164142793,-0.18809123842232167,-0.1827235444975266},
{-1.0963619125249862,-0.8360338406610349,-0.5987362647593297,-0.4686433975540137,-0.39364574950079745,-0.34544245264084467,-0.3145988977955765,-0.29172240783418724,-0.27260558809366997,-0.2573930428739124,-0.24497763979591358,-0.2346388478072845,-0.22585634902010854,-0.21829182672514658,-0.21168980352523414,-0.20587448017700138,-0.20070554065169732,-0.19605971628335483,-0.19187481608291823,-0.18805293029444348,-0.18268582387565535},
{-1.0971955949516334,-0.8359629043534234,-0.5985557427021732,-0.46849533985221964,-0.39352623667873493,-0.3453427962108755,-0.31452650743704824,-0.29164460985704244,-0.2725353646471629,-0.2573289583902274,-0.2449184996039221,-0.23458373354778173,-0.22580457781802876,-0.21824287532230247,-0.21164326563045688,-0.20583003118927545,-0.2006629185206763,-0.19601871029111229,-0.19183524631660276,-0.1880146517007969,-0.1826481579058773},
{-1.0980265090959938,-0.8358912490130741,-0.5983751980792827,-0.4683473506401863,-0.3934067997351545,-0.3452432098915135,-0.3144540724890845,-0.29156686838931,-0.2724651953523385,-0.25726492380343213,-0.24485940554001318,-0.234528662239316,-0.22575284690224295,-0.21819396194746332,-0.21159676383058557,-0.20578561662529404,-0.20062032935451102,-0.19597773597453805,-0.19179570708164462,-0.18797640260879878,-0.18261054615266836},
{-1.098854660624569,-0.83581887739262,-0.5981946314933801,-0.46819943003117626,-0.3932874386627172,-0.34514369364151065,-0.31438159345909134,-0.29148918340504826,-0.27239508015578007,-0.25720093906135144,-0.24480035755428997,-0.23447363383488218,-0.22570115622834386,-0.21814508655863885,-0.21155029808575676,-0.20574123644701425,-0.20057777311686442,-0.19593679329869218,-0.19175619834437974,-0.18793818298594644,-0.18257298818704804},
{-1.0996800551945944,-0.8357457922364268,-0.5980140435442051,-0.46805157813753223,-0.393168153453706,-0.34504424741931367,-0.3143090708555044,-0.291411554878116,-0.2723250190040548,-0.25713700411180984,-0.24474135559680832,-0.23441864828747905,-0.22564950575199183,-0.2180962491137437,-0.21150386835609292,-0.20569689061641983,-0.2005352497713473,-0.19589588222867882,-0.19171672007114016,-0.18789999279962966,-0.18253548358650806},
{-1.1005026984540338,-0.8356719962805911,-0.5978334348284886,-0.46790379507058333,-0.39304894410005653,-0.3449448711834509,-0.31423650518777535,-0.2913339827821033,-0.27225501184372336,-0.25707311890270224,-0.24468239961775884,-0.2343637055501676,-0.22559789542891373,-0.21804744957090694,-0.2114574746018183,-0.2056525790956225,-0.20049275928175003,-0.19585500272961553,-0.19167727222840703,-0.1878618320175358,-0.1824980319349252},
{-1.1013225960415922,-0.8355974922529534,-0.5976528059399546,-0.46775608094070953,-0.39292981059336407,-0.34484556489216167,-0.31416389696600655,-0.2912564670903073,-0.2721850586212492,-0.25700928338187745,-0.24462348956733648,-0.23430880557604927,-0.2255463252148192,-0.21799868788821408,-0.21141111678313662,-0.20560830184666667,-0.20045030161179134,-0.19581415476671316,-0.191637854782586,-0.18782370060718223,-0.18246063282237224},
{-1.1021397535867266,-0.8355222828731509,-0.5974721574693626,-0.46760843585733214,-0.392810752924822,-0.3447463285036491,-0.3140912467012209,-0.2911790077757953,-0.2721151592830783,-0.2569454974973422,-0.2445646253957463,-0.23425394831825297,-0.22549479506555425,-0.21794996402376254,-0.21136479486036897,-0.20556405883174944,-0.2004078767253289,-0.19577333830517785,-0.19159846770022493,-0.1877855985362662,-0.18242328584520173},
{-1.1029541767096334,-0.8354463708525762,-0.5972914900044721,-0.4674608599288757,-0.3926917710852845,-0.3446471619759378,-0.3140185549049369,-0.29110160481135294,-0.27204531377565244,-0.25688176119702033,-0.24450580705339486,-0.23419913373001988,-0.22544330493693054,-0.2179012779358367,-0.21131850879390557,-0.20551985001306494,-0.2003654845862065,-0.19573255331031725,-0.19155911094784728,-0.18774752577253173,-0.1823859906056956},
{-1.1037658710212694,-0.8353697588944453,-0.5971108041301222,-0.4673133532628861,-0.3925728650653373,-0.34454806526691273,-0.3139458220892051,-0.29102425816950195,-0.27197552204533093,-0.2568180744289841,-0.24444703449053806,-0.23414436176458875,-0.22539185478488888,-0.21785262958261742,-0.2112722585440292,-0.20547567535285038,-0.20032312515827622,-0.19569179974744344,-0.19151978449204,-0.18770948228367224,-0.18234874671213885},
{-1.1045748421233565,-0.8352924496938068,-0.5969301004281642,-0.4671659159658624,-0.3924540348550951,-0.34444903833437346,-0.3138730487666411,-0.29094696782257023,-0.27190578403850385,-0.2567544371412477,-0.2443883076576696,-0.23408963237529712,-0.22534044456540125,-0.21780401892248624,-0.2112260440713145,-0.20543153481346244,-0.2002807984056354,-0.1956510775819631,-0.19148048829946107,-0.18767146803759804,-0.18231155377869468},
{-1.105381095608381,-0.8352144459375273,-0.5967493794775675,-0.46701854814344756,-0.39233528044448296,-0.3443500811359886,-0.3138002354501066,-0.29086973374255076,-0.2718360997014654,-0.25669084928189245,-0.24432962650524703,-0.23403494551549864,-0.22528907423445754,-0.21775544591376306,-0.21117986533617084,-0.20538742835724066,-0.2002385042921424,-0.1956103867792356,-0.19144122233680327,-0.18763348300217186,-0.182274411425287},
{-1.1061846370595902,-0.8351357503043648,-0.5965686418543619,-0.46687124990030565,-0.3922166018229007,-0.3442511936292686,-0.313727382652932,-0.2907925559012561,-0.2717664689805248,-0.2566273107991076,-0.2442709909837476,-0.2339803011386522,-0.22523774374813266,-0.2177069105149031,-0.21113372229920346,-0.20534335594665087,-0.20019624278199832,-0.19556972730479383,-0.1914019865707962,-0.18759552714532135,-0.18223731927752673},
{-1.106985472051015,-0.8350563654649246,-0.5963878881316658,-0.46672402134013785,-0.3920979989795425,-0.34415237577162444,-0.31365449088849917,-0.29071543427014834,-0.27169689182189627,-0.2565638216409708,-0.24421240104374953,-0.23392569919814332,-0.22518645306248297,-0.2176584126843223,-0.2110876149209947,-0.20529931754407105,-0.2001540138391822,-0.19552909912410366,-0.19136278096821124,-0.187557600435026,-0.18220027696650254},
{-1.1077836061474788,-0.8349762940817471,-0.5962071188797236,-0.46657686256580627,-0.3919794719032671,-0.344053627520326,-0.31358156067041154,-0.29063836882058225,-0.2716273681718955,-0.25650038175573553,-0.2441538566359187,-0.23387113964757844,-0.22513520213377358,-0.217609952380593,-0.21104154316217438,-0.20525531311208056,-0.20011181742786655,-0.1954885022027406,-0.19132360549585292,-0.1875197028393656,-0.18216328412888827},
{-1.1085790449045758,-0.8348955388092653,-0.5960263346658982,-0.46642977367917443,-0.3918610205825192,-0.3439549488325616,-0.3135085925123414,-0.29056135952352313,-0.2715578979766444,-0.256436991091627,-0.244095357710845,-0.23381662244047485,-0.22508399091810993,-0.21756152956227415,-0.2109955069834466,-0.20521134261320095,-0.20006965351225214,-0.195447936506287,-0.19128446012059508,-0.18748183432640075,-0.18212634040661313},
{-1.10937179386871,-0.8348141022938396,-0.5958455360546824,-0.4662827547812253,-0.3917426450055239,-0.34385633966537255,-0.3134355869278137,-0.290484406349808,-0.27148848118238444,-0.2563736495969473,-0.24403690421937763,-0.23376214753054725,-0.22503281937185238,-0.21751314418800116,-0.21094950634560006,-0.20516740601013828,-0.20002752205660068,-0.19540740200041817,-0.19124534480937228,-0.1874439948643597,-0.1820894454470563},
{-1.1101618585770683,-0.8347319871737965,-0.595664723607711,-0.46613580597200466,-0.39162434516002903,-0.34375779997565414,-0.31336254443048017,-0.29040750926995806,-0.271419117735229,-0.2563103572199622,-0.24397849611214428,-0.23370771487135744,-0.22498168745123504,-0.21746479621643777,-0.21090354120937338,-0.2051235032654476,-0.19998542302513844,-0.1953668986507926,-0.19120625952910375,-0.18740618442139922,-0.18205259890265224},
{-1.110949244557652,-0.8346491960794341,-0.5954838978837984,-0.4659889273506596,-0.3915061210335729,-0.343659329720269,-0.31328946553370773,-0.29033066825428433,-0.27134980758137583,-0.25624711390908606,-0.24392013334012552,-0.23365332441676856,-0.2249305951127143,-0.2174164856063835,-0.21085761153573834,-0.2050796343419795,-0.1999433563823001,-0.1953264264232233,-0.19116720424684197,-0.1873684029658882,-0.18201580043106202},
{-1.1117339573292722,-0.8345657316330208,-0.5953030594389082,-0.46584211901544154,-0.39138797261333097,-0.34356092885583733,-0.31321635075056,-0.29025388327282475,-0.2712805506668786,-0.25618391961263476,-0.2438618158540613,-0.23359897612047942,-0.22487954231262586,-0.21736821231652548,-0.21081171728544823,-0.2050357992024021,-0.19990132209235323,-0.1952859852834361,-0.19112817892959477,-0.18733065046604713,-0.18197904969481082},
{-1.1125160024015526,-0.8344815964488574,-0.5951222088262135,-0.4656953810636966,-0.3912698998861603,-0.343462597338983,-0.3131432005939583,-0.29017715429548385,-0.2712113469379608,-0.25612077427913216,-0.24380354360503054,-0.2335446699364062,-0.22482852900753791,-0.217319976305829,-0.2107658584195694,-0.20499199780964128,-0.19985932011983532,-0.19524557519730246,-0.19108918354453874,-0.18729292689039845,-0.1819423463615235},
{-1.1132953852749456,-0.8343967931332503,-0.5949413465960756,-0.46554871359190175,-0.3911519028386267,-0.3433643351261547,-0.3130700155762499,-0.2901004812917729,-0.27114219634057457,-0.2560576778569812,-0.24374531654393428,-0.23349040581837965,-0.22477755515387987,-0.21727177753310378,-0.21072003489908897,-0.2049482301265121,-0.19981735042914506,-0.19520519613069687,-0.19105021805873645,-0.18725523220730234,-0.18190569010352642},
{-1.1140721114407337,-0.8343113242845549,-0.5947604732960469,-0.4654021166955936,-0.3910339814568862,-0.343266142173692,-0.31299679620962595,-0.29002386423109117,-0.2710730988208806,-0.255994630294746,-0.24368713462182312,-0.23343618372041008,-0.22472662070828142,-0.21722361595732576,-0.21067424668501922,-0.20490449611599182,-0.19977541298484947,-0.19516484804953038,-0.19101128243940657,-0.18721756638534504,-0.18186908059802098},
{-1.114846186381019,-0.8342251924932076,-0.5945795894709521,-0.4652555904694896,-0.3909161357268838,-0.34316801843788713,-0.3129235430055871,-0.2899473030826013,-0.271004054324969,-0.255931631540942,-0.24362899778983216,-0.23338200359648753,-0.2246757256273807,-0.21717549153750426,-0.2106284937385492,-0.20486079574104088,-0.199733507751506,-0.19512453091978,-0.19097237665383449,-0.1871799293930564,-0.18183251752682572},
{-1.1156176155687652,-0.8341384003416827,-0.5943986956627907,-0.4651091350073785,-0.3907983656342001,-0.34306996387476674,-0.3128502564750377,-0.28987079781516634,-0.27093506279884905,-0.255868681544167,-0.24357090599906628,-0.23332786540065187,-0.22462486986783792,-0.2171274042327287,-0.21058277602078113,-0.2048171289647006,-0.1996916346937181,-0.19508424470747,-0.1909335006692212,-0.18714232119905316,-0.18179600057637768},
{-1.1163864044677587,-0.834050950404592,-0.5942177924108661,-0.4649627504021934,-0.3906806711640965,-0.34297197844041816,-0.3127769371283764,-0.2897943483975143,-0.27086612418861455,-0.2558057802530618,-0.24351285920073518,-0.23327376908704156,-0.22457405338639735,-0.21707935400206568,-0.21053709349294158,-0.2047734957500461,-0.19964979377614667,-0.19504398937864054,-0.19089465445297427,-0.1871047417720444,-0.18175952943759255},
{-1.1171525585326618,-0.8339628452486402,-0.5940368802516918,-0.4648164367460125,-0.3905630523015751,-0.34287406209072524,-0.31270358547518307,-0.2897179547980898,-0.27079723844033765,-0.25574292761631234,-0.2434548573461236,-0.23321971460982627,-0.22452327613983636,-0.2170313408047022,-0.21049144611632564,-0.20472989606025027,-0.1996079849635275,-0.19500376489945814,-0.19085583797242867,-0.1870671910807642,-0.1817231038059084},
{-1.1179160832089823,-0.8338740874326919,-0.593855959719112,-0.46467019413004057,-0.39044550903124964,-0.3427762147814726,-0.3126302020245266,-0.28964161698516977,-0.2707284055000405,-0.25568012358259984,-0.24339690038648198,-0.2331657019232537,-0.22447253808499035,-0.216983364599878,-0.2104458338521905,-0.20468632985849267,-0.19956620822060855,-0.1949635712360127,-0.190817051195027,-0.18702966909397267,-0.18168672338106273},
{-1.1186769839330872,-0.8337846795077265,-0.5936750313441929,-0.4645240226445744,-0.39032804133746657,-0.3426784364684232,-0.31255678728443714,-0.2895653349267371,-0.27065962531380494,-0.25561736810066726,-0.2433389882732243,-0.23311173098154991,-0.22442183917874003,-0.21693542534683652,-0.2104002566619828,-0.2046427971080066,-0.19952446351220743,-0.19492340835453092,-0.19077829408822544,-0.1869921757805626,-0.18165038786710175},
{-1.1194352661322402,-0.8336946240169301,-0.5934940956553401,-0.46437792237915543,-0.39021064920434073,-0.34258072710704957,-0.3124833417621732,-0.28948910859066623,-0.2705908978277064,-0.25555466111940006,-0.24328112095770138,-0.23305780173908197,-0.22437117937807605,-0.21688752300491299,-0.21035471450709442,-0.20459929777208752,-0.19948275080315703,-0.19488327622125212,-0.19073956661953317,-0.18695471110934014,-0.1816140969723179},
{-1.120190935224557,-0.8336039234956756,-0.5933131531782516,-0.4642318934223962,-0.39009333261557216,-0.34248308665294525,-0.31240986596414844,-0.2894129379445636,-0.27052222298783835,-0.255492002587572,-0.24322329839143175,-0.23300391415026334,-0.22432055863994438,-0.2168396575334981,-0.2103092073489783,-0.2045558318140922,-0.1994410700583723,-0.19484317480247482,-0.19070086875653225,-0.1869172750493291,-0.18157785040913643},
{-1.1209439966190498,-0.8335125804715137,-0.5931322044359524,-0.46408593586209335,-0.38997609155463386,-0.34238551506143644,-0.3123363603956414,-0.289336822955819,-0.27045360074023883,-0.2554293924540757,-0.24316552052588147,-0.2329500681695007,-0.2242699769213845,-0.2167918288920332,-0.21026373514912777,-0.2045123991973724,-0.19939942124278864,-0.19480310406448487,-0.19066220046676097,-0.18687986756937214,-0.18154164789397154},
{-1.1216944557156223,-0.8334205974642683,-0.5929512499488189,-0.46394004978520875,-0.38985892600466565,-0.3422880122878058,-0.31226282556116525,-0.289260763591662,-0.2703850310310577,-0.2553668306678627,-0.24310778731263383,-0.2328962637513402,-0.22421943417954016,-0.21674403703998968,-0.2102182978691861,-0.20446899988545375,-0.19935780432141958,-0.1947630639737158,-0.19062356171794848,-0.18684248863859432,-0.18150548914746756},
{-1.1224423179050684,-0.8333279769859644,-0.5927702902345113,-0.4637942352778314,-0.3897418359485131,-0.3421905782872622,-0.3121892619639448,-0.2891847598190622,-0.27031651380637056,-0.2553043171778654,-0.24305009870334093,-0.23284250085029135,-0.22416893037150354,-0.21669628193692314,-0.21017289547078477,-0.20442563384174695,-0.199316219259294,-0.19472305449657867,-0.1905849524777039,-0.18680513822599287,-0.18146937389397155},
{-1.1231875885690918,-0.8332347215409174,-0.5925893258081124,-0.46364849242528866,-0.3896248213687851,-0.342093213014823,-0.3121156701061921,-0.2891088116048316,-0.2702480490123199,-0.255241851933126,-0.24299245464959307,-0.23278877942097598,-0.2241184654545243,-0.2166485635424259,-0.21012752791554712,-0.20438230102985344,-0.19927466602149557,-0.19468307559952036,-0.19054637271380326,-0.18676781630061345,-0.18143330186184936},
{-1.1239302730803087,-0.833140833625702,-0.5924083571820403,-0.4635028213119831,-0.38950788224771365,-0.3419959164255342,-0.3120420504889885,-0.28903291891560323,-0.27017963659507294,-0.25517943488268935,-0.24293485510317747,-0.23273509941810067,-0.22406803938587205,-0.21660088181617798,-0.21008219516525772,-0.20433900141333605,-0.19923314457321528,-0.19464312724910282,-0.19050782239402686,-0.18673052283159164,-0.18139727278328088},
{-1.1246703768022486,-0.833046315729223,-0.5922273848661042,-0.46335722202160556,-0.38939101856733777,-0.3418986884742474,-0.3119684036120156,-0.288957081717777,-0.2701112765007907,-0.25511706597565964,-0.2428773000158978,-0.23268146079637164,-0.224017652122788,-0.21655323671784255,-0.21003689718169505,-0.20429573495585418,-0.19919165487956514,-0.19460320941184395,-0.19046930148617147,-0.18669325778802426,-0.18136128639417282},
{-1.1254079050893684,-0.8329511703326864,-0.5920464093675104,-0.4632116946369416,-0.38927423030930064,-0.3418015291157449,-0.31189472997401557,-0.28888129997760637,-0.2700429686756747,-0.25505474516122584,-0.2428197893395,-0.2326278635105461,-0.2239673036227009,-0.2165056282072273,-0.20999163392668307,-0.20425250162110842,-0.19915019690585545,-0.1945633220543984,-0.19043080995818262,-0.1866560211390924,-0.18132534243409815},
{-1.1261428632870454,-0.8328553999096173,-0.5918654311908347,-0.4630662392399627,-0.3891575174550196,-0.3417044383047213,-0.31182103007214934,-0.28880557366105786,-0.2699747130659006,-0.2549924723884667,-0.24276232302589473,-0.23257430751543695,-0.22391699384299268,-0.21645805624405645,-0.20994640536211617,-0.2042093013728027,-0.1991087706173179,-0.19452346514339036,-0.19039234777788472,-0.18661881285389514,-0.18128944064624286},
{-1.1268752567316187,-0.8327590069259417,-0.5916844508381272,-0.46292085591192556,-0.38904087998569337,-0.3416074159957553,-0.3117473044023912,-0.2887299027340511,-0.2699065096177856,-0.25493024760671956,-0.2427049010269814,-0.23252079276597926,-0.22386672274111474,-0.21641052078829326,-0.20990121144991536,-0.2041661341747668,-0.19906737597926738,-0.19448363864553186,-0.19035391491320075,-0.18658163290154506,-0.18125358077744158},
{-1.1276050907503408,-0.832661993839913,-0.5915034688088088,-0.4627755447331919,-0.38892431788210413,-0.3415104621433671,-0.3116735534592805,-0.28865428716226105,-0.26983835827756175,-0.2548680707652191,-0.24264752329480366,-0.23246731921708907,-0.2238164902746017,-0.2163630217998288,-0.209856052152123,-0.20412299999081152,-0.19902601295710587,-0.19444384252759073,-0.19031551133224367,-0.18654448125132883,-0.18121776257799138},
{-1.128332370661436,-0.8325643631022001,-0.5913224855997794,-0.4626303057833564,-0.3888078311249036,-0.3414135767019719,-0.3115997777358489,-0.28857872691117537,-0.26977025899158324,-0.25480594181329874,-0.24259018978141367,-0.2324138868237603,-0.22376629640108492,-0.21631555923866097,-0.20981092743078578,-0.20407989878487276,-0.19898468151629745,-0.1944040767563776,-0.1902771370029832,-0.1865073578723918,-0.18118198580170886},
{-1.129057101774087,-0.8324661171558745,-0.5911415017053436,-0.4624851391411946,-0.3886914196943015,-0.3413167596258747,-0.3115259777238828,-0.28850322194609435,-0.26970221170617004,-0.2547438607003023,-0.24253290043879105,-0.23236049554105365,-0.22371614107810955,-0.21626813306476644,-0.20976583724798348,-0.20403683052082966,-0.1989433816222531,-0.19436434129870228,-0.190238791893523,-0.18647026273384926,-0.18114625020569675},
{-1.1297792893884315,-0.8323672584364481,-0.5909605176173234,-0.46234004488474745,-0.38857508357036585,-0.34122001086933107,-0.31145215391350267,-0.2884277722321955,-0.26963421636775353,-0.25468182737570155,-0.24247565521920544,-0.23230714532408037,-0.22366602426340398,-0.21622074323830764,-0.20972078156589602,-0.2039937951627553,-0.19890211324058316,-0.19432463612152073,-0.19020047597203305,-0.18643319580501228,-0.18111055555051647},
{-1.1304989387955895,-0.8322677893718566,-0.5907795338249658,-0.46219502309117755,-0.3884588227328507,-0.34112333038640563,-0.3113783067932706,-0.2883523777343704,-0.269566272922648,-0.2546198417888659,-0.24241845407474638,-0.2322538361279557,-0.2236159459146949,-0.21617338971930378,-0.2096757603467032,-0.20395079267458494,-0.1988608763367088,-0.19428496119171046,-0.1901621892066222,-0.18639615705494128,-0.18107490159995643},
{-1.1312160552776498,-0.8321677123825201,-0.5905985508150198,-0.4620500738369609,-0.3883426371611941,-0.341026718131228,-0.3113044368502963,-0.2882770384175205,-0.26949838131746606,-0.2545579038894167,-0.2423612969577419,-0.2322005679079786,-0.22356590598980586,-0.21612607246811966,-0.20963077355273974,-0.20390782302047816,-0.19881967087644292,-0.19424531647633536,-0.19012393156561358,-0.18635914645294838,-0.18103928812107206},
{-1.1319306441077055,-0.8320670298813413,-0.5904175690717348,-0.46190519719774287,-0.3882265268347067,-0.3409301740577312,-0.31123054456988986,-0.28820175424623484,-0.2694305414985755,-0.2544960136268103,-0.24230418382044128,-0.2321473406193426,-0.22351590444650382,-0.21607879144486197,-0.20958582114625246,-0.20386488616452658,-0.19877849682528403,-0.1942057019423803,-0.19008570301719874,-0.18632216396819457,-0.18100371488413158},
{-1.132642710549839,-0.8319657442737127,-0.5902365890768815,-0.4617603932483919,-0.38811049173221257,-0.34083369811976727,-0.31115663043598885,-0.28812652518496695,-0.2693627534125874,-0.2544341709506861,-0.24224711461519544,-0.2320941542174002,-0.223465941242723,-0.21603154660988744,-0.20954090308961493,-0.2038219820709607,-0.19873735414901672,-0.1941661175569579,-0.19004750352971167,-0.18628520956994854,-0.18096818166245365},
{-1.1333522598591084,-0.8318638579575607,-0.5900556113096909,-0.46161566206304705,-0.3879945318324576,-0.3407372902711815,-0.31108269493065566,-0.28805135119805725,-0.2692950170061086,-0.25437237581069794,-0.24219008929444097,-0.23204100865750177,-0.22341601633643005,-0.21598433792349647,-0.2094960193452965,-0.20377911070397503,-0.1986962428134128,-0.19412656328721367,-0.19000933307158796,-0.1862482832274075,-0.18093268823252695},
{-1.1340592972816133,-0.8317613733233308,-0.5898746362469838,-0.4614710037150111,-0.3878786471138408,-0.3406409504656067,-0.3110087385342084,-0.28797623224960556,-0.26922733222575856,-0.25431062815649197,-0.2421331078106128,-0.23198790389513813,-0.22336612968561298,-0.21593716534619734,-0.20945116987576284,-0.2037362720278606,-0.19865516278423234,-0.19408703910030578,-0.18997119161115084,-0.18621138490986056,-0.18089723437390703},
{-1.1347638280544554,-0.831658292754055,-0.5896936643630871,-0.4613264182768855,-0.3877628375545288,-0.340544678656721,-0.310934761725403,-0.2879011683036258,-0.2691596990182197,-0.2542489279378344,-0.24207617011623772,-0.23193483988575414,-0.2233162812483529,-0.2158900288383534,-0.2094063546435253,-0.2036934660069729,-0.19861411402735218,-0.19404754496349252,-0.18993307911694868,-0.18617451458662415,-0.18086181986903627},
{-1.135465857405758,-0.8315546186252983,-0.5895126961298864,-0.46118190582050494,-0.3876471031324157,-0.34044847479805596,-0.3108607649810299,-0.28782615932395883,-0.2690921173302325,-0.2541872751045222,-0.2420192761638772,-0.23188181658489504,-0.22326647098275465,-0.2158429283605674,-0.20936157361121688,-0.2036506926056637,-0.19857309650871002,-0.1940080808440492,-0.1898949955574193,-0.18613767222699218,-0.18082644450340102},
{-1.1361653905546794,-0.8314503533052722,-0.5893317320168422,-0.46103746641693866,-0.3875314438251094,-0.34035233884304283,-0.3107867487762742,-0.2877512052742368,-0.2690245871085839,-0.2541256696063635,-0.24196242590614625,-0.23182883394818066,-0.22321669884695194,-0.21579586387335659,-0.20931682674144936,-0.20360795178836544,-0.19853211019422312,-0.19396864670929115,-0.18985694090118777,-0.18610085780031171,-0.18079110806533083},
{-1.1368624327114139,-0.8313454991547452,-0.5891507724909694,-0.46089310013650386,-0.38741585961001057,-0.34025627074513,-0.31071271358436026,-0.28767630611798256,-0.26895710830010455,-0.254064111393258,-0.2419056192957374,-0.23177589193123493,-0.22316696479920473,-0.2157488353373176,-0.20927211399694823,-0.2035652435195846,-0.1984911550498928,-0.1939292425266077,-0.18981891511683102,-0.1860640712760171,-0.18075581034598298},
{-1.1375569890772073,-0.8312400585271529,-0.5889698180168521,-0.46074880704876553,-0.3873003504642577,-0.3401602704574902,-0.3106386598766929,-0.28760146181859836,-0.26888968085171716,-0.2540026004151331,-0.24184885628534536,-0.23172299048979395,-0.22311726879780092,-0.21570184271318638,-0.20922743534049615,-0.20352256776381805,-0.1984502310417432,-0.19388986826339172,-0.18978091817299603,-0.18602731262344852,-0.18072055113939334},
{-1.1382490648443486,-0.8311340337685738,-0.588788869056722,-0.4606045872225931,-0.3871849163647286,-0.34006433793345625,-0.31056458812279997,-0.2875266723392722,-0.26882230471033375,-0.2539411366219514,-0.24179213682778333,-0.23167012957962052,-0.22306761080105597,-0.21565488596165883,-0.20918279073485424,-0.20347992448565566,-0.19840933813588424,-0.19385052388710733,-0.18974295003843755,-0.18599058181219208,-0.18068533024227484},
{-1.138938665196196,-0.8310274272177288,-0.5886079260703453,-0.46046044072606723,-0.3870695572880405,-0.3399684731261321,-0.31049049879021084,-0.28745193764304267,-0.2687549798229586,-0.2538797199637375,-0.24173546087587794,-0.23161730915650802,-0.22301799076733297,-0.2156079650435262,-0.209138180142867,-0.2034373136496983,-0.1983684762984168,-0.1938112093652652,-0.18970501068184287,-0.18595387881168612,-0.1806501474541562},
{-1.139625795307171,-0.8309202412060664,-0.588426989515181,-0.4603163676265704,-0.3869542732105684,-0.3398726759885712,-0.3104163923447263,-0.28737725769287625,-0.2686877061366705,-0.25381835039057155,-0.2416788283825071,-0.2315645291763455,-0.22296840865512957,-0.21556107991964502,-0.20909360352752238,-0.20339473522066154,-0.19832764549558501,-0.1937719246654247,-0.18966710007207477,-0.1859172035915886,-0.18061500257718432},
{-1.1403104603427796,-0.8308124780576862,-0.5882460598462459,-0.4601723679907217,-0.38683906410841773,-0.33977694647379253,-0.31034226925004993,-0.28730263245149124,-0.26862048359856927,-0.2537570278525585,-0.24162223930063242,-0.23151178959505947,-0.2229188644228728,-0.2155142305508988,-0.2090490608517287,-0.2033521891632437,-0.19828684569356658,-0.19373266975524772,-0.18962921817793787,-0.18588055612151122,-0.18057989541612307},
{-1.1409926654595917,-0.8307041400894444,-0.5880651375162307,-0.46002844188445846,-0.3867239299575427,-0.3396812845346533,-0.3102681299678991,-0.2872280618815045,-0.2685533121558059,-0.2536957522998894,-0.2415656935831889,-0.2314590903685897,-0.22286935802916863,-0.21546741689818805,-0.20900455207858704,-0.2033096754422179,-0.19824607685861761,-0.19369344460225413,-0.18959136496834494,-0.18584393637111984,-0.18054482577839748},
{-1.1416724158052927,-0.8305952296109326,-0.5878842229754675,-0.4598845893729491,-0.3866088707335231,-0.33958569012403583,-0.31019397495802414,-0.28715354594545806,-0.268486191755663,-0.25363452368277084,-0.2415091911833176,-0.2314064314530624,-0.22281988943263042,-0.21542063892258034,-0.20896007717114196,-0.20326719402239546,-0.19820533895712122,-0.19365424917423157,-0.18955354041229044,-0.18580734431028223,-0.18050979347388862},
{-1.1423497165186602,-0.8304857489244908,-0.5877033166719374,-0.4597408105207007,-0.3864938864118248,-0.3394901631947346,-0.31011980467807954,-0.28707908460562503,-0.268419122345372,-0.25357334195146586,-0.24145273205412177,-0.23135381280450606,-0.22277045859189015,-0.21537389658506811,-0.20891563609253916,-0.2032247448686727,-0.19816463195541623,-0.1936150834388618,-0.18951574447872277,-0.18577077990876545,-0.18047479831510593},
{-1.1430245727295691,-0.8303757003252372,-0.5875224190513179,-0.4595971053914798,-0.38637897696755286,-0.3393947036994138,-0.31004561958388854,-0.2870046778242442,-0.2683521038723625,-0.2535122070563377,-0.24139631614871992,-0.23130123437909167,-0.2227210654657018,-0.21532718984683907,-0.2088712288059822,-0.20318232794597635,-0.19812395581993458,-0.19357594736398376,-0.18947797713676173,-0.18573424313652986,-0.18043984011697312},
{-1.1436969895590112,-0.8302650861010726,-0.587341530556893,-0.4594534740482939,-0.38626414237560336,-0.3392993115906484,-0.3099714201289415,-0.286930325563305,-0.2682851362839691,-0.25345111894763594,-0.24133994342031895,-0.23124869613296484,-0.22267171001282382,-0.21528051866893072,-0.208826855274712,-0.20313994321922346,-0.19808331051711148,-0.1935368409173881,-0.18944023835543233,-0.18569773396353495,-0.18040491869684439},
{-1.144366972119129,-0.8301539085327524,-0.5871606516297462,-0.4593099165535513,-0.3861493826107808,-0.33920398682107444,-0.30989720676483057,-0.2868560277847855,-0.268218219527699,-0.25339007757590515,-0.24128361382222918,-0.2311961980224425,-0.22262239219210844,-0.2152338830126902,-0.2087825154620293,-0.20309759065346256,-0.19804269601345126,-0.19349776406694308,-0.18940252810389913,-0.18566125235981845,-0.18037003387462325},
{-1.1450345255131502,-0.8300421698938049,-0.5869797827085746,-0.459166432968868,-0.3860346976474297,-0.3391087293430829,-0.3098229799409655,-0.2867817844503925,-0.26815135355107644,-0.25332908289151235,-0.241227327307723,-0.231143740003786,-0.22257311196239016,-0.21518728283928645,-0.20873820933130116,-0.203055270213776,-0.19800211227555253,-0.19345871678056692,-0.18936484635143536,-0.18562479829554368,-0.18033518547249483},
{-1.1456996548354763,-0.8299298724506448,-0.5867989242298062,-0.4590230233552288,-0.38592008745987294,-0.33901353910920484,-0.30974874010454634,-0.28670759552179703,-0.2680845383017597,-0.2532681348450042,-0.24117108383030117,-0.2310913220333839,-0.22252386928270262,-0.2151407181101027,-0.20869393684595305,-0.2030129818652675,-0.19796155927002212,-0.19341969902626777,-0.18932719306720602,-0.1855883717409451,-0.1803003733152001},
{-1.1463623651716472,-0.8298170184625382,-0.5866180766276126,-0.45887968777285065,-0.3858055520220032,-0.3389184160716665,-0.30967448770089445,-0.28663346096051545,-0.26801777372733093,-0.2532072333869596,-0.2411148833432576,-0.2310389440676358,-0.2224746641119585,-0.21509418878647668,-0.20864969796939625,-0.20297072557306906,-0.19792103696348384,-0.19338071077199703,-0.18928956822054177,-0.1855519726662328,-0.180265597229752},
{-1.147022661598348,-0.829703610181646,-0.5864372403338798,-0.4587364262813464,-0.38569109130763135,-0.3388233601828289,-0.3096002231729513,-0.28655938072791787,-0.2679510597755925,-0.2531463784679582,-0.24105872580021792,-0.23098660606300359,-0.22242549640930775,-0.21504769482989616,-0.20860549266520423,-0.2029285013024471,-0.19788054532270005,-0.19334175198588222,-0.18925197178080921,-0.18551560104185172,-0.18023085704558262},
{-1.1476805491834372,-0.8295896498530091,-0.5862564157782132,-0.45859323893956633,-0.38557670529029964,-0.3387283713948369,-0.3095259469615156,-0.28648535478514603,-0.2678843963942634,-0.25308557003865917,-0.2410026111546184,-0.23093430797601844,-0.22237636613380707,-0.21500123620176115,-0.2085613208969257,-0.20288630901863858,-0.19784008431435296,-0.19330282263596166,-0.1892144037173914,-0.18547925683817912,-0.18019615259455235},
{-1.1483360329859376,-0.8294751397146262,-0.5860756033880201,-0.45845012580573025,-0.3854623939432994,-0.33863344965989206,-0.30945165950532383,-0.28641138309342584,-0.26781778353130814,-0.2530248080498195,-0.2409465393601744,-0.23088204976326054,-0.22232727324470425,-0.21495481286370244,-0.20851718262820818,-0.20284414868698253,-0.19779965390534038,-0.19326392269045622,-0.18917686399976807,-0.18544294002575568,-0.18016148371079677},
{-1.1489891180560599,-0.8293600819973944,-0.5858948035884095,-0.458307086937376,-0.3853481572397487,-0.338538594930077,-0.3093773612406836,-0.28633746561363205,-0.2677512211345421,-0.25296409245215135,-0.2408905103704987,-0.23082983138134516,-0.22227821770114087,-0.2149084247772649,-0.2084730778227205,-0.20280202027277394,-0.1977592540624682,-0.1932250521175265,-0.18913935259738024,-0.1854066505751233,-0.1801268502309492},
{-1.14963980943521,-0.8292444789252105,-0.585714016802327,-0.4581641223913437,-0.3852339951524789,-0.33844380715734734,-0.3093030526019759,-0.2862636023066518,-0.2676847091520298,-0.25290342319648684,-0.24083452413926165,-0.23077765278695117,-0.22222919946243913,-0.214862071904102,-0.20842900644415485,-0.202759923741488,-0.19771888475262567,-0.19318621088540644,-0.18910186947981544,-0.18537038845698128,-0.18009225199383905},
{-1.1502881121559585,-0.829128332714905,-0.5855332434504483,-0.4580212322238029,-0.3851199076541344,-0.3383490862937485,-0.30922873402116025,-0.28618979313317305,-0.2676182475318234,-0.2528428002336329,-0.2407785806203092,-0.23072551393684881,-0.2221802184879934,-0.21481575420591448,-0.20838496845632126,-0.2027178590585793,-0.19767854594279333,-0.1931473989624527,-0.189064414616674,-0.1853341536420008,-0.18005768884073903},
{-1.150934031242107,-0.8290116455763263,-0.5853524839512445,-0.457878416490282,-0.3850058947171773,-0.3382544322910901,-0.30915440592794186,-0.2861160380537714,-0.2675518362220184,-0.25278222351452706,-0.24072267976745643,-0.23067341478780778,-0.2221312747371773,-0.2147694716445122,-0.20834096382306677,-0.20267582618956925,-0.19763823759996935,-0.19310861631700804,-0.18902698797763584,-0.18529794610103112,-0.1800231606152387},
{-1.1515775717086658,-0.8288944197123318,-0.5851717387210105,-0.45773567524562114,-0.3848919563137798,-0.338159845101215,-0.3090800687498999,-0.2860423370288968,-0.2674854751708279,-0.2527216929901369,-0.24066682153458474,-0.23062135529663175,-0.2220823681694415,-0.21472322418166323,-0.20829699250826106,-0.20263382509999217,-0.19759795969121097,-0.19306986291741712,-0.18898958953235456,-0.18526176580488363,-0.17998866716316564},
{-1.1522187385618632,-0.828776657318783,-0.5849910081738241,-0.45759300854402585,-0.38477809241594185,-0.33806532467595063,-0.30900572291217,-0.28596869001889824,-0.2674191643265238,-0.2526612086114338,-0.24061100587563966,-0.23056933542028568,-0.22203349874432388,-0.2146770117792427,-0.2082530544758462,-0.20259185575546612,-0.19755771218362994,-0.19303113873219835,-0.18895221925056993,-0.1852256127244971,-0.1799542083327237},
{-1.15285753679915,-0.8286583605846382,-0.5848102927216375,-0.45745041643902307,-0.3846643029954566,-0.33797087096692036,-0.30893136883787076,-0.2858950969839926,-0.26735290363740394,-0.25260077032949746,-0.2405552327446222,-0.2305173551157187,-0.22198466642138437,-0.21463083439919206,-0.208209149689788,-0.2025499181216892,-0.19751749504438976,-0.19299244372976565,-0.18891487710216182,-0.1851894868308943,-0.17991978397426256},
{-1.1534939714092318,-0.8285395316918717,-0.5846295927741644,-0.4573078989834956,-0.3845505880238457,-0.3378764839258669,-0.30885700694760876,-0.2858215578842298,-0.2672866930518836,-0.2525403780954115,-0.24049950209561755,-0.23046541433990209,-0.22193587116028612,-0.2145846920034672,-0.20816527811418917,-0.2025080121643238,-0.19747730824065668,-0.19295377787876355,-0.18887756305689596,-0.1851533880950984,-0.17988539394040615},
{-1.1541280473720328,-0.8284201728155592,-0.5844489087390062,-0.4571654562296665,-0.3844369474725299,-0.33778216350427936,-0.3087826376597349,-0.2857480726795919,-0.26722053251842515,-0.2524800318603232,-0.24044381388273073,-0.23041351304992996,-0.22188711292070484,-0.21453858455411123,-0.20812143971310637,-0.20246613784915257,-0.197437151739701,-0.1929151411477541,-0.1888402770847104,-0.1851173164881903,-0.17985103808594727},
{-1.154759769658766,-0.828300286123894,-0.5842682410216098,-0.4570230882291513,-0.38432338131261257,-0.33768790965375695,-0.30870826139039365,-0.28567464132994536,-0.2671544219855464,-0.2524197315754344,-0.24038816806009433,-0.23036165120291008,-0.22183839166239105,-0.2144925120132415,-0.2080776344506725,-0.20242429514197735,-0.19739702550878313,-0.19287653350534284,-0.18880301915553166,-0.18508127198137525,-0.17981671626777662},
{-1.1553891432318761,-0.8281798737781474,-0.5840875900252307,-0.45688079503287665,-0.38420988951503254,-0.33759372232578944,-0.30863387855323265,-0.2856012637949725,-0.2670883614018622,-0.2523594771919757,-0.24033256458202068,-0.23030982875600847,-0.22178970734515746,-0.2144464743429495,-0.20803386229107557,-0.20238248400863024,-0.1973569295153077,-0.19283795492028988,-0.1887657892393424,-0.1850452545458252,-0.1797824283449747},
{-1.156016173045113,-0.8280589379327834,-0.5839069561510978,-0.45673857669116186,-0.38409647205053876,-0.3374996014717344,-0.3085594895598187,-0.28552794003431947,-0.2670223507160272,-0.2522992686612533,-0.24027700340272595,-0.23025804566645214,-0.22174105992887483,-0.21440047150550656,-0.20799012319858157,-0.20234070441506524,-0.19731686372663093,-0.192799405361322,-0.18872858730626363,-0.18500926415288754,-0.17974817417857603},
{-1.1566408640434682,-0.8279374807353701,-0.583726339798209,-0.4565964332536789,-0.38398312888962605,-0.33740554704298076,-0.30848509481922315,-0.28545467000745983,-0.2669563898767837,-0.2522391059346124,-0.24022148447657155,-0.23020630189154767,-0.2216924493734166,-0.2143545034631169,-0.20794641713745665,-0.20229895632721318,-0.1972768281101802,-0.19276088479725684,-0.1886914133263098,-0.18497330077381013,-0.17971395363164033},
{-1.1572632211632543,-0.827815504326665,-0.5835457413635017,-0.4564543647694879,-0.383869860002678,-0.3373115589908319,-0.3084106947382158,-0.2853814536737569,-0.266890478832871,-0.2521789889634497,-0.2401660077579728,-0.23015459738862765,-0.22164387563883936,-0.21430857017811356,-0.20790274407211762,-0.2022572397110849,-0.19723682263346953,-0.19272239319693085,-0.1886542672696423,-0.1849373643799812,-0.1796797665692098},
{-1.157883249332055,-0.8276930108406306,-0.5833651612418222,-0.45631237128697094,-0.38375666535974173,-0.33721763726654175,-0.30833628972126703,-0.2853082909925463,-0.2668246175332746,-0.25211891769919725,-0.24011057320141072,-0.2301029321150807,-0.22159533868512415,-0.21426267161287882,-0.2078591039669191,-0.20221555453269047,-0.19719684726404263,-0.19268393052927135,-0.18861714910649874,-0.1849014549428396,-0.1796456128581685},
{-1.1585009534687924,-0.8275700024044153,-0.5831845998259197,-0.4561704528539708,-0.38364354493083586,-0.3371237818213414,-0.3082618801703293,-0.28523518192297703,-0.2667588059268512,-0.25205889209335985,-0.2400551807614023,-0.23005130602834778,-0.22154683847240408,-0.21421680772979268,-0.20781549678631672,-0.20217390075815755,-0.19715690196945657,-0.19264549676320808,-0.18858005880706497,-0.18486557243382729,-0.1796114923673371},
{-1.1591163384836718,-0.8274464811384125,-0.5830040575064303,-0.4560286095176278,-0.3835304986855862,-0.33702999260633937,-0.3081874664853509,-0.2851621264240619,-0.2666930439626408,-0.25199891209748504,-0.2399998303924903,-0.2299997190859654,-0.22149837496081248,-0.21417097849140554,-0.20777192249478882,-0.2021322783536681,-0.1971169867173561,-0.19260709186774028,-0.18854299634168914,-0.18482971682444038,-0.1795774049672061},
{-1.1597294092782304,-0.8273224491562199,-0.5828235346719295,-0.4558868413244973,-0.38341752659353934,-0.33693626957263556,-0.3081130490635725,-0.2850891244547693,-0.26662733158967367,-0.251938977663156,-0.23994452204936834,-0.2299481712454624,-0.2214499481105685,-0.21412518386019785,-0.2077283810569397,-0.2020906872853525,-0.19707710147539825,-0.19256871581202528,-0.18850596168064704,-0.18479388808620723,-0.17954335053006587},
{-1.1603401707453702,-0.8271979085647736,-0.5826430317089579,-0.4557451483205335,-0.38330462862410164,-0.3368426126712063,-0.3080386283000355,-0.28501617597392204,-0.2665616687571202,-0.25187908874197174,-0.23988925568664476,-0.22989666246442053,-0.22140155788189408,-0.21407942379877432,-0.20768487243729994,-0.20204912751947823,-0.19703724621126661,-0.19253036856503192,-0.18846895479432724,-0.18475808619066703,-0.1795093289298535},
{-1.1609486277692778,-0.8270728614642127,-0.5824625490019811,-0.45560353055106995,-0.38319180474632597,-0.3367490218531666,-0.3079642045874553,-0.2849432809403245,-0.26649605541419197,-0.2518192452857062,-0.23983403125913905,-0.22984519270059756,-0.2213532042351738,-0.21403369826982144,-0.20764139660061942,-0.20200759902233179,-0.19699742089278205,-0.19249205009603254,-0.18843197565321046,-0.18472231110946824,-0.17947534004218113},
{-1.1615547852255315,-0.8269473099479991,-0.5822820869334095,-0.4554619880608485,-0.3830790549292331,-0.336655497069423,-0.30788977831596964,-0.28487043931257305,-0.26643049151018017,-0.2517594472460901,-0.2397788487217234,-0.2297937619116821,-0.22130488713082486,-0.2139880072360424,-0.2075979535115433,-0.2019661017602874,-0.19695762548778273,-0.1924537603742269,-0.18839502422776855,-0.18468656281427953,-0.179441383744269},
{-1.1621586479810597,-0.8268212561029296,-0.5821016458836179,-0.4553205208939708,-0.3829663791415311,-0.3365620382708028,-0.30781534987368164,-0.2847976510492377,-0.26636497699439887,-0.25169969457490327,-0.2397237080291379,-0.22974237005548348,-0.22125660652920065,-0.2139423506601581,-0.20755454313483113,-0.20192463569968244,-0.19691785996407885,-0.1924154993688436,-0.18835810048852553,-0.18465084127668963,-0.17940745991470375},
{-1.162760220894148,-0.8266947020091064,-0.581921226230973,-0.4551791290939923,-0.3828537773517908,-0.33646864540819577,-0.3077409196460812,-0.2847249161087426,-0.2662995118162972,-0.25163998722398107,-0.23966860913640198,-0.22969101708978423,-0.22120836239086217,-0.2138967285050699,-0.20751116543530035,-0.20188320080698974,-0.19687812428959872,-0.19237726704924474,-0.18832120440606626,-0.18461514646848487,-0.1793735684336739},
{-1.1633595088144768,-0.8265676497399906,-0.5817408283518011,-0.4550378127037906,-0.3827412495284107,-0.3363753184323698,-0.3076664880162828,-0.2846522344493928,-0.26623409592528435,-0.25158032514525186,-0.239613551998471,-0.22963970297250702,-0.22116015467632866,-0.21385114073358502,-0.20746782037783218,-0.2018417970486608,-0.19683841843230754,-0.19233906338477902,-0.18828433595096428,-0.18457947836132593,-0.17933970918275155},
{-1.163956516583089,-0.8264401013624111,-0.581560452620442,-0.4548965717657286,-0.38262879563955776,-0.3362820572940928,-0.3075920553651884,-0.28457960602955445,-0.26616872927103286,-0.25152070829069273,-0.23955853657042137,-0.2295884276616461,-0.22111198334625892,-0.21380558730873234,-0.20742450792731026,-0.20180042439124968,-0.19679874236020156,-0.1923008883448991,-0.1882474950940063,-0.1845438369270327,-0.17930588204486408},
{-1.164551249032436,-0.8263120589365905,-0.5813800994092142,-0.4547554063215864,-0.38251641565328465,-0.3361888619440826,-0.3075176220710427,-0.28450703080728834,-0.2661034118030198,-0.25146113661224734,-0.23950356280733154,-0.22953719111513304,-0.2210638483612808,-0.21376006819341864,-0.2073812280486933,-0.20175908280134425,-0.19675909604134034,-0.192262741899083,-0.18821068180577494,-0.18450822213735352,-0.17927208690439622},
{-1.1651437109863918,-0.8261835245161397,-0.5811997690884652,-0.45461431641245764,-0.3824041095373687,-0.33609573233293843,-0.30744318851007035,-0.284434508740701,-0.2660381434710053,-0.2514016100620279,-0.23944863066432875,-0.22948599329103958,-0.22101574968215632,-0.21371458335073767,-0.2073379807069453,-0.20171777224552034,-0.19671947944378632,-0.19222462401679463,-0.18817389605707646,-0.18447263396416247,-0.17923832364680403},
{-1.1657339072602018,-0.8260545001480959,-0.5810194620265469,-0.4544733020789712,-0.3822918772594419,-0.3360026684113039,-0.3073687550559264,-0.2843620397877913,-0.2659729242246982,-0.2513421285921369,-0.23939374009670433,-0.22943483414753607,-0.22096768726963445,-0.21366913274377985,-0.20729476586720885,-0.20167649269055854,-0.196679892535772,-0.1921865346677134,-0.18813713781875818,-0.18443707237927676,-0.179204592158962},
{-1.166321842660563,-0.8259249878729404,-0.5808391785898378,-0.45433236336110383,-0.38217971878704327,-0.3359096701297035,-0.3072943220798475,-0.2842896239064505,-0.2659077540139525,-0.25128269215473775,-0.2393388910597405,-0.22938371364276433,-0.22091966108462802,-0.21362371633579103,-0.20725158349460093,-0.20163524410314948,-0.19664033528542402,-0.19214847382141498,-0.18810040706165565,-0.18440153735459308,-0.17917089232893946},
{-1.1669075219855982,-0.8257949897246079,-0.5806589191427636,-0.45419150029826116,-0.38206763408738587,-0.3358167374386888,-0.30721988995079264,-0.28421726105447764,-0.2658426327886271,-0.2512233007020801,-0.239284083508711,-0.22933263173490614,-0.2208716710879839,-0.2135783340899069,-0.20720843355421592,-0.2015940264500471,-0.19660080766101196,-0.19211044144758738,-0.18806370375667947,-0.18436602886206632,-0.17913722404586085},
{-1.1674909500248583,-0.8256645077304706,-0.5804786840477749,-0.4540507129293163,-0.3819556231276172,-0.3357238702887517,-0.30714545903523105,-0.28414495118961625,-0.26577756049869505,-0.2511639541864288,-0.23922931739909314,-0.22928158838232404,-0.22082371724071326,-0.21353298596952608,-0.20716531601133292,-0.20155283969812965,-0.19656130963087182,-0.1920724375159979,-0.18802702787474002,-0.18433054687362005,-0.17910358720017117},
{-1.1680721315593596,-0.8255335439114657,-0.5802984736654037,-0.4539100012925277,-0.381843685874631,-0.3356310686302483,-0.30707102969746725,-0.28407269426953086,-0.26571253709412623,-0.25110465256009173,-0.23917459268628327,-0.22923058354327286,-0.22077579950376158,-0.21348767193791351,-0.20712223083111558,-0.20151168381422435,-0.1965218411633356,-0.1920344619963601,-0.18799037938690044,-0.184295091361244,-0.17906998168326038},
{-1.1686510713615617,-0.8254021002819597,-0.580118288354218,-0.4537693654256244,-0.3817318222951388,-0.33553833241362685,-0.3069966022992767,-0.284000490251748,-0.26564756252502264,-0.251045395775503,-0.23911990932584914,-0.2291796171762266,-0.2207279178382846,-0.21344239195850534,-0.20707917797899666,-0.20147055876536757,-0.1964824022268281,-0.19199651485862357,-0.18795375826416905,-0.18425966229693946,-0.1790364073877333},
{-1.1692277741954151,-0.8252701788499057,-0.5799381284708819,-0.4536288053657288,-0.3816200323558754,-0.33544566158919975,-0.3069221772000671,-0.2839283390938129,-0.2655826367415334,-0.25098618378507065,-0.23906526727334032,-0.2291286892396156,-0.22068007220533525,-0.2133971459947377,-0.20703615742031123,-0.20142946451845156,-0.19644299278973754,-0.19195859607261134,-0.1879171644775468,-0.18422425965278433,-0.1790028642071022},
{-1.1698022448163172,-0.8251377816167564,-0.579757994370127,-0.45348832114941673,-0.38150831602309676,-0.33535305610730226,-0.3068477547569436,-0.28385624075311,-0.2655177596938829,-0.250927016541343,-0.2390106664843824,-0.22907779969193443,-0.22063226256618074,-0.21335193401019903,-0.20699316912044363,-0.20138840104060884,-0.1964036128205895,-0.19192070560828478,-0.18788059799829826,-0.18418888340086403,-0.1789693520360276},
{-1.170374487971167,-0.8250049105775324,-0.5795778864047627,-0.4533479128127649,-0.3813966732631132,-0.33526051591820016,-0.30677333532451534,-0.2837841951869824,-0.26545293133231807,-0.25086789399683285,-0.23895610691473557,-0.2290269484917391,-0.22058448888198767,-0.2133067559684012,-0.20695021304490502,-0.20134736829882294,-0.19636426228801573,-0.19188284343560613,-0.1878440587975112,-0.18415353351325114,-0.17893587077007345},
{-1.1709445083983645,-0.824871567720864,-0.5793978049257307,-0.4532075803912251,-0.3812851040420029,-0.3351680409720802,-0.30669891925528725,-0.28371220235274563,-0.26538815160724916,-0.2508088161042016,-0.23890158852007837,-0.22897613559769114,-0.2205367511141474,-0.21326161183303283,-0.20690728915918166,-0.2013063662603043,-0.1963249411605683,-0.19184500952464512,-0.18780754684646173,-0.18411820996217054,-0.17890242030585446},
{-1.1715123108278012,-0.8247377550289356,-0.5792177502820266,-0.45306732391970106,-0.38117360832558955,-0.3350756312191441,-0.3066245068991761,-0.28364026220755534,-0.26532342046899016,-0.25074978281606797,-0.2388471112562508,-0.22892536096842497,-0.22048904922395018,-0.21321650156775607,-0.20686439742883533,-0.20126539489225226,-0.19628564940693205,-0.19180720384555716,-0.18777106211637928,-0.18408291271976962,-0.17886900054080845},
{-1.1720778999808914,-0.8246034744775514,-0.5790377228208001,-0.4529271434326053,-0.38106218607971243,-0.3349832866095389,-0.30655009860382965,-0.28356837470854157,-0.26525873786802967,-0.25069079408519,-0.23879267507916024,-0.22887462456270047,-0.22044138317285444,-0.2131714251363499,-0.20682153781955193,-0.2012244541618493,-0.19624638699577268,-0.19176942636837735,-0.18773460457855373,-0.18404764175829524,-0.17883561137342863},
{-1.1726412805705735,-0.8244687280361485,-0.5788577228873266,-0.45278703896373396,-0.3809508372698568,-0.33489100709337194,-0.30647569471454805,-0.2834965398128273,-0.2651941037549793,-0.25063184986439024,-0.23873827994472796,-0.2288239263393017,-0.22039375292228414,-0.21312638250263816,-0.20677871029696582,-0.20118354403648664,-0.1962071538959167,-0.1917316770633788,-0.18769817420444346,-0.18401239705003447,-0.17880225270305128},
{-1.1732024573013045,-0.8243335176678122,-0.578677750824987,-0.45264701054641066,-0.38083956186147916,-0.3347987926207634,-0.30640129557411966,-0.28342475747737483,-0.26512951808037566,-0.250572950106421,-0.2386839258089808,-0.2287732662570876,-0.22034615843384908,-0.2130813736304602,-0.2067359148268071,-0.20114266448339446,-0.19616795007617993,-0.19169395590078442,-0.18766177096539538,-0.18397717856727458,-0.1787689244299564},
{-1.1737614348691041,-0.8241978453293042,-0.5784978069753269,-0.45250705821337756,-0.38072835981982356,-0.33470664314169396,-0.3063269015233836,-0.2833530276591545,-0.26506498079493646,-0.25051409476429387,-0.2386296126279377,-0.22872264427496702,-0.2202985996691016,-0.2130363984837671,-0.20669315137486088,-0.20110181547005124,-0.19612877550542218,-0.19165626285089798,-0.1876253948328992,-0.18394198628246228,-0.1787356264551916},
{-1.174318217961524,-0.8240617129710052,-0.578317891677995,-0.4523671819968147,-0.380617231109885,-0.3346145586061181,-0.3062525129004561,-0.28328135031500257,-0.2650004918493418,-0.2504552837908659,-0.23857534035773353,-0.22867206035188414,-0.22025107658965215,-0.21299145702649747,-0.20665041990694166,-0.2010609969638506,-0.19608963015256786,-0.19161859788408764,-0.18758904577842284,-0.18390682016787907,-0.1787023586806391},
{-1.174872811257696,-0.8239251225370761,-0.5781380052708915,-0.4522273819284627,-0.38050617569671563,-0.33452253896410555,-0.30617813004130146,-0.2832097254017695,-0.26493605119440655,-0.250396517139184,-0.23852110895452316,-0.22862151444685375,-0.2202035891572336,-0.21294654922273337,-0.20660772038894937,-0.2010202089323001,-0.19605051398659334,-0.19158096097069977,-0.18755272377348398,-0.18387168019599187,-0.17866912100919086},
{-1.1754252194283108,-0.823788075965338,-0.5779581480899629,-0.4520876580394263,-0.38039519354497775,-0.3344305841654728,-0.3061037532794818,-0.28313815287621014,-0.26487165878101304,-0.2503377947623515,-0.23846691837456957,-0.22857100651896656,-0.22015613733361072,-0.21290167503656088,-0.20656505278679171,-0.20097945134291773,-0.1960114269765456,-0.19154335208123396,-0.18751642878975305,-0.18383656633933398,-0.1786359133443296},
{-1.1759754471356332,-0.8236505751873388,-0.577778320469444,-0.45194801036040244,-0.380284284619372,-0.3343386941602877,-0.30602938294624604,-0.2830666326950487,-0.2648073145601051,-0.25027911661351376,-0.2384127685742552,-0.2285205365274201,-0.22010872108064428,-0.21285683443216952,-0.20652241706650276,-0.20093872416333114,-0.19597236909155935,-0.19150577118618872,-0.18748016079888052,-0.18380147857048867,-0.17860273559055995},
{-1.1765234990335274,-0.8235126221283868,-0.5775985227416354,-0.451808438921421,-0.38017344888424065,-0.3342468688982211,-0.30595501937057656,-0.28299516481492015,-0.2647430184826196,-0.2502204826457807,-0.23835865950978086,-0.22847010443132287,-0.2200613403600944,-0.21281202737366334,-0.20647981319404263,-0.20089802736113005,-0.19593334030067888,-0.19146821825605076,-0.18744391977251595,-0.18376641686194684,-0.17856958765292452},
{-1.17706937976746,-0.8233742187075607,-0.5774187552371485,-0.4516689437521463,-0.38006268630392515,-0.33415510832919004,-0.30588066287913473,-0.28292374919244867,-0.2646787704996767,-0.2501618928124769,-0.2383045911377344,-0.228419710189943,-0.2200139951340052,-0.21276725382542527,-0.20643724113555884,-0.20085736090403494,-0.19589434057319655,-0.19143069326150375,-0.1874077056824175,-0.1837313811864303,-0.17853646943740564},
{-1.177613093974493,-0.8232353668376979,-0.5772390182846909,-0.4515295248815787,-0.3799519968426164,-0.3340634124029691,-0.3058063137961765,-0.28285238578412564,-0.26461457056232773,-0.25010334706686765,-0.2382505634144627,-0.22836935376262613,-0.21996668536433228,-0.21272251375168083,-0.20639470085715028,-0.20081672475975343,-0.19585536987830654,-0.19139319617311523,-0.1873715185003617,-0.1836963715165718,-0.1785033808506975},
{-1.1781546462833126,-0.8230960684254467,-0.5770593122112484,-0.45139018233828854,-0.37984138046424576,-0.33397178106936476,-0.3057319724437987,-0.28278107454654466,-0.26455041862185846,-0.2500448453623416,-0.23819657629663382,-0.22831903510870188,-0.21991941101311374,-0.21267780711686224,-0.20635219232501334,-0.20077611889609615,-0.19581642818535316,-0.19135572696163639,-0.18733535819822777,-0.1836613878252038,-0.17847032180019484},
{-1.1786940413142382,-0.822956325371243,-0.5768796373419679,-0.45125091615038504,-0.37973083713266453,-0.33388021427811254,-0.3056576391415434,-0.28270981543607987,-0.2644863146294032,-0.24998638765232273,-0.23814262974079003,-0.22826875418761428,-0.21987217204244902,-0.21263313388533622,-0.2063097155053928,-0.20073554328083887,-0.19577751546369138,-0.19131828559775577,-0.18729922474784622,-0.1836264300850765,-0.17843729219411775},
{-1.179231283679231,-0.8228161395693937,-0.576699994000281,-0.4511117263453296,-0.37962036681159883,-0.33378871197885696,-0.30558331420701734,-0.2826386084091733,-0.2644222585363746,-0.24992797389024313,-0.2380887237035585,-0.22821851095885926,-0.21982496841450083,-0.21258849402159496,-0.20626727036450232,-0.2006949978818422,-0.19573863168266903,-0.19128087205224742,-0.18726311812116236,-0.18359149826903431,-0.1784042919412776},
{-1.1797663779818683,-0.8226755129080013,-0.5765203825077878,-0.45097261295020596,-0.37950996946452387,-0.3336972741213069,-0.3055089979553107,-0.2825674534221705,-0.2643582502941251,-0.24986960402970637,-0.2380348581417564,-0.22816830538193789,-0.21977780009150605,-0.21254388749020237,-0.2062248568687517,-0.2006544826670924,-0.19569977681184358,-0.19124348629602705,-0.1872270382901673,-0.18355659235003796,-0.17837132095129227},
{-1.1802993288174173,-0.8225344472690519,-0.57634080318435,-0.4508335759915084,-0.3793996450549181,-0.33360590065511453,-0.30543469069924334,-0.28249635043139143,-0.264294289854099,-0.2498112780242736,-0.2379810330121359,-0.22811813741650533,-0.21973066703574595,-0.21249931425574897,-0.20618247498453313,-0.20061399760456533,-0.19566095082070856,-0.19120612829992245,-0.18719098522687805,-0.1835217123010715,-0.17833837913447215},
{-1.1808301407727992,-0.8223929445284189,-0.5761612563480945,-0.4506946154952727,-0.37928939354595737,-0.3335145915298723,-0.3053603927494295,-0.2824252993931281,-0.2642303771678084,-0.249752995827619,-0.2379272482714785,-0.2280680070221457,-0.21968356920951937,-0.2124547742828442,-0.20614012467817444,-0.20057354266222305,-0.19562215367880453,-0.19116879803485842,-0.18715495890334855,-0.18348685809513365,-0.17830546640176048},
{-1.1813588184266122,-0.8222510065558222,-0.5759817423153812,-0.4505557314870642,-0.3791792149007961,-0.3334233466952675,-0.30528610441407145,-0.28235430026359376,-0.2641665121868665,-0.24969475739348268,-0.23787350387681538,-0.22801791415866912,-0.21963650657526412,-0.21241026753621184,-0.20609780591626858,-0.2005331178081733,-0.19558338535583975,-0.19113149547184505,-0.18711895929168687,-0.18345202970538232,-0.17827258266484947},
{-1.181885366349142,-0.8221086352149581,-0.5758022614008542,-0.4504169239919026,-0.37906910908239755,-0.33333216610075056,-0.305211825999407,-0.28228335299901297,-0.2641026948628886,-0.24963656267558054,-0.23781979978499468,-0.22796785878580472,-0.21958947909540383,-0.21236579398058275,-0.20605551866524974,-0.20049272301047827,-0.19554464582142073,-0.19109422058187153,-0.1870829863641037,-0.18341722710487107,-0.17823972783605013},
{-1.182409789102367,-0.8219658323633621,-0.5756228139173911,-0.4502781930343601,-0.3789590760535064,-0.33324104969588353,-0.305137557809128,-0.2822124575555137,-0.26403892514758254,-0.2495784116277946,-0.23776613595314244,-0.22791784086336686,-0.21954248673244936,-0.21232135358078263,-0.20601326289177813,-0.2004523582373703,-0.19550593504535163,-0.19105697333601968,-0.18704704009273976,-0.1833824502668624,-0.17820690182836252},
{-1.1829320912399632,-0.8218225998525776,-0.5754434001762032,-0.450139538638476,-0.37884911577692515,-0.33314999743021256,-0.30506330014479044,-0.2821416138892495,-0.26397520299275,-0.24952030420401794,-0.23771251233826485,-0.22786786035131956,-0.2194955294489791,-0.2122769463016385,-0.20597103856244603,-0.20041202345705034,-0.1954672529973953,-0.19101975370543856,-0.187011120449865,-0.18334769916464322,-0.1781741045555043},
{-1.1834522773073417,-0.8216789395280596,-0.5752640204867585,-0.45000096082783536,-0.37873922821510775,-0.3330590092531892,-0.3049890533056985,-0.28207082195628597,-0.2639115283502167,-0.2494622403582074,-0.23765892889752904,-0.2278179172095547,-0.2194486072076225,-0.21223257210808377,-0.20592884564389635,-0.20037171863777847,-0.19542859964736992,-0.19098256166125904,-0.18697522740777117,-0.18331297377148692,-0.17814133593180204},
{-1.1839703518416134,-0.8215348532292471,-0.5750846751567811,-0.44986245962556126,-0.3786294133304833,-0.33296808511435716,-0.3049148175888502,-0.2820000817126732,-0.2638479011719004,-0.24940422004434426,-0.23760538558819855,-0.22776801139813552,-0.21940171997104363,-0.21218823096506645,-0.2058866841029119,-0.20033144374784717,-0.1953899749652408,-0.19094539717466197,-0.18693936093880525,-0.18327827406079789,-0.17810859587219174},
{-1.184486319371656,-0.8213903427895739,-0.5749053644923807,-0.4497240350542312,-0.37851967108534035,-0.33287722496305694,-0.30484059328921576,-0.2819293931144745,-0.26378432140978636,-0.24934624321652898,-0.23755188236744162,-0.2277181428771089,-0.21935486770200074,-0.21214392283759276,-0.20584455390621303,-0.20029119875563373,-0.19535137892090626,-0.19090826021697294,-0.18690352101535535,-0.18324360000598938,-0.1780758842923691},
{-1.1850001844180569,-0.8212454100364458,-0.5747260887979175,-0.4495856871360493,-0.3784100014417354,-0.3327864287487423,-0.3047663806993901,-0.28185875611763445,-0.26372078901590434,-0.24928830982890737,-0.2374984191926397,-0.2276683116066489,-0.21930805036329137,-0.21209964769075396,-0.2058024550206481,-0.20025098362959204,-0.19531281148440716,-0.19087115075948047,-0.18686770760981397,-0.18320895158055595,-0.17804320110852756},
{-1.1855119514931791,-0.8211000567913084,-0.574546848376066,-0.44944741589262316,-0.3783004043617527,-0.3326956964208385,-0.3046921801097535,-0.2817881706781019,-0.2636573039423298,-0.24923041983566296,-0.23744499602115776,-0.22761851754691764,-0.2192612679177588,-0.21205540548966528,-0.20576038741311642,-0.2002107983381829,-0.19527427262579855,-0.19083406877352926,-0.18683192069465315,-0.18317432875802697,-0.17801054623766954},
{-1.1860216251011444,-0.8209542848696079,-0.5743676435278631,-0.4493092213451759,-0.37819087980720967,-0.3326050279286551,-0.3046179918085431,-0.2817176367518889,-0.2635938661412993,-0.24917257319103392,-0.23739161281046028,-0.22756876065819442,-0.21921452032832422,-0.21201119619953346,-0.2057183510505285,-0.20017064284990438,-0.1952357623151919,-0.19079701423054662,-0.18679616024244905,-0.1831397315120571,-0.17797791959733544},
{-1.1865292097378537,-0.8208080960808557,-0.5741884745526684,-0.4491711035144782,-0.37808142773985065,-0.3325144232216666,-0.3045438160816377,-0.2816471542947987,-0.2635304755650101,-0.24911476984934056,-0.2373382695180526,-0.2275190409008223,-0.2191678075579926,-0.21196701978553412,-0.20567634589986872,-0.20013051713334806,-0.19519728052276464,-0.19075998710195008,-0.18676042622571143,-0.1831051598162352,-0.17794532110572958},
{-1.187034709890981,-0.8206614922286339,-0.5740093417481832,-0.4490330624207579,-0.3779720481212646,-0.33242388224909036,-0.3044696532130544,-0.28157672326278615,-0.2634671321658091,-0.24905700976495293,-0.23728496610146177,-0.22746935823514947,-0.2191211295697688,-0.211922876212969,-0.2056343719281546,-0.20009042115714593,-0.19515882721872546,-0.19072298735922866,-0.1867247186170855,-0.18307061364427968,-0.17791275068166912},
{-1.1875381300399934,-0.8205144751105283,-0.5738302454103913,-0.44889509808381456,-0.37786274091288374,-0.3323334049602442,-0.30439550348432265,-0.2815063436116716,-0.2634038358959916,-0.24899929289233147,-0.23723170251833348,-0.2274197126216384,-0.21907448632677196,-0.2118787654471772,-0.20559242910249464,-0.2000503548900101,-0.1951204023733739,-0.19068601497402415,-0.18668903738917542,-0.1830360929699213,-0.17788020824460182},
{-1.1880394746561822,-0.8203670465183039,-0.5736511858337476,-0.44875721052303885,-0.3777535060761741,-0.33224299130452983,-0.30432136717498115,-0.2814360152972941,-0.2633405867080889,-0.24894161918596502,-0.23717847872636044,-0.2273701040207976,-0.21902787779216193,-0.21183468745356615,-0.20555051739004893,-0.20001031830066918,-0.1950820059570333,-0.19064906991785557,-0.1866533825147103,-0.18300159776701141,-0.17784769371463738},
{-1.1885387482026386,-0.8202192082377676,-0.5734721633109896,-0.44861939975726084,-0.3776443435721917,-0.33215264123105914,-0.30424724456223284,-0.2813657382754269,-0.2632773845545151,-0.24888398860032823,-0.23712529468323829,-0.22732053239314554,-0.21898130392909132,-0.2117906421975153,-0.20550863675792153,-0.19997031135786347,-0.19504363794005264,-0.19061215216239735,-0.186617753966428,-0.18296712800931303,-0.17781520701247922},
{-1.1890359551342764,-0.8200709620488696,-0.5732931781332822,-0.4484816658049804,-0.3775352533621391,-0.3320623546892877,-0.30417313592121864,-0.28129551250186147,-0.2632142293879238,-0.24882640109010778,-0.23707215034685025,-0.22727099769942494,-0.21893476470092232,-0.21174662964457536,-0.2054667871734177,-0.19993033403052496,-0.19500529829290003,-0.19057526167935035,-0.18658215171713421,-0.18293268367081006,-0.17778274805953442},
{-1.1895310998978446,-0.8199223097256491,-0.5731142305900834,-0.4483440086841115,-0.37742623540689757,-0.33197213162826344,-0.3040990415249659,-0.2812253379323557,-0.2631511211608557,-0.248768856609894,-0.23701904567491394,-0.2272214999001556,-0.21888826007089635,-0.21170264976021547,-0.2054249686037859,-0.19989038628745637,-0.1949669869859776,-0.190538398440391,-0.18654657573964872,-0.1828982647253372,-0.1777503167777028},
{-1.1900241869319337,-0.8197732530363542,-0.5729353209693091,-0.4482064284122713,-0.3773172896673259,-0.33188197199729996,-0.30402496164437776,-0.28115521452264236,-0.2630880598260641,-0.2487113551145288,-0.2369659806254727,-0.22717203895620774,-0.21884179000245685,-0.21165870251010221,-0.20538318101640063,-0.19985046809766738,-0.1949287039899259,-0.19050156241741578,-0.1865110260068954,-0.18286387114703362,-0.1777179130895592},
{-1.190515220667008,-0.819623793743306,-0.5727564495572645,-0.44806892500650075,-0.3772084161042185,-0.3317918757456292,-0.3039508965481099,-0.2810851422284424,-0.26302504533626947,-0.2486538965586782,-0.23691295515644462,-0.22712261482840201,-0.21879535445907972,-0.21161478785987953,-0.2053414243786542,-0.19981057943019076,-0.19489044927528054,-0.19046475358220105,-0.18647550249175637,-0.18282950290981193,-0.17768553691845757},
{-1.1910042055253536,-0.8194739336030804,-0.5725776166386367,-0.4479314984834494,-0.3770996146780715,-0.331701842822419,-0.30387684650280855,-0.2810151210054932,-0.26296207764439283,-0.24859648089727737,-0.2368599692259037,-0.2270732274775702,-0.21874895340423306,-0.21157090577523419,-0.20529969865801756,-0.19977072025407572,-0.19485222281269676,-0.19042797190667615,-0.18644000516731074,-0.1827951599878308,-0.17765318818811826},
{-1.1914911459211668,-0.819323674366381,-0.5723988224965224,-0.4477941488593635,-0.37699088534940073,-0.3316118731768948,-0.3038028117727932,-0.2809451508094172,-0.2628991567032317,-0.24853910808519641,-0.236807022791921,-0.22702387686465886,-0.21870258680152044,-0.21152705622190715,-0.2052580038219709,-0.19973089053844562,-0.19481402457288288,-0.19039121736278908,-0.18640453400650459,-0.18276084235519496,-0.17762086682313627},
{-1.1919760462605378,-0.819173017778138,-0.5722200674124288,-0.44765687614996397,-0.37688222807854155,-0.3315219667581526,-0.30372879262059393,-0.2808752315958818,-0.26283628246576174,-0.24848177807736715,-0.2367541158126032,-0.226974562950635,-0.21865625461456362,-0.21148323916568823,-0.20521633983801668,-0.19969109025241316,-0.1947758545265066,-0.1903544899224181,-0.18636908898243298,-0.1827265499860684,-0.17758857274855555},
{-1.1924589109414105,-0.8190219655774842,-0.5720413516662892,-0.4475196803706304,-0.37677364282570736,-0.33143212351536044,-0.30365478930646694,-0.28080536332055006,-0.26277345488501913,-0.24842449082884843,-0.2367012482462385,-0.22692528569658021,-0.21860995680705875,-0.21143945457245694,-0.20517470667384452,-0.19965131936530556,-0.19473771264438344,-0.1903177895577406,-0.1863336700682372,-0.18269228285468864,-0.17755630589010818},
{-1.1929397443536562,-0.8188705194977646,-0.5718626755364862,-0.447382561536236,-0.37666512955110654,-0.3313423433977003,-0.3035808020885491,-0.2807355459390728,-0.2627106739140821,-0.2483672462946922,-0.2366484200510801,-0.22687604506363135,-0.21856369334277947,-0.21139570240817562,-0.20513310429706033,-0.19961157784645334,-0.19469959889741384,-0.19028111624078248,-0.1862982772371169,-0.18265804093540483,-0.1775240661742532},
{-1.193418550879066,-0.818718681266593,-0.5716840392997891,-0.44724551966124015,-0.3765566882146508,-0.3312526263542437,-0.3035068312229562,-0.28066577940701687,-0.26264793950608945,-0.24831004443004967,-0.23659563118537186,-0.2268268410129275,-0.21851746418552742,-0.21135198263872645,-0.20509153267534486,-0.19957186566506935,-0.19466151325638004,-0.19024446994361943,-0.18626291046223464,-0.1826238242024174,-0.17749185352790375},
{-1.193895334891339,-0.8185664526057913,-0.5715054432314819,-0.4471085547597624,-0.3764483187762562,-0.3311629723342493,-0.30343287696363985,-0.2805960636800353,-0.26258525161425705,-0.24825288519017708,-0.2365428816075954,-0.22677767350579714,-0.21847126929922478,-0.21130829523019923,-0.20504999177654604,-0.1995321827906562,-0.19462345569234785,-0.19020785063852297,-0.1862275697169642,-0.18258963263021277,-0.17745966787883494},
{-1.1943701007561325,-0.8184138352315282,-0.5713268876052752,-0.44697166684535206,-0.37634002119570975,-0.33107338128664954,-0.3033589395627132,-0.2805263987136868,-0.2625226101918612,-0.24819576853019165,-0.23649017127613514,-0.22672854250342755,-0.21842510864775844,-0.2112646401485978,-0.20500848156836882,-0.19949252919259353,-0.19458542617615993,-0.19017125829763204,-0.1861922549745194,-0.18255546619312923,-0.17742750915525973},
{-1.1948428528310167,-0.8182608308541219,-0.5711483726932653,-0.4468348559312453,-0.37623179543258656,-0.33098385316061074,-0.3032850192700207,-0.28045678446353484,-0.2624600151922114,-0.2481386944055175,-0.23643750014952825,-0.2266794479672365,-0.21837898219517982,-0.2112210173600928,-0.20496700201873508,-0.1994529048404996,-0.19454742467896025,-0.19013469289324392,-0.18615696620831046,-0.18252132486566253,-0.1773953772862158},
{-1.1953135954655505,-0.818107441178302,-0.5709698987661397,-0.44669812203020043,-0.37612364144660193,-0.3308943879052517,-0.3032111163334201,-0.2803872208851814,-0.26239746656871055,-0.24808166277148525,-0.2363848681862828,-0.22663038985870254,-0.21833288990552613,-0.21117742683082263,-0.2049255530954881,-0.19941330970387217,-0.19450945117182128,-0.19009815439768474,-0.1861217033917244,-0.18248720862236656,-0.17736327220125303},
{-1.195782333001235,-0.8179536679030471,-0.570791466092965,-0.4465614651545746,-0.37601555919703356,-0.33080498546958226,-0.30313723099875656,-0.2803177079341632,-0.26233496427484115,-0.24802467358355318,-0.23633227534501478,-0.2265813681392428,-0.2182868317429525,-0.21113386852704608,-0.20488413476662948,-0.19937374375240324,-0.19447150562581372,-0.19006164278331283,-0.18608646649824911,-0.18245311743776438,-0.17733119383071583},
{-1.196249069771564,-0.8177995127216453,-0.5706130749413073,-0.4464248853163658,-0.37590754864328046,-0.33071564580283364,-0.3030633635097466,-0.2802482455660542,-0.26227250826408244,-0.24796772679717272,-0.23627972158445987,-0.22653238277044307,-0.21824080767164244,-0.21109034241504498,-0.20484274700015592,-0.19933420695570603,-0.19443358801216815,-0.19002515802248454,-0.1860512555013918,-0.18241905128644142,-0.17729914210551656},
{-1.1967138101020023,-0.8176449773217681,-0.5704347255772714,-0.4462883825270464,-0.3757996097445808,-0.3306263688538683,-0.3029895141083492,-0.2801788337363387,-0.2622100984900435,-0.2479108223679145,-0.2362272068632545,-0.2264834337138837,-0.2181948176558488,-0.2110468484611101,-0.20480138976410545,-0.19929469928356824,-0.19439569830210113,-0.18998870008768098,-0.18601607037468404,-0.18238501014312725,-0.17726711695725217},
{-1.1971765583100136,-0.8174900633853397,-0.5702564182653634,-0.44615195679780495,-0.3756917424599512,-0.33053715457181954,-0.3029156830342459,-0.2801094724005768,-0.26214773490631704,-0.24785396025137763,-0.23617473114023824,-0.2264345209312879,-0.21814886165988034,-0.21100338663165474,-0.2047600630265609,-0.19925522070578072,-0.19435783646688498,-0.1899522689514328,-0.18598091109173076,-0.1823509939824457,-0.17723511831816818},
{-1.19763731870508,-0.8173347725887243,-0.5700781532686816,-0.44601560813933805,-0.37558394674849793,-0.33044800290578247,-0.3028418705252667,-0.28004016151428157,-0.2620854174666001,-0.2477971404032091,-0.2361222943742236,-0.22638564438432196,-0.21810293964812555,-0.2109599568931253,-0.20471876675568135,-0.19921577119224243,-0.1943200024778653,-0.18991586458623289,-0.18594577762612596,-0.18231700277916674,-0.17720314612124843},
{-1.198096095588677,-0.817179106602614,-0.5698999308487618,-0.4458793365619079,-0.37547622256907165,-0.33035891380475946,-0.3027680768172276,-0.2799709010330176,-0.2620231461247,-0.24774036277919098,-0.23606989652413213,-0.22633680403485834,-0.21805705158502398,-0.21091655921204788,-0.20467750091969217,-0.1991763507128359,-0.19428219630640498,-0.18987948696470558,-0.18591066995163796,-0.18228303650811117,-0.17717120030007893},
{-1.1985528932543374,-0.8170230670920794,-0.5697217512656996,-0.44574314207553745,-0.3753685698804763,-0.33026988721787387,-0.3026943021438038,-0.2799016909122476,-0.26196092083438915,-0.24768362733505978,-0.23601753754893018,-0.22628799984473535,-0.218011197435112,-0.21087319355487155,-0.20463626548680125,-0.1991369592375214,-0.19424441792394975,-0.18984313605945213,-0.18587558804195825,-0.18224909514413268,-0.17713928078891916},
{-1.199007715987618,-0.816866655716622,-0.5695436147781211,-0.4456070246896717,-0.3752609886414334,-0.33018092309403657,-0.30262054673704664,-0.27983253110752115,-0.2618987415495524,-0.24762693402663816,-0.2359652174075897,-0.22623923177585858,-0.21796537716289577,-0.21082985988826097,-0.20459506042533238,-0.1990975967363673,-0.19420666730195202,-0.18980681184314263,-0.18584053187085825,-0.18221517866210357,-0.17710738752268718},
{-1.1994605680660888,-0.8167098741300665,-0.5693655216430806,-0.4454709844134217,-0.37515347881041883,-0.33009202138228333,-0.30254681082681456,-0.2797634215743243,-0.26183660822412347,-0.24757028280989934,-0.23591293605924246,-0.2261904997902171,-0.21791959073304001,-0.21078655817883019,-0.20455388570360133,-0.19905826317941067,-0.1941689444119712,-0.18977051428859593,-0.18580550141218133,-0.18218128703694192,-0.17707552043681818},
{-1.199911453759449,-0.81655272398075,-0.5691874721163239,-0.4453350212555318,-0.37504604034609634,-0.3300031820317767,-0.3024730946410541,-0.27969436226817557,-0.26177452081209585,-0.24751367364074994,-0.23586069346297034,-0.22614180384985216,-0.21787383811028516,-0.21074328839330536,-0.20451274129007646,-0.19901895853686735,-0.1941312492255607,-0.18973424336849454,-0.18577049663982792,-0.18214742024369812,-0.17704367946760047},
{-1.2003603773294043,-0.8163952069113947,-0.569009466452023,-0.44519913522431465,-0.37493867320669294,-0.32991440499135904,-0.30239939840575203,-0.2796253531445487,-0.2617124792674508,-0.24745710647522512,-0.2358084895779704,-0.22609314391685853,-0.21782811925923107,-0.2107000504984171,-0.20447162715310818,-0.1989796827788537,-0.194093581714333,-0.18969799905569396,-0.1857355175276456,-0.18211357825726204,-0.17701186455166562},
{-1.20080734302977,-0.8162373245591641,-0.568831504902949,-0.44506332632778234,-0.37483137735059735,-0.3298256902102593,-0.3023257223449509,-0.2795563941589876,-0.26165048354436693,-0.24740058126939268,-0.23575632436351057,-0.22604451995344488,-0.21778243414484355,-0.2106568444609771,-0.20443054326122834,-0.19894043587570187,-0.19405594185000807,-0.18966178132311273,-0.18570056404969382,-0.18207976105291745,-0.1769800756264872},
{-1.201252355106438,-0.8160790785556817,-0.5686535877203821,-0.4449275945733624,-0.3747241527359503,-0.3297370376372981,-0.30225206668092874,-0.27948748526697687,-0.2615885335969357,-0.24734409797937973,-0.235704197778843,-0.22599593192177436,-0.21773678273187724,-0.210613670247763,-0.20438948958296943,-0.19890121779762948,-0.1940183296042346,-0.18962559014357483,-0.1856656361799458,-0.18204596860560596,-0.1769483126299325},
{-1.2016954177974046,-0.8159204705270536,-0.568475715154224,-0.44479193996834687,-0.37461699932082193,-0.32964844722152353,-0.30217843163397085,-0.27941862642406634,-0.26152662937943205,-0.24728765656142748,-0.23565210978338924,-0.22594737978418156,-0.21769116498532104,-0.21057052782577745,-0.20434846608697965,-0.19886202851504686,-0.1939807449488824,-0.1895894254900896,-0.18563073389244278,-0.1820122008906193,-0.17691657550043338},
{-1.2021365353327744,-0.8157615020938267,-0.5682978874528953,-0.4446563625194475,-0.3745099170632945,-0.3295599189120568,-0.3021048174223895,-0.2793498175856859,-0.26146477084607267,-0.24723125697176718,-0.23560006033650294,-0.22589886350301125,-0.21764558087016495,-0.2105274171619036,-0.20430747274184657,-0.19882286799842275,-0.1939431878557476,-0.18955328733577104,-0.1855958571613705,-0.18197845788316958,-0.17688486417709726},
{-1.202575711934769,-0.8156021748710962,-0.568120104863453,-0.44452086223308285,-0.3744029059211895,-0.3294714526578302,-0.3020312242627148,-0.279281058707455,-0.26140295795123225,-0.24717489916673818,-0.2355480493977733,-0.2258503830406644,-0.21760003035143693,-0.21048433822316626,-0.2042665095162941,-0.19878373621817835,-0.19390565829668716,-0.18951717565360449,-0.18556100596086544,-0.18194473955848767,-0.17685317859938565},
{-1.2030129518177468,-0.8154424904684073,-0.5679423676314497,-0.44438543911533623,-0.37429596585236247,-0.32938304840792343,-0.3019576523694616,-0.2792123497448129,-0.2613411906492322,-0.24711858310271206,-0.23549607692667718,-0.22580193835964013,-0.21755451339424248,-0.21044129097661934,-0.2042255763791374,-0.19874463314486857,-0.19386815624367926,-0.18948109041670103,-0.18552618026512424,-0.18191104589196527,-0.17682151870737317},
{-1.2034482591882132,-0.8152824504898588,-0.5677646760011239,-0.44425009317178454,-0.3741890968144964,-0.329294706111259,-0.3018841019555003,-0.2791436906533358,-0.261279468894559,-0.24706230873606172,-0.23544414288275695,-0.225753529422406,-0.21750902996374477,-0.21039827538932654,-0.20418467329907508,-0.19870555874906803,-0.1938306816685902,-0.18944503159823856,-0.18549138004845855,-0.1818773768589439,-0.17678988444148902},
{-1.2038816382447919,-0.8151220565340709,-0.5675870302152035,-0.44411482440775674,-0.37408229876517907,-0.3292064257168461,-0.30181057323172134,-0.2790750813885292,-0.2612177926416639,-0.2470060760233812,-0.23539224722572927,-0.22570515619162523,-0.21746358002515964,-0.2103552914284501,-0.20414380024503065,-0.19866651300142535,-0.1937932345436002,-0.18940899917147558,-0.1854566052851525,-0.1818437324348403,-0.1767582757427011},
{-1.2043130931783144,-0.8149613101941835,-0.5674094305151082,-0.44397963282813413,-0.3739755716620561,-0.32911820717377793,-0.3017370664071324,-0.27900652190599073,-0.2611561618451155,-0.24694988492119974,-0.2353403899153237,-0.2256568186299286,-0.21741816354384702,-0.21031233906122737,-0.2041029571859918,-0.19862749587271433,-0.1937558148407046,-0.1893729931096586,-0.18542185594961436,-0.1818101125952165,-0.17672669255248485},
{-1.2047426281717506,-0.8148002130579277,-0.5672318771408321,-0.4438445184374481,-0.3738689154624245,-0.32903005043097866,-0.30166358168898366,-0.27893801216119796,-0.2610945764594874,-0.24689373538612647,-0.235288570911258,-0.22560851669996906,-0.21737278048501718,-0.2102694182549003,-0.20406214409078283,-0.1985885073336,-0.19371842253198102,-0.18933701338606745,-0.18538713201615997,-0.1817765173155148,-0.1766951348124921},
{-1.205170247400269,-0.8146387667075669,-0.5670543703309645,-0.44370948123993414,-0.3737623301237537,-0.3289419554376134,-0.3015901192825927,-0.27886955210976394,-0.2610330364394895,-0.24683762737485004,-0.2352367901734358,-0.22556025036465477,-0.21732743081418326,-0.21022652897674,-0.20402136092856105,-0.1985495473549066,-0.1936810575897452,-0.18930105997413604,-0.185352433459413,-0.18174294657136691,-0.17666360246511426},
{-1.2055959550312252,-0.8144769727199702,-0.5668769103227523,-0.44357452123930863,-0.373655815603227,-0.32885392214253706,-0.30151667939167015,-0.27880114170728376,-0.26097154173976533,-0.24678156084407243,-0.23518504766164194,-0.2255120195866842,-0.21728211449671986,-0.21018367119407877,-0.20398060766833703,-0.19851061590748742,-0.1936437199860701,-0.18926513284719126,-0.1853177602537721,-0.18170940033840366,-0.17663209545288394},
{-1.2060197552241845,-0.8143148326665715,-0.56669949735204,-0.44343963843911416,-0.37354937185797454,-0.3287659504948095,-0.3014432622179819,-0.2787327809092581,-0.26091009231509066,-0.2467255357506677,-0.2351333433359304,-0.22546382432902567,-0.21723683149818607,-0.21014084487440488,-0.20393988427929255,-0.19847171296225352,-0.19360640969335963,-0.18922923197877162,-0.18528311237382633,-0.18167587859229317,-0.176600613718767},
{-1.2064416521309123,-0.8141523481134274,-0.5665221316533382,-0.44330483284235067,-0.37344299884526155,-0.3286780404434937,-0.3013698679614971,-0.27866446967137204,-0.26084868812034046,-0.2466695520514206,-0.23508167715623585,-0.22541566455463147,-0.2171915817840817,-0.2100980499850944,-0.20389919073058826,-0.19843283849020987,-0.19356912668384196,-0.18919335734232012,-0.18524848979420372,-0.18164238130880372,-0.1765691572061836},
{-1.2068616498954226,-0.8139895206212114,-0.5663448134597656,-0.4431701044518027,-0.37333669652192614,-0.32859019193755756,-0.30129649682041637,-0.2785962079491999,-0.26078732911033065,-0.24661360970334534,-0.23503004908261693,-0.22536754022648386,-0.21714636532012443,-0.21005528649371064,-0.20385852699148277,-0.19839399246235745,-0.19353187092991275,-0.18915750891143168,-0.18521389248952191,-0.1816089084637258,-0.17653772585892047},
{-1.2072797526539316,-0.8138263517452069,-0.5661675430030706,-0.4430354532698574,-0.37323046484494715,-0.3285024049261476,-0.301223148991153,-0.2785279956983555,-0.26072601524000194,-0.2465577086633357,-0.2349784590752657,-0.22531945130771036,-0.21710118207191376,-0.21001255436778865,-0.2038178930313197,-0.19835517484975784,-0.19349464240399739,-0.18912168665969253,-0.18517932043453222,-0.1815754600328845,-0.17650631962101992},
{-1.2076959645349399,-0.8136628430353435,-0.5659903205137526,-0.442900879298466,-0.37312430377116357,-0.3284146793581524,-0.3011498246684752,-0.27845983287452425,-0.26066474646433635,-0.24650184888849558,-0.23492690709427522,-0.22527139776138183,-0.2170560320052537,-0.2099698535749308,-0.20377728881944956,-0.1983163856235366,-0.19345744107857565,-0.18908589056076042,-0.18514477360397397,-0.1815420359922526,-0.17647493843702744},
{-1.2081102896591738,-0.8134989960362217,-0.5658131462208277,-0.44276638253937883,-0.3730182132572497,-0.3283270151826547,-0.3010765240453346,-0.27839171943332164,-0.26060352273836607,-0.24644603033593215,-0.23487539309995453,-0.22522337955074878,-0.21701091508587567,-0.20992718408281852,-0.2037367143252895,-0.19827762475484478,-0.19342026692609382,-0.18905012058831439,-0.18511025197260778,-0.1815086363176921,-0.1764435822516972},
{-1.2085227321396332,-0.813334812287073,-0.565636020352091,-0.4426319629938792,-0.3729121932600161,-0.32823941234872356,-0.3010032473129387,-0.27832365533041625,-0.2605423440171888,-0.24639025296276196,-0.23482391705252348,-0.22517539663902997,-0.21696583127966007,-0.20988454585919714,-0.2036961695183579,-0.19823889221497404,-0.19338311991917956,-0.1890143767161323,-0.1850757555152971,-0.18147526098521438,-0.17641225101026992},
{-1.2089332960816075,-0.8131702933218479,-0.5654589431339814,-0.4424976206629174,-0.3728062437359073,-0.3281518708053568,-0.30092999466070336,-0.27825564052155904,-0.26048121025596127,-0.2463345167262787,-0.23477247891243258,-0.22512744898957737,-0.21692078055247777,-0.20984193887180114,-0.20365565436813737,-0.19820018797511318,-0.19334600003039082,-0.18897865891795962,-0.1850412842069229,-0.1814419099708724,-0.17638094465821963},
{-1.2093419855826575,-0.8130054406691523,-0.565281914791563,-0.4423633555471892,-0.37270036464153133,-0.3280643905017464,-0.3008567662763133,-0.27818767496238705,-0.2604201214098507,-0.24627882158374637,-0.23472107864005087,-0.2250795365657674,-0.21687576287035526,-0.20979936308852376,-0.20361516884427733,-0.19816151200665466,-0.19330890723238858,-0.1889429671676499,-0.18500683802242546,-0.1814085832508021,-0.176349663141534},
{-1.2097488047326517,-0.8128402558523213,-0.5651049355486749,-0.442229167646938,-0.37259455593328805,-0.3279769713867937,-0.3007835623460633,-0.27811975860868343,-0.26035907743420217,-0.24622316749251794,-0.23466971619582222,-0.2250316593310162,-0.216830778199252,-0.20975681847714522,-0.2035747129164478,-0.19812286428096848,-0.1932718414978727,-0.18890730143910606,-0.18497241693675903,-0.18137528080111553,-0.17631840640646623},
{-1.2101537576137533,-0.8126747403893502,-0.5649280056277288,-0.44209505696213447,-0.3724888175674206,-0.32788961340955414,-0.3007103830541831,-0.27805189141617004,-0.2602980782842199,-0.2461675544100359,-0.2346183915402953,-0.22498381724884542,-0.2167858265052529,-0.20971430500567,-0.2035342865543226,-0.19808424476944775,-0.1932348027996269,-0.1888716617062811,-0.18493802092497424,-0.18134200259798638,-0.17628717439960373},
{-1.2105568483004752,-0.8125088957930421,-0.5647511252499244,-0.441961023492349,-0.372383149500387,-0.327802316519223,-0.3006372285833665,-0.2779840733405876,-0.26023712391531206,-0.24611198229372278,-0.23456710463404784,-0.22493601028281263,-0.21674090775450972,-0.2096718226420753,-0.20349388972774607,-0.19804565344360459,-0.19319779111036972,-0.18883604794312436,-0.1849036499621055,-0.18130874861771828,-0.17625596706800062},
{-1.2109580808596467,-0.8123427235709004,-0.5645742946351787,-0.44182706723689735,-0.37227755168826926,-0.32771508066477306,-0.3005640991146268,-0.27791630433774483,-0.2601762142828914,-0.24605645110116248,-0.23451585543775577,-0.22488823839650096,-0.21669602191314508,-0.2096293713543922,-0.20345352240649195,-0.19800709027496,-0.19316080640299282,-0.1888004601236568,-0.18486930402326474,-0.18127551883648874,-0.17622478435897815},
{-1.2113574593504128,-0.812176225225186,-0.5643975140020676,-0.44169318819478076,-0.37217202408724037,-0.32762790579547807,-0.3004909948272918,-0.27784858436347704,-0.26011534934253233,-0.2460009607899889,-0.23446464391216582,-0.2248405015536994,-0.21665116894747238,-0.20958695111075087,-0.2034131845605196,-0.19796855523511026,-0.19312384865037213,-0.18876489822206444,-0.18483498308364932,-0.18124231323078432,-0.17619362622040846},
{-1.2117549878243112,-0.8120094022529046,-0.5642207835678514,-0.44155938636446446,-0.37206656665330484,-0.32754079186020535,-0.30041791589908806,-0.27778091337355826,-0.26005452904963966,-0.2459455113177902,-0.23441347001791457,-0.22479279971803523,-0.21660634882369112,-0.209544561879224,-0.2033728761597271,-0.197930048295629,-0.19308691782544485,-0.1887293622123165,-0.18480068711841224,-0.18120913177680986,-0.17616249260030892},
{-1.2121506703252118,-0.8118422561458741,-0.5640441035485918,-0.44142566174438425,-0.3719611793424229,-0.3274537388081189,-0.30034486250613424,-0.2777132913238842,-0.25999375335986996,-0.24589010264237277,-0.2343623337159284,-0.22474513285334785,-0.21656156150822992,-0.20950220362807825,-0.20333259717420837,-0.19789156942824793,-0.19305001390118637,-0.18869385206867828,-0.18476641610283884,-0.1811759744511181,-0.1761313834472651},
{-1.2125445108893584,-0.8116747883906719,-0.5638674741589773,-0.4412920143323761,-0.37185586211057786,-0.32736674658840403,-0.3002718348228002,-0.2776457181702541,-0.2599330222288565,-0.2458347347214611,-0.23431123496705664,-0.22469750092357166,-0.2165168069674206,-0.20945987632553642,-0.2032923475739734,-0.197853118604695,-0.19301313685067623,-0.18865836776544342,-0.18473217001221354,-0.1811428412300684,-0.176100298710256},
{-1.2129365135453858,-0.811507000468715,-0.5636908956125648,-0.44115844412612204,-0.371750614913519,-0.3272798151501457,-0.3001988330218952,-0.2775781938686499,-0.2598723356123045,-0.24577940751296445,-0.23426017373229135,-0.22464990389257844,-0.21647208516776595,-0.20941757993992338,-0.2032521273291772,-0.19781469579679367,-0.19297628664696465,-0.188622909276853,-0.18469794882189872,-0.1811097320901922,-0.17606923833859112},
{-1.2133266823143205,-0.8113388938562,-0.5635143681215216,-0.4410249511229615,-0.3716454377070484,-0.3271929444425561,-0.30012585727455976,-0.27751071837490615,-0.2598116934659751,-0.24572412097479468,-0.23420914997261955,-0.22460234172436144,-0.2164273960757932,-0.2093753144396182,-0.20321193641009594,-0.19777630097630072,-0.19293946326324596,-0.18858747657723507,-0.18466375250727207,-0.18107664700806403,-0.1760382022819822},
{-1.2137150212096166,-0.8111704700241884,-0.563337891896822,-0.44089153531978853,-0.37154033044681967,-0.3271061344146471,-0.30005290775049565,-0.2774432916449483,-0.25975109574567723,-0.2456688750648719,-0.2341581636490282,-0.22455481438295455,-0.21638273965798516,-0.20933307979292204,-0.20317177478691462,-0.19773793411515506,-0.19290266667260614,-0.18855206964095372,-0.18462958104378702,-0.18104358596020553,-0.1760071904905458},
{-1.2141015342370984,-0.8110017304385747,-0.563161467148175,-0.4407581967133465,-0.37143529308841017,-0.3270193850155785,-0.2999799846177391,-0.2773759136347791,-0.259690542407258,-0.2456136697413398,-0.23410721472271012,-0.22450732183250577,-0.21633811588099916,-0.20929087596837137,-0.20313164242997006,-0.19769959518525138,-0.19286589684836986,-0.18851668844249914,-0.18459543440686232,-0.18101054892322455,-0.1759762029148313},
{-1.2144862253950475,-0.8108326765600693,-0.5629850940840258,-0.4406249352999476,-0.371330325587542,-0.3269326961946719,-0.2999070880426924,-0.2773085843003813,-0.25963003340670077,-0.24555850496220866,-0.2340563031548768,-0.22445986403721951,-0.2162935247115747,-0.2092487029344705,-0.20309153930966573,-0.19766128415867712,-0.19282915376383003,-0.18848133295640723,-0.18456131257216257,-0.18097753587381304,-0.17594523950584984},
{-1.214869098674169,-0.8106633098443292,-0.5628087729116357,-0.44049175107562466,-0.37122542789948865,-0.3268460679009284,-0.29983421819018785,-0.2772413035976742,-0.25956956869991377,-0.2455033806857061,-0.23400542890668086,-0.22441244096120783,-0.21624896611631628,-0.20920656065972,-0.2030514653963411,-0.19762300100741248,-0.19279243739223517,-0.1884460031570956,-0.1845272155151123,-0.18094454678860172,-0.17591430021479737},
{-1.2152501580576236,-0.8104936317418316,-0.5626325038369863,-0.44035864403615954,-0.3711205999797935,-0.32675950008374843,-0.2997613752235737,-0.2771740714827873,-0.2595091482430132,-0.2454482968701266,-0.23395459193956047,-0.22436505256896155,-0.21620444006210593,-0.2091644491128406,-0.20301142066066613,-0.1975847457035642,-0.1927557477070867,-0.188410699019268,-0.18449314321151356,-0.18091158164440735,-0.17588338499350176},
{-1.2156294075210141,-0.8103236436979828,-0.5624562870648491,-0.440225614176847,-0.371015841783775,-0.3266729926921417,-0.29968855930468585,-0.27710688791168847,-0.25944877199202865,-0.24539325347360985,-0.23390379221473245,-0.22431769882470487,-0.21615994651574977,-0.2091223682623411,-0.20297140507308886,-0.19754651821925662,-0.19271908468177323,-0.18837542051752743,-0.1844590956369625,-0.1808786404179228,-0.17585249379408197},
{-1.2160068510324358,-0.8101533471530658,-0.5622801227987463,-0.44009266149289983,-0.37091115326663515,-0.32658654567539536,-0.29961577059375966,-0.27703975284042714,-0.2593884399030941,-0.24533825045467417,-0.23385302969373778,-0.2242703796929033,-0.21611548544411208,-0.2090803180770442,-0.20293141860427522,-0.197508318526733,-0.19268244828976933,-0.18834016762654082,-0.18442507276715192,-0.18084572308596214,-0.1758216265690591},
{-1.2163824925524303,-0.8099827435423155,-0.5621040112410493,-0.43995978597903995,-0.37080653438376143,-0.32650015898277207,-0.29954300924946264,-0.2769726662251524,-0.2593281519325119,-0.24528328777165997,-0.23380230433797178,-0.2242230951380353,-0.21607105681411154,-0.20903829852563116,-0.20289146122483648,-0.19747014659823203,-0.19264583850468897,-0.188304940321117,-0.18439107457787696,-0.18081282962537082,-0.17579078327139586},
{-1.2167563360340665,-0.8098118342959156,-0.5619279525928781,-0.439826987629767,-0.37070198509016183,-0.326413832563472,-0.2994702754290357,-0.27690562802192287,-0.2592679080364553,-0.24522836538309,-0.23375161610903006,-0.22417584512467936,-0.21602666059280562,-0.2089963095769376,-0.2028515329056051,-0.19743200240605518,-0.19260925530001405,-0.18826973857595863,-0.1843571010449434,-0.180779960013,-0.17575996385444004},
{-1.2171283854228832,-0.8096406208389513,-0.561751947054099,-0.4396942664393383,-0.3705975053410133,-0.3263275663669156,-0.29939756928811345,-0.276838638186905,-0.259207708171288,-0.24517348324750143,-0.2337009649685644,-0.22412862961745117,-0.21598229674727176,-0.20895435119984995,-0.20281163361730536,-0.19739388592257057,-0.1925726986494547,-0.18823456236599156,-0.1843231521442903,-0.18074711422586853,-0.1757291682719051},
{-1.2174986446569487,-0.8094691045915123,-0.5615759948234945,-0.4395616224015074,-0.3704930950913219,-0.3262413603421659,-0.2993248909810302,-0.27677169667623747,-0.2591475522933542,-0.245118641323542,-0.23365035087816355,-0.2240814485809972,-0.21593796524458275,-0.2089124233632227,-0.20277176333086833,-0.19735579712017826,-0.19253616852670863,-0.18819941166605147,-0.18428922785177249,-0.1807142922408853,-0.17569839647794283},
{-1.2178671176668445,-0.8092972869686493,-0.56140009609855,-0.43942905550998923,-0.37038875429600093,-0.32615521443856665,-0.29925224066048917,-0.2767048034460964,-0.2590874403590877,-0.24506383956985456,-0.233599773799553,-0.2240343019800899,-0.21589366605184002,-0.20887052603598733,-0.20273192201711576,-0.19731773597127833,-0.19249966490544512,-0.188164286451052,-0.18425532814337453,-0.1806814940349606,-0.17566764842705385},
{-1.2182338083756843,-0.8091251693804016,-0.561224251075616,-0.4392965657579643,-0.37028448291010907,-0.3260691286055597,-0.29917961847776464,-0.27663795845265327,-0.2590273723249421,-0.2450090779451919,-0.23354923369458747,-0.2239871897795349,-0.21584939913632195,-0.2088286591872437,-0.2026921096470986,-0.19727970244848558,-0.19246318775952176,-0.1881291866960122,-0.18422145299505965,-0.18064871958520956,-0.17563692407418952},
{-1.2185987206991222,-0.8089527532318249,-0.5610484599498408,-0.4391641531384678,-0.37018028088831967,-0.32598310279231946,-0.2991070245826051,-0.27657116165216866,-0.258967348147519,-0.24495435640839358,-0.23349873052512593,-0.22394011194418528,-0.21580516446528564,-0.20878682278597904,-0.20265232619184737,-0.19724169652426116,-0.1924267370627155,-0.18809411237593543,-0.1841876023829383,-0.18061596886866726,-0.17560622337470644},
{-1.2189618585453754,-0.8087800399229768,-0.5608727229152335,-0.43903181764425114,-0.37007614818556456,-0.32589713694839406,-0.29903445912328785,-0.2765044130008585,-0.2589073677833824,-0.24489967491830544,-0.23344826425304754,-0.22389306843903278,-0.2157609620061045,-0.2087450168013354,-0.20261257162236812,-0.1972037181712436,-0.1923903127889468,-0.18805906346587742,-0.1841537762830856,-0.18058324186250574,-0.17557554628425076},
{-1.2193232258152111,-0.8086070308489806,-0.5606970401645707,-0.43889955926762647,-0.36997208475654464,-0.32581123102296905,-0.2989619222469251,-0.2764377124550035,-0.25884743118920106,-0.24484503343385722,-0.23339783484030718,-0.22384605922902856,-0.21571679172606917,-0.20870324120242567,-0.2025728459099514,-0.19716576736211988,-0.19235391491210163,-0.1880240399409696,-0.1841199746716511,-0.18055053854378467,-0.17554489275899887},
{-1.2196828264019794,-0.8084337273999236,-0.5605214118895054,-0.43876737800077736,-0.3698680905558316,-0.3257253849654056,-0.29888941409891356,-0.27637105997086975,-0.258787538321652,-0.24479043191409988,-0.23334744224899562,-0.22379908427924589,-0.21567265359266874,-0.20866149595852246,-0.20253314902568365,-0.19712784406953365,-0.19231754340625606,-0.18798904177639608,-0.18408619752488442,-0.1805178588896874,-0.17551426275540538},
{-1.2200406641916397,-0.8082601309610855,-0.5603458382805364,-0.43863527383551737,-0.3697641655382615,-0.32563959872528936,-0.29881693482331384,-0.2763044555047762,-0.2587276891375083,-0.24473587031802113,-0.23329708644118208,-0.2237521435547991,-0.21562854757332794,-0.20861978103882306,-0.20249348094085562,-0.19708994826624937,-0.19228119824529255,-0.18795406894730515,-0.18405244481888805,-0.18048520287746217,-0.17548365623034456},
{-1.2203967430627076,-0.8080862429126812,-0.5601703195269662,-0.4385032467633527,-0.36966030965820074,-0.3255538722518525,-0.29874448456274183,-0.27623789901303764,-0.2586678835935903,-0.24468134860479895,-0.2332467673790659,-0.22370523702093092,-0.2155844736356456,-0.20857809641269687,-0.20245384162678692,-0.19705207992510854,-0.19224487940338664,-0.18791912142904543,-0.18401871653012813,-0.18045257048431962,-0.17545307314111902},
{-1.220751066886328,-0.807912064630113,-0.5599948558170113,-0.43837129677563336,-0.3695565228702893,-0.3254682054947602,-0.2986720634584459,-0.276171390452036,-0.25860812164681835,-0.2446268667336251,-0.23319648502489843,-0.2236583646429391,-0.21554043174725734,-0.2085364420495639,-0.20241423105492617,-0.1970142390189431,-0.1922085868546799,-0.18788419919689647,-0.18398501263487543,-0.18041996168759677,-0.17542251344532267},
{-1.2211036395262562,-0.8077375974838261,-0.5598194473376695,-0.4382394238632109,-0.36945280512891143,-0.3253825984032417,-0.29859967165035717,-0.27610492977808954,-0.2585484032540606,-0.24457242466373552,-0.23314623934093026,-0.22361152638608783,-0.21549642187568896,-0.20849481791877555,-0.20237464919663117,-0.19697642552059969,-0.19217232057331235,-0.18784930222614715,-0.18395133310948752,-0.18038737646451763,-0.17539197710095267},
{-1.2214544648388785,-0.8075628428394299,-0.5596440942748494,-0.4381076280168955,-0.3693491563884628,-0.3252970509268287,-0.2985273092770222,-0.2760385169476589,-0.2584887283722903,-0.2445180223544685,-0.23309603028952575,-0.22356472221576396,-0.21545244398873842,-0.20845322398985044,-0.20233509602335964,-0.19693863940304324,-0.19213608053351283,-0.18781443049224134,-0.1839176779304006,-0.1803548147924059,-0.17536146406640807},
{-1.2218035466732338,-0.8073878020576338,-0.5594687968133201,-0.43797590922702734,-0.3692455766034457,-0.32521156301514154,-0.29845497647544184,-0.2759721519170999,-0.2584290969586027,-0.2444636597652179,-0.23304585783311005,-0.223517952097537,-0.21540849805407336,-0.20841166023231605,-0.20229557150669542,-0.19690088063931555,-0.1920998667095979,-0.18777958397067596,-0.18388404707407902,-0.18032227664863876,-0.17533097430047695},
{-1.2221508888709893,-0.8072124764942925,-0.5592935551367312,-0.43784426748378347,-0.36914206572799335,-0.32512613461762085,-0.29838267338144164,-0.27590583464290996,-0.2583695089700775,-0.24440933685542454,-0.2329957219342127,-0.22347121599684305,-0.21536458403955838,-0.20837012661580623,-0.20225607561823877,-0.19686314920241132,-0.19206367907584476,-0.1877447626369062,-0.18385044051713706,-0.1802897620106214,-0.17530050776225448},
{-1.2224964952664772,-0.8070368675004362,-0.5591183694275783,-0.4377127027770813,-0.3690386237164438,-0.32504076568391693,-0.29831040012932,-0.2758395650814771,-0.2583099643638609,-0.2443550535845982,-0.23294562255538698,-0.22342451387934292,-0.21532070191301278,-0.2083286231099879,-0.20221660832964705,-0.19682544506540345,-0.19202751760668835,-0.18770996646644122,-0.18381685823606309,-0.18025727085579923,-0.17527006441114756},
{-1.222840369686734,-0.8068609764222681,-0.5589432398672562,-0.4375812150963785,-0.3689352505229637,-0.32495545616343335,-0.2982381568522545,-0.27577334318934943,-0.2582504630971403,-0.24430080991233272,-0.23289555965917175,-0.22337784571063968,-0.21527685164233246,-0.20828714968450202,-0.20217716961257381,-0.19678776820146604,-0.19199138227656576,-0.18767519543491828,-0.18378330020753375,-0.18022480316155232,-0.1752396442070221},
{-1.2231825159514236,-0.8066848046011477,-0.558768166636065,-0.43744980443113135,-0.3688319461016685,-0.32487020600577665,-0.2981659436820281,-0.27570716892298375,-0.25819100512715076,-0.24424660579828084,-0.23284553320830326,-0.22333121145650625,-0.2152330331954433,-0.2082457063091454,-0.20213775943879853,-0.1967501185837548,-0.19195527305992366,-0.18764044951796288,-0.18374976640814777,-0.18019235890534957,-0.17520924711000774},
{-1.2235229378729522,-0.8065083533736803,-0.5585931499131545,-0.43731847077033226,-0.3687287104068617,-0.32478501516073854,-0.29809376074900285,-0.27564104223894725,-0.2581315904112915,-0.24419244120213723,-0.23279554316558682,-0.22328461108276954,-0.21518924654043636,-0.20820429295378085,-0.20209837778015105,-0.19671249618557507,-0.19191918993136725,-0.18760572869133996,-0.18371625681471082,-0.18015993806474095,-0.17517887308068292},
{-1.2238616392564035,-0.8063316240716769,-0.558418189876623,-0.4371872141027585,-0.368625543392366,-0.32469988357777235,-0.2980216081822633,-0.27557496309375296,-0.2580722189068505,-0.24413831608370873,-0.2327455894937207,-0.2232380445551887,-0.21514549164526664,-0.20816290958828443,-0.2020590246084224,-0.19667490098010587,-0.19188313286543912,-0.18757103293065747,-0.18368277140390754,-0.18012754061724,-0.1751485220797766},
{-1.22419862389957,-0.8061546180221684,-0.5582432867034498,-0.43705603441701535,-0.3685224450123361,-0.32461481120672486,-0.2979494861096077,-0.2755089314440309,-0.25801289057130616,-0.24408423040285587,-0.23269567215572362,-0.22319151183987462,-0.2151017684781158,-0.20812155618264838,-0.20201969989560964,-0.19663733294082553,-0.19184710183685483,-0.18753636221182468,-0.18364931015264752,-0.18009516654053281,-0.17511819406849138},
{-1.2245338955929974,-0.8059773365474372,-0.5580684405695031,-0.43692493170121005,-0.36841941522067145,-0.32452979799709447,-0.29787739465764984,-0.2754429472463329,-0.2579536053620868,-0.24403018411940924,-0.23264579111442063,-0.22314501290271882,-0.215058077007104,-0.20808023270681497,-0.20198040361365965,-0.1965997920410083,-0.19181109682026576,-0.18750171651064051,-0.18361587303778748,-0.18006281581213623,-0.17508788900830674},
{-1.2248674581199421,-0.8057997809650472,-0.5578936516496101,-0.43679390594347867,-0.36831645397124846,-0.32444484389862027,-0.2978053339515878,-0.2753770104572737,-0.2578943632366979,-0.24397617719347608,-0.23259594633287395,-0.2230985477098073,-0.21501441720043224,-0.20803893913085236,-0.20194113573457217,-0.19656227825411898,-0.19177511779042677,-0.1874670958029787,-0.18358246003619638,-0.18003048840963842,-0.17505760686093885},
{-1.2251993152564395,-0.8056219525877927,-0.5577189201174464,-0.4366629571314542,-0.3682135612181343,-0.3243599488611588,-0.2977333041153907,-0.2753111210335233,-0.25783516415276253,-0.24392220958499689,-0.232546137774162,-0.22305211622727783,-0.21497078902634636,-0.2079976754249433,-0.20190189623036803,-0.19652479155369096,-0.19173916472217845,-0.18743250006482204,-0.18354907112485597,-0.17999818431082182,-0.175027347588544},
{-1.2255294707712343,-0.8054438527238175,-0.5575442461457071,-0.4365320852526484,-0.3681107369149692,-0.32427511283431865,-0.29766130527173296,-0.27524527893174544,-0.25777600806790524,-0.24386828125411886,-0.2324963654014156,-0.22300571842131567,-0.21492719245318614,-0.2079564415592665,-0.20186268507326965,-0.1964873319132523,-0.19170323759035846,-0.18739792927209487,-0.18351570628078417,-0.17996590349339203,-0.1749971111534394},
{-1.2258579284258695,-0.8052654826765292,-0.5573696299059141,-0.43640129029434194,-0.3680079810156429,-0.32419033576806777,-0.29758933754200734,-0.2751794841086217,-0.2577168949398061,-0.2438143921610214,-0.2324466291778775,-0.22295935425823554,-0.2148836274492989,-0.2079152375040867,-0.20182350223541312,-0.19644989930643253,-0.1916673363698853,-0.18736338340085856,-0.18348236548104802,-0.17993364593515504,-0.174966897518265},
{-1.226184691974687,-0.8050868437446914,-0.5571950715686189,-0.43627057224337706,-0.36790529347388623,-0.3241056176120283,-0.29751740104654334,-0.2751137365209051,-0.2576578247262027,-0.24376054226596722,-0.23239692906675558,-0.22291302370434596,-0.21484009398307102,-0.20787406322967783,-0.20178434768903908,-0.1964124937068159,-0.19163146103572348,-0.18732886242716806,-0.18344904870278866,-0.17990141161389417,-0.17493670664598282},
{-1.2265097651647776,-0.8049079372223693,-0.5570205713031966,-0.43613993108655214,-0.36780267424331536,-0.32402095831604116,-0.29744549590427805,-0.27504803612530915,-0.25759879738484215,-0.2437067315292465,-0.23234726503141934,-0.22286672672604424,-0.21479659202299395,-0.20783291870642584,-0.20174522140641837,-0.19637511508812966,-0.1915956115628621,-0.18729436632721597,-0.1834157559231504,-0.17986920050741095,-0.1749065384997026},
{-1.2268331517360496,-0.8047287643989887,-0.5568461292780816,-0.4360093668102596,-0.36770012327777946,-0.32393635783011354,-0.29737362223293284,-0.274982382878564,-0.2575398128735553,-0.24365295991121272,-0.23229763703529205,-0.2228204632897932,-0.214753121537558,-0.20779180390480434,-0.2017061233598123,-0.19633776342415055,-0.19155978792636308,-0.1872598950771267,-0.18338248711930993,-0.17983701259363927,-0.1748763930429016},
{-1.2271548554212328,-0.8045493265593747,-0.5566717456605985,-0.4358788794007604,-0.3675976405307311,-0.32385181610398495,-0.2973017801490099,-0.2749167767375613,-0.2574808711502785,-0.24359922737236994,-0.23224804504180918,-0.22277423336210478,-0.21470968249538713,-0.20775071879532359,-0.20166705352180547,-0.1963004386886913,-0.19152399010134502,-0.18722544865318458,-0.1833492422685956,-0.17980484785056605,-0.17484627023932497},
{-1.2274748799458741,-0.80436962498369,-0.5564974206170347,-0.4357484688440114,-0.3674952259558748,-0.32376733308776817,-0.2972299697677836,-0.27485121765901877,-0.2574219721729072,-0.24354553387317934,-0.23219848901459983,-0.2227280369096336,-0.21466627486503742,-0.20770966334855334,-0.2016280118646523,-0.19626314085555774,-0.19148821806297156,-0.18719102703157642,-0.18331602134825098,-0.17977270625619668,-0.17481617005284078},
{-1.2277932290283475,-0.8041896609475212,-0.5563231543126425,-0.4356181351256765,-0.36739287950669985,-0.32368290873116257,-0.29715819120347997,-0.2747857055998788,-0.25736311589942296,-0.2434918793742158,-0.2321489689171421,-0.22268187389900573,-0.21462289861526207,-0.20766863753508025,-0.2015889983610264,-0.19622586989872093,-0.1914524717864381,-0.1871566301887202,-0.183282824335659,-0.1797405877885121,-0.17478609244761478},
{-1.2281099063798582,-0.8040094357218417,-0.5561489469115987,-0.43548787823127233,-0.36729060113666456,-0.323598542984183,-0.29708644456901245,-0.2747202405169389,-0.25730430228787027,-0.2434382638361412,-0.23209948471317543,-0.2226357442968936,-0.2145795537146904,-0.20762764132562106,-0.20155001298331054,-0.196188625792044,-0.19141675124700797,-0.18712225810091465,-0.18324965120822534,-0.17970849242553144,-0.1747560373880277},
{-1.228424915704513,-0.8038289505730918,-0.5559747985771005,-0.43535769814595904,-0.36718839079940047,-0.3235142357969769,-0.29701472997606837,-0.274654822367127,-0.25724553129631955,-0.2433846872196006,-0.23205003636641952,-0.2225896480701144,-0.21453624013217065,-0.20758667469092762,-0.20151105570420014,-0.1961514085096303,-0.19138105641990522,-0.18708791074461395,-0.1832165019433405,-0.17967642014548546,-0.17472600483870027},
{-1.2287382606992316,-0.8036482067631234,-0.5558007094712857,-0.4352275948547666,-0.36708624844818094,-0.32342998711937354,-0.2969430475352366,-0.2745894511073661,-0.2571868028828963,-0.2433311494854251,-0.23200062384066666,-0.22254358518551132,-0.21449295783652822,-0.20754573760185147,-0.2014721264963546,-0.19611421802547557,-0.1913453872805757,-0.1870535880962878,-0.18318337651860017,-0.17964437092645658,-0.1746959947644482},
{-1.2290499450538475,-0.8034672055492632,-0.5556266797553163,-0.43509756834248425,-0.36698417403653827,-0.32334579690163046,-0.2968713973558632,-0.27452412669461945,-0.25712811700581617,-0.24327765059446027,-0.23195124709982573,-0.22249755561003015,-0.2144497067966753,-0.20750483002928655,-0.20143322533250374,-0.19607705431371425,-0.19130974380438337,-0.18701929013244611,-0.18315027491145863,-0.17961234474672727,-0.1746660071302668},
{-1.2293599724510496,-0.8032859481843051,-0.5554527095892476,-0.4349676185934668,-0.36688216751772296,-0.3232616650936242,-0.2967997795462982,-0.27445884908589346,-0.2570694736232506,-0.24322419050751765,-0.23190190610775474,-0.2224515593105949,-0.21440648698151943,-0.20746395194412082,-0.2013943521853958,-0.196039917348505,-0.1912741259667432,-0.18698501682964164,-0.18311719709955843,-0.17958034158448166,-0.1746360419013817},
{-1.229668346566451,-0.8031044359165282,-0.5552787991322152,-0.4348377455921435,-0.3667802288450879,-0.3231775916454527,-0.2967281942136706,-0.2743936182381308,-0.25701087269350253,-0.2431707691856313,-0.23185260082848647,-0.22240559625420242,-0.21436329836009183,-0.2074231033174052,-0.2013555070278179,-0.19600280710399232,-0.1912385337431839,-0.18695076816450817,-0.18308414306046417,-0.17954836141795805,-0.174606099043229},
{-1.229975071068559,-0.8029226699896963,-0.5551049485422654,-0.43470794932240975,-0.36667835797206294,-0.3230935765074159,-0.29665664146388404,-0.2743284341084442,-0.256952314174939,-0.24311738658979132,-0.23180333122611296,-0.22235966640799876,-0.2143201409014266,-0.20738228412023108,-0.2013166898326595,-0.19596572355454023,-0.19120296710921902,-0.1869165441136913,-0.18305111277187525,-0.17951640422556325,-0.17457617852140261},
{-1.2302801496188107,-0.8027406516431532,-0.5549311579765042,-0.434578229768142,-0.3665765548517512,-0.32300961962956265,-0.2965851214017654,-0.27426329665389426,-0.256893798025871,-0.24306404268112258,-0.23175409726475005,-0.22231376973910488,-0.21427701457464354,-0.2073414943237295,-0.20127790057291728,-0.19592866667436826,-0.1911674260404539,-0.18688234465395048,-0.1830181062115952,-0.17948446998564616,-0.1745462803016662},
{-1.2305835858715566,-0.8025583821117124,-0.5547574275910251,-0.4344485869129513,-0.3664748194374545,-0.3229257209621901,-0.29651363413098664,-0.27419820583154797,-0.2568353242048025,-0.2430107374207624,-0.23170489890860502,-0.22226790621477077,-0.21423391934892666,-0.20730073389910375,-0.2012391392214783,-0.1958916364378973,-0.19113191051252176,-0.18684816976194507,-0.18298512335725103,-0.17945255867662557,-0.1745164043500198},
{-1.230885383474126,-0.8023758626257766,-0.5545837575408985,-0.4343190207400218,-0.3663731516823434,-0.32284188045532547,-0.2964421797542398,-0.27413316159858825,-0.2567768926701095,-0.24295747076987229,-0.23165573612191803,-0.22222207580219733,-0.2141908551934597,-0.2072600028176017,-0.20120040575144227,-0.195854632819479,-0.19109642050110898,-0.1868140194145993,-0.1829521641867986,-0.1794206702768899,-0.17448655063254326},
{-1.231185546066737,-0.8021930944112904,-0.5544101479802154,-0.43418953123257253,-0.36627155153955915,-0.32275809805924993,-0.29637075837303395,-0.2740681639121425,-0.25671850338038094,-0.2429042426898298,-0.2316066088689921,-0.22217627846876908,-0.21414782207745375,-0.20721930105056963,-0.20116170013581125,-0.19581765579354204,-0.19106095598191986,-0.18677989358867908,-0.18291922867799015,-0.17938880476496122,-0.1744567191156583},
{-1.2314840772826319,-0.8020100786897968,-0.5542365990620791,-0.4340601183734527,-0.3661700189623913,-0.32267437372441865,-0.2962993700877523,-0.2740032127294225,-0.2566601562942119,-0.2428510531419028,-0.2315575171143276,-0.22213051418189367,-0.21410481997032704,-0.20717862856939173,-0.2011230223477869,-0.19578070533473424,-0.19102551693080705,-0.1867457922611766,-0.18288631680878886,-0.17935696211943442,-0.1744269097657838},
{-1.2317809807479865,-0.8018268166784545,-0.5540631109386636,-0.4339307821452898,-0.36606855390377535,-0.3225907074009291,-0.29622801499767193,-0.2739383080076401,-0.2566018513701849,-0.24279790208755792,-0.23150846082224952,-0.22208478290887812,-0.214061848841401,-0.20713798534554595,-0.2010843723604716,-0.19574378141749338,-0.19099010332357103,-0.18671171540899256,-0.1828534285571055,-0.17932514231878316,-0.17439712254958772},
{-1.2320762600819875,-0.8016433095899684,-0.5538896837610946,-0.4338015225306049,-0.36596715631686116,-0.3225070990393173,-0.29615669320099003,-0.273873449704098,-0.25654358856703174,-0.24274478948828038,-0.2314594399574179,-0.22203908461739252,-0.21401890866011164,-0.20709737135056105,-0.20104575014718762,-0.19570688401651348,-0.1909547151361226,-0.18667766300915822,-0.1828205639010021,-0.17929334534177732,-0.17436735743395082},
{-1.232369918896793,-0.80145955863276,-0.5537163176795535,-0.43367233951145345,-0.3658658261547394,-0.32242354858973643,-0.2960854047950363,-0.2738086377760698,-0.2564853678434338,-0.24269171530551992,-0.2314104544843152,-0.22199341927496308,-0.2139759993959447,-0.20705678655600845,-0.2010071556811901,-0.19567001310643706,-0.19091935234439084,-0.18664363503876502,-0.1827877228185375,-0.17926157116705688,-0.174337614385762},
{-1.232661960797587,-0.8012755650108074,-0.5535430128432626,-0.43354323306997444,-0.36576456337024355,-0.32234005600265414,-0.29601414987584485,-0.2737438721808363,-0.25642718915819396,-0.2426386795009572,-0.23136150436768999,-0.22194778684916483,-0.213933121018421,-0.20701623093350996,-0.20096858893575198,-0.19563316866195501,-0.19088401492434204,-0.18660963147489573,-0.1827549052877635,-0.17922981977322316,-0.1743078933722717},
{-1.2329523893825507,-0.8010913299238009,-0.5533697694004689,-0.433414203187825,-0.36566336791665366,-0.3222566212285618,-0.29594292853848203,-0.2736791528758289,-0.2563690524701736,-0.24258568203619713,-0.2313125895721897,-0.22190218730768874,-0.21389027349706113,-0.20697570445477864,-0.20093004988429186,-0.19559635065789416,-0.1908487028520358,-0.1865756522947417,-0.18272211128685,-0.17919809113920349,-0.17427819436083536},
{-1.2332412082429198,-0.8009068545671159,-0.5531965874984968,-0.43328524984660244,-0.3655622397467537,-0.3221732442178056,-0.2958717408768887,-0.27361447981844855,-0.2563109577382485,-0.24253272287303806,-0.2312637100626347,-0.22185662061829348,-0.2138474568015314,-0.20693520709164748,-0.20089153850021746,-0.1955595590690795,-0.19081341610357394,-0.18654169747550653,-0.1826893407939556,-0.17916638524374373,-0.17424851731885105},
{-1.2335284209629211,-0.8007221401317641,-0.5530234672836406,-0.4331563730276673,-0.3654611788135089,-0.3220899249210425,-0.295800586984027,-0.27354985296606116,-0.25625290492137887,-0.24247980197319574,-0.23121486580393014,-0.2218110867487535,-0.213804670901528,-0.20689473881587883,-0.2008530547570737,-0.19552279387039473,-0.19077815465502046,-0.18650776699442795,-0.18265659378732435,-0.17913470206580784,-0.17421886221400373},
{-1.2338140311199006,-0.8005371878045264,-0.55285040890135,-0.4330275727120285,-0.365360185069898,-0.32200666328860894,-0.29572946695196256,-0.273485272276226,-0.25619489397855033,-0.2424269192985702,-0.23116605676093416,-0.2217655856669538,-0.21376191576676185,-0.2068542995994045,-0.20081459862831097,-0.19548605503681626,-0.1907429184826932,-0.18647386082887518,-0.18262387024535198,-0.17910304158432333,-0.17418922901418954},
{-1.2340980422841863,-0.8003519987678519,-0.5526774124960225,-0.4328988488807346,-0.3652592584686609,-0.3219234592710245,-0.29565838087162244,-0.2734207377063569,-0.256136924868811,-0.2423740748110652,-0.23111728289863853,-0.2217201173407548,-0.21371919136699224,-0.20681388941411072,-0.2007761700875108,-0.19544934254327173,-0.19070770756269972,-0.18643997895615838,-0.18259117014628568,-0.1790714037781258,-0.17415961768734922},
{-1.2343804580192281,-0.8001665741999373,-0.5525044782111602,-0.43277020151434287,-0.36515839896286506,-0.3218403128190377,-0.29558732883284944,-0.27335624921402624,-0.2560789975512827,-0.24232126847262592,-0.23106854418206857,-0.22167468173813654,-0.21367649767199626,-0.20677350823206941,-0.20073776910828922,-0.19541265636486282,-0.19067252187136519,-0.18640612135369916,-0.1825584934685167,-0.1790397886264279,-0.17413002820169776},
{-1.2346612818815446,-0.7999809152747793,-0.5523316061893743,-0.43264163059340377,-0.36505760650522934,-0.3217572238831201,-0.29551631092455266,-0.2732918067568557,-0.2560211119851523,-0.2422685002453322,-0.23101984057641167,-0.22162927882712102,-0.21363383465176433,-0.20673315602536735,-0.20069939566440986,-0.19537599647672366,-0.1906373613850756,-0.18637228799901484,-0.18252584019053897,-0.17900819610828345,-0.17410046052564754},
{-1.2349405174207426,-0.7997950231620757,-0.5521587965722814,-0.43251313609823905,-0.36495688104860746,-0.321674192414072,-0.29544532723459493,-0.2732274102923766,-0.25596326812961867,-0.24221577009122552,-0.23097117204684636,-0.22158390857581045,-0.21359120227612038,-0.20669283276612194,-0.2006610497294794,-0.1953393628539457,-0.1906022260801381,-0.18633847886957589,-0.18249321029080412,-0.17897662620282162,-0.17407091462760715},
{-1.2352181681795393,-0.799608899027374,-0.5519860495006139,-0.43238471800881384,-0.3648562225457932,-0.32159121836236304,-0.29537437785003395,-0.273163059778301,-0.25590546594399544,-0.24216307797253322,-0.23092253855856115,-0.22153857095235563,-0.21354860051512659,-0.20665253842648856,-0.2006227312774409,-0.19530275547182052,-0.19056711593310816,-0.18630469394295046,-0.18246060374784667,-0.17894507888924083,-0.1740413904764102},
{-1.2354942376937286,-0.7994225440319338,-0.5518133651141188,-0.4322563763050655,-0.3647556309494775,-0.32150830167873967,-0.2953034628568245,-0.2730987551723201,-0.2558477053875845,-0.24211042385145554,-0.2308739400768729,-0.2214932659248534,-0.21350602933871388,-0.20661227297875007,-0.20058444028195188,-0.19526617430554816,-0.19053203092039794,-0.18627093319679378,-0.18242802054029972,-0.17891355414675036,-0.17401188804094891},
{-1.2357687294922928,-0.799235959332929,-0.5516407435516918,-0.43212811096662085,-0.36465510621264197,-0.3214254423140921,-0.29523258233987093,-0.2730344964321316,-0.2557899864198314,-0.24205780769023133,-0.23082537656720348,-0.22144799346158717,-0.21346348871701837,-0.20657203639519062,-0.2005461767169867,-0.19522961933048366,-0.19049697101851804,-0.18623719660874083,-0.18239546064674128,-0.17888205195478246,-0.1739824072903351},
{-1.2360416470973026,-0.7990491460832854,-0.551468184951291,-0.4319999219729096,-0.36455464828778017,-0.32134264021896497,-0.2951617363831469,-0.2729702835155281,-0.2557323090001504,-0.24200522945118363,-0.23077684799494635,-0.2214027535309231,-0.21342097862015574,-0.20653182864816055,-0.20050794055645937,-0.1951930905219892,-0.19046193620409135,-0.1862034841564255,-0.18236292404585108,-0.1788505722924827,-0.1739529481937807},
{-1.2363129940239905,-0.7988621054318412,-0.5512956894499441,-0.4318718093032814,-0.3644542571277316,-0.321259895344409,-0.2950909250697413,-0.27290611638028905,-0.2556746730880941,-0.24195268909679424,-0.2307283543256784,-0.22135754610113434,-0.21337849901832895,-0.20649164971013811,-0.20046973177440064,-0.19515658785547862,-0.19042692645375792,-0.18616979581768311,-0.18233041071639433,-0.17881911513942517,-0.17392351072080636},
{-1.2365827737807367,-0.7986748385232398,-0.5511232571837863,-0.43174377293662713,-0.3643539326851222,-0.3211772076410131,-0.2950201484817949,-0.2728419949843124,-0.2556170786432228,-0.24190018658943924,-0.23067989552485324,-0.22131237114069147,-0.21333604988172672,-0.20645149955355913,-0.20043155034479643,-0.19512011130644957,-0.19039194174417884,-0.18613613157026832,-0.182297920637152,-0.1787876804749351,-0.17389409484101392},
{-1.2368509898690982,-0.7984873464980375,-0.5509508882880663,-0.4316158128519654,-0.36425367491260285,-0.3210945770596767,-0.2949494067005236,-0.2727779192854256,-0.25555952562514306,-0.24184772189167036,-0.23063147155815922,-0.2212672286179853,-0.2132936311806919,-0.20641137815089405,-0.20039339624173147,-0.1950836608503188,-0.19035698205208496,-0.1861024913920688,-0.18226545378691328,-0.1787562682785,-0.17386470052440317},
{-1.2371176457838033,-0.7982996304926425,-0.5507785828970959,-0.4314879290278597,-0.3641534837630107,-0.32101200355142745,-0.2948786998061004,-0.27271388924157924,-0.2555020139935913,-0.24179529496605623,-0.23058308239135705,-0.22122211850163032,-0.2132512428854869,-0.2063712854747919,-0.2003552694393973,-0.19504723646279842,-0.19032204735426794,-0.18606887526090543,-0.1822330101445213,-0.1787248785297162,-0.17383532774091393},
{-1.237382745012774,-0.79811169163944,-0.5506063411443609,-0.4313601214427971,-0.36405335918877646,-0.3209294870671089,-0.29480802787785065,-0.27264990481078155,-0.25544454370832215,-0.24174290577523272,-0.2305347279901282,-0.22117704076010858,-0.21320888496659296,-0.20633122149792915,-0.20031716991199655,-0.19501083811944753,-0.19028713762757077,-0.18603528315480555,-0.18220058968900443,-0.1786935112081387,-0.17380597646082907},
{-1.2376462910371036,-0.797923531066674,-0.5504341631624,-0.4312323900750894,-0.36395330114264457,-0.32084702755773264,-0.2947373909941109,-0.2725859659510075,-0.25538711472914155,-0.24169055428190656,-0.23048640832034994,-0.22113199536213246,-0.21316655739445478,-0.2062911861929464,-0.20027909763379537,-0.19497446579590916,-0.19025225284887148,-0.18600171505170393,-0.18216819239922866,-0.1786621662933996,-0.17377664665465042},
{-1.2379082873311682,-0.797735149898577,-0.5502620490828577,-0.43110473490271106,-0.36385330957712214,-0.3207646249741547,-0.2946667892324417,-0.27252207262029216,-0.2553297270159036,-0.2416382404487789,-0.2304381233478876,-0.22108698227634216,-0.21312426013952734,-0.20625117953261718,-0.2002410525790732,-0.1949381194679023,-0.1902173929951141,-0.1859681709296941,-0.18213581825431135,-0.178630843765196,-0.1737473382929371},
{-1.2381687373624812,-0.7975465492552842,-0.5500899990365402,-0.43097715590365127,-0.3637533844447949,-0.3206822792673034,-0.2945962226694836,-0.2724582247767564,-0.2552723805285386,-0.24158596423873413,-0.23038987303869196,-0.22104200147147335,-0.2130819931723975,-0.20621120148973904,-0.20020303472215262,-0.19490179911121008,-0.19018255804324302,-0.1859346507667441,-0.18210346723318982,-0.17859954360314867,-0.17371805134656304},
{-1.23842764459184,-0.7973577302529384,-0.5499180131533368,-0.4308496530555541,-0.3636535256984206,-0.32059999038841647,-0.29452569138082807,-0.27239442237854794,-0.2552150752271083,-0.2415337256145771,-0.23034165735886747,-0.22099705291636784,-0.21303975646368878,-0.20617125203715903,-0.20016504403751867,-0.19486550470168207,-0.19014774797038148,-0.18590115454112865,-0.18207113931507313,-0.17856826578721718,-0.1736887857865308},
{-1.2386850124732638,-0.7971686940036796,-0.5497460915623116,-0.43072222633592494,-0.36355373329035023,-0.3205177582881389,-0.2944551954413248,-0.2723306653838302,-0.25515781107161617,-0.24148152453928629,-0.23029347627441488,-0.22095213657979795,-0.21299754998410547,-0.2061313311478148,-0.2001270804995705,-0.19482923621512716,-0.1901129627535223,-0.1858676822309555,-0.1820388344790258,-0.1785370102970325,-0.17365954158411157},
{-1.2389408444540129,-0.7969794416156043,-0.5495742343916407,-0.4305948757221685,-0.3634540071731793,-0.3204355829175154,-0.29438473492486184,-0.2722669537508684,-0.2551005880222248,-0.2414293609758651,-0.23024532975154655,-0.2209072524307618,-0.2129553737043961,-0.2060914387946906,-0.20008914408288536,-0.1947929936275259,-0.19007820236985817,-0.18583423381448005,-0.18200655270435817,-0.17850577711265192,-0.17363031871058432},
{-1.2391951439746673,-0.7967899741928861,-0.5494024417686095,-0.43046760119126404,-0.3633543472994727,-0.3203534642267851,-0.29431430990456753,-0.27220328743786815,-0.25504340603907893,-0.2413772348872889,-0.23019721775644908,-0.22086240043820804,-0.21291322759532472,-0.20605157495081627,-0.20005123476203734,-0.19475677691480575,-0.19004346679657402,-0.18580080926993148,-0.1819742939702822,-0.1784745662138687,-0.1736011171376255},
{-1.2394479144689967,-0.7966002928356608,-0.5492307138196493,-0.4303404027203226,-0.363254753621592,-0.3202714021659623,-0.294243920452667,-0.27213966640314147,-0.2549862650824013,-0.24132514623675938,-0.23014914025539968,-0.22081758057109324,-0.21287111162777883,-0.20601173958922425,-0.20001335251158037,-0.19472058605292486,-0.1900087560109196,-0.18576740857572704,-0.18194205825609444,-0.17844337758061712,-0.1735719368369728},
{-1.2396991593641409,-0.7964103986401735,-0.5490590506703683,-0.43021328028599326,-0.3631552260923234,-0.32018939668415225,-0.2941735666403642,-0.27207609060507987,-0.2549291651125627,-0.24127309498735805,-0.23010109721479144,-0.22077279279853723,-0.2128290257726686,-0.20597193268315084,-0.1999754973062391,-0.19468442101811334,-0.189974069990148,-0.185734031710187,-0.18190984554120693,-0.1784122111930566,-0.1735427777805194},
{-1.239948882080467,-0.7962202926986843,-0.5488874524454734,-0.43008623386489586,-0.36305576466387657,-0.32010744772879285,-0.29410324853824465,-0.27201256000206864,-0.25487210608994326,-0.2412210811023443,-0.2300530886009875,-0.2207280370896325,-0.21278697000099478,-0.20593215420575017,-0.19993766912068334,-0.19464828178635196,-0.18993940871170345,-0.18570067865177675,-0.18187765580487225,-0.17838106703118806,-0.17351363994034008},
{-1.2401970860316998,-0.7960299760995709,-0.5487159192688786,-0.42995926343354474,-0.3629563692888931,-0.3200255552453124,-0.29403296621583186,-0.27194907455254924,-0.2548150879748987,-0.24116910454502327,-0.23000511438052174,-0.22068331341353997,-0.21274494428376767,-0.20589240413019905,-0.19989986792975944,-0.19461216833387085,-0.1899047721528544,-0.1856673493789307,-0.18184548902656106,-0.1783499450751158,-0.17348452328870945},
{-1.2404437746248476,-0.7958394499272993,-0.5485444512636024,-0.42983236896800947,-0.3628570399197937,-0.3199437191753933,-0.29396271974210175,-0.271885634215026,-0.2547581107280019,-0.24111716527872074,-0.22995717451994202,-0.22063862173958015,-0.21270294859211303,-0.20585268242995336,-0.19986209370825003,-0.1945760806368677,-0.18987016029116233,-0.1856340438702233,-0.18181334518595005,-0.17831884530510278,-0.1734554277980913},
{-1.2406889512602675,-0.7956487152624077,-0.5483730485518503,-0.42970555044444914,-0.3627577765088912,-0.3198619394561757,-0.2938925091850002,-0.2718222389479892,-0.25470117430973693,-0.24106526326686328,-0.22990926898582198,-0.22059396203693615,-0.2126609828972712,-0.2058129890782403,-0.19982434643095215,-0.19454001867162307,-0.1898355731041117,-0.1856007621042206,-0.18178122426234644,-0.1782877677013226,-0.17342635344102586},
{-1.2409326193316335,-0.7954577731815657,-0.5482017112549578,-0.4295788078386864,-0.3626585790088661,-0.3197802160183749,-0.2938223346116302,-0.27175888871002885,-0.25464427868076234,-0.2410133984728846,-0.22986139774485248,-0.22054933427497425,-0.21261904717035174,-0.20577332404851534,-0.19978662607291064,-0.19450398241444278,-0.1898010105692438,-0.18556750405950684,-0.18174912623545936,-0.1782567122441585,-0.1733973001903033},
{-1.2411747822259962,-0.7952666247576586,-0.5480304394934967,-0.4294521411264358,-0.36255944737198487,-0.3196985487836854,-0.29375219608837977,-0.2716955834597856,-0.2545874238017971,-0.2409615708603674,-0.2298135607638112,-0.22050473842310847,-0.21257714138277217,-0.20573368731435449,-0.19974893260914328,-0.19446797184177944,-0.18976647266415592,-0.18553426971487674,-0.18171705108491398,-0.1782256789139205,-0.17336826801882443},
{-1.2414154433237476,-0.7950752710596242,-0.5478592333871501,-0.42932555028328734,-0.3624603815507139,-0.31961693766272026,-0.29368209368069786,-0.27163232315590236,-0.2545306096335691,-0.24090978039285904,-0.22976575800951826,-0.22046017445076327,-0.21253526550581814,-0.2056940788491668,-0.19971126601452838,-0.1944319869299833,-0.18973195936656628,-0.18550105904896563,-0.1816849987903244,-0.1781946676910362,-0.17333925689961482},
{-1.2416546059986684,-0.7948837131526387,-0.5476880930548154,-0.429199035284499,-0.3623613814974922,-0.3195353825513356,-0.2936120274534191,-0.2715691077570941,-0.2544738361368706,-0.24085802703399795,-0.22971798944880484,-0.2204156423274699,-0.21249341951100442,-0.20565449862661778,-0.19967362626437102,-0.1943960276556238,-0.18969747065413856,-0.18546787204067083,-0.18165296933146236,-0.1781636785560039,-0.17331026680589856},
{-1.241892273617882,-0.7946919520980071,-0.5475170186144793,-0.4290725961053299,-0.36226244716458944,-0.3194538833276235,-0.29354199747057685,-0.2715059372221631,-0.2544171032726228,-0.2408063107475471,-0.22967025504866956,-0.22037114202273278,-0.21245160336975455,-0.2056149466203765,-0.1996360133335462,-0.19436009399510334,-0.18966300650471624,-0.18543470866868583,-0.1816209626881342,-0.1781327114893103,-0.1732812977111049},
{-1.242128449541954,-0.7944999889532677,-0.5473460101834104,-0.42894623272075405,-0.36216357850460845,-0.3193724398479094,-0.2934720037951677,-0.2714428115097933,-0.25436041100172235,-0.24075463149712428,-0.2296225547760753,-0.22032667350613666,-0.21240981705364814,-0.20557542280400698,-0.1995984271974658,-0.19432418592513878,-0.1896285668959492,-0.18540156891194304,-0.18158897884003977,-0.17810176647168952,-0.17325234958864888},
{-1.2423631371248174,-0.794307824772201,-0.5471750678780591,-0.42881994510565047,-0.36206477546978855,-0.3192910519418066,-0.29340204648963564,-0.2713797305789649,-0.2543037592852133,-0.24070298924671896,-0.229574888598149,-0.22028223674730985,-0.21236806053432722,-0.20553592715138813,-0.19956086783129345,-0.19428830342228576,-0.1895941518058648,-0.18536845274941083,-0.1815570177670902,-0.17807084348372193,-0.17322342241229327},
{-1.2425963397138533,-0.7941154606047751,-0.5470041918140414,-0.42869373323473936,-0.3619660380125891,-0.3192097194082901,-0.29333212561554856,-0.27131669438852124,-0.25424714808417836,-0.24065138396017627,-0.22952725648201477,-0.2202378317160656,-0.21232633378353305,-0.20549645963629626,-0.19952333521039423,-0.19425244646325224,-0.18955976121230567,-0.18533536016008023,-0.1815250794492127,-0.1780399425062078,-0.17319451615586123},
{-1.2428280606498225,-0.7939228974972282,-0.5468333821061238,-0.4285675970824394,-0.3618673660853251,-0.3191284420095801,-0.2932622412337891,-0.27125370289735007,-0.2541905773597404,-0.240599815601376,-0.22947965839492857,-0.2201934583820222,-0.21228463677295784,-0.20545702023256784,-0.1994858293101034,-0.19421661502480747,-0.18952539509326893,-0.18530229112288898,-0.18149316386635306,-0.1780090635199021,-0.17316563079314706},
{-1.2430583032669613,-0.79373013649202,-0.5466626388683427,-0.42844153662320483,-0.3617687596403092,-0.31904721946650705,-0.2931923934045424,-0.27119075606446996,-0.25413404707305487,-0.24054828413436558,-0.2294320943041004,-0.2201491167150389,-0.21224296947448607,-0.2054176089141615,-0.19944835010581663,-0.19418080908367497,-0.18949105342678552,-0.18526924561705904,-0.18146127099849618,-0.17797820650565965,-0.1731367662984189},
{-1.2432870708929094,-0.7935371786279127,-0.5464919622138706,-0.42831555183119163,-0.36167021863012083,-0.3189660514526962,-0.29312258218697407,-0.27112785384891747,-0.2540775571854861,-0.24049678952320264,-0.22938456417700093,-0.22010480668496823,-0.21220133186000223,-0.20537822565495656,-0.1994108975730673,-0.1941450286167994,-0.18945673619085523,-0.1852362236216285,-0.18142940082561232,-0.1779473714444877,-0.1731079226458485},
{-1.2435143668488116,-0.7933440249399647,-0.5463213522551835,-0.42818964268040194,-0.3615717430069092,-0.31888493758829384,-0.2930528076397223,-0.2710649962097955,-0.25402110765831676,-0.24044533173205385,-0.22933706798095943,-0.22006052826166544,-0.2121597239014854,-0.2053388704290815,-0.1993734716873834,-0.19410927360098107,-0.18942244336364666,-0.18520322511580334,-0.18139755332786622,-0.17791655831729347,-0.17307909980980307},
{-1.243740194449244,-0.7931506764595309,-0.546150809103845,-0.42806380914482345,-0.36147333272309656,-0.3188038774346018,-0.29298306982056865,-0.2710021831061271,-0.2539646984528958,-0.2403939107250086,-0.22928960568349077,-0.22001628141511143,-0.2121181455709784,-0.20529954321052823,-0.19933607242428897,-0.19407354401319132,-0.18938817492330307,-0.18517025007878773,-0.1813657284853054,-0.1778857671051628,-0.17305029776478476},
{-1.243964557002287,-0.792957134214263,-0.5459803328707269,-0.42793805119797623,-0.3613749877310075,-0.31872287048753667,-0.29291336878669916,-0.2709394144971369,-0.25390832953074316,-0.240342526466361,-0.22924217725218443,-0.21997206611530506,-0.21207659684055002,-0.20526024397343612,-0.1992986997595998,-0.19403783983044853,-0.18935393084801166,-0.1851372984899129,-0.18133392627812128,-0.1778549977891708,-0.17302151648541608},
{-1.244187457809469,-0.7927633992282153,-0.5458099236658609,-0.42781236881357243,-0.3612767079829555,-0.3186419161722549,-0.2928437045944934,-0.27087669034202144,-0.2538520008533427,-0.24029117892039364,-0.22919478265462945,-0.21992788233226745,-0.21203507768237273,-0.20522097269198403,-0.19926135366883546,-0.1940021610297218,-0.1893197111160494,-0.18510437032842253,-0.18130214668644484,-0.17782425035042548,-0.17299275594657315},
{-1.2444089001658807,-0.7925694725216795,-0.5456395815985433,-0.42768676196497757,-0.3611784934314439,-0.31856101383728097,-0.2927740772995382,-0.2708140106000476,-0.25379571238230736,-0.24023986805145725,-0.22914742185859205,-0.21988373003621353,-0.21199358806873692,-0.20518172934036594,-0.19922403412790235,-0.1939665075882715,-0.18928551570574648,-0.18507146557377796,-0.18127038969068243,-0.1777935247703355,-0.1729640161230681},
{-1.2446288873600375,-0.7923753551114137,-0.5454693067772636,-0.4275612306253822,-0.36108034402861544,-0.3184801627483873,-0.29270448695678253,-0.2707513752305153,-0.2537394640792834,-0.2401885938239885,-0.2291000948317654,-0.2198396091971453,-0.2119521279719394,-0.20514251389288196,-0.19918674111254875,-0.19393087948306365,-0.18925134459545,-0.1850385842053841,-0.18123865527090777,-0.17776282102996088,-0.17293529699000487},
{-1.2448474226740576,-0.7921810480105025,-0.5452990993097591,-0.42743577476798356,-0.36098225972692366,-0.3183993620839254,-0.29263493362041904,-0.2706887841927317,-0.25368325590598473,-0.24013735620248533,-0.2290528015420885,-0.21979551978538803,-0.21191069736435653,-0.20510332632382822,-0.19914947459867527,-0.1938952766913955,-0.1892171977635564,-0.185005726202764,-0.18120694340762222,-0.17773213911068453,-0.1729065985224958},
{-1.2450645093835455,-0.7919865522284245,-0.5451289593029791,-0.42731039436559004,-0.36088424047865386,-0.31831861092915825,-0.2925654173440575,-0.270626237446127,-0.2536270878241689,-0.24008615515144816,-0.2290055419574588,-0.2197514617711609,-0.21186929621841744,-0.20506416660761095,-0.1991122345622074,-0.1938596991905861,-0.18918307518857658,-0.18497289154534657,-0.18117525408114288,-0.17770147899400524,-0.17287792069593166},
{-1.2452801507576585,-0.7917918687710869,-0.5449588868631252,-0.42718508939111977,-0.3607862862360316,-0.31823790827209586,-0.29249593818048947,-0.2705637349500989,-0.253570959795671,-0.24003499063548572,-0.22895831604577954,-0.21970743512481583,-0.21182792450670673,-0.20502503471864486,-0.199075020979107,-0.1938241469577342,-0.1891489768489616,-0.18494008021272013,-0.1811435872718099,-0.1776708406611336,-0.17284926348576812},
{-1.2454943500590963,-0.7915969986407815,-0.5447888820956348,-0.427059859817128,-0.36068839695167365,-0.3181572529991523,-0.29242649618179795,-0.2705012766641506,-0.25351487178243404,-0.23998386261925497,-0.22891112377524747,-0.21966343981665437,-0.2117865822016829,-0.20498593063142634,-0.19903783382540263,-0.1937886199704515,-0.18911490272326548,-0.18490729218462354,-0.1811119429602388,-0.17764022409368607,-0.17282062686746702},
{-1.2457071105441366,-0.7914019428362769,-0.5446189451052061,-0.4269347056161108,-0.36059057257767013,-0.31807664389110135,-0.29235709139943067,-0.27043886254785066,-0.25345882374639106,-0.23993277106747835,-0.22886396511390505,-0.2196194758171326,-0.21174526927610904,-0.20494685432049264,-0.1990006730772187,-0.1937531182059833,-0.18908085279019948,-0.18487452744066823,-0.18108032112682348,-0.1776096292731446,-0.17279201081687523},
{-1.2459184354626178,-0.7912067023527694,-0.5444490759957241,-0.4268096267604997,-0.36049281306640646,-0.3179960796202328,-0.29228772388410107,-0.2703764925607004,-0.25340281564955736,-0.23988171594488938,-0.22881684002995262,-0.21957554309675764,-0.21170398570263282,-0.20490780576036682,-0.19896353871072092,-0.19371764164184357,-0.18904682702831765,-0.1848417859605065,-0.1810487217520622,-0.17757905618111325,-0.17276341530969175},
{-1.246128328057971,-0.7910112781819246,-0.5442792748704399,-0.426684623222346,-0.3603951183702707,-0.31791555874713673,-0.2922183936860223,-0.2703141666623776,-0.25334684745404834,-0.23983069721641148,-0.22876974849177678,-0.2195316416260522,-0.21166273145411285,-0.2048687849257882,-0.1989264307020031,-0.19368219025556277,-0.18901282541638809,-0.18480906772400862,-0.18101714481671394,-0.1775485047991192,-0.17273484032198771},
{-1.2463367915672254,-0.7908156713118587,-0.5441095418316992,-0.4265596949738233,-0.3602974884414827,-0.3178350797190068,-0.2921491008545565,-0.27025188481248885,-0.2532909191219861,-0.2397797148469074,-0.22872269046761362,-0.21948777137555497,-0.21162150650337352,-0.20482979179131222,-0.19888934902733268,-0.1936467640246473,-0.1889788479331811,-0.1847763727109517,-0.18098559030122852,-0.17751797510886025,-0.17270628582983294},
{-1.246543829220998,-0.7906198827272143,-0.543939876981228,-0.4264348419867756,-0.3601999232325308,-0.3177546408679661,-0.29207984543840504,-0.27018964697079073,-0.2532350306155995,-0.2397287688013119,-0.22867566592591038,-0.2194439323159587,-0.21158031082328765,-0.2047908263317728,-0.1988522936630721,-0.19361136292681458,-0.18894489455753005,-0.18474370090124248,-0.18095405818645682,-0.17748746709210783,-0.17267775180953837},
{-1.2467494442435347,-0.7904239134091469,-0.5437702804199951,-0.42631006423297424,-0.360102422695626,-0.3176742404097501,-0.29201062748569107,-0.27012745309707564,-0.25317918189715694,-0.23967785904461758,-0.22862867483523663,-0.2194001244179491,-0.21153914438694654,-0.2047518885219355,-0.19881526458553722,-0.19357598693974154,-0.18891096526828344,-0.18471105227473927,-0.18092254845297173,-0.17745698073038474,-0.17264923823738876},
{-1.2469536398527035,-0.79022776433531,-0.5436007522482433,-0.42618536168410137,-0.3600049867831612,-0.31759387644385795,-0.29194144704381775,-0.27006530315110666,-0.253123372928983,-0.2396269855420332,-0.22858171716413223,-0.21935634765227663,-0.21149800716733758,-0.20471297833674829,-0.1987782617710514,-0.19354063604105676,-0.1888770600443812,-0.18467842681146474,-0.18089106108159037,-0.17742651600565473,-0.17262074509000058},
{-1.2471564192600135,-0.7900314364799047,-0.5434312925654148,-0.42606073431156744,-0.3599076154474987,-0.3175135469530823,-0.29187230415966936,-0.27000319709272813,-0.253067603673516,-0.23957614825859053,-0.22853479288121914,-0.21931260198975755,-0.21145689913757248,-0.20467409575100515,-0.19874128519618228,-0.1935053102087112,-0.1888431788648126,-0.18464582449138556,-0.18085959605317514,-0.1773960728996422,-0.17259227234398766},
{-1.247357785670592,-0.7898349308136368,-0.5432619014702691,-0.4259361820868015,-0.35981030864083885,-0.3174332498048631,-0.2918031988794134,-0.2699411348818632,-0.2530118740931746,-0.2395253471595573,-0.22848790195526814,-0.2192688874011477,-0.21141582027083938,-0.20463524073977757,-0.1987043348373616,-0.1934700094204147,-0.18880932170864106,-0.18461324529458434,-0.18082815334860713,-0.17736565139420613,-0.17256381997623027},
{-1.2475577422832924,-0.7896382483038252,-0.5430925790608603,-0.42581170498092424,-0.3597130663157897,-0.31735298275262247,-0.29173413124846803,-0.26987911647849416,-0.252956184150533,-0.23947458221011875,-0.2284410443550544,-0.21922520385759192,-0.21137477054049114,-0.2045964132779967,-0.1986674106711912,-0.19343473365422126,-0.18877548855492332,-0.1845806892012538,-0.18079673294874743,-0.17733525147137597,-0.17253538796379475},
{-1.2477562922905736,-0.7894413899143693,-0.5429233254344938,-0.42568730296505386,-0.3596158884245044,-0.31727274343706946,-0.2916651013117755,-0.2698171418425721,-0.25290053380807875,-0.23942385337569938,-0.22839422004935983,-0.2191815513297728,-0.21133374991968168,-0.2045576133407474,-0.19863051267417786,-0.1933994828879384,-0.18874167938277964,-0.18454815619139708,-0.1807653348345184,-0.17730487311280285,-0.1725069762836502},
{-1.247953438878594,-0.7892443566057386,-0.5427541406878,-0.42556297601018356,-0.35951877491938244,-0.31719252938959697,-0.29159610911355194,-0.2697552109341632,-0.25284492302855543,-0.23937316062163605,-0.2283474290072145,-0.21913792978890667,-0.21129275838186912,-0.20451884090318062,-0.19859364082307396,-0.19336425709962057,-0.1887078941713387,-0.1845156462452704,-0.18073395898687927,-0.17727451630058333,-0.17247858491318668},
{-1.2481491852272102,-0.7890471493349839,-0.5425850249166284,-0.4254387240869568,-0.3594217257528227,-0.31711233803419914,-0.29152715469752466,-0.26969332371333943,-0.2527893517746205,-0.23932250391333776,-0.22830067119764452,-0.2190943392059621,-0.21125179590050713,-0.2044800959405073,-0.19855679509453372,-0.19332905626735686,-0.18867413289993262,-0.18448315934309445,-0.1807026053869638,-0.17724418101669892,-0.17245021382982006},
{-1.2483435345099627,-0.7888497690558222,-0.5424159782161715,-0.42531454716620654,-0.3593247408770881,-0.3170321666917617,-0.29145823810677296,-0.2696314801402553,-0.2527338200090157,-0.23927188321638582,-0.2282539465896205,-0.21905077955208618,-0.2112108624490716,-0.20444137842792776,-0.19851997546533307,-0.19329388036925232,-0.18864039554787437,-0.1844506954651881,-0.18067127401584315,-0.17721386724313914,-0.1724218630112615},
{-1.2485364898941127,-0.7886522167185517,-0.5422470006808886,-0.4251904452183899,-0.35922782024477695,-0.31695201258376837,-0.29138935938364185,-0.2695696801751539,-0.2526783276946323,-0.23922129849631757,-0.22820725515243812,-0.21900725079847794,-0.2111699580011548,-0.2044026883407497,-0.1984831819123305,-0.1932587293835315,-0.18860668209449116,-0.18441825459188,-0.18063996485463818,-0.177183574961989,-0.1723935324353385},
{-1.2487280545406412,-0.7884544932701513,-0.5420780924045858,-0.42506641821393965,-0.35913096380807263,-0.31687187283627827,-0.2913205185699479,-0.26950792377823785,-0.2526228747943551,-0.23917074971885866,-0.22816059685518209,-0.21896375291632397,-0.21112908253034668,-0.20436402565429557,-0.19844641441240096,-0.19322360328837052,-0.18857299251916526,-0.18438583670352404,-0.18060867788454882,-0.17715330415531083,-0.1723652220799865},
{-1.2489182316042604,-0.7882565996542231,-0.5419092534802852,-0.42494246612318887,-0.3590341715194241,-0.316791744485053,-0.2912517157069425,-0.2694462109097844,-0.2525674612711055,-0.2391202368496108,-0.22811397166721425,-0.21892028587691081,-0.2110882360104278,-0.20432539034400543,-0.198409672942367,-0.1931885020620574,-0.1885393268013238,-0.18435344178055102,-0.1805774130867297,-0.17712305480518387,-0.17233693192331412},
{-1.2491070242334246,-0.7880585368110903,-0.5417404840003808,-0.4248185889161378,-0.3589374433312442,-0.3167116244802959,-0.291182950835287,-0.2693845415301064,-0.25251208708786743,-0.23906975985434364,-0.22806737955791245,-0.2188768496515583,-0.21104741841500063,-0.2042867823853589,-0.19837295747941353,-0.19315342568289173,-0.1885056849204596,-0.18432106980340368,-0.18054617044256194,-0.17709282689378192,-0.17230866194363337},
{-1.2492944355703397,-0.7878603056777271,-0.5415717840565548,-0.42469478656294934,-0.35884077919584123,-0.31663150969237885,-0.291114223995103,-0.26932291559965416,-0.2524567522078014,-0.23901931869896353,-0.22802082049659633,-0.21883344421158935,-0.2110066297179669,-0.20424820175381253,-0.19833626800032667,-0.19311837412934496,-0.18847206685619122,-0.1842887207525652,-0.18051494993322503,-0.177062620403186,-0.17228041211949563},
{-1.2494804687509813,-0.7876619071877907,-0.5414031537398056,-0.4245710590334746,-0.3587441790658432,-0.3165513969175202,-0.2910455352257624,-0.2692613330788307,-0.25240145659402957,-0.23896891334926895,-0.22797429445294615,-0.21879006952859248,-0.21096586989315114,-0.20420964842491784,-0.1982996044823797,-0.19308334737979926,-0.1884384725881061,-0.18425639460864263,-0.18048375154019736,-0.17703243531572177,-0.1722521824295895},
{-1.2496651269050927,-0.7874633422716991,-0.5412345931404148,-0.4244474062974768,-0.35864764289349615,-0.31647128288326387,-0.2909768845661769,-0.2691997939281485,-0.252346200209681,-0.23891854377130484,-0.22792780139631397,-0.21874672557378627,-0.21092513891451858,-0.20417112237426727,-0.1982629669026017,-0.19304834541274962,-0.18840490209583782,-0.1842240913521982,-0.18045257524483027,-0.1770022716134827,-0.1722239728526258},
{-1.2498484131562013,-0.7872646118565412,-0.5410661023480627,-0.424323828324654,-0.35855117063127784,-0.3163911642552555,-0.2909082720547054,-0.26913829810816114,-0.2522909830180815,-0.23886820993113744,-0.22788134129647863,-0.21870341231888935,-0.2108844367560545,-0.20413262357764284,-0.19822635523833076,-0.19301336820673853,-0.188371355359072,-0.18419181096387005,-0.1804214210285724,-0.17697212927874784,-0.17219578336755648},
{-1.2500303306216216,-0.7870657168661885,-0.5408976814516309,-0.4242003250844444,-0.3584547622316423,-0.3163110376428808,-0.29083969772911367,-0.26907684557941214,-0.25223580498251374,-0.2388179117946727,-0.22783491412308043,-0.21866012973540494,-0.21084376339177968,-0.20409415201068537,-0.19818976946664124,-0.19297841574039065,-0.188337832357655,-0.1841595534243865,-0.18039028887290698,-0.17694200829389883,-0.17216761395364344},
{-1.2502108824124936,-0.7868666582212188,-0.5407293305394549,-0.42407689654637104,-0.35835841764696097,-0.3162308996064751,-0.29077116162666994,-0.269015436302559,-0.25218066606641143,-0.23876764932825623,-0.22778851984593285,-0.2186168777949833,-0.2108031187958863,-0.2040557076492564,-0.19815320956498317,-0.19294348799225602,-0.18830433307130745,-0.18412731871428845,-0.18035917875945984,-0.17691190864114015,-0.17213946459014862},
{-1.25039007163375,-0.7866674368390076,-0.5405610496990723,-0.42395354267959995,-0.3582621368298795,-0.31615074666340814,-0.290702663783847,-0.26895407023828444,-0.2521255662332047,-0.23871742249799777,-0.22774215843478807,-0.2185736564692622,-0.21076250294239696,-0.20401729046904338,-0.19811667551057388,-0.19290858494115648,-0.18827085747994987,-0.18409510681454,-0.18032809066979638,-0.176881830302829,-0.17211133525647648},
{-1.2505679013841733,-0.7864680536337092,-0.5403928390174901,-0.42383026345336017,-0.3581659197327398,-0.3160705752948687,-0.2906342042368688,-0.26889274734736857,-0.25207050544637344,-0.23866723127024647,-0.22769582985959191,-0.21853046572995138,-0.21072191580562105,-0.20397890044610456,-0.19808016728095268,-0.19287370656578595,-0.18823740556350144,-0.18406291770596495,-0.180297024585502,-0.17685177326138746,-0.17208322593219894},
{-1.250744374756353,-0.7862685095162498,-0.5402246985809098,-0.4237070588367311,-0.35806976630798415,-0.31599038195266904,-0.2905657830212054,-0.2688314675905987,-0.25201548366948856,-0.2386170756113648,-0.22764953409026845,-0.21848730554887208,-0.21068135735982763,-0.2039405375562069,-0.19804368485358426,-0.19283885284487434,-0.18820397730189864,-0.18403075136928582,-0.18026598048830111,-0.17682173749922647,-0.1720551365970775},
{-1.2509194948367657,-0.7860688053943512,-0.540056628474993,-0.4235839287985439,-0.3579736765082666,-0.3159101630656791,-0.2904974001719629,-0.26877023092878716,-0.251960500866236,-0.23856695548774853,-0.22760327109689849,-0.21844417589781884,-0.21064082757939406,-0.20390220177548724,-0.19800722820588135,-0.19280402375742334,-0.18817057267513126,-0.18399860778546673,-0.18023495835990433,-0.17679172299878454,-0.17202706723100425},
{-1.251093264705704,-0.7858689421725734,-0.5398886287846445,-0.42346087330772586,-0.35787765028590246,-0.3158299150469186,-0.29042905572358735,-0.26870903732285667,-0.25190555700024,-0.2385168708659493,-0.22755704084951223,-0.21840107674864706,-0.21060032643876792,-0.20386389308001052,-0.19797079731544454,-0.19276921928218727,-0.188137191663313,-0.1839664869354074,-0.18020395818211155,-0.17676172974251125,-0.17199901781397875},
{-1.2512656874373547,-0.785668920752288,-0.5397206995941468,-0.42333789233286967,-0.3577816875936486,-0.31574963430018066,-0.2903607497099583,-0.2686478867337705,-0.25185065203527124,-0.23846682171242062,-0.22751084331823668,-0.21835800807335248,-0.21055985391225773,-0.20382561144578792,-0.19793439215993924,-0.19273443939817225,-0.1881038342466188,-0.18393438880016078,-0.18017297993676218,-0.17673175771305027,-0.17197098832611912},
{-1.2514367660997687,-0.7854687420317009,-0.5395528409871924,-0.42321498584262573,-0.35768578838385867,-0.3156693172263365,-0.2902924821644899,-0.26858677912254514,-0.2517957859352178,-0.23841680799389087,-0.22746467847334362,-0.21831496984384957,-0.21051940997453888,-0.20378735684903448,-0.19789801271707885,-0.1926996840844617,-0.18807050040511264,-0.1839023133608122,-0.18014202360569787,-0.17670180689284587,-0.1719429787476372},
{-1.2516065037548878,-0.7852684069059219,-0.5393850530467623,-0.4230921538055139,-0.35758995260913107,-0.3155889602301687,-0.2902242531200818,-0.26852571445025,-0.2517409586638668,-0.23836682967708667,-0.22741854628507552,-0.21827196203222465,-0.21047899460014063,-0.20374912926604827,-0.19786165896448749,-0.1926649533199991,-0.18803719011906184,-0.18387026059835776,-0.18011108917080731,-0.17667187726455946,-0.17191498905888247},
{-1.2517749034585706,-0.7850679162668667,-0.5392173358552026,-0.4229693961897576,-0.35749418022208124,-0.31550855972658853,-0.2901560626091584,-0.2684646926779606,-0.2516861701852151,-0.23831688672872486,-0.22737244672382184,-0.21822898461057383,-0.21043860776372236,-0.20371092867309848,-0.19782533088007304,-0.19263024708395138,-0.18800390336876394,-0.1838382304939672,-0.18008017661411113,-0.17664196881089556,-0.17188701924030525},
{-1.251941968260549,-0.7848672710033426,-0.5390496894942176,-0.422846712963745,-0.35739847117518764,-0.3154281121471092,-0.2900879106635621,-0.2684037137668587,-0.2516314204632688,-0.23826697911568928,-0.22732637975992143,-0.21818603755097055,-0.21039824943998386,-0.20367275504653426,-0.1977890284416124,-0.1925955653555298,-0.18797064013450715,-0.18380622302877248,-0.18004928591765434,-0.1766120815145502,-0.17185906927247396},
{-1.2521077012045294,-0.7846664720010372,-0.5388821140448086,-0.42272410409547767,-0.35730282542115677,-0.31534761394603517,-0.2900197973145231,-0.26834277767812287,-0.2515767094620136,-0.23821710680478336,-0.22728034536377395,-0.21814312082567255,-0.21035791960360273,-0.20363460836261416,-0.19775275162687,-0.19256090811379556,-0.18793740039657258,-0.1837742381839571,-0.18001841706324662,-0.17658221535812668,-0.17183113913590198},
{-1.2522721053280834,-0.7844655201426021,-0.5387146095875197,-0.42260156955310046,-0.3572072429125419,-0.31526706160621654,-0.28995172259298796,-0.2682818843731787,-0.2515220371457283,-0.2381672697631636,-0.22723434350604865,-0.21810023440699844,-0.21031761822954742,-0.20359648859803903,-0.19771650041406152,-0.19252627533829614,-0.18790418413562326,-0.1837422759410039,-0.1799875700333753,-0.1765523703247207,-0.17180322881146903},
{-1.2524351836627825,-0.7842644163075579,-0.5385471762021348,-0.42247910930457566,-0.3571117236019843,-0.3151864516451366,-0.28988368652929286,-0.26822103381328466,-0.25146740347851004,-0.23811746795778488,-0.22718837415726734,-0.21805737826723748,-0.21027734529271447,-0.20355839572935386,-0.19768027478112815,-0.19249166700821618,-0.1878709913319616,-0.18371033628112876,-0.1799567448100432,-0.1765225463970932,-0.17177533827992697},
{-1.2525969392340812,-0.7840631613723311,-0.5383798139677967,-0.42235672331757335,-0.35701626744212045,-0.3151057806200972,-0.28981568915324996,-0.26816022595977795,-0.25141280842468916,-0.2380677013557988,-0.22714243728806904,-0.21801455237879308,-0.21023710076799107,-0.20352032973300815,-0.19764407470594003,-0.19245708310299436,-0.18783782196614052,-0.18367841918566796,-0.17992594137540863,-0.17649274355814137,-0.17174746752200143},
{-1.252757375061479,-0.7838617562103395,-0.5382125229630503,-0.42223441155992747,-0.3569208743855661,-0.3150250451341359,-0.2897477304943221,-0.268099460774188,-0.25135825194849826,-0.23801796992444268,-0.22709653286911546,-0.217971756714066,-0.21019688463036212,-0.20348229058570455,-0.19760790016682028,-0.19242252360197476,-0.1878046760186991,-0.18364652463599418,-0.17989515971174352,-0.17646296179080245,-0.1717196165187782},
{-1.2529164941583824,-0.78366020169189,-0.538045303265815,-0.42211217399917556,-0.35682554438515757,-0.3149442418412054,-0.28967981058119285,-0.2680387382179954,-0.2513037340144093,-0.23796827363098405,-0.22705066087124903,-0.21792899124560927,-0.21015669685488803,-0.20344427826413858,-0.19757175114181091,-0.19238798848476968,-0.18777155347028973,-0.18361465261367016,-0.1798643998014109,-0.17643320107826233,-0.17169178525114193},
{-1.2530742995322122,-0.7834584986843384,-0.5378781549534524,-0.4219900106028507,-0.35673027739344443,-0.31486336745075905,-0.28961192944237224,-0.26797805825277576,-0.2512492545868703,-0.2379186124426802,-0.22700482126520027,-0.2178862559459409,-0.21011653741671754,-0.20340629274517852,-0.19753562760919952,-0.19235347773091904,-0.18773845430154656,-0.18358280310013741,-0.17983366162671244,-0.17640346140351104,-0.17166397370009268},
{-1.2532307941843457,-0.7832566480519362,-0.537711078102596,-0.4218679213384031,-0.35663507336313716,-0.3147824187329218,-0.2895440871056456,-0.2679174208401336,-0.25119481363032437,-0.23786898632705933,-0.2269590140219302,-0.21784355078776407,-0.21007640629100477,-0.20336833400548482,-0.19749952954722616,-0.1923189913199539,-0.18770537849315438,-0.18355097607695647,-0.17980294517000361,-0.1763737427496781,-0.1716361818467762},
{-1.2533859811102235,-0.7830546506559938,-0.5375440727893102,-0.4217459061729987,-0.3565399322469931,-0.31470139252259943,-0.28947628359857003,-0.2678568259416654,-0.251140411109362,-0.2378193952514822,-0.2269132391123545,-0.21780087574372597,-0.21003630345301882,-0.20333040202211983,-0.19746345693436407,-0.1922845292315829,-0.18767232602590145,-0.1835191715256954,-0.17977225041391032,-0.1763440451000693,-0.17160840967229873},
{-1.2535398632992525,-0.7828525073547209,-0.5373771390891224,-0.42162396507395195,-0.35644485399770254,-0.31462028572429435,-0.2894085189480813,-0.26779627351925406,-0.2510860469886973,-0.23776983918363426,-0.22686749650739513,-0.21775823078659284,-0.20999622887797287,-0.20329249677190386,-0.19742740974878137,-0.1922500914455867,-0.18763929688047032,-0.1834873894280178,-0.1797415773407267,-0.17631436843788562,-0.17158065715779758},
{-1.2536924437348633,-0.782650219003463,-0.5372102770768272,-0.4215020980083075,-0.35634983856824887,-0.3145390953159981,-0.2893407931805716,-0.2677357635345414,-0.2510317212330091,-0.23772031809107874,-0.22682178617827198,-0.2177156158892477,-0.20995618254129989,-0.20325461823183621,-0.1973913879691409,-0.19221567794167305,-0.18760629103792903,-0.18345562976569063,-0.1797109259330223,-0.176284712746551,-0.17155292428460855},
{-1.2538437253945365,-0.7824477864545023,-0.5370434868267433,-0.42138030494306045,-0.3562548859112171,-0.3144578183526523,-0.289273106322153,-0.26767529594955075,-0.2509774338071189,-0.23767083194154504,-0.22677610809593762,-0.21767303102446123,-0.20991616441826055,-0.20321676637898234,-0.1973553915738564,-0.1921812886997012,-0.18757330847896414,-0.18342389252035707,-0.17968029617354375,-0.1762550780093921,-0.17152521103386853},
{-1.2539937112497859,-0.7822452105571936,-0.5368767684124882,-0.4212585858452127,-0.35615999597943016,-0.31437645197019504,-0.2892054583983734,-0.267614870726097,-0.2509231846757842,-0.23762138070285443,-0.22673046223166615,-0.2176304761653558,-0.20987617448441842,-0.20317894119052582,-0.19731942054160312,-0.1921469236995712,-0.18754034918450735,-0.18339217767382987,-0.17964968804481352,-0.17622546420985152,-0.17149751738693197},
{-1.2541424042662026,-0.7820424921579102,-0.5367101219071402,-0.4211369406814023,-0.35606516872576743,-0.3142949933883954,-0.2891378494343617,-0.2675544878261116,-0.25086897380395046,-0.2375719643427523,-0.22668484855666415,-0.2175879512848664,-0.20983621271522734,-0.20314114264352368,-0.19728347485081743,-0.1921125829211352,-0.18750741313561958,-0.18336048520800752,-0.17961910152955252,-0.1761958713315961,-0.171469843325184},
{-1.254289807403403,-0.781839632100124,-0.5365435473831706,-0.4210153694184926,-0.355970404102981,-0.3142134399145413,-0.28907027945484653,-0.2674941472117225,-0.250814801156622,-0.23752258282930505,-0.2266392670421764,-0.21754545635615274,-0.20979627908630816,-0.2031033707152825,-0.19724755448039488,-0.19207826634449443,-0.18747450031330848,-0.18332881510463217,-0.17958853661059093,-0.17616629935797334,-0.17144218883004703},
{-1.2544359236151164,-0.781636631224328,-0.5363770449124139,-0.42089387202298134,-0.3558757020641916,-0.31413178894582106,-0.28900274848390994,-0.267433848844981,-0.2507606666988278,-0.2374732361303975,-0.22659371765963687,-0.2175029913523816,-0.20975637357321464,-0.20306562538292017,-0.19721165940891083,-0.19204397394965866,-0.1874416106985497,-0.1832971673457977,-0.17955799327064748,-0.17613674827274295,-0.17141455388286886},
{-1.2545807558491264,-0.7814334903681657,-0.5362106145661973,-0.4207724484614386,-0.35578106256205144,-0.3140500379719495,-0.28893525654542307,-0.2673735926880738,-0.250706570395657,-0.23742392421414182,-0.2265482003803898,-0.21746055624672866,-0.2097164961515885,-0.20302790662397863,-0.19717578961532078,-0.1920097057167105,-0.18740874427258802,-0.1832655419134137,-0.17952747149263493,-0.17610721805955976,-0.17138693846523445},
{-1.2547243070473253,-0.781230210366272,-0.5360442564151886,-0.4206510987003369,-0.35568648554946636,-0.3139681845778397,-0.2888678036626575,-0.26731337870317606,-0.25065251221229357,-0.23737464704867017,-0.22650271517590692,-0.2174181510125761,-0.20967664679714115,-0.2029902144156206,-0.1971399450784599,-0.19197546162578893,-0.18737590101642798,-0.18323393878944838,-0.17949697125939768,-0.1760777087022265,-0.17135934255852447},
{-1.2548665801457266,-0.7810267920505057,-0.5358779705295436,-0.42052982270588357,-0.35559197097955675,-0.3138862264452764,-0.28880038985865264,-0.2672532068526303,-0.25059849211398166,-0.2373254046022426,-0.22645726201778382,-0.21737577562334343,-0.2096368254857266,-0.20295254873539648,-0.19710412577715575,-0.19194124165720172,-0.18734308091133522,-0.1832023579560884,-0.17946649255395775,-0.17604822018451216,-0.17133176614449308},
{-1.2550075780744518,-0.7808232362497565,-0.5357117569787155,-0.4204086204444535,-0.35549751880507174,-0.3138041613551956,-0.28873301515580607,-0.2671930770987312,-0.2505445100660566,-0.23727619684314671,-0.22641184087745447,-0.2173334300524039,-0.20959703219312598,-0.20291490956081537,-0.19706833169038296,-0.1919070457911478,-0.18731028393854254,-0.18317079939533532,-0.17943603535923636,-0.17601875249022125,-0.17130420920465417},
{-1.2551473037576937,-0.7806195437900407,-0.5355456158317424,-0.4202874918820989,-0.35540312897917103,-0.3137219871894259,-0.288665679576134,-0.2671329894039238,-0.25049056603385367,-0.2372270237397025,-0.22636645172673164,-0.21729111427341863,-0.2095572668951977,-0.20287729686932154,-0.19703256279726222,-0.1918728740079052,-0.18727751007941462,-0.18313926308948458,-0.17940559965840963,-0.1759893056033981,-0.17127667172075522},
{-1.2552857601138638,-0.7804157154945939,-0.535379547157002,-0.4201664369849263,-0.3553088014547485,-0.31363970193163393,-0.2885983831412804,-0.2670729437307062,-0.2504366599828125,-0.23717788526039163,-0.2263210945371643,-0.2172488282598053,-0.20951752956792546,-0.20283971063856487,-0.1969968190768614,-0.1918387262879131,-0.18724475931522067,-0.18310774902069227,-0.17937518543459552,-0.17595987950780057,-0.1712491536744647},
{-1.2554229500554845,-0.7802117521837005,-0.535213551022311,-0.42004545571895635,-0.355214536184834,-0.31355730366914925,-0.2885311258724732,-0.2670129400416359,-0.2503827918784922,-0.23712878137374993,-0.22627576928052084,-0.21720657198539817,-0.20947782018718986,-0.20280215084618947,-0.19696110050822435,-0.19180460261160404,-0.1872120316273067,-0.18307625717122233,-0.1793447926708005,-0.17593047418757513,-0.17122165504762998},
{-1.255558876489243,-0.7800076546749097,-0.5350476274949072,-0.41992454804995516,-0.3551203331225561,-0.31347479059345096,-0.28846390779055664,-0.26695297829927034,-0.2503289616864057,-0.23707971204830436,-0.22623047592872192,-0.21716434542395557,-0.2094381387291726,-0.2027646174699309,-0.19692540707069517,-0.19177050295941722,-0.18717932699715245,-0.1830447875233565,-0.17931442135041875,-0.17590108962681095,-0.17119417582208252},
{-1.255693542315938,-0.7798034237828015,-0.5348817766414635,-0.41980371394385196,-0.3550261922208673,-0.31339216100155465,-0.28839672891588863,-0.26689305846634825,-0.250275169372252,-0.2370306772527755,-0.22618521445354212,-0.21712214854922163,-0.20939848516989024,-0.2027271104876185,-0.19688973874338167,-0.19173642731195883,-0.18714664540620207,-0.1830133400595062,-0.17928407145668857,-0.17587172580952304,-0.17116671597969413},
{-1.2558269504306505,-0.7795990603192942,-0.5347159985281296,-0.4196829533662614,-0.35493211343304276,-0.31330941329639694,-0.28832958926839813,-0.2668331805055839,-0.2502214149017461,-0.23698167695591854,-0.22613998482697273,-0.217079981335214,-0.20935885948557909,-0.20268962987690253,-0.19685409550572164,-0.1917023756498124,-0.18711398683613378,-0.18298191476222891,-0.1792537429729637,-0.17584238272000485,-0.17113927550261332},
{-1.2559591037225537,-0.7793945650933763,-0.5345502932204365,-0.4195622662828238,-0.3548380967120486,-0.31322654598712907,-0.2882624888676495,-0.2667733443798541,-0.2501676982406682,-0.23693271112646253,-0.22609478702088515,-0.21703784375582735,-0.20931926165236536,-0.20265217561574866,-0.1968184773369912,-0.19166834795351662,-0.1870813512682954,-0.18295051161374198,-0.1792234358825695,-0.17581306034223365,-0.1711118543726613},
{-1.2560900050750698,-0.7791899389113317,-0.5343846607834439,-0.41944165265917044,-0.35474414201108906,-0.31314355768967417,-0.28819542773284734,-0.2667135500520197,-0.2501140193548066,-0.23688377973331232,-0.2260496210073515,-0.21699573578513132,-0.20927969164658622,-0.20261474768208965,-0.19678288421658463,-0.19163434420387127,-0.18704873868439398,-0.1829191305966642,-0.17919315016894322,-0.17578375866060503,-0.1710844525719999},
{-1.256219657365806,-0.7789851825765846,-0.5342191012815585,-0.4193211124605929,-0.3546502492833379,-0.3130604471265137,-0.288128405882762,-0.26665379748500984,-0.2500603782100952,-0.2368348827454625,-0.2260044867585087,-0.21695365739729944,-0.20924014944453617,-0.20257734605387379,-0.1967473161239628,-0.19160036438156203,-0.18701614906610908,-0.18288777169354242,-0.1791628858156198,-0.1757544776592912,-0.17105707008286108},
{-1.256348063466597,-0.7787802968898441,-0.5340536147786799,-0.4192006456526378,-0.35455641848199404,-0.31297721312700766,-0.2880614233358707,-0.266594086641895,-0.25000677477257227,-0.2367860201319587,-0.2259593842464338,-0.21691160856653546,-0.20920063502262876,-0.20253997070925855,-0.19671177303870335,-0.19156640846743267,-0.18698358239515844,-0.18285643488698833,-0.17913264280608487,-0.17572521732272328,-0.17102970688747998},
{-1.2564752262434944,-0.7785752826490084,-0.5338882013381803,-0.4190802522004633,-0.35446264956037266,-0.31289385462697883,-0.2879944801100005,-0.2665344174858131,-0.24995320900829965,-0.23673719186187148,-0.22591431344344048,-0.21686958926706623,-0.20916114835730193,-0.20250262162620558,-0.19667625494034313,-0.19153247644236027,-0.18695103865333618,-0.18282512015979924,-0.17910242112401553,-0.17569597763526756,-0.1710023629681321},
{-1.2566011485568047,-0.7783701406492776,-0.5337228610228824,-0.4189599320693509,-0.35436894247163475,-0.31281037066814754,-0.28792757622286747,-0.26647478997991936,-0.24989968088328496,-0.23668839790435747,-0.2258692743216293,-0.21682759947333263,-0.20912168942507625,-0.2024652987829385,-0.1966407618085393,-0.19149856828724898,-0.18691851782240088,-0.18279382749449935,-0.17907222075305107,-0.17566675858121572,-0.17097503830722927},
{-1.2567258332610713,-0.778164871683046,-0.5335575938950627,-0.41883968522449644,-0.35427529716905215,-0.31272676039791536,-0.2878607116916103,-0.2664152040874983,-0.2498461903638165,-0.23663963822871814,-0.225824266853345,-0.21678563915976268,-0.20908225820248783,-0.20242800215762013,-0.19660529362292456,-0.1914646839830274,-0.18688601988415643,-0.18276255687396858,-0.1790420416767864,-0.1756375601450575,-0.1709477328872282},
{-1.2568492832051128,-0.7779594765400393,-0.5333924000164245,-0.4187195116307916,-0.3541817136059655,-0.31264302306829306,-0.28779388653315197,-0.2663556597717651,-0.24979273741611152,-0.23659091280421407,-0.2257792910110692,-0.2167437083008732,-0.20904285466612427,-0.2023907317286917,-0.19656985036338792,-0.19143082351071516,-0.18685354482064298,-0.1827313082809976,-0.179011883879153,-0.17560838231129505,-0.1709204466906309},
{-1.256971501231978,-0.7777539560072186,-0.5332272794481727,-0.41859941125334665,-0.3540881917357044,-0.3125591580356972,-0.287727100763957,-0.26629615699629205,-0.24973932200651516,-0.23654222160031457,-0.22573434676703297,-0.21670180687120544,-0.20900347879278947,-0.2023534874742845,-0.19653443200957899,-0.19139698685139495,-0.1868210926137004,-0.18270008169842233,-0.17898174734371253,-0.17557922506449852,-0.17089317970012718},
{-1.2570924901790232,-0.7775483108688239,-0.5330622322509568,-0.4184793840569676,-0.3539947315117462,-0.31247516475961534,-0.28766035440009485,-0.26623669572444797,-0.24968594410138722,-0.23649356458644233,-0.2256894340938671,-0.21665993484552093,-0.20896413055906926,-0.20231626937282465,-0.1964990385413361,-0.19136317398619473,-0.18678866324545007,-0.1826688771092444,-0.17895163205446174,-0.1755500883892176,-0.17086593189835142},
{-1.257212252877893,-0.7773425419064623,-0.532897258484929,-0.41835943000651143,-0.35390133288736836,-0.31239104280158836,-0.28759364745726845,-0.2661772759198544,-0.24963260366727624,-0.23644494173210928,-0.2256445529639648,-0.21661809219843642,-0.20892480994176532,-0.20227907740280138,-0.19646366993867526,-0.19132938489628426,-0.1867562566978589,-0.1826376944963788,-0.17892153799534372,-0.17552097227003882,-0.170838703268132},
{-1.2573307921545172,-0.7771366498989742,-0.5327323582096857,-0.4182395490668045,-0.3538079958159632,-0.31230679182413246,-0.2875269799508775,-0.2661178975461147,-0.2495793006706215,-0.23639635300701078,-0.22559970334988932,-0.21657627890485331,-0.20888551691784585,-0.20224191154270832,-0.19642832618156625,-0.19129561956276353,-0.18672387295300563,-0.18260653384285597,-0.17889146515020204,-0.1754918766915572,-0.17081149379236393},
{-1.257448110829147,-0.776930635622594,-0.5325675314842906,-0.4181197412023323,-0.35371472025112016,-0.3122224115893477,-0.28746035189590113,-0.26605856056692945,-0.24952603507806126,-0.23634779838074627,-0.22555488522430167,-0.21653449493970678,-0.20884625146408586,-0.20220477177108798,-0.19639300724991626,-0.1912618779670341,-0.18669151199310097,-0.18257539513178322,-0.1788614135030171,-0.17546280163864836,-0.17078430345406437},
{-1.2575642117163595,-0.7767244998507994,-0.532402778367314,-0.41800000637786794,-0.3536215061461565,-0.3121379019579722,-0.28739376330714217,-0.265999264946148,-0.24947280685629325,-0.23629927782313942,-0.2255100985598948,-0.21649274027790888,-0.2088070135575415,-0.2021676580666103,-0.19635771312395622,-0.19122816009037402,-0.18665917380026542,-0.182544278346235,-0.1788313830379935,-0.17543374709596726,-0.17075713223636768},
{-1.2576790976250178,-0.7765182433544677,-0.5322380989167839,-0.4178803445578154,-0.3535283534548279,-0.31205326288757673,-0.2873272141985974,-0.2659400106476171,-0.249419615972009,-0.23625079130395799,-0.22546534332932344,-0.21645101489446494,-0.20876780317515164,-0.20213057040780447,-0.19632244378373365,-0.19119446591409872,-0.18662685835685755,-0.18251318346946865,-0.1788013737390548,-0.17540471304834782,-0.170729980122446},
{-1.2577927713583819,-0.7763118669018378,-0.5320734931901858,-0.41776075570662385,-0.35343526213049836,-0.31196849443111496,-0.28726070458437736,-0.26588079763525885,-0.24936646239208615,-0.23620233879314467,-0.22542061950537207,-0.2164093187644971,-0.20872862029394756,-0.2020935087734892,-0.1962871992094799,-0.19116079541960085,-0.18659456564507426,-0.18248211048473584,-0.17877138559052286,-0.17537569948062304,-0.17070284709559314},
{-1.2579052357140037,-0.7761053712584591,-0.5319089612445689,-0.41764123978876455,-0.3533422321267232,-0.31188359673535526,-0.28719423447798853,-0.265821625873103,-0.24931334608336098,-0.23615392026065551,-0.22537592706084775,-0.21636765186330464,-0.20868946489111062,-0.20205647314235575,-0.19625197938144145,-0.19112714858828594,-0.18656229564723237,-0.18245105937522377,-0.17874141857634296,-0.17534670637770056,-0.17067573313936002},
{-1.2580164934838576,-0.7758987571873217,-0.5317445031364096,-0.41752179676841017,-0.3532492633972515,-0.31179857003917144,-0.28712780389278203,-0.2657624953253448,-0.2492602670127595,-0.2361055356765136,-0.22533126596869124,-0.2163260141660639,-0.20865033694386037,-0.2020194634933965,-0.19621678427994516,-0.19109352540181357,-0.18653004834586095,-0.1824200301244665,-0.1787114726810186,-0.17531773372454884,-0.1706486382372785},
{-1.2581265474542276,-0.7756920254486992,-0.5315801189216651,-0.41740242660989546,-0.35315635589557104,-0.3117134146718614,-0.28706141284167463,-0.2657034059560477,-0.2492072251473867,-0.2360571850109392,-0.22528663620172606,-0.21628440564805151,-0.2086112364294186,-0.20198247980541506,-0.19618161388533473,-0.1910599258415444,-0.18649782372316537,-0.18238902271560642,-0.1786815478886461,-0.17528878150613192,-0.17062156237310244},
{-1.2582354004057825,-0.7754851768003244,-0.5314158086558107,-0.4172831292772943,-0.35306350957549393,-0.31162813105147835,-0.2869950613370129,-0.2656443577296055,-0.2491542204543058,-0.23600886823394474,-0.22524203773293072,-0.21624282628477642,-0.20857216332501816,-0.2019455220573092,-0.19614646817807024,-0.19102634988914202,-0.18646562176191273,-0.18235803713236676,-0.1786516441835535,-0.17525984970753283,-0.1705945055306568},
{-1.2583430551136376,-0.7752782119973467,-0.531251572393826,-0.41716390473477905,-0.352970724390691,-0.31154271968277625,-0.28692874939122426,-0.2655853506103165,-0.24910125290063734,-0.23596058531594455,-0.225197470535353,-0.2162012760515819,-0.208533117608094,-0.20190859022806507,-0.19611134713869616,-0.19099279752625353,-0.18643344244449,-0.18232707335809772,-0.1786217615503798,-0.17523093831376801,-0.1705674676939557},
{-1.258449514347252,-0.77507113179229,-0.531087410190227,-0.4170447529463648,-0.3528780002948153,-0.31145718115521115,-0.2868624770160544,-0.26552638456263056,-0.24904832245364217,-0.23591233622720553,-0.22515293458207886,-0.21615975492409722,-0.20849409925599582,-0.20187168429686464,-0.196076250747641,-0.19095926873454383,-0.18640128575345605,-0.1822961313764102,-0.17859189997326652,-0.17520204731001776,-0.1705404488471558},
{-1.2585547808705049,-0.7748639369351011,-0.5309233220989245,-0.41692567387592927,-0.3527853372417651,-0.311371516141258,-0.28679624422322236,-0.2654674595510431,-0.2489954290807126,-0.23586412093818065,-0.22510842984624269,-0.21611826287793123,-0.20845510824623048,-0.2018348042428717,-0.19604117898562956,-0.19092576349567958,-0.1863691516715389,-0.18226521117100658,-0.17856205943675185,-0.1751731766815019,-0.17051344897449106},
{-1.2586588574416793,-0.7746566281731582,-0.5307593081734163,-0.41680666748748485,-0.3526927351852258,-0.31128572539441235,-0.28673005102390325,-0.2654085755401998,-0.24894257274912368,-0.2358159394192536,-0.2250639563009642,-0.21607679988872475,-0.20841614455634172,-0.2017979500451479,-0.19600613183329685,-0.19089228179153972,-0.18633704018131514,-0.1822343127254631,-0.1785322399253979,-0.17514432641329813,-0.17048646806034595},
{-1.258761746813541,-0.7744492062512642,-0.5305953684666738,-0.4166877337447463,-0.35260019407917786,-0.31119980974711625,-0.28666389742892306,-0.2653497324947116,-0.24888975342635877,-0.23576779164104567,-0.22501951391944885,-0.21603536593211548,-0.2083772081638835,-0.201761121682845,-0.1959711092712655,-0.19085882360378514,-0.18630495126558166,-0.18220343602356381,-0.1785024414236398,-0.17511549649068803,-0.170459506089208},
{-1.2588634517332284,-0.7742416719117085,-0.5304315030311759,-0.41656887261148867,-0.35250771387737334,-0.3111137701085509,-0.28659778344895903,-0.26529093037940576,-0.24883697107995584,-0.23571967757417545,-0.22497510267514187,-0.21599396098416612,-0.20833829904657097,-0.20172431913543631,-0.1959361112804534,-0.19082538891445155,-0.18627288490722282,-0.182172581049187,-0.17847266391633587,-0.17508668689905527,-0.17043256304593735},
{-1.2589639749423804,-0.7740340258942111,-0.5302677119189578,-0.41645008405150463,-0.3524152945337309,-0.3110276074628615,-0.28653170909428294,-0.2652321691591526,-0.248784225677519,-0.23567159718934105,-0.2249307225412549,-0.21595258502050685,-0.20829941718214817,-0.20168754238232678,-0.19590113784169194,-0.1907919777053788,-0.18624084108899774,-0.18214174778613712,-0.17844290738794255,-0.17505789762365653,-0.17040563891517913},
{-1.2590633191770577,-0.7738262689359718,-0.5301039951814936,-0.4163313680282501,-0.3523229360022193,-0.31094132286662246,-0.28646567437482195,-0.26517344879880467,-0.24873151718667996,-0.23562355045721528,-0.22488637349121943,-0.21591123801733492,-0.20826056254834224,-0.2016507914028467,-0.19586618893578533,-0.19075858995853823,-0.1862088197937859,-0.18211093621830665,-0.17841317182322936,-0.1750291286498591,-0.17037873368164647},
{-1.2591614871678032,-0.7736184017716616,-0.5299403528698625,-0.41621272450547186,-0.3522306382368061,-0.31085491744739313,-0.28639967930032206,-0.26511476926344324,-0.24867884557521425,-0.23557553734879777,-0.22484205549846825,-0.21586991995039195,-0.2082217351230944,-0.20161406617647337,-0.19583126454379407,-0.19072522565590555,-0.1861768210045418,-0.18208014632962355,-0.17838345720697735,-0.17500037996298978,-0.1703518473295742},
{-1.2592584816396548,-0.7734104251334397,-0.5297767850345476,-0.4160941534465481,-0.35213840119163464,-0.31076839240112397,-0.28633372387997236,-0.26505613051811094,-0.24862621081091651,-0.23552755783492074,-0.2247977685364817,-0.21582863079586234,-0.2081829348842228,-0.20157736668275694,-0.19579636464670358,-0.1906918847795871,-0.18614484470432258,-0.18204937810423027,-0.17835376352389165,-0.17497165154866057,-0.17032497984145412},
{-1.2593543053121075,-0.7732023397509615,-0.5296132917257075,-0.41597565481495713,-0.352046224820604,-0.31068174898999956,-0.28626780812294905,-0.2649975325279925,-0.24857361286158186,-0.23547961188651012,-0.2247535125788791,-0.2157873705299056,-0.20814416180981388,-0.201540692901371,-0.1957614892255366,-0.1906585673117025,-0.18611289087606364,-0.18201863152604947,-0.1783240907589092,-0.1749429433920513,-0.1702981311967644},
{-1.2594489608991637,-0.7729941463513881,-0.5294498729929227,-0.41585722857418905,-0.351954109077786,-0.3105949885405588,-0.28620193203787014,-0.2649389752583602,-0.24852105169525318,-0.23543169947475207,-0.22470928759916653,-0.21574613912867457,-0.20810541587771159,-0.20150404481182482,-0.1957266382614189,-0.19062527323425815,-0.1860809595028856,-0.18198790657932085,-0.17829443889675511,-0.17491425547878725,-0.1702713013732402},
{-1.259542451109363,-0.7727858456594041,-0.529286528885244,-0.4157388746873554,-0.35186205391737735,-0.3105081124412612,-0.2861360956332706,-0.26488045867447285,-0.2484685272799152,-0.23538382057058804,-0.22466509357112052,-0.21570493656851797,-0.20806669706615777,-0.20146742239407445,-0.19569181173559524,-0.19059200252960995,-0.1860490505680752,-0.18195720324818376,-0.1782648079226652,-0.17488558779447017,-0.17024449035593703},
{-1.2596347786456994,-0.7725774383972124,-0.5291232594513784,-0.4156205931179169,-0.35177005929347827,-0.31042112214076045,-0.28607029891727853,-0.26482198274186164,-0.24841603958362812,-0.23533597514540538,-0.2246209304683422,-0.21566376282567212,-0.2080280053534178,-0.20143082562776593,-0.1956570096293273,-0.19055875517992016,-0.18601716405464153,-0.18192652151679933,-0.17823519782127173,-0.17485694032454235,-0.17021769816477716},
{-1.2597259462057833,-0.7723689252845065,-0.5289600647395216,-0.41550238382896065,-0.35167812516044084,-0.31033401914545067,-0.2860045418976944,-0.2647635474258849,-0.24836358857452323,-0.23528816317039203,-0.22457679826468757,-0.21562261787657588,-0.20798934071755903,-0.20139425449270876,-0.19562223192375994,-0.190525531167538,-0.18598529994600277,-0.1818958613696524,-0.1782056085777799,-0.17482831305469215,-0.17019092490964782},
{-1.2598159564816798,-0.7721603070386005,-0.5287969447973662,-0.41538424678362773,-0.35158625147237066,-0.31024680501736057,-0.2859388245821197,-0.2647051526922155,-0.24831117422093785,-0.23524038461691488,-0.22453269693393096,-0.21558150169774537,-0.2079507031368628,-0.20135770896894734,-0.19558747860049142,-0.19049233047485448,-0.18595345822542253,-0.1818652227909574,-0.1781760401774335,-0.1747997059704849,-0.17016417088227298},
{-1.259904812160035,-0.7719515843743301,-0.5286338996722038,-0.4152661819451411,-0.3514944381835168,-0.3101594813722044,-0.28587314697779354,-0.2646467985064569,-0.24825879649105564,-0.23519263945635283,-0.2244886264499848,-0.2155404142656563,-0.20791209258983434,-0.2013211890364226,-0.1955527496407834,-0.1904591530841171,-0.18592163887614666,-0.1818346057650131,-0.17814649260516813,-0.1747711190576009,-0.1701374366858195},
{-1.2599925159220653,-0.7717427580040563,-0.5284709294108005,-0.41514818927640196,-0.35140268524826634,-0.31007204987692516,-0.28580750909167474,-0.26458848483431474,-0.24820645535327968,-0.2351449276602624,-0.22444458678677526,-0.21549935555692024,-0.20787350905470303,-0.20128469467517096,-0.19551804502612846,-0.1904259989779078,-0.1858898418817998,-0.1818040102763936,-0.17811696584622316,-0.1747425523019075,-0.17011072339778321},
{-1.2600790704435343,-0.7715338286377302,-0.5283080340595376,-0.41503026874046256,-0.35131099262087817,-0.3099845122481337,-0.28574191093065027,-0.2645302116416466,-0.24815415077599434,-0.235097249200245,-0.22440057791818946,-0.21545832554822386,-0.2078349525101446,-0.2012482258652959,-0.1954833647382075,-0.19039286813870415,-0.18585806722568954,-0.18177343630961085,-0.17808745988589614,-0.1747140056890677,-0.170084032755208},
{-1.2601644783947812,-0.7713247969828918,-0.5281452136642311,-0.4149124203001713,-0.35121936025594946,-0.30989687024960677,-0.2856763525008459,-0.26447197889422647,-0.24810188272771994,-0.23504960404784203,-0.2243565998182837,-0.21541732421625337,-0.20779642293456835,-0.2012117825868378,-0.19544870875835452,-0.19035976054906412,-0.18582631489150092,-0.18174288384909154,-0.1780579747093971,-0.17468547920484534,-0.17005736734531052},
{-1.260248742440749,-0.771115663744675,-0.5279824682703746,-0.41479464391845333,-0.3511277881077106,-0.30980912569045405,-0.28561083380863383,-0.2644137865580829,-0.24804965117709266,-0.23500199217483875,-0.22431265246123022,-0.21537635153783397,-0.20775792030653006,-0.20117536482020393,-0.19541407706841163,-0.190326676191523,-0.1857945848627245,-0.18171235287957588,-0.17802851030226785,-0.17465697283513304,-0.17003073078612374},
{-1.2603318652409548,-0.7709064296257746,-0.5278197979229096,-0.41467693955816154,-0.3510362761306678,-0.30972128042288505,-0.2855453548597646,-0.2643556345992031,-0.24799745609263812,-0.23495441355300217,-0.22426873582101825,-0.21533540748981306,-0.20771944460469438,-0.20113897254553503,-0.19537946965001263,-0.19029361504867737,-0.1857628771229165,-0.18168184338555182,-0.1779990666496447,-0.17462848656593888,-0.17000412788173458},
{-1.2604138494495547,-0.7706970953265324,-0.5276572026663766,-0.4145593071819862,-0.35094482427943463,-0.3096333363402395,-0.28547991565994835,-0.2642975229837199,-0.24794529744310845,-0.234906868154237,-0.22422484987196745,-0.21529449204917617,-0.20768099580782806,-0.20110260574323124,-0.19534488648494053,-0.1902605771033512,-0.18573119165598717,-0.18165135535188126,-0.1779696437372329,-0.17460002038301115,-0.16997756473844872},
{-1.2604946977152842,-0.7704876615448648,-0.5274946825448386,-0.4144417467527033,-0.35085343250837253,-0.30954529537521713,-0.28541451621447855,-0.2642394516777071,-0.2478931751972886,-0.23485935595048213,-0.22418099458812923,-0.2152536051927374,-0.20764257389470453,-0.20106626439366737,-0.19531032755500854,-0.19022756233821614,-0.18569952844547455,-0.1816208887631614,-0.1779402415503868,-0.17457157427236059,-0.16995104883508771},
{-1.260574412681506,-0.7702781289763057,-0.5273322376019562,-0.4143242582328899,-0.3507621007723043,-0.3094571594977542,-0.2853491565283215,-0.2641814206474846,-0.24784108932398885,-0.2348118769137355,-0.22413716994392807,-0.21521274689779935,-0.2076041788440075,-0.20102994847729683,-0.1952757928420903,-0.19019457073606816,-0.18566788747532836,-0.1815904436043243,-0.17791086007461265,-0.17454314822014494,-0.169924589042437},
{-1.260652996986254,-0.7700684983140771,-0.5271698678809333,-0.41420684158523136,-0.3506708290257241,-0.3093689307130023,-0.28528383660634926,-0.2641234298593478,-0.24778903979207278,-0.23476443101614297,-0.2240933759135535,-0.2151719171412716,-0.20756581063475865,-0.2009936579745295,-0.19524128232813487,-0.19016160227974277,-0.18563626872943484,-0.18156001986002268,-0.17788149929571384,-0.17451474221211205,-0.16989819559180042},
{-1.2607304532621866,-0.769858770248989,-0.527007573424523,-0.4140894967723221,-0.350579617223278,-0.30928061105949123,-0.2852185564530525,-0.26406547927969415,-0.24773702657059582,-0.2347170182298668,-0.22404961247142552,-0.21513111590039324,-0.20752746924581844,-0.20095739286604264,-0.1952067959950048,-0.19012865695221848,-0.18560467219160692,-0.18152961751536667,-0.17785215919913266,-0.17448635623458442,-0.16987187999626752},
{-1.2608067841365953,-0.7696489454695297,-0.5268453542750537,-0.4139722237565553,-0.3504884653198044,-0.30919220260709857,-0.28515331607287164,-0.26400756887486043,-0.2476850496285672,-0.23466963852711276,-0.22400587959206453,-0.21509034315245001,-0.2074891546562374,-0.2009211531324424,-0.19517233382487564,-0.19009573473626196,-0.1855730978459671,-0.18149923655513556,-0.17782283977069024,-0.1744579902735608,-0.16984565492964343},
{-1.2608819922314662,-0.769439024661791,-0.5266832104743937,-0.41385502250054973,-0.35039737326987375,-0.3091037074555989,-0.2850881154696716,-0.2639496986115222,-0.2476331089350574,-0.23462229188033357,-0.22396217724979106,-0.21504959887469388,-0.20745086684502922,-0.2008849387544962,-0.19513789579977248,-0.19006283561504445,-0.18554154567638959,-0.18146887696434222,-0.17779354099601674,-0.17442964431506347,-0.1698195340708044},
{-1.260956080163433,-0.7692290085095632,-0.5265211420640172,-0.4137378929665725,-0.3503063410285412,-0.30901512773253126,-0.28502295464718674,-0.2638918684561058,-0.2475812044592276,-0.23457497826179008,-0.22391850541913483,-0.21500888304444432,-0.2074126057912249,-0.20084874971272226,-0.19510348190178517,-0.19002995957152446,-0.18551001566716163,-0.1814385387280928,-0.17776426286093328,-0.17440131834526573,-0.16979353192189484},
{-1.261029050543858,-0.7690188976943375,-0.5263591490849422,-0.4136208351170785,-0.35021536855049273,-0.3089264655913051,-0.2849578336090013,-0.26383407837542183,-0.24752933617045025,-0.23452769764414239,-0.22387486407471657,-0.21496819563922598,-0.207374371474204,-0.20081258598809804,-0.19506909211314305,-0.18999710658884306,-0.18547850780246344,-0.1814082218314046,-0.17773500535142794,-0.17437301235038127,-0.16976766360676754},
{-1.2611009059787637,-0.7688086928952451,-0.5261972315777899,-0.4135038489144387,-0.3501244557905481,-0.30883772320974945,-0.28489275235834777,-0.26377632833607123,-0.2474775040378816,-0.2344804499999218,-0.22383125319115793,-0.21492753663649067,-0.20733616387302467,-0.20077644756145618,-0.1950347264161323,-0.18996427665007198,-0.18544702206633135,-0.18137792625946725,-0.17770576845319752,-0.17434472631638132,-0.16974194466068804},
{-1.2611716490688607,-0.76859839478912,-0.5260353895826979,-0.4133869343207821,-0.35003360270377737,-0.3087489027879857,-0.2848277108982198,-0.2637186183049218,-0.24742570803090214,-0.23443323530172622,-0.22378767274305833,-0.21488690601375682,-0.20729798296701452,-0.20074033441372752,-0.1950003847929178,-0.1899314697385419,-0.18541555844322088,-0.18134765199738156,-0.1776765521523913,-0.17431646022958036,-0.16971639081516265},
{-1.2612412824095947,-0.7683880040505018,-0.5258736231394125,-0.4132700912985525,-0.3499428092450336,-0.30866000654719983,-0.2847627092314755,-0.2636609482487393,-0.24737394811899316,-0.23438605352234188,-0.22374412270520994,-0.21484630374862057,-0.2072598287355425,-0.20070424652582863,-0.1949660672259501,-0.18989868583733038,-0.18538411691740864,-0.18131739903038513,-0.17764735643483398,-0.17428821407605488,-0.1696910177881228},
{-1.2613098085911396,-0.768177521351608,-0.5257119322873176,-0.4131533198097723,-0.34985207536950513,-0.3085710367278378,-0.28469774736044595,-0.2636033181345634,-0.24732222427163464,-0.23433890463467266,-0.22370060305232142,-0.21480572981867585,-0.2072217011581059,-0.20066818387891372,-0.19493177369754777,-0.18986592492999765,-0.1853526974734061,-0.18128716734387051,-0.1776181812866593,-0.17425998784209806,-0.169665841080763},
{-1.261377230198402,-0.7679669473624189,-0.5255503170652833,-0.41303661981666284,-0.3497614010321186,-0.3084819955876581,-0.2846328252874839,-0.2635457279292628,-0.24727053645836472,-0.23429178861150124,-0.22365711375931197,-0.21476518420172175,-0.20718360021406745,-0.20063214645394156,-0.1948975041901826,-0.18983318699969276,-0.1853213000955427,-0.18125695692297716,-0.1775890266939868,-0.17423178151363095,-0.16964087578905973},
{-1.2614435498109946,-0.7677562827505668,-0.5253887775118173,-0.4129199912814059,-0.34967078618791225,-0.3083928854004734,-0.28456794301457755,-0.263488177599994,-0.24721888464879171,-0.2342447054258776,-0.22361365480088802,-0.21472466687549474,-0.20714552588289958,-0.20059613423211564,-0.19486325868627885,-0.18980047202982497,-0.18528992476832196,-0.18122676775317004,-0.17755989264275662,-0.17420359507691074,-0.16961613643052464},
{-1.2615087700033303,-0.767545528181496,-0.5252273136650041,-0.4128034341658746,-0.34958023079217204,-0.3083037084544653,-0.2845031005435872,-0.2634306671137372,-0.24716726881260875,-0.23419765505087886,-0.22357022615217437,-0.21468417781788185,-0.20710747814426522,-0.20056014719481352,-0.19482903716843847,-0.18976778000385197,-0.18525857147651603,-0.18119659981985947,-0.17753077911955328,-0.17417542851813783,-0.1695916367903405},
{-1.2615728933445514,-0.7673346843183402,-0.5250659255624996,-0.41268694843230813,-0.34948973479999657,-0.3082144670508513,-0.2844382978759801,-0.2633731964378261,-0.24711568891958846,-0.2341506374595892,-0.22352682778801602,-0.21464371700659202,-0.20706945697788237,-0.2005241853231361,-0.19479483961916433,-0.18973511090539574,-0.18522724020452852,-0.18116645310853974,-0.17750168611030182,-0.1741472818233265,-0.16956738978724228},
{-1.2616359223985825,-0.767123751821948,-0.5249046132416135,-0.41257053404255295,-0.3493992981668037,-0.3081251635022668,-0.28437353501296414,-0.26331576553936475,-0.24706414493947415,-0.2341036526253859,-0.22348345968358174,-0.21460328441973564,-0.2070314623633669,-0.20048824859849157,-0.194760666021065,-0.1897024647180019,-0.18519593093727194,-0.1811363276048672,-0.17747261360144595,-0.1741191549784662,-0.16954340736022822},
{-1.2616978597241166,-0.7669127313510049,-0.5247433767391301,-0.4124541909585937,-0.34930892084766274,-0.3080358001312695,-0.28430881195573976,-0.26325837438578237,-0.24701263684221608,-0.23405670052151173,-0.22344012181383777,-0.21456288003523838,-0.2069934942805567,-0.20045233700231035,-0.19472651635686677,-0.1896698414252187,-0.1851646436593568,-0.18110622329422243,-0.1774435615794796,-0.1740910479689104,-0.16951970037637976},
{-1.2617587078746595,-0.7667016235619015,-0.5245822160915377,-0.4123379191424039,-0.3492186027979294,-0.30794637926887525,-0.2842441287050743,-0.26320102294434866,-0.24696116459763262,-0.23400978112136217,-0.2233968141541185,-0.21452250383120797,-0.20695555270916044,-0.2004164505161099,-0.19469239060928656,-0.18963724101073343,-0.1851333783556215,-0.18107614016233997,-0.17741453003053698,-0.17406296077923322,-0.1694962785584493},
{-1.2618184693984773,-0.7664904291088219,-0.5244211313349045,-0.4122217185557693,-0.34912834397310055,-0.3078569032533789,-0.2841794852615127,-0.26314371118262914,-0.2469097281757664,-0.23396289439850815,-0.22335353667954028,-0.214482155785777,-0.20691763762919546,-0.20038058912141699,-0.19465828876108437,-0.1896046634583497,-0.18510213501103756,-0.18104607819492857,-0.17738551894144372,-0.17403489339083977,-0.16947315043253486},
{-1.2618771468387227,-0.7662791486437093,-0.5242601225048682,-0.4121055891605936,-0.34903814432844493,-0.307767374428912,-0.2841148816256087,-0.2630864390680787,-0.24685832754673287,-0.23391604032648372,-0.22331028936545705,-0.21444183587696086,-0.20687974902064354,-0.20034475279980946,-0.1946242107950762,-0.18957210875181252,-0.18507091361037054,-0.18101603737769034,-0.17735652829844373,-0.17400684577724457,-0.16945032329370546},
{-1.2619347427332435,-0.766067782816285,-0.5240991896366278,-0.41198953091860524,-0.3489480038196322,-0.30767779514427973,-0.28405031779719137,-0.26302920656817586,-0.24680696268048097,-0.2338692188789553,-0.22326707218711395,-0.21440154408310974,-0.20684188686343719,-0.2003089415328625,-0.1945901566941095,-0.1895395768749677,-0.1850397141386777,-0.18098601769653255,-0.17732755808824407,-0.173978817888627,-0.16942780318853368},
{-1.261991259614822,-0.7658563322740946,-0.5239383327650997,-0.41187354379159347,-0.3488579224020172,-0.3075881677514505,-0.2839857937762975,-0.26297201365062994,-0.24675563354731533,-0.23382243002961367,-0.2232238851201438,-0.2143612803825583,-0.20680405113764389,-0.20027315530250256,-0.19455612644117526,-0.18950706781165305,-0.18500853658093908,-0.18095601913718706,-0.17729860829760113,-0.17395080961735188,-0.1694055949128943},
{-1.2620467000110398,-0.7656447976624863,-0.523777551924723,-0.4117576277413604,-0.3487679000311199,-0.3074984946045558,-0.2839213095625879,-0.2629148602830975,-0.2467043401173994,-0.23377567375234953,-0.22318072813980994,-0.2143210447535555,-0.20676624182337688,-0.20023739409034658,-0.1945221200191276,-0.18947458154578323,-0.18497738092240024,-0.18092604168559312,-0.17726967891301415,-0.17392282073128307,-0.16938370202359776},
{-1.2621010664443273,-0.7654331796245961,-0.523616847149573,-0.411641782729502,-0.3486779366626944,-0.30740877805830547,-0.2838568651554896,-0.26285774643343096,-0.24665308236106975,-0.23372895002109484,-0.22313760122185267,-0.2142808371746585,-0.20672845890090796,-0.2002016578784005,-0.19448813741108717,-0.18944211806155709,-0.18494624714802832,-0.1808960853278383,-0.17724076992139626,-0.173894850766517,-0.1693621268612171},
{-1.262154361431969,-0.7652214788013454,-0.5234562184732858,-0.4115260087177459,-0.3485880322522785,-0.30731902046744386,-0.2837924605542854,-0.26280067206930946,-0.2466018602486315,-0.2336822588097789,-0.22309450434174094,-0.21424065762415756,-0.20669070235052533,-0.20016594664853038,-0.1944541786000502,-0.18940967734280445,-0.18491513524296366,-0.18086615004973483,-0.17721188130950427,-0.17386689887539974,-0.16934087058470615},
{-1.2622065874861084,-0.765009695831532,-0.5232956659291559,-0.4114103056676379,-0.34849818675571287,-0.30722922418528853,-0.28372809575779545,-0.26274363715868754,-0.24655067375049544,-0.23363560009253037,-0.22305143747539846,-0.2142005060807568,-0.20665297215236178,-0.20013026038269244,-0.19442024356913112,-0.18937725937384142,-0.1848840451926157,-0.1808362358375315,-0.17718301306425932,-0.1738389636368436,-0.16931993321346805},
{-1.262257747113787,-0.7647978313518169,-0.5231351895501557,-0.41129467354084914,-0.3484084001286645,-0.307139391562516,-0.28366377076482463,-0.2626866416695006,-0.24649952283717091,-0.2335889738434198,-0.22300840059833815,-0.21416038252299519,-0.206615268287055,-0.20009459906287663,-0.19438633230150737,-0.18934486413879537,-0.18485297698227887,-0.18080634267709472,-0.17715416517248395,-0.17381104283808346,-0.16929931367688855},
{-1.2623078428168966,-0.764585885996607,-0.5229747893687866,-0.41117911229891035,-0.34831867232681546,-0.3070495249462093,-0.28359948557399184,-0.2626296855697845,-0.2464484074790807,-0.2335423800367935,-0.22296539368648505,-0.21412028692946805,-0.20657759073483328,-0.20005896267125944,-0.19435244478038527,-0.1893124916217923,-0.1848219305971206,-0.18077647055489576,-0.17712533762124139,-0.17378313324849426,-0.1692790098706367},
{-1.2623568770922702,-0.7643738603982231,-0.5228144654171363,-0.41106362190332346,-0.3482290033062032,-0.30695962667893895,-0.2835352401836557,-0.26257276882755054,-0.24639732764695177,-0.2334958186468694,-0.22292241671591428,-0.214080219279011,-0.20653993947625837,-0.20002335119005243,-0.19431858098898935,-0.18928014180718078,-0.18479090602287007,-0.18074661945701243,-0.17709653039769524,-0.1737552304026182,-0.1692590187160028},
{-1.2624048524315845,-0.7641617551868072,-0.5226542177270272,-0.41094820231572937,-0.34813939302261954,-0.30686969909770667,-0.28347103459185297,-0.2625158914109216,-0.24634628331137742,-0.23344928964809242,-0.222879469662415,-0.21404017955023047,-0.2065023144919147,-0.19998776460139656,-0.19428474091086434,-0.1892478146793315,-0.1847599032445335,-0.18071678936956692,-0.17706774348863918,-0.17372732841018257,-0.16923933622382625},
{-1.2624517713214791,-0.7639495709903736,-0.5224940463298486,-0.4108328534974479,-0.34804984143214135,-0.30677974453317525,-0.28340686879653276,-0.2624590532882176,-0.24629527444312593,-0.23340279301490474,-0.22283655250220713,-0.21400016772225516,-0.20646471576247905,-0.19995220288776405,-0.1942509245290931,-0.189215510222835,-0.18472892224797333,-0.18068698027917396,-0.17703897688140646,-0.17369941980941928,-0.1692199575601001},
{-1.2624976362434788,-0.7637373084347991,-0.5223339512565288,-0.41071757540996945,-0.3479603484905658,-0.30668976530829406,-0.2833427427952251,-0.2624022544275393,-0.2462443010128692,-0.23335632872186451,-0.22279366521134936,-0.2139601837737266,-0.20642714326855227,-0.19991666603129454,-0.19421713182718925,-0.1891832284217898,-0.18469796301865804,-0.18065719217199616,-0.17701023056316734,-0.17367149547182992,-0.16920087711290588},
{-1.262542449674119,-0.7635249681438938,-0.5221739325378161,-0.4106023680147497,-0.3478709141539942,-0.30659976373778974,-0.2832786565855101,-0.26234549479728564,-0.24619336299146877,-0.2333098967435432,-0.2227508077660798,-0.21392022768370067,-0.20638959699086667,-0.19988115401451534,-0.1941833627886549,-0.18915096926104447,-0.18466702554209125,-0.18062742503450258,-0.1769815045212404,-0.17364354456552977,-0.16918208856015715},
{-1.2625862140847501,-0.7633125507392371,-0.5220139902038841,-0.4104872312730605,-0.3477815383785785,-0.30650974212709814,-0.2832146101645949,-0.26228877436577047,-0.2461424603498048,-0.23326349705470895,-0.22270798014275783,-0.21388029943122655,-0.2063520769101741,-0.1998456668198716,-0.19414961739692904,-0.1891187327249897,-0.18463610980398748,-0.18059767885315425,-0.17695279874287673,-0.1736155545769389,-0.16916358493616368},
{-1.2626289319417892,-0.763100056840424,-0.5218541242846944,-0.41037216514644603,-0.3476922211203832,-0.3064197027718145,-0.28315060352967736,-0.2622320931014901,-0.2460915930588996,-0.23321712963008157,-0.22266518231768684,-0.21384039899527485,-0.20631458300757277,-0.19981020442998298,-0.19411589563561416,-0.18908651879844385,-0.1846052157900795,-0.180567953614434,-0.17692411321541446,-0.173587511388265,-0.16914535869898284},
{-1.2626706057065271,-0.7628874870648508,-0.5216943348097631,-0.41025716959604397,-0.34760296233580323,-0.3063296479567863,-0.2830866366774636,-0.2621754509729586,-0.24604076108978168,-0.23317079444461086,-0.2226224142674238,-0.21380052635518165,-0.20627711526392378,-0.199774766827423,-0.19408219748849342,-0.1890543274660672,-0.18457434348605917,-0.1805382493052119,-0.17689544792620548,-0.1735593994052138,-0.1691274017944271},
{-1.262711237835292,-0.7626748420278697,-0.5215346218082804,-0.41014224458330384,-0.34751376198088746,-0.30623957995512985,-0.28302270960462605,-0.2621188479487113,-0.24598996441346133,-0.23312449147303527,-0.22257967596849548,-0.2137606814899149,-0.20623967366009888,-0.1997393539948389,-0.19404852293901076,-0.1890221587126999,-0.18454349287776273,-0.18050856591169628,-0.17686680286284107,-0.17353120172658576,-0.16910970571951767},
{-1.2627508307793323,-0.7624621223427264,-0.5213749853090119,-0.4100273900694984,-0.3474246200118687,-0.3061495010276176,-0.2829588223076165,-0.2620622839973783,-0.24593920300101502,-0.23307822069054396,-0.2225369673974522,-0.2137208643789572,-0.20620225817728688,-0.1997039659149471,-0.19401487197087564,-0.18899001252302527,-0.18451266395092958,-0.18047890342087936,-0.17683817801275525,-0.17350290034865878,-0.16909226158338564},
{-1.26278938698494,-0.762249328620608,-0.5212154253404262,-0.40991260601578716,-0.3473355363852826,-0.3060594134221075,-0.2828949747827587,-0.26200575908756374,-0.24588847682378479,-0.23303198207207876,-0.22249428853119646,-0.2136810750015603,-0.2061648687966149,-0.19966860257063823,-0.1939812445680129,-0.18895788888200604,-0.18448185669171746,-0.1804492618194815,-0.1768095733636117,-0.17347447639271518,-0.16907506016520735},
{-1.2628269088933504,-0.7620364614706214,-0.5210559419306446,-0.4097978923835721,-0.3472465110573797,-0.30596931937272753,-0.28283116702608035,-0.2619492731881956,-0.24583778585304028,-0.23298577559277334,-0.22245163934640377,-0.21364131333697367,-0.20612750549928727,-0.19963326394471315,-0.19394764071424353,-0.18892578777478164,-0.1844510710857854,-0.18041964109416364,-0.1767809889028955,-0.17344591034851264,-0.16905809197037192},
{-1.2628633989408584,-0.7618235214997651,-0.5208965351073558,-0.4096832491338769,-0.3471575439847401,-0.30587922109950405,-0.2827673990334456,-0.26189282626793275,-0.24578713005995523,-0.23293960122793766,-0.22240901981999261,-0.2136015793648296,-0.20609016826655946,-0.1995979500201197,-0.193914060393237,-0.1888937091863201,-0.18442030711927782,-0.18039004123199165,-0.17675242461836538,-0.17341718232601222,-0.16904134728256226},
{-1.262898859558723,-0.7616105093130605,-0.5207372048979471,-0.4095686762280031,-0.34706863512379726,-0.305789120807229,-0.28270367080046643,-0.261836418295768,-0.24573650941602976,-0.23289345895272984,-0.22236642992898403,-0.21356187306451568,-0.2060528570797726,-0.19956266077979024,-0.19388050358917885,-0.18886165310158098,-0.18438956477835156,-0.18036046221965174,-0.1767238804977711,-0.17338827230512388,-0.16902481621408016},
{-1.2629332931732762,-0.7613974255134048,-0.5205779513294924,-0.40945417362715064,-0.3469797844310105,-0.30569902068528565,-0.2826399823227943,-0.26178004924054354,-0.2456859238926823,-0.23284734874265034,-0.22232386965036355,-0.2135221944157375,-0.2060155719203034,-0.19952739620678095,-0.19384697028593267,-0.18882961950579968,-0.18435884404896496,-0.18033090404434526,-0.17669535652879453,-0.17335916038032595,-0.1690084887519987},
{-1.2629667022058446,-0.7611842707017169,-0.5204187744286117,-0.40933974129240003,-0.3468909918631171,-0.30560892290678154,-0.2825763335956353,-0.2617237190713464,-0.24563537346134012,-0.2328012705730238,-0.22228133896135116,-0.2134825433979466,-0.2059783127697581,-0.19949215628422357,-0.19381346046753212,-0.1887976083842906,-0.18432814491744232,-0.1803013666930231,-0.1766668526993449,-0.1733298269919712,-0.16899235480194674},
{-1.2629990890728509,-0.7609710454767717,-0.5202596742216739,-0.40922537918492896,-0.3468022573767162,-0.30551882962838794,-0.2825127246143473,-0.2616674277572004,-0.24558485809379071,-0.23275522441933472,-0.22223883783922327,-0.2134429199909884,-0.20594107960955066,-0.19945694099528222,-0.19377997411803216,-0.18876561972231443,-0.18429746736993025,-0.18027185015275826,-0.17663836899721863,-0.17330025314230113,-0.16897640422843008},
{-1.2630304561856762,-0.7607577504354177,-0.5201006507346371,-0.4091110872657704,-0.34671358092861393,-0.30542874298960765,-0.2824491553735853,-0.26161117526718414,-0.2455343777613983,-0.23270921025720925,-0.22219636626111328,-0.21340332417448993,-0.20590387242130692,-0.19942175032318143,-0.19374651122166409,-0.18873365350520244,-0.1842668113926771,-0.1802423544108156,-0.17660990541031163,-0.17327042059178854,-0.1689606268926389},
{-1.2630608059508774,-0.7605443861724324,-0.5199417039931689,-0.4089968654960643,-0.3466249624754312,-0.3053386651122665,-0.2823856258683426,-0.26155496157056035,-0.24548393243605204,-0.23266322806216344,-0.222153924204755,-0.2133637559284205,-0.20586669118675793,-0.19938658425115197,-0.19371307176250996,-0.1887017097183108,-0.1842361769720111,-0.18021287945422237,-0.17658146192667923,-0.17324031203314938,-0.16894501268612494},
{-1.2630901407699895,-0.7603309532805957,-0.5197828340225485,-0.4088827138368969,-0.346536401973931,-0.3052485980999369,-0.2823221360932293,-0.2614987866364804,-0.24543352208935554,-0.232617277809974,-0.22211151164737108,-0.21332421523256695,-0.2058295358874882,-0.19935144276246541,-0.19367965572490098,-0.1886697883471422,-0.1842055640944511,-0.1801834252704313,-0.17655303853426796,-0.17320991124406593,-0.16892955156326206},
{-1.263118463039707,-0.7601174523506962,-0.5196240408477513,-0.40876863224930915,-0.3464478993812157,-0.30515854403771625,-0.2822586860427676,-0.26144265043446113,-0.2453831466933054,-0.23257135947650998,-0.22206912856671046,-0.21328470206704475,-0.2057924065055441,-0.19931632584071624,-0.19364626309311506,-0.18863788937724246,-0.184174972746467,-0.18015399184674585,-0.17652463522122241,-0.17317920321473412,-0.16891423356900281},
{-1.2631457751517674,-0.759903883971413,-0.5194653244933978,-0.4086546206943318,-0.3463594546539501,-0.305068504991727,-0.282195275711258,-0.26138655293365254,-0.24533280621967224,-0.23252547303732252,-0.22202677494032086,-0.21324521641163496,-0.20575530302266154,-0.1992812334692493,-0.1936128938514612,-0.1886060127940885,-0.18414440291429957,-0.1801245791705024,-0.17649625197559038,-0.17314817425314288,-0.16889904886520668},
{-1.2631720794929922,-0.7596902487295625,-0.5193066849837158,-0.40854067913294667,-0.3462710677493952,-0.3049784830089597,-0.28213190509283015,-0.26133049410359144,-0.24528250064040646,-0.23247961846854537,-0.22198445074614703,-0.2132057582466773,-0.20571822542076657,-0.19924616563154673,-0.19357954798435495,-0.18857415858362492,-0.18411385458480334,-0.18009518722911322,-0.17646788878549557,-0.173116812067442,-0.1688839877541155},
{-1.263197378445339,-0.7594765472099008,-0.5191481223427399,-0.40842680752620186,-0.3461827386243854,-0.30488848011630587,-0.2820685741814275,-0.26127447391375025,-0.2452322299275278,-0.23243379574603873,-0.22194215596194677,-0.21316632755217801,-0.20568117368181138,-0.1992111223110542,-0.1935462254763265,-0.18854232673131843,-0.18408332774448644,-0.18006581601022864,-0.1764395456392367,-0.17308510582574677,-0.16886904069848185},
{-1.263221674385901,-0.7592627799952125,-0.5189896365940849,-0.408313005835097,-0.3460944672359316,-0.30479849832075834,-0.28200528297097494,-0.26121849233377104,-0.24518199405307906,-0.23238800484580802,-0.22189989056559645,-0.2131269243084466,-0.20564414778804085,-0.19917610349151627,-0.19351292631176253,-0.18851051722303325,-0.18405282237993825,-0.18003646550125474,-0.1764112225248926,-0.17305304619667172,-0.16885419834048898},
{-1.2632449696868664,-0.7590489476663378,-0.518831227760967,-0.4081992740205247,-0.34600625354134795,-0.30470853960873656,-0.28194203145529384,-0.26116254933314753,-0.24513179298926024,-0.23234224574398477,-0.22185765453528505,-0.21308754849579792,-0.20560714772139832,-0.1991411091565065,-0.19347965047530558,-0.18847873004450033,-0.18402233847813987,-0.18000713569004345,-0.17638291943103646,-0.17302062537017848,-0.16883945151694402},
{-1.2632672667155318,-0.7588350508020689,-0.5186728958664055,-0.4080856120436289,-0.34591809749773894,-0.3046186059461151,-0.28187881962785477,-0.2611066448815422,-0.24508162670826206,-0.23229651841671117,-0.22181544784894847,-0.21304820009451708,-0.20557017346419126,-0.1991061392897726,-0.19344639795165453,-0.18844696518163717,-0.1839918760255146,-0.17997782656393735,-0.176354636345748,-0.1729878370611,-0.168824791273551},
{-1.2632885678344377,-0.7586210899792978,-0.5185146409330232,-0.4079720198650896,-0.3458299990624556,-0.30452869927783377,-0.2818156474822091,-0.26105077894888273,-0.24503149518238132,-0.23225082284027065,-0.22177327048507545,-0.2130088790852458,-0.20553322499875426,-0.19907119387530026,-0.19341316872561043,-0.18841522262072452,-0.18396143500929218,-0.17994853811115696,-0.1763263732576701,-0.17295467649795304,-0.16881020887657172},
{-1.263308875401169,-0.7584070657729396,-0.5183564629831281,-0.407858497446004,-0.3457419581926846,-0.30443882152734414,-0.2817525150115272,-0.2609949515047312,-0.2449813983838367,-0.2322051589907681,-0.22173112242162318,-0.21296958544831224,-0.20549630230716742,-0.19903627289645076,-0.1933799627814321,-0.18838350234721224,-0.18393101541598744,-0.17991927031897692,-0.1762981301548514,-0.17292114039676498,-0.16879569582166987},
{-1.2633281917685681,-0.7581929787559933,-0.5181983620387074,-0.40774504474734163,-0.3456539748457783,-0.3043489745965742,-0.2816894222090931,-0.26093916251904314,-0.24493133628514796,-0.23215952684466146,-0.22168900363711375,-0.21293031916431948,-0.20545940537191987,-0.1990013763373506,-0.19334678010429673,-0.1883518043474428,-0.18390061723272266,-0.17989002317558977,-0.1762699070260374,-0.17288722692452074,-0.1687812438433003},
{-1.2633465192845377,-0.7579788294994458,-0.5180403381214185,-0.40763166172978504,-0.34556604897915966,-0.3042591603656355,-0.28162636906792393,-0.260883411961657,-0.24488130885866166,-0.23211392637831363,-0.22164691411006965,-0.21289108021388792,-0.2054225341754461,-0.19896650418175854,-0.19331362067889568,-0.1883201286074323,-0.18387024044647227,-0.1798607966686956,-0.17624170385978966,-0.17285293565141702,-0.16876684491972282},
{-1.2633638602922908,-0.757764618572419,-0.5178823912526624,-0.40751834835449774,-0.3454781805503222,-0.30416938069272925,-0.2815633555810795,-0.26082769980253584,-0.24483131607702413,-0.23206835756816968,-0.22160485381891792,-0.21285186857783733,-0.20538568870027873,-0.19893165641371535,-0.19328048449024138,-0.18828847511333446,-0.18383988504414805,-0.17983159078630662,-0.17621352064436424,-0.1728182674944363,-0.1687524912786338},
{-1.2633802171301354,-0.7575503465420528,-0.5177245214534074,-0.4074051045821694,-0.34539036951697266,-0.3040796374142358,-0.28150038174124026,-0.26077202601172944,-0.2447813579127902,-0.2320228203909207,-0.22156282274232453,-0.21281268423687028,-0.20534886892907922,-0.19889683301735372,-0.193247371523261,-0.18825684385156327,-0.18380955101307483,-0.17980240551668336,-0.1761853573687504,-0.17278322465520057,-0.16873817540072977},
{-1.263395592131603,-0.7573360139735945,-0.5175667287444226,-0.40729193037378364,-0.3453026158364638,-0.303989932343665,-0.2814374475411965,-0.2607163905592116,-0.24473143433867772,-0.23197731482292028,-0.22152082085908908,-0.21277352717188913,-0.20531207484431047,-0.19886203397661273,-0.19321428176303002,-0.1882252348082325,-0.18377923834036647,-0.1797732408475512,-0.17615721402155637,-0.17274781055016852,-0.1687238900209831},
{-1.2634099876254523,-0.7571216214303556,-0.5174090131460698,-0.4071788256902158,-0.3452149194663714,-0.3039002672720854,-0.2813745529735283,-0.2606607934150853,-0.24468154532727926,-0.2319318408410158,-0.22147884814783358,-0.2127343973637057,-0.20527530642881775,-0.19882725927544076,-0.19318121519458042,-0.1881936479697277,-0.18374894701302846,-0.17974409676722258,-0.1761290905912407,-0.17271202973895017,-0.1687096281314311},
{-1.263423405935662,-0.7569071694737308,-0.5172513746784508,-0.40706579049217106,-0.34512728036459883,-0.3038106439680419,-0.2813116980307946,-0.2606052345494776,-0.24463169085151648,-0.2318863984217292,-0.22143690458754595,-0.21269529479338534,-0.2052385636652283,-0.19879250889829292,-0.19314817180300992,-0.18816208332227857,-0.1837186770186401,-0.17971497326385544,-0.1761009870668473,-0.17267588784755805,-0.16869538298012277},
{-1.2634358493814108,-0.7566926586632416,-0.5170938133613818,-0.4069528247407539,-0.3450396984888,-0.30372106417730604,-0.2812488827054902,-0.26054971393261406,-0.24458187088428485,-0.2318409875418781,-0.22139499015707775,-0.21265621944185886,-0.2052018465365406,-0.19875778282920997,-0.19311515157363557,-0.1881305408524332,-0.1836884283442335,-0.17968587032558414,-0.17607290343706294,-0.17263939149112373,-0.16868114807140433},
{-1.2634473202771392,-0.7564780895564631,-0.5169363292142992,-0.4068399283965243,-0.3449521737969463,-0.3036315296226455,-0.2811861069896855,-0.2604942315346843,-0.24453208539839588,-0.23179560817844846,-0.22135310483555815,-0.21261717129036528,-0.2051651550256035,-0.19872308105235215,-0.1930821544916812,-0.1880990205467712,-0.1836582009774821,-0.17965678794100626,-0.1760448396907286,-0.1726025481951834,-0.16866691716453142},
{-1.263457820932493,-0.7562634627091347,-0.5167789222564352,-0.4067271014205014,-0.34486470624670407,-0.3035420420039059,-0.2811233708756382,-0.26043878732598147,-0.2444823343670044,-0.23175026030813584,-0.22131124860205853,-0.2125781503199029,-0.20512848911535952,-0.19868840355224915,-0.19304918054239018,-0.18806752239167146,-0.18362799490553927,-0.1796277260980994,-0.17601679581682905,-0.17256536631632713,-0.16865268427145486},
{-1.2634673536524312,-0.75604877867507,-0.5166215925066058,-0.4066143437735623,-0.34477729579596117,-0.3034526029977931,-0.28106067435560167,-0.2603833812767915,-0.2444326177630809,-0.23170494390797192,-0.2212694214357387,-0.2125391565120034,-0.20509184878878584,-0.1986537503131709,-0.19301622971130117,-0.18803604637379046,-0.18359781011619303,-0.17959868478544427,-0.1759887718043407,-0.1725278549644318,-0.16863844365483605},
{-1.2634759207371105,-0.7558340380062165,-0.516464339983377,-0.4065016554163656,-0.34468994240296436,-0.3033632142576206,-0.2809980174214948,-0.2603280133574275,-0.24438293555982327,-0.23165965895505503,-0.22122762331592272,-0.21250018984752428,-0.20505523402905057,-0.19861912131940018,-0.19298330198380986,-0.18800459247976997,-0.1835676465968752,-0.1795696639914346,-0.17596076764222612,-0.17249002392472113,-0.16862418982426908},
{-1.2634835244820366,-0.7556192412526399,-0.5163071647050845,-0.4063890363098892,-0.34460264602552826,-0.303273877413778,-0.28093540006546336,-0.2602726835383713,-0.24433328773049556,-0.2316144054263649,-0.22118585422185566,-0.21246125030803942,-0.20501864481942933,-0.19858451655551645,-0.1929503973454283,-0.18797316069629533,-0.18353750433515392,-0.179540663704711,-0.17593278331957318,-0.17245188358384222,-0.16860991753395815},
{-1.2634901671779155,-0.7554043889625321,-0.5161500666896148,-0.4062764864147712,-0.34451540662198044,-0.3031845940732918,-0.28087282227906885,-0.26021739178990977,-0.24428367424826725,-0.23156918329897147,-0.22114411413290247,-0.21242233787500941,-0.20498208114299077,-0.19854993600603255,-0.19291751578170535,-0.18794175101009625,-0.18350738331891447,-0.17951168391355443,-0.17590481882543596,-0.17241344485526255,-0.16859562177821275},
{-1.2634958511107894,-0.7551894816822735,-0.5159930459546942,-0.4061640056919633,-0.3444282241502581,-0.3030953658197908,-0.2808102840542208,-0.2601621380825452,-0.24423409508657556,-0.23152399255009337,-0.22110240302877715,-0.21238345252981805,-0.2049455429830216,-0.19851537965549682,-0.19288465727832538,-0.18791036340802947,-0.1834772835356615,-0.1794827246067232,-0.1758768741490404,-0.17237471910982904,-0.16858129778735664},
{-1.263500578561983,-0.7549745199562958,-0.5158361025177003,-0.40605159410229197,-0.34434109856858885,-0.3030061942135278,-0.2807477853825069,-0.26010692238675936,-0.24418455021887775,-0.23147883315697193,-0.22106072088874162,-0.21234459425405827,-0.20490903032310515,-0.1984808474884847,-0.19285182182102512,-0.18787899787686202,-0.18344720497338862,-0.17945378577298454,-0.17584894927972305,-0.17233571810787218,-0.16856694102384662},
{-1.263504351808154,-0.7547595043273101,-0.5156792363957257,-0.40593925160647304,-0.3442540298354895,-0.30291708079143476,-0.2806853262558091,-0.2600517446731194,-0.2441350396185582,-0.231433705096995,-0.22101906769274393,-0.21230576302937232,-0.20487254314649173,-0.19844633948970447,-0.19281900939561725,-0.1878476544035741,-0.183417147620069,-0.1794248674008676,-0.17582104420662992,-0.17229645393437032,-0.16855254717733814},
{-1.2635071731212415,-0.754544435336062,-0.5155224476055129,-0.40582697816535873,-0.34416701790912585,-0.30282802706708,-0.28062290666545975,-0.2599966049120894,-0.2440855632594512,-0.2313886083472676,-0.22097744342024672,-0.21226695883726254,-0.2048360814368695,-0.19841185564385588,-0.19278621998782386,-0.18781633297512457,-0.18338711146317888,-0.1793959694790659,-0.1757931589191135,-0.17225693893786476,-0.16853811215968184},
{-1.2635090447685222,-0.7543293135214988,-0.5153657361636266,-0.4057147737397018,-0.3440800627479974,-0.302739034530886,-0.2805605266029336,-0.2599415030743284,-0.24403612111500417,-0.2313435428854782,-0.2209358480512016,-0.21222818165967317,-0.20479964517757532,-0.19837739593566317,-0.19275345358369433,-0.18778503357864862,-0.18335709649132914,-0.17936709199661083,-0.17576529340658098,-0.17221718567290356,-0.16852363210053412},
{-1.2635099690125942,-0.7541141394207795,-0.5152091020862728,-0.4056026382904103,-0.34399316431044946,-0.3026501046497003,-0.2804981860595759,-0.25988643913043186,-0.24398671315897058,-0.23129850868886104,-0.22089428156528168,-0.21218943147826774,-0.20476323435248167,-0.1983429603499669,-0.19272071016915104,-0.18775375620106471,-0.18332710269217634,-0.17933823494202228,-0.17573744765843902,-0.1721772068448182,-0.16850910334160263},
{-1.2635099481114735,-0.7538989135692173,-0.5150525453893984,-0.4054905717781967,-0.3439063225550312,-0.3025612388670065,-0.28043588502672145,-0.2598314130511068,-0.24393733936519135,-0.23125350573508285,-0.22085274394264598,-0.21215070827487992,-0.20472684894525495,-0.1983085488717129,-0.19268798973029266,-0.1877225008297243,-0.18329713005403425,-0.17930939830443693,-0.17570962166419424,-0.17213701525951786,-0.16849452243157792},
{-1.263508984318419,-0.7536836365003119,-0.5148960660886499,-0.40537857416387846,-0.3438195374403872,-0.30247243860322204,-0.28037362349580697,-0.259776424806911,-0.24388799970754782,-0.23120853400156083,-0.22081123516322743,-0.21211201203159824,-0.204690488939534,-0.1982741614857102,-0.1926552922531446,-0.1876912674515645,-0.18326717856508568,-0.17928058207281383,-0.17568181541345007,-0.1720966237757331,-0.1684798861207213},
{-1.2635070798821002,-0.7534683087456897,-0.5147396641994155,-0.40526664540837265,-0.34373280892513414,-0.3023837052553584,-0.2803114014577277,-0.2597214743686451,-0.24383869416004122,-0.23116359346590798,-0.22076975520699582,-0.21207334273016043,-0.20465415431941603,-0.1982397981769486,-0.19262261772398093,-0.1876600560540327,-0.18323724821331977,-0.1792517862360019,-0.17565402889571402,-0.17205604526034923,-0.1684651913558386},
{-1.2635042370465541,-0.7532529308352254,-0.5145833397367716,-0.4051547854723321,-0.3436461369681343,-0.30229504019772646,-0.28024921890378707,-0.25966656170710367,-0.24378942269670256,-0.23111868410591851,-0.220728304054282,-0.21203470035288952,-0.20461784506865888,-0.19820545893066743,-0.19258996612911794,-0.18762886662456868,-0.18320733898742114,-0.17922301078313163,-0.1756262621006952,-0.1720152925488483,-0.16845043527392445},
{-1.2635004580512263,-0.7530375032969956,-0.514427092715513,-0.4050429943166267,-0.3435595215279368,-0.302206444781024,-0.2801870758248022,-0.25961168679296165,-0.24374018529159835,-0.23107380589917037,-0.22068688168522232,-0.2119960848817648,-0.20458156117136683,-0.1981711437315843,-0.192557337454776,-0.18759769915034452,-0.18317745087555126,-0.1791942557031967,-0.17559851501805657,-0.17197437840662388,-0.16843561519735362},
{-1.2634957451309408,-0.75282202665731,-0.5142709231502383,-0.4049312719021052,-0.3434729625633448,-0.30211792033314566,-0.2801249722118877,-0.2595568495970868,-0.24369098191897942,-0.23102895882359542,-0.22064548808017603,-0.21195749629910177,-0.20454530261153714,-0.19813685256512814,-0.192524731687433,-0.18756655361905628,-0.183147583866349,-0.1791655209854932,-0.17557078763753875,-0.1719333154956999,-0.1684207286277548},
{-1.2634901005158299,-0.7526065014405969,-0.5141148310551249,-0.40481961818948964,-0.34338646003346396,-0.3020294681589184,-0.2800629080558328,-0.25950205009037086,-0.2436418125530797,-0.23098414285676006,-0.22060412321957656,-0.21191893458695077,-0.20450906937330737,-0.19810258541625858,-0.19249214881344834,-0.18753543001781114,-0.18311773794816366,-0.17913680661898157,-0.1755430799490565,-0.17189211634319124,-0.16840577324052575},
{-1.263483526431564,-0.752390928169576,-0.513958816444259,-0.4047080331397872,-0.3433000138971183,-0.30194108954045706,-0.2800008833475931,-0.2594472882436394,-0.2435926771682846,-0.23093935797671605,-0.22056278708369215,-0.21188039972768102,-0.20447286144081067,-0.19806834227035797,-0.19245958881939007,-0.1875043283345108,-0.18308791310940276,-0.1791081125930276,-0.17551539194235044,-0.1718507933130491,-0.16839074687957734},
{-1.2634760250991248,-0.752175307365184,-0.5138028793313012,-0.4045965167135783,-0.34321362411348666,-0.30185278573737584,-0.2799388980777273,-0.25939256402792843,-0.24354357573911267,-0.2308946041612896,-0.22052147965317737,-0.2118418917038123,-0.20443667879842176,-0.19803412311274382,-0.1924270516919364,-0.18747324855670522,-0.1830581093390573,-0.17907943889705225,-0.17548772360740772,-0.17180935858146018,-0.16837564755138779},
{-1.2634675987349864,-0.7519596395465742,-0.5136470197297021,-0.4044850688719004,-0.3431272906414735,-0.3017645579862567,-0.2798769522369855,-0.25933787741398495,-0.24349450823997154,-0.2308498813884703,-0.22048020090874987,-0.21180341049766715,-0.20440052143044563,-0.19799992792868526,-0.19239453741761725,-0.18744219067200696,-0.18302832662549706,-0.17905078552009712,-0.17546007493418703,-0.1717678241130729,-0.16836047341889238},
{-1.2634582495509936,-0.7517439252310956,-0.5134912376527132,-0.40437368957549946,-0.343041013440172,-0.3016764075011644,-0.27981504581593697,-0.2592832283730888,-0.24344547464547972,-0.23080518963630148,-0.22043895083078535,-0.21176495609188484,-0.20436438932132717,-0.19796575670354244,-0.19236204598329731,-0.1874111546682129,-0.1829985649576078,-0.1790221524517155,-0.17543244591262752,-0.17172620164307428,-0.1683452227975213},
{-1.2634479797544917,-0.7515281649343999,-0.5133355331131564,-0.4042623787852091,-0.3429547924690244,-0.30158833547393193,-0.27975317880519324,-0.2592286168760629,-0.24339647493038363,-0.23076052888279808,-0.22039772940030522,-0.21172652846895046,-0.20432828245542867,-0.19793160942283938,-0.19232957737556022,-0.1873801405330826,-0.18296882432425354,-0.17899353968134424,-0.17540483653297922,-0.1716845026582563,-0.1683298941475675},
{-1.2634367915481994,-0.751312359170371,-0.5131799061237938,-0.40415113646194945,-0.34286862768713844,-0.3015003430739598,-0.27969135119520727,-0.2591740428941067,-0.24334750906946034,-0.23071589910603318,-0.2203565365979676,-0.2116881276113638,-0.20429220081744282,-0.19789748607207924,-0.19229713158155626,-0.1873491482544205,-0.1829391047140625,-0.17896494719828748,-0.1753772467853052,-0.1716427383830199,-0.16831448607061095},
{-1.2634246871303991,-0.7510965084510886,-0.5130243566969432,-0.4040399625664839,-0.342782519054015,-0.3014124314487425,-0.27962956297622155,-0.25911950639833936,-0.24329857703748514,-0.23067130028425709,-0.22031537240471089,-0.21164975350220372,-0.2042561443918829,-0.19786338663679937,-0.19226470858795697,-0.18731817782017446,-0.1829094061161891,-0.17893637499240356,-0.17534967665975376,-0.17160091976638192,-0.16829899730336084},
{-1.263411668694716,-0.7508806132869865,-0.5128688848447864,-0.40392885705974546,-0.3426964665289467,-0.3013246017234956,-0.2795678141385385,-0.2590650073598817,-0.24324967880945403,-0.2306267323956379,-0.22027423680139213,-0.21161140612400198,-0.2042201131634438,-0.1978293111026468,-0.1922323083818216,-0.1872872292183625,-0.18287972851943834,-0.1789078230530068,-0.17532212614665887,-0.1715590574718595,-0.16828342671201302},
{-1.2633977384303599,-0.7506646741866803,-0.5127134905791633,-0.40381781990262633,-0.34261047007127754,-0.30123685500161423,-0.27950610467252446,-0.25901054575002913,-0.2432008143603972,-0.23058219541850455,-0.22023312976916376,-0.21157308545971532,-0.20418410711678137,-0.19779525945529075,-0.19219993095018273,-0.18725630243687386,-0.18285007191312097,-0.17887929136999414,-0.17529459523637048,-0.1715171618686,-0.16826777328798048},
{-1.263382898521948,-0.7504486916570927,-0.5125581739117036,-0.4037068510559738,-0.3425245296407722,-0.30114919236461324,-0.2794444345682261,-0.2589561215400007,-0.24315198366534707,-0.23053768933111707,-0.22019205128892638,-0.2115347914920953,-0.20414812623697332,-0.19776123168045556,-0.19216757628027015,-0.18722539746393085,-0.18282043628609923,-0.17885077993280607,-0.17526708391924295,-0.1714752430245099,-0.16825203614181827},
{-1.2633671511496454,-0.7502326662033869,-0.5124029348537698,-0.4035959504807658,-0.34243864519691325,-0.3010616148725256,-0.27938280381597913,-0.2589017347011553,-0.24310318669962339,-0.23049321411193224,-0.22015100134200738,-0.21149652420429854,-0.2041121705086839,-0.19772722776386153,-0.19213524435912888,-0.1871945142877003,-0.18279082162754978,-0.17882228873145056,-0.17523959218548413,-0.17143331070146495,-0.16823621449880655},
{-1.2633504984890567,-0.7500165983290517,-0.5122477734164872,-0.40348511813771326,-0.3423528166994654,-0.3009741235642007,-0.2793212124054243,-0.2588473852048292,-0.24305442343843398,-0.23044876973934203,-0.22010997990938153,-0.2114582835792036,-0.20407623991683232,-0.1976932476914941,-0.19210293517397403,-0.1871636528962437,-0.18276122792664484,-0.17879381775546577,-0.17521212002570952,-0.17139137435085416,-0.16822030769394125},
{-1.2633329427113629,-0.7498004885358143,-0.5120926896107156,-0.4033743539879655,-0.3422670441080977,-0.300886719456797,-0.2792596603266606,-0.2587930730224799,-0.24300569385707416,-0.23040435619174815,-0.22006898697252408,-0.21142006960016824,-0.20404033444669167,-0.19765929144908823,-0.19207064871217927,-0.1871328132778345,-0.1827316551727476,-0.17876536699489964,-0.17518466743044048,-0.17134944311267297,-0.16820431516686973},
{-1.2633144859832122,-0.7495843373237321,-0.5119376834470422,-0.4032636579922828,-0.34218132738241636,-0.3007994035464847,-0.27919814756946204,-0.25873879812554623,-0.24295699793105996,-0.23035997344780235,-0.2200280225126403,-0.21138188225012433,-0.2040044540830359,-0.19762535902274259,-0.19203838496102055,-0.18710199542088546,-0.18270210335502135,-0.17873693643964206,-0.17515723439030229,-0.17130752581252562,-0.16818823645750225},
{-1.2632951304668212,-0.7493681451911522,-0.5117827549358585,-0.4031530301116941,-0.3420956664826096,-0.3007121768084806,-0.27913667412377263,-0.25868456048564603,-0.24290833563594827,-0.2303156214861608,-0.21998708651129828,-0.21134372151249803,-0.20396859881124385,-0.19759145039841153,-0.1920061439080758,-0.18707119931386362,-0.18267257246327073,-0.17870852607967969,-0.17512982089602325,-0.1712656309631102,-0.1681720712014272},
{-1.2632748783198968,-0.7491519126346782,-0.5116279040872209,-0.40304247030717155,-0.3420100613684216,-0.30062504019713243,-0.27907523997923844,-0.2586303600742914,-0.24285970694730175,-0.23027130028528342,-0.21994617894966728,-0.21130558737047123,-0.20393276861642606,-0.19755756556208492,-0.19197392554057213,-0.1870404249449633,-0.18264306248631001,-0.17868013590490683,-0.1751024269381709,-0.17122376676361029,-0.16815581912482802},
{-1.2632537316957018,-0.7489356401492839,-0.5114731309110438,-0.40293197853954554,-0.34192451199998564,-0.30053799464652187,-0.27901384512535277,-0.2585761968631486,-0.24281111184081494,-0.23022700982409638,-0.21990529980945883,-0.2112674798074936,-0.2038969634837562,-0.19752370450009593,-0.19194172984620206,-0.18700967230300414,-0.18261357341393492,-0.17865176590567167,-0.1750750525074718,-0.17118194110255036,-0.16813948004129653},
{-1.2632316927430853,-0.7487193282282072,-0.5113184354169356,-0.40282155476993475,-0.34183901833727237,-0.30045104106991394,-0.27895248955171237,-0.258522070823906,-0.24276255029239113,-0.23018275008115197,-0.2198644490721926,-0.21122939880715297,-0.20386118339876447,-0.19748986719842865,-0.19190955681227972,-0.18697894137650106,-0.18258410523566493,-0.17862341607185872,-0.17504769759489136,-0.1711401615590349,-0.16812305384615467},
{-1.2632087636064555,-0.7485029773630376,-0.5111638176143107,-0.4027111989592891,-0.34175358034030534,-0.3003641803603503,-0.2788911732477586,-0.2584679819285025,-0.24271402227770755,-0.23013852103542254,-0.21982362671955658,-0.21119134435279197,-0.20382542834674222,-0.19745605364347796,-0.19187740642693552,-0.1869482321540321,-0.1825546579410462,-0.17859508639372823,-0.17502036219112327,-0.17109843540689962,-0.168106540513568},
{-1.2631849464257434,-0.7482865880436975,-0.5110092775122639,-0.4026009110686126,-0.34166819796949666,-0.30027741339085834,-0.27882989620300735,-0.25841393014863545,-0.2426655277729135,-0.23009432266577523,-0.21978283273322807,-0.21115331642809476,-0.20378969831312332,-0.19742226382150374,-0.19184527867737344,-0.18691754462430676,-0.18252523151991618,-0.178566776861679,-0.17499304628720402,-0.17105676961711946,-0.1680899400920337},
{-1.2631602433364781,-0.7480701607583773,-0.5108548151197492,-0.40249069105902313,-0.3415828711849387,-0.3001907410144926,-0.2787686584066984,-0.2583599154561962,-0.24261706675400774,-0.23005015495098347,-0.21974206709500832,-0.21111531501671044,-0.20375399328353172,-0.1973884977188387,-0.19181317355166616,-0.18688687877621302,-0.182495825961432,-0.17853848746571366,-0.1749657498740982,-0.1710151708628027,-0.16807325270026485},
{-1.2631346564698118,-0.7478536959936501,-0.5107004304453979,-0.40238053889135017,-0.34149759994720297,-0.30010416406501106,-0.27870745984807677,-0.2583059378233199,-0.24256863919705163,-0.2300060178701413,-0.21970132978665768,-0.21107734010253631,-0.20371831324339507,-0.19735475532211222,-0.1917810910375639,-0.18685623459855538,-0.18246644125587164,-0.17851021819643087,-0.17493847294281917,-0.17097364552298977,-0.16805647852407013},
{-1.2631081879524335,-0.7476371942344162,-0.5105461234976598,-0.40227045452680743,-0.3414123842164911,-0.3000176833561925,-0.2786463005161641,-0.2582519972218975,-0.24252024507826597,-0.22996191140227618,-0.21966062079014526,-0.2110393916691975,-0.20368265817850784,-0.19732103661764366,-0.19174903112286046,-0.18682561208032755,-0.18243707739271642,-0.17848196904413882,-0.1749112154843777,-0.17093219968783036,-0.16803961781211907},
{-1.2630808399067015,-0.7474206559639267,-0.510391894284715,-0.4021604379264545,-0.34132722395321835,-0.29993129968262977,-0.2785851804002544,-0.25819809362417434,-0.24247188437411182,-0.2299178355264937,-0.2196199400873855,-0.21100146970071387,-0.2036470280743492,-0.1972873415920784,-0.19171699379554052,-0.18679501121044506,-0.1824077343619539,-0.1784537399994539,-0.17488397749015228,-0.17089083916362124,-0.16802267087298084},
{-1.2630526144505163,-0.7472040816637606,-0.5102377428145073,-0.4020504890513128,-0.34124211911813296,-0.2998450138196467,-0.2785240994891369,-0.2581442270023424,-0.24242355706081886,-0.22987379022187682,-0.21957928766050205,-0.21096357418109868,-0.2036114229169108,-0.19725367023180684,-0.1916849790434485,-0.18676443197785275,-0.18237841215332828,-0.17842553105278736,-0.1748567589511678,-0.1708495694778902,-0.16800563807055813},
{-1.2630235136974441,-0.7469874718138771,-0.5100836690948669,-0.40194060786262176,-0.34115706967170034,-0.29975882652382335,-0.27846305777194935,-0.2580903973285187,-0.24237526311499602,-0.22982977546753203,-0.21953866349149598,-0.21092570509418884,-0.20357584269173667,-0.19722002252395665,-0.19165298685490484,-0.18673387437201328,-0.18234911075689464,-0.17839734219457526,-0.17482955985858517,-0.17080839588565766,-0.1679885198228055},
{-1.2629935397566963,-0.7467708268925985,-0.5099296731332092,-0.40183079432130997,-0.3410720755748602,-0.2996727385333129,-0.27840205523738426,-0.25803660457526334,-0.24232700251310924,-0.22978579124289533,-0.21949806756263346,-0.21088786242440083,-0.20354028738484775,-0.19718639845495112,-0.1916210172177193,-0.18670333838184305,-0.18231983016260678,-0.17836917341579372,-0.17480238020414784,-0.17076732337505085,-0.1679713165971526},
{-1.2629626947330985,-0.746554147376596,-0.5097757549368462,-0.4017210483887208,-0.34098713678803483,-0.2995867505671632,-0.27834109187428213,-0.2579828487148199,-0.24227877523185004,-0.22974183752712474,-0.21945749985597063,-0.21085004615575542,-0.20350475698206427,-0.1971527980119685,-0.1915890701202949,-0.18667282399669283,-0.18229057036038476,-0.17834102470669677,-0.17477521997848378,-0.1707263566726196,-0.16795402890674005},
{-1.2629309807270714,-0.7463374337409201,-0.5096219145128384,-0.40161137002586544,-0.3409022532721022,-0.299500863326402,-0.2782801676712263,-0.25792912971983517,-0.24223058124787622,-0.2296979142995208,-0.21941696035396596,-0.2108122562725816,-0.20346925146948447,-0.19711922118142766,-0.1915571455507754,-0.1866423312060217,-0.18226133134039557,-0.1783128960586069,-0.17474807917365798,-0.17068550025064333,-0.16793665731023566},
{-1.2628983998347985,-0.7461206864589647,-0.5094681518679449,-0.4015017591939798,-0.3408174249881242,-0.2994150774938231,-0.27821928261696227,-0.25787544756280223,-0.2421824205381835,-0.22965402153950354,-0.21937644903891673,-0.21077449275917637,-0.20343377083279535,-0.19708566795046156,-0.19152524349729916,-0.18661185999883934,-0.18223211309299092,-0.17828478746173015,-0.17472095778102936,-0.1706447583326529,-0.1679192024056304},
{-1.262864954148045,-0.7459039060025678,-0.5093144670089105,-0.40139221585438234,-0.34073265189690494,-0.2993293937344479,-0.27815843670015017,-0.25782180221635986,-0.24213429307956558,-0.22961015922643258,-0.21933596589337423,-0.2107367555999744,-0.20339831505846373,-0.19705213830643675,-0.19149336394849037,-0.1865814103650365,-0.1822029156078484,-0.17825669890724516,-0.17469385579212737,-0.17060413489923576,-0.16790166483031221},
{-1.262830645754296,-0.7456870928419019,-0.5091608599419648,-0.4012827399680452,-0.3406479339596862,-0.29924381269572686,-0.27809762990906517,-0.2577681936533689,-0.24208619884902038,-0.22956632733990778,-0.2192955108996415,-0.21069904477955248,-0.2033628841322619,-0.1970186322360945,-0.19146150689253005,-0.18655098229394262,-0.1821737388757141,-0.17822863038624348,-0.17466677319831092,-0.1705636336959131,-0.1678840452568826},
{-1.2627954767366605,-0.7454702474455233,-0.509007330673378,-0.40117333149638323,-0.34056327113736806,-0.299158335007367,-0.27803686223211477,-0.2577146218465356,-0.24203813782370398,-0.2295225258593283,-0.21925508404037775,-0.2106613602823426,-0.20332747804071527,-0.1969851497268298,-0.19142967231817298,-0.18652057577518733,-0.18214458288654445,-0.17820058188926957,-0.17463970999161127,-0.1705232582386058,-0.1678663443907702},
{-1.2627594491739966,-0.7452533702804938,-0.5088538792090316,-0.40106399040067897,-0.340478663391099,-0.2990729612820999,-0.27797613365770824,-0.2576610867689251,-0.241990109980736,-0.2294787547644379,-0.21921468529823862,-0.21062370209329373,-0.20329209676973914,-0.1969516907657498,-0.19139786021364014,-0.18649019079839046,-0.18211544763089904,-0.1781725534077383,-0.17461266616354632,-0.1704830118201519,-0.16784856296890993},
{-1.2627225651408154,-0.7450364618120897,-0.508700505554653,-0.4009547166421257,-0.34039411068231384,-0.29898769211516907,-0.27791544417414515,-0.25760758839336395,-0.2419421152972654,-0.22943501403468947,-0.2191743146558407,-0.21058607019674014,-0.20325674030564844,-0.19691825534023089,-0.1913660705678799,-0.18645982735337974,-0.18208633309897682,-0.17814454493269416,-0.1745856417060745,-0.1704428975171961,-0.16783070175626946},
{-1.2626848267073676,-0.7448195225041423,-0.5085472097158386,-0.40084551018214043,-0.3403096129722276,-0.29890252808532525,-0.2778547937697091,-0.25755412669317135,-0.24189415375090428,-0.22939130364985605,-0.21913397209608387,-0.21054846457776577,-0.20322140863514626,-0.19688484343774526,-0.19133430336938329,-0.18642948542989757,-0.18205723928146167,-0.17811655645518965,-0.17455863661100235,-0.17040291819621967,-0.16781276154403812},
{-1.2626462359395862,-0.7446025528188529,-0.5083939916977926,-0.4007363709818881,-0.34022517022233023,-0.2988174697548942,-0.27779418243238174,-0.2575007016413089,-0.24184622531867594,-0.22934762358958682,-0.21909365760141863,-0.21051088522085415,-0.20318610174396134,-0.19685145504569945,-0.19130255860676737,-0.1863991650176775,-0.18202816616869733,-0.17808858796639804,-0.17453165086999434,-0.17036307652122407,-0.167794743148038},
{-1.262606794899158,-0.7443855532168371,-0.5082408515056493,-0.40062729900287675,-0.34014078239398593,-0.2987325176694262,-0.2777336101502508,-0.2574473132110824,-0.24179832997838746,-0.2293039738337166,-0.21905337115541013,-0.2104733321114569,-0.20315081961912007,-0.19681809015169627,-0.19127083626907826,-0.18636886610689807,-0.18199911375127265,-0.17806063945770578,-0.17450468447527,-0.17032337495866035,-0.16777664740569787},
{-1.2625665056434647,-0.744168524157085,-0.508087789144251,-0.40051829420640983,-0.34005644944856783,-0.2986476723585181,-0.27767307691139376,-0.2573939613759211,-0.24175046770757502,-0.2292603543619025,-0.2190131127403383,-0.21043580523423344,-0.20311556224670024,-0.196784748743279,-0.19123913634500234,-0.18633858868709474,-0.18197008201986264,-0.1780327109203963,-0.17447773741861194,-0.17028381578444307,-0.16775847517485776},
{-1.262525370225689,-0.7439514660971396,-0.5079348046183108,-0.4004093565539102,-0.33997217134812674,-0.29856293433564796,-0.2776125827037137,-0.2573406461093013,-0.241702638483817,-0.22921676515431066,-0.21897288233967416,-0.2103983045744462,-0.2030803296136101,-0.1967514308081979,-0.19120745882351553,-0.18630833274889902,-0.18194107096526135,-0.17800480234596527,-0.1744508096926891,-0.1702444010925772,-0.16774022733237448},
{-1.2624833906946673,-0.7437343794928029,-0.5077818979322188,-0.4003004860068806,-0.33988794805394695,-0.29847830409851683,-0.27755212751523617,-0.2572873673847127,-0.24165484228491296,-0.22917320619060177,-0.21893267993629983,-0.21036083011687268,-0.20304512170611222,-0.19671813633428048,-0.1911758036935991,-0.18627809828193165,-0.18191208057781427,-0.17797691372559576,-0.17442390128894036,-0.17020513279720895,-0.1677219047711631},
{-1.2624405690950602,-0.7435172647984469,-0.5076290690902363,-0.40019168252654547,-0.3398037795280633,-0.2983937821300162,-0.27749171133353734,-0.2572341251757715,-0.24160707908873214,-0.22912967745082913,-0.21889250551324313,-0.210323381847207,-0.20300993851097893,-0.1966848653092761,-0.19114417094419522,-0.18624788527646619,-0.18188311084874975,-0.1779490450512622,-0.17439701220023007,-0.17016601264322517,-0.16770350839938253},
{-1.262396907467259,-0.7433001224668141,-0.5074763180964101,-0.4000829460746287,-0.339719665732106,-0.2983093688968488,-0.2774313341465682,-0.2571809194561929,-0.2415593488731158,-0.22908617891505312,-0.21885235905402212,-0.21028595975035547,-0.20297478001503322,-0.1966516177210451,-0.19111256056438997,-0.1862176937229325,-0.18185416176844438,-0.17792119631418402,-0.1743701424181996,-0.17012704220946961,-0.16768503913866262},
{-1.2623524078475055,-0.7430829529491461,-0.5073236449546257,-0.3999742766124603,-0.33963560662800685,-0.29822506485113554,-0.2773709959419062,-0.2571277501999245,-0.24151165161617083,-0.22904271056345316,-0.2188122405418218,-0.21024856381191181,-0.20293964620486804,-0.19661839355784938,-0.19108097254364065,-0.18618752361126667,-0.1818252333282251,-0.1778933675058294,-0.1743432919357506,-0.1700882229170233,-0.16766649792272936},
{-1.262307072267694,-0.7428657566951151,-0.507171049668456,-0.39986567410168883,-0.33955160217783886,-0.2981408704299029,-0.27731069670744235,-0.25707461738079074,-0.24146398729594232,-0.22899927237606832,-0.21877214995995686,-0.21021119401743693,-0.2029045370672593,-0.19658519280749243,-0.1910494068706745,-0.1861573749320602,-0.18179632551908131,-0.177865558618441,-0.17431646074477491,-0.1700495560341757,-0.16764788569525724},
{-1.262260902755597,-0.7426485341528171,-0.5070185322413852,-0.399757138503793,-0.33946765234357423,-0.298056786055648,-0.27725043643063785,-0.2570215209727844,-0.24141635589053312,-0.22895586433308512,-0.21873208729181481,-0.2101738503519659,-0.2028694525893604,-0.19655201545824585,-0.1910178635353308,-0.18612724767559463,-0.18176743833138875,-0.17783776964312192,-0.17428964883812093,-0.170011042681943,-0.16762920341005128},
{-1.2622139013347577,-0.7424312857687991,-0.5068660926765718,-0.3996486697803374,-0.3393837570874476,-0.2979728121370333,-0.2771902150990866,-0.2569684609501115,-0.2413687573783463,-0.22891248641487572,-0.21869205252097945,-0.21013653280146904,-0.20283439275768433,-0.19651886149843367,-0.1909863425265117,-0.18609714183241088,-0.18173857175704544,-0.17781000057221696,-0.1742628562082249,-0.16997268384184672,-0.16761045202810188},
{-1.262166070024508,-0.7422140119881573,-0.5067137309771277,-0.39954026789305574,-0.3392999163715822,-0.2978889490676311,-0.2771300327002102,-0.2569154372869611,-0.24132119173752908,-0.22886913860162927,-0.21865204563100793,-0.21009924135164226,-0.2027993575596394,-0.19648573091609922,-0.19095484383374917,-0.18606705739284557,-0.18170972578659406,-0.17778225139722004,-0.17423608284749825,-0.16993448035975423,-0.16759163251720555},
{-1.2621174108400752,-0.7419967132544172,-0.5065614471458275,-0.3994319328034024,-0.3392161301581189,-0.29780519722765897,-0.27706988922153375,-0.2568624499575374,-0.2412736589466693,-0.22882582087413983,-0.21861206660568744,-0.21006197598808996,-0.2027643469819509,-0.19645262369994665,-0.1909233674467341,-0.18603699434782417,-0.18168090041171236,-0.17775452211031695,-0.17420932874884354,-0.16989643295263424,-0.1675727458506291},
{-1.2620679257923675,-0.7417793900095009,-0.5064092411853132,-0.39932366447314305,-0.33913239840965126,-0.29772155698316904,-0.27700978465058057,-0.25680949893644067,-0.24122615898420463,-0.22878253321230524,-0.21857211542834154,-0.21002473669640054,-0.20272936101153416,-0.19641953983788607,-0.1908919133546796,-0.18600695268753675,-0.18165209562307272,-0.17772681270324497,-0.174182593904451,-0.16985854221328012,-0.1675537930056361},
{-1.2620176168882489,-0.7415620426939467,-0.5062571130980795,-0.39921546286412024,-0.3390487210885236,-0.2976380286869138,-0.2769497189746901,-0.25675658419786007,-0.24117869182873175,-0.228739275597043,-0.21853219208330454,-0.209987523462698,-0.2026943996359174,-0.19638647931890407,-0.19086048154716284,-0.1859769324028484,-0.18162331141225074,-0.17769912316805314,-0.17415587830752344,-0.16982080861675009,-0.1675347749633369},
{-1.2619664861303472,-0.7413446717466998,-0.5061050628863661,-0.39910732793768045,-0.33896509815734444,-0.29755461267870364,-0.2768896921810926,-0.25670370571683065,-0.24113125745895125,-0.22869604800896504,-0.21849229655397373,-0.20995033627305038,-0.20265946284219272,-0.19635344213137085,-0.19082907201448673,-0.18594693348469438,-0.18159454777082384,-0.17767145349734292,-0.1741291819510744,-0.16978323252522198,-0.16751569270758004},
{-1.2619145355171957,-0.7411272776051527,-0.5059530905522056,-0.3989992596558807,-0.33888152957847373,-0.2974713092846346,-0.2768297042571368,-0.2566508634676943,-0.24108385585360903,-0.2286528504285128,-0.2184524288245555,-0.20991317511344487,-0.20262455061734297,-0.19632042826397456,-0.1907976847458075,-0.1859169559235463,-0.18156580468973615,-0.17764380368251143,-0.17410250482740608,-0.16974581419237733,-0.16749654722250273},
{-1.261861767043114,-0.7409098607052655,-0.5058011960974178,-0.39889125798044267,-0.33879801531452136,-0.29738811881815064,-0.2767697551900614,-0.2565980574254141,-0.24103648699152114,-0.22860968283671834,-0.21841258887895165,-0.20987603996979853,-0.2025896629491184,-0.19628743770535007,-0.19076631973092706,-0.18588699971029943,-0.1815370821609381,-0.17761617371617522,-0.1740758469297301,-0.1697085537696159,-0.16747733949315613},
{-1.2618081826983283,-0.7406924214814672,-0.5056493795237298,-0.39878332287311036,-0.3387145553285218,-0.29730504158002713,-0.2767098449671197,-0.25654528756490613,-0.24098915085157202,-0.228566545214397,-0.21837277670144672,-0.20983893082831617,-0.20255479982429225,-0.1962544704445106,-0.19073497695981434,-0.1858570648357496,-0.1815083801758659,-0.17758856359067554,-0.174049208251029,-0.16967145131067163,-0.16745807050467398},
{-1.2617537844689264,-0.7404749603667264,-0.5054976408326648,-0.39867545429581375,-0.33863114958300056,-0.2972220778584935,-0.27664997357559207,-0.2564925538610172,-0.24094184741290903,-0.22852343754208881,-0.21833299227609526,-0.20980184767540155,-0.20251996123067517,-0.196221526469901,-0.19070365642250042,-0.1858271512910985,-0.18147969872565817,-0.17756097329816534,-0.17402258878438293,-0.16963450677550185,-0.1674387412411127},
{-1.2616985743368918,-0.740257477792436,-0.5053459800254867,-0.39856765221029145,-0.33854779804112756,-0.2971392279299834,-0.2765901410024312,-0.25643985628890054,-0.2408945766547026,-0.22848035980127257,-0.21829323558730795,-0.20976479049747088,-0.2024851471557083,-0.19618860577070585,-0.19067235810907857,-0.1857972590670398,-0.18145103780258687,-0.17753340283147168,-0.1739959885228508,-0.1695977200359664,-0.16741935268389607},
{-1.2616425542800485,-0.7400399741885768,-0.5051943971032635,-0.3984599165785805,-0.3384645006656637,-0.2970564920581418,-0.27653034723475267,-0.2563871948237537,-0.24084733855586737,-0.2284373119726446,-0.21825350661913845,-0.20972775928082754,-0.20245035758668894,-0.19615570833595175,-0.19064108200950347,-0.1857673881548214,-0.18142239739798338,-0.17750585218249082,-0.17396940745954304,-0.16956109087995763,-0.16739990581288922},
{-1.2615857262721877,-0.7398224499836301,-0.5050428920669909,-0.398352247362566,-0.3383812574195253,-0.2969738704954503,-0.27647059225986004,-0.2563345694410195,-0.24080013309579673,-0.22839429403768374,-0.2182138053563314,-0.20969075401197923,-0.20241559251151298,-0.19612283415470344,-0.19060982811394478,-0.1857375385456228,-0.1813937775038541,-0.17747832134418484,-0.17394284558789952,-0.16952461901576488,-0.1673804016043734},
{-1.2615280922828915,-0.7396049056045904,-0.5048914649173617,-0.3982446445242718,-0.33829806826615494,-0.29689136348194545,-0.2764108760646704,-0.25628198011585734,-0.24075296025392845,-0.22835130597746023,-0.21817413178323086,-0.20965377467743185,-0.20238085191753807,-0.19608998321555582,-0.19057859641237673,-0.18570771023022115,-0.18136517811191943,-0.17745081030883902,-0.17391630290081306,-0.16948830407557303,-0.16736084103097593},
{-1.2614696542778228,-0.7393873414769692,-0.5047401156550211,-0.39813710802572055,-0.3382149331684996,-0.29680897124689753,-0.2763511986364202,-0.25622942682393557,-0.24070582000977314,-0.22830834777330722,-0.21813448588436568,-0.20961682126397552,-0.20234613579269123,-0.19605715550845204,-0.19054738689580386,-0.1856779032002427,-0.18133659921416534,-0.1774233190697343,-0.17388977939207795,-0.16945214562154032,-0.16734122506088323},
{-1.2614104142183746,-0.7391697580247842,-0.5045888442802302,-0.3980296378287145,-0.33813185208998986,-0.29672669400827045,-0.27629155996177346,-0.25617690954078665,-0.24065871234262293,-0.22826541940683587,-0.21809486764446095,-0.20957989375836128,-0.20231144412431146,-0.19602435102219484,-0.19051619955415244,-0.18564811744652143,-0.18130804080234775,-0.17739584761877492,-0.1738632750546456,-0.16941614314623354,-0.16732155465803977},
{-1.2613503740619818,-0.7389521556706646,-0.5044376507932644,-0.3979222338955868,-0.3380488249938489,-0.29664453197258833,-0.2762319600279719,-0.2561244282419448,-0.240611637232246,-0.22822252085910577,-0.2180552770482862,-0.20954299214705152,-0.20227677690053447,-0.19599156974606924,-0.1904850343778639,-0.18561835296077067,-0.18127950286861338,-0.17736839594924536,-0.17383678988253592,-0.16938029608115723,-0.167301830779933},
{-1.2612895357620078,-0.7387345348357011,-0.5042865351941037,-0.3978148961883172,-0.33796585184333505,-0.29656248533586016,-0.2761723988218767,-0.25607198290332,-0.24056459465835545,-0.22817965211211266,-0.21801571408045195,-0.20950611641744032,-0.20224213410911318,-0.19595881166940377,-0.19045389135737434,-0.1855886097338768,-0.18125098540536388,-0.17734096405422317,-0.17381032386878115,-0.16934460379582017,-0.16728205437958188},
{-1.2612279012677376,-0.738516895939624,-0.5041354974826646,-0.3977076246691049,-0.33788293260240376,-0.2964805542830238,-0.27611287633052406,-0.2560195735010211,-0.24051758460086692,-0.22813681314758405,-0.21797617872605812,-0.20946926655618459,-0.20220751573809181,-0.19592607678176144,-0.19042277048352307,-0.18555888775775564,-0.18122248840439514,-0.17731355192626808,-0.17378387700734343,-0.16930906560447045,-0.16726222640342492},
{-1.2611654725244097,-0.7382992394005461,-0.5039845376585173,-0.3976004193001015,-0.3378000672342849,-0.2963987389887208,-0.2760533925409083,-0.2559672000106028,-0.24047060703940115,-0.22809400394710622,-0.21793667096997194,-0.20943244255038085,-0.2021729217753716,-0.19589336507256494,-0.19039167174710325,-0.1855291870237874,-0.18119401185796669,-0.1772861595582942,-0.1737574492916787,-0.16927368076826532,-0.1672423477912286},
{-1.2611022514731955,-0.7380815656353326,-0.5038336557211842,-0.39749328004346296,-0.3377172557028101,-0.2963170396175605,-0.27599394743967753,-0.2559148624084502,-0.24042366195404252,-0.22805122449274062,-0.21789719079716452,-0.20939564438721892,-0.20213835220879872,-0.19586067653147143,-0.190360595138376,-0.18549950752320665,-0.18116555575846238,-0.1772587869436446,-0.17373104071548884,-0.1692384484978664,-0.16722241947586802},
{-1.2610382400512845,-0.7378638750592494,-0.5036828516700336,-0.3973862068615439,-0.33763449797155376,-0.296235456323648,-0.2759345410139593,-0.25586256067052204,-0.24037674932493225,-0.22800847476639863,-0.21785773819273313,-0.2093588720539028,-0.20210380702654973,-0.19582801114767268,-0.1903295406484542,-0.1854698492477942,-0.1811371200981231,-0.1772314340751926,-0.17370465127274937,-0.16920336795832203,-0.16720244238359872},
{-1.2609734401918435,-0.7376461680862283,-0.5035321255041572,-0.39727919971650305,-0.33755179400436797,-0.29615398925128344,-0.27587517325053756,-0.2558102947733447,-0.24032986913237497,-0.22796575475013725,-0.2178183131417235,-0.20932212553760188,-0.20206928621700637,-0.19579536891121574,-0.19029850826818073,-0.18544021218886542,-0.18110870486892772,-0.1772041009463532,-0.17367828095685223,-0.16916843827051853,-0.16718241743218254},
{-1.26090785382397,-0.7374284451287125,-0.5033814772225274,-0.39717225857073,-0.3374691437653299,-0.29607263853467636,-0.27581584413625126,-0.2557580646931932,-0.24028302135634316,-0.22792306442621424,-0.21777891562968588,-0.20928540482566582,-0.20203478976824485,-0.1957627498115766,-0.19026749798872977,-0.1854105963388335,-0.1810803100642806,-0.17717678755032207,-0.1736519297622232,-0.16913365851548612,-0.16716234553247844},
{-1.2608414828727743,-0.7372107065977085,-0.5032309068239607,-0.397065383386646,-0.33738654721812633,-0.29599140429880144,-0.2757565536581339,-0.2557058704064721,-0.24023620597722672,-0.22788040377691843,-0.21773954564188713,-0.20924870990579247,-0.2020003176685714,-0.1957301538388725,-0.19023650980086515,-0.1853810016888291,-0.1810519356759528,-0.17714949388055778,-0.17362559768253671,-0.16909902773658647,-0.16714222758745567},
{-1.2607743292593818,-0.7369929529028036,-0.5030804143070791,-0.3969585741264572,-0.33730400432710095,-0.2959102866593537,-0.2756973018028619,-0.2556537118898996,-0.24018942297547508,-0.22783777278459727,-0.21770020316327,-0.20921204076489452,-0.20196586990598409,-0.1956975809827286,-0.19020554369563225,-0.18535142823063744,-0.18102358169692323,-0.1771222199300473,-0.17359928471151775,-0.16906454494049417,-0.16712206449120792},
{-1.2607063949009019,-0.7367751844522186,-0.5029299996703016,-0.39685183075279085,-0.3372215150562119,-0.29582928572228795,-0.27563808855724403,-0.25560158912008113,-0.2401426723317135,-0.2277951714316293,-0.21766088817982698,-0.20917539739111657,-0.20193144646940642,-0.19566503123288648,-0.1901745996644113,-0.18532187595657934,-0.18099524811953316,-0.17709496569224736,-0.17357299084388433,-0.16903020910333044,-0.1671018571297047},
{-1.2606376817105334,-0.7365574016527332,-0.5027796629120154,-0.39674515322798687,-0.33713907936954124,-0.29574840158490545,-0.27557891390829514,-0.25554950207371263,-0.24009595402651307,-0.22775259970108763,-0.2176216006768259,-0.20913877977205875,-0.20189704734735514,-0.19563250457983372,-0.1901436776986163,-0.18529234485857593,-0.1809669349372962,-0.17706773116141417,-0.1735467160731714,-0.16899601917075024,-0.16708160638124525},
{-1.2605681915973697,-0.7363396049096367,-0.5026294040301984,-0.3966385415144882,-0.3370566972316458,-0.2956676343348379,-0.275519777842514,-0.2554974507278045,-0.24004926804065096,-0.22771005757525842,-0.21758234063981785,-0.2091021878952617,-0.2018626725277901,-0.19560000101321506,-0.19011277778904034,-0.18526283492797102,-0.18093864214173383,-0.1770405163304467,-0.17352046039349212,-0.16896197406006763,-0.16706131311376282},
{-1.2604979264666434,-0.7361217946268899,-0.5024792230229655,-0.39653199557517027,-0.33697436860677765,-0.2955869840515799,-0.27546068034710824,-0.25544543505922146,-0.24000261435492476,-0.22766754503706643,-0.2175431080546284,-0.20906562174851828,-0.20182832199964906,-0.19556752052311133,-0.19008189992736213,-0.18523334615758014,-0.18091036972642272,-0.1770133211929581,-0.17349422379989932,-0.16892807266350562,-0.16704097818735253},
{-1.2604268882195717,-0.7359039712071076,-0.5023291198881075,-0.3964255153722145,-0.33689209345940796,-0.2955064508063492,-0.27540162140862634,-0.25539345504527144,-0.23995599295014625,-0.2276250620695901,-0.21750390290705823,-0.20902908131997933,-0.20179399575171875,-0.19553506310022684,-0.19005104410535534,-0.18520387853920273,-0.18088211768426365,-0.17698614574314853,-0.17346800628628856,-0.1688943138510579,-0.16702060245357409},
{-1.260355078753445,-0.7356861350513175,-0.5021790946231377,-0.3963191008685327,-0.3368098717539869,-0.295426034661034,-0.2753426010137936,-0.255341510662773,-0.23990940380760417,-0.22758260865554192,-0.21746472518265048,-0.20899256659757626,-0.20175969377233471,-0.195502628734066,-0.19002021031393745,-0.18517443206475992,-0.18085388600806152,-0.1769589899743016,-0.1734418078462152,-0.16886069646977653,-0.16700018675321893},
{-1.2602824999615678,-0.7354682865593696,-0.5020291472256337,-0.39621275202664874,-0.33672770345505976,-0.2953457356696969,-0.2752836191495529,-0.25528960188927474,-0.23986284690813786,-0.22754018477849502,-0.21742557486784975,-0.20895607756908685,-0.201725416050901,-0.19547021741566883,-0.1899893985452188,-0.1851450067272813,-0.1808256746912429,-0.17693185388031463,-0.17341562847559278,-0.1688272193493825,-0.16697973192014715},
{-1.2602091537333846,-0.7352504261295785,-0.5018792776928311,-0.39610646880928924,-0.33664558852763315,-0.29526555387797604,-0.27522467580265175,-0.2552377287019807,-0.23981632223292682,-0.22749779042131912,-0.21738645194792916,-0.20891961422286442,-0.2016911625758091,-0.1954378291349208,-0.18995860879029003,-0.18511560251815773,-0.18079748372637283,-0.17690473745543134,-0.173389468167362,-0.16879388130141404,-0.1669592387773493},
{-1.2601350419543165,-0.7350325541589542,-0.501729486022013,-0.3960002511793368,-0.3365635269361187,-0.2951854893235497,-0.27516577095988826,-0.25518589107851675,-0.23976982976357242,-0.22745542556746745,-0.21734735640929692,-0.2088831765467294,-0.20165693333600831,-0.19540546388262747,-0.18992784104132632,-0.18508621943022874,-0.1807693131067465,-0.17687764069290335,-0.17336332691690792,-0.16876068112194176,-0.16693870813870682},
{-1.2600601665059465,-0.7348146710430372,-0.5015797722100497,-0.3958940990993325,-0.33648151864569753,-0.29510554203686556,-0.2751069046079335,-0.25513408899641377,-0.23972336948135897,-0.22741309020046696,-0.21730828823819426,-0.2088467645295733,-0.20162272832085204,-0.195373121649137,-0.18989709529009957,-0.18505685745581069,-0.18074116282580377,-0.17685056358757834,-0.17333720471900538,-0.16872761759346133,-0.1669181408093987},
{-1.2599845292658602,-0.7345967771760784,-0.5014301362537608,-0.39578801253233387,-0.33639956362098244,-0.295025712039795,-0.27504807673358833,-0.25508232243316176,-0.2396769413677422,-0.22737078430377178,-0.21726924742049736,-0.2088103781594226,-0.2015885475190089,-0.19534080242510132,-0.18986637152815167,-0.18502751658742245,-0.18071303287679807,-0.1768235061330632,-0.17331110156754725,-0.16869468948658817,-0.16689753758433046},
{-1.2599081321078525,-0.7343788729509204,-0.5012805781499483,-0.39568199144113736,-0.3363176618269441,-0.2949459993471928,-0.2749892873236712,-0.25503059136682005,-0.23963054540443895,-0.2273285078612144,-0.21723023394270857,-0.20877401742434554,-0.20155439091998062,-0.1953085062011235,-0.18983566974761867,-0.18499819681743723,-0.18068492325305563,-0.17679646832361406,-0.1732850174581495,-0.16866189556106104,-0.16687689924981441},
{-1.2598309769016696,-0.7341609587590341,-0.5011310978950543,-0.3955760357886726,-0.3362358132290355,-0.29486640396581354,-0.27493053636500697,-0.25497889577502253,-0.23958418157332062,-0.22728626085647985,-0.21719124779103005,-0.20873768231321943,-0.20152025851281063,-0.1952762329676503,-0.18980498994038353,-0.1849688981386608,-0.18065683394756338,-0.17676945015318868,-0.17325895238457267,-0.16862923456814816,-0.16685622658168686},
{-1.2597530655133395,-0.7339430349905562,-0.50098169548549,-0.3954701455379408,-0.33615401779225795,-0.29478692589569366,-0.27487182384427555,-0.25492723563594133,-0.23953784985599036,-0.22724404327357828,-0.21715228895205296,-0.20870137281426526,-0.2014861502869083,-0.19524398271627508,-0.1897743320987244,-0.1849396205441627,-0.18062876495458102,-0.17674245161638513,-0.1732329063427107,-0.16859670525045978,-0.16683552034766969},
{-1.2596743998048199,-0.7337251020341822,-0.5008323709173776,-0.39536432065185334,-0.3360722754818424,-0.2947075651299267,-0.2748131497481223,-0.25487561092743327,-0.23949155023452384,-0.22720185509639723,-0.2171133574122157,-0.20866508891673785,-0.20145206623175138,-0.19521175543717817,-0.18974369621445852,-0.18491036402569883,-0.18060071626745522,-0.17671547270746846,-0.17320687932685708,-0.16856430634515807,-0.16681478130456284},
{-1.2595949816343432,-0.7335071602773566,-0.5006831241869567,-0.39525856109354196,-0.3359905862630539,-0.2946283216538612,-0.2747545140633614,-0.2548240216277655,-0.23944528269085463,-0.2271596963088589,-0.2170744531579949,-0.2086288306086228,-0.2014180063365938,-0.19517955112132146,-0.18971308227968464,-0.18488112857652084,-0.1805726878795726,-0.17668851342073832,-0.1731808713320433,-0.16853203658410276,-0.16679401020057583},
{-1.2595148128562166,-0.7332892101061308,-0.5005339552900065,-0.3951528668260833,-0.3359089501012016,-0.2945491954464492,-0.2746959167768521,-0.25477246771505424,-0.2393990472072467,-0.22711756689523277,-0.2170355761760563,-0.20859259787876638,-0.20138397059093016,-0.19514736975983826,-0.1896824902867298,-0.18485191418987057,-0.1805446797846617,-0.1766615737508328,-0.17315488235303622,-0.16849989469547388,-0.1667732077743782},
{-1.259433895320896,-0.7330712519051854,-0.5003848642224136,-0.39504723781262685,-0.3358273669622118,-0.29447018647949275,-0.27463735787527455,-0.2547209491679192,-0.23935284376601995,-0.22707546684017732,-0.21699672645309942,-0.20855639071616938,-0.20134995898483155,-0.19511521134372511,-0.18965192022799915,-0.18482272085796936,-0.18051669197666342,-0.17663465369204445,-0.17312891238549266,-0.1684678794043144,-0.16675237475466265},
{-1.259352230874969,-0.7328532860578503,-0.5002358509796361,-0.3949416740164464,-0.33574583681135106,-0.29439129471828807,-0.27457883734547384,-0.25466946596468176,-0.23930667234973857,-0.22703339612792028,-0.21695790397619064,-0.20852020910959101,-0.2013159715077899,-0.19508307586454787,-0.18962137209582064,-0.18479354857493124,-0.18048872444957453,-0.17660775323943678,-0.1731029614245303,-0.168435989435177,-0.16673151186142032},
{-1.2592698213611833,-0.7326353129461918,-0.5000869155572598,-0.3948361754005676,-0.3356643596143192,-0.294312520122034,-0.2745203551741344,-0.2546180180839146,-0.2392605329402855,-0.22699135474275067,-0.21691910873175857,-0.20848405304811735,-0.20128200814941,-0.19505096331271776,-0.1895908458822646,-0.18476439733272443,-0.18046077719695042,-0.17658087238709275,-0.17307702946492132,-0.16840422351006534,-0.1667106198045616},
{-1.2591866686184778,-0.7324173329508521,-0.49993805795058144,-0.39473074192848,-0.3355829353368076,-0.29423386264290663,-0.27446191134782083,-0.2545666055041522,-0.239214425520915,-0.22694934266938827,-0.21688034070728435,-0.20844792252039657,-0.20124806889992275,-0.19501887368013016,-0.18956034157989787,-0.18473526712499488,-0.1804328502131174,-0.1765540111300865,-0.17305111650206673,-0.16837258035363778,-0.16668969928506439},
{-1.2591027744819399,-0.7321993464511967,-0.49978927815483587,-0.3946253735634051,-0.3355015639446437,-0.29415532222707697,-0.27440350585359585,-0.25451522820431993,-0.23916835007396386,-0.22690735989242672,-0.21684159988911667,-0.20841181751553783,-0.2012141537487251,-0.1949868069577798,-0.1895298591814436,-0.1847061579446443,-0.18040494349184755,-0.17652716946284652,-0.17302522253175656,-0.16834105869017257,-0.16666875099398482},
{-1.2590181407828551,-0.7319813538253137,-0.49964057616494584,-0.3945200702687117,-0.3354202454038795,-0.29407689881436294,-0.27434513867808796,-0.2544638861631219,-0.2391223065824093,-0.22686540639680697,-0.21680288626468602,-0.20837573802287146,-0.20118026268637834,-0.1949547631370825,-0.18949939867903254,-0.1846770697849447,-0.18037705702728069,-0.17650034738067255,-0.17299934754833224,-0.16830965724687363,-0.16664777561361888},
{-1.2589327693486227,-0.7317633554498175,-0.4994919519758949,-0.3944148320080223,-0.3353389796804045,-0.29399859233866277,-0.27428680980812725,-0.25441257935967343,-0.23907629502901084,-0.2268234821674726,-0.2167641998214842,-0.2083396840312597,-0.20114639570299353,-0.19492274221000283,-0.18946896006597846,-0.18464800263987158,-0.18034919081417122,-0.1764735448783572,-0.1729734915482215,-0.16827837475379948,-0.16662677381731683},
{-1.2588466620029568,-0.7315453517001349,-0.49934340558243173,-0.3943096587444339,-0.3352577667403782,-0.293920402728415,-0.27422851923033686,-0.2543613077728697,-0.2390303153970308,-0.22678158718913277,-0.21672554054629156,-0.20830365553001062,-0.20111255278859197,-0.19489074416764574,-0.18943854333437216,-0.1846189565019749,-0.18032134484612783,-0.1764467619503387,-0.17294765452660865,-0.1682472099443899,-0.16660574626764735},
{-1.25875982056567,-0.7313273429503071,-0.4991949369791353,-0.3942045504418257,-0.33517660654976655,-0.29384232990532855,-0.2741702669315913,-0.2543100713818376,-0.23898436766917897,-0.22673972144702237,-0.2166869084264329,-0.20826765250839507,-0.20107873393359466,-0.19485876900129284,-0.18940814847666854,-0.1845899313649495,-0.18029351911761893,-0.1764199985920687,-0.17292183647880588,-0.16821616155696972,-0.16658469361939776},
{-1.2586722468528835,-0.7311093295731879,-0.49904654616052335,-0.3940995070637028,-0.33509549907489333,-0.29376437378641107,-0.27411205289879703,-0.2542588701660886,-0.23893845182929674,-0.22669788492655574,-0.2166483034497526,-0.2082316749560107,-0.20104493912845456,-0.1948268167035918,-0.1893777754867063,-0.1845609272229476,-0.18026571362315646,-0.17639325479888335,-0.1728960374008519,-0.16818522833494587,-0.1665636165182356},
{-1.2585839426767729,-0.7308913119401375,-0.49889823312085335,-0.3939945285734736,-0.33501444428214366,-0.29368653428159597,-0.27405387711837204,-0.25420770410467863,-0.23889256786023783,-0.22665607761263296,-0.21660972560309588,-0.20819572286163002,-0.20101116836346478,-0.19479488726527183,-0.18934742435582574,-0.1845319440682891,-0.1802379283569362,-0.1763665305654598,-0.17287025728770722,-0.16815440902691314,-0.1665425155992324},
{-1.2584949098459486,-0.7306732904213606,-0.4987499978544281,-0.3938896149351625,-0.3349334421378085,-0.2936088112967479,-0.2739957395774315,-0.25415657317706497,-0.2388467157455727,-0.22661429949058043,-0.21657117487452204,-0.20815979621505942,-0.2009774216290543,-0.19476298067907027,-0.18931709507830874,-0.18450298189580838,-0.18021016331398787,-0.17633982588711206,-0.17284449613577912,-0.16812370238812147,-0.1665213914899777},
{-1.2584051501651086,-0.7304552653857277,-0.49860184035529453,-0.39378476611216895,-0.33485249260870553,-0.2935312047322407,-0.27393764026275225,-0.25410547736309663,-0.2388008954689118,-0.22657255054643244,-0.21653265125163834,-0.20812389500594541,-0.20094369891616992,-0.1947310969367404,-0.18928678764675677,-0.18447404069893736,-0.1801824184887746,-0.17631314075922067,-0.17281875394030255,-0.16809310718115267,-0.16650024480868897},
{-1.2583146654352286,-0.7302372372007926,-0.4984537606172701,-0.39367998206849286,-0.3347715956609232,-0.2934537144821281,-0.27387957916087924,-0.25405441664193695,-0.23875510701389757,-0.22653083076492386,-0.21649415472163103,-0.20808801922340425,-0.20091000021512517,-0.19469923602970596,-0.1892565020534125,-0.18444512047073047,-0.18015469387566174,-0.17628647517677276,-0.17279303069686414,-0.16806262217576062,-0.1664790761641255},
{-1.258223457453489,-0.7300192062328588,-0.4983057586342561,-0.39357526276786814,-0.33469075126129955,-0.29337634043634786,-0.2738215562588291,-0.2540033909938737,-0.23870935036425056,-0.22648914013227817,-0.2164556852730497,-0.20805216885740396,-0.20087632551731982,-0.19466739795091303,-0.18922623829222474,-0.18441622120653278,-0.1801269894696107,-0.1762598291358497,-0.1727673264021936,-0.16803224614920165,-0.16645788615685042},
{-1.2581315280134533,-0.7298011728468845,-0.49815783439983363,-0.3934706081741073,-0.3346099593768104,-0.29329908247890835,-0.2737635715433644,-0.253952400398326,-0.2386636255038388,-0.22644747863399672,-0.2164172428931792,-0.20801634389743562,-0.20084267481317397,-0.19463558269233427,-0.18919599635567064,-0.1843873428988143,-0.18009930526519558,-0.1762332026313045,-0.17274164105143797,-0.1680019778869788,-0.16643667537810458},
{-1.2580388789047852,-0.7295831374065651,-0.49800998790765183,-0.3933660182514056,-0.33452921997390206,-0.29322194048935835,-0.27370562500141826,-0.2539014448353951,-0.23861793241642815,-0.22640584625579319,-0.21637882757019522,-0.20798054433295743,-0.20080904809355093,-0.19460379024546892,-0.189165776237588,-0.18435848554188805,-0.18007164125764596,-0.17620659565885521,-0.1727159746405862,-0.16797181618373802,-0.16641544441070888},
{-1.2579455119135845,-0.7293651002744652,-0.4978622191509987,-0.39326149296345525,-0.33444853301981237,-0.293144914342613,-0.27364771661969023,-0.25385052428521426,-0.2385722710863245,-0.22636424298395852,-0.21634043929226277,-0.20794477015424828,-0.20077544534979186,-0.19457202060369294,-0.18913557793088387,-0.18432964913081573,-0.1800439974416248,-0.17618000821387803,-0.17269032716607136,-0.1679417598434041,-0.16639419382847898},
{-1.257851428822041,-0.7291470618116169,-0.4977145281231854,-0.39315703227448173,-0.33436789848142556,-0.29306800390815635,-0.2735898463851516,-0.2537996387277026,-0.23852664149764813,-0.22632266880402696,-0.21630207804717116,-0.2079090213507211,-0.20074186657304427,-0.19454027375876937,-0.1891054014287663,-0.18430083365852123,-0.18001637381249846,-0.1761534402924072,-0.1726646986235636,-0.16791180767869207,-0.16637292419747585},
{-1.2577566314088104,-0.7289290223779479,-0.4975669148173685,-0.3930526361484685,-0.3342873163255078,-0.2929912090514195,-0.2735320142846023,-0.2537487881434455,-0.23848104363430966,-0.22628112370253994,-0.21626374382359614,-0.20787329791247355,-0.2007083117540036,-0.1945085497033867,-0.18907524672466725,-0.18427203911967638,-0.17998877036501781,-0.17612689188989972,-0.17263908900913982,-0.1678819585127833,-0.166351636074344},
{-1.257661121448729,-0.7287109823321578,-0.49741937922653356,-0.39294830454970775,-0.3342067865197764,-0.2929145296324158,-0.27347422030502866,-0.25369797251230874,-0.2384354774809898,-0.22623960766529905,-0.2162254366093439,-0.20783759982911132,-0.20067478088447288,-0.19447684843012158,-0.18904511381221578,-0.1842432655082149,-0.17996118709418862,-0.17610036300198573,-0.17261349831888761,-0.1678522111786087,-0.16633033000789776},
{-1.257564900712964,-0.7284929420315844,-0.49727192134362586,-0.3928440374423716,-0.3341263090311939,-0.29283796550730834,-0.27341646443341805,-0.2536471918152854,-0.2383899430218568,-0.22619812067879774,-0.21618715639317898,-0.20780192709090084,-0.20064127395539177,-0.19444516993184457,-0.1890150026847035,-0.18421451281919055,-0.1799336239952627,-0.17607385362459915,-0.17258792654960153,-0.16782256451978483,-0.16630900653813363},
{-1.2574679709690095,-0.7282749018323296,-0.4971245411613423,-0.3927398347905142,-0.3340458838271054,-0.29276151652802884,-0.273358746656311,-0.2535964460326534,-0.2383444402417325,-0.22615666272934742,-0.216148903163341,-0.20776627968822492,-0.20060779095865833,-0.19441351420102393,-0.18898491333595224,-0.18418578104636296,-0.1799060810640496,-0.17604736375410024,-0.17256237369695082,-0.16779301739010055,-0.16628766619754387},
{-1.2573703339806306,-0.7280568620892898,-0.4969772386723226,-0.3926356965587985,-0.33396551087488113,-0.29268518254156195,-0.27330106696098166,-0.25354573514498036,-0.23829896912467774,-0.22611523380331544,-0.21611067690848085,-0.20773065761046183,-0.20057433188527618,-0.19438188123040856,-0.18895484575925448,-0.18415707018436756,-0.1798785582952176,-0.17602089338596372,-0.17253683975750977,-0.16776356865463704,-0.16626630950972476},
{-1.2572719915079562,-0.727838823156044,-0.4968300138691806,-0.39253162271135444,-0.3338851901419915,-0.2926089633912037,-0.2732434253342815,-0.25349505913304515,-0.23825352965599134,-0.22607383388749636,-0.2160724776170433,-0.20769506084825018,-0.20054089672695508,-0.19435027101321278,-0.18892479994845246,-0.18412838022787437,-0.17985105568461446,-0.17599444251634022,-0.17251132472754005,-0.16773421718935122,-0.1662449369901422},
{-1.257172945307468,-0.7276207853850445,-0.49668286674427264,-0.39242761321272024,-0.33380492159624264,-0.29253285891550096,-0.27318582176332384,-0.25344441797779726,-0.2382081218201657,-0.226032462968222,-0.2160343052779652,-0.20765948939144074,-0.20050748547526354,-0.19431868354227966,-0.1888947758971664,-0.18409971117107826,-0.17982357322730813,-0.17596801114129512,-0.17248582860336104,-0.16770496188122674,-0.16622354914690618},
{-1.2570731971318947,-0.7274027491273505,-0.4965357972897215,-0.3923236680273501,-0.33372470520513,-0.2924568689492979,-0.273128256235025,-0.2533938116601,-0.23816274560194017,-0.22599112103242636,-0.21599615987998355,-0.20762394323077338,-0.20047409812231098,-0.1942871188107702,-0.18886477359959652,-0.1840710630091449,-0.17979611091963932,-0.17594159925700126,-0.17246035138217675,-0.16767580162977325,-0.16620214647985954},
{-1.256972748730367,-0.727184714732902,-0.49638880549788,-0.3922197871197861,-0.3336445409366533,-0.2923809933239969,-0.2730707287363341,-0.2533432401611755,-0.23811740098629386,-0.225949808066777,-0.21595804141211605,-0.20758842235622765,-0.200440734659189,-0.19425557681158256,-0.18883479304914808,-0.18404243573663948,-0.17976866875636244,-0.1759152068597274,-0.1724348930596573,-0.16764673534414687,-0.16618072948065077},
{-1.2568716018483588,-0.7269666825503656,-0.4962418913607345,-0.3921159704547117,-0.33356442875833725,-0.2923052318663455,-0.2730132392544835,-0.2532927034618604,-0.2380720879585727,-0.22590852405826567,-0.2159199498631521,-0.20755292675839954,-0.20040739507821836,-0.1942240575380687,-0.18880483424018646,-0.18401382934834576,-0.17974124673349934,-0.1758888339456819,-0.1724094536328602,-0.1676177619471826,-0.1661592986342031},
{-1.2567697582277657,-0.7267486529271587,-0.49609505487016836,-0.39201221799666985,-0.33348436863814346,-0.29222958439946023,-0.27295578777645435,-0.25324220154343546,-0.23802680650355423,-0.22586726899369758,-0.21588188522218132,-0.2075174564273139,-0.20037407937126428,-0.19419256098374849,-0.18877489716612228,-0.18398524383919224,-0.17971384484675124,-0.17586248051130227,-0.1723840330986528,-0.16758888037215502,-0.16613785441658102},
{-1.256667219606763,-0.7265306262095592,-0.4959482960179806,-0.39190852971046475,-0.33340436054436573,-0.29215405074277,-0.2728983742893112,-0.25319173438751186,-0.23798155660648224,-0.22582604286017105,-0.2158438474781592,-0.20748201135394595,-0.20034078752983397,-0.19416108714139035,-0.18874498182147192,-0.18395667920383296,-0.17968646309195702,-0.17583614655303048,-0.1723586314531378,-0.1675600895648941,-0.16611639729741778},
{-1.2565639877199004,-0.7263126027425248,-0.49580161479594675,-0.39180490556091563,-0.3333244044449488,-0.29207863071224605,-0.2728409987805085,-0.25314130197542273,-0.2379363382529771,-0.22578484564504997,-0.21580583662103336,-0.20744659152867406,-0.20030751954676607,-0.19412963600540412,-0.18871508820067628,-0.18392813543847542,-0.1796591014654263,-0.17580983206760514,-0.17233324869381406,-0.1675313884835834,-0.1660949277391186},
{-1.2564600642981825,-0.7260945828698775,-0.4956550111956015,-0.3917013455128835,-0.3332445003083633,-0.29200332412065233,-0.2727836612370398,-0.25309090428863446,-0.23789115142816097,-0.2257436773353465,-0.21576785263938092,-0.2074111969422887,-0.20027427541354292,-0.1940982075683646,-0.18868521629726853,-0.18389961253674603,-0.17963175996226788,-0.17578353705059602,-0.1723078848170898,-0.1675027760969403,-0.16607344619446618},
{-1.2563554510689166,-0.7258765669340788,-0.4955084852082994,-0.3915978495311938,-0.3331646481023931,-0.29192813077595314,-0.2727263616460789,-0.2530405413086303,-0.23784599611723323,-0.22570253791812434,-0.21572989552277466,-0.2073758275849995,-0.20024105512251644,-0.1940668018244045,-0.1886553661056709,-0.18387111049448635,-0.17960443857917596,-0.17575726149930304,-0.1722825398198493,-0.1674742513875005,-0.16605195311236098},
{-1.2562501497559446,-0.7256585552766448,-0.4953620368255667,-0.391494417580847,-0.33308484779562697,-0.29185305048441457,-0.27266909999494615,-0.2529902130175117,-0.23780087230615798,-0.22566142738135575,-0.2156919652609579,-0.20734048344809342,-0.20020785866613355,-0.19403541876714225,-0.18862553762051437,-0.18384262930722972,-0.17957713731201874,-0.17573100541055275,-0.17225721369942715,-0.1674458133495662,-0.16603044893250107},
{-1.2561441620793101,-0.7254405482376001,-0.49521566603847855,-0.391391049626737,-0.33300509935663936,-0.29177808304727293,-0.27261187627076566,-0.2529399193964492,-0.2377557799801675,-0.22562034571167366,-0.2156540618430185,-0.2073051645217321,-0.2001746860364868,-0.19400405839008084,-0.18859573083589876,-0.18381416896969238,-0.1795498561567852,-0.17570476878042562,-0.17223190645227593,-0.16741746098859345,-0.16600893408783168},
{-1.2560374897556228,-0.7252225461559836,-0.4950693728383251,-0.3912877456342878,-0.33292540275388305,-0.29170322826372175,-0.2725546904611269,-0.25288966042812344,-0.2377107191250385,-0.22557929289730083,-0.21561618525897241,-0.2072698707973295,-0.20014153722577088,-0.1939727206873325,-0.1885659457464346,-0.1837857294779548,-0.179522595109753,-0.1756785516059285,-0.17220661807606863,-0.16738919332364244,-0.16598740900515452},
{-1.2559301344978684,-0.7250045493695754,-0.49492315721600155,-0.3911845055683205,-0.3328457579562736,-0.2916284859300893,-0.2724975425531966,-0.2528394360942814,-0.23766568972704594,-0.22553826892553808,-0.21557833549845729,-0.20723460226581025,-0.2001084122269825,-0.19394140565277684,-0.18853618234671554,-0.18375731082711866,-0.17949535416739693,-0.17565235388388345,-0.172181348567781,-0.16736100938448129,-0.16596587410397134},
{-1.2558220980154686,-0.7247865582149111,-0.4947770191624321,-0.39108132939423257,-0.33276616493208966,-0.2915538558381172,-0.2724404325345411,-0.25278924637675626,-0.2376206917712418,-0.22549727378405748,-0.21554051255112672,-0.20719935891765573,-0.20007531103218934,-0.19391011327988572,-0.18850644063119582,-0.1837289130129207,-0.1794681333258854,-0.17562617561091898,-0.17215609792412412,-0.1673329082149122,-0.16594432979680374},
{-1.2557133820142425,-0.7245685730273626,-0.49463095866853735,-0.3909782170773646,-0.33268662365034096,-0.2914793377780258,-0.27238336039237243,-0.2527390912582854,-0.2375757252441577,-0.22545630746058443,-0.21550271640723295,-0.20716414074446643,-0.20004223363442808,-0.1938788435634775,-0.18847672059468756,-0.18370053603101155,-0.1794409325817563,-0.17560001678428883,-0.17213086614300455,-0.16730488886914063,-0.16592277649033882},
{-1.2556039881964787,-0.7243505941411619,-0.4944849757249181,-0.3908751685828653,-0.3326071340801482,-0.29140493153588487,-0.27232632611442664,-0.25268897072076424,-0.2375307901314221,-0.225415369943053,-0.2154649470563923,-0.20712894773671664,-0.20000918002606394,-0.1938475964970623,-0.18844702223172582,-0.18367217987676998,-0.17941375193132192,-0.1755738774006952,-0.17210565322126214,-0.1672769504143652,-0.16590121458400287},
{-1.2554939182608917,-0.7241326218893316,-0.49433907032213087,-0.39077218387633383,-0.3325276961900334,-0.29133063689536964,-0.2722693296880285,-0.2526388847468102,-0.23748588641920154,-0.22537446121915838,-0.2154272044887735,-0.20709377988600153,-0.19997615019966108,-0.19381637207502944,-0.18841734553731548,-0.18364384454649318,-0.17938659137099933,-0.17554775745682782,-0.17208045915658055,-0.16724909192992232,-0.1658796444713655},
{-1.2553831739027075,-0.7239146566037205,-0.49419324245084395,-0.39066926292299264,-0.3324483099496387,-0.2912564536380957,-0.2722123711008795,-0.2525888333189661,-0.23744101409374885,-0.2253335812771473,-0.21538948869482244,-0.20705863718373596,-0.19994314414871983,-0.19378517029180742,-0.1883876905066053,-0.1836155300355644,-0.1793594508978451,-0.1755216569504956,-0.17205528394652347,-0.16722131250704386,-0.16585806653957036},
{-1.2552717568135143,-0.7236966986149822,-0.4940474921012461,-0.390566405688789,-0.3323689753279515,-0.2911823815418062,-0.2721554503403283,-0.2525388164197695,-0.23739617314124306,-0.2252927301047638,-0.21535179966415807,-0.20702351962075394,-0.19991016186575372,-0.19375399114135838,-0.18835805713391807,-0.18358723634016627,-0.17933233050820352,-0.1754955758781831,-0.17203012758812353,-0.1671936112492025,-0.16583648116928007},
{-1.2551596686815019,-0.7234787482526355,-0.49390181926378673,-0.39046361213899594,-0.332289692293795,-0.29110842038220053,-0.27209856739454175,-0.25248883403195155,-0.23735136354808528,-0.2252519076902626,-0.21531413738752736,-0.20698842718854227,-0.19987720334362535,-0.19372283461795714,-0.1883284454147418,-0.18355896345625755,-0.17930523019872702,-0.17546951423710855,-0.17200499007910164,-0.1671659872710256,-0.16581488873546046},
{-1.255046911191184,-0.7232608058450505,-0.49375622392856,-0.39036088223944354,-0.33221046081724737,-0.29103456993178156,-0.27204172225057643,-0.2524388861382585,-0.2373065853002494,-0.2252111140217954,-0.21527650185518254,-0.2069533598781712,-0.19984426857545223,-0.19369170071626662,-0.1882988553437528,-0.18353071138008037,-0.17927814996657965,-0.17544347202461896,-0.17197987141720983,-0.16713843970007147,-0.16579328960664075},
{-1.254933486023698,-0.7230428717193571,-0.4936107060857018,-0.3902582159557779,-0.3321312808673431,-0.2909608299610369,-0.2719849148965787,-0.2523889727217119,-0.23726183838461434,-0.22517034908768707,-0.21523889305796473,-0.20691831768196067,-0.1998113575544016,-0.19366058943097286,-0.18826928691657496,-0.18350248010756331,-0.17925108980836235,-0.17541744923825675,-0.17195477160015304,-0.16711096767533284,-0.1657716841459278},
{-1.2548193948565824,-0.7228249462015932,-0.49346526572521165,-0.39015561325379977,-0.33205215241371366,-0.2908872002384699,-0.2719281453202065,-0.2523390937652943,-0.23721712278754659,-0.22512961287629274,-0.2152013109859272,-0.20688330059071003,-0.1997784702737846,-0.19362950075627072,-0.1882397401282434,-0.18347426963511637,-0.1792240497213058,-0.17539144587493904,-0.17192969062595598,-0.16708357034752908,-0.1657500727098098},
{-1.2547046393639156,-0.7226070296167033,-0.49331990283692795,-0.3900530740995034,-0.3319730754259087,-0.29081368052895584,-0.27187141350925703,-0.25228924925218,-0.23717243849551828,-0.2250889053759586,-0.215163755630166,-0.20684830859648873,-0.19974560672670627,-0.193598434686737,-0.18821021497430213,-0.1834460799588129,-0.1791970297021246,-0.17536546193219493,-0.17190462849196564,-0.1670562468791763,-0.16572845565008},
{-1.2545892212162255,-0.7223891222882819,-0.4931746174107081,-0.3899505984587419,-0.33189404987363336,-0.2907402705959905,-0.2718147194514131,-0.2522394391653977,-0.237127785495308,-0.22504822657534262,-0.21512622698091022,-0.20681334169054733,-0.19971276690670425,-0.19356739121748578,-0.1881807114495455,-0.18341791107525385,-0.17917002974812934,-0.17533949740781285,-0.17187958519636481,-0.16702899644392488,-0.16570683331143599},
{-1.2544731420806852,-0.7221712245390739,-0.49302940943629947,-0.38984818629751583,-0.33181507572696844,-0.2906669702001077,-0.2717580631348504,-0.252189663488541,-0.23708316377370497,-0.22500757646291003,-0.21508872502954635,-0.20677839986467372,-0.19967995080686052,-0.1935363703426054,-0.18815122954991903,-0.18338976298073018,-0.1791430498561173,-0.1753135522986371,-0.17185456073696415,-0.167001818227682,-0.16568520603435832},
{-1.2543564036208181,-0.7219533366903215,-0.4928842789031638,-0.38974583758199,-0.33173615295568926,-0.2905937790999298,-0.2717014445475625,-0.252139922204643,-0.23703857331745848,-0.22496695502725128,-0.21505124976706114,-0.2067434831111079,-0.1996471584211088,-0.19350537205741158,-0.1881217692709889,-0.1833616356719867,-0.17911609002403228,-0.17528762660305564,-0.17182955511202103,-0.16697471142751752,-0.16566357415348953},
{-1.2542390074967622,-0.721735459062506,-0.49273922580096796,-0.38964355227824665,-0.33165728152959595,-0.29052069705257555,-0.2716448636771105,-0.2520902152975175,-0.23699401411344212,-0.2249263622572233,-0.21501380118395996,-0.2067085914212523,-0.1996143897426128,-0.19347439635659214,-0.18809233060803443,-0.18333352914524248,-0.1790891502483687,-0.17526172031796072,-0.17180456831959656,-0.16694767525141252,-0.16564193799706928},
{-1.254120955365213,-0.7215175919746666,-0.4925942501190006,-0.3895413303525066,-0.33157846141893454,-0.2904477238119325,-0.27158832051187787,-0.25204054275064447,-0.23694948614864852,-0.2248857981416199,-0.21497637927173407,-0.20667372478743484,-0.1995816447650114,-0.19344344323522478,-0.18806291355696825,-0.18330544339743415,-0.17906223052711479,-0.17523583344149785,-0.17177960035755202,-0.16692070891951882,-0.16562029788973653},
{-1.2540022488793543,-0.7212997357449393,-0.4924493518466839,-0.38943917177107146,-0.3314996925937894,-0.29037485913068295,-0.2715318150397614,-0.2519909045475641,-0.2369049894099522,-0.22484526266933003,-0.21493898402140843,-0.20663888320129242,-0.19954892348228093,-0.19341251268783832,-0.18803351811329172,-0.18327737842536962,-0.17903533085761936,-0.17520996597130356,-0.17175465122467592,-0.16689381166213657,-0.16559865414946096},
{-1.253882889688956,-0.7210818906902152,-0.49230453097333404,-0.38933707650019045,-0.3314209750248258,-0.2903021027587993,-0.2714753472488898,-0.2519413006724873,-0.2368605238845305,-0.2248047558294406,-0.21490161542434372,-0.20660406665510234,-0.19951622588793683,-0.19338160470962684,-0.18800414427294854,-0.18324933422549883,-0.17900845123673026,-0.1751841179049718,-0.17172972091872118,-0.16686698272128986,-0.1655770070896434},
{-1.2537628794402955,-0.7208640571262426,-0.49215978748795575,-0.389235044506556,-0.3313423086820704,-0.2902294544451527,-0.2714189171276846,-0.25189173110883445,-0.2368160895597713,-0.22476427761098616,-0.21486427347221948,-0.20656927514134882,-0.1994835519762299,-0.19335071929621428,-0.1879747920320627,-0.18322131079554005,-0.17898159166322714,-0.17515828924125199,-0.17170480943843902,-0.16684022135019028,-0.16555535701893653},
{-1.2536422197762742,-0.7206462353676644,-0.4920151213796373,-0.3891330757563205,-0.33126369353593343,-0.2901569139361646,-0.2713625246635045,-0.25184219584072665,-0.23677168642257396,-0.22472382800267532,-0.2148269581558777,-0.20653450865177092,-0.19945090174057167,-0.19331985644213212,-0.18794546138644108,-0.18319330813171764,-0.17895475213373846,-0.17513247997699555,-0.17167991678274763,-0.16681352681202188,-0.16553370424028113},
{-1.2535209123362694,-0.7204284257281577,-0.49187053263745106,-0.3890311702162288,-0.3311851295571264,-0.29008448097695716,-0.2713061698453627,-0.25179269485246714,-0.2367273144601354,-0.22468340699429223,-0.21478966946741984,-0.20649976717890972,-0.19941827517536748,-0.19328901614256733,-0.18791615233169434,-0.18316532623094517,-0.1789279326462223,-0.1751066901107281,-0.17165504294899314,-0.1667868983812637,-0.16551204905233785},
{-1.253398958756414,-0.7202106285201677,-0.49172602125026277,-0.3889293278531758,-0.33110661671626307,-0.2900121553106745,-0.27124985266141177,-0.2517432281281362,-0.23668297366019164,-0.22464301457520452,-0.21475240739841261,-0.20646505071527077,-0.19938567227441428,-0.1932581983936652,-0.18788686486448913,-0.1831373650908743,-0.17890113319875667,-0.1750809196402816,-0.1716301879365547,-0.16676033534334156,-0.16549039174884594},
{-1.253276360669192,-0.7199928440549623,-0.4915815872067917,-0.3888275486334214,-0.33102815498410276,-0.28993993667809637,-0.2711935730995947,-0.2516937956516685,-0.2366386640097069,-0.22460265073407726,-0.21471517194041478,-0.2064303592529111,-0.19935309303199134,-0.19322740318940834,-0.18785759898053733,-0.1831094247082472,-0.17887435378858996,-0.1750551685639321,-0.17160535174379543,-0.16673383699344768,-0.1654687326187645},
{-1.2531531197038752,-0.7197750726428063,-0.4914372304958965,-0.38872583252405235,-0.33094974433155944,-0.2898678248193933,-0.27113733114860405,-0.25164439740773137,-0.2365943854966508,-0.22456231546099392,-0.21467796308528353,-0.20639569278470749,-0.19932053744238232,-0.193196630526435,-0.18782835467661396,-0.1830815050807688,-0.17884759441398757,-0.17502943688000006,-0.17158053436982446,-0.16670740263822204,-0.16544707194665964},
{-1.2530292374861856,-0.7195573145928913,-0.4912929511062494,-0.3886241794917682,-0.3308713847297122,-0.28979581947295063,-0.2710811267964077,-0.25159503338087763,-0.23655013810819625,-0.22452200874516226,-0.2146407808251194,-0.20636105130332272,-0.19928800549991887,-0.19316588039957328,-0.18779913194856235,-0.18305360620528788,-0.17882085507259937,-0.17500372458624902,-0.17155573581302974,-0.16668103159346703,-0.16542541001209976},
{-1.2529047156385564,-0.7193395702131951,-0.4911487490261601,-0.38852258950358287,-0.33079307614899633,-0.28972392037511874,-0.27102496003146026,-0.2515457035552453,-0.23650592183200114,-0.22448173057632204,-0.21460362515165876,-0.2063264348014826,-0.1992554971987781,-0.19313515280447024,-0.1877699307931069,-0.18302572807990813,-0.17879413576274938,-0.17497803168121706,-0.17153095607232238,-0.16665472318615304,-0.16540374709063954},
{-1.2527795557799406,-0.7191218398107626,-0.4910046242444004,-0.3884210625265272,-0.33071481856092166,-0.28965212726147804,-0.2709688308426781,-0.25149640791596806,-0.23646173665585124,-0.22444148094424055,-0.21456649605749245,-0.2062918432720684,-0.19922301253396402,-0.1931044477370616,-0.18774075120677036,-0.182997870701481,-0.17876743648239124,-0.17495235816338717,-0.17150619514688792,-0.16662847675284098,-0.16538208345334482},
{-1.2526537595260534,-0.7189041236914413,-0.49086057674924266,-0.388319598527616,-0.3306366119370052,-0.2895804398652819,-0.2709127392179056,-0.25144714644748145,-0.23641758256727297,-0.22440125983855985,-0.2145293935343533,-0.20625727670764693,-0.19919055149952136,-0.19307376519244368,-0.1877115931856661,-0.18297003406743606,-0.17874075722916238,-0.17492670403113042,-0.1714814530353692,-0.16660229164021256,-0.16536041936685386},
{-1.252527328489041,-0.7186864221599829,-0.49071660652901894,-0.38821819747393693,-0.3305584562480046,-0.2895088579188734,-0.2708566851459411,-0.2513979191346962,-0.23637345955410005,-0.22436106724897797,-0.2144923175747957,-0.20622273510138545,-0.19915811409046746,-0.19304310516680623,-0.18768245672694928,-0.18294221817598189,-0.1787140980016355,-0.17490106928278326,-0.17145672973685855,-0.16657616720443968,-0.16533875509388185},
{-1.2524002642778493,-0.7184687355201476,-0.49057271357191734,-0.3881168593328015,-0.33048035146574595,-0.2894373811540625,-0.2708006686151121,-0.25134872596272384,-0.2363293676043572,-0.2243209031657285,-0.21445526817118665,-0.20618821844668478,-0.19912570030151233,-0.19301246765589575,-0.1876533418272066,-0.18291442302448147,-0.17868745879806713,-0.17487545391699477,-0.17143202525083368,-0.1665501028121943,-0.1653170908927022},
{-1.2522725684979348,-0.718251064074487,-0.490428897866205,-0.3880155840715531,-0.3304022975616654,-0.28936600929998946,-0.27074468961387765,-0.2512995669160931,-0.23628530670555037,-0.22428076757866044,-0.21441824531568,-0.2061537267362148,-0.19909331012742548,-0.19298185265555734,-0.18762424848299375,-0.18288664861051984,-0.17866083961659474,-0.1748498579321085,-0.17140733957590015,-0.16652409783888178,-0.1652954270175151},
{-1.2521442427515315,-0.7180334081247026,-0.4902851593998818,-0.38791437165750864,-0.3303242945070144,-0.2892947420858416,-0.270688748131219,-0.25125044198058166,-0.23624127684591123,-0.2242406604779319,-0.21438124900137723,-0.20611925996363034,-0.19906094356327841,-0.1929512601616148,-0.18759517669152803,-0.1828588949325729,-0.17863424045530873,-0.17482428132735262,-0.17138267271202867,-0.16649815166971393,-0.1652737637185755},
{-1.2520152886373979,-0.717815767971222,-0.4901414981610719,-0.38781322205805147,-0.33024634227387306,-0.289223579238052,-0.2706328441552701,-0.2512013511407991,-0.23619727801344492,-0.22420058185364944,-0.21434427922015686,-0.20608481812200719,-0.19902860060362304,-0.19292069016988211,-0.18756612644960402,-0.1828311619875187,-0.17860766131281824,-0.1747987241012936,-0.17135802465747396,-0.16647226369943358,-0.16525210124245504},
{-1.2518857077510774,-0.7175981439134764,-0.4899979141376871,-0.38771213524089276,-0.33016844083403996,-0.2891525204835359,-0.2705769776749598,-0.25115229438246267,-0.23615331019582708,-0.22416053169612749,-0.2143073359658274,-0.20605040120480123,-0.19899628124419788,-0.1928901426771441,-0.18753709775428273,-0.18280344977428076,-0.1785811021872945,-0.1747731862523514,-0.17133339541254156,-0.1664464333320934,-0.16523043983146746},
{-1.2517555016846342,-0.7173805362498351,-0.48985440731757635,-0.3876111111733591,-0.3300905901592355,-0.2890815655478587,-0.2705211486786254,-0.2511032716907886,-0.2361093733815549,-0.2241205099958563,-0.21427041923062173,-0.2060160092059382,-0.19896398548007088,-0.19285961767889148,-0.18750809060282947,-0.18277575829049564,-0.17855456307767437,-0.1747476677798918,-0.17130878497664792,-0.16642065998036504,-0.1652087797247903},
{-1.2516246720269542,-0.7171629452776949,-0.4897109776885289,-0.3875101498234095,-0.330012790221625,-0.28901071415434476,-0.2704653571552029,-0.2510542830513893,-0.23606546755863356,-0.22408051674303753,-0.21423352900749748,-0.2059816421186751,-0.19893171330613502,-0.1928291151714543,-0.18747910499229636,-0.1827480875341898,-0.1785280439821859,-0.17472216868291213,-0.1712841933489404,-0.16639494306660474,-0.1651871211570599},
{-1.2514932203634794,-0.716945371293189,-0.48956762523829944,-0.3874092511586209,-0.32993504099291204,-0.28893996602691185,-0.2704096030930714,-0.25100532844973067,-0.23602159271522272,-0.22404055192825822,-0.21419666528913073,-0.20594729993687722,-0.19889946471841835,-0.1927986351515818,-0.18745014091995937,-0.18272043750370326,-0.17850154489934944,-0.17469668895993884,-0.1712596205289012,-0.16636928202100432,-0.1651654643594478},
{-1.2513611482764844,-0.7167278145916676,-0.48942434995460715,-0.38730841514686,-0.32985734244571585,-0.28886932088709116,-0.2703538864812325,-0.2509564078716773,-0.23597774883963485,-0.22400061554246609,-0.21415982806916034,-0.20591298265408664,-0.19886723971174636,-0.19276817761456844,-0.1874211983831513,-0.18269280819706069,-0.1784750658280574,-0.17467122861018414,-0.1712350665164326,-0.16634367628386038,-0.16514380956042984},
{-1.251228457344754,-0.7165102754672121,-0.4892811518249376,-0.3872076417559809,-0.3297796945522782,-0.28879877845637214,-0.2702982073083655,-0.25090752130287086,-0.2359339359203254,-0.22396070757595687,-0.214123017340631,-0.20587869026487304,-0.19883503828260984,-0.19273774255819554,-0.1873922773797796,-0.18266519961330552,-0.17844860676689756,-0.17464578763364624,-0.1712105313112522,-0.16631812530346668,-0.1651221569840038},
{-1.2510951491439233,-0.7162927542129918,-0.4891380308369566,-0.3871069309539994,-0.32970209728477595,-0.2887283384559103,-0.27024256556283976,-0.2508586687290153,-0.23589015394539903,-0.22392082801963298,-0.21408623309676145,-0.20584442276265946,-0.19880286042565487,-0.19270732997803286,-0.1873633779066921,-0.18263761174966575,-0.1784221677145359,-0.17462036602825215,-0.17118601491311836,-0.16629262853587257,-0.16510050685067057},
{-1.2509612252462616,-0.7160752511210942,-0.48899498697796684,-0.38700628270917736,-0.32962455061578044,-0.2886580006044239,-0.2701869612338159,-0.2508098501362568,-0.23584640290352166,-0.22388097686477337,-0.21404947533080065,-0.20581018014188857,-0.1987707061373758,-0.1926769398708048,-0.18733449996177498,-0.1826100446056298,-0.1783957486701535,-0.17459496379438733,-0.17116151732157814,-0.1662671854471851,-0.16507885937873734},
{-1.2508266872208031,-0.7158577664825976,-0.48885202023550267,-0.3869056969893645,-0.32954705451766575,-0.2885877646215409,-0.2701313943097503,-0.25076106551075217,-0.23580268278288852,-0.22384115410190653,-0.2140127440363715,-0.20577596239652696,-0.1987385754131994,-0.19264657223311854,-0.18730564354290813,-0.1825824981793076,-0.17836934963226714,-0.17456958093088382,-0.1711370385373261,-0.16624179551042673,-0.1650572147816023},
{-1.250691536633241,-0.7156403005875425,-0.4887091305968463,-0.38680517376274004,-0.32946960896345523,-0.288517630224673,-0.27007586477969436,-0.2507123148385775,-0.23575899357233876,-0.22380135972250237,-0.2139760392069121,-0.205741769521131,-0.19870646824936333,-0.19261622706209458,-0.18727680864758334,-0.18255497246943442,-0.17834297060022664,-0.17454421743736237,-0.1711125785593257,-0.16621645820755937,-0.16503557327090856},
{-1.250555775046052,-0.7154228537250353,-0.48856631804927364,-0.38670471299785447,-0.3293922139258889,-0.28844759713160695,-0.27002037263252365,-0.25066359810575367,-0.23571533526047528,-0.223761593717537,-0.21393936083637488,-0.20570760150982093,-0.19867438464170917,-0.1925859043541287,-0.18724799527417613,-0.18252746747503323,-0.178316611572793,-0.17451887331380878,-0.17108813738861706,-0.16619117302839737,-0.1650139350540849},
{-1.2504194040184347,-0.715205426182842,-0.4884235825799683,-0.38660431466282397,-0.3293148693775514,-0.288377665059274,-0.2699649178563899,-0.2506149152987076,-0.23567170783571356,-0.22372185607792616,-0.21390270891759045,-0.2056734583571025,-0.19864232458650033,-0.19255560410573036,-0.1872192034198239,-0.1824999831940115,-0.17829027254881868,-0.17449354855859855,-0.17106371502453754,-0.1661659394700168,-0.1649923003352045},
{-1.2502824251062963,-0.7149880182480346,-0.4882809241760251,-0.38650397872623987,-0.32923757529161346,-0.28830783372362134,-0.2699095004410381,-0.2505662664038688,-0.2356281112868306,-0.223682146795678,-0.2138660834449766,-0.20563934005759865,-0.19861028807989722,-0.19252532631466845,-0.18719043308318106,-0.1824725196256951,-0.1782639535280186,-0.17446824317259146,-0.17103931146784923,-0.16614075703891196,-0.16497066931646387},
{-1.2501448398623904,-0.7147706302066936,-0.48813834282481583,-0.3864037051568081,-0.3291603316411429,-0.2882381028407863,-0.2698541203750775,-0.2505176514078551,-0.23558454560317443,-0.22364246586237968,-0.2138294844124724,-0.20560524660656476,-0.1985782751183871,-0.19249507097739382,-0.18716168426208402,-0.18244507676945343,-0.17823765450928342,-0.17444295715524127,-0.17101492671880525,-0.16611562524788415,-0.1649490421958788},
{-1.25000664983604,-0.7145532623435913,-0.48799583851299033,-0.3863034939226724,-0.32908313839917636,-0.28816847212495933,-0.26979877764691995,-0.25046907029714305,-0.23554101077262146,-0.22360281326879683,-0.21379291181359417,-0.20557117799777913,-0.19854628569814636,-0.19246483809083248,-0.1871329569547875,-0.18241765462371173,-0.17821137549193544,-0.17441769050590583,-0.1709905607773683,-0.16609054361768827,-0.16492741916930953},
{-1.2498678565735215,-0.7143359149426907,-0.48785341122776416,-0.3862033449929241,-0.32900599553908894,-0.2880989412909605,-0.269743472245918,-0.2504205230585157,-0.2354975067849363,-0.22356318900728045,-0.2137563656425856,-0.20553713422641007,-0.1985143198159962,-0.19243462765270092,-0.1871042511596297,-0.18239025318794688,-0.1781851164750261,-0.17439244322517666,-0.17096621364460063,-0.16606551167724692,-0.1649058004289241},
{-1.2497284616178326,-0.7141185882870644,-0.48771106095608197,-0.38610325833612347,-0.32892890303441735,-0.28802951005353794,-0.2696882041607589,-0.25037200967833506,-0.2354540336281321,-0.22352359306910508,-0.21371984589334936,-0.20550311528763654,-0.19848237746787945,-0.19240443965964804,-0.1870755668745856,-0.18236287246064453,-0.17815887745848435,-0.1743672153123672,-0.17094188532043653,-0.16604052896185628,-0.1648841861642385},
{-1.2495884665086865,-0.7139012826585538,-0.48756878768456513,-0.38600323392121805,-0.32885186085815565,-0.28796017812546015,-0.26963297338042747,-0.25032353014389397,-0.23541059129209607,-0.2234840254463748,-0.21368335256016913,-0.20546912117634797,-0.19845045865102318,-0.19237427410925356,-0.18704690409865243,-0.18233551244181,-0.17813265844126924,-0.17434200676797218,-0.17091757580579792,-0.166015595014807,-0.16486257656154368},
{-1.2494478727825729,-0.7136839983381149,-0.48742659140024713,-0.38590327171713223,-0.32877486898425,-0.2878909452210161,-0.2695777798941359,-0.25027508444190705,-0.23536717976555366,-0.22344448613088996,-0.2136468856369742,-0.2054351518876727,-0.19841856336203811,-0.19234413099901726,-0.18701826282985134,-0.18230817313018477,-0.17810645942328485,-0.1743168175917731,-0.17089328510155255,-0.1659907093862678,-0.16484097180580548},
{-1.2493066819728749,-0.7134667356056821,-0.48728447208985326,-0.38580337169278334,-0.32869792738636683,-0.2878218110520816,-0.26952262369027036,-0.2502266725595259,-0.2353237990372099,-0.22340497511460278,-0.21361044511837246,-0.2054012074164886,-0.1983866915974808,-0.1923140103259593,-0.1869896430667275,-0.18228085452527587,-0.17808028040363677,-0.17429164778412165,-0.1708690132077395,-0.16596587163330412,-0.16481937207721753},
{-1.2491648956096668,-0.7132494947402033,-0.4871424297399365,-0.38570353381702027,-0.3286210360380384,-0.28775277533171284,-0.2694675047583326,-0.2501782944837396,-0.23528044909658163,-0.22336549238975945,-0.21357403099831096,-0.20536728775825885,-0.19835484335456055,-0.19228391208776596,-0.18696104480816356,-0.1822535566264465,-0.17805412138219978,-0.17426649734514754,-0.17084476012569372,-0.1659410813197324,-0.16479777755432323},
{-1.2490225152198935,-0.7130322760197445,-0.4870004643373358,-0.3856037580595162,-0.3285441949133556,-0.28768383777236917,-0.2694124230866759,-0.25012995020184015,-0.2352371299330498,-0.22332603794825,-0.21353764327149882,-0.205333392908555,-0.19832301863022117,-0.19225383628235182,-0.18693246805301023,-0.1822262794329479,-0.17802798235864437,-0.17424136627526732,-0.17082052585617813,-0.16591633801732275,-0.16477618841294284},
{-1.2488795423272538,-0.7128150797212642,-0.48685857586852777,-0.38550404438929764,-0.32846740398618035,-0.2876149980858518,-0.26935737866504006,-0.25008163970086894,-0.2351938415355761,-0.22328661178269638,-0.21350128193232631,-0.2052995228622585,-0.19829121742145706,-0.19222378290693065,-0.18690391279988994,-0.18219902294459267,-0.17800186333286216,-0.17421625457464618,-0.1707963104001422,-0.16589164130340528,-0.16475460482612192},
{-1.248735978452343,-0.7125979061207199,-0.48671676432018707,-0.3854043927755981,-0.3283906632303202,-0.2875462559843136,-0.2693023714822562,-0.25003336296851675,-0.2351505838932857,-0.2232472138849504,-0.2134649469751464,-0.20526567761531478,-0.19825943972540738,-0.19219375195958044,-0.1868753790476072,-0.18217178716090032,-0.17797576430453077,-0.17419116224373088,-0.1707721137587912,-0.16586699076176004,-0.16473302696350522},
{-1.24859182511246,-0.7123807554933039,-0.48657502967858335,-0.3853048031878581,-0.32831397262039363,-0.2874776111788977,-0.26924740152674076,-0.24998511999190764,-0.2351073569958233,-0.2232078442478631,-0.21342863839447368,-0.20523185716286285,-0.19822768553913672,-0.19216374343756737,-0.18684686679503848,-0.18214457208114077,-0.1779496852735365,-0.1741660892831023,-0.17074793593284543,-0.16584238598380008,-0.1647114549937756},
{-1.2484470838218882,-0.712163628113113,-0.4864333719304357,-0.3852052755956352,-0.32823733213055917,-0.2874090633811015,-0.2691924687884404,-0.2499369107589251,-0.23506416083245885,-0.22316850286379175,-0.21339235618519758,-0.20519806150120523,-0.19819595486010044,-0.192133757339489,-0.1868183760417308,-0.1821173777055538,-0.1779236262395214,-0.17414103569318762,-0.170723776923972,-0.1658178265663981,-0.1646898890814752},
{-1.2483017560915513,-0.7119465242530483,-0.486291791062051,-0.3851058099685485,-0.32816074173499477,-0.2873406123030522,-0.26913757325571375,-0.24988873525711597,-0.23502099539288235,-0.22312918972530582,-0.21335610034214625,-0.20516429062545782,-0.19816424768577434,-0.1921037936630139,-0.18678990678660234,-0.18209020403368203,-0.17789758720340476,-0.17411600147486173,-0.17069963673313193,-0.16579331211352866,-0.16466832938978015},
{-1.2481558434294002,-0.7117294441855213,-0.48615028705964125,-0.38500640627601523,-0.32808420140817063,-0.2872722576550384,-0.2690827149182624,-0.24984059347403687,-0.2349778606660582,-0.22308990482525548,-0.21331987085949233,-0.20513054453148527,-0.19813256401338464,-0.19207385240613384,-0.18676145902887153,-0.18206305106483,-0.1778715681645826,-0.17409098662902434,-0.1706755153615802,-0.16576884223421562,-0.16464677607864164},
{-1.2480093473400982,-0.711512388181561,-0.4860088599097354,-0.38490706448799195,-0.32800771112470084,-0.28720399914911976,-0.26902789376507297,-0.24979248539754462,-0.23493475664177144,-0.22305064815619602,-0.21328366773287755,-0.20509682321546752,-0.19810090384084234,-0.19204393356693394,-0.18673303276765552,-0.1820359187994498,-0.17784556912335958,-0.17406599115575183,-0.1706514128108232,-0.16574441654484762,-0.16462522930573353},
{-1.2478622693253314,-0.7112953565115205,-0.48586750959868485,-0.38480778457397413,-0.3279312708593398,-0.2871358364955148,-0.2689731097850121,-0.24974441101566924,-0.23489168330966592,-0.22301141971100158,-0.21324749095633067,-0.20506312667283044,-0.1980692671647688,-0.19201403714350818,-0.1867046280023139,-0.18200880723704493,-0.17781959008017267,-0.174041015056285,-0.17062732908239298,-0.165720034666891,-0.16460368922654123},
{-1.2477146108834676,-0.7110783494446302,-0.48572623611240484,-0.3847085665044707,-0.3278548805870525,-0.2870677694060104,-0.268918362967578,-0.24969637031626402,-0.23484864065923272,-0.22297221948275592,-0.21321134052574386,-0.20502945490039792,-0.1980376539839277,-0.1919841631344852,-0.18667624473271793,-0.18198171637805505,-0.17779363103504053,-0.1740160583321977,-0.17060326417759253,-0.1656956962285232,-0.1645821559942382},
{-1.247566373509803,-0.7108613672492683,-0.48558503943728315,-0.384609410248979,-0.32777854028214826,-0.2869997975916201,-0.2688636533017563,-0.24964836328737672,-0.23480562867999666,-0.22293304746435538,-0.21317521643520543,-0.20499580789358696,-0.19800606429522105,-0.1919543115381419,-0.1866478829580398,-0.18195464622224122,-0.17776769198855646,-0.17399112098338065,-0.17057921809806054,-0.1656714008630642,-0.16456062975896213},
{-1.2474175586965774,-0.7106444101929235,-0.48544391955948374,-0.3845103157777574,-0.327702249920125,-0.28693192076346374,-0.2688089807768925,-0.24960038991724787,-0.2347626473619524,-0.22289390364916972,-0.21313911868035618,-0.2049621856487862,-0.19797449809688228,-0.19192448235269577,-0.18661954267804237,-0.18192759676955284,-0.1777417729414088,-0.17396620301157917,-0.17055519084544546,-0.1656471482099251,-0.16453911066923244},
{-1.2472681679328121,-0.710427478541932,-0.48530287646509507,-0.3844112830607802,-0.3276260094756358,-0.2868641386331072,-0.2687543453823915,-0.24955245019389416,-0.23471969669445691,-0.2228547880300331,-0.2131030472560731,-0.2049285881621543,-0.19794295538623885,-0.19189467557663065,-0.18659122389204796,-0.1819005680201613,-0.17771587389381072,-0.17394130441776134,-0.17053118242181142,-0.16562293791386207,-0.16451759887085515},
{-1.2471182027045522,-0.7102105725619325,-0.4851619101401594,-0.38431231206842753,-0.32754981892417767,-0.28679645091130723,-0.2686997471071422,-0.24950454410596556,-0.2346767766675324,-0.22281570060038547,-0.21306700215745167,-0.2048950154301732,-0.1979114361618226,-0.19186489120883188,-0.18656292660020846,-0.18187355997424692,-0.17768999484626669,-0.1739164252030152,-0.17050719282828997,-0.16559876962581743,-0.1644960945078351},
{-1.2469676644944907,-0.7099936925175934,-0.4850210205707164,-0.3842134027711097,-0.32747367824096507,-0.2867288573100799,-0.26864518594106723,-0.2494566716417772,-0.23463388727093992,-0.2227766413539669,-0.21303098338048976,-0.20486146744958678,-0.1978799404212337,-0.19183512924779844,-0.18653465080238352,-0.18184657263255577,-0.17766413579985674,-0.17389156536924588,-0.1704832220673378,-0.1655746430016647,-0.16447459772144501},
{-1.2468165547825247,-0.709776838672346,-0.4848802077428145,-0.3841145551389884,-0.32739758740142477,-0.286661357541254,-0.2685906618731586,-0.24940883278970016,-0.23459102849454716,-0.22273761028388872,-0.21299499091955365,-0.20482794421637696,-0.19784846816266466,-0.19180538969242278,-0.18650639649848078,-0.18181960599491642,-0.1776382967553385,-0.17386672491710442,-0.1704592701407135,-0.16555055770268368,-0.16445310865075502},
{-1.2466648750452287,-0.7095600112891747,-0.4847394716422979,-0.3840157691426098,-0.3273215463808583,-0.28659395131622123,-0.26853617489293136,-0.24936102753848033,-0.23454820032791535,-0.22269860738357306,-0.21295902477036144,-0.20479444572728678,-0.19781701938402296,-0.1917756725413735,-0.18647816368800907,-0.18179266006177386,-0.17761247771346156,-0.17384190384836895,-0.17043533705018987,-0.16552651339548863,-0.16443162743304462},
{-1.2465126267562958,-0.7093432106299313,-0.4845988122552818,-0.3839170447527209,-0.32724555515491094,-0.2865266383476346,-0.2684817249897309,-0.24931325587643904,-0.2345054027613811,-0.22265963264686484,-0.21292308492832568,-0.20476097197915077,-0.1977855940833395,-0.19174597779341074,-0.18644995237133077,-0.18176573483343006,-0.17758667867463274,-0.17381710216449076,-0.17041142279785237,-0.1655025097520424,-0.1644101542032459},
{-1.2463598113861143,-0.7091264369553034,-0.4844582295674602,-0.3838183819396921,-0.3271696136991693,-0.2864594183469009,-0.26842731215283067,-0.2492655177925931,-0.23446263578479076,-0.2226206860673301,-0.21288717138868662,-0.20472752296850683,-0.19775419225885038,-0.19171630544805573,-0.18642176254854093,-0.18173883031079363,-0.17756089964068433,-0.1737923198672302,-0.17038752738580687,-0.1654785464493811,-0.16438868909414683},
{-1.2462064304021405,-0.7089096905255343,-0.4843177235647813,-0.38371978067458734,-0.327093721989697,-0.2863922910270418,-0.26837293637243764,-0.24921781327578518,-0.2344198993880653,-0.22258176763924187,-0.21285128414760468,-0.2046940986922774,-0.1977228139092393,-0.19168665550415298,-0.1863935942202133,-0.1817119464943593,-0.17753514061198228,-0.17376755695810076,-0.17036365081639016,-0.16545462316952264,-0.16436723223661698},
{-1.2460524852687507,-0.7086929715996853,-0.4841772942330991,-0.3836212409280284,-0.3270178800021091,-0.2863252561013052,-0.2683185976371396,-0.24917014231479406,-0.23437719356151732,-0.22254287735600542,-0.21281542319996127,-0.20466069914719398,-0.1976914590325265,-0.1916570279605434,-0.18636544738616667,-0.18168508338423273,-0.17750940159015283,-0.1737428134389356,-0.17033979309160419,-0.1654307395995822,-0.16434578375888798},
{-1.2458979774472696,-0.7084762804357685,-0.4840369415581076,-0.3835227626709914,-0.326942087712645,-0.28625831328237794,-0.26826429593741885,-0.24912250489861787,-0.23433451829500562,-0.2225040152118254,-0.21277958854202694,-0.20462732433057607,-0.19766012762717278,-0.19162742281716927,-0.1863373220469704,-0.18165824098172845,-0.17748368257619607,-0.17371808931171007,-0.17031595421391987,-0.1654068954312251,-0.16432434378817717},
{-1.2457429083959086,-0.7082596172912905,-0.48389666552583055,-0.38342434587465046,-0.3268663450973257,-0.2861914622840951,-0.26821003126251153,-0.24907490101663043,-0.2342918735792372,-0.2224651812009526,-0.21274378016895934,-0.20459397423970316,-0.19762881969164425,-0.19159784007288394,-0.18630921820281632,-0.18163141928752502,-0.17745798357149933,-0.1736933845783506,-0.17029213418593514,-0.16538309036107712,-0.16430291244880113},
{-1.2455872795698752,-0.7080429824224925,-0.483756466121668,-0.3833259905096673,-0.32679065213217307,-0.2861247028197562,-0.2681558036020997,-0.24902733065748617,-0.23424925940380792,-0.2224263753171858,-0.21270799807688956,-0.20456064887109182,-0.19759753522450918,-0.19156827972721668,-0.1862811358544585,-0.18160461830198127,-0.1774323045772368,-0.1736686992404639,-0.17026833300930022,-0.16535932409082932,-0.16428148986366953},
{-1.2454310924213403,-0.7078263760849293,-0.48361634333150416,-0.38322769654764244,-0.32671500879398696,-0.2860580346039088,-0.2681016129461131,-0.2489797938109275,-0.23420667575927467,-0.2223875975549907,-0.21267224226148862,-0.20452734822233776,-0.19756627422427986,-0.19153874177994012,-0.18625307500265986,-0.18157783802631489,-0.17740664559511554,-0.1736440333006719,-0.17024455068719213,-0.16533559632623174,-0.1642600761534485},
{-1.2452743483994428,-0.7076097985332126,-0.4834762971410518,-0.3831294639595413,-0.3266394150586285,-0.285991457351348,-0.26804745928401275,-0.2489322904659641,-0.23416412263636133,-0.2223488479088438,-0.21263651271893114,-0.20449407229099492,-0.1975350366897466,-0.191509226230548,-0.1862250356478965,-0.18155107846145935,-0.17738100662644563,-0.17361938676077937,-0.17022078722203116,-0.16531190677833685,-0.1642386714374684},
{-1.2451170489502643,-0.7073932500210658,-0.4833363275358211,-0.3830312927169981,-0.32656387090284067,-0.28592497077684076,-0.2679933426058847,-0.24888482061190054,-0.2341216000252171,-0.2223101263729177,-0.21260080944455595,-0.2044608210739245,-0.19750382261964017,-0.19147973307859711,-0.18619701779114717,-0.18152433960821757,-0.1773553876728684,-0.173594759623251,-0.17019704261604662,-0.16528825516186618,-0.16421727583228574},
{-1.2449591955169237,-0.7071767308013008,-0.4831964345014441,-0.38293318279114175,-0.32648837630310634,-0.28585857459633335,-0.267939262901729,-0.24883738423849167,-0.23407910791611997,-0.22227143294183183,-0.21256513243482544,-0.20442759456895843,-0.1974726320128628,-0.1914502623243619,-0.18616902143250336,-0.18149762146809945,-0.17732978873581917,-0.17357015189020863,-0.17017331687255943,-0.16526464119640316,-0.16419588945351382},
{-1.2448007895394197,-0.7069602411258575,-0.483056618023725,-0.38283513415365533,-0.3264129312363684,-0.28579226852500295,-0.2678852201609514,-0.24878998133531205,-0.2340366462998391,-0.22223276761023847,-0.21252948168567176,-0.20439439277376614,-0.19744146486770298,-0.19142081396704747,-0.18614104657350872,-0.18147092404147624,-0.1773042098175832,-0.17354556356425999,-0.17014960999371098,-0.1652410646063167,-0.164174512414891},
{-1.2446418324549446,-0.7067437812458977,-0.4829168780881199,-0.38273714677623794,-0.32633753567945156,-0.285726052279494,-0.26783121437425006,-0.2487426118916396,-0.2339942151671588,-0.22219413037280322,-0.212493857193218,-0.2043612156857577,-0.19741032118375923,-0.19139138800714317,-0.1861130932151731,-0.18144424733031794,-0.1772786509189972,-0.17352099464757664,-0.17012592198257703,-0.16521752511975052,-0.16415314482771226},
{-1.2444823256973692,-0.7065273514115091,-0.4827772146800955,-0.38263922063054956,-0.326262189609257,-0.2856599255776082,-0.2677772455312386,-0.24869527589789442,-0.2339518145088766,-0.2221555212243107,-0.21245825895381643,-0.2043280633028548,-0.19737920095985384,-0.19136198444466057,-0.18608516135858366,-0.1814175913354008,-0.17725311204285532,-0.1734964451428631,-0.17010225284210634,-0.16519402246923498,-0.16413178680258245},
{-1.2443222706979036,-0.7063109518720543,-0.4826376277852855,-0.38254135568836833,-0.32618689300256154,-0.28559388813581954,-0.26772331362218704,-0.24864797334299737,-0.23390944431549165,-0.2221169401597125,-0.21242268696328992,-0.20429493562290713,-0.19734810419503557,-0.19133260327975066,-0.18605725100470938,-0.18139095605797095,-0.17722759319059822,-0.173471915052966,-0.17007860257510377,-0.16517055639176892,-0.16411043844800588},
{-1.2441616688845683,-0.7060945828759468,-0.48249811738912474,-0.38244355192140134,-0.32611164583668995,-0.2855279396728294,-0.26766941863714777,-0.24860070421738456,-0.23386710457799964,-0.22207838717401174,-0.21238714121836733,-0.20426183264378928,-0.19731703088837893,-0.1913032445126781,-0.18602936215481147,-0.18136434149970704,-0.17720209436458756,-0.1734474043801688,-0.17005497118477297,-0.16514712662815345,-0.1640890998707265},
{-1.2440005216824366,-0.7058782446709522,-0.4823586834772078,-0.38234580930188855,-0.32603644808896615,-0.2854620799063774,-0.26761556056646807,-0.2485534685110098,-0.23382479528731714,-0.22203986226185268,-0.21235162171481914,-0.20422875436304722,-0.1972859810389398,-0.19127390814328127,-0.1860014948101103,-0.18133774766184452,-0.17717661556643716,-0.17342291312714142,-0.17003135867380959,-0.16512373292355242,-0.16406777117640026},
{-1.2438388305136674,-0.7056619375036846,-0.48221932603475626,-0.38224812780174844,-0.32596129973689614,-0.28539630855617837,-0.2675617394005467,-0.2485062662137274,-0.23378251643474446,-0.22200136541890547,-0.21231612844981118,-0.2041957007793993,-0.19725495464670395,-0.19124459417283202,-0.18597364897201718,-0.18131117454598922,-0.17715115679875382,-0.1733984412974623,-0.17000776504536486,-0.16510037502703057,-0.1640464524689058},
{-1.2436765967973828,-0.7054456616200371,-0.4820800450475238,-0.3821505073932334,-0.32588620075765995,-0.2853306253421639,-0.26750795512951875,-0.2484590973158829,-0.23374026801099568,-0.2219628966401963,-0.21228066141942925,-0.2041626718909697,-0.19722395171002738,-0.19121530260138453,-0.18594582464209353,-0.18128462215390506,-0.1771257180632464,-0.1733739888930943,-0.16998419030304124,-0.16507705269181994,-0.16402514385036238},
{-1.243513821949771,-0.7052294172650813,-0.4819408405007364,-0.3820529480484156,-0.3258111511289741,-0.2852650299844166,-0.267454207743973,-0.2484119618076175,-0.2336980500079866,-0.22192445592115995,-0.2122452206200327,-0.20412966769558594,-0.19719297222926357,-0.19118603342946727,-0.18591802182169292,-0.18125809048679198,-0.1771002993629356,-0.17334955591752,-0.16996063444936027,-0.16505376567507568,-0.16400384542241486},
{-1.2433505073840325,-0.7050132046829418,-0.4818017123799123,-0.3819554497397739,-0.32573615082810203,-0.2851995222041417,-0.2674004972342967,-0.24836485967884503,-0.2336558624163061,-0.22188604325717254,-0.21220980604845696,-0.2040966881919264,-0.19716201620316198,-0.19115678665795777,-0.18589024051251535,-0.18123157954649738,-0.17707490069962972,-0.1733251423738329,-0.16993709748840757,-0.1650305137375785,-0.16398255728421152},
{-1.2431866545104655,-0.7047970241169361,-0.4816626606702137,-0.3818580124394835,-0.32566119983335184,-0.28513410172247244,-0.26734682359105477,-0.24831779092025208,-0.233613705227822,-0.22184765864365996,-0.2121744177013003,-0.2040637333785158,-0.19713108363173415,-0.19112756228768646,-0.18586248071604583,-0.18120508933525503,-0.1770495220761248,-0.1733007482648734,-0.1699135794228166,-0.1650072966443794,-0.16396127953459239},
{-1.2430222647363482,-0.7045808758097003,-0.4815236853572964,-0.3817606361207515,-0.32558629812264606,-0.2850687682619819,-0.2672931868052233,-0.24827075552247901,-0.2335715784343364,-0.2218093020765881,-0.21213905557555357,-0.20403080325368173,-0.19710017451438056,-0.19109836031930527,-0.18583474243413978,-0.18117861985460504,-0.1770241634946439,-0.17327637359416137,-0.1698900802566934,-0.1649841141642412,-0.16394001227037425},
{-1.242857339466119,-0.704364760002659,-0.48138478642623195,-0.38166332075519893,-0.32551144567348356,-0.2850035215457387,-0.2672395868666477,-0.24822375347557202,-0.23352948202655543,-0.22177097355107822,-0.21210371966738428,-0.20399789781612654,-0.1970692888509067,-0.19106918075375567,-0.185807025668157,-0.18115217110631576,-0.1769988249581642,-0.1732520183644768,-0.16986659999300002,-0.16496096606947397,-0.16391875558658686},
{-1.2426918801012223,-0.704148676936807,-0.4812459638626496,-0.38156606631622747,-0.32543664246447435,-0.2849383612974101,-0.2671860237670307,-0.24817678477044414,-0.23348741599708767,-0.22173267306352962,-0.21206840997437926,-0.20396501706480574,-0.19703842664108606,-0.1910400235923424,-0.18577933042032857,-0.18112574309277907,-0.1769735064692881,-0.1732276825794541,-0.1698431386354864,-0.164937852136263,-0.16389750957839322},
{-1.2425258880402552,-0.7039326268521773,-0.4811072176518296,-0.38146887277668906,-0.3253618884735294,-0.28487328724177896,-0.2671324974970508,-0.24812984939768779,-0.23344538033780537,-0.22169440060991796,-0.21203312649301775,-0.20393216099849187,-0.19700758788488404,-0.19101088883616146,-0.18575165669239269,-0.18109933581595072,-0.1769482080305096,-0.17320336624245858,-0.16981969618756665,-0.1649147721445159,-0.16387627433838858},
{-1.2423593646786966,-0.7037166099876746,-0.4809685477788843,-0.3813717401088361,-0.3252871836790403,-0.2848082991029788,-0.2670790080471592,-0.24808294734816183,-0.23340337504037123,-0.2216561561858459,-0.21199786922044428,-0.20389932961592638,-0.1969767725821816,-0.19098177648623427,-0.18572400448617898,-0.18107294927783002,-0.17692292964514422,-0.17317906935669125,-0.169796272653171,-0.16489172587770806,-0.1638550499586433},
{-1.242192311409334,-0.7035006265818486,-0.48082995422913477,-0.38127466828624446,-0.3252125280594784,-0.28474339660748527,-0.2670255554089076,-0.248036078612361,-0.23336140009684847,-0.22161793978767363,-0.21196263815358218,-0.20386652291634277,-0.1969459807328855,-0.19095268654401032,-0.18569637380399584,-0.18104658348142877,-0.17689767131571799,-0.17315479192567285,-0.16977286803605196,-0.16486871312242535,-0.16383383652934214},
{-1.2420247296219458,-0.7032846768721539,-0.480691436988157,-0.38117765728191877,-0.32513792159353816,-0.2846785794820308,-0.2669721395728857,-0.24798924318159,-0.23331945549959343,-0.22157975141150565,-0.21192743328961772,-0.2038337408987605,-0.19691521233707387,-0.1909236190107242,-0.18566876464756987,-0.1810202384278643,-0.17687243304566813,-0.17313053395349165,-0.16974948233957754,-0.1648457336694591,-0.16381263413974523},
{-1.2418566207034223,-0.7030687610951754,-0.4805529960408803,-0.38108070706869945,-0.3250633642594032,-0.28461384745351204,-0.26691876053056074,-0.24794244104675922,-0.23327754124118627,-0.22154159105392157,-0.21189225462617145,-0.2038009835626875,-0.19688446739514376,-0.19089457388810427,-0.18564117701907712,-0.18099391412064403,-0.17684721483781018,-0.1731062954433611,-0.16972611556787243,-0.1648227873129482,-0.1637914428782743},
{-1.2416879860376921,-0.7028528794869393,-0.4804146313728417,-0.38098381762024935,-0.32498885603612226,-0.28454920025054964,-0.2668654182732544,-0.2478956721986405,-0.2332356573137755,-0.22150345871108534,-0.2118571021597342,-0.20376825090755535,-0.19685374590706228,-0.19086555117753878,-0.1856136109205293,-0.18096761056166244,-0.17682201669562225,-0.17308207639915985,-0.16970276772523185,-0.1647998738497236,-0.16377026283131535},
{-1.2415188270059545,-0.7026370322823361,-0.4802763429691641,-0.38088698890959805,-0.32491439690272816,-0.28448463760137077,-0.2668121127920351,-0.2478489366287535,-0.23319380370985687,-0.221465354379613,-0.2118219758881157,-0.20373554293226004,-0.19682304787335791,-0.19083655088066553,-0.18558606635441688,-0.18094132775384342,-0.17679683862201045,-0.1730578768244424,-0.16967943881492786,-0.16477699308060423,-0.16374909408444083},
{-1.2413491449863465,-0.7024212197157089,-0.48013813081483114,-0.38079022091027426,-0.32483998683790904,-0.2844201592359914,-0.26675884407835593,-0.24780223432812765,-0.23315198042223617,-0.22142727805610818,-0.21178687580877664,-0.20370285963673762,-0.19679237329414967,-0.19080757299941453,-0.18555854332299404,-0.18091506569949534,-0.17677168062065363,-0.17303369672304392,-0.1696561288415328,-0.164754144809649,-0.16372793672191577},
{-1.2411789413543186,-0.702205442020448,-0.4799999948955582,-0.38069351359605363,-0.32476562582108226,-0.28435576488515757,-0.26670561212377564,-0.2477555652882666,-0.23311018744405398,-0.221389229737472,-0.21175180191934828,-0.20367020102087263,-0.1967617221703888,-0.19077861753552305,-0.18553104182854518,-0.18088882440170018,-0.1767465426950352,-0.17300953609932002,-0.16963283780912164,-0.16473132884418362,-0.16370679082729112},
{-1.2410082174822348,-0.7019896994292232,-0.47986193519632714,-0.38059686694031036,-0.32469131383107097,-0.2842914542798045,-0.2666524169197473,-0.24770892950017487,-0.23306842476800238,-0.22135120942031605,-0.2117167542170515,-0.2036375670839341,-0.1967310945022671,-0.19074968449075413,-0.18550356187339112,-0.18086260386276365,-0.17672142484843256,-0.1729853949566813,-0.16960956572153485,-0.16470854499408638,-0.16368565648207678},
{-1.2408369747397625,-0.7017739921737771,-0.4797239517023888,-0.38050028091705546,-0.3246170508471815,-0.2842272271526216,-0.26659925845806587,-0.24766232695589085,-0.2330266923873916,-0.2213132171015033,-0.2116817326997973,-0.20360495782640875,-0.19670049029055914,-0.1907207738674419,-0.18547610346020083,-0.18083640408623047,-0.17669632708465954,-0.17296127329978184,-0.16958631258345314,-0.16468579307289133,-0.16366453376756596},
{-1.2406652144936174,-0.7015583204852076,-0.47958604439885644,-0.38040375549968175,-0.3245428368490142,-0.2841630832358222,-0.2665461367301756,-0.24761575764648658,-0.23298499029515352,-0.221275252778093,-0.21164673736484918,-0.20357237324787913,-0.19666990953563968,-0.1906918856671851,-0.1854486665912809,-0.18081022507469768,-0.1766712494074696,-0.17293717113234663,-0.16956307839897278,-0.16466307289721804,-0.1636434227633572},
{-1.2404929381077676,-0.7013426845938282,-0.47944821327120835,-0.3803072906626177,-0.324468671816307,-0.28409902226369965,-0.2664930517282471,-0.2475692215640164,-0.23294331848502914,-0.2212373164472421,-0.21161176821071948,-0.20353981334836924,-0.1966393522390204,-0.190663019892634,-0.1854212512694815,-0.18078406683138226,-0.17664619182019337,-0.1729130884583583,-0.16953986317269454,-0.1646403842861357,-0.16362232354780204},
{-1.240320146943235,-0.7011270847289222,-0.4793104583043597,-0.38021088637972156,-0.3243945557283512,-0.2840350439712491,-0.26644000344410834,-0.2475227187001412,-0.232901676950501,-0.22119940810624872,-0.21157682523548793,-0.20350727812842795,-0.19660881840131417,-0.19063417654591674,-0.18539385749728332,-0.18075792935921164,-0.1766211543275329,-0.17288902528275862,-0.16951666690928313,-0.16461772706280087,-0.1636012361991881},
{-1.2401468423581634,-0.7009115211193135,-0.4791727794837284,-0.38011454262500344,-0.3243204885649833,-0.2839711480935758,-0.2663869918695134,-0.24747624904635845,-0.2328600656850064,-0.22116152775223785,-0.21154190843610277,-0.2034747675880615,-0.19657830802299614,-0.19060535562918623,-0.18536648527757293,-0.18073181266152538,-0.17659613693287035,-0.1728649816093224,-0.16949348961279043,-0.16459510105182673,-0.16358016079340132},
{-1.2399730257080326,-0.7006959939926922,-0.4790351767941621,-0.38001825937282874,-0.3242464703059884,-0.28390733436734994,-0.2663340169968613,-0.2474298125951142,-0.2328184846824204,-0.22112367538277766,-0.21150701781153902,-0.20344228172787027,-0.19654782110594216,-0.19057655714521715,-0.18533913461292073,-0.18070571674150138,-0.17657113964036775,-0.17284095744242833,-0.16947033128812805,-0.16457250608168295,-0.16355909740626728},
{-1.239798698345401,-0.7004805035761894,-0.47889765022139663,-0.37992203659747936,-0.3241725009314811,-0.2838436025296609,-0.26628107881810514,-0.24738340933803027,-0.23277693393639431,-0.22108585099538747,-0.21147215335968106,-0.20340982054803636,-0.1965173576506567,-0.19054778109575032,-0.18531180550629678,-0.18067964160258043,-0.1765461624540059,-0.17281695278661857,-0.1694471919400513,-0.16454994198304007,-0.1635380461125422},
{-1.2396238616199242,-0.7002650500962826,-0.4787601997501092,-0.3798258742734033,-0.3240985804216949,-0.28377995231896236,-0.26622817732565807,-0.24733703926743722,-0.23273541344183712,-0.22104805458736188,-0.21143731507890617,-0.20337738404960248,-0.1964869176587971,-0.19051902748442018,-0.18528449796062318,-0.18065358724806302,-0.17652120537821503,-0.17279296764662,-0.1694240715734452,-0.16452740858990644,-0.16351700698532845},
{-1.2394485168784972,-0.7000496337782174,-0.4786228253658207,-0.3797297723751516,-0.3240247087565402,-0.28371638347474804,-0.2661753125115949,-0.2472907023754587,-0.23269392319226423,-0.22101028615657903,-0.2114025029674238,-0.20334497223295145,-0.19645650113134128,-0.19049029631326064,-0.1852572119790068,-0.18062755368175765,-0.17649626841714827,-0.17276900202672074,-0.16940097019290512,-0.16450490573857834,-0.16349598009763433},
{-1.2392726654653021,-0.6998342548470111,-0.47848552705352443,-0.3796337308772797,-0.32395088591641485,-0.2836528957364699,-0.2661224843687702,-0.24724439865448122,-0.2326524631823741,-0.22097254570109648,-0.21136771702414325,-0.2033125850989883,-0.1964261080699261,-0.19046158758509435,-0.18522994756446565,-0.18060154090692748,-0.17647135157551475,-0.17274505593168143,-0.1693778878032255,-0.16448243326794731,-0.1634749655208836},
{-1.2390963087216655,-0.6996189135264164,-0.47834830479856993,-0.3795377497545527,-0.3238771118815684,-0.2835894888456485,-0.2660696928893893,-0.2471981280966844,-0.2326110334062541,-0.22093483321820706,-0.2113329572471505,-0.20328022264868562,-0.19639573847568137,-0.19043290130287893,-0.18520270471948308,-0.18057554892733307,-0.17644645485703414,-0.17272112936617035,-0.16935482440999472,-0.16445999101962627,-0.16345396332632234},
{-1.2389194479860315,-0.6994036100398926,-0.4782111585859399,-0.37944182898163437,-0.32380338663303476,-0.2835261625439527,-0.26601693806632376,-0.24715189069499388,-0.2325696338586738,-0.22089714870653587,-0.21129822363534334,-0.20324788488291734,-0.19636539235072803,-0.19040423746957913,-0.18517548344816248,-0.18054957774706004,-0.17642157826667137,-0.1726972223350085,-0.16933178001791305,-0.1644375788379442,-0.1634329735836264},
{-1.2387420845940973,-0.6991883446097509,-0.4780740884010113,-0.37934596853388136,-0.3237297101511425,-0.2834629165742495,-0.2659642198923384,-0.24710568644166298,-0.23252826453493292,-0.22085949216402145,-0.21126351618789307,-0.2032155718028239,-0.1963350696964561,-0.1903755960879856,-0.18514828375365688,-0.18052362736955807,-0.17639672180897037,-0.1726733348429068,-0.16930875463232198,-0.1644151965693066,-0.16341199636185344},
{-1.2385642198788482,-0.6989731174576486,-0.4779370942290253,-0.3792501683859113,-0.3236560824167709,-0.28339975068044687,-0.26591153836003745,-0.24705951532943438,-0.23248692542904514,-0.22082186358832523,-0.2112288349029292,-0.20318328340937164,-0.19630477051429907,-0.1903469771612123,-0.18512110563832884,-0.18049769779873692,-0.17637188548847504,-0.1726494668946259,-0.169285748258023,-0.1643928440632294,-0.16339103172873592},
{-1.2383858551703555,-0.6987579288044481,-0.47780017605489533,-0.37915442851303105,-0.3235825034106714,-0.283336664607325,-0.2658588934625694,-0.24701337735106588,-0.2324456165368085,-0.2207842629784329,-0.21119417977999877,-0.20315101970430582,-0.19627449480639036,-0.1903183806926858,-0.18509394910646115,-0.1804717890387355,-0.17634706931007038,-0.172625618495573,-0.1692627609008781,-0.1643705211713069,-0.16337007975275064},
{-1.238206991796142,-0.6985427788705811,-0.47766333386425863,-0.37905874889051017,-0.32350897311383076,-0.28327365810096605,-0.2658062851930323,-0.2469672724996972,-0.23240433785306536,-0.22074669033242778,-0.21115955081814874,-0.20311878068865497,-0.1962442425748243,-0.19028980668573325,-0.18506681416119442,-0.18044590109355063,-0.17632227327860583,-0.17260178965048567,-0.1692397925659499,-0.16434822774720104,-0.16334914049973825},
{-1.2380276310806702,-0.6983276678751613,-0.4775265676417355,-0.3789631294933393,-0.32343549150731743,-0.2832107309073635,-0.26575371354413857,-0.24692120076812962,-0.23236308937325312,-0.22070914564890298,-0.211124948016451,-0.20308656636390054,-0.19621401382152648,-0.19026125514342418,-0.18503970080595877,-0.18042003396753437,-0.17629749739887934,-0.17257798036431993,-0.1692168432587362,-0.16432596364747987,-0.16332821403568332},
{-1.23784777434585,-0.6981125960369594,-0.4773898773729197,-0.3788675702974018,-0.323362058572652,-0.2831478827748404,-0.26570117850980246,-0.2468751621496832,-0.23232187109267954,-0.2206716289265067,-0.2110903713743184,-0.2030543767317834,-0.1961838085485308,-0.1902327260692882,-0.18501260904457695,-0.18039418766492687,-0.1762727416759251,-0.17255419064272104,-0.1691939129851523,-0.16430372873081645,-0.16330730042560404},
{-1.2376674229107372,-0.6978975635740445,-0.47725326304302396,-0.37877207127797075,-0.3232886742909846,-0.28308511345202714,-0.26564868008291675,-0.2468291566373253,-0.23228068300693483,-0.22063414016380456,-0.21105582089102004,-0.20302221179359492,-0.19615362675782144,-0.19020421946681942,-0.1849855388805075,-0.1803683621895651,-0.17624800611450375,-0.17253042049042833,-0.1691710017500192,-0.16428152285785202,-0.16328639973321835},
{-1.2374865780917026,-0.6976825707032743,-0.47711672463717036,-0.37867663241081395,-0.323215338643589,-0.28302242268858624,-0.2655962182571603,-0.24678318422457135,-0.23223952511197155,-0.2205966793597387,-0.21102129656641644,-0.20299007155139925,-0.19612346845218198,-0.19017573533984766,-0.18495849031748257,-0.18034255754640505,-0.17622329072004916,-0.1725066699128348,-0.1691481095596412,-0.16425934589197944,-0.16326551202267225},
{-1.2373052412023302,-0.6974676176414132,-0.4769802621407164,-0.37858125367173656,-0.32314205161226717,-0.2829598102356341,-0.26554379302615505,-0.24673724490469784,-0.23219839740345538,-0.22055924651321313,-0.21098679839993117,-0.2029579560066903,-0.19609333363365877,-0.1901472736919665,-0.18493146335912414,-0.1803167737397242,-0.17619859549767902,-0.17248293891575628,-0.16912523641976485,-0.16423719769820444,-0.16324463735602635},
{-1.2371234135535305,-0.6972527046038417,-0.476843875538675,-0.3784859350362524,-0.323068813178649,-0.2828972758437791,-0.2654914043833605,-0.24669133867143067,-0.23215729987721456,-0.22052184162346666,-0.21095232639098782,-0.20292586516140965,-0.19606322230474227,-0.19011883452681744,-0.18490445800960842,-0.18029101077421217,-0.17617392045239733,-0.1724592275040262,-0.16910238233590924,-0.16421507814385095,-0.16322377579532876},
{-1.236941096453306,-0.6970378318056847,-0.47670756481650933,-0.378390676480552,-0.32299562332458986,-0.28283481926670273,-0.26543905232278764,-0.2466454655182435,-0.23211623252959868,-0.22048446468938732,-0.21091788054008198,-0.20289379901759297,-0.19603313446823023,-0.19009041784847547,-0.18487747427272083,-0.18026526865445902,-0.17614926558965394,-0.172435535683233,-0.16907954731416552,-0.1641929870987937,-0.16320292740153164},
{-1.2367582912072304,-0.6968229994610553,-0.4765713299593646,-0.3782954779807213,-0.3229224820318608,-0.2827724402580003,-0.2653867368383871,-0.24659962543902125,-0.23207519535677346,-0.2204471157103418,-0.21088346084687082,-0.20286175757718716,-0.19600307012655094,-0.1900620236610262,-0.18485051215241555,-0.18023954738521297,-0.1761246309149822,-0.17241186345952286,-0.16905673136062482,-0.16417092443463943,-0.16318209223529045},
{-1.236574999117817,-0.6966082077835205,-0.47643517095252896,-0.3782003395128095,-0.3228493892826174,-0.2827101385723694,-0.265334457924002,-0.2465538184274827,-0.2320341883551027,-0.22040979468574484,-0.21084906731165454,-0.2028297408421178,-0.19597302928266025,-0.19003365196820177,-0.18482357165315655,-0.18021384697130038,-0.17610001643373785,-0.17238821083781097,-0.16903393448114912,-0.16414889002465394,-0.16316127035654482},
{-1.2363912214851616,-0.6963934569857253,-0.47629908778125873,-0.3781052610532676,-0.3227763450586565,-0.28264791396576516,-0.265282215573893,-0.24650804447769303,-0.23199321152076813,-0.22037250161506527,-0.21081469993420043,-0.2027977488148025,-0.1959430119393506,-0.190005302774507,-0.18479665277832247,-0.18018816741772525,-0.17607542215170113,-0.17236457782452774,-0.16901115668201427,-0.16412688374463436,-0.16314046182397313},
{-1.2362069596064518,-0.6961787472796974,-0.4761630804308634,-0.37801024257807736,-0.32270334934263456,-0.2825857661947877,-0.2652300097823046,-0.24646230358377164,-0.23195226485093023,-0.22033523649787057,-0.2107803587146968,-0.2027657814973125,-0.19591301809969153,-0.18997697608362962,-0.18476975553284092,-0.18016250872971362,-0.17605084807392757,-0.17234096442513014,-0.16898839796945353,-0.1641049054722128,-0.1631196666965895},
{-1.2360222147762916,-0.6959640788767407,-0.4760271488867147,-0.37791528406412045,-0.32263040211686445,-0.28252369501753183,-0.26517784054373994,-0.24641659573984143,-0.23191134834192617,-0.22029799933386407,-0.21074604365423077,-0.20273383889214713,-0.1958830477667579,-0.1899486719005985,-0.18474287992110128,-0.18013687091222508,-0.17602629420663263,-0.17231737064527763,-0.1689656583498742,-0.16408295508667337,-0.16309888503190528},
{-1.2358369882864633,-0.6957494519874645,-0.47589129313393386,-0.3778203854878175,-0.3225575033637469,-0.28246170019320616,-0.2651257078526488,-0.2463709209405982,-0.23187046199098305,-0.22026079012297117,-0.2107117547529036,-0.202701921001589,-0.19585310094383068,-0.1899203902292097,-0.18471602594709147,-0.18011125397062777,-0.17600176055529815,-0.17229379649146814,-0.16894293782956282,-0.16406103246990789,-0.16307811688770535},
{-1.2356512814262275,-0.6955348668216521,-0.47575551315803555,-0.37772554682565485,-0.3224846530657066,-0.28239978148150424,-0.2650736117036292,-0.24632527917972524,-0.23182960579500023,-0.22022360886507286,-0.21067749201120378,-0.20267002782783194,-0.19582317763389767,-0.18989213107403735,-0.18468919361566094,-0.18008565790994702,-0.1759772471259886,-0.17227024196953522,-0.1689202364149871,-0.16403913750489352,-0.16305736232079582},
{-1.2354650954820197,-0.6953203235883736,-0.47561980894440303,-0.3776307680546749,-0.32241185120570837,-0.28233793864385603,-0.2650215520915946,-0.24627967045226296,-0.2317887797508238,-0.22018645556010874,-0.21064325542988982,-0.20263815937403074,-0.195793277840572,-0.18986389444004104,-0.1846623829312577,-0.1800600827359382,-0.17595275392454823,-0.172246707085554,-0.16889755411300023,-0.16401727007673017,-0.16303662138726338},
{-1.235278431737671,-0.6951058224961661,-0.475484180478257,-0.3775360491518116,-0.3223390977662035,-0.2822761714418496,-0.2649695290110996,-0.2462340947530013,-0.23174798385602813,-0.22014933020853356,-0.2106090450097362,-0.20260631564168463,-0.1957634015673122,-0.18983568033098663,-0.1846355938983919,-0.18003452845370127,-0.1759282809566436,-0.172223191845724,-0.1688748909298745,-0.1639954300724149,-0.16301589414347362},
{-1.2350912914743182,-0.6948913637526708,-0.4753486277448795,-0.3774413900937317,-0.32226639273093305,-0.2822144796393724,-0.2649175424575567,-0.246188552076255,-0.23170721810792827,-0.22011223281028514,-0.21057486075201126,-0.20257449663453464,-0.1957335488177563,-0.18980748875236486,-0.1846088265222381,-0.18000899506921897,-0.1759038282286074,-0.17219969625643472,-0.16885224687265854,-0.163973617380897,-0.16299518064416674},
{-1.2349036759703673,-0.6946769475648447,-0.47521315072984915,-0.3773467908578745,-0.32219373608207125,-0.28215286300047016,-0.26486559242608276,-0.24614304241717733,-0.2316664825039716,-0.22007516336585553,-0.2105407026569761,-0.20254270235488647,-0.19570371959534505,-0.18977931970829864,-0.18458208080724425,-0.17998348258820052,-0.17587939574650768,-0.17217622032389102,-0.16882962194804385,-0.1639518318925255,-0.16297448094494804},
{-1.234715586501678,-0.6944625741388961,-0.4750777494186229,-0.3772522514212362,-0.32212112780307933,-0.28209132129054026,-0.26481367891169505,-0.24609756577082464,-0.23162577704212062,-0.22003812187607963,-0.21050657072655454,-0.20251093280544374,-0.195673913904292,-0.18975117320388968,-0.18455535675876256,-0.1799579910161846,-0.17585498351650664,-0.17215276405476843,-0.1688070161628783,-0.16393007349969402,-0.16295379509974417},
{-1.234527024341364,-0.6942482436805033,-0.47494242379649876,-0.37715777176138054,-0.3220485678774141,-0.28202985427632665,-0.2647618019102129,-0.24605212213240613,-0.2315851017198156,-0.2200011083413127,-0.21047246496128125,-0.20247918798928488,-0.19564413174805217,-0.1897230492441846,-0.18452865438136,-0.17993252035913088,-0.17583059154507552,-0.17212932745564302,-0.1687844295246297,-0.163908342096299,-0.16293312316313546},
{-1.23433799075997,-0.6940339563944153,-0.474807173848955,-0.377063351855238,-0.32197605628823744,-0.2819684617249134,-0.26470996141662617,-0.24600671149670106,-0.23154445653492672,-0.21996412276210542,-0.21043838536284554,-0.20244746790906554,-0.1956143731310629,-0.1896949478337273,-0.1845019736804776,-0.1799070706232513,-0.17580621983822908,-0.17210591053278712,-0.16876186204023647,-0.16388663757806654,-0.16291246518829183},
{-1.2341484870252764,-0.6938197124850038,-0.47467199956147876,-0.3769689916809975,-0.32190359301943783,-0.28190714340553047,-0.2646581574272311,-0.24596133385964425,-0.23150384148590142,-0.21992716513986288,-0.21040433193240737,-0.2024157725682798,-0.19558463805702075,-0.18966686897779184,-0.18447531466125966,-0.17988164181448596,-0.17578186840216148,-0.17208251329303437,-0.16873931371663353,-0.1638649598425026,-0.16289182122832813},
{-1.2339585144025675,-0.6936055121554974,-0.4745369009196079,-0.3768746912160674,-0.3218311780545964,-0.28184589908794244,-0.2646063899378106,-0.24591598921669267,-0.23146325657085853,-0.21989023547543773,-0.21037030467188522,-0.2023841019698871,-0.195554926530761,-0.1896388126817108,-0.18444867732935144,-0.17985623393913563,-0.17575753724423926,-0.1720591357434884,-0.168716784561731,-0.16384330878921816,-0.16287119133621708},
{-1.2337680741543768,-0.6933913556086821,-0.4744018779087291,-0.37678045043773345,-0.3217588113767862,-0.2817847285424566,-0.2645546589437684,-0.24587067756263536,-0.23142270178751723,-0.2198533337690769,-0.21033630358222055,-0.20235245611663544,-0.19552523855561077,-0.18961077894978473,-0.18442206168910502,-0.17983084700280116,-0.17573322637001354,-0.172035777890434,-0.16869427458222752,-0.16382168431800537,-0.16285057556370575},
{-1.2335771675407274,-0.6931772430467831,-0.47426693051456326,-0.37668626932453186,-0.3216864929704535,-0.2817236315417393,-0.2645029644417285,-0.24582539889369137,-0.23138217713470688,-0.21981646002277522,-0.2103023286652057,-0.20232083501213793,-0.19549557413656338,-0.1895827677879094,-0.18439546774676074,-0.17980548101232152,-0.17570893578633928,-0.17201243974127856,-0.16867178378608827,-0.16380008633207765,-0.16282997396281118},
{-1.2333857958188368,-0.6929631746709211,-0.47413205872235853,-0.3765921478535592,-0.32161422281935703,-0.2816626078582569,-0.26445130642741344,-0.24578015320597757,-0.23134168261066712,-0.21977961423774595,-0.2102683799225833,-0.20228923865930604,-0.19546593327797268,-0.18955477920079922,-0.18436889550760682,-0.1797801359740685,-0.17568466550008388,-0.17198912130247912,-0.16864931218073664,-0.1637785147355455,-0.16280938658524313},
{-1.2331939602435118,-0.69274915068201,-0.47399726251796004,-0.3764980860038527,-0.3215420009077956,-0.2816016572668092,-0.26439968489789134,-0.24573494049488254,-0.23130121821424865,-0.21974279641532668,-0.21023445735660218,-0.2022576670622218,-0.19543631598453537,-0.1895268131943162,-0.18434234497743418,-0.1797548118944512,-0.1756604155178465,-0.17196582258143422,-0.16862685977418757,-0.1637569694345693,-0.1627888134816189},
{-1.2330016620668367,-0.6925351712799301,-0.47386254188696775,-0.37640408375305867,-0.321469827219814,-0.28154077954232104,-0.26434809984915386,-0.24568976075675053,-0.23126078394417782,-0.21970600655678751,-0.21020056096861772,-0.2022261202235356,-0.1954067222609268,-0.18949886977349983,-0.18431581616185966,-0.17972950878019667,-0.1756361858460984,-0.17194254358576622,-0.1686044265734914,-0.16373545033656178,-0.16276825470258593},
{-1.2328089025383542,-0.6923212366638705,-0.4737278968149248,-0.37631014107949223,-0.321397701739623,-0.28147997446149287,-0.2642965512781643,-0.24564461398772153,-0.2312203797995842,-0.21966924466429205,-0.21016669076124117,-0.20219459814760476,-0.19537715211197693,-0.1894709489439652,-0.1842893090666493,-0.1797042266379414,-0.17561197649244065,-0.17191928432176873,-0.16858201258750327,-0.1637139573513231,-0.16274771029879354},
{-1.2326156829048736,-0.6921073470327208,-0.47359332728771797,-0.3762162579619117,-0.32132562445176127,-0.281419241802336,-0.2642450391817741,-0.24559950018417176,-0.23118000577917464,-0.21963251073937506,-0.2101328467362702,-0.2021631008375735,-0.1953476055425707,-0.18944305071143575,-0.18426282369749458,-0.1796789654742792,-0.17558778746330184,-0.17189604479796472,-0.168559617823826,-0.16369249038977252,-0.16272718031986244},
{-1.2324220044108167,-0.6918935025842314,-0.47345883329061333,-0.37612243437818016,-0.3212535953410365,-0.28135858134255365,-0.26419356355660906,-0.24555441934244193,-0.2311396618818602,-0.21959580478386265,-0.21009902889587373,-0.20213162829712417,-0.19531808255772454,-0.189415175081054,-0.1842363600609911,-0.17965372529617163,-0.17556361876578386,-0.1718728250205661,-0.16853724229046385,-0.16367104936456478,-0.1627066648154365},
{-1.2322278682978092,-0.6916797035155469,-0.4733244148095954,-0.37602867030723885,-0.3211816143917128,-0.28129799286267243,-0.2641421244000206,-0.2455093714590415,-0.23109934810733535,-0.2195591267994974,-0.21006523724275716,-0.20210018053002976,-0.19528858316245845,-0.1893873220588631,-0.18420991816252474,-0.1796285061105518,-0.1755394704069584,-0.17184962499777612,-0.16851488599564846,-0.1636496341904774,-0.16268616383454493},
{-1.232033275805072,-0.6914659500234812,-0.4731900718304267,-0.37593496572791363,-0.3211096815888652,-0.28123747614346595,-0.264090721709076,-0.24546435653035736,-0.23105906445470126,-0.21952247678872894,-0.21003147177908055,-0.20206875754075426,-0.1952591073624177,-0.18935949165053856,-0.18418349800863787,-0.17960330792436707,-0.1755153423942204,-0.17182644473713715,-0.16849254894782817,-0.1636282447840749,-0.1626656774269204},
{-1.2318382281691242,-0.6912522423037677,-0.47305580433886796,-0.37584132061910935,-0.3210377969171443,-0.28117703096704805,-0.26403935548137625,-0.24541937455338037,-0.23101881092340015,-0.21948585475367466,-0.2099977325075848,-0.20203735933243117,-0.19522965516241442,-0.1893316838617558,-0.18415709960541982,-0.17957813074468731,-0.17549123473460604,-0.17180328424613656,-0.16847023115543536,-0.16360688106288457,-0.1626452056410841},
{-1.2316427266239987,-0.6910385805516928,-0.4729216123207438,-0.3757477349594982,-0.32096596036168634,-0.2811166571169199,-0.2639880257143705,-0.24537442552520972,-0.2309785875129755,-0.21944926069662252,-0.20996401943077103,-0.20200598590971275,-0.19520022656821823,-0.18930389869868414,-0.18413072295932942,-0.17955297457888264,-0.17546714743548186,-0.17178014353293314,-0.16844793262668212,-0.16358554294680516,-0.16262474852590003},
{-1.2314467724010378,-0.6908249649617586,-0.4727874957617342,-0.3756542087280774,-0.32089417190753533,-0.28105635437672305,-0.2639367324052664,-0.2453295094423673,-0.23093839422307383,-0.21941269461968993,-0.2099303325508437,-0.20197463727605935,-0.19517082158508536,-0.18927613616679473,-0.18410436807646136,-0.17952783943377426,-0.17544308050433344,-0.1717570226047691,-0.1684256533703561,-0.1635642303569078,-0.16260430612959098},
{-1.2312503667292387,-0.6906113957278768,-0.47265345464791153,-0.3755607419043612,-0.3208224315402095,-0.2809961225325326,-0.26388547555251307,-0.2452846263022881,-0.23089823105343044,-0.21937615652558407,-0.20989667187178185,-0.20194331343639504,-0.19514144021874458,-0.1892483962725695,-0.18407803496358177,-0.17950272531701117,-0.17541903394842429,-0.17173392146985833,-0.1684033933950655,-0.16354294321606666,-0.16258387850050582},
{-1.231053510834879,-0.6903978730432918,-0.47251948896515295,-0.3754673344674657,-0.320750739244847,-0.2809359613711102,-0.26383425515375336,-0.24523977610199488,-0.23085809800407198,-0.21933964641691084,-0.2098630373957242,-0.20191201439448214,-0.19511208247532608,-0.189220679021739,-0.18405172362730227,-0.17947763223608248,-0.17539500777561123,-0.17171084013665983,-0.16838115270941323,-0.16352168144971735,-0.16256346568709823},
{-1.23085620594169,-0.6901843971004844,-0.4723855986992671,-0.37537398639660857,-0.32067909500671465,-0.2808758706797496,-0.2637830712068876,-0.24519495883884979,-0.23081799507456502,-0.21930316429604702,-0.2098294291257794,-0.20188074015486634,-0.1950827483600328,-0.189192984420524,-0.18402543407413496,-0.17945256019821088,-0.1753710019932342,-0.17168777861281903,-0.1683589313226257,-0.1635004449830788,-0.16254306773675609},
{-1.2306584532709244,-0.6899709680912789,-0.47225178383635047,-0.37528069767144423,-0.3206074988118175,-0.280815850247655,-0.26373192371021403,-0.24515017451019716,-0.23077792226546023,-0.21926671016600174,-0.20979584706515908,-0.20184949072221947,-0.19505343787935026,-0.18916531247542778,-0.18399916631096502,-0.1794275092110862,-0.1753470166094253,-0.17166473690688022,-0.16833672924309084,-0.16347923374404338,-0.16252268469764886},
{-1.2304602540413483,-0.6897575862070546,-0.47211804436233873,-0.375187468271557,-0.3205359506454517,-0.28075589986434935,-0.2636808126620238,-0.24510542311367445,-0.23073787957662972,-0.21923028402955325,-0.20976229121704115,-0.20181826610028075,-0.19502415103884196,-0.1891376631921915,-0.18397292034448043,-0.17940247928212294,-0.17532305163156003,-0.171641715026837,-0.16831454648006172,-0.16345804766173444,-0.16250231661730474},
{-1.2302616094690273,-0.6895442516382682,-0.4719843802633843,-0.3750942981765579,-0.3204644504940086,-0.28069601932161614,-0.2636297380610344,-0.24506070464687468,-0.23069786700840744,-0.21919388588966626,-0.2097287615850636,-0.20178706629452847,-0.19499488784498809,-0.1891100365777092,-0.1839466961819074,-0.17937747041951724,-0.1752991070679446,-0.17161871298096187,-0.16829238304250538,-0.16343688666701262,-0.16248196354211153},
{-1.2300625207675941,-0.6893309645746575,-0.47185079152549925,-0.37500118736643717,-0.3203929983429221,-0.2806362084115843,-0.2635786999053593,-0.24501601910757564,-0.23065788456113623,-0.2191575157490444,-0.2096952581720064,-0.20175589130927385,-0.19496564830405383,-0.18908243263802582,-0.18392049383039222,-0.17935248263067294,-0.17527518292605038,-0.17159573077864287,-0.16827023893940307,-0.16341575069222358,-0.1624616255200131},
{-1.2298629891482005,-0.6891177252057252,-0.47171727813474185,-0.37490813582105975,-0.3203215941782087,-0.28057646692756766,-0.2635276981939665,-0.24497136649379314,-0.23061793223549465,-0.21912117361101835,-0.2096617809821968,-0.2017247411494676,-0.19493643242198289,-0.18905485137966416,-0.18389431329676853,-0.1793275159236032,-0.1752512792143328,-0.17157276842766933,-0.16824811417996344,-0.16339463967051238,-0.1624413025969389},
{-1.2296630158195092,-0.6889045337199393,-0.4715838400774679,-0.3748151435206202,-0.32025023798648533,-0.2805167946643792,-0.2634767329259997,-0.24492674680339377,-0.23057801003183975,-0.21908485947892586,-0.20962833001863324,-0.20169361581996625,-0.19490724020577055,-0.18902729280946673,-0.1838681545885219,-0.17930257030613284,-0.17522739594110703,-0.17154982593714863,-0.16822600877348037,-0.16337355353700467,-0.16242099481957517},
{-1.2294626019874877,-0.6886913903051486,-0.47145047733961487,-0.3747222104447614,-0.3201789297537294,-0.28045719141734793,-0.2634258040997963,-0.24488216003475216,-0.2305381179508661,-0.21904857335557537,-0.20959490528511715,-0.2016625153253795,-0.19487807166165894,-0.18899975693393323,-0.1838420177128679,-0.17927764578651306,-0.1752035331141677,-0.17152690331572273,-0.16820392272905238,-0.1633524922276095,-0.16240070223378744},
{-1.2292617488557993,-0.6884782951488111,-0.47131718990772864,-0.3746293365743867,-0.32010766946655966,-0.2803976569837072,-0.2633749117151094,-0.2448376061855182,-0.23049825599350982,-0.21901231524481268,-0.20956150678587449,-0.20163143967125485,-0.19484892679596832,-0.18897224375962018,-0.18381590267733294,-0.179252742372773,-0.17517969074213546,-0.171504000572396,-0.16818185605592895,-0.16333145568023255,-0.1623804248848142},
{-1.2290604576255961,-0.6882652484373502,-0.4711839777677653,-0.374536521889393,-0.3200364571111356,-0.2803381911608174,-0.2633240557702834,-0.24479308525421217,-0.23045842416033402,-0.2189760851491993,-0.20952813452418084,-0.2016003888623139,-0.1948198056159498,-0.18894475329324933,-0.18378980948930845,-0.17922786007293645,-0.17515586883294887,-0.17148111771624386,-0.16815980876335068,-0.1633104438332751,-0.16236016281832377},
{-1.2288587294953621,-0.6880522503568631,-0.47105084090628235,-0.37444376637060994,-0.31996529267455553,-0.2802787937487423,-0.2632732362657446,-0.24474859723978248,-0.2304186224527598,-0.21893988307303403,-0.20949478850466896,-0.20156936290430671,-0.19479070812815813,-0.18891728554199005,-0.18376373815683777,-0.17920299889545,-0.1751320673956993,-0.17145825475641097,-0.16813778086105557,-0.16328945662712435,-0.16233991607956},
{-1.2286565656613102,-0.687839301092743,-0.470917779309727,-0.3743510699986956,-0.3198941761433156,-0.28021946454735236,-0.2632224532004255,-0.24470414214043323,-0.23037885087180854,-0.21890370901963685,-0.20946146873090044,-0.20153836180250018,-0.19476163433959748,-0.18888984051279856,-0.1837376886875557,-0.17917815884870514,-0.17510828643879428,-0.1714354117021557,-0.16811577235845832,-0.16326849400251398,-0.16231968471339897},
{-1.2284539673169337,-0.687626400829588,-0.4707847929642792,-0.37425843275402215,-0.3198231075044413,-0.2801602033576547,-0.2631717065736794,-0.24465971995490676,-0.2303391094184022,-0.21886756299235977,-0.20942817520758084,-0.20150738556192138,-0.1947325842575225,-0.18886241821235927,-0.18371166108919468,-0.1791533399410561,-0.17508452597086688,-0.17141258856281638,-0.16809378326479063,-0.1632475559016644,-0.1622994687641377},
{-1.228250935653492,-0.687413549751394,-0.47065188185659146,-0.3741658546177513,-0.3197520867451855,-0.28010100998276144,-0.263120996385684,-0.24461533068179442,-0.23029939809423539,-0.2188314449951143,-0.20939490793895388,-0.20147643418854244,-0.19470355788865845,-0.18883501864797125,-0.18368565536993486,-0.1791285421809885,-0.1750607860007367,-0.17138978534767624,-0.16807181359010492,-0.16322664226783878,-0.16227926827584227},
{-1.2280474718597238,-0.6872007480417937,-0.4705190459730577,-0.37407333557072153,-0.3196811138521811,-0.28004188422584697,-0.26307032263594543,-0.2445709743201654,-0.2302597169005587,-0.21879535503134306,-0.20936166692909275,-0.20144550768747038,-0.19467455524052646,-0.1888076418270348,-0.18365967153768814,-0.17910376557694363,-0.17503706653682372,-0.17136700206657984,-0.1680498633430627,-0.1632057530453821,-0.16225908329270666},
{-1.22784357712179,-0.6869879958833254,-0.4703862853002807,-0.3739808755938867,-0.31961018881267833,-0.2799828258920236,-0.2630196853244797,-0.24452665086909064,-0.23022006583862087,-0.21875929310519204,-0.20932845218309382,-0.2014146060648745,-0.19464557632022128,-0.18878028775639066,-0.18363370960077674,-0.17907901013763272,-0.17501336758867048,-0.17134423872910354,-0.1680279325343932,-0.16318488817959675,-0.16223891385868683},
{-1.2276392526233955,-0.6867752934583606,-0.47025359982487736,-0.3738884746687896,-0.3195393116144851,-0.279923834787029,-0.26296908445167233,-0.24448236032783477,-0.2301804449104221,-0.21872325922046798,-0.2092952637049752,-0.2013837293266647,-0.19461662113547007,-0.1887529564436079,-0.1836077695674021,-0.17905427587188427,-0.17498968916487279,-0.17132149534502084,-0.16800602117343466,-0.16316404761675152,-0.1622187600168452},
{-1.2274344995459407,-0.6865626409482175,-0.47012098953337844,-0.37379613277605106,-0.31946848224488544,-0.27986491071782105,-0.2629185200168962,-0.24443810269529465,-0.23014085411723073,-0.21868725338093853,-0.20926210149960944,-0.20135287747802977,-0.1945876896936518,-0.18872564789619517,-0.1835818514460037,-0.17902956278825677,-0.1749660312745771,-0.17129877192427578,-0.16798412926993933,-0.16314323130304942,-0.16219862181010392},
{-1.2272293190682184,-0.6863500385337673,-0.46998845441255366,-0.37370384989755134,-0.3193977006915132,-0.2798060534930702,-0.26286799202120825,-0.2443938779708219,-0.2301012934613791,-0.21865127559066977,-0.20922896557242332,-0.20132205052551733,-0.194558782002213,-0.18869836212146396,-0.18355595524475454,-0.1790048708956995,-0.17494239392701338,-0.17127606847651933,-0.16796225683352972,-0.1631224391874877,-0.16217849928161066},
{-1.227023712366723,-0.6861374863953769,-0.46985599444928106,-0.3736116260150002,-0.3193269669421168,-0.2797472629215356,-0.2628175004649922,-0.24434968615441832,-0.23006176294437708,-0.21861532585366028,-0.20919585592782752,-0.20129124847520607,-0.19452989806948295,-0.18867109912753932,-0.18353008097282952,-0.17898020020317063,-0.1749187771317562,-0.17125338501266363,-0.1679404038746135,-0.1631016712183424,-0.16215839247344555},
{-1.2268176806153237,-0.6859249847126954,-0.46972360963029125,-0.373519461109705,-0.3192562809845265,-0.2796885388138506,-0.2627670453482214,-0.24430552724515664,-0.23002226256842562,-0.21857940417436872,-0.20916277257138027,-0.20126047133308234,-0.19450103790283002,-0.18864385892157998,-0.183504228638796,-0.17895555071960878,-0.1748951808975221,-0.1712307215420008,-0.1679185704029056,-0.1630809273450069,-0.16213830142800667},
{-1.2266112249857222,-0.6857125336645176,-0.46959129994233084,-0.37342735516363845,-0.3191856428064934,-0.2796298809814868,-0.2627166266720202,-0.24426140124329443,-0.22998279233547692,-0.21854351055663201,-0.209129715507828,-0.2012297191057506,-0.1944722015101643,-0.18861664151179447,-0.18347839825118406,-0.17893092245416575,-0.17487160523462464,-0.1712080780755496,-0.16789675642855784,-0.16306020751765793,-0.1621182261864096},
{-1.2264043466467913,-0.685500133429386,-0.4694590653723161,-0.3733353081582118,-0.31911505239645166,-0.27957128923701013,-0.2626662444367316,-0.2442173081481318,-0.22994335224774431,-0.21850764500474718,-0.2090966847425424,-0.20119899179907108,-0.1944433888998276,-0.18858944690573942,-0.18345258981903356,-0.17890631541592406,-0.17484805015177685,-0.17118545462335177,-0.16787496196172036,-0.16303951168726982,-0.16209816678992262},
{-1.2261970467655217,-0.6852877841850775,-0.4693269059073586,-0.3732433200757823,-0.3190445097426746,-0.27951276339429576,-0.26261589864366464,-0.24417324795989082,-0.22990394230778222,-0.21847180752303075,-0.20906368028137834,-0.2011682894200053,-0.1944146000796696,-0.18856227511170864,-0.1834268033512796,-0.17888172961390225,-0.17482451565914836,-0.17116285119568886,-0.16785318701225016,-0.1630188398050194,-0.1620781232792723},
{-1.22598932650603,-0.6850754861086292,-0.4691948215343835,-0.3731513908987596,-0.31897401483339394,-0.2794543032685599,-0.2625655892933949,-0.2441292206787793,-0.2298645625178466,-0.21843599811598402,-0.20903070212952812,-0.20113761197493574,-0.1943858350583465,-0.18853512613764778,-0.1834010388572267,-0.17885716505785965,-0.17480100176644875,-0.17114026780352276,-0.16783143159057623,-0.16299819182399844,-0.16205809569418328},
{-1.2257811870302433,-0.6848632393766119,-0.46906281224046165,-0.37305952060861625,-0.31890356765683947,-0.2793959086753297,-0.26251531638730796,-0.24408522630493046,-0.22982521288018276,-0.21840021678809585,-0.208997750292788,-0.20110695947025903,-0.1943570938436796,-0.18850799999154333,-0.18337529634595917,-0.17883262175699421,-0.17477750848324192,-0.17111770445747077,-0.1678096957073194,-0.16297756769596994,-0.16203808407476217},
{-1.2255726294975062,-0.6846510441648066,-0.468930878012606,-0.372967709188309,-0.3188331682019321,-0.27933757943239357,-0.26246507992633283,-0.24404126483885769,-0.22978589339787625,-0.21836446354348205,-0.20896482477726686,-0.2010763319134128,-0.19432837644466794,-0.18848089668244405,-0.1833495758269219,-0.17880809972065315,-0.17475403581977567,-0.1710951611684095,-0.1677879793723296,-0.1629569673749902,-0.16201808846037835},
{-1.2253636550650766,-0.6844389006486793,-0.46879901883807396,-0.37287595661989403,-0.31876281645715565,-0.2792793153566233,-0.2624148799117503,-0.24399733628068354,-0.22974660407312264,-0.2183287383870578,-0.20893192558823515,-0.2010457293103265,-0.19429968286925714,-0.1884538162177698,-0.18332387730891142,-0.17878359895824936,-0.1747305837859372,-0.1710726379466685,-0.1677662825966877,-0.16293639081459688,-0.16199810888922705},
{-1.2251542648875158,-0.6842268090028503,-0.46866723470422045,-0.3727842628862241,-0.3186925124117703,-0.2792211162689071,-0.2623647163452265,-0.24395344063145608,-0.2297073449091478,-0.21829304132356597,-0.20889905273261355,-0.20101515166904527,-0.19427101312658124,-0.1884267586067736,-0.18329820080203696,-0.1787591194799827,-0.1747071523919299,-0.17105013480324693,-0.16774460539037506,-0.16291583796921216,-0.16197814539943067},
{-1.2249444601170998,-0.684014769401422,-0.46853552559818823,-0.3726926279700704,-0.31862225605438965,-0.27916298198894296,-0.26231458922796236,-0.24390957789165668,-0.22966811590872283,-0.21825737235680087,-0.20886620621584662,-0.20098459899602084,-0.19424236722519161,-0.1883997238575077,-0.18327254631585355,-0.17873466129517723,-0.17468374164783462,-0.17102765174955792,-0.16772294776409247,-0.16289530879445913,-0.16195819802939226},
{-1.224734241903778,-0.6838027820177199,-0.46840389150753037,-0.37260105185383985,-0.3185520473739114,-0.279104912338207,-0.2622644985618461,-0.2438657480623263,-0.22962891707489064,-0.21822173149229762,-0.2088333860446916,-0.20095407129849718,-0.1942137451738386,-0.18837271197856076,-0.18324691385974567,-0.1787102244134644,-0.17466035156425264,-0.17100518879599136,-0.16770130972871122,-0.16287480324516324,-0.16193826681574386},
{-1.224523611394965,-0.6835908470247256,-0.46827233241934074,-0.37250953452075564,-0.31848188636007,-0.27904690713979363,-0.2622144443485741,-0.2438219511446853,-0.22958974841083624,-0.2181861187347831,-0.2088005922253231,-0.20092356858391014,-0.19418514698127787,-0.18834572297938834,-0.18322130344377463,-0.17868580884490548,-0.1746369821516467,-0.1709827459540918,-0.16767969129494809,-0.16285432127797428,-0.16191835179605896},
{-1.2243125697359845,-0.6833789645947013,-0.4681408483212799,-0.37241807595366794,-0.31841177300208834,-0.2789889662169234,-0.262164426589683,-0.2437781871396023,-0.22955060991960963,-0.2181505340889398,-0.2087678247645144,-0.20089309085956053,-0.19415657265663455,-0.18831875686811195,-0.1831957150773409,-0.17866141459991702,-0.17461363342047065,-0.17096032323442856,-0.16765809247368502,-0.16283386284894874,-0.16189845300632477},
{-1.2241011180694485,-0.6831671348993851,-0.4680094392009355,-0.3723266761361188,-0.31834170728937927,-0.2789310893950425,-0.2621144452874784,-0.243734456048756,-0.22951150160495537,-0.21811497755991915,-0.20873508366917903,-0.20086263813323768,-0.1941280222086288,-0.1882918136539331,-0.18317014877092141,-0.17863704168792616,-0.17459030538139686,-0.17093792064846625,-0.1676365132757276,-0.16281342791547182,-0.16187857048310406},
{-1.2238892575358653,-0.6829553581096253,-0.4678781050457328,-0.37223533505122486,-0.31827168921138593,-0.27887327649943217,-0.2620645004435982,-0.2436907578732317,-0.22947242346983643,-0.21807944915174815,-0.20870236894574923,-0.20083221041217847,-0.19409949564680673,-0.1882648933461315,-0.18314460453410142,-0.17861269011950576,-0.17456699804518472,-0.17091553820783822,-0.16761495371209634,-0.16279301643526445,-0.16185870426186888},
{-1.22367698927322,-0.6827436343960231,-0.46774684584347614,-0.3721440526819615,-0.31820171875788716,-0.27881552735769155,-0.2620145920604475,-0.24364709261496387,-0.22943337551823895,-0.21804394887018574,-0.20866968060147606,-0.20080180770437117,-0.19407099297976949,-0.18823799595337043,-0.18311908237726193,-0.17858835990458566,-0.17454371142290093,-0.1708931759228598,-0.16759341379389703,-0.16277262836603335,-0.16183885437889955},
{-1.2234643144174027,-0.6825319639285299,-0.46761566158188916,-0.3720528290127154,-0.3181317959188785,-0.278757841797896,-0.26196472014034633,-0.24360346027575552,-0.22939435775397143,-0.2180084767206356,-0.2086370186429818,-0.2007714300178307,-0.19404251421753038,-0.18821112148536834,-0.1830935823108426,-0.17856405105375472,-0.1745204455256033,-0.17087083380564927,-0.16757189353280566,-0.16275226366676598,-0.16181902086924893},
{-1.2232512341014719,-0.6823203468762644,-0.4674845522485045,-0.3719616640263679,-0.3180619206841513,-0.278700219648643,-0.2619148846852273,-0.24355986085751624,-0.22935537018044272,-0.2179730327074072,-0.2086043830780273,-0.2007410773601208,-0.19401405936895522,-0.18818426995118465,-0.18306810434431142,-0.17853976357733536,-0.17449720036413474,-0.17084851186734085,-0.1675503929394644,-0.16273192229633082,-0.16179920376838908},
{-1.223037749456663,-0.6821087834079504,-0.4673535178314854,-0.3718705577070738,-0.3179920930441238,-0.27864266074111477,-0.2618650856981599,-0.2435162943621645,-0.22931641280177395,-0.21793761683631274,-0.2085717739136843,-0.20071074973957614,-0.1939856284430057,-0.18815744136026424,-0.18304264848905838,-0.17851549748574946,-0.17447397595000602,-0.17082621011902432,-0.16752891202552966,-0.1627116042144614,-0.16177940311152028},
{-1.2228238616116394,-0.6818972736918951,-0.4672225583185936,-0.37177951003871446,-0.31792231298862283,-0.27858516490598895,-0.261815323180981,-0.243472760792093,-0.22927748562210226,-0.21790222911218038,-0.20853919115732467,-0.200680447164304,-0.19395722144993854,-0.18813063572237176,-0.18301721475482502,-0.1784912527899607,-0.174450772294227,-0.17080392857272564,-0.1675074508022263,-0.16269130938109377,-0.16175961893320512},
{-1.222609571692744,-0.6816858178953291,-0.4670916736978219,-0.37168852100521654,-0.31785258050827814,-0.27852773197616365,-0.26176559713682757,-0.24342926014996635,-0.2292385886454813,-0.21786686954049905,-0.2085066348167821,-0.20065016964283444,-0.19392883839880604,-0.18810385304676025,-0.18299180315274732,-0.17846702950032167,-0.17442758940892844,-0.17078166724023625,-0.16748600928172408,-0.16267103775726355,-0.16173985126965107},
{-1.2223948808238645,-0.6814744161854138,-0.4669608639573193,-0.3715975905911604,-0.3177828955936004,-0.27847036178484963,-0.2617159075685844,-0.24338579243820746,-0.2291997218765065,-0.21783153812661205,-0.20847410489968254,-0.20061991718387695,-0.19390047929955756,-0.18807709334307887,-0.18296641369302513,-0.17844282762785646,-0.174404427305193,-0.1707594261324168,-0.16746458747514126,-0.16265078930430654,-0.1617201001545716},
{-1.222179790126924,-0.6812630687284562,-0.46683012908511046,-0.37150671878003294,-0.31771325823491736,-0.27841305416660767,-0.2616662544785022,-0.24334235765955725,-0.22916088531905565,-0.21779623487587507,-0.20844160141354706,-0.20058968979520841,-0.19387214416167353,-0.18805035662168734,-0.18294104638656172,-0.17841864718340794,-0.1743812859950271,-0.17073720526146374,-0.16744318539488212,-0.16263056398336673,-0.16170036562376744},
{-1.2219643007210759,-0.6810517756902126,-0.46669946906918636,-0.3714159055567485,-0.31764366842329395,-0.2783558089578868,-0.2616166378699418,-0.24329895581700178,-0.229122078978369,-0.21776095979368648,-0.2084091243670656,-0.20055948748598063,-0.19384383299453667,-0.18802364289183515,-0.18291570124423018,-0.17839448817769465,-0.1743581654900641,-0.1707150046385859,-0.16742180305207377,-0.1626103617570216,-0.16168064771212443},
{-1.2217484137236148,-0.680840537235901,-0.4665688838981117,-0.3713251509059088,-0.317574126149637,-0.27829862599429056,-0.2615670577459479,-0.24325558691380067,-0.22908330285852863,-0.21772571288616227,-0.20837667376759939,-0.20052931026534182,-0.1938155458087678,-0.18799695216416623,-0.18289037827698174,-0.17837035062238193,-0.1743350658023246,-0.17069282427671517,-0.16740044045914892,-0.16259018258852542,-0.16166094645478246},
{-1.221532130249125,-0.6806293535301995,-0.46643837355994666,-0.37123445481193507,-0.31750463140439855,-0.2782415051143623,-0.2615175141095989,-0.24321225095268595,-0.2290445569644799,-0.2176904941582567,-0.20834424962388987,-0.20049915814174923,-0.19378728261381362,-0.18797028444848252,-0.1828650774958973,-0.17834623452797516,-0.17431198694389138,-0.17067066418629473,-0.16737909762800385,-0.16257002644034024,-0.16164126188697026},
{-1.2213154514102635,-0.680418224737168,-0.4663079380433075,-0.37114381725950274,-0.31743518417904326,-0.27818444615674665,-0.2614680069642663,-0.2431689479379724,-0.2290058413013334,-0.21765530361600405,-0.20831185194383828,-0.20046903112429604,-0.1937590434195382,-0.18794363975520412,-0.1828397989116315,-0.17832213990612544,-0.17428892892714387,-0.17064852438076628,-0.1673577745707231,-0.16254989327797453,-0.1616215940442025},
{-1.2210983783170333,-0.680207151020273,-0.466177577336337,-0.371053238233781,-0.3173657844650517,-0.2781274489609942,-0.26141853631285983,-0.24312567787235295,-0.22896715587339145,-0.21762014126501583,-0.20827948073603686,-0.2004389292221127,-0.19373082823615562,-0.1879170180941827,-0.18281454253584073,-0.17829806676818372,-0.17426589176423235,-0.17062640487090874,-0.1673364713001959,-0.16252978306476784,-0.1616019429614326},
{-1.2208809120774546,-0.6799961325424642,-0.46604729142786727,-0.370962717719614,-0.31729643225342485,-0.27807051336890076,-0.2613691021592732,-0.2430824407601868,-0.22892850068665638,-0.2175850071112091,-0.20824713600906364,-0.20040885244486262,-0.1937026370736401,-0.1878904194762736,-0.1827893083795864,-0.17827401512536944,-0.1742428754675398,-0.17060430566917262,-0.1673151878280077,-0.16250969576623575,-0.1615823086743049},
{-1.2206630537970682,-0.6797851694662196,-0.4659170803063768,-0.37087225570254034,-0.31722712753593996,-0.27801363922188926,-0.26131970450703257,-0.243039236605183,-0.2288898757458817,-0.2175499011606412,-0.2082148177716192,-0.20037880080181658,-0.1936744699425521,-0.18786384391218647,-0.18276409645434377,-0.17824998498955935,-0.17421988004968014,-0.17058222678802437,-0.167293924166934,-0.16248963134883532,-0.16156269121891143},
{-1.2204448045792553,-0.6795742619530962,-0.465786943960536,-0.37078185216735804,-0.317157870303852,-0.2779568263630807,-0.26127034335938504,-0.24299606541186058,-0.22885128105614427,-0.2175148234188935,-0.20818252603229048,-0.20034877430217612,-0.1936463268526154,-0.1878372914121993,-0.18273890677127014,-0.17822597637231574,-0.17419690552341827,-0.17056016823937803,-0.1672726803297664,-0.162469589778226,-0.161543090630488},
{-1.2202261655249105,-0.6793634101646546,-0.46565688237896374,-0.3706915070997088,-0.31708866054919405,-0.2779000746366318,-0.26122101872036296,-0.24295292718432115,-0.2288127166236471,-0.21747977389235373,-0.2081502608000445,-0.20031877295630984,-0.19361820781463912,-0.18781076198734326,-0.18271373934189405,-0.17820198928537678,-0.1741739519013592,-0.1705381300356521,-0.16725145632920224,-0.16244957102243873,-0.16152350694505557},
{-1.2200071377330444,-0.6791526142613238,-0.4655268955505347,-0.3706012204850335,-0.31701949826381437,-0.2778433838873333,-0.26117173059349774,-0.2429098219269985,-0.2287741824531313,-0.21744475258724805,-0.20811802208395136,-0.20028879677326472,-0.19359011283875383,-0.1877842556484559,-0.18268859417801764,-0.17817802374047353,-0.1741510191964828,-0.17051611218906082,-0.1672302521781166,-0.16242957504880096,-0.16150394019841485},
{-1.219787722299917,-0.6789418744034217,-0.46539698346427905,-0.37051099230909124,-0.3169503834399148,-0.27778675396226227,-0.261122478983145,-0.24286674964457688,-0.2287356785506489,-0.21740975950965158,-0.2080858098931948,-0.20025884576341646,-0.19356204193557147,-0.1877577724061652,-0.18266347129117655,-0.17815407974970832,-0.17412810742154505,-0.17049411471208664,-0.16720906788932055,-0.16240960182598485,-0.1614843904266916},
{-1.2195679203199896,-0.6787311907504732,-0.4652671461088609,-0.3704208225576515,-0.31688131606914993,-0.27773018470789346,-0.26107326389283614,-0.24282371034171213,-0.22869720492192336,-0.2173747946656608,-0.20805362423661222,-0.2002289199368601,-0.19353399511579816,-0.18773131227231232,-0.18263837069306277,-0.17813015732509285,-0.17410521658939615,-0.17047213761749802,-0.16718790347589518,-0.16238965132356675,-0.16146485766637397},
{-1.2193477328852174,-0.6785205634616336,-0.4651373834735759,-0.3703307112165355,-0.3168122961441533,-0.277673675972526,-0.2610240853268042,-0.2427807040237706,-0.22865876157288412,-0.21733985806196898,-0.20802146512386166,-0.20019901930310624,-0.1935059723895236,-0.18770487525756252,-0.1826132923955459,-0.17810625647850387,-0.17408234671334277,-0.1704501809174701,-0.16716675895106548,-0.16236972351128642,-0.16144534195347404},
{-1.2191271610853125,-0.6783099926950653,-0.4650076955474587,-0.37024065827209895,-0.3167433236571906,-0.2776172276056137,-0.26097494328939597,-0.2427377306957723,-0.22862034850950508,-0.21730494970493552,-0.20798933256381424,-0.2001691438731541,-0.19347797376827813,-0.18767846137357758,-0.18258823641073008,-0.17808237722279152,-0.17405949780659746,-0.17042824462521722,-0.1671456343282749,-0.1623498183605765,-0.16142584332443555},
{-1.2189062060077722,-0.6780994786091039,-0.4648780823194638,-0.37015066371004046,-0.31667439860089885,-0.277560839457184,-0.26092583778430267,-0.24269479036308717,-0.22858196573766598,-0.21727006960154682,-0.20795722656640692,-0.20013929365714844,-0.19344999926213724,-0.1876520706316871,-0.1825632027501758,-0.17805851956991603,-0.17403666988246513,-0.17040632875305306,-0.1671245296215158,-0.16232993584252675,-0.1614063618156738},
{-1.2186848687379506,-0.6778890213610813,-0.4647485437791783,-0.37006072751727537,-0.31660552096802874,-0.2775045113790302,-0.2608767688165923,-0.24265188303102647,-0.22854361326391448,-0.21723521775802013,-0.20792514714121246,-0.20010946866567636,-0.1934220488820788,-0.18762570304328818,-0.18253819142609373,-0.17803468353226393,-0.17401386295398424,-0.1703844333137745,-0.1671034448432156,-0.1623100759301881,-0.1613868974634176},
{-1.2184631503588292,-0.677678621107642,-0.4646190799157104,-0.3699708496798131,-0.3165366907509437,-0.2774482432231462,-0.26082773639012835,-0.24260900870555702,-0.2285052910943559,-0.2172003941810594,-0.2078930942976669,-0.20007966890925744,-0.1933941226390008,-0.18759935862054178,-0.18251320245082248,-0.1780108691229394,-0.17399107703431582,-0.17036255832099023,-0.16708238000775744,-0.162290238596416,-0.16136745030485677},
{-1.2182410519511668,-0.6774682780053247,-0.46448969071856094,-0.36988103018413376,-0.31646790794287405,-0.2773920348428014,-0.2607787405094939,-0.242566167392388,-0.22846699923518976,-0.21716559887792997,-0.20786106804576399,-0.2000498943987612,-0.19336622054419728,-0.18757303737507947,-0.18248823583662954,-0.1779870763538689,-0.17396831213756592,-0.17034070378710275,-0.16706133512894183,-0.16227042381554746,-0.16134802037578666},
{-1.2180185745937813,-0.6772579922100039,-0.46436037617719084,-0.369791269017389,-0.31639917253673566,-0.2773358860922457,-0.2607297811794762,-0.24252335909752354,-0.22842873769369199,-0.21713083185538373,-0.2078290683946893,-0.2000201451452579,-0.19333834260863547,-0.18754673931877086,-0.18246329159531705,-0.1779633052388263,-0.1739455682765776,-0.17031886972555377,-0.16704031022088905,-0.1622506315625749,-0.16132860771328872},
{-1.2177957193627442,-0.6770477638766392,-0.46423113628099966,-0.3697015661657961,-0.3163304845257944,-0.27727979682710036,-0.26068085840438293,-0.24248058382718973,-0.2283905064757441,-0.21709609312087963,-0.20779709535521818,-0.19999042115958865,-0.19331048884351176,-0.18752046446377513,-0.18243836973985061,-0.17793955579007736,-0.1739228454650501,-0.17029705614979562,-0.16701930529753994,-0.1622308618129562,-0.16130921235344786},
{-1.21757248733239,-0.6768375931602222,-0.464101971019824,-0.36961192161701995,-0.3162618439036571,-0.27722376690396366,-0.2606319721892607,-0.24243784158773707,-0.2283523055886345,-0.21706138268101682,-0.2077651489371135,-0.19996072245314522,-0.19328265925959442,-0.1874942128221555,-0.18241347028242139,-0.17791582802062855,-0.1739001437169616,-0.1702752630722717,-0.1669983203728993,-0.1622111145435703,-0.16128983433323896},
{-1.2173488795746321,-0.6766274802149788,-0.4639728803833636,-0.36952233535784273,-0.31619325066303894,-0.27716779617932197,-0.2605831225386108,-0.24239513238549115,-0.22831413503866393,-0.21702670054348516,-0.20773322915003511,-0.19993104903674208,-0.19325485386874774,-0.18746798440653478,-0.18238859323589018,-0.17789212194414183,-0.1738774630451303,-0.17025349050768313,-0.16697735546157588,-0.16219138973138314,-0.16127047368836855},
{-1.2171248971591888,-0.6764174251944004,-0.4638438643612943,-0.3694328073751336,-0.31612470479786303,-0.27711188451210944,-0.26053430945749234,-0.24235245622731938,-0.2282759948331119,-0.21699204671577021,-0.20770133600493068,-0.1999014009220339,-0.19322707268215567,-0.1874417792289016,-0.18236373861265065,-0.17786843757346738,-0.17385480346417737,-0.17023173846886053,-0.1669564105779866,-0.16217168735430576,-0.1612511304560602},
{-1.2169005411536071,-0.6762074282519466,-0.46371492294343675,-0.36934333765695015,-0.3160562063019974,-0.27705603176167237,-0.26048553295097854,-0.24230981312013355,-0.22823788497945863,-0.21695742120540729,-0.2076694695113943,-0.19987177812098267,-0.19319931571166293,-0.18741559730205637,-0.1823389064253398,-0.17784477492241102,-0.17383216498723364,-0.17021000696932198,-0.1669354857367331,-0.16215200739117286,-0.16123180467148046},
{-1.2166758126233272,-0.6759974895399523,-0.463586056119933,-0.36925392619020947,-0.31598775516918565,-0.2770002377879077,-0.2604367930238016,-0.24226720307044758,-0.22819980548423935,-0.21692282402010044,-0.20763762967998112,-0.19984218064461423,-0.19317158296833448,-0.1873894386387427,-0.18231409668711507,-0.1778211340042617,-0.1738095476285455,-0.17018829602329433,-0.16691458095261602,-0.1621323498208067,-0.161212496371137},
{-1.2164507126313566,-0.6757876092106798,-0.46345726388060005,-0.369164572962541,-0.31591935139336336,-0.2769445024528192,-0.2603880896813564,-0.2422246260856138,-0.22816175635495384,-0.21688825516747023,-0.2076058165213901,-0.19981260850467564,-0.1931438744634928,-0.1873633032513009,-0.18228930941046428,-0.17779751483252682,-0.17378695140168077,-0.17016660564418018,-0.16689369623973604,-0.16211271462285914,-0.16119320559053207},
{-1.2162252422388757,-0.6755777874157998,-0.4633285462156973,-0.36907527796219775,-0.315850994968466,-0.27688882561802153,-0.26033942292860246,-0.24218208217313908,-0.22812373759919602,-0.21685371465600767,-0.20757403004573938,-0.19978306171374527,-0.19311619021014081,-0.18733719115314784,-0.18226454460891617,-0.17777391742136217,-0.1737643763210226,-0.1701449358464444,-0.16687283161406619,-0.16209310177828762,-0.1611739323660295},
{-1.2159994025045044,-0.6753680243063016,-0.4631999031153855,-0.3689860411766368,-0.31578268588888747,-0.2768332071470567,-0.2602907927709328,-0.242139571340104,-0.22808574922417435,-0.21681920249301,-0.20754227026423422,-0.19975354028324688,-0.1930885302192138,-0.1873111023570626,-0.18223980229557846,-0.17775034178450255,-0.17374182239998248,-0.1701232866437543,-0.16685198708969828,-0.16207351126672798,-0.16115467673215633},
{-1.2157731944849992,-0.6751583200328195,-0.4630713345697419,-0.368896862593898,-0.3157144241487977,-0.2767776469041259,-0.26024219921375646,-0.24209709359420906,-0.22804779123813468,-0.2167847186873928,-0.20751053718701762,-0.19972404422559542,-0.19306089450311603,-0.18728503687593445,-0.18221508248350027,-0.1777267879360167,-0.17371928965320294,-0.1701016580505783,-0.16683116268223408,-0.1620539430704806,-0.16113543872468838},
{-1.2155466192347282,-0.6749486747454396,-0.46294284056926127,-0.3688077422020868,-0.31564620974291024,-0.27672214475430756,-0.2601936422622426,-0.2420546489431512,-0.2280098636481167,-0.21675026324719582,-0.2074788308250124,-0.19969457355285236,-0.193033283073353,-0.18725899472319618,-0.1821903851861606,-0.17770325589022917,-0.17369677809437434,-0.17008005008108462,-0.16681035840706038,-0.16203439716958634,-0.16111621837829837},
{-1.2153196778060957,-0.6747390885937694,-0.462814421104472,-0.3687186799896782,-0.31557804266583034,-0.27666670056418674,-0.2601451219218376,-0.24201223739481215,-0.22797196646237516,-0.2167158361808017,-0.20744715118940604,-0.19966512827764582,-0.19300569594247818,-0.18723297591217936,-0.18216571041625862,-0.1776797456612229,-0.17367428773819782,-0.17005846274956582,-0.1667895742788872,-0.1620148735462088,-0.1610970157276732},
{-1.2150923712492165,-0.6745295617269003,-0.462686076165836,-0.3686296759451544,-0.3155099229120175,-0.2766113142004816,-0.2600966381987888,-0.2419698589570185,-0.22793409968909017,-0.21668143749710822,-0.20741549829087802,-0.19963570841223444,-0.19297813312287815,-0.18720698045637896,-0.18214105818859316,-0.17765625726375944,-0.17365181859856982,-0.17003689607091665,-0.1667688103132452,-0.16199537218270876,-0.1610778308075762},
{-1.214864700611944,-0.6743200942933907,-0.4625578057437014,-0.3685407300566954,-0.31544185047655837,-0.2765559855313402,-0.26004819109808963,-0.24192751363800546,-0.22789626333551638,-0.21664706720487814,-0.20738387214051102,-0.19960631396903494,-0.19295059462651132,-0.18718100836891338,-0.18211642851591314,-0.17763279071221127,-0.17362937069023765,-0.17001535005956647,-0.16674806652576812,-0.16197589306038118,-0.16105866365122345},
{-1.214636666940284,-0.674110686441149,-0.46242960982887205,-0.36845184231309247,-0.31537382535450575,-0.27650071442599256,-0.25999978062565354,-0.2418852014461237,-0.22785845741088906,-0.21661272531278364,-0.20735227274955292,-0.19957694496138423,-0.1929230804662616,-0.18715505966406454,-0.18209182141198355,-0.17760934602134704,-0.17360694402716348,-0.16999382473025193,-0.16672734293204705,-0.1619564361623258,-0.16103951429362695},
{-1.2144082712778657,-0.6739013383179921,-0.4623014884121144,-0.36836301270328065,-0.3153058475410404,-0.27644550075415175,-0.2599514067871649,-0.24184292238939342,-0.227820681922843,-0.21657841183007065,-0.20732070012913084,-0.199547601401445,-0.19289559065435924,-0.18712913435538248,-0.18206723689106674,-0.17758592320623912,-0.17358453862419587,-0.16997232009816976,-0.166706639547769,-0.16193700147025503,-0.1610203827678749},
{-1.2141795146662888,-0.6736920500709482,-0.46217344148427664,-0.36827424121614705,-0.31523791703146387,-0.27639034438763765,-0.2599030695887752,-0.24180067647692205,-0.22778293688017648,-0.21654412676608636,-0.20728915429085326,-0.199518283302913,-0.19286812520346075,-0.1871032324562485,-0.18204267496640014,-0.17756252228135416,-0.17356215449560963,-0.16995083617815254,-0.166685956388001,-0.16191758896645503,-0.16100126910701285},
{-1.2139503981448385,-0.6734828218465916,-0.46204546903633315,-0.3681855278406463,-0.3151700338211114,-0.2763352451973624,-0.25985476903639615,-0.24175846371683107,-0.22774522229143024,-0.21650987012952783,-0.20725763524565366,-0.1994889906784092,-0.19284068412660105,-0.18707735398118075,-0.18201813565281277,-0.1775391432625053,-0.17353979165608102,-0.1699293729856617,-0.16666529346905357,-0.16189819863397759,-0.16098217334448606},
{-1.2137209227509524,-0.6732736537911084,-0.4619175710591463,-0.36809687256609536,-0.31510219790528815,-0.27628020305664514,-0.2598065051360461,-0.2417162841180609,-0.2277075381647986,-0.21647564193067836,-0.20722614300526132,-0.19945972354102537,-0.19281326743643667,-0.1870514989438874,-0.1819936189637783,-0.17751578616404906,-0.17351745012065933,-0.1699079305356168,-0.1666446508065107,-0.1618788304551586,-0.16096309551309673},
{-1.2134910895198026,-0.6730645460499556,-0.4617897475439836,-0.3680082753818912,-0.31503440928012516,-0.2762252178393023,-0.25975827789418915,-0.24167413768963897,-0.2276698845096785,-0.2164414421788834,-0.20719467758152454,-0.1994304819043471,-0.19278587514627787,-0.18702566735877468,-0.18196912491389305,-0.17749245100235278,-0.17349512990371885,-0.16988650884391632,-0.16662402841631696,-0.16185948441293796,-0.16094403564556714},
{-1.2132608994843643,-0.6728554987683957,-0.46166199848170564,-0.3679197362770701,-0.3149666679413965,-0.27617028941995336,-0.2597100873165914,-0.2416320244404826,-0.2276322613346462,-0.2164072708838276,-0.20716323898569655,-0.19940126578187645,-0.19275850726901034,-0.18699985924020623,-0.1819446535174425,-0.17746913779260787,-0.17347283102039057,-0.16986510792595944,-0.16660342631493208,-0.16184016048943128,-0.1609249937737438},
{-1.2130303536756273,-0.6726465120912382,-0.46153432386407367,-0.3678312552418159,-0.3148989738849348,-0.2761154176749283,-0.25966193340986976,-0.24158994437986436,-0.22759466864868472,-0.21637312805522413,-0.2071318272298157,-0.19937207518701605,-0.19273116381750732,-0.18697407460178006,-0.18192020478864812,-0.1774458465498725,-0.17345055348569716,-0.16984372779745982,-0.16658284451725258,-0.1618208586678982,-0.16090596992996886},
{-1.212799453122348,-0.6724375861624523,-0.4614067236818862,-0.3677428322659484,-0.3148313271068801,-0.27606060248018593,-0.25961381618072465,-0.24154789751692363,-0.2275571064612656,-0.21633901370370978,-0.20710044232588487,-0.19934291013372807,-0.19270384480573277,-0.18694831345934304,-0.18189577874258056,-0.17742257729044297,-0.173428297314544,-0.169822368474577,-0.16656228304016807,-0.16180157893105473,-0.16088696414625758},
{-1.2125681988513302,-0.672228721125629,-0.4612791979268316,-0.3676544673383635,-0.3147637276033315,-0.2760058437133903,-0.2595657356350589,-0.24150588386095073,-0.22751957478103613,-0.2163049278386726,-0.20706908428566173,-0.1993137706353263,-0.1926765502463681,-0.18692257582632088,-0.18187137539316822,-0.17739933002977715,-0.17340606252180457,-0.16980102997279722,-0.1665417418994295,-0.161782321261855,-0.16086797645373707},
{-1.2123365918872002,-0.6720199171243877,-0.4611517465904367,-0.36756616044996626,-0.31469617537065453,-0.2759511412532447,-0.2595176917798945,-0.2414639034213657,-0.22748207361812867,-0.216270870471039,-0.20703775312093242,-0.1992846567062827,-0.19264928015367744,-0.1868968617177753,-0.18184699475567,-0.17737610478381605,-0.17338384912326177,-0.16977971230865663,-0.1665212211111502,-0.1617630856428871,-0.16084900688429649},
{-1.2121046332523573,-0.6718111743011468,-0.46102436966405946,-0.367477911590429,-0.31462867040563225,-0.2758964949789,-0.2594696846217168,-0.24142195620830265,-0.2274446029816506,-0.21623684161118106,-0.20700644884439257,-0.19925556836046887,-0.192622034540884,-0.18687117114857088,-0.18182263684469646,-0.1773529015687636,-0.1733616571341674,-0.1697584154986611,-0.16650072069201372,-0.161743872057734,-0.1608300554687414},
{-1.211872323967425,-0.6716024927985051,-0.4608970671397028,-0.3673897207502197,-0.31456121270489135,-0.27584190477151793,-0.25942171416750526,-0.24138004223099507,-0.2274071628813683,-0.21620284126948164,-0.20697517146790823,-0.19922650561189315,-0.19259481342169948,-0.18684550413329326,-0.18179830167546562,-0.17732972040045603,-0.1733394865696578,-0.16973713955904302,-0.1664802406577639,-0.16172468048950428,-0.16081112223820426},
{-1.211639665050571,-0.6713938727580828,-0.4607698390089219,-0.3673015879198438,-0.3144938022646748,-0.275787370511436,-0.25937378042406145,-0.241338161499133,-0.22736975332698073,-0.21616886945678182,-0.206943921003921,-0.1991974684752762,-0.1925676168100221,-0.18681986068720846,-0.1817739892628456,-0.1773065612949889,-0.17331733744512867,-0.169715884506072,-0.16645978102468462,-0.16170551092155705,-0.16079220722292398},
{-1.211406657518297,-0.6711853143212796,-0.46064268526363605,-0.3672135130894887,-0.314426439082478,-0.27573289208135776,-0.25932588339831497,-0.241296314023268,-0.22733237432827025,-0.2161349261839387,-0.20691269746506613,-0.1991684569646388,-0.19254044471989396,-0.1867942408251242,-0.1817496996219976,-0.177283424268861,-0.17329520977698465,-0.16969465035690945,-0.1664393418096175,-0.1616863633381076,-0.16077331045445753},
{-1.2111733023845614,-0.6709768176291808,-0.4605156058958535,-0.36712549625030455,-0.3143591231552154,-0.27567846936442564,-0.2592780230975844,-0.24125449981304037,-0.2272950258958346,-0.21610101146168859,-0.206881500863755,-0.19913947109475671,-0.19251329716551702,-0.1867686445623722,-0.18172543276853226,-0.17726030933802583,-0.17327310358002634,-0.16967343712812522,-0.166418923028802,-0.1616672377228081,-0.1607544319615748},
{-1.2109396006616082,-0.6707683828219668,-0.46038860089746514,-0.36703753739245926,-0.31429185448014607,-0.27562410224447653,-0.2592301995288864,-0.24121271887846696,-0.227257708039188,-0.21606712530168792,-0.20685033121267438,-0.19911051088038967,-0.1924861741608641,-0.18674307191433037,-0.1817011887173603,-0.1772372165190763,-0.17325101887088046,-0.16965224483655916,-0.16639852469902827,-0.1616481340598135,-0.16073557177500497},
{-1.2107055533593956,-0.6705600100397531,-0.4602616702606479,-0.36694963650738366,-0.31422463305447934,-0.2755697906070953,-0.25918241269928366,-0.24117097122992526,-0.22722042076938287,-0.21603326771455045,-0.20681918852457137,-0.19908157633592083,-0.19245907571985654,-0.1867175228960214,-0.18167696748443163,-0.1772141458281169,-0.17322895566510077,-0.16963107349967288,-0.1663781468362906,-0.16162905233386482,-0.1607167299243777},
{-1.2104711614861676,-0.6703516994222207,-0.46013481397768885,-0.3668617935862013,-0.3141574588755951,-0.2755155343373179,-0.2591346626164732,-0.24112925687802544,-0.22718316409632955,-0.2159994387120907,-0.2067880728122553,-0.19905266747669792,-0.1924320018577692,-0.18669199752314114,-0.18165276908526629,-0.17719109728231075,-0.17320691397895338,-0.16960992313463308,-0.16635778945764734,-0.16160999253008335,-0.1606979064392231},
{-1.2102364260475822,-0.670143451108216,-0.46000803204086615,-0.36677400861959697,-0.31409033194126224,-0.27546133332245226,-0.2590869492878465,-0.2410875758329567,-0.227145938030624,-0.21596563830552995,-0.20675698408919274,-0.19902378431747714,-0.192404952588495,-0.18666649581100891,-0.18162859353576266,-0.17716807089738573,-0.17318489382839353,-0.16958879375844127,-0.16633745257989574,-0.1615909546336063,-0.160679101348304},
{-1.210001348047692,-0.6699352652365711,-0.4598813244424118,-0.36668628159950245,-0.31402325224898675,-0.27540718744991644,-0.25903927272081084,-0.24104592810529013,-0.22710874258358693,-0.21593186650652285,-0.20672592236760146,-0.19899492687339126,-0.19237792792678654,-0.1866410177756599,-0.1816044408515669,-0.17714506669027585,-0.17316289523032324,-0.16956768538835654,-0.16631713621984723,-0.1615719386305745,-0.16066031468107056},
{-1.2097659284883306,-0.6697271419453648,-0.45975469117484913,-0.3665986125168743,-0.31395621979729604,-0.27535309660837193,-0.25899163292318406,-0.24100431370566433,-0.2270715777654857,-0.2158981233267614,-0.2066948876612429,-0.19896609515963526,-0.19235092788750308,-0.18661556343242403,-0.18158031104904282,-0.1771220846778565,-0.17314091820024125,-0.16954659804238226,-0.16629684039449977,-0.16155294450684643,-0.16064154646562656},
{-1.2095301683692155,-0.6695190813723446,-0.45962813223088794,-0.36651100136357684,-0.3138892345834563,-0.2752990606878143,-0.2589440299024872,-0.24096273264478718,-0.2270344435877103,-0.21586440877802815,-0.20666387998338465,-0.19893728919140052,-0.19232395248536527,-0.1865901327970274,-0.1815562041435843,-0.17709912487658563,-0.1731189627553693,-0.1695255317379054,-0.166276565120544,-0.16153397224914734,-0.16062279673067792},
{-1.2092940686881475,-0.6693110836550087,-0.45950164760305157,-0.36642344813179406,-0.313822296606066,-0.27524507957798683,-0.25889646366694485,-0.24092118493357084,-0.22699734006158856,-0.21583072287228866,-0.2066328993474258,-0.1989085089845375,-0.192297001735529,-0.18656472588583384,-0.1815321201527187,-0.1770761873034914,-0.17309702891210144,-0.1695044864925208,-0.1662563104154131,-0.16151502184482958,-0.1606040655044758},
{-1.2090576304409106,-0.6691031489299872,-0.45937523728427543,-0.3663359528125181,-0.3137554058632528,-0.27519115317041987,-0.2588489342245115,-0.24087967058260773,-0.22696026719787987,-0.2157970656217909,-0.20660194576691815,-0.19887975455353768,-0.1922700756529121,-0.18653934271447525,-0.1815080590919056,-0.1770532719753959,-0.1730751166874871,-0.16948346232425138,-0.16623607629602333,-0.16149609328168069,-0.16058535281476694},
{-1.2088208546211128,-0.6688952773337968,-0.45924890126706686,-0.36624851539847825,-0.3136885623534251,-0.27513728135710025,-0.25880144158289475,-0.240838189603247,-0.2269232250086155,-0.21576343703826062,-0.20657101925512045,-0.19885102591511128,-0.1922431742528783,-0.18651398329899038,-0.1814840209776687,-0.17703037890903062,-0.17305322609804819,-0.16946245925050007,-0.16621586277981848,-0.16147718654749887,-0.1605666586894241},
{-1.2085837422205978,-0.6686874690023545,-0.4591226395446242,-0.3661611358814749,-0.31362176607532355,-0.2750834640310096,-0.25875398575043285,-0.24079674200620893,-0.2268862135050771,-0.2157298371343117,-0.20654011982629328,-0.19882232308439818,-0.19221629755065273,-0.1864886476558656,-0.18146000582697042,-0.1770075081216831,-0.17303135716139195,-0.16944147728981918,-0.16619566988467938,-0.16145830163132224,-0.16054798315578367},
{-1.2083462942288028,-0.6684797240715339,-0.45899645210986684,-0.366073814253987,-0.3135550170278609,-0.2750297010869982,-0.25870656673544445,-0.24075532780307896,-0.2268492326991467,-0.21569626592247104,-0.2065092474943988,-0.1987936460769415,-0.19218944556171458,-0.1864633358010881,-0.1814360136564872,-0.17698465963009014,-0.17300950989388397,-0.16942051645980882,-0.16617549762743877,-0.16143943852211962,-0.16052932624100436},
{-1.208108511633478,-0.6682720426760644,-0.4588703389558919,-0.3659865505086142,-0.3134883152092982,-0.27497599241874227,-0.2586591845463655,-0.24071394700456672,-0.2268122826028094,-0.21566272341457982,-0.20647840227279168,-0.19876499490902866,-0.19216261830194092,-0.1864380477509311,-0.18141204448332893,-0.17696183345180216,-0.17298768431345124,-0.16939957677879036,-0.16615534602634874,-0.16142059720964852,-0.1605106879720939},
{-1.2078703954203167,-0.6680644249508969,-0.45874430007609135,-0.36589934463748897,-0.31342166061901366,-0.27492233792246523,-0.2586118391915928,-0.24067259962197518,-0.2267753632280325,-0.21562920962405308,-0.20644758417613218,-0.19873636959603225,-0.19213581578672034,-0.18641278352190405,-0.1813880983244438,-0.17693902960341035,-0.17296588043755,-0.16937865826454512,-0.1661352150990787,-0.161401777684965,-0.16049206837676344},
{-1.2076319465728416,-0.6678568710301986,-0.4586183354635782,-0.3658121966337813,-0.313355053256128,-0.27486873749448293,-0.2585645306799407,-0.24063128566700698,-0.22673847458703733,-0.2155957245633946,-0.206416793218418,-0.1987077701544795,-0.1921090380324646,-0.1863875431309232,-0.18136417519737158,-0.17691624810318984,-0.17294409828365787,-0.16935776093597,-0.16611510486319503,-0.16138297993826178,-0.1604734674811823},
{-1.2073931660727766,-0.6676493810478394,-0.4584924451116805,-0.365725106490002,-0.3132884931201776,-0.27481519103251273,-0.2585172590197562,-0.2405900051506702,-0.22670161669191558,-0.21556226824529823,-0.20638602941387596,-0.19867919660033273,-0.1920822850546422,-0.1863623265942671,-0.18134027511895034,-0.17689348896748136,-0.17292233786971245,-0.16933688481067044,-0.16609501533772608,-0.16136420396148665,-0.1604548853119745},
{-1.2071540548997088,-0.6674419551374617,-0.45836662901433023,-0.3656380741993548,-0.31322198021032044,-0.2747616984350092,-0.25847002421986787,-0.24054875808475984,-0.22666478955549785,-0.21552884068302092,-0.20635529277744702,-0.19865064894967688,-0.19205555686938247,-0.18633713392852158,-0.18131639810721545,-0.17687075221421544,-0.17290059921348977,-0.16931602990773698,-0.16607494653978705,-0.16134544974669573,-0.1604363218960465},
{-1.206914614031267,-0.6672345934316537,-0.45824088716431,-0.3655510997551126,-0.3131555145258247,-0.2747082596006205,-0.2584228262895536,-0.24050754448052203,-0.22662799319005522,-0.21549544188956382,-0.20632458332304715,-0.19862212721878159,-0.19202885349342047,-0.18631196515099546,-0.1812925441794544,-0.176848037860859,-0.17287888233310866,-0.16929519624481593,-0.16605489848832455,-0.1613267172863555,-0.1604177772597417},
{-1.206674844443116,-0.6670272960632415,-0.45811521955611667,-0.36546418315021434,-0.3130890960667845,-0.27465487442939107,-0.2583756652374909,-0.2404663643496221,-0.22659122760860662,-0.21546207187794053,-0.20629390106602052,-0.19859363142379394,-0.19200217494279315,-0.1862868202781911,-0.18126871335368655,-0.17682534592473864,-0.17285718724664356,-0.16927438384062476,-0.1660348712015729,-0.16130800657398936,-0.16039925142879952},
{-1.206434747109058,-0.6668200631648435,-0.4579896261832115,-0.36537732437835224,-0.3130227248330417,-0.2746015428225217,-0.25832854107319214,-0.2404252177037165,-0.22655449282416207,-0.21542873066188584,-0.20626324602072366,-0.1985651615816657,-0.19197552123429595,-0.18626169932714198,-0.1812449056479899,-0.17680267642368896,-0.17283551397258456,-0.16925359271384366,-0.16601486469845916,-0.16128931760337473,-0.16038074443050654},
{-1.2061943230005765,-0.6666128948675238,-0.4578641070393594,-0.3652905234329449,-0.3129564008249055,-0.27454826468161464,-0.2582814538054521,-0.24038410455454873,-0.22651778884951668,-0.2153954182545803,-0.2062326182023675,-0.19853671770846404,-0.1919488923846977,-0.18623660231548556,-0.18122112108037491,-0.17678002937528525,-0.17281386252961362,-0.1692328228832487,-0.16599487899745213,-0.16127065036936017,-0.1603622562903002},
{-1.2059535730876068,-0.6664057913031067,-0.45773866211880687,-0.3652037803079615,-0.31289012404197614,-0.27449503990972524,-0.25823440344390924,-0.24034302491357273,-0.226481115698002,-0.21536213466995235,-0.20620201762603863,-0.19850829982097373,-0.1919222884105629,-0.18621152925962292,-0.181197359668829,-0.17675740479728397,-0.17279223293629542,-0.16921207436710084,-0.1659749141176068,-0.16125200486668234,-0.16034378703510477},
{-1.205712498337844,-0.6661987526023552,-0.45761329141542184,-0.36511709499689715,-0.3128238944845929,-0.2744418684092551,-0.25818738999774027,-0.2403019787928855,-0.226444473382708,-0.21532887992141525,-0.20617144430670997,-0.19847990793557635,-0.19189570932892863,-0.18618648017773154,-0.18117362143242488,-0.176734802707891,-0.1727706252111858,-0.16919134718393813,-0.16595497007764237,-0.1612333810908506,-0.16032533669038074},
{-1.205471099716986,-0.6659917788957754,-0.45748799492339387,-0.36503046749408696,-0.3127577121531733,-0.27438875008497554,-0.25814041347676664,-0.2402609662042252,-0.226407861917453,-0.215295654022988,-0.206140898260065,-0.19845154206947768,-0.19186915515710012,-0.18616145508686088,-0.1811499063891997,-0.17671222312472956,-0.17274903937394903,-0.16917064135323656,-0.16593504689710592,-0.16121477903910986,-0.16030690528349112},
{-1.2052293781890038,-0.6657848703137681,-0.4573627726372145,-0.36494389779371517,-0.3126915770484153,-0.27433568484216586,-0.2580934738905931,-0.2402199871595485,-0.22637128131589712,-0.2152624569885333,-0.20611037950142297,-0.19842320223922627,-0.1918426259125301,-0.18613645400459866,-0.18112621455840738,-0.1766896660662649,-0.17272747544313027,-0.16914995689312384,-0.16591514459490497,-0.16119619870735669,-0.16028849283993019},
{-1.2049873347157263,-0.6655780269858917,-0.4572376245507126,-0.36485738588969774,-0.31262548917122146,-0.2742826725862475,-0.2580465712489648,-0.24017904167034132,-0.22633473159147854,-0.21522928883213588,-0.20607988804644783,-0.1983948884619675,-0.1918161216119163,-0.18611147694873686,-0.18110254595825914,-0.17666713155026237,-0.17270593343842044,-0.16912929382286457,-0.16589526319071624,-0.16117764009405278,-0.16027009938563985},
{-1.2047449702569724,-0.6653712490414598,-0.45711255065891443,-0.3647709317765315,-0.31255944852228623,-0.2742297132248961,-0.25799970556135676,-0.24013812974885163,-0.2262982127585076,-0.2151961495678787,-0.20604942391091363,-0.19836660075421975,-0.19178964227351258,-0.1860865239365701,-0.1810789006082647,-0.17664461959492606,-0.17268441337894025,-0.16910865216192228,-0.1658754027039624,-0.16115910319711801,-0.1602517249480151},
{-1.2045022857710457,-0.6651645366097139,-0.4569875509563026,-0.3646845354492889,-0.3124934551023131,-0.27417680666481914,-0.2579528768383881,-0.2400972514075459,-0.22626172483114182,-0.21516303921042557,-0.20601898711063704,-0.19833833913372345,-0.19176318791483915,-0.1860615949868354,-0.1810552785276922,-0.17662213021938378,-0.17266291528461863,-0.16908803192844069,-0.1658555631544747,-0.16114058801514197,-0.16023336955285217},
{-1.2042592822137195,-0.6649578898188349,-0.4568626254374255,-0.36459819690230866,-0.31242750891282434,-0.27412395281452184,-0.25790608508969903,-0.24005640665775196,-0.22622526782292596,-0.21512995777403354,-0.20598857766190726,-0.19831010361712664,-0.1917367585534251,-0.18603669011663548,-0.18103167973546164,-0.17659966344127298,-0.17264143917488006,-0.169067433142299,-0.16583574456177352,-0.16112209454765036,-0.16021503322656727},
{-1.2040159605392065,-0.6647513087972214,-0.4567377740970109,-0.3645119161304784,-0.31236160995480233,-0.27407115158340645,-0.2578593303258394,-0.24001559551205176,-0.22618884174940312,-0.21509690527335934,-0.205958195580477,-0.19828189422203302,-0.19171035420777116,-0.1860118093448726,-0.18100810425160674,-0.17657721927962733,-0.17261998506971565,-0.16904685582216672,-0.1658159469460756,-0.1611036227947853,-0.16019671599592122},
{-1.2037723216996534,-0.6645447936724498,-0.45661299692989665,-0.3644256931289416,-0.3122957582301584,-0.2740184028813033,-0.2578126125564708,-0.2399748179822776,-0.2261524466240843,-0.21506388172305968,-0.20592784088313643,-0.19825371096557554,-0.1916839748955148,-0.18598695268944354,-0.1809845520949409,-0.1765547977530133,-0.17259855298917337,-0.1690262999879284,-0.16579617032738803,-0.1610851727565361,-0.16017841788681153},
{-1.2035283666454122,-0.6643383445722124,-0.4564882939312689,-0.36433952789264445,-0.31222995374000106,-0.27396570661967345,-0.2577659317923917,-0.23993407408099898,-0.22611608246213777,-0.21503088713773444,-0.2058975135860699,-0.19822555386518026,-0.1916576206353202,-0.1859621201682291,-0.18096102328515862,-0.17653239888018568,-0.17257714295344684,-0.16900576565896586,-0.16577641472546034,-0.16106674443469338,-0.16016013892680192},
{-1.203284096324734,-0.664131961623446,-0.4563636650962586,-0.3642534204173078,-0.31216419648617233,-0.27391306270931004,-0.25771928804400446,-0.2398933638201335,-0.2260797492786999,-0.2149979215330049,-0.2058672137061741,-0.1981974229386445,-0.1916312914453897,-0.18593731180053652,-0.18093751784298462,-0.17651002268044103,-0.17255575498250764,-0.16898525285438737,-0.1657566801606709,-0.16104833783063732,-0.16014187914222333},
{-1.2030395116841355,-0.6639256449525908,-0.45623911041983156,-0.3641673706979489,-0.312098486470509,-0.27386047106309164,-0.25767268132181975,-0.23985268721198594,-0.22604344708809698,-0.21496498492336968,-0.2058369412598573,-0.19816931820242267,-0.1916049873437995,-0.18591252760428212,-0.18091403578744192,-0.17648766917231562,-0.17253438909702368,-0.16896476159444518,-0.16573696665370363,-0.16102995294644984,-0.16012363855988276},
{-1.2027946136679697,-0.6637193946860709,-0.4561146298973284,-0.3640813787307202,-0.312032823694949,-0.2738079315939892,-0.25762611163660765,-0.23981204426924485,-0.2260071759064335,-0.21493207732445363,-0.20580669626421688,-0.19814123967607244,-0.1915787083502103,-0.1858877675985191,-0.18089057713874368,-0.17646533837529965,-0.17251304531716727,-0.16894429189808058,-0.16571727422470417,-0.1610115897848612,-0.16010541720695315},
{-1.202549403219039,-0.6635132109495725,-0.4559902235241893,-0.3639954445109961,-0.3119672081621463,-0.2737554442161567,-0.25757957899882733,-0.23977143500361642,-0.2259709357482187,-0.21489919875135755,-0.20577647873669314,-0.19811318737573913,-0.1915524544825189,-0.1858630318017429,-0.18086714191701248,-0.17644303030831487,-0.1724917236640806,-0.16892384378607161,-0.16569760289450564,-0.1609932483495271,-0.16008721511044577},
{-1.2023038812778237,-0.663307093868994,-0.4558658912959661,-0.36390956803455765,-0.3119016398740051,-0.2737030088451018,-0.25753308341953485,-0.23973085942841088,-0.22593472662969205,-0.21486634921993186,-0.2057462886942094,-0.19808516131985954,-0.19152622575988865,-0.18583832023309377,-0.18084373014209199,-0.17642074499132399,-0.17247042415736047,-0.16890341727844493,-0.16567795268354502,-0.1609749286436184,-0.16006903229702907},
{-1.2020580487832966,-0.6631010435689859,-0.4557416332081772,-0.3638237492980281,-0.31183611883274764,-0.2736506253952662,-0.2574866249094754,-0.23969031755530246,-0.22589854856594727,-0.21483352874556338,-0.20571612615363755,-0.19805716152642283,-0.19150002220127327,-0.18581363291157516,-0.18082034183439788,-0.17639848244346723,-0.17244914681859846,-0.1688830123949856,-0.16565832361292365,-0.16095663067116206,-0.16005086879463448},
{-1.2018119066722033,-0.6628950601745931,-0.455617449256712,-0.36373798829716897,-0.31177064504131735,-0.2735982937835839,-0.2574402034799199,-0.23964980939701164,-0.22586240157332682,-0.21480073734438143,-0.20568599113349073,-0.1980291880129066,-0.19147384382602617,-0.18578896985611415,-0.18079697701448083,-0.1763762426843698,-0.17242789166854955,-0.16886262915581263,-0.16563871570325794,-0.16093835443761506,-0.1600327246308062},
{-1.20156545587969,-0.6626891438099101,-0.45549333943720427,-0.36365228502863545,-0.311705218502361,-0.2735460139270671,-0.25739381914215187,-0.23960933496630332,-0.2258262856678357,-0.21476797503253842,-0.2056558836508966,-0.19800124079824322,-0.19144769065361267,-0.1857643310862862,-0.18077363570255933,-0.1763540257345113,-0.17240665872795446,-0.16884226758191012,-0.16561912897543074,-0.16092009994705947,-0.16001459983265498},
{-1.2013186973388237,-0.6624832945992143,-0.45536930374562345,-0.36356663948862256,-0.31163983921909555,-0.27349378574376715,-0.25734747190686846,-0.23956889427578432,-0.22579020086517332,-0.2147352418256503,-0.20562580372379102,-0.19797331990029576,-0.1914215627033773,-0.1857397166213861,-0.1807503179189638,-0.17633183161321142,-0.17238544801823963,-0.168821927693795,-0.16559956345132854,-0.16090186720554023,-0.15999649442776587},
{-1.2010716319808692,-0.6622775126662592,-0.4552453421783138,-0.36348105167401457,-0.31157450719430635,-0.27344160915299653,-0.25730116178555207,-0.2395284873378234,-0.22575414718189002,-0.21470253774042725,-0.2055957513702218,-0.19794542533711912,-0.191395459994677,-0.18571512648076016,-0.18072702368448468,-0.17630966034080053,-0.17236425956006762,-0.16880160951207834,-0.1655800191513741,-0.1608836562186422,-0.15997840844477906},
{-1.200824260735291,-0.6620717981340167,-0.45512145473110444,-0.36339552158184496,-0.3115092224309475,-0.27338948407316366,-0.25725488878971703,-0.23948811416519078,-0.225718124634664,-0.21466986279317624,-0.20556572660833616,-0.19791755712715542,-0.1913693825471281,-0.1856905606844581,-0.1807037530193707,-0.17628751193742076,-0.17234309337492348,-0.16878131305755062,-0.16556049609707202,-0.1608654669918117,-0.15996034191066144},
{-1.2005765845292506,-0.6618661511255333,-0.454997641400265,-0.36331004920858057,-0.31144398493263914,-0.27333741042508386,-0.25720865293060946,-0.2394477747706425,-0.2256821332402037,-0.21463721700065008,-0.20553572945653897,-0.19788971528883614,-0.19134333038079632,-0.18566601925192927,-0.1806805059445864,-0.17626538642331901,-0.17232194948350177,-0.16876103835103073,-0.16554099431017377,-0.16084729953263377,-0.15994229485404077},
{-1.2003286042888215,-0.6616605717633917,-0.4548739021822765,-0.3632246345516972,-0.31137879470275465,-0.27328538812936287,-0.2571624542202233,-0.23940746916665923,-0.2256461730150825,-0.21460460037973128,-0.20550575993290643,-0.1978618998413033,-0.19131730351550047,-0.18564150220266384,-0.18065728248116208,-0.1762432838193515,-0.17230082790774048,-0.1687407854143732,-0.16552151381146984,-0.16082915384684604,-0.15992426730333165},
{-1.200080320937353,-0.6614550601697946,-0.45475023707362894,-0.3631392776084077,-0.3113136517451718,-0.2732334171080275,-0.2571162926697692,-0.23936719736629897,-0.22561024397634455,-0.21457201294699324,-0.20547581805681325,-0.19783411080273972,-0.19129130197140398,-0.1856170095576708,-0.18063408264916525,-0.17622120414603515,-0.17227972866852959,-0.1687205542686918,-0.1655020546236443,-0.16081102994221652,-0.15990625928662006},
{-1.1998317353969927,-0.661249616466483,-0.45462664607096137,-0.3630539783760405,-0.3112485560637417,-0.27318149728427343,-0.2570701682910599,-0.23932695938214366,-0.22557434614153848,-0.21453945472061697,-0.2054459038465577,-0.197806348192211,-0.19126532576870936,-0.18559254133650782,-0.18061090647002054,-0.17619914742452814,-0.17225865178770228,-0.16870034493553732,-0.16548261676799036,-0.1607929278256215,-0.15988827083246981},
{-1.1995828485877755,-0.661044240775075,-0.4545031291708579,-0.36296873685239106,-0.31118350766172576,-0.27312962857999246,-0.25702408109595076,-0.23928675522700438,-0.22553847952737271,-0.2145069257168366,-0.20541601732094605,-0.19777861202865488,-0.19123937492724963,-0.18556809755971848,-0.18058775396460014,-0.1761771136754664,-0.1722375972864043,-0.16868015743604658,-0.16546320026616002,-0.16077484750427473,-0.1598703019698231},
{-1.1993336614278887,-0.6608389332167359,-0.45437968637029513,-0.3628835530348091,-0.31111850654389883,-0.27307781091984396,-0.25697803109661344,-0.23924658491397288,-0.22550264415187726,-0.21447442595362354,-0.2053861584993406,-0.19775090233092918,-0.19121344946778152,-0.185543678247182,-0.18056462515401783,-0.17615510292062275,-0.1722165651869485,-0.16865999179238322,-0.1654438051401872,-0.1607567889869852,-0.15985235272717624},
{-1.1990841748335743,-0.6606336939123825,-0.4542563176661485,-0.3627984269218345,-0.311053552714327,-0.2730260442283612,-0.2569320183050863,-0.23920644845561156,-0.22546684003236273,-0.21444195544842692,-0.20535632740108767,-0.1977232191184637,-0.19118754941100669,-0.18551928341987178,-0.18054152005935187,-0.1761331151808445,-0.17219555550976295,-0.16863984802610688,-0.1654244314116724,-0.16073875228075707,-0.15983442313408602},
{-1.1988343897195417,-0.6604285229822633,-0.45413302305541414,-0.36271335851088615,-0.3109886461774849,-0.27297432843156955,-0.25688604273295823,-0.23916634586494112,-0.22543106718700656,-0.2144095142195237,-0.2053265240454909,-0.1976955624105443,-0.19116167477734614,-0.18549491309884303,-0.18051843870135897,-0.17611115047801995,-0.17217456827746602,-0.16861972615973286,-0.16540507910353064,-0.16072073739405823,-0.1598165132191074},
{-1.1985843069982662,-0.6602234205464814,-0.4540098025353725,-0.36262834780012376,-0.3109237869379342,-0.27292266345556904,-0.2568401043926585,-0.23912627715463053,-0.2253953256333805,-0.2143771022847929,-0.205296748451957,-0.19766793222590984,-0.19113582558757436,-0.18547056730407085,-0.18049538110187058,-0.1760892088335435,-0.17215360351111286,-0.16859962621560065,-0.16538574823749919,-0.16070274433532816,-0.1597986230120032},
{-1.1983339275807845,-0.6600183867249036,-0.45388665610331635,-0.3625433947886023,-0.31085897499998083,-0.2728710492266142,-0.2567942032968311,-0.23908624233824582,-0.22535961538999416,-0.21434471966224677,-0.20526700064051795,-0.19764032858492797,-0.1911100018625831,-0.18544624605741689,-0.1804723472821177,-0.17606729026994117,-0.1721326612335119,-0.16857954821528054,-0.16536643883632074,-0.16068477311313778,-0.15978075254266422},
{-1.1980832523758789,-0.6598134216370433,-0.4537635837566487,-0.3624584994741138,-0.310794210369151,-0.272819485672958,-0.25674833945763176,-0.23904624142807407,-0.22532393647487226,-0.21431236637056905,-0.205237280631005,-0.19761275150661284,-0.19108420362377387,-0.18542194937968226,-0.1804493372631395,-0.17604539480866777,-0.17211174146566854,-0.1685594921819078,-0.16534715092205765,-0.16066682373649321,-0.15976290184030262},
{-1.1978322822910314,-0.65960852540187,-0.45364058549283115,-0.36237366185561193,-0.31072949304956055,-0.2727679727225052,-0.25670251288737234,-0.23900627443749656,-0.22528828890673225,-0.2142800424280331,-0.20520758844310905,-0.19758520101158972,-0.19105843089166008,-0.1853976772924657,-0.1804263510670694,-0.17602352247241448,-0.1720908442298601,-0.16853945813758742,-0.16532788451705294,-0.1606488962136119,-0.15974507093516266},
{-1.1975810182312658,-0.6594036981381315,-0.4535176613093306,-0.36228888193182485,-0.3106648230476008,-0.27271651030465804,-0.2566567235987254,-0.23896634137938655,-0.22525267270396832,-0.21424774785385736,-0.20517792409810376,-0.19755767711899352,-0.1910326836874443,-0.1853734298164973,-0.1804033887145522,-0.17600167328328276,-0.17206996954845266,-0.16851944610552394,-0.16530863964446496,-0.16063099055444852,-0.15972725985694858},
{-1.1973294611003729,-0.6591989399643747,-0.45339481120424274,-0.36220415970159614,-0.3106002003678068,-0.2726650983499592,-0.2566109716045126,-0.23892644226689264,-0.22521708788548622,-0.21421548266673618,-0.20514828761520754,-0.19753017984904275,-0.19100696203305922,-0.18534920697384294,-0.18038045022794336,-0.17597984726408278,-0.17204911744322082,-0.1684994561085542,-0.16528941632695648,-0.16061310676737683,-0.15970946863641977},
{-1.1970776118001423,-0.6589942509986457,-0.45327203517536674,-0.3621194951646505,-0.3105356250156497,-0.27261373678779854,-0.256565256917634,-0.23888657711272465,-0.22518153447035516,-0.21418324688573342,-0.20511867901557146,-0.1975027092221513,-0.19098126594948361,-0.18532500878670533,-0.18035753562886292,-0.17595804443781482,-0.17202828793664438,-0.1684794881691527,-0.16527021458724356,-0.1605952448624226,-0.15969169730357535},
{-1.196825471230345,-0.658789631358685,-0.4531493332204626,-0.362034888319247,-0.3104710969968387,-0.27256242554990884,-0.2565195795506998,-0.2388467459303012,-0.225146012477218,-0.21415104053036949,-0.20508909832006061,-0.19747526525768322,-0.19095559545827712,-0.18530083527639007,-0.18033464493892204,-0.17593626482718427,-0.17200748105098462,-0.16845954231097338,-0.16525103444807243,-0.1605774048491515,-0.1596739458892369},
{-1.1965730402891293,-0.658585081161819,-0.45302670533800615,-0.36195033916566466,-0.3104066163171524,-0.2725111645682219,-0.25647393951673614,-0.23880694873271047,-0.22511052192571057,-0.21411886361980947,-0.20505954554889172,-0.19744784797749837,-0.190929950581312,-0.18527668646558126,-0.18031177817995747,-0.17591450845510792,-0.17198669680867162,-0.16843961855663814,-0.16523187593226218,-0.1605595867364169,-0.15965621442385824},
{-1.1963203198729966,-0.6583806005253265,-0.45290415152593155,-0.36186584770317154,-0.3103421829829873,-0.27245995377521837,-0.2564283368290745,-0.23876718553272802,-0.22507506283513656,-0.21408671617387043,-0.20503002072392995,-0.19742045740098035,-0.19090433134003426,-0.1852525623760677,-0.1802889353742252,-0.17589277534516512,-0.1719659352330023,-0.16841971693017754,-0.16521273906407785,-0.16054179053526063,-0.1596385029382681},
{-1.1960673108763613,-0.6581761895659302,-0.45278167178262585,-0.36178141393145324,-0.3102777970001007,-0.2724087931050807,-0.25638277150065925,-0.23872745634408155,-0.2250396352247872,-0.2140545982126767,-0.20500052386577927,-0.1973930935491186,-0.19087873775678332,-0.18522846303073237,-0.1802661165434234,-0.17587106552093523,-0.1719451963452414,-0.16839983745451015,-0.16519362386592107,-0.1605240162545396,-0.15962081146352958},
{-1.19581401419196,-0.657971848400221,-0.4526592661066484,-0.36169703785044405,-0.3102134583743954,-0.2723576824910072,-0.2563372435448539,-0.23868776117941337,-0.22500423911480816,-0.2140225097555266,-0.20497105499587853,-0.19736575644306598,-0.19085316985290746,-0.1852043884518988,-0.1802433217102326,-0.17584937900556064,-0.17192448016940887,-0.16837998015348,-0.1651745303613179,-0.1605062639053827,-0.15960314003015874},
{-1.1955604307108514,-0.657767577144309,-0.4525369344968091,-0.36161271946035356,-0.310149167112618,-0.2723066218677168,-0.25629175297557794,-0.23864810005230197,-0.22496887452445868,-0.21399045082334567,-0.20494161413588152,-0.1973384461028651,-0.19082762765112626,-0.1851803386628621,-0.18022055089654287,-0.17582771582297774,-0.17190378672839302,-0.1683601450507073,-0.16515545857370206,-0.16048853349736802,-0.15958548866990085},
{-1.1953065613220835,-0.6575633759138384,-0.45241467695133686,-0.36152845876121553,-0.31008492322168557,-0.2722556111710279,-0.2562462998060173,-0.23860847297593324,-0.22493354147424682,-0.21395842143620314,-0.20491220130735854,-0.1973111625507915,-0.1908021111729834,-0.18515631368571128,-0.1801978041250596,-0.17580607599754394,-0.17188311604462925,-0.16834033217012312,-0.16513640852645928,-0.16047082504138466,-0.15956785741383683},
{-1.1950524069132236,-0.6573592448244732,-0.45229249346935596,-0.36144425575344563,-0.31002072670830394,-0.272204650337013,-0.2562008840498571,-0.23856887996371867,-0.22489823998353486,-0.21392642161447384,-0.20488281653234175,-0.19728390580715072,-0.19077662044102262,-0.1851323135448837,-0.18017508141793215,-0.17578445955229682,-0.1718624681421428,-0.16832054153520204,-0.1651173802442525,-0.1604531385485295,-0.1595502462924152},
{-1.1947979683698664,-0.6571551839914953,-0.45217038405002796,-0.36136011043750926,-0.30995657757910067,-0.27215373930282816,-0.25615550572076273,-0.23852932102934332,-0.22486297007294098,-0.21389445137918806,-0.20485345983261638,-0.19725667589343843,-0.19075115547822818,-0.18510833826262463,-0.1801523827982372,-0.17576286651208406,-0.17184184304373673,-0.16830077317083436,-0.1650983737500269,-0.16043547402904856,-0.15953265533799765},
{-1.1945432465757992,-0.6569511935295491,-0.45204834869207033,-0.36127602281419513,-0.3098924758406447,-0.27210287800498634,-0.2561101648330979,-0.23848979618557742,-0.22482773176294835,-0.21386251075082185,-0.20482413123008136,-0.19722947283143455,-0.19072571630602653,-0.18508438786341763,-0.18012970828821295,-0.17574129690154905,-0.17182124077367433,-0.16828102710053017,-0.16507938906836905,-0.16041783149501043,-0.15951508458131514},
{-1.1942882424131724,-0.6567472735534423,-0.4519263873948187,-0.3611919928841676,-0.30982842150116596,-0.2720520663821109,-0.25606486140080875,-0.23845030544638135,-0.22479252507369196,-0.21383059975067198,-0.20479483074764282,-0.1972022966423186,-0.19070030294776608,-0.18506046237027185,-0.1801070579112345,-0.1757197507439141,-0.17180066135450467,-0.16826130334833245,-0.1650604262229436,-0.16040021095723134,-0.15949753405344858},
{-1.1940329567625625,-0.6565434241776469,-0.45180450015764784,-0.3611080206487607,-0.30976441456733816,-0.2720013043725089,-0.25601959543786634,-0.23841084882525365,-0.2247573500257154,-0.2137987183995751,-0.20476555840702382,-0.1971751473480463,-0.19067491542575787,-0.18503656180731554,-0.18008443168973542,-0.17569822806421698,-0.1717801048112424,-0.1682416019387496,-0.1650414852376496,-0.16038261242693785,-0.15948000378620897},
{-1.1937773905022064,-0.6563396455156543,-0.45168268698015623,-0.3610241061088928,-0.30970045504738586,-0.27195059191606674,-0.25597436695871423,-0.23837142633575148,-0.22472220663986242,-0.2137668667190944,-0.20473631423137384,-0.19714802497030348,-0.19064955376313897,-0.18501268619857214,-0.18006182964723294,-0.1756767288869696,-0.17175957116727503,-0.16822192289675186,-0.16502256613745203,-0.16036503591687534,-0.15946249381065414},
{-1.1935215445090792,-0.6561359376814675,-0.4515609478616547,-0.3609402492657825,-0.30963654294864185,-0.27189992895360504,-0.2559291759777764,-0.23833203799172686,-0.22468709493717576,-0.21373504473084814,-0.20470709824322242,-0.1971209295312999,-0.1906242179827391,-0.1849888355686229,-0.1800392518069298,-0.17565525323754905,-0.1717390604468818,-0.16820226624682455,-0.16500366894710083,-0.1603474814395156,-0.15944500415835883},
{-1.1932654196584105,-0.6559323007883986,-0.4514392828020153,-0.360856450121112,-0.3095726782783803,-0.27184931542594093,-0.25588402250951425,-0.23829268380691992,-0.22465201493784015,-0.213703252456396,-0.20467791046529982,-0.19709386105316007,-0.1905989081074555,-0.1849650099416511,-0.18001669819182808,-0.17563380113958793,-0.17171857267481094,-0.168182632013135,-0.16498479369054309,-0.16032994900643516,-0.15942753486045902},
{-1.1930090168234502,-0.6557287349493439,-0.4513176918011581,-0.3607727086764374,-0.30950886104549014,-0.27179875127662,-0.2558389065692239,-0.23825336379530349,-0.2246169666636355,-0.2136714899169565,-0.20464875092101842,-0.19706681955812932,-0.1905736241606526,-0.18494120934217761,-0.17999416882616082,-0.17561237261848284,-0.17169810787493667,-0.16816302022115437,-0.1649659403931132,-0.16031243863119116,-0.15941008594879236},
{-1.1927523368757535,-0.6555252402774538,-0.4511961748590032,-0.36068902493390276,-0.30944509125794006,-0.2717482364518453,-0.2557938281711536,-0.2382140779709072,-0.22458195013514448,-0.2136397571348887,-0.20461961963314934,-0.19703980506886154,-0.19054836616545856,-0.18491743379453318,-0.17997166373302242,-0.17559096769942606,-0.17167766607227897,-0.16814343089474626,-0.16494710907894827,-0.16029495032625718,-0.15939265745407383},
{-1.1924953806853607,-0.6553218168848289,-0.45107473197531256,-0.3606053988949416,-0.3093813689243845,-0.27169777090114167,-0.25574878733048934,-0.23817482634777676,-0.22454696537394447,-0.21360805413223183,-0.20459051662603933,-0.19701281760802125,-0.1905231341452609,-0.1848936833242263,-0.17994918293599582,-0.17556958640678388,-0.1716572472920035,-0.16812386406007285,-0.16492829977401335,-0.16027748410580145,-0.15937524940790482},
{-1.1922381491201754,-0.6551184648840458,-0.4509533631507292,-0.36052183056161624,-0.30931769405300535,-0.27164735457938605,-0.25570378406238525,-0.23813560893996488,-0.22451201240136243,-0.21357638093126674,-0.20456144192196213,-0.1969858571973333,-0.19049792812389832,-0.18486995795639416,-0.1799267264598896,-0.1755482287663792,-0.17163685155826336,-0.16810431974173845,-0.16490951250349895,-0.1602600399826386,-0.15935786184182987},
{-1.1919806430469215,-0.6549151843866632,-0.45083206838546275,-0.3604383199370069,-0.3092540666522261,-0.2715969874470048,-0.2556588183820736,-0.23809642576230772,-0.22447709123862225,-0.21354473755403092,-0.20453239554526803,-0.19695892386105385,-0.19047274812490933,-0.18484625771569796,-0.17990429432813215,-0.17552689480302242,-0.1716164788969703,-0.16808479796505615,-0.16489074729216568,-0.16024261797213768,-0.1593404947873296},
{-1.1917228633301544,-0.6547119755043838,-0.45071084768005676,-0.36035486702275144,-0.30919048673165683,-0.27154666947517825,-0.2556138903052574,-0.23805727682894684,-0.2244422019075838,-0.21351312402321376,-0.20450337751982595,-0.1969320176215401,-0.1904475941716921,-0.18482258262759999,-0.1798818865652443,-0.1755055845416944,-0.1715961293330448,-0.16806529875555398,-0.164872004166444,-0.16022521808796597,-0.1593231482757247},
{-1.1914648108328345,-0.6545088383486419,-0.4505897010349962,-0.3602714718216955,-0.3091269542995043,-0.27149640064598834,-0.2555689998473767,-0.23801816215468818,-0.22440734442977117,-0.2134815403612027,-0.2044743878695474,-0.19690513850233238,-0.1904224662884264,-0.18479893271740444,-0.17985950319538802,-0.17548429800835663,-0.1715758028920309,-0.16804582213818264,-0.16485328315086178,-0.16020784034519053,-0.15930582233892565},
{-1.1912064864162568,-0.6543057730302415,-0.45046862845089386,-0.360188134336882,-0.3090634693660377,-0.27144618095819695,-0.2555241470237952,-0.2379790817538492,-0.22437251882677245,-0.21344998659079906,-0.20444542661886445,-0.19687828652666006,-0.19039736449910905,-0.18477530801053632,-0.17983714424314634,-0.17546303522751572,-0.17155549959969463,-0.16802636813886807,-0.1648345842716772,-0.16019048475872566,-0.15928851700718738},
{-1.1909478909400697,-0.6541027796602759,-0.4503476299287428,-0.36010485457073393,-0.30900003193981895,-0.2713960104302977,-0.25547933185064764,-0.23794003564179533,-0.22433772512066774,-0.21341846273458742,-0.20441649379154825,-0.19685146171789114,-0.19037228882836388,-0.1847517085324295,-0.1798148097336707,-0.17544179622552747,-0.17153521948126382,-0.1680069367835948,-0.1648159075555462,-0.16017315134418197,-0.15927123231370288},
{-1.1906890252620395,-0.653899858349142,-0.45022670546983434,-0.3600216325270331,-0.30893664203064475,-0.27134588910353585,-0.2554345543441272,-0.23790102383336276,-0.2243029633335265,-0.21338696881607966,-0.2043875894124536,-0.19682466410031374,-0.1903472392994594,-0.18472813430921775,-0.17979249969190647,-0.17542058102746338,-0.171514962563581,-0.16798752809752315,-0.16479725302798442,-0.16015584011758577,-0.15925396828933458},
{-1.190429890238355,-0.6536970092067307,-0.45010585507485246,-0.35993846820855246,-0.30887329964796173,-0.27129581704974903,-0.25538981452021936,-0.2378620463438228,-0.224268233486983,-0.21335550485805577,-0.2043587135063838,-0.1967978936968251,-0.19032221593750087,-0.18470458536625145,-0.17977021414230698,-0.17539938965881774,-0.17149472887189532,-0.16796814210696454,-0.16477862071533877,-0.1601385510953115,-0.15923672496621322},
{-1.1901704867235283,-0.6534942323433253,-0.4499850787454882,-0.35985536161878073,-0.3088100048020923,-0.27124579437585794,-0.25534511239528257,-0.23782310318883226,-0.2242335356034051,-0.21332407088319272,-0.20432986609765358,-0.19677115053280048,-0.1902972187668741,-0.18468106172981358,-0.17974795311093672,-0.17537822214556087,-0.17147451843221972,-0.16794877883761572,-0.16476001064328116,-0.16012128429267491,-0.15921950237605031},
{-1.1899108155703146,-0.6532915278682765,-0.4498643764824912,-0.35977231276148736,-0.30874675750309066,-0.2711958212305383,-0.25530044798576945,-0.23778419438340848,-0.22419886970521574,-0.21329266691564008,-0.20430104721205034,-0.1967444346316487,-0.19027224781233798,-0.18465756342565598,-0.17972571662281922,-0.17535707851310178,-0.17145433127218368,-0.16792943831613982,-0.16474142283965776,-0.16010403972803644,-0.15920230055114004},
{-1.1896508776298083,-0.6530888958913401,-0.44974374828786523,-0.3596893216402197,-0.30868355776104295,-0.2711458978107757,-0.2552558213077578,-0.23774531994379622,-0.22416423581476153,-0.21326129297831287,-0.20427225687367923,-0.19671774601765257,-0.19024730309881477,-0.1846340904797632,-0.17970350470352514,-0.1753359587875849,-0.17143416741690132,-0.1679101205684539,-0.16472285733055614,-0.16008681741750053,-0.1591851195230376},
{-1.189390673751225,-0.6528863365213642,-0.44962319416318586,-0.3596063882592766,-0.30862040558586123,-0.2710960243674201,-0.25521123237897747,-0.23770647988548,-0.2241296339541492,-0.21322994909494497,-0.20424349510856032,-0.19669108471622643,-0.1902223846508324,-0.1846106429182761,-0.17968131737951865,-0.17531486299499477,-0.17141402689391683,-0.1678908256212388,-0.16470431414264297,-0.16006961737860692,-0.15916795932465888},
{-1.1891302047826464,-0.6526838498671861,-0.4495027141102259,-0.35952351262228177,-0.3085573009888787,-0.2710462012150163,-0.25516668121573716,-0.23766767422475255,-0.22409506414659397,-0.21319863528919392,-0.20421476194135657,-0.19666445075086258,-0.19019749249334872,-0.18458722076763046,-0.17965915467643256,-0.17529379116066224,-0.17139390972942792,-0.1678715535006461,-0.16468579330304678,-0.16005243962931814,-0.15915081998748093},
{-1.1888694715698724,-0.6524814360375046,-0.44938230813097846,-0.3594406947339728,-0.30849424398057934,-0.2709964287381492,-0.2551221678355766,-0.2376289029782228,-0.22406052641391483,-0.21316735158479005,-0.20418605739816087,-0.1966378441479577,-0.1901726266521262,-0.18456382405358696,-0.1796370166209087,-0.17527274331175846,-0.17137381595017942,-0.16785230423334951,-0.1646672948384058,-0.16003528418709223,-0.15913370154478912},
{-1.1886084749572712,-0.65227909514042,-0.4492619762271861,-0.35935793459833576,-0.3084312345720033,-0.27094670739858273,-0.2550776922554743,-0.23759016616208406,-0.22402602077945488,-0.2131360980058652,-0.20415738150464335,-0.196611264931855,-0.1901477871521262,-0.18454045280324038,-0.1796149032389458,-0.17525171947367468,-0.17135374558393934,-0.16783307784604773,-0.1646488187765769,-0.1600181510710854,-0.1591166040281884},
{-1.1883472157876787,-0.6520768272844588,-0.44914171840143347,-0.3592752322202415,-0.3083682727745387,-0.2708970377445361,-0.25503325449257375,-0.23755146379343373,-0.22399154726575787,-0.21310487457604488,-0.20412873428657896,-0.19658471312788883,-0.19012297401955358,-0.1845171070427405,-0.17959281455777898,-0.17523071967326587,-0.17133369865699777,-0.16781387436682138,-0.1646303651450225,-0.1600010402987877,-0.15909952747076517},
{-1.1880856949022363,-0.6518746325769129,-0.44902153465586814,-0.35919258760461936,-0.30830535859846364,-0.2708474204151461,-0.25498885456456755,-0.23751279588894825,-0.223957105895785,-0.21307368131980553,-0.20410011576874076,-0.19655818876128528,-0.1900981872784584,-0.18449378679843065,-0.1795707506036699,-0.17520974393652722,-0.17131367519674612,-0.16779469382030143,-0.16461193397020324,-0.15998395188874426,-0.1590824719042061},
{-1.1878239131398782,-0.6516725111254154,-0.44890142499277097,-0.35911000075591026,-0.30824249205600474,-0.27079785615080176,-0.25494449248959583,-0.23747416246587605,-0.22392269669263776,-0.2130425182615756,-0.20407152597898204,-0.1965316918581177,-0.19007342695597274,-0.18447049209710897,-0.17954871140440432,-0.17518879229035988,-0.17129367523150307,-0.1677755362360216,-0.16459352528112348,-0.15996688586137964,-0.15906543736165446},
{-1.18756187133887,-0.651470463037457,-0.44878138941492374,-0.3590274716797577,-0.3081796731584081,-0.270748345799678,-0.25490016828528184,-0.23743556354181727,-0.22388831967927736,-0.21301138542549758,-0.20404296494239205,-0.19650522244447366,-0.19004869307791594,-0.18444722296543148,-0.1795266969868905,-0.1751678647620487,-0.1712736987882657,-0.16775640164025774,-0.16457513910443922,-0.15994984223454267,-0.1590484238759089},
{-1.1872995703348792,-0.6512684884197029,-0.44866142792490926,-0.35894500038094534,-0.30811690191838714,-0.2706988903238816,-0.25485588196943887,-0.23739699913427437,-0.22385397487914993,-0.2129802828359697,-0.20401443268595898,-0.1964787805460908,-0.19002398566971124,-0.1844239794304201,-0.17950470737871527,-0.17514696137744679,-0.17125374589437925,-0.16773729006114735,-0.16455677546877467,-0.15993282102831685,-0.15903143147930265},
{-1.1870370109625341,-0.6510665873791925,-0.4485415405260049,-0.3588625868652926,-0.3080541783473336,-0.2706494908061092,-0.254811633560621,-0.2373584692613413,-0.22381966231556127,-0.2129492105180404,-0.2039859292350492,-0.1964523661889359,-0.1899993047583095,-0.1844007615189085,-0.1794827426077994,-0.17512608216463477,-0.1712338165779741,-0.1677182015258758,-0.1645384344027434,-0.1599158222623842,-0.15901446020359344},
{-1.1867741940546521,-0.6508647600224702,-0.4484217272206372,-0.35878023113833457,-0.3079915024566855,-0.2706001484544096,-0.2547674230768262,-0.2373199739407461,-0.2237853820114868,-0.21291816849638678,-0.203957454616841,-0.19642597939963835,-0.18997465036899897,-0.1843775692575207,-0.17946080270171194,-0.17510522715003063,-0.17121391086717352,-0.16769913606233544,-0.16452011593299787,-0.15989884595601467,-0.15899751008152307},
{-1.1865111204423178,-0.6506630064555967,-0.4483019880124086,-0.3586979332057503,-0.3079288742595683,-0.270550864609044,-0.2547232505371628,-0.23728151319124713,-0.22375113399090196,-0.212887156795734,-0.20392900885806853,-0.1963996202046978,-0.18995002252915683,-0.18435440267338166,-0.17943888768921568,-0.17508439636156936,-0.1711940287894187,-0.1676800936988272,-0.16450182008901137,-0.15988189213035042,-0.15898058114584046},
{-1.186247790955111,-0.650461326784999,-0.44818232290418614,-0.3586156930735669,-0.30786629376845376,-0.2705016407467582,-0.25467911595969284,-0.23724308703165953,-0.2237169182768266,-0.21285617544075386,-0.20390059198515686,-0.19637328863100478,-0.18992542126530765,-0.1843312617937123,-0.17941699759768426,-0.17506358982636527,-0.17117417037337646,-0.16766107446232326,-0.16448354689869404,-0.15986496080418888,-0.1589636734283033},
{-1.1859842064208452,-0.6502597211160559,-0.4480627318996202,-0.35853351074797324,-0.3078037609963218,-0.2704524784848452,-0.2546350193639686,-0.23720469548043965,-0.2236827348936128,-0.21282522445735452,-0.20387220402517414,-0.19634698470513712,-0.1899008466035319,-0.1843081466454386,-0.17939513245577032,-0.1750428075722823,-0.17115433564753602,-0.16764207838234313,-0.1644652963912563,-0.15984805199909147,-0.15894678696110986},
{-1.1857203676657075,-0.650058189554338,-0.44794321500221557,-0.35845138623478334,-0.3077412759557596,-0.2704033795835734,-0.25459096076816756,-0.2371663385570919,-0.22364858386435138,-0.21279430387064657,-0.20384384500450992,-0.19632070845436544,-0.18987629857182142,-0.1842850572561332,-0.17937329229286547,-0.17502204962729806,-0.1711345246396263,-0.16762310548704917,-0.16444706859531877,-0.15983116573521272,-0.1589299217768918},
{-1.1854562755145226,-0.6498567322055067,-0.4478237722156191,-0.35836931954166573,-0.3076788386592142,-0.27035434594909624,-0.25454694019209256,-0.23712801628103897,-0.22361446521338024,-0.2127634137055221,-0.20381551495115602,-0.19629445990572236,-0.18985177719680735,-0.1842619936534433,-0.17935147713689048,-0.1750013160193724,-0.1711147373790638,-0.16760415580479915,-0.16442886354011677,-0.15981430203375524,-0.15891307790700893},
{-1.1851919307902152,-0.6496553491742532,-0.44770440354401586,-0.3582873106740614,-0.3076164491209088,-0.2703053796359356,-0.2545029576549762,-0.23708972867159694,-0.22358037896434624,-0.2127325539881273,-0.20378721389165122,-0.19626823908695812,-0.18982728250549386,-0.18423895586430916,-0.17932968701714103,-0.1749806067769164,-0.171094973893279,-0.1675852293648319,-0.16441068125402225,-0.15979746091599978,-0.15889625538415686},
{-1.1849273343142048,-0.6494540405655531,-0.44758510899073123,-0.35820535963915034,-0.30755410735384814,-0.270256482847854,-0.25445901317658404,-0.23705147574918328,-0.223546325141335,-0.2127017247437184,-0.20375894185362142,-0.19624204602524742,-0.18980281452598646,-0.1842159439163389,-0.1793079219631828,-0.17495992192826648,-0.17107523421216086,-0.1675663261952991,-0.16439252176671104,-0.15978064240248813,-0.15887945424033845},
{-1.1846624869061966,-0.6492528064839895,-0.4474658885603038,-0.3581234664442281,-0.30749181337180076,-0.2702076579377053,-0.2544151067758005,-0.2370132575338868,-0.2235123037686524,-0.2126709259981876,-0.20373069886409567,-0.1962158807490404,-0.18977837328523606,-0.18419295783740353,-0.17928618200298985,-0.174939261501585,-0.1710555183643585,-0.16754744632594054,-0.1643743851076387,-0.15976384651476394,-0.15886267450674652},
{-1.1843973893845412,-0.6490516470340015,-0.44734674225690263,-0.35804163109574283,-0.30742956718837,-0.2701589074079713,-0.2543712384728991,-0.23697507404610896,-0.22347831487019576,-0.21264015777740397,-0.20370248495071053,-0.19618974328528793,-0.1897539588116004,-0.18416999765531727,-0.17926446716725408,-0.1749186255268178,-0.17103582637805914,-0.16752858978578544,-0.16435627130680075,-0.15974707327426074,-0.15884591621606958},
{-1.184132042565781,-0.6488505623197636,-0.4472276700851392,-0.3579598536020647,-0.3073673688175713,-0.2701102339072605,-0.25432740828824585,-0.23693692530665267,-0.22344435847079325,-0.21260942010739114,-0.20367430014158927,-0.19616363366244016,-0.18972957113256683,-0.18414706339766695,-0.17924277748506157,-0.17489801403202065,-0.171016158284079,-0.16750975660430356,-0.1643381803931767,-0.15973032270375498,-0.15882917939999075},
{-1.1838664472646778,-0.6486495524451303,-0.44710867204915594,-0.35787813396973434,-0.3073052182736191,-0.27006164023119617,-0.25428361624185136,-0.2368988113364381,-0.22341043459394427,-0.2125787130150485,-0.20364614446373253,-0.19613755190875182,-0.18970521027683418,-0.18412415509286362,-0.1792211129861414,-0.17487742704603093,-0.17099651410999073,-0.1674909468112773,-0.1643201123971565,-0.1597135948247903,-0.15881246409020733},
{-1.1836006042948775,-0.6484486175136297,-0.44698974815379167,-0.3577964722071787,-0.3072431155706923,-0.27001312931797905,-0.25423986235340656,-0.23686073215694847,-0.22337654326486778,-0.2125480365253054,-0.2036180179451499,-0.19611149805282935,-0.18968087627245822,-0.18410127276889554,-0.17919947370049982,-0.17485686459944105,-0.17097689388605275,-0.16747216043559732,-0.16430206734845143,-0.15969688965844497,-0.15879577031938297},
{-1.1833345144681333,-0.6482477576289067,-0.4468708984039189,-0.35771486832164534,-0.30718106072360385,-0.26996470424698416,-0.25419614664398615,-0.2368226877893651,-0.22334268450801176,-0.2125173906659441,-0.20358992061427372,-0.1960854721226042,-0.18965656914789975,-0.18407841645407075,-0.17917785965746447,-0.17483632672066207,-0.17095729764208656,-0.16745339750804789,-0.16428404527769302,-0.15968020722846177,-0.15877909811948143},
{-1.183068178594648,-0.6480469728942335,-0.4467521228044422,-0.3576333223215791,-0.3071190537470674,-0.2699163682325292,-0.2541524691336772,-0.23678467825614824,-0.2233088583481848,-0.21248677546281414,-0.20356185249848835,-0.19605947414761005,-0.18963228893245088,-0.1840555861764166,-0.17915627088706287,-0.17481581344005193,-0.17093772540672703,-0.16743465805811297,-0.16426604621520724,-0.15966354755627066,-0.15876244752231017},
{-1.1828015974829738,-0.6478462634125641,-0.4466334213606764,-0.35755183421529146,-0.3070570946556277,-0.2698681246198298,-0.2541088298437142,-0.23674670357883443,-0.22327506480981363,-0.21245619094291968,-0.20353381362633272,-0.19603350415603416,-0.18960803565440543,-0.1840327819651577,-0.17913470741992654,-0.17479532478715853,-0.1709181772108579,-0.16741594211670474,-0.1642480701914053,-0.1596469106653977,-0.1587458185606465},
{-1.1825347719402641,-0.6476456292866999,-0.44651479407780137,-0.3574704040104084,-0.30699518346447974,-0.26981997688096904,-0.2540652287949339,-0.2367087637797809,-0.22324130391814379,-0.21242563713332174,-0.20350580402608998,-0.19600756217691995,-0.1895838093429738,-0.18401000384829302,-0.17911316928580234,-0.17477486079167903,-0.17089865308328456,-0.1673972497130798,-0.164230117236432,-0.15963029657836358,-0.158729211266337},
{-1.1822677027718926,-0.6474450706192911,-0.4463962409610467,-0.3573890317165258,-0.3069333201891187,-0.26977192860882226,-0.2540216660087413,-0.23667085888191508,-0.22320757569783467,-0.21239511406056621,-0.2034778237258834,-0.1959816482395702,-0.18955961002808053,-0.1839872518546528,-0.179091656515471,-0.17475442148510822,-0.17087915305447154,-0.1673785808783954,-0.16421218738190646,-0.15961370531780972,-0.15871262567273092},
{-1.182000390781873,-0.6472445875128212,-0.446277762016134,-0.35730771734171185,-0.306871504845061,-0.2697239835108096,-0.25397814150579734,-0.23663298890806672,-0.22317388017423667,-0.2123646217523465,-0.20344987275419868,-0.19595576237357193,-0.1895354377384173,-0.1839645260136642,-0.17907016913868645,-0.1747340068961094,-0.17085967715540562,-0.16735993564282836,-0.1641942806585064,-0.15959713690765298,-0.15869606181271934},
{-1.1817328367725368,-0.6470441800695141,-0.44615935724890576,-0.3572264608948945,-0.3068097374479368,-0.2696761454026113,-0.25393465530752124,-0.23659515388114194,-0.22314021737243195,-0.21233416023532925,-0.20342195113962802,-0.1959299046076275,-0.18951129250527643,-0.18394182635409706,-0.1790487071858884,-0.17471361705624844,-0.1708402254147181,-0.16734131403800845,-0.16417639709730736,-0.15958059137106062,-0.1586795197187918},
{-1.1814650415443735,-0.6468438483904517,-0.44604102666436773,-0.3571452623850977,-0.30674801801225726,-0.26962841819871564,-0.25389120743533056,-0.23655735382429555,-0.22310658731710475,-0.21230372953708354,-0.2033940589103338,-0.19590407497161522,-0.1894871743568345,-0.1839191529053501,-0.17902727068794988,-0.17469325199611774,-0.1708207978642875,-0.16732271609351557,-0.16415853672980774,-0.15956406873143436,-0.1586629994248625},
{-1.1811970058969967,-0.6466435925786413,-0.4459227702698705,-0.3570641218221393,-0.3066863465560825,-0.2695808059099907,-0.2538477979118614,-0.23651958876177304,-0.223072990034769,-0.21227332968609858,-0.203366196096205,-0.19587827349573672,-0.18946308332448325,-0.18389650569648808,-0.17900585967583993,-0.1746729117461321,-0.17080139453387488,-0.16730414184176112,-0.1641406995872714,-0.15954756901336253,-0.15864650096482436},
{-1.1809287306280316,-0.6464434127353211,-0.44580458807104506,-0.35698303921536656,-0.30662472309451516,-0.2695333126320776,-0.25380442675838566,-0.23648185871752503,-0.22303942555038958,-0.2122429607091405,-0.20333836272544303,-0.19585250020940848,-0.18943901943828223,-0.18387388475767352,-0.1789844741796145,-0.17465259633788932,-0.17078201545466243,-0.16728559131287568,-0.16412288570127487,-0.15953109224014383,-0.15863002437274076},
{-1.1806602165333677,-0.6462433089614787,-0.4456864800739613,-0.35690201457403425,-0.306563147644324,-0.2694859425383278,-0.2537610939967916,-0.23644416371530852,-0.22300589388944303,-0.21221262263494722,-0.20331055882716953,-0.19582675514284986,-0.18941498272899793,-0.18385129011823764,-0.1789631142303989,-0.1746323058020991,-0.17076266065742018,-0.1672670645390575,-0.16410509510368243,-0.1595146384373365,-0.15861356968324714},
{-1.180391464407677,-0.6460432813586987,-0.4455684462854581,-0.35682104790824987,-0.3065016202221784,-0.26943869987404945,-0.2537177996493707,-0.23640650377965855,-0.22297239507805244,-0.21218231549099187,-0.2032827844302716,-0.19580103832621631,-0.18939097322807186,-0.18382872180823995,-0.1789417798589561,-0.17461204017057952,-0.17074333017293242,-0.16724856155176937,-0.16408732782684154,-0.15949820762847366,-0.15859713693155442},
{-1.1801224750440822,-0.6458433300277342,-0.4454504867118789,-0.35674013922786507,-0.306440140843911,-0.2693915889426144,-0.2536745437383363,-0.2363688789351741,-0.2229389291415096,-0.2121520393058134,-0.2032550395643824,-0.1957753497895709,-0.18936699096553866,-0.18380617985755876,-0.1789204710960739,-0.1745917994743138,-0.17072402403266906,-0.16723008238204073,-0.16406958390238202,-0.15948179983922017,-0.15858072615278473},
{-1.1798532492339744,-0.6456434550692869,-0.44533260136016395,-0.35665928854304063,-0.30637870952725876,-0.26934461410380806,-0.2536313262865235,-0.23633128920698,-0.2229054961062893,-0.2121217941074498,-0.20322732425838907,-0.19574968956408867,-0.18934303597350421,-0.18378366429693216,-0.17889918797319027,-0.1745715837451698,-0.17070474226793664,-0.16721162706287274,-0.16405186336263,-0.15946541509537226,-0.15856433738318643},
{-1.179583787767199,-0.6454436565841206,-0.4452147902370793,-0.35657849586428014,-0.3063173262895198,-0.2692977797613718,-0.2535881473160373,-0.23629373462046388,-0.2228720959979995,-0.2120915799241203,-0.20319963854181466,-0.1957240576793886,-0.18931910828320753,-0.18376117515612123,-0.1788779305207484,-0.1745513930149798,-0.1706854849100381,-0.16719319562463397,-0.1640341662396061,-0.1594490534212447,-0.1585479706592423},
{-1.1793140914322908,-0.6452439346723153,-0.44509705334989746,-0.3564977612020339,-0.3062559911476388,-0.2692510903551,-0.2535450068499543,-0.2362562152002745,-0.22283872884327494,-0.21206139678529823,-0.2031719824445375,-0.1956984541666138,-0.18929520792647025,-0.18373871246590667,-0.17885669877058774,-0.17453122731491533,-0.17066625199139196,-0.16717478810074127,-0.16401649256647843,-0.15943271484391985,-0.1585316260178189},
{-1.17904416101607,-0.6450442894346082,-0.4449793907057664,-0.35641708456654086,-0.30619470411957117,-0.2692045503532867,-0.25350190491082003,-0.23621873097266288,-0.22280539466810012,-0.2120312447198458,-0.2031443559957289,-0.19567287905640995,-0.1892713349353592,-0.18371627625798226,-0.17883549275394373,-0.1745110866779882,-0.170647043542413,-0.16715640452341773,-0.16399884237584672,-0.1594163993895812,-0.15851530349582887},
{-1.178773997303951,-0.6448447209704931,-0.4448618023122286,-0.35633646596985713,-0.30613346522185836,-0.26915816424191874,-0.25345884152233644,-0.23618128196385513,-0.22277209349913818,-0.21200112375586144,-0.20311675922559758,-0.19564733238008714,-0.18924748934227154,-0.18369386656251763,-0.1788143125018422,-0.1744909711359206,-0.17062785959643634,-0.16713804492487938,-0.16398121570060908,-0.1594001070849984,-0.1584990031311193},
{-1.1785036010798144,-0.6446452293799787,-0.44474428817675893,-0.35625590542190366,-0.30607227447368324,-0.2691119365193515,-0.2534158167072764,-0.2361438681994521,-0.22273882536257972,-0.21197103392323058,-0.20308919216401122,-0.19562181416858948,-0.18922367117892946,-0.1836714834110147,-0.17879315804633933,-0.1744708807209676,-0.1706087001851344,-0.16711970933793907,-0.16396361257379155,-0.15938383795753097,-0.1584827249623011},
{-1.1782329731259233,-0.6444458147629692,-0.44462684830709875,-0.35617540293453764,-0.3060111318925074,-0.2690658716848926,-0.25337283048905945,-0.23610648970621995,-0.22270559028585524,-0.21194097525071953,-0.20306165484088368,-0.1955963244530885,-0.18919988047854375,-0.18364912683530576,-0.17877202941881976,-0.1744508154658888,-0.17058956534065572,-0.1671013977953848,-0.16394603302804356,-0.15936759203397344,-0.15846646902669903},
{-1.1779621142230905,-0.6442464772186511,-0.44450948271111557,-0.35609495851911177,-0.30595003749702165,-0.26901997423304636,-0.2533298828909558,-0.2360691465107223,-0.22267238829553193,-0.21191094776858677,-0.20303414728676827,-0.19557086326520334,-0.18917611727332684,-0.1836267968665659,-0.17875092665111225,-0.17443077540293572,-0.17057045509626434,-0.1670831103301964,-0.16392847709722247,-0.1593513693427262,-0.1584502353636097},
{-1.177691025150545,-0.6440472168463351,-0.4443921913968403,-0.3560145721869805,-0.3058889913053289,-0.2689742486446498,-0.25328697393678823,-0.23603183863980703,-0.22263921941824094,-0.21188095150576558,-0.20300666953118807,-0.19554543063599894,-0.1891523815965357,-0.18360449353707864,-0.1787298497751273,-0.17441076056539373,-0.17055136948366467,-0.16706484697592572,-0.16391094481558355,-0.1593351699121044,-0.15843402401158713},
{-1.1774197066862637,-0.6438480337452077,-0.44427497437273367,-0.35593424395055884,-0.3058279933361092,-0.26892869937638864,-0.2532441036505304,-0.23599456612116754,-0.22260608368187462,-0.21185098649225154,-0.20297922160568405,-0.19552002659709444,-0.18912867348116436,-0.18358221687921983,-0.17870879882320878,-0.17439077098571687,-0.17053230853715107,-0.16704660776521862,-0.16389343621569097,-0.15931899377087433,-0.15841783500994566},
{-1.1771481596064621,-0.6436489280144411,-0.444157831646951,-0.35585397382152983,-0.3057670436081228,-0.26888333085705085,-0.25320127205672804,-0.23595732898175115,-0.22257298111307833,-0.211821052758296,-0.20295180354058928,-0.1954946511807556,-0.18910499296031702,-0.18355996692512377,-0.17868777382739864,-0.17437080669634852,-0.1705132722885523,-0.16702839273263237,-0.16387595133182487,-0.1593028409482713,-0.1584016683972429},
{-1.1768763846858947,-0.643449899752456,-0.4440407632280916,-0.3557737618118164,-0.3057061421405507,-0.2688381474771795,-0.2531584791783388,-0.23592012724925482,-0.22253991173965204,-0.2117911503333687,-0.20292441536601302,-0.19546930441842392,-0.18908134006722577,-0.1835377437072161,-0.17866677482052395,-0.17435086773161856,-0.17049426077088015,-0.16701020191054283,-0.1638584901975726,-0.15928671147266726,-0.15838552421326213},
{-1.1766043826979207,-0.6432509490579861,-0.44392376912495735,-0.3556936079343114,-0.30564528895277476,-0.26879315358352507,-0.2531157250401712,-0.23588296095162775,-0.22250687558950233,-0.21176127924908883,-0.2028970571138231,-0.19544398634271332,-0.1890577148355881,-0.18351554725898112,-0.17864580183486822,-0.17433095412432564,-0.17047527401911466,-0.1669920353338945,-0.16384105284795325,-0.15927060537541138,-0.15836940249707965},
{-1.176332154414399,-0.6430520760296332,-0.44380684934624526,-0.35561351220115966,-0.3055844840643065,-0.26874835347149073,-0.2530730096661955,-0.23584583011734495,-0.22247387269019114,-0.21173143953424045,-0.20286972881439524,-0.19541869698495873,-0.18903411729887765,-0.18349337761289775,-0.1786248549027718,-0.17431106590758816,-0.17045631206547895,-0.1669738930361646,-0.16382363931657906,-0.15925452268537654,-0.15835330328897257},
{-1.1760597006054851,-0.6428532807655483,-0.44369000390114266,-0.35553347462563956,-0.30552372749421686,-0.2687037513755808,-0.25303033308179934,-0.23580873477451192,-0.2224409030699377,-0.21170163122096852,-0.2028424304993841,-0.19539343637786288,-0.18901054749110457,-0.18347123480327454,-0.17860393405776165,-0.1742912031151178,-0.17043737494469724,-0.16695577505252146,-0.16380624963819912,-0.1592384634340398,-0.15833722662759087},
{-1.1757870220402813,-0.6426545633638234,-0.4435732327989452,-0.3554534952199262,-0.3054630192624437,-0.26865935146741116,-0.25298769531114473,-0.23577167495160012,-0.22240796675696117,-0.21167185433938585,-0.20281516219998608,-0.19536820455392956,-0.1889870054450853,-0.18344911886267568,-0.17858303933271813,-0.17427136578045577,-0.17041846268905658,-0.166937681415682,-0.16378888384702606,-0.1592224276517733,-0.1583211725526894},
{-1.1755141194859222,-0.6424559239224763,-0.44345653604887225,-0.3553735739978805,-0.30540235938912375,-0.26861515784642265,-0.25294509637944884,-0.2357346506775322,-0.22237506377917526,-0.21164210892045787,-0.20278792394804057,-0.19534300154537831,-0.18896349119614086,-0.18342702982519654,-0.1785621707612144,-0.17425155393764769,-0.17039957533364714,-0.16691961216154638,-0.1637715419782424,-0.1592064153697592,-0.15830514110431437},
{-1.175240993708477,-0.6422573625393273,-0.4433399136603189,-0.3552937109726422,-0.3053417478948077,-0.2685711745346815,-0.25290253631168014,-0.23569766198156827,-0.2223421941656909,-0.21161239499634021,-0.2027607157749891,-0.19531782738559045,-0.18894000477729733,-0.18340496772530912,-0.17854132837656422,-0.1742317676203342,-0.17038071291364076,-0.16690156732427042,-0.16375422406662565,-0.15919042661954919,-0.15828913232138575},
{-1.1749676454724671,-0.6420588793121311,-0.44322336564358267,-0.35521390615749304,-0.3052811847996697,-0.2685274054723621,-0.25286001513269696,-0.2356607088929188,-0.22230935794506124,-0.21158271259740147,-0.2027335377126782,-0.195292682106615,-0.1889165462237976,-0.18338293259700578,-0.17852051221245446,-0.1742120068629589,-0.17036187546157677,-0.16688354693920004,-0.1637369301469782,-0.15917446143306435,-0.15827314624396394},
{-1.174694075540745,-0.6418604743386052,-0.4431068920086716,-0.35513415956704897,-0.3052206701242941,-0.26848385450982803,-0.2528175328687894,-0.23562379144121692,-0.22227655514656774,-0.21155306175601396,-0.20270638979357614,-0.1952675657421139,-0.1888931155693463,-0.18336092447545127,-0.17849972230316524,-0.1741922716995319,-0.17034306301374968,-0.1668655510408179,-0.16371966025512918,-0.15915851984238216,-0.15825718291129576},
{-1.1744202846745662,-0.6416621477152447,-0.44299049276465574,-0.3550544712138528,-0.3051602038887751,-0.2684405254031148,-0.25277508954422956,-0.2355869096555061,-0.2222437857987245,-0.2115234425036654,-0.20267927204926295,-0.19524247832474373,-0.1888697128475556,-0.18333894339445678,-0.17847895868226615,-0.17417256216370447,-0.1703242756036154,-0.16684757966464403,-0.16370241442533384,-0.159142601880081,-0.15824124236265646},
{-1.174146273634313,-0.6414638995399553,-0.44287416792229095,-0.3549748411124849,-0.305099786114301,-0.2683974218120575,-0.2527326851855207,-0.23555006356633967,-0.22221104993095864,-0.21149385487203531,-0.20265218451257638,-0.19521741988750563,-0.18884633809379991,-0.18331698938927232,-0.1784582213843393,-0.17415287829100734,-0.1703055132662321,-0.16682963284542396,-0.16368519269365578,-0.1591267075771512,-0.1582253246372467},
{-1.1738720431783918,-0.6412657299094437,-0.44275791749208615,-0.3548952692776659,-0.3050394168227175,-0.2683545472933311,-0.2526903198181394,-0.23551325320328687,-0.22217834757337585,-0.21146429889380514,-0.2026251272162476,-0.19519239046472592,-0.18882299134218172,-0.18329506249548544,-0.1784375104442084,-0.17413322011543997,-0.17028677603768827,-0.16681171062012723,-0.16366799509598806,-0.15911083696830275,-0.15820942977483554},
{-1.1735975940640255,-0.6410676389208341,-0.4426417414844348,-0.3548157557234237,-0.30497909603492346,-0.2683119052967484,-0.2526479934683117,-0.2354764785970005,-0.22214567875581537,-0.21143477460126547,-0.2025981001923789,-0.19516739008941997,-0.18879967262841646,-0.18327316274785588,-0.17841682589565266,-0.17411358767167684,-0.17026806395171334,-0.16679381302363083,-0.16365082166786493,-0.15909499008543193,-0.15819355781395217},
{-1.173322927046808,-0.6408696266707388,-0.44252563991027216,-0.35473630046476856,-0.3049188237720113,-0.2682694991605956,-0.2526057061621998,-0.23543973977796284,-0.2221130435069938,-0.21140528202721143,-0.20257110347468554,-0.19514241879529237,-0.18877638198583924,-0.1832512901828487,-0.17839616777476408,-0.17409398099467666,-0.17024937704524845,-0.16677594009147967,-0.16363367244495564,-0.1590791669610745,-0.15817770879365867},
{-1.173048042881078,-0.6406716932559622,-0.4424096127804269,-0.35465690351661117,-0.30485860005632226,-0.26822733210932626,-0.2525634579265663,-0.23540303677681607,-0.22208044185855513,-0.2113758212049106,-0.2025441370954617,-0.1951174766165451,-0.18875311945035733,-0.1832294448360159,-0.17837553611608925,-0.17407440011989905,-0.170230715352659,-0.1667580918611158,-0.16361654746346943,-0.15906336762996887,-0.1581618827533866},
{-1.1727729423195736,-0.6404738387728255,-0.44229366010622506,-0.3545775648936704,-0.3047984249095652,-0.26818540725048834,-0.25252124878723947,-0.23536636962473168,-0.22204787383993363,-0.2113463921656198,-0.2025172010881704,-0.19509256358657723,-0.18872988505614785,-0.18320762674218827,-0.1783549309549599,-0.1740548450817876,-0.17021207890990908,-0.16674026836657063,-0.16359944675895122,-0.1590475921234642,-0.15814607973056027},
{-1.1724976261137687,-0.6402760633179074,-0.442177781898641,-0.35449828461160493,-0.3047382983540121,-0.2681437275708731,-0.25247907877176345,-0.2353297383522417,-0.22201533948221552,-0.21131699494488743,-0.20249029548688213,-0.19506767974037587,-0.18870667883832937,-0.18318583593856985,-0.17833435232674333,-0.17403531591602217,-0.17019346775310495,-0.16672246964637694,-0.16358237036835632,-0.15903184047704144,-0.15813029976517612},
{-1.1722220950133373,-0.6400783669871668,-0.4420619781690913,-0.35441906268537515,-0.3046782204123719,-0.26810229593493773,-0.25243694790610505,-0.23529314299086934,-0.2219828388160785,-0.211287629574894,-0.20246342032401188,-0.1950428251116243,-0.18868350083287666,-0.1831640724611212,-0.17831380026761323,-0.1740158126580127,-0.17017488191848784,-0.1667046957366196,-0.16356531832816756,-0.15901611272259686,-0.15811454289532634},
{-1.1719463497671647,-0.6398807498769283,-0.4419462489296997,-0.3543398991315989,-0.3046181911055328,-0.2680611150804637,-0.2523948562179825,-0.2352565835721947,-0.2219503718726692,-0.21125829608945068,-0.20243657563427675,-0.1950179997348016,-0.18866035107422974,-0.18314233634662713,-0.17829327481281965,-0.1739963353436096,-0.17015632144239135,-0.16668694667324502,-0.1635482906745267,-0.15900040889457756,-0.15809880915882957},
{-1.171670391122003,-0.6396832120827955,-0.4418305941920071,-0.3542607939652118,-0.3045582104578308,-0.2680201876187205,-0.2523528037352172,-0.23522006012776586,-0.22191793868291398,-0.2112289945228234,-0.20240976145157674,-0.19499320364571204,-0.18863722959777363,-0.18312062763121517,-0.1782727759989342,-0.1739768840082867,-0.17013778636064103,-0.1666692224946118,-0.1635312874445134,-0.15898472902683025,-0.15808309859511027},
{-1.1713942198236875,-0.639485753700793,-0.4417150139677215,-0.3541817472031372,-0.30449827849141897,-0.26797951603186476,-0.25231079048463556,-0.23518357268946488,-0.22188553927853505,-0.21119972490861372,-0.20238297780926828,-0.19496843687750243,-0.18861413643901415,-0.18309894635191526,-0.1782523038625321,-0.1739574586882533,-0.17011927671020288,-0.16665152323619026,-0.1635143086741877,-0.15896907315232056,-0.1580674112413334},
{-1.1711178366162933,-0.6392883748267906,-0.44159950826945504,-0.3541027588608916,-0.3044383952300098,-0.267939102670514,-0.25226881649345145,-0.23514712128930526,-0.22185317369134339,-0.2111704872816702,-0.20235622474292825,-0.19494369946653833,-0.18859107163300237,-0.18307729254528127,-0.17823185843896994,-0.17393805941946283,-0.1701007925281104,-0.1666338489364385,-0.1634973544006506,-0.15895344130545652,-0.1580517471361773},
{-1.1708412422429042,-0.6390910755559425,-0.44148407710922655,-0.3540238289551585,-0.30437856069627145,-0.267898949755768,-0.25222688179056263,-0.23511070595888128,-0.22182084195229024,-0.21114128167596036,-0.20232950228541569,-0.1949189914467695,-0.1885680352162602,-0.18305566624793101,-0.17821143976563292,-0.1739186862382951,-0.1700823338509423,-0.16661619963266716,-0.16348042466167456,-0.15893783352012747,-0.15803610631812504},
{-1.1705644374447424,-0.6388938559842199,-0.44136872049987375,-0.3539449575032254,-0.30431877491384896,-0.26785905937229515,-0.25218498640336406,-0.23507432673186557,-0.22178854409488835,-0.21111210812704329,-0.2023028104729505,-0.19489431285434122,-0.1885450272240341,-0.18303406749798867,-0.17819104787965045,-0.173899339181407,-0.17006390071671618,-0.1665985753623005,-0.16346351949342974,-0.15892224983065972,-0.15802048882530073},
{-1.1702874229618185,-0.6386967162065886,-0.44125343845382403,-0.35386614452117193,-0.30425903790628794,-0.26781943347290493,-0.25214313036115854,-0.23503798363978845,-0.22175628015028437,-0.2110829666695615,-0.20227614933960325,-0.19486966372448933,-0.1885220476912508,-0.18301249633209693,-0.17817068281717496,-0.17388001828489408,-0.1700454931618829,-0.16658097616365808,-0.16344663893397993,-0.1589066902707259,-0.15800489469524592},
{-1.1700101995327614,-0.6384996563183627,-0.4411382309840164,-0.3537873900267581,-0.3041993496977362,-0.2677800738763416,-0.2521013136910426,-0.2350016767156511,-0.22172405015092522,-0.21105385733809356,-0.20224951892035392,-0.19484504409248515,-0.18849909665461695,-0.18299095278680255,-0.17815034461602508,-0.17386072358640448,-0.17002711122408698,-0.16656340207334352,-0.16342978302040123,-0.1588911548734373,-0.15798932396664966},
{-1.1697327678948497,-0.638302676414586,-0.44102309810343776,-0.35370869403705285,-0.3041397103124375,-0.26774098226622556,-0.25205953642266365,-0.23496540599242977,-0.2216918541307713,-0.2110247801696481,-0.20222291925128744,-0.19482045399476178,-0.18847617415071127,-0.1829694369007946,-0.17813003331368193,-0.17384145512304627,-0.17000875494145262,-0.16654585313091275,-0.163412951789784,-0.15887564367463014,-0.1579737766778564},
{-1.1694551287838166,-0.6381057765903719,-0.4409080398255085,-0.35363005656915547,-0.30408011977429794,-0.26770216019242454,-0.2520177985842551,-0.23492917150307235,-0.22165969212146663,-0.21099573519825654,-0.20219635036638905,-0.19479589346703108,-0.1884532802145813,-0.18294794871017928,-0.17810974894617715,-0.1738222129307232,-0.16999042435162082,-0.16652832937431583,-0.16339614528054014,-0.15886015670737308,-0.15795825286750542},
{-1.1691772829340188,-0.6379089569403646,-0.440793056163546,-0.35355147764177985,-0.30402057810785976,-0.2676636090689293,-0.2519761002056349,-0.23489297328108805,-0.22162756415674423,-0.21096672246068238,-0.20216981230253595,-0.19477136254510086,-0.18843041488330314,-0.18292648825397606,-0.178089491552889,-0.17380299704900537,-0.16997211949305324,-0.16651083084206064,-0.1633793635302645,-0.1588446940062802,-0.15794275257366053},
{-1.1688992310785853,-0.6377122175594074,-0.44067814713123,-0.35347295727187955,-0.30396108533760113,-0.26762533017605605,-0.25193444131584997,-0.23485681135977998,-0.22159547026952708,-0.21093774199287552,-0.20214330509559986,-0.19474686126537577,-0.18840757819218013,-0.18290505556855052,-0.1780692611703074,-0.17378380751331335,-0.16995384040344064,-0.1664933575722607,-0.16336260657615043,-0.15882925560559258,-0.15792727583496458},
{-1.168620973949162,-0.6375155585422654,-0.44056331274232186,-0.3533944954782591,-0.3039016414891016,-0.2675873246617755,-0.25189282194499896,-0.23482068577301973,-0.22156341049342387,-0.21090879383052652,-0.20211682878049686,-0.19472238966475786,-0.18838477017894562,-0.18288365069194157,-0.1780490578372529,-0.17376464436343397,-0.16993558712118784,-0.1664759096038857,-0.16334587445656013,-0.15881384153888334,-0.15791182269073545},
{-1.1683425122758724,-0.6373189799832328,-0.4404485530107749,-0.3533160922790817,-0.3038422465869708,-0.26754959353885255,-0.25185124212207555,-0.23478459655421702,-0.22153138486272184,-0.2108798780118839,-0.20209038339456598,-0.19469794777952742,-0.1883619908797023,-0.18286227366267838,-0.1780288815917892,-0.17374550763591756,-0.1699173596862842,-0.16645848697603682,-0.16332916721027857,-0.15879845184218055,-0.15789639317931403},
{-1.1680638467878968,-0.6371224819771903,-0.44033386795083196,-0.3532377476926687,-0.30378290065682023,-0.2675121376910319,-0.25180970187703267,-0.23474854373785448,-0.22149939341073477,-0.21085099457193834,-0.2020639689735546,-0.1946735356463769,-0.18833924033103244,-0.18284092451765233,-0.17800873247158577,-0.17372639736952422,-0.1698991581358804,-0.1664410897279467,-0.1633124848751777,-0.15878308654821893,-0.1578809873398832},
{-1.1677849782125236,-0.6369260646180397,-0.44021925757663993,-0.353159461738473,-0.3037236037230713,-0.26747495786780107,-0.25176820124086063,-0.2347125273572921,-0.22146743617150122,-0.2108221435486044,-0.20203758555420492,-0.19464915330284072,-0.18831651856990206,-0.18281960329557734,-0.17798861051554837,-0.17370731360259128,-0.16988098251010797,-0.16642371789828658,-0.16329582748924665,-0.15876774569222363,-0.15786560521178572},
{-1.1675059072757286,-0.6367297279999455,-0.44010472190275784,-0.35308123443485684,-0.30366435581253626,-0.26743805469004656,-0.2517267402437966,-0.23467654744763422,-0.2214355131801682,-0.21079332497907544,-0.20201123317377778,-0.1946248007858813,-0.18829382563366437,-0.18279831003429692,-0.1779685157622488,-0.173688256373417,-0.1698628328481675,-0.1664063715272306,-0.163279195091512,-0.158752429309299,-0.15785024683364313},
{-1.1672266347028053,-0.6365334722173852,-0.43999026094375004,-0.35300306580149154,-0.3036051569509546,-0.26740142865140726,-0.2516853189164969,-0.2346406040431006,-0.22140362447028394,-0.21076453890069757,-0.20198491186923206,-0.1946004781327808,-0.18827116155899049,-0.18277704477189616,-0.1779484482503051,-0.17366922572134413,-0.16984470918866634,-0.16638905065340737,-0.16326258772002333,-0.15873713743251727,-0.1578349122448408},
{-1.1669471612165445,-0.636337297363962,-0.43987587471487544,-0.3529249558575529,-0.3035460071640621,-0.26736508011656923,-0.25164393728971746,-0.23460469717831955,-0.22137177007743247,-0.2107357853514138,-0.20195862167809864,-0.19457618538094223,-0.18824852638420708,-0.18275580754699305,-0.17792840801902088,-0.17365022168513988,-0.16982661157164358,-0.16637175531678494,-0.16324600541414824,-0.15872187009826177,-0.15781960148582996},
{-1.166667487539307,-0.6361412035337661,-0.4397615632307996,-0.3528469046227105,-0.303486906478863,-0.2673290093271561,-0.2516025953949459,-0.23456882688859793,-0.22133995003594364,-0.2107070643690605,-0.20193236263736836,-0.19455192256917186,-0.18822592014618778,-0.1827345983977935,-0.17790839510637468,-0.173631244303305,-0.16980854003724133,-0.16635448555803833,-0.16322944821314067,-0.1587066273403508,-0.15780431459506872},
{-1.1663876143918586,-0.6359451908207578,-0.439647326507016,-0.35276891211697503,-0.30342785492060287,-0.26729321639854575,-0.251561293263201,-0.23453299320811638,-0.22130816438144052,-0.21067837599184358,-0.2019061347848634,-0.1945276897341266,-0.1882033428828045,-0.18271341736287994,-0.17788840955245888,-0.1736122936157365,-0.16979049462492313,-0.16633724141620476,-0.16321291615516387,-0.15869140919337354,-0.15778905161161916},
{-1.1661075424932879,-0.6357492593186098,-0.43953316455871594,-0.3526909783606218,-0.30336885251687207,-0.26725770132553706,-0.2515200309268302,-0.23449719617255127,-0.22127641314917312,-0.2106497202578339,-0.20187993815904193,-0.19450348691540142,-0.1881807946318439,-0.18269226448072473,-0.17786845139630714,-0.17359336966203998,-0.1697724753754244,-0.16632002293233228,-0.16319640928025692,-0.15867621569424983,-0.1577738125765329},
{-1.1658272725620282,-0.6355534091208419,-0.4394190774019844,-0.35261310337369167,-0.3033098992946073,-0.26722246398324145,-0.2514788084172963,-0.23446143581745105,-0.22124469637442346,-0.2106210972056104,-0.20185377279725714,-0.1944793141503247,-0.18815827543151187,-0.1826711397901306,-0.17784852067696377,-0.17357447248155822,-0.16975448232814472,-0.16630283014516678,-0.16317992762675715,-0.15866104687485816,-0.1577585975284599},
{-1.1655468053142748,-0.6353576403209491,-0.4393050650522756,-0.35253528717684546,-0.30325099528088373,-0.26718750412876346,-0.2514376257666342,-0.2344257121774973,-0.22121301409374539,-0.21059250687474673,-0.20182763873915732,-0.1944551714779621,-0.1881357853199752,-0.18265004333033374,-0.17782861743507894,-0.17355560211396792,-0.16973651552462954,-0.1662856630959233,-0.16316347123487063,-0.15864590277328716,-0.15774340650863294},
{-1.1652661414655423,-0.6351619530127213,-0.43919112752530687,-0.35245752979029277,-0.30319214050309995,-0.2671528214037586,-0.25139648300726947,-0.23439002528950326,-0.2211813663420621,-0.21056394930369748,-0.20180153602208506,-0.19443105893718382,-0.18811332433553218,-0.18262897513973186,-0.1778087417090859,-0.17353675859956397,-0.1697185750046195,-0.16626852182540475,-0.1631470401437447,-0.15863078342306025,-0.15772823955582282},
{-1.1649852817297788,-0.6349663472892182,-0.43907726483779363,-0.35237983123656846,-0.3031333349881642,-0.2671184153350836,-0.25135538017219616,-0.2343543751888113,-0.22114975315646745,-0.21053542453165264,-0.2017754646856389,-0.19440697656705197,-0.18809089251741185,-0.18260793525853813,-0.17778889353908056,-0.17351794197850623,-0.16970066081045942,-0.1662514063742151,-0.16313063439330833,-0.15861568886010602,-0.15771309671114153},
{-1.164704226819616,-0.6347708232436311,-0.4389634770059132,-0.35230219153532616,-0.30307457876456567,-0.2670842853401467,-0.2513143172946535,-0.23431876191169465,-0.22111817457296112,-0.21050693259864062,-0.20174942476869973,-0.19438292440764116,-0.18806848990404035,-0.18258692372589636,-0.17776907296600086,-0.17349915229151947,-0.16968277298159506,-0.16623431678279132,-0.16311425402452073,-0.158600619120552,-0.1576979780148271},
{-1.164422977446348,-0.6345753809692578,-0.4388497640461111,-0.3522246107088556,-0.30301587185983436,-0.2670504307262078,-0.2512732944069427,-0.23428318549411742,-0.22108663062802947,-0.21047847354387983,-0.20172341631059254,-0.1943589024974841,-0.18804611653422754,-0.18256594058093967,-0.17774928002929613,-0.17348038957875644,-0.1696649115601332,-0.16621725309201096,-0.1630978990748524,-0.1585855742385931,-0.15768288350699677},
{-1.1641415343199117,-0.6343800205591297,-0.43873612597518097,-0.3521470887785618,-0.3029572143025945,-0.26701685069408754,-0.25123231154288206,-0.23424764597295678,-0.2210551213590506,-0.21045004740794226,-0.20169743935130668,-0.19433491087722388,-0.18802377244774604,-0.18254498586356505,-0.177729514769549,-0.17346165388120127,-0.16964707658780043,-0.16620021534345852,-0.1630815695865948,-0.15857055425097855,-0.1576678132284286},
{-1.1638598981489814,-0.6341847421064379,-0.4386225628098792,-0.3520696257662408,-0.30289860612124286,-0.2669835443424766,-0.25119136873625436,-0.23421214338465646,-0.22102364680209519,-0.2104216542301991,-0.2016714939294033,-0.19431094958622097,-0.18800145768434362,-0.18252405961406026,-0.1777097772269869,-0.17344294523961068,-0.1696292681058864,-0.16618320357781968,-0.16306526559944956,-0.15855555919380393,-0.1576527672215633},
{-1.1635780696410016,-0.6339895457040186,-0.4385090745678344,-0.3519922216945979,-0.3028400473438886,-0.26695051066575104,-0.2511504660211834,-0.234176677765781,-0.22099220699553257,-0.21039329405185114,-0.20164558008615785,-0.19428701866550213,-0.18797917228338434,-0.18250316187245375,-0.17769006744204674,-0.1734242636955834,-0.1696114861564162,-0.16616621783612828,-0.1630489871536014,-0.15854058910348456,-0.15763774552625875},
{-1.163296049501831,-0.6337944314444925,-0.43839566126571583,-0.35191487658523357,-0.3027815379991914,-0.26691774856106676,-0.2511096034320204,-0.23414124915407086,-0.2209608019756324,-0.21036496691310447,-0.20161969786119371,-0.19426311815535158,-0.18795691628476163,-0.18248229267975447,-0.17767038545544978,-0.173405609289901,-0.16959373078129403,-0.16614925816066872,-0.16303273428968978,-0.15852564401614444,-0.15762274818444766},
{-1.163013838436246,-0.6335993994209606,-0.43828232292143454,-0.3518375904612405,-0.30272307811685906,-0.2668852568288642,-0.2510687810028962,-0.23410585758560032,-0.2209294317802879,-0.21033667285432145,-0.20159384729439012,-0.19423924809671078,-0.1879346897288663,-0.18246145207509912,-0.1776507313085567,-0.17338698206453884,-0.1695760020227226,-0.16613232459190996,-0.16301650704794568,-0.15851072396695898,-0.15760777523765768},
{-1.162731437147599,-0.633404449725969,-0.4381690595525427,-0.3517603633452495,-0.302664667725999,-0.2668530341756856,-0.2510279987686239,-0.23407050309949184,-0.22089809644829117,-0.21030841191775096,-0.20156802842825172,-0.1942154085309049,-0.18791249265695953,-0.18244064010112027,-0.17763110504303725,-0.1733683820616747,-0.16955829992360805,-0.16611541717301748,-0.16300030547045452,-0.1584958289951146,-0.15759282672954456},
{-1.1624488463380924,-0.6332095824520536,-0.43805587117702594,-0.35168319526072267,-0.30260630685604895,-0.2668210792179728,-0.2509872567639704,-0.23403518573234194,-0.22086679601628134,-0.21028018414329352,-0.20154224130097376,-0.19419159949901044,-0.18789032510849069,-0.18241985679697237,-0.17761150669795,-0.1733498093218948,-0.16954062452592567,-0.16609853594459523,-0.16298412959689657,-0.1584809591359182,-0.15757790270107463},
{-1.1621660667084264,-0.6330147976918461,-0.43794275781270287,-0.35160608623047196,-0.30254799553651424,-0.2667893904821632,-0.25094655502509156,-0.23399990552174543,-0.2208355305233205,-0.21025198957430646,-0.20151648595576432,-0.19416782104287833,-0.18786818712590758,-0.18239910220554378,-0.17759193631686543,-0.17333126388887976,-0.16952297587334897,-0.1660816809490946,-0.16296797946941055,-0.15846611442680825,-0.1575630031949622},
{-1.1618830989580449,-0.6328200955376353,-0.43782971947821636,-0.3515290362783894,-0.30248973379688593,-0.26675796640953564,-0.2509058935870563,-0.23396466250675374,-0.2208043000071953,-0.21022382825039898,-0.20149076243268382,-0.19414407320430627,-0.18784607874952286,-0.18237837636699794,-0.17757239393971247,-0.1733127458033401,-0.1695053540073559,-0.1660648522282706,-0.1629518551285365,-0.15845129490618604,-0.157548128254291},
{-1.161599943785129,-0.6326254760819872,-0.4377167561918238,-0.35145204542807207,-0.302431521667895,-0.26672680535953575,-0.2508652724862728,-0.23392945672506826,-0.22077310450704957,-0.2101957002147472,-0.20146507077383546,-0.19412035602584865,-0.18782400002191224,-0.18235767932405622,-0.1775528796088821,-0.1732942551095107,-0.16948775897206403,-0.16604804982449295,-0.16293575661587312,-0.15843650061068004,-0.15753327792345573},
{-1.1613166018868348,-0.632430939416949,-0.43760386797220363,-0.35137511370369623,-0.3023733591801516,-0.26669590560877054,-0.25082469175851685,-0.23389428821530345,-0.2207419440614906,-0.21016760550969948,-0.20143941102087126,-0.19409666955004212,-0.1878019509842126,-0.18233701111829603,-0.1775333933667298,-0.17327579184957642,-0.16947019081125703,-0.1660312737804368,-0.16291968397353074,-0.15842173157905748,-0.15751845224513517},
{-1.161033073958599,-0.6322364856352021,-0.43749105483836104,-0.35129824112926045,-0.3023152463641203,-0.26666526535927204,-0.2507841514397313,-0.23385915701672744,-0.22071081870959475,-0.2101395441772098,-0.2014137832152194,-0.19407301381875186,-0.1877799316786124,-0.18231637179155769,-0.17751393525491466,-0.17325735606595316,-0.16945264956726902,-0.16601452413844697,-0.1629036372428061,-0.1584069878494958,-0.15750365126397625},
{-1.1607493606944228,-0.6320421148282218,-0.4373783168090384,-0.35122142772969767,-0.30225718324955864,-0.2666348827359144,-0.25074365156784495,-0.23382406316776994,-0.22067972849095696,-0.21011151626064972,-0.2013881873995622,-0.19404938887683798,-0.1877579421487745,-0.1822957613870635,-0.17749450531556832,-0.17323894780297877,-0.16943513528491394,-0.1659978009409535,-0.1628876164659907,-0.15839226946075513,-0.15748887502436304},
{-1.160465462787796,-0.6318478270886256,-0.43726565390370276,-0.35114467352928,-0.3021991698684303,-0.26660475579085485,-0.250703192179067,-0.23378900670755698,-0.22064867344397854,-0.21008352180172807,-0.20136262361593182,-0.19402579476587078,-0.18773598243602763,-0.18227517994617415,-0.17747510359128071,-0.17322056710211342,-0.16941764800707304,-0.16598110423057122,-0.16287162168455893,-0.15837757645090988,-0.15747412357051616},
{-1.1601813809304673,-0.6316536225084164,-0.43715306614159033,-0.3510679785530506,-0.30214120625138463,-0.2665748825088663,-0.25066277331085374,-0.2337539876755308,-0.2206176536088904,-0.21005556084394783,-0.2013370919065025,-0.194002231529538,-0.18771405258342355,-0.18225462751231447,-0.17745573012414084,-0.173202214009045,-0.1694001877777609,-0.16596443404997885,-0.1628556529402445,-0.15836290885915716,-0.1574593969471394},
{-1.1598971158127611,-0.6314595011792097,-0.4370405535429267,-0.35099134282664224,-0.30208329243076903,-0.2665452608057777,-0.25062239500083905,-0.23371900611192586,-0.22058666902604784,-0.21002763343109265,-0.20131159231481277,-0.19397869921206734,-0.18769215263558792,-0.18223410412895547,-0.17743638495824143,-0.17318388856651978,-0.1693827546417026,-0.16594779044222818,-0.16283971027669253,-0.15834826672634605,-0.15744469520007343},
{-1.1596126681239962,-0.6312654631930794,-0.43692811612701554,-0.35091476637501984,-0.3020254284376982,-0.2665158885352099,-0.25058205728685223,-0.23368406205588244,-0.22055571973482913,-0.20999973960674012,-0.20128612488270647,-0.1939551978577576,-0.18767028263475538,-0.18221360983892865,-0.17741706813539082,-0.17316559081841376,-0.16936534864291275,-0.16593117345198394,-0.1628237937362904,-0.15833365009034495,-0.1574300183749493},
{-1.1593280385520135,-0.6310715086418082,-0.43681575391410377,-0.35083824922433493,-0.3019676143032619,-0.2664867634870376,-0.25054176020686114,-0.23364915554793342,-0.22052480577591638,-0.2099718794145744,-0.20126068965383936,-0.193931727509856,-0.18764844262569724,-0.18219314468554515,-0.17739777969942594,-0.17314732080928152,-0.16934796982622302,-0.1659145831198252,-0.16280790336028517,-0.1583190589923369,-0.15741536651691845},
{-1.159043227783581,-0.6308776376170702,-0.4367034669243193,-0.3507617914001848,-0.3019098500605253,-0.2664578833925937,-0.2505015038002405,-0.23361428662825645,-0.22049392719013383,-0.20994405289825835,-0.2012352866719489,-0.19390828821409656,-0.18762663265223978,-0.1821727087128835,-0.17737851969376095,-0.17312907858377713,-0.1693306182359784,-0.1658980194918378,-0.16279203919404495,-0.15830449347255993,-0.15740073967243262},
{-1.1587582365042692,-0.630683850210616,-0.4365912551785023,-0.35068539292911893,-0.30185213574175407,-0.26642924592851003,-0.2504612881043613,-0.23357945533743418,-0.22046308401777281,-0.20991626010215825,-0.2012099159794971,-0.19388488001366966,-0.1876048527581169,-0.1821523019641873,-0.17735928816182067,-0.17311086418588673,-0.169313293916467,-0.16588148260979096,-0.16277620127842596,-0.15828995357007258,-0.15738613788717615},
{-1.1584730653981197,-0.6304901465140524,-0.4364791186968855,-0.35060905383725327,-0.3017944713796794,-0.26640084871483793,-0.2504211131593195,-0.23354466171617716,-0.220432276300496,-0.2098885010711129,-0.20118457762165676,-0.1938615029542703,-0.1875831029894357,-0.1821319244841284,-0.1773400851483551,-0.1730926776612165,-0.16929599691399133,-0.16586497251793375,-0.1627603896577341,-0.15827543932758203,-0.15737156120924212},
{-1.1581877151478963,-0.6302965266188689,-0.43636705750048144,-0.35053277415119766,-0.3017368570070076,-0.26637268932316616,-0.25038097900313616,-0.2335099058054837,-0.22040150407855208,-0.20986077584966978,-0.2011592716404813,-0.19383815708039265,-0.1875613833894434,-0.1821115763167036,-0.17732091069607137,-0.1730745190540972,-0.16927872727236348,-0.1658484892605827,-0.16274460437533733,-0.1582609507851025,-0.15735700968379618},
{-1.1579021864355532,-0.6301029906165496,-0.4362550716105744,-0.3504565538985638,-0.30167929265573434,-0.2663447652742761,-0.2503408856766356,-0.23347518764644448,-0.2203707673948223,-0.20983308448182925,-0.20113399808110444,-0.1938148424375754,-0.18753969400463788,-0.18209125750670552,-0.17730176485011384,-0.17305638841036952,-0.16926148503805294,-0.16583203288119108,-0.16272884547453614,-0.15824648798433927,-0.15734248335829548},
{-1.1576164799413995,-0.6299095385985467,-0.43614316104830486,-0.35038039310588687,-0.301621778360456,-0.2663170740424903,-0.2503008332195904,-0.23344050728110943,-0.22034006629017,-0.20980542701422777,-0.20110875698794217,-0.19379155907182266,-0.18751803487927177,-0.18207096809918966,-0.17728264765500157,-0.17303828577477276,-0.16924427025490374,-0.16581560342382318,-0.16271311300011249,-0.1582320509670332,-0.15732798228071943},
{-1.1573305963445701,-0.6297161706560228,-0.4360313258353923,-0.35030429180076794,-0.3015643141540423,-0.26628961306031584,-0.25026082167129715,-0.23340586475018554,-0.22030940080691508,-0.20977780349045005,-0.2010835484045792,-0.19376830702674752,-0.1874964060593456,-0.18205070813765545,-0.17726355915554848,-0.17302021119387945,-0.16922708296991118,-0.16579920093330358,-0.16269740699477708,-0.15821763977360703,-0.15731350649737763},
{-1.157044536322923,-0.6295228868803342,-0.435919565993089,-0.3502282500110425,-0.30150690007055303,-0.2662623797157444,-0.2502208510723598,-0.2333712600960851,-0.22027877098791748,-0.20975021395702953,-0.2010583723766075,-0.19374508634954424,-0.18747480759092383,-0.1820304776684516,-0.177244499396366,-0.1730021647132105,-0.16920992322818762,-0.16578282545305,-0.162681727503454,-0.158203254447141,-0.1572990560560612},
{-1.1567583005534043,-0.6293296873629419,-0.435807881543834,-0.35015226776431163,-0.3014495361437284,-0.26623537136103437,-0.250180921463496,-0.23333669336091845,-0.22024817687479725,-0.20972265845929172,-0.2010332289478427,-0.1937218970856378,-0.18745323951966242,-0.18201027673637427,-0.17722546842304965,-0.1729841463787949,-0.16919279107576557,-0.16576647702883207,-0.16266607457125914,-0.15818889503008293,-0.157284631006263},
{-1.156471889711355,-0.6291365721949376,-0.4356962725094107,-0.35007634508937,-0.3013922224079444,-0.26620858530882074,-0.25014103288568634,-0.23330216458685626,-0.22021761851129185,-0.20969513704324072,-0.20100811816396202,-0.19369873928062376,-0.18743170189155833,-0.1819901053870474,-0.17720646628064785,-0.17296615623672906,-0.16917568655842175,-0.1657501557042167,-0.16265044824154629,-0.15817456156512577,-0.1572702313935963},
{-1.1561853044711636,-0.6289435414673612,-0.43558473891242855,-0.35000048201426637,-0.30133495889682393,-0.2661820188383537,-0.2501011853807178,-0.2332676738168722,-0.22018709593973895,-0.20966764975484153,-0.20098304006991796,-0.193675612980865,-0.1874101947531308,-0.1819699636663792,-0.1771874930147348,-0.1729481943339799,-0.169158609722178,-0.16573386152507297,-0.16263484856026622,-0.15816025409417023,-0.15725585726859492},
{-1.1558985455055613,-0.6287505952711054,-0.4354732807751063,-0.3499246785675503,-0.3012777456457094,-0.266155669197051,-0.25006137898862946,-0.23323322109270705,-0.22015660920364866,-0.209640196639306,-0.2009579947103397,-0.19365251823185048,-0.18738871814992564,-0.18194985161933275,-0.17716854867065024,-0.17293026071667228,-0.1691415606131983,-0.16571759453544033,-0.16261927557158273,-0.15814597265985597,-0.15724150867755426},
{-1.1556116134866166,-0.6285577336972015,-0.4353618981203802,-0.3498489347784499,-0.30122058268964125,-0.266129533600882,-0.2500216137525051,-0.23319880645882662,-0.22012615834799476,-0.20961277774460285,-0.20093298213211241,-0.19362945508115814,-0.18736727213050486,-0.18192976929280036,-0.17714963329618527,-0.17291235543290284,-0.16912453927881543,-0.16570135478167813,-0.1626037293209528,-0.15813171730658837,-0.15722718567126392},
{-1.1553245090847852,-0.6283649568368439,-0.43525059097137486,-0.349773250675927,-0.30116347006362076,-0.2661036092402149,-0.24998188971280655,-0.23316442995732345,-0.22009574341474192,-0.20958539311576985,-0.20090800237900552,-0.19360642357429825,-0.18734585673969661,-0.1819097167323882,-0.17713074693457642,-0.17289447852878936,-0.16910754576507614,-0.16568514230725384,-0.16258820985460076,-0.15811748807637827,-0.1572128882977708},
{-1.155037232969402,-0.6281722647808383,-0.435139359351119,-0.34969762628988477,-0.3011064078027985,-0.2660778932779593,-0.2499422069135413,-0.23313009163173604,-0.2200653644497308,-0.20955804280096402,-0.20088305549825947,-0.19358342375799253,-0.18732447202558333,-0.1818896939847292,-0.1771118896351247,-0.17287663005217624,-0.16909058011770028,-0.16566895715985552,-0.16257271721761413,-0.15810328501344983,-0.15719861660547352},
{-1.1547497858087432,-0.6279796576198091,-0.43502820328328795,-0.34962206164950516,-0.30104939594231084,-0.2660523828527239,-0.24990256539569344,-0.23309579152630633,-0.22003502149633647,-0.2095307268453297,-0.2008581415353774,-0.19356045567839786,-0.18730311803379607,-0.181869701096268,-0.1770930614424735,-0.17285881004975678,-0.16907364238427647,-0.1656527993828547,-0.16255725145645172,-0.15808910816212673,-0.15718437064458257},
{-1.1544621682695464,-0.6277871354447448,-0.43491712279141836,-0.3495465567848264,-0.30099243451858726,-0.26602707508408585,-0.24986296520303242,-0.23306152968450888,-0.22000471459996973,-0.2095034452971163,-0.20083326053591932,-0.19353751938323782,-0.1872817948132841,-0.18184973811416683,-0.1770742624039201,-0.17284101857077516,-0.16905673261187104,-0.16563666902388618,-0.16254181261618683,-0.1580749575651872,-0.15717015046488214},
{-1.1541743810178406,-0.6275946983461953,-0.43480611789919976,-0.34947111172630585,-0.3009355235679507,-0.26600196706850454,-0.24982340637784262,-0.23302730615069223,-0.21997444380610887,-0.2094761982033546,-0.20080841254737436,-0.1935146149194047,-0.1872605024106626,-0.18182980508508706,-0.17705549256783115,-0.17282325566260326,-0.16903985084767115,-0.1656205661278065,-0.1625264007441274,-0.15806083326845055,-0.15715595611566613},
{-1.1538864247178608,-0.6274023464150389,-0.43469518863119916,-0.34939572650423756,-0.3008786631268201,-0.2659770558887935,-0.24978388896321135,-0.23299312096905567,-0.21994420915887147,-0.20944898561070957,-0.20078359761465236,-0.1934917423318936,-0.18723924087196053,-0.18180990205542713,-0.17703675197970625,-0.17280552137276572,-0.16902299713828128,-0.16560449074107453,-0.16251101588587602,-0.15804673531485847,-0.15714178764646292},
{-1.1535983000330514,-0.6272100797412747,-0.4345843350102072,-0.3493204011488018,-0.3008218532301079,-0.26595233860781065,-0.24974441300224015,-0.23295897418326206,-0.21991401070442862,-0.20942180756654594,-0.2007588157845639,-0.19346890166979946,-0.18721801024629414,-0.1817900290725376,-0.17701804068701676,-0.1727878157504108,-0.16900617153057595,-0.165588442909268,-0.16249565808860567,-0.1580326637501841,-0.1571276451075576},
{-1.1533100076255849,-0.6270178984164083,-0.43447355706272006,-0.34924513569249527,-0.3007650939162545,-0.2659278122774893,-0.24970497854050677,-0.23292486584012195,-0.21988384848940967,-0.20939466412011143,-0.20073406710515584,-0.19344609297975168,-0.1871968105804811,-0.18177018618436236,-0.17699935873862316,-0.17277013884382342,-0.1689893740731101,-0.1655724226799613,-0.16248032739989426,-0.1580186186193835,-0.15711352854963323},
{-1.1530215481566266,-0.6268258025304831,-0.43436285481289616,-0.34916993016520337,-0.300708385222098,-0.26590347393715064,-0.24966558562019614,-0.23289079598326623,-0.21985372255934976,-0.20936755531822726,-0.20070935162246428,-0.19342331630904397,-0.18717564192244396,-0.18175037343879907,-0.17698070618152784,-0.1727524907024609,-0.16897260481361442,-0.16555643009919407,-0.1624650238658205,-0.15800459996833638,-0.15709943802331594},
{-1.1527329222854146,-0.6266337921739105,-0.43425222828516397,-0.34909478459880816,-0.3006517271848921,-0.2658793206137595,-0.24962623428624298,-0.23285676465847516,-0.21982363296153906,-0.20934048120806992,-0.20068466938383978,-0.1934005717047924,-0.18715450432024383,-0.18173059088252685,-0.17696208306463745,-0.17273487137513754,-0.16895586379937555,-0.16554046521363475,-0.16244974753439578,-0.1579906078421871,-0.15708537357777885},
{-1.1524441306710784,-0.6264418674373537,-0.4341416775053446,-0.3490196990254546,-0.3005951198422707,-0.2658553493288558,-0.24958692458266185,-0.23282277191126965,-0.21979357974210956,-0.20931344183888,-0.20066002043576248,-0.19337785921492312,-0.18713339782099325,-0.18171083856432801,-0.17694348943569693,-0.17271728091089145,-0.16893915107832314,-0.16552452807104956,-0.1624344984541004,-0.15797664228742292,-0.1570713352654174},
{-1.1521551739707032,-0.6262500284109915,-0.4340312024984172,-0.3489446734767121,-0.3005385632311217,-0.26583155709455397,-0.24954765655405708,-0.23278881778663063,-0.219763562948188,-0.20928643725882523,-0.20063540482637876,-0.19335517888613296,-0.18711232247351006,-0.1816911165319972,-0.17692492534307647,-0.17269971935905204,-0.16892246669884514,-0.16550861871726852,-0.16241927666974476,-0.15796270334890394,-0.15705732313593757},
{-1.151866052840555,-0.6260582751850663,-0.43392080329014604,-0.34886970798504535,-0.3004820573898783,-0.2658079409174299,-0.2495084302457542,-0.23275490233148943,-0.2197335826271143,-0.20925946751593472,-0.2006108226029255,-0.1933325307675915,-0.18709127832539352,-0.18167142483360266,-0.17690639083624404,-0.17268218676942126,-0.16890581070872912,-0.1654927372008892,-0.1624040822339481,-0.15794879107244952,-0.15704333724055886},
{-1.1515767679357758,-0.6258666078500905,-0.4338104799061533,-0.3487948025824714,-0.30042560235697735,-0.26578449780238245,-0.24946924570197737,-0.2327210255911858,-0.21970363882639532,-0.2092325326586213,-0.20058627381291316,-0.1933099149049866,-0.18707026542447025,-0.18165176351726586,-0.17688788596300498,-0.17266468319136408,-0.1688891831557271,-0.16547688356862622,-0.16238891518970178,-0.15793490549942746,-0.15702937762995361},
{-1.1512873199100664,-0.6256750264960278,-0.4337002323730452,-0.3487199573025741,-0.3003691981711256,-0.26576122474956065,-0.24943010296871648,-0.23268718761227092,-0.219673731594348,-0.20920563273598702,-0.20056175850485047,-0.19328733134820908,-0.18704928382003772,-0.18163213263166966,-0.17686941077379004,-0.17264720867541428,-0.16887258408948824,-0.1654610578681428,-0.16237377558922006,-0.1579210466664378,-0.15701544435604475},
{-1.1509977094161297,-0.6254835312132947,-0.4335900607166572,-0.3486451721772177,-0.3003128448711294,-0.2657381187612202,-0.2493910020903023,-0.23265338844165484,-0.21964386097855382,-0.20917876779662947,-0.20053727672537036,-0.19326478014364668,-0.18702833355901305,-0.18161253222501017,-0.1768509653169943,-0.17262976327113932,-0.16885601355748747,-0.16544526014755334,-0.16235866347990324,-0.15790721459816126,-0.15700153746989542},
{-1.1507079371057287,-0.625292122091972,-0.43347996496372687,-0.34857044724140707,-0.30025654249491396,-0.2657151768387713,-0.24935194311368747,-0.23261962812577153,-0.21961402702793364,-0.20915193788957964,-0.20051282852406516,-0.19324226134063593,-0.1870074146915961,-0.18159296234753697,-0.176832549642981,-0.1726123470302383,-0.16883947160993884,-0.16542949045555133,-0.1623435789103418,-0.157893409306066,-0.15698765702171258},
{-1.1504180036290634,-0.6251007992221975,-0.4333699451411164,-0.3484957825271344,-0.3002002910829731,-0.265692395984761,-0.2493129260844107,-0.2325859067120959,-0.21958422979133374,-0.20912514306427354,-0.2004884139486265,-0.19321977498695375,-0.18698652726558862,-0.18157342304739288,-0.17681416380154147,-0.17259496000119867,-0.16882295829390515,-0.1654137488398213,-0.16232852193050817,-0.15787963077884015,-0.15697380306437125},
{-1.1501279096353532,-0.6249095626937784,-0.433260001275638,-0.3484211780689854,-0.30014409067397096,-0.26566977320782925,-0.24927395104820604,-0.2325522242475344,-0.219554469316666,-0.20909838336968178,-0.200464033047961,-0.19319732113126875,-0.1869656713301211,-0.18155391437349877,-0.17679580784307802,-0.17257760223694518,-0.16880647365998058,-0.16539803534936226,-0.1623134925882468,-0.15786587898458038,-0.15695997564864328},
{-1.1498376557727497,-0.6247184125969998,-0.4331501333944914,-0.3483466339005936,-0.3000879413084654,-0.2656473055180193,-0.2492350180513334,-0.23251858077959398,-0.21952474565427238,-0.20907165885510182,-0.20043968587017602,-0.1931748998213081,-0.18694484693388347,-0.181534436375415,-0.17677748181726116,-0.17256027378650884,-0.168790017756006,-0.1653823500323952,-0.16229849093374682,-0.15785215387866458,-0.15694617482559536},
{-1.149547242688067,-0.6245273490217365,-0.4330403415253805,-0.34827215005659085,-0.3000318430258915,-0.2656249899357519,-0.24919612714027295,-0.2324849763565986,-0.21949505885320875,-0.2090449695702965,-0.2004153724649349,-0.1931525111066854,-0.18692405412670254,-0.1815149891032135,-0.17675918577572602,-0.17254297470240942,-0.1687735906330694,-0.16536669293833484,-0.16228351701828814,-0.15783845542498298,-0.15693240064891611},
{-1.1492566710271674,-0.6243363720581137,-0.4329306256958567,-0.34819772657169423,-0.29997579586650147,-0.2656028234853878,-0.24915727836177481,-0.23245141102565725,-0.219465408962769,-0.2090183155654941,-0.20039109288087076,-0.19313015503567854,-0.186903292958025,-0.18149557260600702,-0.1767409197682568,-0.1725257050350706,-0.16875719233880915,-0.16535106411643596,-0.16226857088846813,-0.1578247836352915,-0.15691865316754416},
{-1.1489659414344509,-0.6241454817959262,-0.4328209859338621,-0.34812336348030115,-0.299919799870743,-0.2655808031999882,-0.24911847176348445,-0.23241788483583292,-0.21943579603318852,-0.2089916968897505,-0.20036684716746578,-0.1931078316576169,-0.18688256347708432,-0.18147618693483736,-0.176722683846684,-0.1725084648362234,-0.16874082292424575,-0.16533546361623763,-0.162253652597947,-0.1578111386364256,-0.15690493243616288},
{-1.1486750545537046,-0.6239546783250667,-0.43271142226732806,-0.34804906081800624,-0.2998638550795256,-0.26555892612477194,-0.24907970739098317,-0.2323843978346396,-0.21940622011381095,-0.20896511359313052,-0.2003426353730795,-0.19308554102100572,-0.18686186573239283,-0.18145683213813513,-0.17670447806133893,-0.1724912541568422,-0.16872448243835692,-0.16531989148695558,-0.1622387621942103,-0.1577975207595621,-0.1568912385044925},
{-1.1483840110271384,-0.6237639617351896,-0.4326019347250778,-0.3479748186194662,-0.2998079615343556,-0.2655371893129086,-0.24904098529318475,-0.23235095007153816,-0.21937668125692866,-0.2089385657266014,-0.20031845754991906,-0.19306328317620824,-0.18684119977655556,-0.18143750826767047,-0.17668630246537376,-0.1724740730501395,-0.1687081709313354,-0.16530434777983416,-0.1622238997291845,-0.15778393065945906,-0.15687757142565673},
{-1.1480928114959852,-0.6235733321163277,-0.4324925233350214,-0.34790063692111417,-0.29975211927561674,-0.26551558983191015,-0.24900230551526903,-0.23231754159513684,-0.2193471795107449,-0.20891205333927587,-0.2002943137448696,-0.19304105817174388,-0.18682056565768335,-0.18141821537282965,-0.17666815710958517,-0.172456921566301,-0.16869188845353733,-0.16528883254241578,-0.16220906525333234,-0.15777036944749767,-0.15686393125210785},
{-1.1478014566000994,-0.6233827895578496,-0.43238318812674237,-0.34782651575841683,-0.29969632834523097,-0.2654941247609415,-0.24896366810666137,-0.2322841724542286,-0.21931771492809204,-0.20888557648299866,-0.20027020400932471,-0.19301886605751406,-0.1867999634272195,-0.18139895350491386,-0.176650042045857,-0.17243979975806667,-0.16867563505455507,-0.16527334582765008,-0.1621942588174612,-0.15775683884183422,-0.15685031803544192},
{-1.1475099469786567,-0.6231923341499979,-0.43227392912889684,-0.3477524551671749,-0.2996405887846514,-0.26547279119176537,-0.24892507311508538,-0.23225084269838092,-0.2192882875579727,-0.20885913520687893,-0.20024612839374356,-0.1929967068833207,-0.18677939313527858,-0.1813797227151035,-0.17663195732661308,-0.17242270767745893,-0.16865941078518532,-0.1652578876844899,-0.1621794804729575,-0.15774334131054246,-0.15683673182751434},
{-1.1472182832695133,-0.6230019659821693,-0.4321647463710363,-0.3476784551844361,-0.29958490063657806,-0.2654515862343274,-0.24888652058806926,-0.23221755237749875,-0.21925889745331872,-0.20883272956250565,-0.20022208694787835,-0.1929745806995129,-0.1867588548329806,-0.18136052305459316,-0.17661390300422042,-0.1724056453776548,-0.1686432156960116,-0.16524245816429683,-0.16216473027062506,-0.1577298802151681,-0.15682317268258572},
{-1.146926466109269,-0.622811685144276,-0.4320556398827442,-0.34760451584635277,-0.29952926394310353,-0.2654305070104961,-0.24884801057404005,-0.23218430154122416,-0.21922954466505473,-0.2088063596013967,-0.20019807972290593,-0.1929524875567168,-0.18673834857210636,-0.1813413545746414,-0.17659587913253105,-0.1723886129106269,-0.16862704983823207,-0.16522705731876286,-0.16215000826261416,-0.15771645992359495,-0.15680964065174763},
{-1.1466344961335082,-0.622621491726008,-0.4319466096933162,-0.34753063719007216,-0.29947367874638786,-0.2654095506625289,-0.24880954312026304,-0.23215109023984226,-0.2192002292437607,-0.20878002537297746,-0.20017410676859626,-0.19293042750328127,-0.18671787440289833,-0.18132221732601295,-0.17657788576353894,-0.17237161032844028,-0.1686109132614675,-0.16521168519786045,-0.16213531449992757,-0.15770308589432602,-0.15679613578777563},
{-1.1463423739767418,-0.6224313858168067,-0.4318376558338599,-0.34745681925347327,-0.29941814508994113,-0.2653887143487559,-0.24877111827773746,-0.2321179185238833,-0.21917095124328156,-0.20875372693126693,-0.20015016813746556,-0.19290840059321823,-0.18669743237953185,-0.18130311136308563,-0.17655992295090428,-0.17235463768609094,-0.16859480601921462,-0.1651963418552711,-0.162120649035856,-0.15768976473209761,-0.1567826581443974},
{-1.14605010027217,-0.6222413675059801,-0.43172877833330503,-0.34738306207252023,-0.2993626630156392,-0.26536799524275523,-0.24873273609309265,-0.23208478644290054,-0.21914171071338018,-0.20872746432463174,-0.20012626387899957,-0.19288640687441472,-0.18667702255048368,-0.1812840367353168,-0.17654199074735288,-0.17233769503322804,-0.16857872815973352,-0.16518102733951423,-0.1621060119205353,-0.15767650419287804,-0.15676920777255532},
{-1.1457576756523213,-0.6220514368833037,-0.4316199772227485,-0.3473093656855184,-0.2993072325673296,-0.26534739054291734,-0.24869439661575043,-0.23205169404844028,-0.21911250770723,-0.20870123760597892,-0.20010239404592411,-0.19286444639902456,-0.1866566449691902,-0.1812649934960504,-0.17652408920664442,-0.17232078242500037,-0.16856267973562566,-0.1651657417048753,-0.16209140320687965,-0.1576633131628391,-0.15675578472488993},
{-1.145465100747952,-0.6218615940383838,-0.431511252532939,-0.34723573013051023,-0.29925185378920816,-0.26532689746224136,-0.24865609989500825,-0.2320186413912424,-0.2190833422773366,-0.20867504682729532,-0.2000785586890821,-0.19284251921844842,-0.1866362996890807,-0.18124598169752204,-0.17650621838334501,-0.172303899914116,-0.16854666079855463,-0.16515048500224339,-0.1620768229475793,-0.1576502015917498,-0.15674238905494775},
{-1.1451723761894446,-0.6216718390607738,-0.43140260429500543,-0.3471621554458615,-0.2991965267247316,-0.26530651323855636,-0.24861784598003211,-0.23198562852295979,-0.21905421447598528,-0.2086488920401557,-0.20005475786031823,-0.19282062538438538,-0.1866159867615842,-0.18122700139293713,-0.1764883783316833,-0.1722870475542173,-0.1685306714004291,-0.16513525728512235,-0.1620622711953743,-0.1576371803960228,-0.15672902081564288},
{-1.14487950260561,-0.6214821720397179,-0.43129403253985643,-0.3470886416698491,-0.29914125141713654,-0.26528623512834315,-0.2485796349200733,-0.23195265549498245,-0.21902512435629617,-0.20862277329669965,-0.20003099161155902,-0.1927987649484315,-0.18659570624074817,-0.18120805263501794,-0.17647056910550418,-0.17227022539817582,-0.16851471159281672,-0.1651200586056376,-0.16204774800192823,-0.1576242613341705,-0.15671568005889114},
{-1.1445864806242554,-0.6212925930650854,-0.4311855372992852,-0.3470151888414037,-0.2990860279119545,-0.26526606041039,-0.24854146676629796,-0.23191972235919067,-0.2189960719706825,-0.20859669064993724,-0.20000725999585356,-0.19277693796361461,-0.18657545817941923,-0.18118913547826665,-0.17645279076010922,-0.17225343350103017,-0.16849878142806318,-0.1651048890163409,-0.16203325342296893,-0.1576114568644087,-0.15670236683898509},
{-1.1442933108723086,-0.6211031022258684,-0.4310771186047191,-0.34694179699897987,-0.29903085625311476,-0.26524598638672714,-0.24850334156676013,-0.23188682916750736,-0.21896705737256994,-0.20857064415145743,-0.1999835630643041,-0.19275514448117193,-0.18655524263061096,-0.18117024997440012,-0.17643504334886373,-0.17223667191490932,-0.16848288095846797,-0.1650897485710381,-0.16201878750864296,-0.15759877997927418,-0.15668908120763803},
{-1.1439999939752106,-0.6209136996116982,-0.43096877648837406,-0.3468684661825385,-0.2989757364860779,-0.2652260103809283,-0.2484652593725265,-0.23185397597201884,-0.21893808061538067,-0.20854463385443722,-0.19995990087152293,-0.1927333845548631,-0.1865350596487545,-0.18115139617794895,-0.17641732692939271,-0.17221994069458546,-0.168467010236391,-0.16507463732254735,-0.1620043503146782,-0.15758624404626076,-0.15667582321821527},
{-1.143706530557525,-0.6207243853120197,-0.4308605109820789,-0.3467951964309606,-0.2989206686558994,-0.26520612974261226,-0.24842722023270625,-0.23182116282539766,-0.21890914175209275,-0.20851865981132534,-0.19993627346837783,-0.1927116582365329,-0.1865149092868883,-0.18113257414289308,-0.17639964155537413,-0.17220323989378983,-0.16845116931465398,-0.1650595553242411,-0.16198994189319293,-0.1575738626257852,-0.15666259292394003},
{-1.1434129212431063,-0.6205351594162565,-0.4307523221187637,-0.3467219877848322,-0.29886565280714805,-0.26518634184435186,-0.2483892241990162,-0.2317883897803732,-0.218880240836949,-0.20849272207627223,-0.1999126809092111,-0.19268996558131946,-0.18649479160124116,-0.18111378392375244,-0.1763819872830723,-0.172186569568197,-0.16843535824657607,-0.16504450263121484,-0.16197556229817067,-0.15756164930891714,-0.15664939037883485},
{-1.1431191666539355,-0.6203460220134716,-0.4306442099308079,-0.3466488402834358,-0.29881068898646035,-0.2651666440821643,-0.24835127132170953,-0.23175565689041377,-0.21885137792372333,-0.2084668207016911,-0.1998891232470008,-0.19266830664189882,-0.1864747066442618,-0.18109502557511448,-0.1763643641677355,-0.17216992977011714,-0.16841957708381372,-0.16502947929561174,-0.16196121158483479,-0.1575496175482911,-0.1566362156359169},
{-1.1428252674116113,-0.6201569731933514,-0.4305361744511238,-0.34657575396737883,-0.2987557772391902,-0.26514703388026817,-0.24831336165118856,-0.23172296420779404,-0.21882255306585208,-0.2084409557410929,-0.19986560053529345,-0.1926466814719774,-0.18645465447137255,-0.18107629915134282,-0.17634677226631368,-0.1721533205554806,-0.1684038258815974,-0.16501448537389862,-0.16194688980648664,-0.15753778050623168,-0.1566230687487682},
{-1.142531224136265,-0.619968013045078,-0.43042821571307854,-0.34650272887732925,-0.2987009176122548,-0.26512750868413804,-0.24827549523862658,-0.23169031178686694,-0.21879376631886416,-0.2084151272483723,-0.19984211282854503,-0.19262509012642326,-0.18643463513767955,-0.18105760470716703,-0.17632921163471593,-0.17213674197822115,-0.16838810469273469,-0.16499952091858816,-0.161932597017298,-0.15752615091220434,-0.15660994977092102},
{-1.1422370374471296,-0.6197791416579399,-0.43032033374999656,-0.3464297650538306,-0.2986461101513953,-0.265108065970054,-0.2482376721343904,-0.23165769968093386,-0.21876501773590462,-0.20838933527723924,-0.19981866018002137,-0.1926035326600335,-0.1864146486990812,-0.18103894229809114,-0.17631168232979988,-0.17212019409333124,-0.16837241357121968,-0.16498458598510268,-0.16191833327363625,-0.15751474093346118,-0.1565968587577551},
{-1.141942707962544,-0.6195903591214744,-0.430212528595721,-0.34635686253844256,-0.29859135490358213,-0.2650887032375664,-0.24819989239079732,-0.23162512794383971,-0.2187363073718842,-0.2083635798827288,-0.19979524264549298,-0.19258200912766554,-0.1863946952102573,-0.18102031197960144,-0.1762941844077197,-0.1721036769564961,-0.1683567525701406,-0.16496968062932993,-0.16190409862801047,-0.1575035620643277,-0.15658379576180081},
{-1.1416482362992717,-0.6194016655247161,-0.4301048002840204,-0.3462840213721847,-0.29853665191565426,-0.26506941801315165,-0.24816215605960323,-0.23159259663021814,-0.2187076352815822,-0.20833786111779773,-0.19977186027806582,-0.19256051958462095,-0.18637477472707786,-0.18100171380779528,-0.1762767179265161,-0.17208719062228894,-0.16834112174504057,-0.16495480490479508,-0.16188989313729607,-0.15749262502496464,-0.1565707608400153},
{-1.1413536230734742,-0.6192130609570299,-0.42999714884900797,-0.346211241596432,-0.2984820012348486,-0.2650502078526138,-0.24812446319117498,-0.2315601057933776,-0.21867900151944042,-0.20831217903735322,-0.1997485131324659,-0.1925390640862581,-0.18635488730491545,-0.1809831478375763,-0.17625928294168958,-0.17207073514507698,-0.16832552114950872,-0.16493995886795432,-0.16187571685582114,-0.1574819396851126,-0.15655775404350436},
{-1.141058868900135,-0.619024545507866,-0.4298895743254043,-0.3461385232538916,-0.29842740290956016,-0.26503107033557427,-0.24808681383825615,-0.23152765548952203,-0.21865040614225606,-0.20828653369669325,-0.1997252012662578,-0.19251764269026594,-0.1863350330020701,-0.1809646141260579,-0.17624187951307135,-0.17205431058222587,-0.16830995083919476,-0.16492514257437918,-0.16186156983976474,-0.15747151499745016,-0.15654477543153433},
{-1.1407639743932805,-0.6188361192662342,-0.4297820767475713,-0.34606586638595616,-0.298372856986699,-0.2650120030734193,-0.24804920805167185,-0.2314952457726953,-0.21862184920340155,-0.20826092514971606,-0.19970192473237702,-0.1924962554511218,-0.1863152118722624,-0.18094611272803007,-0.1762245076965705,-0.17203791698752013,-0.16829441086809283,-0.16491035607946714,-0.16184745214491159,-0.15746135894668,-0.156531825056355},
{-1.1404689401653805,-0.6186477823214922,-0.42967465615060974,-0.3459932710357805,-0.29831836351491603,-0.26499300370322487,-0.24801164588536295,-0.2314628766984228,-0.21859333075947873,-0.2082353534530661,-0.19967868358843077,-0.19247490242711507,-0.18629542397391674,-0.1809276437020415,-0.17620716755105192,-0.17202155441776412,-0.1682789012919983,-0.1648955994399195,-0.16183336382604097,-0.1574514785177712,-0.15651890297398197},
{-1.1401737668285161,-0.6184595347629873,-0.4295673125697732,-0.3459207372451374,-0.2982639225414907,-0.2649740698892451,-0.2479741273902505,-0.23143054832163656,-0.21856485086502886,-0.20820981866016197,-0.19965547788883242,-0.19245358367358278,-0.18627566936255135,-0.18090920710375258,-0.17618985913327734,-0.17200522292760212,-0.16826342216557322,-0.16488087271085305,-0.1618193049397476,-0.15744187967113632,-0.15650600923984825},
{-1.139878454993438,-0.6182713766797221,-0.429460046040532,-0.34584826505763644,-0.29820953411597273,-0.2649551993281527,-0.24793665262003728,-0.23139826069853342,-0.2185364095771405,-0.20818432082826632,-0.19963230769125317,-0.19243229925016792,-0.1862559480970063,-0.18089080299113292,-0.1761725825037317,-0.17198892257471243,-0.1682479735463609,-0.16486617594956599,-0.16180527554348245,-0.15743256733787092,-0.15649314391037095},
{-1.1395830052697704,-0.6180833081613422,-0.4293528565986513,-0.3457758545165319,-0.29815519828762405,-0.2649363897399404,-0.24789922162662137,-0.23136601388488742,-0.21850800695138162,-0.20815886001260253,-0.19960917305256487,-0.19241104921358954,-0.1862362602330876,-0.18087243142093,-0.17615533771910208,-0.1719726534151853,-0.16823255548859706,-0.1648515092132925,-0.16179127569371587,-0.1574235454165951,-0.1564803070414449},
{-1.139287418266326,-0.6178953292969815,-0.42924574427988915,-0.3457035056651634,-0.2981009151049143,-0.2649176388784227,-0.24786183446243726,-0.23133380793706593,-0.21847964304323853,-0.2081334362686782,-0.19958607402842077,-0.1923898336211316,-0.1862166058284771,-0.18085409245010808,-0.17613812483955016,-0.1719564155033808,-0.16821716804889775,-0.16483687255699664,-0.1617773054458027,-0.1574148167911531,-0.15646749868720278},
{-1.138991694590782,-0.617707440175586,-0.42913870912048324,-0.3456312185472683,-0.2980466846173506,-0.2648989445241554,-0.24782449118147554,-0.23130164291146116,-0.21845131791032557,-0.2081080496530241,-0.199563010677398,-0.192368652533073,-0.1861969849423062,-0.1808357861380827,-0.17612094392281108,-0.1719402088976345,-0.1682018112847956,-0.16482226604079386,-0.16176336485824905,-0.15740638334983714,-0.1564547189051595},
{-1.1386958348494751,-0.6175196408868011,-0.42903175115711534,-0.3455589932070282,-0.2979925068743974,-0.2648803044857466,-0.2477871918370056,-0.23126951886490943,-0.21842303160800824,-0.20808270022196496,-0.1995399830565674,-0.19234750600643835,-0.18617739763055852,-0.1808175125419318,-0.1761037950286628,-0.17192403365372755,-0.16818648525087454,-0.16480768971898385,-0.16174945398598695,-0.15739824601171293,-0.1564419677503217},
{-1.1383998396482244,-0.6173319315196224,-0.42892487042638194,-0.3454868296881841,-0.2979383819263681,-0.2648617166045817,-0.2477499364818634,-0.23123743585452772,-0.21839478419381209,-0.20805738803265328,-0.19951699122427158,-0.1923263941012685,-0.18615784395246493,-0.18079927172032484,-0.17608667821605195,-0.1719078898287023,-0.16817119000615577,-0.16479314365109232,-0.16173557288890805,-0.1573904047659056,-0.15642924527860558},
{-1.1381037095915492,-0.6171443121633686,-0.42881806696549774,-0.34541472803640616,-0.29788430982404535,-0.26484317874691854,-0.24771272517032372,-0.23120539393768524,-0.2183665757247475,-0.20803211314122194,-0.19949403523916232,-0.19230531687592034,-0.18613832396553676,-0.18078106373202374,-0.17606959354572282,-0.17189177748014828,-0.16815592560670467,-0.16477862789302478,-0.16172172162331933,-0.15738285871041313,-0.15641655154593792},
{-1.137807445283153,-0.6169567829075824,-0.42871134081165607,-0.3453426882958901,-0.29783029061742994,-0.2648246888130785,-0.24767555795514085,-0.23117339317190044,-0.2183384062574163,-0.20800687560541675,-0.19947111515875804,-0.19228427439076867,-0.1861188377294809,-0.18076288863553103,-0.1760525410760927,-0.17187569666464952,-0.16814069211046956,-0.1647641425041897,-0.16170790024756698,-0.1573756060935061,-0.1564038866077766},
{-1.1375110473254466,-0.6167693438411348,-0.4286046920022848,-0.3452707105118584,-0.29777632435713386,-0.26480624473035874,-0.24763843489109405,-0.23114143361531703,-0.2183102758494897,-0.20798167548183955,-0.19944823104314224,-0.19226326670478855,-0.18609938530138947,-0.18074474649037597,-0.1760355208671811,-0.17185964743860893,-0.16812548957486229,-0.16474968754245722,-0.16169410881786206,-0.15736864436707165,-0.1563912505210432},
{-1.137214516319741,-0.6165819950533589,-0.428498120575032,-0.34519879472991377,-0.29772241109452935,-0.26478784445575343,-0.2476013560328525,-0.23110951532622792,-0.2182821845583156,-0.20795651282934813,-0.1994253829517696,-0.19224229387929626,-0.1860799667415023,-0.18072663735661365,-0.17601853297994552,-0.17184362986117563,-0.16811031805795196,-0.16473526306601016,-0.16168034739516912,-0.15736197023531062,-0.15637864334100016},
{-1.1369178528669917,-0.6163947366337226,-0.42839162656824925,-0.3451269409952964,-0.29766855088035626,-0.264769485977034,-0.24756432143338714,-0.23107763836288697,-0.21825413244158653,-0.20793138770465092,-0.1994025709438425,-0.19222135597345158,-0.18606058210766108,-0.18070856129219592,-0.17600157747292045,-0.17182764398892658,-0.16809517761781123,-0.1647208691329496,-0.16166661603505972,-0.15735557970149472,-0.15636606512071793},
{-1.1366210575663303,-0.6162075686714914,-0.42828521002039466,-0.3450551493543905,-0.2976147437677632,-0.26475116731020165,-0.24752733114872782,-0.2310458027843154,-0.21822611955795423,-0.20790630016580636,-0.19937979508029002,-0.19220045304813738,-0.18604123146041118,-0.1806905183587766,-0.1759846544081327,-0.17181168988022222,-0.16808006831293199,-0.164706505801675,-0.1616529147985304,-0.15734946813121198,-0.15635351591974},
{-1.1363241310161705,-0.6160204912557532,-0.4281788709693046,-0.3449834198530297,-0.2975609898076996,-0.26473288650313265,-0.2474903852316892,-0.2310140086501491,-0.21819814596380738,-0.20788125027188187,-0.19935705542033944,-0.19217958516323463,-0.18602191485779684,-0.18067250861493633,-0.17596776384558765,-0.17179576759170345,-0.16806499020176702,-0.16469217313235518,-0.16163924374153282,-0.15734363029696397,-0.15634099579090943},
{-1.1360270738145068,-0.6158335044762175,-0.4280726094546772,-0.3449117525387244,-0.29750728905182555,-0.26471464163247305,-0.24745348373822296,-0.2309822560191428,-0.21817021171935025,-0.20785623808078313,-0.1993343520258648,-0.1921587523813031,-0.1860026323610775,-0.1806545321230395,-0.17595090584604733,-0.1717798771844592,-0.16804994334484746,-0.16467787118403265,-0.16162560292548633,-0.1573380604364374,-0.1563285047910128},
{-1.135729886557371,-0.6156466084221321,-0.42796642551536834,-0.34484014745757463,-0.2974536415536839,-0.2646964308035038,-0.24741662672414222,-0.23095054495215805,-0.2181423168821972,-0.20783126365200744,-0.19931168495702067,-0.19213795476195372,-0.1859833840289582,-0.18063658894301682,-0.17593408047109094,-0.171764018714196,-0.168034927799372,-0.1646636000159809,-0.1616119924084387,-0.15733275230246235,-0.15631604297581703},
{-1.1354325698403542,-0.6154598031823966,-0.42786031919057166,-0.34476860465613157,-0.2974000473652829,-0.26467825215380003,-0.24737981424408773,-0.2309188755084719,-0.21811446151129132,-0.20780632704424917,-0.19928905427653376,-0.19211719236698244,-0.18596416992124176,-0.18061867913632668,-0.17591728778133842,-0.17174819224064564,-0.16801994362635142,-0.16464935968794236,-0.16159841224957816,-0.15732769921536516,-0.15630361040031104},
{-1.135135124258035,-0.6152730888468128,-0.4277542905198324,-0.34469712418240306,-0.2973465065405918,-0.2646601038466905,-0.24734304635298443,-0.23088724774886416,-0.21808664566574976,-0.2077814283166184,-0.19926646004502757,-0.19209646525769486,-0.18594499009815024,-0.18060080276257295,-0.1759005278366459,-0.171732397821156,-0.16800499088378018,-0.1646351502587926,-0.1615848625088674,-0.1573228941120668,-0.15629120711950506},
{-1.1348375504039545,-0.6150864655045751,-0.4276483395435484,-0.3446257060843152,-0.2972930191319101,-0.2646419840797982,-0.2473063231060877,-0.23085566173453032,-0.21805886940401464,-0.20775656752901384,-0.19924390232557343,-0.19207577349519767,-0.18592584462065886,-0.18058295988614503,-0.17588380070034404,-0.17171663551699723,-0.16799006963359986,-0.1646209717893008,-0.16157134324745925,-0.15731832960070946,-0.15627883319179148},
{-1.1345398488705811,-0.6148999332455887,-0.4275424663018974,-0.34455435040931803,-0.2972395851936902,-0.26462389107767237,-0.247269644560852,-0.2308241175265664,-0.21803113278632225,-0.20773174474219758,-0.19922138118022303,-0.19205511714250179,-0.18590673354906784,-0.180565150567233,-0.17586710643364611,-0.1717009053859364,-0.1679751799351088,-0.16460682434069085,-0.16155785452104254,-0.1573139979961411,-0.15626648867020876},
{-1.1342420202494736,-0.6147134921588027,-0.42743667083489356,-0.344483057205899,-0.2971862047790914,-0.2646058230934045,-0.2472330107724261,-0.23079261518640948,-0.21800343587192117,-0.20770696001549993,-0.1991988966710494,-0.19203449625938163,-0.1858876569443879,-0.18054737486785655,-0.1758504450980567,-0.17168520748800375,-0.16796032184936038,-0.1645927079727727,-0.16154439639420204,-0.157309891376066,-0.15625417361309601},
{-1.1339440651310753,-0.614527142333749,-0.42733095318346415,-0.3444118265221334,-0.297132877942321,-0.26458777841314074,-0.2471964217963496,-0.23076115477535097,-0.2179757787194916,-0.20768221340896176,-0.19917644886029962,-0.19201391090907194,-0.18586861486558348,-0.18052963285049017,-0.17583381675290966,-0.17166954188131456,-0.1679454954357773,-0.16457862274514667,-0.1615309689235147,-0.157306001613577,-0.1562418880738683},
{-1.1336459841051774,-0.6143408838599065,-0.42722531338867853,-0.34434065840747863,-0.2970796047390891,-0.26456975534773974,-0.24715987769037184,-0.23072973635730065,-0.21794816139150086,-0.20765750498457436,-0.1991540378143739,-0.19199336115396903,-0.18584960737666378,-0.1805119245795055,-0.17581722146556444,-0.1716539086282154,-0.167930700756731,-0.16456456872131398,-0.16151757217265228,-0.15730232042974635,-0.1562296321128258},
{-1.1333477777604628,-0.6141547168268424,-0.42711975149159187,-0.34426955291037586,-0.29702638522264735,-0.26455175224147,-0.2471233785090483,-0.23069835999332255,-0.21792058394565572,-0.20763283480244965,-0.1991316635929472,-0.19197284705465734,-0.18583063453737125,-0.1804942501147231,-0.17580065929398714,-0.17163830778633127,-0.16791593787337433,-0.16455054596067242,-0.1615042061991332,-0.15729883941448364,-0.15621740578156107},
{-1.1330494466842893,-0.6139686413242771,-0.42701426753425764,-0.34419851008111735,-0.2969732194494483,-0.2645337674661583,-0.2470869243110272,-0.23066702574744014,-0.2178930464443951,-0.20760820292509408,-0.19910932626293842,-0.191952368674972,-0.18581169640985706,-0.18047660952304057,-0.1757841303014871,-0.17162273941802297,-0.16790120684656884,-0.1645365545256503,-0.16149087106705906,-0.1572955500796418,-0.15620520914130154},
{-1.132750991463375,-0.6137826574414831,-0.4269088615579584,-0.3441275299680271,-0.2969201074732126,-0.26451579942020587,-0.24705051515236676,-0.23063573368206747,-0.2178655489461292,-0.20758360941271192,-0.19908702588471172,-0.19193192607667342,-0.18579279305354035,-0.18045900286436733,-0.17576763454969324,-0.17160720358060644,-0.16788650773667158,-0.1645225944759332,-0.1614775668326267,-0.15729244387822305,-0.1561930422453699},
{-1.1324524126836728,-0.6135967652682233,-0.4268035336053124,-0.34405661262198706,-0.29686704935054564,-0.2644978465367771,-0.24701415109120717,-0.23060448386161525,-0.21783809151393285,-0.20755905432803345,-0.19906476252557326,-0.19191151932252026,-0.18577392453390829,-0.1804414302058106,-0.1757511721033822,-0.17159170033924198,-0.16787184060907734,-0.16450866587633683,-0.16146429356275505,-0.15728951224810572,-0.15618090515343397},
{-1.1321537109296695,-0.613410964894328,-0.42669828371829865,-0.3439857580929022,-0.29681404513768683,-0.2644799072705446,-0.24697783218342906,-0.2305732763500039,-0.21781067420774747,-0.20753453773420105,-0.19904253624888213,-0.1918911484752499,-0.18575509091150977,-0.1804238916099088,-0.17573474302350434,-0.17157622975182463,-0.1678572055240366,-0.1644947687867777,-0.1614510513160461,-0.1572867466274026,-0.1561687979219073},
{-1.1318548867854545,-0.6132252564094607,-0.42659311193978056,-0.34391496643173625,-0.2967610948903108,-0.2644619801105854,-0.24694155848658994,-0.23054211121156598,-0.21778329708862287,-0.20751005969176717,-0.19902034711828165,-0.19187081359597968,-0.18573629224732002,-0.1804063871388415,-0.1757183473737065,-0.17156079187923368,-0.16784260254310368,-0.16448090327031295,-0.1614378401525478,-0.1572841384885706,-0.15615672060516772},
{-1.1315559408336142,-0.61303963990283,-0.4264880183124582,-0.3438442376883053,-0.2967081986644011,-0.26444406357239103,-0.24690533005986026,-0.23051098851123086,-0.2177559602193675,-0.20748562026575001,-0.19899819519872253,-0.19185051475007953,-0.18571752860735202,-0.18038891686139635,-0.1757019852168078,-0.17154538678667208,-0.16782803173042637,-0.16446706939121114,-0.1614246601364684,-0.1572816793651839,-0.15614467326379255},
{-1.1312568736560653,-0.6128541154646392,-0.4263830028796214,-0.3437735719149764,-0.29665535651754027,-0.2644261561974872,-0.24686914696039253,-0.23047990831386755,-0.21772866366086774,-0.20746121951811958,-0.19897608055582694,-0.19183025199931336,-0.1856988000520161,-0.18037148084060206,-0.17568565661553492,-0.1715300145320917,-0.1678134931488735,-0.1644532672092076,-0.16141151132915255,-0.15727936086567595,-0.15613265595267478},
{-1.1309576858339767,-0.6126686831846939,-0.4262780656847944,-0.34370296916215537,-0.29660256850653255,-0.2644082565605288,-0.24683300924629847,-0.2304488706851906,-0.21770140747566202,-0.2074368575126293,-0.19895400325464863,-0.19181002540695857,-0.1856801066446252,-0.18035407914122814,-0.17566936163375857,-0.17151467517919627,-0.1677989868597436,-0.164439496787935,-0.161398393792048,-0.15727717469843583,-0.15612066872922625},
{-1.1306583779470127,-0.6124833431529346,-0.42617320677195636,-0.34363242948224837,-0.2965498346887756,-0.2643903632582614,-0.2467969169758213,-0.23041787569206207,-0.21767419172574165,-0.20741253431250684,-0.1989319633605504,-0.19178983503735836,-0.18566144844949406,-0.18033671182933375,-0.1756531003353814,-0.17149936879147631,-0.16778451292892171,-0.1644257581930404,-0.16138530758936653,-0.15727511269387762,-0.1561087116533919},
{-1.1303589505744487,-0.6122980954590105,-0.4260684261850507,-0.34356195292733815,-0.29649715512233143,-0.26437247492083316,-0.24676087020791826,-0.23038692339922306,-0.21764701647398965,-0.20738824998295868,-0.19890996093778313,-0.1917696809524898,-0.18564282553005995,-0.1803193789696138,-0.1756368727841746,-0.1714840954289052,-0.16777007141912748,-0.16441205148548121,-0.16137225278017908,-0.15727316680693093,-0.15609678477822797},
{-1.1300594042944265,-0.6121129401930467,-0.42596372396821636,-0.343491539548868,-0.2964445298642353,-0.264354590201588,-0.24672486900077573,-0.23035601387419646,-0.21761988178265312,-0.20736400458727644,-0.19888799605182328,-0.1917495632167423,-0.18562423794923433,-0.18030208063009567,-0.1756206790421082,-0.17146885515678179,-0.1677556623920431,-0.16439837672970725,-0.16135922943062653,-0.15727132914573616,-0.15608488816435084},
{-1.1297597396839194,-0.6119278774450514,-0.4258591001661607,-0.34342118940045196,-0.2963919589731958,-0.26433670778340357,-0.24668891341493193,-0.2303251471843346,-0.21759278771588342,-0.20733979819188875,-0.19886606877028257,-0.1917294818954005,-0.18560568577336412,-0.18028481687638376,-0.17560451917553976,-0.17145364803782215,-0.1677412859152163,-0.16438473398963183,-0.16134623760229516,-0.1572695919793503,-0.1560730218697941},
{-1.1294599573194066,-0.6117429073048299,-0.42575455482387525,-0.3433509025338388,-0.29633944250733535,-0.26431882637645643,-0.24665300350792663,-0.23029432339554035,-0.21756573433578552,-0.20731563085870164,-0.19884417915692154,-0.19170943704960663,-0.1855871690639077,-0.18026758777300955,-0.17558839324668796,-0.1714384741329873,-0.16772694204962235,-0.16437112332841153,-0.16133327735738945,-0.1572679477434491,-0.1560611859465446},
{-1.1291600577760654,-0.6115580298626142,-0.42565008798646176,-0.34328067900323234,-0.29628698052605174,-0.2643009447153659,-0.24661713934013463,-0.23026354257648407,-0.21753872170668487,-0.20729150265545115,-0.19882232727896465,-0.19168942874680184,-0.18556868788831693,-0.18025039338959914,-0.17557230132013757,-0.1714233335092068,-0.1677126308610255,-0.16435754481024745,-0.1613203487604622,-0.15726638905712775,-0.1560493804577021},
{-1.1288600416282257,-0.6113732452088314,-0.42554569969921374,-0.34321051886166387,-0.29623457308821344,-0.26428306156533665,-0.2465813209695753,-0.2302328047951967,-0.21751174989184818,-0.20726741364667944,-0.1988005132008368,-0.19166945704856175,-0.18555024230875716,-0.1802332337904673,-0.1755562434609388,-0.17140822622731733,-0.16769835241423792,-0.1643439985003532,-0.16130745187527396,-0.15726490872373233,-0.1560376054568593},
{-1.1285599094496828,-0.6111885534335357,-0.42544139000811043,-0.34314042216342244,-0.29618222025327867,-0.2642651757166483,-0.24654554845930932,-0.23020211012059733,-0.2174848189573808,-0.2072433638990816,-0.19877873699117998,-0.19164952202352836,-0.18553183239423987,-0.18021610904599328,-0.1755402197344651,-0.171393152354824,-0.1676841067756385,-0.16433048446521425,-0.16129458676500263,-0.15726349974838527,-0.15602586100791882},
{-1.1282596618125673,-0.6110039546269377,-0.42533715895939395,-0.34307038896249864,-0.29612992208075894,-0.2642472859836005,-0.24650982186709314,-0.23017145862112542,-0.21745792896589577,-0.20721935347841836,-0.19875699871444752,-0.1916296237327586,-0.18551345820729992,-0.1801990192211278,-0.17552423020280727,-0.17137811195368258,-0.16766989400718657,-0.16431700276538663,-0.1612817534926485,-0.15726215532457033,-0.15601414716319795},
{-1.1279592992888077,-0.6108194488793544,-0.42523300659911456,-0.34300041931263436,-0.29607767863043577,-0.2642293912113267,-0.24647414125449174,-0.23014085036475862,-0.21743107998246813,-0.2071953824500774,-0.19873529843780702,-0.19160976224491222,-0.1854951198151582,-0.18018196438630696,-0.17550827493439058,-0.1713631050911708,-0.1676557141773003,-0.1643035534699635,-0.16126895212605064,-0.1572608688614494,-0.15600246398680184},
{-1.1276588224489146,-0.6106350362812236,-0.42512893297380216,-0.3429305132692484,-0.29602548996331635,-0.2642114902646462,-0.2464385066813044,-0.23011028542241263,-0.2174042720730931,-0.2071714508819582,-0.19871363622763738,-0.1915899376230321,-0.18547681728221477,-0.18016494460815125,-0.17549235399090435,-0.17134813182913433,-0.16764156734936364,-0.1642901366403393,-0.16125618272522146,-0.15725963396261733,-0.1559908115344797},
{-1.1273582318626758,-0.6104507169231113,-0.4250249381301643,-0.3428606708874007,-0.295973356139136,-0.2641935820402175,-0.24640291820858806,-0.230079763863003,-0.21737750530201083,-0.20714755884092995,-0.19869201215119148,-0.19157014993429655,-0.1854585506772395,-0.18014795995524224,-0.17547646744031908,-0.17133319223568577,-0.16762745358978393,-0.1642767523445805,-0.16124344535953838,-0.15725844445038462,-0.1559791898691003},
{-1.127057528099252,-0.6102664908957003,-0.4249210221163189,-0.34279089222224,-0.29592127721971195,-0.2641756654567047,-0.24636737589796098,-0.2300492857568024,-0.21735077973599815,-0.2071237063940714,-0.19867042627452136,-0.1915503992445622,-0.18544032006511912,-0.18013101049574232,-0.17546061534507373,-0.1713182863746141,-0.16761337296505374,-0.1642634006469379,-0.16123074008845606,-0.15725729435068558,-0.1559675990477345},
{-1.1267567117263813,-0.6100823582893895,-0.4248171849787319,-0.3427211773295262,-0.29586925326520586,-0.2641577394583585,-0.24633187981133275,-0.23001885117438547,-0.21732409544057418,-0.20709989360904046,-0.19864887866419068,-0.19153068562059872,-0.18542212551386683,-0.18011409630049258,-0.17544479777380673,-0.17130341431440854,-0.16759932554390744,-0.1642500816162169,-0.16121806698256336,-0.15725617790361923,-0.15595603913910594},
{-1.1264557833113518,-0.609898319194734,-0.424713426765738,-0.3426515262647385,-0.2958172843369624,-0.2641398030157376,-0.24629643000869805,-0.22998846018455765,-0.21729745248070387,-0.2070761205523688,-0.19862736938750913,-0.19151100912828767,-0.18540396708876372,-0.1800972174357547,-0.1754290147891524,-0.17128857611709236,-0.16758531138738064,-0.164236795313478,-0.16120542610227773,-0.15725508955389245,-0.15594451019843092},
{-1.126154743420141,-0.6097143737028006,-0.424609747525416,-0.3425819390851288,-0.2957653704980032,-0.26412185512137754,-0.2462610265540448,-0.229958112861123,-0.21727085092599552,-0.2070523872939667,-0.1986058985128203,-0.19149136983652326,-0.1853858448591943,-0.18008037397324372,-0.17541326645940813,-0.17127377185352088,-0.16757133056726303,-0.1642235418096405,-0.16119281751553416,-0.15725402396205368,-0.1559330122929623},
{-1.1258535926182738,-0.6095305219042615,-0.42450614730583425,-0.3425124158464783,-0.2957135118093426,-0.26410389479559626,-0.24622566950667135,-0.22992780927262757,-0.21724429084095576,-0.20702869390095557,-0.19858446610596303,-0.1914717678098654,-0.18536775889186075,-0.18006356598124285,-0.17539755284983727,-0.1712590015869857,-0.16755738314824953,-0.1642103211681487,-0.1611802412893084,-0.15725297599153976,-0.1559215454860876},
{-1.12555233146999,-0.609346763890283,-0.42440262615557955,-0.3424429566062308,-0.2956617083341193,-0.2640859210811186,-0.24619035893214303,-0.22989754949187713,-0.2172177722943971,-0.20700504044309653,-0.1985630722353875,-0.19145220311769862,-0.18534970925454886,-0.1800467935297334,-0.17538187402624317,-0.17124426538649473,-0.16754346919813656,-0.16419713345578657,-0.16116769748662563,-0.1572519407134081,-0.15591010984266518},
{-1.1252509605387164,-0.6091630997513455,-0.4242991841241377,-0.3423735614214678,-0.29560996013346497,-0.26406793304338905,-0.246155094891634,-0.22986733358988687,-0.21719129535186,-0.20698142698715216,-0.1985417169683572,-0.19143267582798984,-0.185331696015556,-0.18003005668929006,-0.17536623005529606,-0.17122956331737527,-0.16752958878448254,-0.16418397874188173,-0.16115518617577607,-0.15725091340495823,-0.1558987054306442},
{-1.1249494803873699,-0.6089795295790772,-0.4241958212607493,-0.342304230349324,-0.29555826727156287,-0.2640499297767356,-0.2461198774490292,-0.229837161639324,-0.21716486008352476,-0.20695785360430463,-0.19852040037210372,-0.1914131860089583,-0.1853137192449914,-0.18001335553029563,-0.1753506210044513,-0.1712148954508308,-0.16751574197609642,-0.16417085708958012,-0.16114270742448866,-0.15724988954318064,-0.1558873323135188},
{-1.1246478915774123,-0.6087960534645696,-0.42409253761454835,-0.34223496344820603,-0.2955066298122304,-0.2640319103907771,-0.24608470666696292,-0.22980703371201727,-0.21713846655759994,-0.20693432036293657,-0.19849912251513047,-0.1913937337297824,-0.18529577900982375,-0.17999669012341002,-0.17533504693915347,-0.17120026185173742,-0.16750192883951343,-0.1641577685695168,-0.16113026129606567,-0.1572488648007706,-0.15587599056231483},
{-1.124346194670057,-0.6086126714989852,-0.42398933323556776,-0.3421657607766626,-0.29545504781779286,-0.26401387402558285,-0.2460495826085456,-0.22977694987941533,-0.2171121148406101,-0.20691082733286947,-0.19847788346470807,-0.19137431905616253,-0.18527787537859197,-0.17998006053735693,-0.17531950792668027,-0.17118566258827173,-0.16748814944293144,-0.1641447132467917,-0.161117847859785,-0.15724783505015694,-0.15586468024410038},
{-1.1240443902247836,-0.608429383773256,-0.42388620817388656,-0.34209662239185334,-0.29540352135261827,-0.263995819841746,-0.2460145053388807,-0.2297469102152654,-0.2170858050039186,-0.20688737458458917,-0.19845668328960997,-0.19135494206163983,-0.1852600084240592,-0.17996346684618914,-0.17530400403535396,-0.17117109773211325,-0.16747440385830004,-0.164131691191173,-0.1611054671831127,-0.15724679635464156,-0.15585340143106663},
{-1.123742478801029,-0.6082461903794822,-0.4237831624800812,-0.34202754835370897,-0.29535205048054536,-0.2639777470199327,-0.24597947492190642,-0.22971691479102319,-0.2170595371153965,-0.2068639621870183,-0.1984355220578813,-0.19133560281248307,-0.18524217821171973,-0.17994690911889677,-0.17528853533082156,-0.17115656734717533,-0.1674606921492412,-0.1641187024685138,-0.16109311933055892,-0.15724574496596944,-0.15584215419221437},
{-1.1234404609571857,-0.6080630914089582,-0.4236801962047423,-0.3419585387212294,-0.2953006352663152,-0.2639596547688541,-0.24594449142239938,-0.229686963681214,-0.2170333112448155,-0.20684059021142076,-0.1984143998392227,-0.19131630138020483,-0.18522438481337034,-0.17993038742664424,-0.17527310188149414,-0.1711420715048888,-0.1674470143881308,-0.16410574714736725,-0.16108080437331296,-0.15724467732062664,-0.15583093859955},
{-1.1231383372502322,-0.60788008695339,-0.4235773093994375,-0.3418895935538906,-0.2952492757748715,-0.2639415423122671,-0.24590955490436883,-0.22965705695758132,-0.21700712746254425,-0.20681725872803014,-0.19839331669958682,-0.19129703783402618,-0.18520662829911316,-0.17991390184172928,-0.17525770375625882,-0.17112761027436818,-0.16743337064304598,-0.16409282529651392,-0.16106852237894032,-0.15724359003649369,-0.15581975472736076},
{-1.1228361082369176,-0.6076971771042743,-0.4234745021152726,-0.34182071291149185,-0.29519797207148457,-0.2639234089023219,-0.24587466543329128,-0.2296271946945332,-0.21698098583900105,-0.20679396780751702,-0.1983722727108983,-0.19127781224418072,-0.18518890873964722,-0.17989745243423272,-0.1752423410207058,-0.1711131837249127,-0.16741976098463596,-0.16407993698336298,-0.16105627341283224,-0.15724247990875995,-0.1558086026466583},
{-1.1225337744728936,-0.6075143619536654,-0.42337177440371576,-0.3417518968542339,-0.29514672422084587,-0.26390525380928764,-0.24583982307526853,-0.2295973769654438,-0.2169548864449311,-0.20677071752129095,-0.19835126793962488,-0.19125862468153088,-0.185171226205739,-0.17988103927960708,-0.17522701374578986,-0.1710987919282303,-0.1674061854813118,-0.16406708227838607,-0.16104405754494877,-0.15724134390595168,-0.15579748243500546},
{-1.1222313365129661,-0.607331641593408,-0.42326912631715174,-0.3416831454423743,-0.2950955322891602,-0.26388707632481,-0.2458050278961217,-0.22956760384331076,-0.21692882935137447,-0.20674750794149688,-0.1983303024569345,-0.19123947521723395,-0.18515358076862043,-0.17986466244703792,-0.1752117219974636,-0.17108443494974068,-0.16739264420296962,-0.16405426124862288,-0.16103187484372228,-0.15724017916487298,-0.15578639416528972},
{-1.1219287949109944,-0.6071490161154394,-0.423166557907777,-0.34161445873626306,-0.2950443963415772,-0.2638688757636558,-0.24577027996082634,-0.22953787540174275,-0.21690281462912253,-0.20672433913687271,-0.19830937633050283,-0.19122036392254316,-0.18513597249864233,-0.1798483220085103,-0.17519646584553072,-0.17107011286393004,-0.16737913722042208,-0.16404147396419688,-0.16101972538150022,-0.1572389829902079,-0.15577533791798714},
{-1.1216261502201128,-0.6069664856121122,-0.42306406922807227,-0.3415458367979838,-0.2949933164457832,-0.26385065145736775,-0.2457355793376692,-0.22950819171589032,-0.2168768423502101,-0.2067012111814428,-0.19828848963170387,-0.19120129086908122,-0.18511840146864955,-0.17983201803708937,-0.17518124535897783,-0.17105582573898914,-0.1673656646028121,-0.16402872049344808,-0.16100760922169854,-0.1572377528403166,-0.15576431376761946},
{-1.121323402992255,-0.6067840501753743,-0.42296166033082017,-0.3414772796884371,-0.29494229266759575,-0.2638324027631107,-0.24570092609093308,-0.2294785528586729,-0.21685091258827782,-0.20667812414668418,-0.19826764242821682,-0.19118225612739081,-0.18510086774893608,-0.1798157506046607,-0.17516606060770812,-0.17104157364516936,-0.1673522264225582,-0.16401600090630097,-0.16099552643559178,-0.1572364863363518,-0.15575332179271584},
{-1.121020553779335,-0.6066017098979657,-0.4228593312698514,-0.34140878746984527,-0.29489132507416116,-0.26381412905545787,-0.24566632029009128,-0.22944895890569228,-0.2168250254148063,-0.20665507810489103,-0.19824683479332705,-0.19116325977257986,-0.18508337141597053,-0.17979951978689002,-0.1751509116626977,-0.17102735665790192,-0.1673388227509207,-0.16400331527403011,-0.1609834770968348,-0.15723518125180647,-0.15574236207557135},
{-1.1207176031315171,-0.606419464872296,-0.42275708209828977,-0.34134036020377323,-0.29484041373226333,-0.26379582972748494,-0.24563176200260628,-0.2294194099301734,-0.21679918090147154,-0.20663207312789567,-0.1982260667944047,-0.19114430187215703,-0.1850659125367713,-0.1797833256513499,-0.17513579858871253,-0.17101317484153356,-0.1673254536548825,-0.16399066366460602,-0.16097146126949013,-0.1572338354983458,-0.15573143469207196},
{-1.1204145515985982,-0.606237315190473,-0.42265491287019685,-0.3412719979527701,-0.2947895587104128,-0.2637775041965753,-0.245597251295802,-0.22938990600721,-0.2167733791242874,-0.20660910928848963,-0.19820533850336375,-0.1911253825028325,-0.185048491189022,-0.17976716827683958,-0.17512072146012514,-0.1709990282745295,-0.16731211921079847,-0.1639780461493885,-0.1609594790287474,-0.15723244714422435,-0.15572053972760358},
{-1.1201113997292804,-0.606055260945439,-0.4225528236396201,-0.34120370077960516,-0.29473876007550004,-0.26375915189242605,-0.24556278823659028,-0.22936044721063098,-0.2167476201546279,-0.20658618665866868,-0.19818464999049468,-0.1911065017350566,-0.18503110744251927,-0.17975104773175588,-0.1751056803457942,-0.17098491702415686,-0.16729881948560177,-0.1639654627984939,-0.16094753044122712,-0.15723101438437226,-0.15570967726025486},
{-1.119808148071936,-0.6058733022303606,-0.4224508144615058,-0.34113546874806744,-0.29468801789657917,-0.2637407722717846,-0.2455283728948352,-0.2293310336169121,-0.2167219040681445,-0.2065633053131677,-0.1981640013275623,-0.19108765964334395,-0.18501376137417935,-0.1797349640923258,-0.17509067531730693,-0.17097084116296912,-0.16728555455534178,-0.16395291368144171,-0.16093561557934777,-0.15722953555528107,-0.1556988473743104},
{-1.1195047971735885,-0.6056914391380204,-0.42234888539027793,-0.34106730192074153,-0.29463733224215716,-0.2637223648051581,-0.24549400533932797,-0.2293016653000457,-0.21669623093803025,-0.2065404653246503,-0.19814339258571323,-0.19106885629934567,-0.18499645305500678,-0.1797189174300584,-0.17507570644423254,-0.17095680076416642,-0.16727232448815244,-0.16394039887095602,-0.1609237345122807,-0.1572280091194429,-0.15568805015222864},
{-1.1192013475805744,-0.6055096717613537,-0.42224703648153294,-0.34099920036202747,-0.29458670317979596,-0.26370392898213524,-0.24545968564028442,-0.22927234233455707,-0.21667060084067202,-0.20651766676579797,-0.19812282383687574,-0.19105009178003485,-0.1849791825611149,-0.17970290782282916,-0.17506077379963614,-0.17094279590133254,-0.16725912935986287,-0.16392791843876608,-0.16091188731380157,-0.15722643366859756,-0.15567728568085215},
{-1.118897799838324,-0.6053280001933885,-0.42214526779023487,-0.34093116413532343,-0.29453613077945917,-0.2636854643130775,-0.24542541386567507,-0.2292430647959378,-0.21664501384827162,-0.20649490970929918,-0.19810229515183408,-0.1910313661550589,-0.18496194996638593,-0.1796869353383741,-0.17504587745226274,-0.17092882664471887,-0.16724596923880597,-0.1639154724543701,-0.16090007405210116,-0.15722480791097126,-0.1556665540405362},
{-1.1185941544917117,-0.6051464245274865,-0.42204357937275105,-0.34086319330583237,-0.29448561511149407,-0.26366697032267084,-0.24539119008634458,-0.22921383276009522,-0.21661947003934756,-0.20647219423170782,-0.19808180660593422,-0.1910126795017817,-0.18494475534483001,-0.17967100005421344,-0.17503101747635696,-0.17091489306731233,-0.1672328441994111,-0.16390306098909946,-0.1608882947992356,-0.1572231306752414,-0.15565585531805226},
{-1.118290412084816,-0.6049649448573398,-0.42194197128482,-0.3407952879376701,-0.29443515624382854,-0.26364844655639885,-0.2453570143716668,-0.2291846463013414,-0.2165939694892174,-0.20644952040468212,-0.1980613582688875,-0.190994031891897,-0.18492759877194231,-0.17965510204444968,-0.17501619394368362,-0.1709009952453613,-0.16721975431524072,-0.16389068411715613,-0.1608765496273108,-0.15722140090273484,-0.1556451896005413},
{-1.1179865731603122,-0.6047835612763457,-0.42184044358315376,-0.34072744809707345,-0.29438475424865373,-0.26362989257724934,-0.24532288679377956,-0.22915550549547348,-0.21656851227320928,-0.2064268883036604,-0.19804095021556378,-0.1909754234006158,-0.18491048032515067,-0.1796392413824961,-0.1750014069248067,-0.1708871332500692,-0.1672066996583581,-0.16387834190864936,-0.1608648386076581,-0.1572196176415872,-0.15563455697194684},
{-1.1176826382606837,-0.6046022738778376,-0.4217389963244216,-0.3406596738483678,-0.29433440919412135,-0.26361130796124144,-0.2452888074221029,-0.22912641041827086,-0.21654309846768882,-0.20640429800220517,-0.19802058251736554,-0.19095685410312768,-0.18489340007722888,-0.17962341814279625,-0.1749866564928766,-0.17087330715496307,-0.16719368030116755,-0.16386603443697823,-0.16085316181230525,-0.15721778004430575,-0.1556239575204046},
{-1.117378607927444,-0.6044210827563674,-0.42163762956658246,-0.34059196525783264,-0.29428412115271385,-0.26359269230906435,-0.24525477633050485,-0.22909736114628743,-0.2165177281524926,-0.20638174957578315,-0.19800025525174902,-0.1909383240759368,-0.1848763581065498,-0.17960763240114375,-0.17497194272471717,-0.17085951703689517,-0.1671806963178497,-0.16385376177395017,-0.16084151931156043,-0.1572158873668883,-0.15561339133390106},
{-1.117074482701124,-0.6042399880055385,-0.4215363433661068,-0.3405243223913743,-0.29423389019505564,-0.2635740452281965,-0.24522079358883175,-0.22906835775433265,-0.21649240140189363,-0.2063592430988166,-0.19797996849044353,-0.19091983339142615,-0.1848593544892907,-0.17959188423098027,-0.17495726568699155,-0.1708457629670903,-0.1671677477822726,-0.1638415239930211,-0.16082991118106804,-0.15721393895530866,-0.1556028584961595},
{-1.1167702631218308,-0.6040589897192703,-0.4214351377812662,-0.3404567453164411,-0.2941837163919452,-0.26355536635180243,-0.2451868592687454,-0.22903940031800474,-0.21646711829429677,-0.2063367786460759,-0.19795972230756576,-0.19090138212492036,-0.18484238930142993,-0.17957617370653622,-0.1749426254593729,-0.1708320450204397,-0.16715483476828297,-0.1638293211661832,-0.16081833748917518,-0.15721193425468272,-0.15559235909867652},
{-1.1164659497283882,-0.6038780879919443,-0.4213340128703713,-0.34038923409834965,-0.2941335998160888,-0.26353665532399617,-0.2451529734441671,-0.22901048891420572,-0.21644187890942135,-0.2063143562937242,-0.19793951677986144,-0.19088297035332857,-0.18482546262027455,-0.17956050090270992,-0.17492802211129543,-0.17081836327121636,-0.16714195734827086,-0.16381715336778058,-0.1608067983092809,-0.15720987279536303,-0.15558189322828753},
{-1.1161615430589595,-0.6036972829179419,-0.42123296869160853,-0.3403217888063814,-0.2940835405379616,-0.2635179118050175,-0.24511913618837866,-0.22898162361853025,-0.21641668332529918,-0.20629197611695815,-0.19791935198273336,-0.19086459815335388,-0.18480857452446742,-0.17954486589832186,-0.17491345572075545,-0.17080471779894424,-0.1671291155998489,-0.16380502067275415,-0.1607952937172712,-0.15720775419355704,-0.15557146097180663},
{-1.1158570436511983,-0.6035165745917048,-0.42113200530421224,-0.3402544095052811,-0.29403353863095916,-0.26349913547377213,-0.245085347573351,-0.22895280450815392,-0.2163915316203031,-0.2062696381916993,-0.1978992279919467,-0.19084626559894957,-0.18479172508983055,-0.17952926876615294,-0.17489892636011461,-0.17079110867483394,-0.16711630959410684,-0.1637929231537072,-0.1607838237835182,-0.1572055781458772,-0.15556106241894696},
{-1.1155524520414826,-0.6033359631076607,-0.42103112276705446,-0.34018709626521115,-0.2939835941682567,-0.2634803260197387,-0.24505160767370882,-0.2289240316589911,-0.21636642387478133,-0.20624734259314437,-0.1978791448846735,-0.19082797276866614,-0.18477491439728055,-0.1795137095825936,-0.17488443410533705,-0.17077753597792622,-0.16710353940858624,-0.16378086088616328,-0.16077238858247966,-0.1572033444276144,-0.1555506976580432},
{-1.1152477687660376,-0.6031554485611359,-0.4209303211401938,-0.340119849153794,-0.29393370722151957,-0.2634614831528097,-0.24501791656240357,-0.22889530514691003,-0.21634136016665906,-0.20622508939707984,-0.1978591027350305,-0.19080971973540528,-0.1847581425216589,-0.17949818841985632,-0.17486997902970813,-0.17076399977857903,-0.16709080511402874,-0.16376883394084274,-0.1607609881824814,-0.15720105288144026,-0.1555403667720512},
{-1.114942994359943,-0.6029750310466362,-0.42082960048302454,-0.34005266823965385,-0.29388387786504566,-0.2634426065948112,-0.24498427431460001,-0.2288666250504079,-0.21631634057781923,-0.2062028786826673,-0.1978391016242469,-0.1907915065793091,-0.1847414095469304,-0.1794827053592698,-0.17485556121123835,-0.17075050015978377,-0.16707810679049118,-0.16375684239702792,-0.1607496226638645,-0.1571987034329254,-0.15553006985575024},
{-1.1146381293571253,-0.6027947106594347,-0.4207289608561169,-0.3399855535920153,-0.2938341061720777,-0.26342369608142135,-0.2449506810062516,-0.2288379914459533,-0.21629136518927794,-0.20618071052462028,-0.19781914162655312,-0.19077333337495617,-0.18472471554763104,-0.17946726047441075,-0.17484118072418653,-0.17073703719317024,-0.16706544451000838,-0.16374488632713735,-0.16073829209540946,-0.15719629606113728,-0.15551980699030565},
{-1.1143331742914295,-0.6026144874944244,-0.4206284023196609,-0.339918505278181,-0.2937843922155743,-0.2634047513649307,-0.24491713671015347,-0.2288094044077802,-0.21626643407956436,-0.20615858499879636,-0.19779922282183549,-0.19075520020047065,-0.18470806060442868,-0.1794518538402059,-0.17482683764528417,-0.17072361095830502,-0.1670528183493687,-0.16373296580743357,-0.16072699655348544,-0.1571938308199421,-0.1555095782664324},
{-1.1140281296955994,-0.602434361647397,-0.42052792493539926,-0.3398515233701893,-0.29373473607102696,-0.26338577220962023,-0.24488364150366593,-0.22878086401508568,-0.2162415473307746,-0.20613650218368207,-0.19777934528828212,-0.19073710713269065,-0.1846914447966057,-0.17943648553385572,-0.1748125320483922,-0.17071022152918403,-0.1670402283830441,-0.16372108091166382,-0.16071573610960854,-0.15719130781430835,-0.15549938376575767},
{-1.1137229961013748,-0.602254333213633,-0.4204275287638346,-0.339784607936636,-0.29368513781259153,-0.26336675839648294,-0.24485019546120412,-0.22875237034578788,-0.21621670502521795,-0.2061144621559663,-0.1977595091033777,-0.19071905424690527,-0.18467486820496504,-0.1794211556312746,-0.17479826401464038,-0.1706968689843933,-0.16702767468753166,-0.16370923171691487,-0.16070451083741233,-0.15718872721279098,-0.15548922357483974},
{-1.1134177740402844,-0.6020744022890838,-0.4203272138674876,-0.3397177590493463,-0.29363559751585555,-0.26334770971919497,-0.24481679866095618,-0.22872392347715476,-0.21619190724560866,-0.2060924649954714,-0.19773971435090942,-0.1907010416266246,-0.18465833091236306,-0.17940586421128302,-0.1747840336192681,-0.17068355340569497,-0.16701515734208527,-0.16369741829975482,-0.16069332081521992,-0.15718608923918964,-0.15547909778375413},
{-1.1131124640425352,-0.6018945689694775,-0.4202269803077954,-0.3396509767773601,-0.2935861152547403,-0.2633286259820977,-0.2447834511782716,-0.2286955234856407,-0.21616715407211018,-0.20607051077691807,-0.19771996110534218,-0.1906830693431516,-0.18464183299514758,-0.1793906113474577,-0.17476984093828207,-0.17067027486262987,-0.16700267641818556,-0.1636856407361691,-0.16068216611262187,-0.15718339416017812,-0.15546900647017026},
{-1.112807066637739,-0.6017148333502327,-0.42012682814725366,-0.3395842611924884,-0.29353669110590275,-0.2633095070082554,-0.24475015309102233,-0.228667170449107,-0.21614244559076212,-0.2060485995799084,-0.19770024945095344,-0.19066513747946345,-0.184625374538534,-0.17937539712107764,-0.17475568605080838,-0.17065703343949679,-0.16699023199598884,-0.16367389910192287,-0.16067104680850974,-0.15718064230350137,-0.15545894972090935},
{-1.1125015823550388,-0.6015351955286192,-0.42002675744888407,-0.3395176123660555,-0.2934873251442802,-0.26329035262619627,-0.24471690447569472,-0.22863886444542914,-0.21611778188074737,-0.20602673148193418,-0.19768057946571105,-0.19064724611013872,-0.1846089556197512,-0.17936022160417764,-0.17474156903437432,-0.17064382921223853,-0.16697782415023,-0.16366219347267474,-0.16065996297488283,-0.15717783403226804,-0.15544892761778328},
{-1.112196011722391,-0.6013556555997539,-0.41992676827558384,-0.3394510303695313,-0.29343801744609266,-0.26327116268516093,-0.24468370541109508,-0.22861060555319312,-0.21609316302905768,-0.206004906562967,-0.1976609512319243,-0.1906293953162006,-0.18459257632417092,-0.1793450848784417,-0.17472748996789988,-0.1706306622594127,-0.1669654529608522,-0.16365052392922763,-0.1606489146901353,-0.15717496975987189,-0.15543894024377636},
{-1.1118903552673949,-0.6011762136612937,-0.4198268606915292,-0.3393845152754338,-0.29338876808917647,-0.2632519370427673,-0.2446505559747152,-0.228582393850715,-0.21606858911817284,-0.20598312490153603,-0.19764136483091477,-0.19061158517541799,-0.1845762367316368,-0.1793299870177094,-0.1747134489280029,-0.1706175326606072,-0.1669531185012545,-0.1636388905440853,-0.1606379020262665,-0.15717204993513434,-0.15542898767868962},
{-1.1115846135163459,-0.6009968698091654,-0.4197270347599762,-0.3393180671565652,-0.29333957714882075,-0.26323267556872665,-0.24461745624714126,-0.22855422941653813,-0.2160440602331306,-0.2059613865756873,-0.1976218203437199,-0.19059381576850143,-0.18455993692669637,-0.17931492810384952,-0.17469944599779552,-0.17060444049443646,-0.16694082085427198,-0.16362729339859072,-0.16062692506198317,-0.15716907504902622,-0.15541907000494604},
{-1.11127878699536,-0.6008176241397933,-0.4196272905449838,-0.3392516860844843,-0.2932904447027873,-0.2632133781480128,-0.24458440630493072,-0.2285261123278275,-0.21601957645724212,-0.20593969166584003,-0.1976023178519597,-0.19057608717353958,-0.1845436769910762,-0.17929990821175323,-0.17468548125163608,-0.17059138584026812,-0.1669285600944761,-0.1636157325674148,-0.16061598387269527,-0.15716604562869207,-0.15540918730261666},
{-1.1109728762296616,-0.6006384767509516,-0.41952762811190425,-0.3391853721332936,-0.29324137082865676,-0.263194044671863,-0.24455140622935545,-0.22849804266387963,-0.2159951378753746,-0.20591804024980576,-0.19758285743871085,-0.19055839946947373,-0.184527457005089,-0.17928492741916813,-0.17467155477093854,-0.17057836877584975,-0.16691633629807257,-0.16360420812747378,-0.16060507853408268,-0.15716296223074266,-0.15539933964845432},
{-1.1106668817435228,-0.6004594277392101,-0.41942804752498475,-0.33911912537639566,-0.2931923556035585,-0.2631746750493136,-0.24451845609769407,-0.2284700205031669,-0.21597074457486087,-0.205896432409844,-0.19756343918663077,-0.1905407527380234,-0.1845112770557975,-0.1792699858071245,-0.17465766663772797,-0.17056538938233956,-0.166904149548472,-0.16359272016080695,-0.16059420912497302,-0.15715982544934803,-0.15538952712357457},
{-1.1103608040606723,-0.6002804772023076,-0.4193285488504266,-0.3390529458875413,-0.29314339910693477,-0.26315526919889365,-0.2444855559941388,-0.22844204592681194,-0.21594639663913995,-0.20587486822466872,-0.19754406317792217,-0.19052314705837858,-0.18449513722541155,-0.17925508345248886,-0.17464381692909114,-0.17055244774145706,-0.1668919999213685,-0.16358126874121837,-0.16058337572282966,-0.15715663590472673,-0.1553797498048084},
{-1.1100546437037941,-0.600101625237226,-0.41922913215324087,-0.3389868337413411,-0.2930945014151334,-0.26313582704772287,-0.24445270599569113,-0.2284141190127329,-0.21592209415520358,-0.20585334777427278,-0.19752472949591748,-0.19050558251181116,-0.18447903759856388,-0.1792402204330088,-0.17463000572698206,-0.17053954393114878,-0.16687988749752947,-0.1635698539521684,-0.16057257840406436,-0.15715339424595953,-0.15537000777271004},
{-1.1097484011954108,-0.5999228719419065,-0.41912979750054546,-0.3389207890120822,-0.29304566260915976,-0.2631163485403363,-0.24441990618717568,-0.22838623983950157,-0.21589783720956035,-0.20583187114073098,-0.1975054382243826,-0.1904880591789535,-0.18446297825741453,-0.17922539682939487,-0.17461623311131547,-0.1705266780317558,-0.16686781235386405,-0.16355847586686423,-0.1605618172477108,-0.15715010114780625,-0.15536030109960564},
{-1.1094420770566984,-0.5997442174142371,-0.41903054495809045,-0.3388548117746133,-0.2929968827667899,-0.2630968336232833,-0.2443871566465745,-0.2283584084878001,-0.2158736258876104,-0.20581043840381597,-0.19748618944571916,-0.19047057714017512,-0.18444695928792498,-0.1792106127197357,-0.17460249916209136,-0.17051385012292286,-0.1668557745701591,-0.16354713456538406,-0.16055109233127496,-0.15714675730878724,-0.15535062986558046},
{-1.1091356718086836,-0.5995656617519849,-0.41893137459301855,-0.3387889021047812,-0.2929481619677574,-0.2630772822627918,-0.2443544574560974,-0.22833062503673318,-0.21584946027683571,-0.20578904964561673,-0.19746698324381384,-0.19045313647684736,-0.1844309807741169,-0.17919586818442923,-0.17458880396391407,-0.1705010602894248,-0.16684377422827623,-0.16353583012811868,-0.160540403736384,-0.15714336344915836,-0.15534099414522018},
{-1.1088291859709045,-0.5993872050529632,-0.41883228647254,-0.33872306007710407,-0.2928995002917709,-0.2630576944313887,-0.24432180870037,-0.22830288956838274,-0.2158253404659476,-0.20576770494874097,-0.19744781970571523,-0.19043573727383745,-0.18441504280407628,-0.17918116330374545,-0.17457514759684045,-0.17048830861195796,-0.16683181140850678,-0.16352456263552995,-0.1605297515419153,-0.1571399203139805,-0.15533139401690477},
{-1.1085226200629066,-0.5992088474161257,-0.41873328066476745,-0.338657285769532,-0.2928508978187452,-0.26303807011043645,-0.2442892104609058,-0.22827520216019792,-0.21580126653928744,-0.20574640439276948,-0.19742869891094017,-0.19041837960902086,-0.18439914545916736,-0.17916649815532537,-0.17456153014108367,-0.17047559516749544,-0.16681988618730514,-0.16351333216186958,-0.16051913582398925,-0.1571364286610688,-0.155321829552868},
{-1.1082159746034002,-0.5990305889398826,-0.41863435723753994,-0.3385915792563594,-0.2928023546285736,-0.2630184092964427,-0.24425666282027692,-0.22824756289401904,-0.21577723858457887,-0.20572514805976283,-0.1974096209464662,-0.19040106356615638,-0.18438328882448474,-0.17915187282023481,-0.17454795167759585,-0.17046292003954733,-0.16680799864769114,-0.16350213878887132,-0.16050855666443198,-0.15713288926949076,-0.1553123008309143},
{-1.10790925010998,-0.5988524297228786,-0.41853551625965224,-0.33852594061631436,-0.2927538708036508,-0.2629987119891837,-0.24422416586293139,-0.2282199718519422,-0.21575325669273582,-0.20570393603404113,-0.19739058589593128,-0.19038378922974886,-0.18436747298873968,-0.17913728738067647,-0.17453441229363165,-0.17045028331180134,-0.16679614887104321,-0.16349098259649253,-0.1604980141456238,-0.1571293029363119,-0.1553028079253025},
{-1.107602447099847,-0.5986743698639216,-0.4184367577996291,-0.33846036992595074,-0.29270544642342955,-0.2629789782056946,-0.244191719671619,-0.2281924291119708,-0.2157293209480926,-0.20568276839636468,-0.19737159384374792,-0.19036655667873248,-0.18435169803462514,-0.17912274191321842,-0.17452091206575915,-0.17043768506232482,-0.16678433693498818,-0.16347986366233158,-0.1604875083435644,-0.15712567046700343,-0.15529335090903373},
{-1.107295566089455,-0.5984964094615819,-0.41833808192678745,-0.3383948672621848,-0.29265708157026893,-0.2629592079683718,-0.24415932433220178,-0.2281649347581549,-0.21570543144229504,-0.205661645233441,-0.1973526448762044,-0.19034936600137087,-0.1843359640526927,-0.17910823650395713,-0.1745074510826612,-0.1704251253787561,-0.16677256292602038,-0.1634687820717815,-0.16047703934521707,-0.1571219926922396,-0.1552839298614117},
{-1.1069886075943138,-0.5983185486159712,-0.41823948871116556,-0.3383294327041426,-0.2926087763247729,-0.26293940130926075,-0.24412697992945454,-0.2281374888708072,-0.21568158826293882,-0.2056405666262009,-0.19733373907692453,-0.19033221727917038,-0.18432027112648797,-0.1790937712313294,-0.17449402942393988,-0.17041260433962435,-0.16676082692325167,-0.16345773789768003,-0.160466607226617,-0.15711827044399485,-0.15527454485342673},
{-1.1066815721296024,-0.5981407874259475,-0.4181409782224179,-0.33826406632804407,-0.292560530769844,-0.2629195582717969,-0.24409468654747712,-0.22811009153083717,-0.21565779149761255,-0.2056195326580692,-0.19731487653105262,-0.19031511059509398,-0.18430461934281084,-0.1790793461778435,-0.1744806471740219,-0.1704001220297755,-0.1667491290085792,-0.16344673122583941,-0.160456212072134,-0.15711450457177278,-0.15526519596084398},
{-1.1063744602096257,-0.5979631259911287,-0.41804255053176576,-0.3381987682143084,-0.2925123449870526,-0.2628996789045317,-0.2440624442731405,-0.22808274282061802,-0.2156340412367186,-0.2055985434132097,-0.19729605732404565,-0.19029804603501788,-0.18428900878846122,-0.17906496142502704,-0.17446730441617575,-0.17038767852999825,-0.16673746926409905,-0.1634357621334459,-0.16044585396227262,-0.15711069593292137,-0.15525588325733963},
{-1.1060672723476763,-0.5977855644113639,-0.41794420570873925,-0.3381335384409745,-0.29246421905960673,-0.2628797632706181,-0.24403025319064398,-0.22805544282324064,-0.21561033756812265,-0.20557759897884154,-0.197277281541119,-0.19028102368168476,-0.1842734395503811,-0.179050617055438,-0.17445400123644816,-0.17037527392371743,-0.16672584777285948,-0.16342483070319958,-0.1604355329781626,-0.1571068453950204,-0.15524660681588642},
{-1.1057600090571178,-0.5976081027869604,-0.41784594382656337,-0.33806837708871385,-0.2924161530719793,-0.2628598114407339,-0.243998113390127,-0.22802819162210852,-0.2155866805844724,-0.20555669944005217,-0.1972585492691863,-0.19026404362404037,-0.18425791172006,-0.17903631315221702,-0.1744407377184345,-0.17036290829859269,-0.16671426462032457,-0.16341393701523543,-0.16042524920462142,-0.1571029538351283,-0.15523736671438115},
{-1.1054526708498429,-0.5974307412174191,-0.41774776495558896,-0.3380032842362297,-0.2923681471042343,-0.26283982348811463,-0.24396602495523467,-0.22800098929695878,-0.21556307037062084,-0.20553584487855403,-0.1972398605907486,-0.19024710594197813,-0.18424242537792423,-0.17902204979585434,-0.17442751394292344,-0.17035058173127027,-0.1667027198838369,-0.1634030811502427,-0.16041500271893483,-0.1570990221327193,-0.1552281630208796},
{-1.1051452582373642,-0.5972534798036477,-0.41764966916840507,-0.33793825996367843,-0.2923202012434061,-0.26281979950520906,-0.24393398797688803,-0.22797383593428577,-0.21553950702194413,-0.20551503538529658,-0.19722121559578198,-0.190230210726142,-0.18422698061734621,-0.1790078270744715,-0.1744143300027332,-0.17033829431299807,-0.16669121365335116,-0.16339226319141176,-0.1604047936086701,-0.1570950511828073,-0.15521899581586496},
{-1.1048377717305762,-0.5970763186459855,-0.41755165653750836,-0.3378733043515929,-0.29227231557101874,-0.2627997395816095,-0.24390200253963457,-0.22794673161502743,-0.215515990624219,-0.20549427104135987,-0.19720261436740572,-0.1902133580592178,-0.18421157752314343,-0.17899364506592974,-0.17440118597618692,-0.17032604612185054,-0.16667974600684232,-0.16338148321894863,-0.16039462195277565,-0.15709104187677525,-0.1552098651680751},
{-1.104530211839478,-0.5968992578454113,-0.41745372713588225,-0.3378084174815399,-0.29222449017276375,-0.2627796438247785,-0.24387006873374872,-0.22791967642483968,-0.21549252127078233,-0.2054735519373807,-0.19718405699354236,-0.19019654802827546,-0.18419621618490112,-0.1789795038576898,-0.17438808195236533,-0.17031383724394544,-0.16666831703062002,-0.16337074131532603,-0.1603844878353371,-0.15708699511476,-0.15520077115384368},
{-1.1042225790737845,-0.5967222975026445,-0.41735588103683696,-0.33774359943329557,-0.29217672513286175,-0.2627595123437132,-0.24383818664761492,-0.22789267044550598,-0.21546909904994038,-0.20545287815931346,-0.19716554356001126,-0.1901797807197383,-0.18418089668961812,-0.1789654035327075,-0.17437501801602195,-0.17030166776643796,-0.16665692681105782,-0.16336003756404693,-0.1603743913408806,-0.15708291180523304,-0.1551917138478558},
{-1.1039148739421663,-0.5965454377186958,-0.4172581183142583,-0.337678850290672,-0.2921290205364535,-0.2627393452597033,-0.24380635637193393,-0.22786571376471443,-0.21544572405336027,-0.20543224979517305,-0.19714707415180044,-0.19016305622177043,-0.18416561912819418,-0.1789513441767525,-0.17436199425490884,-0.17028953777204237,-0.16664557542941338,-0.16334937204592848,-0.16036433254899407,-0.15707879285090343,-0.1551826933229279},
{-1.103607096952608,-0.5963686785950522,-0.4171604390421777,-0.3376141701330937,-0.29208137646886456,-0.26271914270063235,-0.24377457799530333,-0.2278388064640282,-0.2154223963719133,-0.20541166693404733,-0.1971286488592483,-0.19014637462102968,-0.18415038358713787,-0.17893732587353384,-0.1743490107542982,-0.1702774473458959,-0.16663426297319717,-0.16333874484575261,-0.16035431154733004,-0.1570746391663107,-0.15517370965731914},
{-1.103299248612597,-0.5961920202336621,-0.4170628432958594,-0.33754955904505834,-0.2920337930155412,-0.26269890479809277,-0.24374285160729414,-0.22781194862842113,-0.2153991160955684,-0.2053911296614288,-0.19711026776589335,-0.19012973600425198,-0.18413519015360436,-0.17892334870775528,-0.17433606759886544,-0.17026539657175022,-0.16662298952328314,-0.1633281560447699,-0.16034432841306057,-0.1570704516599477,-0.15516476292068404},
{-1.1029913294289635,-0.5960154627357142,-0.41696533114899736,-0.337485017108051,-0.29198627026276114,-0.2626786316987548,-0.24371117730007086,-0.22778514034590103,-0.21537588331808166,-0.20537063807008593,-0.19709193096158373,-0.19011314046102257,-0.184120038922039,-0.17890941276723282,-0.17432316488063293,-0.1702533855391053,-0.16661175516899362,-0.16331760573122978,-0.16033438323709248,-0.15706623125059593,-0.1551558531940742},
{-1.102683339907756,-0.5958390062036187,-0.41686790267825913,-0.33742054440562086,-0.29193880829830476,-0.26265832355019114,-0.24367955516459716,-0.22775838170009877,-0.21535269812878965,-0.2053501922485168,-0.19707363853318327,-0.1900965880782266,-0.1841049299762716,-0.17889551813603788,-0.17431030268357972,-0.1702414143310378,-0.16660055999403056,-0.1633070939862904,-0.16032447609835998,-0.15706197885114648,-0.1551469805494179},
{-1.102375280554245,-0.5956626507387099,-0.41677055795847195,-0.33735614102139877,-0.2918914072050143,-0.2626379805104406,-0.24364798529189358,-0.22773167277755846,-0.21532956061842867,-0.20532979228551085,-0.19705539056807453,-0.19008007894624512,-0.1840898634098096,-0.17888166490163115,-0.17429748109639576,-0.17022948303594632,-0.16658940408469647,-0.1632966208954727,-0.16031460708322953,-0.1570576953765226,-0.15513814506638823},
{-1.1020671518734666,-0.5954863964442616,-0.41667329706747225,-0.3372918070388238,-0.29184406707436494,-0.26261760274596213,-0.2436164677758086,-0.2277050136652079,-0.21530647088195565,-0.20530943827343862,-0.1970371871563188,-0.19006361315293674,-0.18407483930744206,-0.17886785314966858,-0.17428470020628595,-0.1702175917380231,-0.1665782875242101,-0.16328618654353733,-0.16030477627311512,-0.15705338174304728,-0.15512934681951407},
{-1.1017589543693624,-0.5953102434227766,-0.4165761200808653,-0.33722754254236875,-0.2917967879910748,-0.2625971904248061,-0.2435850027075901,-0.22767840444913645,-0.21528342900816,-0.2052891303023543,-0.19701902838428254,-0.19004719078800747,-0.18405985776250589,-0.1788540829671632,-0.17427196010252288,-0.17020574052438064,-0.16656721040126854,-0.163275791016531,-0.1602949837536798,-0.15704903886453536,-0.1551205858864364},
{-1.101450688545512,-0.5951341917765873,-0.41647902707561,-0.337163347616773,-0.29174957004349267,-0.2625767437286086,-0.24355359017918943,-0.22765184521465898,-0.2152604350895615,-0.20526886846317893,-0.19700091434116018,-0.19003081193991278,-0.18404491886287389,-0.1788403544424355,-0.1742592608737965,-0.17019392948253653,-0.16655617280020607,-0.16326543440113284,-0.1602852296113042,-0.15704466765452452,-0.1551118623439649},
{-1.1011423549046846,-0.594958241609266,-0.416382018130129,-0.3370992223467084,-0.29170241332084146,-0.26255626284262235,-0.24352223028662223,-0.22762533605324364,-0.215237489220776,-0.2052486528507771,-0.19698284511699882,-0.1900144767013643,-0.1840300227015419,-0.1788266676638699,-0.17424660260856228,-0.17018215869969566,-0.1665451748105653,-0.16325511678414273,-0.16027551392753736,-0.15704026902746904,-0.1551031762743591},
{-1.1008339539486762,-0.5947823930231628,-0.4162850933217257,-0.3370351668184419,-0.2916553179096866,-0.2625357479570525,-0.24349092312316145,-0.22759887704905424,-0.21521459149095534,-0.2052284835551319,-0.19696482080007627,-0.18999818516124378,-0.18401516936643958,-0.17881302271795363,-0.17423398539548884,-0.17017042826437034,-0.16653421651695766,-0.1632448382496321,-0.16026583679010997,-0.15703584388973724,-0.15509452775272337},
{-1.100525486179496,-0.5946066461225037,-0.41618825272894,-0.3369711811162297,-0.29160828389961324,-0.26251519927279077,-0.24345966878252057,-0.22757246829251443,-0.21519174199474378,-0.20520836066960868,-0.19694684148223018,-0.18998193741212788,-0.18400035894559608,-0.17879941969333402,-0.17422140932485064,-0.1701587382616907,-0.16652329800425036,-0.1632345988886854,-0.16025619828162974,-0.15703139315152015,-0.15508591685978956},
{-1.100216952097572,-0.5944310010106051,-0.4160914964307665,-0.33690726532742943,-0.291561311380633,-0.26249461699205057,-0.24342846736023205,-0.22754610987070123,-0.2151689408240145,-0.20518828428769353,-0.19692890725107048,-0.18996573354474577,-0.18398559153308724,-0.1787858586801221,-0.17420887448513867,-0.17014708878290463,-0.16651241936191497,-0.16322439878480566,-0.16024659848774547,-0.15702691771603838,-0.15507734367474768},
{-1.0999083522035065,-0.5942554577915686,-0.4159948245066225,-0.33684341953787467,-0.2915144004406045,-0.2624740013284992,-0.24339731895090466,-0.22751980187137377,-0.2151461880715786,-0.20516825450206966,-0.19691101819780954,-0.18994957364791532,-0.18397086721709854,-0.17877233976602014,-0.17419638096792056,-0.17013547991263778,-0.16650158067511,-0.16321423802783386,-0.16023703749442575,-0.15702241848312326,-0.15506880827648217},
{-1.099599686996612,-0.5940800165690874,-0.4158982370358508,-0.33677964383481296,-0.29146755117133694,-0.2624533525005077,-0.2433662236520462,-0.2274935443866326,-0.21512348383078006,-0.2051482714095627,-0.1968931744144271,-0.18993345781763793,-0.18395618609209663,-0.17875886304239685,-0.17418392886399658,-0.1701239117448594,-0.16649078203474232,-0.16320411670655943,-0.16022751538832836,-0.15701789635198793,-0.15506031074826154},
{-1.0992909569760059,-0.5939046774479841,-0.4158017340987925,-0.3367159383060354,-0.2914207636612929,-0.26243267072995735,-0.2433351815594591,-0.22746733750488346,-0.21510082819538923,-0.20512833510309036,-0.1968753759915387,-0.18991738614575127,-0.18394154824652276,-0.17874542859799192,-0.1741715182612964,-0.17011238436301568,-0.16648002352400226,-0.16319403490812334,-0.16021803225408604,-0.1570133522151238,-0.15505185117051212},
{-1.098982162639782,-0.5937294405325204,-0.41570531577562164,-0.33665230303690663,-0.29137403800122996,-0.26241195624761815,-0.24330419276788717,-0.22744118131422653,-0.21507822125748532,-0.2051084456770056,-0.19685762302044907,-0.18990135872397218,-0.18392695376972767,-0.17873203652340663,-0.17415914925280163,-0.17010089786082006,-0.16646930523348402,-0.16318399272149975,-0.16020858817749684,-0.1570087869641199,-0.15504342962331918},
{-1.0986733044858674,-0.5935543059275936,-0.41560898214766695,-0.3365887381179178,-0.29132737428286504,-0.26239120928672577,-0.2432732573770764,-0.2274150759060234,-0.21505566311080315,-0.20508860322613032,-0.196839915592534,-0.1898853756461918,-0.1839124027561354,-0.1787186869089581,-0.17414682192787723,-0.17008945232464612,-0.16645862724834615,-0.16317399023504464,-0.16019918324577276,-0.15700420147746286,-0.1550350461912302},
{-1.0983643830109884,-0.5933792737378454,-0.4155127332958841,-0.3365252436364692,-0.2912807725962665,-0.2623704300916785,-0.2432423754825166,-0.22738902137140116,-0.21503315384904909,-0.20506880784796522,-0.19682225380105933,-0.18986943700482328,-0.18389789529531697,-0.17870537984672552,-0.17413453637927745,-0.1700780478439583,-0.16644798965931784,-0.16316402753908932,-0.1601898175442642,-0.15699959663697172,-0.15502670095428073},
{-1.0980553987119421,-0.5932043440692745,-0.4154165693034244,-0.33646181968180144,-0.29123423303582996,-0.26234961890880015,-0.243211547184508,-0.22736301780095403,-0.2150106935681393,-0.20504905963785092,-0.1968046377383672,-0.18985354289658574,-0.18388343147964292,-0.1786921154267489,-0.1741222926977528,-0.1700666845131309,-0.16643739255506773,-0.1631541047201921,-0.16018049116196664,-0.1569949733169409,-0.15501839399755823},
{-1.0977463520842115,-0.5930295170269915,-0.415320490250739,-0.33639846634264714,-0.29118775568982613,-0.2623287759883084,-0.2431807725789028,-0.2273370652851412,-0.2149882823592435,-0.2050293586896217,-0.19678706749694186,-0.1898376934139563,-0.1838690113996293,-0.17867889374041823,-0.17411009097548913,-0.17005536241847352,-0.16642683602122332,-0.1631442218705672,-0.16017120418264597,-0.15699033238198723,-0.15501012540264725},
{-1.0974372436234,-0.5928547927163024,-0.41522449622196334,-0.33633518370851334,-0.29114134065320485,-0.26230790159286954,-0.24315005176826077,-0.22731116391686612,-0.2149659203202532,-0.20500970510344985,-0.19676954317228734,-0.18982188865317795,-0.18385463515029699,-0.1786657148826407,-0.1740979313051625,-0.17004408165266938,-0.16641632014722063,-0.1631343790792954,-0.16016195669556055,-0.15698567469657831,-0.15500189525564423},
{-1.0971280738237716,-0.5926801712435683,-0.4151285872988737,-0.33627197186901014,-0.2910949880171714,-0.26228699597965033,-0.2431193848475246,-0.227285313785913,-0.2149436075427218,-0.20499009897219622,-0.19675206485405283,-0.18980612870785052,-0.18384030282046382,-0.17865257894241893,-0.1740858137775092,-0.17003284230577265,-0.1664058450237036,-0.16312457643561373,-0.16015274878668606,-0.1569810011153976,-0.1549937036386808},
{-1.09681884317947,-0.5925056527151646,-0.4150327635664155,-0.33620883091634823,-0.2910486978753042,-0.2622660594224442,-0.24308877191980116,-0.22725951498743768,-0.2149213441223452,-0.2049705403952231,-0.19673463263963953,-0.18979041367531835,-0.18382601450262825,-0.17863948601505086,-0.17407373848664776,-0.17002164447022494,-0.1663954107385237,-0.1631148140298535,-0.1601435805463396,-0.15697631248599464,-0.15498555063825847},
{-1.0965095521838144,-0.5923312372374845,-0.414937025107843,-0.3361457609383436,-0.2910024703222902,-0.2622450921926571,-0.2430582130829464,-0.22723376761172176,-0.21489913015410878,-0.20495102946895116,-0.19671724662278933,-0.1897747436504531,-0.18381177029034035,-0.17862643619220364,-0.1740617055252045,-0.17001048823643572,-0.16638501738193412,-0.16310509195211154,-0.1601344520603547,-0.15697160965221713,-0.154977436336722},
{-1.0962002013293741,-0.5921569249170524,-0.41484137200775706,-0.3360827620289797,-0.2909563054499529,-0.2622240945692269,-0.24302770843897292,-0.22720807175319635,-0.21487696573360893,-0.20493156629169818,-0.1966999068963844,-0.18975911873142337,-0.18379757027665988,-0.17861342956811654,-0.17404971498591237,-0.169999373698829,-0.16637466504339216,-0.16309541029262675,-0.16012536341784767,-0.1569668934494075,-0.15496936082354296},
{-1.0958907911083067,-0.5919827158605244,-0.4147458043502432,-0.3360198342773515,-0.2909102033533486,-0.262203066837543,-0.24299725808887018,-0.22718242750429596,-0.21485485095637813,-0.2049121509608014,-0.1966826135595383,-0.18974353901455743,-0.18378341455440506,-0.1786004662370999,-0.17403776696377804,-0.1699883009482832,-0.16636435381365544,-0.16308576914391892,-0.16011631470779264,-0.1569621647084034,-0.15496132418346775},
{-1.0955813220126025,-0.5918086101757929,-0.41465032222213694,-0.3359569777765685,-0.2908641641273064,-0.2621820092813394,-0.24296686213302365,-0.2271568349594162,-0.2148327859162933,-0.20489278357173646,-0.19666536670348478,-0.1897280045965104,-0.18376930321443297,-0.17858754629086349,-0.174025861548337,-0.16997727007697705,-0.16635408378122918,-0.16307616859309348,-0.1601073060166982,-0.1569574242442826,-0.1549533265010794},
{-1.095271794532927,-0.5916346079695636,-0.4145549257074954,-0.3358941926184116,-0.29081818786558955,-0.26216092219902265,-0.24293652067373728,-0.2271312942117234,-0.21481077071225485,-0.20487346422476094,-0.19664816642599448,-0.18971251557477586,-0.18375523635218372,-0.17857466982660952,-0.1740139988373528,-0.16996628117814794,-0.16634385503999738,-0.16306660873387102,-0.1600983374377094,-0.1569526728755477,-0.15494536786743396},
{-1.0949622091594229,-0.5914607093501161,-0.4144596148928592,-0.33583147889595466,-0.2907722746654642,-0.26213980588680386,-0.2429062338125334,-0.22710580535658664,-0.21478880543702417,-0.2048541930176242,-0.19663101282274198,-0.1896970720483253,-0.18374121405964416,-0.17856183693724859,-0.17400217892311076,-0.1699553343457012,-0.16633366767887736,-0.16305708965552412,-0.16008940905739166,-0.1569479114073502,-0.15493744836679468},
{-1.0946525663819706,-0.5912869144248702,-0.41436438986497137,-0.3357688367024494,-0.2907264246197485,-0.26211866064613076,-0.24287600165195755,-0.227080368488906,-0.21476689019039696,-0.20483497004944695,-0.19661390599161166,-0.1896816741180345,-0.18372723643205546,-0.17854904771972002,-0.17399040190294102,-0.16994442967405377,-0.16632352179306764,-0.16304761145366342,-0.16008052096922398,-0.15694314064084836,-0.15492956809060843},
{-1.0943428666900843,-0.5911132233026812,-0.41426925071170473,-0.3357062661305932,-0.2906806378279825,-0.2620974867867858,-0.24284582429637425,-0.22705498370251576,-0.2147450250671099,-0.20481579541679196,-0.1965968460276173,-0.18966632187808585,-0.18371330356057314,-0.17853630226736783,-0.17397866786756566,-0.16993356725500774,-0.16631341746937522,-0.163038174214293,-0.1600716732584786,-0.1569383613643538,-0.15492172712355057},
{-1.0940331105721484,-0.590939636092159,-0.41417419751932627,-0.33564376727456136,-0.2906349143835243,-0.2620762846151692,-0.2428157018462329,-0.22702965109372286,-0.21472321016341311,-0.20479666921879414,-0.19657983302682425,-0.18965101543233231,-0.18369941553995517,-0.17852360067659845,-0.17396697691211216,-0.16992274718376166,-0.16630335480416392,-0.16302877802988291,-0.1600628660169292,-0.15693357436214228,-0.1549139255593346},
{-1.0937232985159042,-0.590766152901189,-0.4140792303755916,-0.3355813402285577,-0.2905892543843862,-0.262055054451622,-0.24278563440640255,-0.22700437075791058,-0.21470144557741122,-0.2047775915556116,-0.19656286709049908,-0.18963575487731532,-0.18368557246498796,-0.17851094304395332,-0.1739553291345075,-0.1699119695528708,-0.16629333389002454,-0.16301942299547534,-0.16005409933850245,-0.15692878040903224,-0.15490616348611752},
{-1.093413431009175,-0.5905927738391874,-0.4139843493695814,-0.3355189850870133,-0.29054365792852366,-0.26203379661549064,-0.2427556220820577,-0.2269791427934038,-0.2146797314077844,-0.20475856252571845,-0.19654594831339978,-0.18962054031686648,-0.18367177443234084,-0.17849832946694022,-0.17394372462905494,-0.16990123446075955,-0.16628335482204903,-0.16301010920226844,-0.16004537331264146,-0.15692398027527332,-0.15489844099521122},
{-1.0931035085385972,-0.5904194990152654,-0.41388955458927157,-0.3354567019462351,-0.29049812511206596,-0.26201251142752113,-0.2427256649757723,-0.22695396729397999,-0.21465806774992302,-0.20473958222841304,-0.1965290767943202,-0.1896053718495878,-0.18365802153392963,-0.1784857600404024,-0.17393216349159246,-0.16989054199913056,-0.16627341769204662,-0.16300083673988297,-0.16003668803072202,-0.15691917471765748,-0.15489075817754383},
{-1.0927935315907895,-0.5902463285394326,-0.4137948461236043,-0.33539449089849427,-0.2904526560334162,-0.2619911992190538,-0.24269576319260722,-0.2269288443580919,-0.21463645470146986,-0.20472065076028656,-0.19651225263130812,-0.18959024957585058,-0.183644313862402,-0.17847323486135735,-0.17392064581571987,-0.16987989226362288,-0.16626352259433475,-0.16299160570302007,-0.16002804358416967,-0.15691436448889817,-0.1548831151236314},
{-1.0924835006510882,-0.5900732625217486,-0.4137002240638701,-0.3353323520427409,-0.2904072507914748,-0.26196986031953173,-0.24266591683799987,-0.2269037740830413,-0.2146148923626967,-0.2047017682245098,-0.19649547592400296,-0.18957517360076537,-0.18363065151690705,-0.17846075403007688,-0.1739091717011405,-0.16986928535134638,-0.16625366962480825,-0.1629824161838016,-0.16001944006481494,-0.15690955033443998,-0.15487551192806137},
{-1.092173416204762,-0.5899003010713422,-0.4136056884973449,-0.33527028547425886,-0.2903619094827974,-0.26194849506588014,-0.24263612601563267,-0.2268787565652275,-0.21459338082992474,-0.20468293471607524,-0.19647874676770272,-0.1895601440208594,-0.18361703459027723,-0.17844831763998314,-0.1738977412403102,-0.1698587213538545,-0.16624385887673299,-0.16297326827453418,-0.16001087756702503,-0.15690473298448637,-0.1548679486812503},
{-1.091863278736401,-0.5897274442994558,-0.41351123951677593,-0.33520829128884344,-0.2903166322110735,-0.2619271037993087,-0.2426063908333731,-0.22685379190514965,-0.21457192020424287,-0.20466415034078977,-0.1964620652671769,-0.18954516094364493,-0.18360346318153375,-0.1784359257936643,-0.17388635453505685,-0.16984820037273352,-0.16623409044976256,-0.16296416207021736,-0.16000235618472658,-0.15689991317325536,-0.15486042547995993},
{-1.0915530887300697,-0.5895546923166606,-0.4134168772119651,-0.33514636958527433,-0.29027141907081244,-0.26190568686000404,-0.24257671139503145,-0.22682888019911474,-0.214550510581752,-0.20464541519270796,-0.1964454315172759,-0.18953022446955714,-0.18358993738377194,-0.17842357858697255,-0.1738750116768344,-0.1698377224977463,-0.1662243644362036,-0.16295509766057137,-0.15999387600663084,-0.1568950916164482,-0.15485294241297254},
{-1.0912428466692319,-0.5893820452332577,-0.41332260167406787,-0.3350845204584587,-0.2902262701640339,-0.2618842445974323,-0.24254708780801337,-0.2268040215463003,-0.21452915206441503,-0.20462672937425452,-0.19642884562088625,-0.18951533470187343,-0.1835764572936256,-0.1784112761192418,-0.17386371276764123,-0.16982728783055023,-0.16621468093448044,-0.16294607514343085,-0.15998543713020297,-0.15689026902847303,-0.15484549957864147},
{-1.0909325530367049,-0.5892095031615021,-0.413228412994723,-0.3350227440076381,-0.29018118559041284,-0.2618627773583526,-0.24251752017944028,-0.22677921604648787,-0.21450784474871654,-0.20460809298399596,-0.19641230767523865,-0.18950049174485883,-0.183563023007558,-0.17839901848958561,-0.17385245790339354,-0.1698168964629332,-0.16620504003996217,-0.16293709460885708,-0.15997703964855958,-0.1568854461102802,-0.1548380970701828},
{-1.0906222083146027,-0.5890370662118691,-0.4131343112660453,-0.3349610403305263,-0.2901361654505692,-0.26184128550109165,-0.24248800861336406,-0.22675446379783182,-0.2144865887364915,-0.20458950612441384,-0.1963958177819194,-0.1894856957013218,-0.18354963462265061,-0.17838680579728106,-0.17384124718026328,-0.16980654849444932,-0.16619544185012103,-0.16292815615387468,-0.15996868365444783,-0.15688062356081645,-0.15483073498207744},
{-1.0903118129854512,-0.5888647344975304,-0.41304029658160957,-0.3348994095271607,-0.2900912098483417,-0.2618197693811197,-0.2424585532206791,-0.2267297649031832,-0.21446538412815386,-0.20457096889538917,-0.19637937604233002,-0.18947094667760922,-0.18353629223702228,-0.17837463814372256,-0.173830080699922,-0.16979624402146953,-0.16618588646375798,-0.1629192598701863,-0.15996036924613577,-0.15687580206662233,-0.1548234134100568},
{-1.0900013675297977,-0.5886925081297392,-0.4129463690327668,-0.3348378516949424,-0.29004631888052756,-0.2617982293577441,-0.242429154105551,-0.22670511945921135,-0.21444423102237664,-0.20455248139548132,-0.19636298255561258,-0.18945624477731116,-0.1835229959475484,-0.1783625156278248,-0.1738189585568506,-0.16978598313942683,-0.16617637397580154,-0.16291040585299754,-0.15995209651492104,-0.1568709823074812,-0.15481613244839565},
{-1.0896908724286334,-0.5885203872210241,-0.41285252871404055,-0.3347763669334256,-0.2900014926521237,-0.2617766657972851,-0.24239981137829147,-0.22668052756881707,-0.2144231295223591,-0.20453404372754136,-0.19634663742508707,-0.1894415901051758,-0.18350974585146673,-0.1783504383502077,-0.1738078808539214,-0.16977576594759114,-0.16616690448650218,-0.16290159419774142,-0.15994386555674112,-0.1568661649570373,-0.15480889219507077},
{-1.0893803281621324,-0.5883483718841838,-0.4127587757186397,-0.3347149553425055,-0.28995673126368615,-0.2617550790628371,-0.24237052514518354,-0.22665598933112818,-0.21440207972568714,-0.20451565599117316,-0.19633034074693256,-0.18942698276734404,-0.1834965420475072,-0.1783384064130331,-0.17379684768640402,-0.16976559254189283,-0.16615747809157,-0.16289282500105173,-0.15993567646987117,-0.15686135067952733,-0.15480169274280797},
{-1.0890697352097263,-0.5881764622324575,-0.4126651101411909,-0.33465361702359075,-0.28991203481850647,-0.26173346952781174,-0.24234129551484074,-0.2266315048492018,-0.21438108173698112,-0.20449731828750117,-0.19631409262900945,-0.18941242286940962,-0.1834833846339805,-0.1783264199149457,-0.17378585915559341,-0.16975546301944888,-0.16614809489122706,-0.1628840983555193,-0.15992752934798915,-0.15685654013172723,-0.15479453419041533},
{-1.088759094050932,-0.5880046583793401,-0.41257153207662967,-0.3345923520751981,-0.2898674034209634,-0.26171183756461147,-0.24231212259588375,-0.22660707422356552,-0.2143601356550917,-0.20447903071818274,-0.1962978931694792,-0.18939791051732868,-0.18347027370970181,-0.17831447895977703,-0.17377491536123557,-0.16974537748019003,-0.1661387549824056,-0.16287541435720243,-0.15991942428910733,-0.15685173396438046,-0.15478741663257978},
{-1.0884484051640015,-0.5878329604381562,-0.4124780416193836,-0.3345311606008039,-0.28982283717135005,-0.2616901835470955,-0.24228300649708956,-0.2265826975569709,-0.21433924158396422,-0.20446079338593393,-0.1962817424700205,-0.18938344581840028,-0.18345720937524845,-0.17830258364925555,-0.17376401640331096,-0.16973533601849766,-0.1661294584658961,-0.16286677310359465,-0.15991136138952555,-0.1568469328171176,-0.1547803401644643},
{-1.08813766902664,-0.5876613685227525,-0.4123846388646406,-0.33447004269874014,-0.28977833617577176,-0.26166850785756424,-0.2422539473288836,-0.22655837495224063,-0.21431839962557575,-0.20444260639030176,-0.19626564063603524,-0.1893690288807406,-0.18344419172940007,-0.17829073408590546,-0.17375316238273797,-0.16972533873750706,-0.16612020544035744,-0.16285817469007924,-0.15990334074606238,-0.15684213732767915,-0.15477330488555907},
{-1.0878268861168578,-0.5874898827482227,-0.41229132391016776,-0.33440899847362004,-0.2897339005374633,-0.26164681087274033,-0.24222494519832338,-0.22653410651039252,-0.21429760988045388,-0.20442446983340545,-0.19624958776531543,-0.1893546598081599,-0.18343122087119212,-0.17827893036987774,-0.17374235339708122,-0.1697153857310596,-0.16611099600198287,-0.16284961921334684,-0.15989536245475477,-0.15683734811739924,-0.15476631088831994},
{-1.0875160569117384,-0.5873185032283814,-0.4121980968505454,-0.3343480280266533,-0.28968953036226,-0.26162509298151804,-0.24219600021676513,-0.22650989233639507,-0.2142768724558195,-0.2044063838197161,-0.19623358396622592,-0.1893403387109558,-0.18341829690199773,-0.17826717260731328,-0.1737315895510534,-0.16970547710003103,-0.16610183025395742,-0.16284110677144525,-0.15988742661829036,-0.15683256581036886,-0.15475935827394238},
{-1.087205181887171,-0.5871472300788909,-0.41210495778290124,-0.3342871314592628,-0.2896452257539437,-0.2616033545682015,-0.24216711249361111,-0.2264857325334404,-0.21425618745109887,-0.20438834844931364,-0.19621762933711295,-0.18932606569515542,-0.1834054199232824,-0.1782554609009992,-0.17372087094514654,-0.16969561294333602,-0.16609270829393097,-0.16283263745935272,-0.15987953333148397,-0.15682779101673816,-0.15475244713474012},
{-1.086894261519511,-0.5869760634139958,-0.41201190680481403,-0.3342263088775397,-0.2896009868180016,-0.2615815960225234,-0.24213828213810729,-0.2264616272062554,-0.21423555497176494,-0.20437036382647022,-0.19620172398494162,-0.18931184087207242,-0.18339259003695219,-0.17824379535328916,-0.17371019768017248,-0.16968579336155898,-0.1660836302229285,-0.1628242113788474,-0.1598716826954032,-0.1568230243419606,-0.15474557757008256},
{-1.0865832962840187,-0.5868050033509036,-0.41191894401437423,-0.33416556038178413,-0.28955681366046804,-0.2615598177384797,-0.24210950926242703,-0.2264375764571227,-0.21421497512206145,-0.20435243005216108,-0.19618586801082216,-0.18929766434589368,-0.18337980733999615,-0.17823217606667185,-0.1736995698579804,-0.16967601845124847,-0.16607459613842934,-0.16281582862356458,-0.15986387480627684,-0.15681826638306973,-0.1547387496743582},
{-1.0862722866559302,-0.5866340500044522,-0.4118260695086846,-0.33410488607656674,-0.2895127063875904,-0.2615380201059381,-0.24208079397592996,-0.22641358039302872,-0.21419444800547893,-0.20433454723139022,-0.19617006151852223,-0.18928353622763439,-0.18336707193812884,-0.17822060314793475,-0.17368898758051898,-0.16966628831339392,-0.16606560614248167,-0.16280748929441557,-0.1598561097638651,-0.15681351772892782,-0.1547319635454869},
{-1.0859612331089892,-0.5864632034909434,-0.41173328338667403,-0.33404428606772285,-0.28946866510565883,-0.2615162035263552,-0.24205213638812495,-0.2263896391175706,-0.21417397372750457,-0.20431671546744923,-0.19615430461465166,-0.1892694566270947,-0.18335438393394554,-0.17820907670102315,-0.17367845095164824,-0.16965660304857266,-0.16605666033610333,-0.16279919349086924,-0.15984838767139564,-0.15680877896512158,-0.15472521927992489},
{-1.0856501361177138,-0.5862924639272471,-0.4116405857471719,-0.3339837604567606,-0.2894246899228321,-0.261494368396626,-0.24202353661221565,-0.2263657527368892,-0.2141535523941016,-0.20429893486416262,-0.1961385974013865,-0.1892554256519503,-0.18334174343007703,-0.1781975968312608,-0.17366796007378582,-0.16964696275883995,-0.16604775881867084,-0.16279094130949545,-0.15984070862734256,-0.1568040506670414,-0.15471851697513017},
{-1.0853389961551976,-0.5861218314303152,-0.4115479766899739,-0.3339233093529259,-0.2893807809448745,-0.2614725151191024,-0.24199499475955122,-0.22634192135903675,-0.214133184110338,-0.20428120552703177,-0.19612293998604713,-0.18924144341355031,-0.1833291505299144,-0.178186163643673,-0.17365751505211335,-0.16963736754378544,-0.16603890169181312,-0.16278273285276867,-0.1598330727317645,-0.15679933340334884,-0.15471185672718235},
{-1.085027813694083,-0.5859513061177246,-0.41145545631443525,-0.33386293285850854,-0.28933693828160045,-0.2614506440978559,-0.2419665109410758,-0.22631814508847015,-0.21411286898253934,-0.20426352755879407,-0.19610733247248646,-0.18922751002033777,-0.18331660533475258,-0.1781747772422122,-0.1736471159873929,-0.16962781750606126,-0.16603008905591565,-0.16277456821891434,-0.15982548008581432,-0.15679462773747588,-0.15470523863262997},
{-1.0847165892073463,-0.5857808881067541,-0.4113630247215809,-0.33380263108058017,-0.28929316203977606,-0.26142875573583524,-0.2419380852707249,-0.22629442403447086,-0.21409260711755707,-0.20424590106663487,-0.19609177496668195,-0.1892136255837329,-0.183304107952992,-0.17816343773550614,-0.1736367629867459,-0.16961831274861083,-0.1660213210129271,-0.16276644750927005,-0.1598179307923573,-0.15678993422603327,-0.1546986627893432},
{-1.0844053231664148,-0.5856105775155811,-0.41127068201092953,-0.33374240412501166,-0.2892494523278515,-0.2614068504427962,-0.24190971785412785,-0.2262707582997905,-0.21407239862126204,-0.20422832615276576,-0.19607626757216678,-0.18919979021079314,-0.18329165848420104,-0.17815214522634193,-0.17362645615241945,-0.1696088533702138,-0.16601259766193976,-0.16275837082224598,-0.15981042495150888,-0.15678525341490968,-0.15469212929295395},
{-1.0840940160427763,-0.585440374462511,-0.4111784282839466,-0.3336822520988676,-0.2892058092572185,-0.26138492862931173,-0.241881408811075,-0.2262471479976682,-0.2140522436034189,-0.20421080292744875,-0.19606081040011247,-0.18918600401504193,-0.18327925703768244,-0.17814089982490344,-0.17361619559219577,-0.16959943947873768,-0.16600391910863266,-0.1627503382629456,-0.15980296266884153,-0.15678058584967403,-0.15468563824245507},
{-1.0837826683076308,-0.5852702790665099,-0.4110862636430852,-0.33362217510984493,-0.28916223293433774,-0.2613629907054573,-0.24185315824996678,-0.22622359323408148,-0.21403214216836375,-0.20419333149410335,-0.19604540355186373,-0.18917226710719603,-0.18326690371692678,-0.1781297016343686,-0.17360598140643901,-0.16959007117325342,-0.1659952854517286,-0.1627423499293883,-0.1597955440426233,-0.15677593206481077,-0.15467918973003236},
{-1.083471280430789,-0.5851002914458334,-0.4109941881889796,-0.33356217326267057,-0.28911872347070044,-0.2613410370869289,-0.24182496628430528,-0.22620009411828335,-0.21401209442755942,-0.20417591196064677,-0.19603004713896155,-0.189158579597418,-0.1832545986277836,-0.17811855076392646,-0.17359581370625676,-0.16958074856257355,-0.16598669679506628,-0.16273440592507882,-0.1597881691791585,-0.15677129259331224,-0.1546727838596169},
{-1.0831598528828223,-0.5849304117209613,-0.4109022020244879,-0.3335022466683455,-0.2890752809762702,-0.2613190681844486,-0.24179683302759258,-0.22617665075819815,-0.21399210048896578,-0.20415854443302806,-0.1960147412645341,-0.1891449415968509,-0.18324234187757327,-0.17810744732103245,-0.17358569259567247,-0.16957147174812803,-0.16597815323958542,-0.16272650635227137,-0.15978083817955735,-0.1567666679555515,-0.1546664207220445},
{-1.082848386132536,-0.5847606400108987,-0.4108103052522125,-0.3334423954329324,-0.28903190556097513,-0.2612970844209457,-0.24176875858956492,-0.22615326326570795,-0.21397216046086243,-0.20414122902086973,-0.19599948603941186,-0.18913135321619023,-0.18323013357028373,-0.17809639141236033,-0.17357561817838985,-0.16956224083473614,-0.16596965488837867,-0.16271865131368912,-0.15977355114851122,-0.1567620586696563,-0.15466010041795641},
{-1.082536880649812,-0.5845909764365658,-0.4107184979763616,-0.3333826196671197,-0.2889885973394044,-0.2612750862144395,-0.24174074308886873,-0.2261299317507124,-0.21395227445425036,-0.20412396583299852,-0.19598428157219416,-0.18911781456947807,-0.1832179738174773,-0.1780853831471063,-0.1735655905637472,-0.16955305593153014,-0.16596120184621554,-0.16271084091127364,-0.1597663081919265,-0.15675746524800616,-0.1546538230431267},
{-1.0822253369024004,-0.5844214211178489,-0.4106267802995873,-0.333322919478789,-0.2889453564179547,-0.26125307398154973,-0.2417127866339044,-0.22610665632267057,-0.2139324425774447,-0.20410675497505792,-0.19596912796754395,-0.18910432576549852,-0.1832058627225237,-0.17807442263096362,-0.17355560985761542,-0.1695439171391726,-0.16595279421289888,-0.1627030752484373,-0.1597591094099755,-0.1567528881940916,-0.15464758869303807},
{-1.0819137553584497,-0.5842519741757322,-0.410535152326581,-0.3332632949775274,-0.2889021829124587,-0.2612310481496891,-0.24168488934304122,-0.2260834370941751,-0.2139126649437202,-0.20408959655993186,-0.19595402533914097,-0.18909088691863474,-0.18319380039572764,-0.1780635099745993,-0.17354567616902727,-0.16953482457022062,-0.16594443209406506,-0.16269535443144179,-0.15975195491091654,-0.15674832800970506,-0.15464139746679706},
{-1.0816021364858344,-0.5840826357315443,-0.41044361416093267,-0.333203746272531,-0.28885907693301505,-0.26120900913751655,-0.24165705132597282,-0.2260602741758646,-0.21389294166101536,-0.20407249069605626,-0.19593897379181868,-0.1890774981390848,-0.18318178694491394,-0.17805264528772824,-0.17353578960307914,-0.16952577832725524,-0.165936115592757,-0.16268767856353605,-0.15974484479877304,-0.15674378518939847,-0.1546352494612293},
{-1.0812904807511217,-0.5839134059069373,-0.41035216590961454,-0.3331442734759449,-0.2888160385938576,-0.2611869573746475,-0.24162927269905765,-0.2260371676797348,-0.21387327284357127,-0.20405543749331656,-0.19592397343993895,-0.18906415954079137,-0.18316982247931435,-0.17804182867655527,-0.17352595026716244,-0.169516778517405,-0.16592784481185419,-0.16268004774677536,-0.1597377791787622,-0.15673926021835882,-0.15462914477193124},
{-1.080978788621369,-0.5837442848244443,-0.41026080767620243,-0.3330848766972494,-0.28877306800833935,-0.26116489328672543,-0.24160155357596835,-0.22601411772014757,-0.21385365860021466,-0.20403843706490932,-0.19590902438967817,-0.18905087123545883,-0.18315790710722268,-0.17803106025246507,-0.1735161582720508,-0.16950782525098873,-0.16591961985820092,-0.1626724620891835,-0.1597307581570817,-0.15673475358168076,-0.15462308349633958},
{-1.0806670605628312,-0.5835752726060441,-0.410169539567498,-0.333025556048689,-0.28873016528859097,-0.26114281730071554,-0.24157389407190522,-0.2259911244097026,-0.21383409904706951,-0.2040214895219421,-0.19589412675404105,-0.18903763333707246,-0.18314604094054943,-0.17802034012584755,-0.17350641372569697,-0.16949891863511368,-0.16591144083257348,-0.1626649216962548,-0.15972378184157066,-0.15673026575518634,-0.15461706573100287},
{-1.0803552970406862,-0.5834063693738365,-0.41007836168908085,-0.3329663116395736,-0.2886873305498412,-0.2611207298488054,-0.2415462943008322,-0.22596818786120565,-0.21381459429547078,-0.204004594975828,-0.19587928064525784,-0.1890244459586583,-0.1831342240883842,-0.17800966840600552,-0.17349671673508027,-0.16949005877992107,-0.16590330784467966,-0.1626574266713945,-0.1597168503361317,-0.15672579721356072,-0.15461109157426733},
{-1.0800434985206664,-0.5832375752519638,-0.40998727414845604,-0.3329071435829576,-0.28864456390578397,-0.2610986313578678,-0.24151875437754455,-0.22594530818897596,-0.21379514445614944,-0.2039877535386907,-0.1958644861689791,-0.18901130921029363,-0.18312245666046323,-0.17799904520212095,-0.1734870674093969,-0.16948124579010226,-0.16589522099489784,-0.1626499771243246,-0.15970996374600333,-0.1567213484177543,-0.15460516112008094},
{-1.0797316654673885,-0.5830688903635313,-0.4098962770521908,-0.33284805199199496,-0.2886018654721809,-0.2610765222658529,-0.24149127441801,-0.2259224855085904,-0.21377574964741797,-0.20397096532687442,-0.19584974344360262,-0.18899822320783954,-0.18311073876944306,-0.17798847062741174,-0.17347746585846835,-0.16947247977703483,-0.1658871803909605,-0.16264257315955888,-0.15970312218522764,-0.15671691983350655,-0.1545992744674365},
{-1.0794197983450715,-0.5829003148327985,-0.40980537050865706,-0.3327890369787738,-0.2885592353641542,-0.26105440300134575,-0.2414638545363843,-0.22589971993291869,-0.21375640998015655,-0.20395423045160754,-0.19583505257728007,-0.18898518806491893,-0.1830990705247615,-0.1779779447905625,-0.17346791219190294,-0.16946376085035553,-0.16587918613968355,-0.16263521488342292,-0.15969632575614412,-0.1567125119153232,-0.15459343171213646},
{-1.0791078976179769,-0.582731848783169,-0.4097145546251397,-0.3327300986574997,-0.2885166736965914,-0.2610322740015789,-0.24143649484926044,-0.22587701158103357,-0.2137371255708942,-0.203937549030357,-0.19582041368590097,-0.18897220389673208,-0.1830874520418888,-0.17796746780545902,-0.17345840651947242,-0.1694550891214277,-0.1658712383468881,-0.16262790240816827,-0.1596895745702156,-0.15670812511631027,-0.15458763295193734},
{-1.0787959637492115,-0.5825634923409275,-0.40962382951079235,-0.3326712371396354,-0.2884741805868032,-0.26101013570312404,-0.24140919547163975,-0.22585436056539265,-0.21371789653381512,-0.20392092117594274,-0.19580582688045212,-0.1889592708114165,-0.18307588342692327,-0.1779570397793293,-0.17344894894950613,-0.16944646469651303,-0.1658633371168392,-0.16262063583735653,-0.1596828687318208,-0.15670375987898666,-0.15458187828224368},
{-1.0784839972020386,-0.5823952456301917,-0.4095331952743848,-0.3326124525401326,-0.2884317561495493,-0.2609879885389148,-0.2413819565201507,-0.2258317670054737,-0.21369872298430437,-0.20390434700492932,-0.1957912922728795,-0.18894638892885496,-0.1830643647996908,-0.17794666082805577,-0.17343953959296243,-0.16943788768800516,-0.16585548255887517,-0.16261341528014128,-0.15967620835122176,-0.1566994166478608,-0.15457616779963956},
{-1.0781719984388083,-0.5822271087759212,-0.4094426520251133,-0.33255374497356627,-0.288389400503398,-0.2609658329517117,-0.24135477810993677,-0.22580923101503458,-0.2136796050387133,-0.20388782663409444,-0.19577680998182956,-0.18893355836062398,-0.1830528962679665,-0.17793633106230544,-0.1734301785596699,-0.1694293582052353,-0.1658476747801103,-0.16260624084733877,-0.15966959354007315,-0.15669509585845276,-0.15457050160210883},
{-1.0778599679221692,-0.5820590819059923,-0.4093521998742631,-0.33249511455522907,-0.2883471137671165,-0.2609436693795928,-0.24132766035813802,-0.2257867527142281,-0.2136605428136562,-0.20387136017961183,-0.19576238011680402,-0.18892077922065198,-0.18304147794785308,-0.17792605059507594,-0.17342086595974848,-0.16942087635904102,-0.16583991388709762,-0.1625991126452675,-0.15966302440408242,-0.15669079794135854,-0.15456487978596556},
{-1.0775479061130255,-0.5818911651443948,-0.40926183892967316,-0.33243656140079736,-0.2883048960546688,-0.2609214982601884,-0.2413006033822782,-0.22576433221953351,-0.21364153642575445,-0.2038549477612719,-0.19574800279702487,-0.18890805162661906,-0.1830301099545153,-0.17791581954109148,-0.17341160190641602,-0.16941244226256202,-0.1658321999908452,-0.1625920307881472,-0.15965650105607665,-0.15668652332683308,-0.1545593024494636},
{-1.0772358134731626,-0.5817233586190085,-0.4091715693037372,-0.33237808562260795,-0.28826274748711,-0.26089932003718985,-0.24127360729664105,-0.22574196964962567,-0.21362258599182837,-0.20383858949441702,-0.19573367813566733,-0.18889537568918513,-0.1830187923978599,-0.17790563801024462,-0.17340238650809425,-0.1694040560252148,-0.16582453319756496,-0.16258499538271565,-0.1596500236057281,-0.15668227243561716,-0.15455376968756696},
{-1.0769236904632145,-0.581555662456676,-0.40908139110712227,-0.332319687339627,-0.2882206681829871,-0.2608771351504373,-0.2412466722215214,-0.22571966512346364,-0.21360369163177495,-0.20382228549846104,-0.19571940624808803,-0.18888275152740164,-0.18300752539724385,-0.17789550611956173,-0.17339321987834921,-0.16939571775811402,-0.1658169136170926,-0.16257800654214805,-0.15964359216253143,-0.15667804568791865,-0.15454828160092404},
{-1.0766115375439895,-0.581388076785263,-0.40899130445167486,-0.3322613666676375,-0.2881786582585235,-0.2608549440436434,-0.2412197982699027,-0.22569741875917515,-0.2135848534601763,-0.20380603589257618,-0.1957051872508444,-0.18887017925216298,-0.18299630906528108,-0.17788542397934748,-0.17338410212480682,-0.16938742757246672,-0.16580934135767222,-0.1625710643743119,-0.15963720683819815,-0.15667384349551128,-0.1545428382838807},
{-1.0762993551751556,-0.5812206017321984,-0.40890130944980285,-0.33220312372338867,-0.28813671783819217,-0.2608327471629792,-0.24119298556380642,-0.22567523067870354,-0.2135660715995229,-0.20378984079657414,-0.19569102126268945,-0.18885765898271245,-0.18298514352012063,-0.17787539170804934,-0.17337503336386106,-0.16937918558211607,-0.16580181653155535,-0.16256416899423698,-0.15963086774582536,-0.15666966627026824,-0.1545374398365027},
{-1.075987143816576,-0.5810532374263531,-0.40881140621348067,-0.3321449586254204,-0.28809484703709387,-0.2608105449476099,-0.24116623421788574,-0.22565310099962943,-0.21354734616541293,-0.2037737003292719,-0.1956769083992569,-0.18884519083112394,-0.18297402887572645,-0.17786540941743567,-0.17336601370259075,-0.16937099189641458,-0.1657943392461192,-0.16255732051212135,-0.1596245749917884,-0.1566655144165665,-0.1545320863546209},
{-1.0756749039268385,-0.5808859839956142,-0.4087215948564378,-0.33208687148833604,-0.2880530459782733,-0.26078833784769984,-0.24113954435101448,-0.22563102984217664,-0.2135286772799958,-0.2037576146110709,-0.19566284877888052,-0.18883277491534045,-0.18296296524852096,-0.17785547722527184,-0.17335704325891044,-0.1693628466310244,-0.16578690961566878,-0.16255051904138185,-0.1596183286951529,-0.15666138833901755,-0.15452677794252168},
{-1.0753626359653268,-0.5807188415701141,-0.40863187549185653,-0.3320288624330985,-0.28801131478173403,-0.2607661263060663,-0.24111291608157615,-0.22560901732821037,-0.21351006505987868,-0.20374158376257867,-0.19564884251625614,-0.1888204113496883,-0.1829519527553316,-0.1778455952422675,-0.17334812214009077,-0.1693547498957031,-0.16577952774736104,-0.1625437646929484,-0.1596121289633956,-0.15665728843151783,-0.1545215146933714},
{-1.0750503403901774,-0.5805518102782052,-0.40854224823297614,-0.33197093157646407,-0.2879696535677425,-0.2607439107708984,-0.24108634952635555,-0.2255870635789421,-0.21349150962729624,-0.20372560790637095,-0.19563488973572873,-0.18880810025176942,-0.18294099151604826,-0.17783576358927178,-0.17333925046268206,-0.169346701804038,-0.16577219375437835,-0.1625370575820284,-0.15960597591077885,-0.1566532150898965,-0.15451629671026978},
{-1.0747380176594667,-0.5803848902514979,-0.40845271319626164,-0.3319130790390119,-0.2879280624607361,-0.2607216916897599,-0.24105984480561915,-0.2255651687156046,-0.2134730111036376,-0.20370968716255078,-0.1956209905539268,-0.18879584173701858,-0.18293008164589963,-0.17782598237975122,-0.1733304283372803,-0.16933870246916882,-0.1657649077499599,-0.16253039782037604,-0.15959986965130923,-0.15664916870290568,-0.15451112409478895},
{-1.074425668230404,-0.5802180816190621,-0.40836327049441934,-0.33185530493863524,-0.28788654157929017,-0.2606994695083813,-0.24103340203571122,-0.22554333285967942,-0.2134545696077268,-0.2036938216517612,-0.19560714509066912,-0.18878363592148162,-0.18291922326408638,-0.1778162517305546,-0.17332165587943393,-0.16933075200336134,-0.16575766984563245,-0.16252378552238156,-0.15959381029534114,-0.1566451496571446,-0.15450599694410982},
{-1.0741132925601917,-0.5800513845121635,-0.40827392024398534,-0.3317976093963111,-0.28784509104901446,-0.2606772446779573,-0.24100702133841168,-0.2255215561341828,-0.21343618526262986,-0.20367801149774323,-0.19559335346654905,-0.18877148292288126,-0.18290841648858702,-0.17780657175824643,-0.173312933202169,-0.1693228505209703,-0.16575048015305072,-0.16251722080467346,-0.15958779795878542,-0.1566411583341818,-0.15450091536502697},
{-1.0738008911060426,-0.5798847990619684,-0.40818466256031627,-0.33173999253055086,-0.28780371099072966,-0.26065501764507104,-0.24098070283089612,-0.2254998386601983,-0.2134178581881443,-0.2036622568212394,-0.1955796157995806,-0.18875938285664517,-0.18289766143974617,-0.17779694258162237,-0.17330426042155977,-0.16931499813641437,-0.16574333878711656,-0.1625107037800788,-0.15958183275610338,-0.15663719511329788,-0.15449587945632004},
{-1.0734884643238374,-0.579718325399945,-0.40809549756047403,-0.33168245446385214,-0.2877624015278357,-0.2606327888611659,-0.2409544466314273,-0.22547818056182223,-0.21339958850690977,-0.20364655774573492,-0.19556593221553698,-0.18874733584138426,-0.18288695823708423,-0.17778736431604614,-0.17329563765043332,-0.16930719496226487,-0.1657362458602094,-0.16250423456222762,-0.15957591479941158,-0.1566332603669096,-0.15449088932469834},
{-1.073176012669716,-0.5795519636586342,-0.40800642535995735,-0.33162499531565004,-0.28772116278534554,-0.26061055877536177,-0.24092825286120956,-0.22545658196223428,-0.21338137634119647,-0.20363091439291736,-0.19555230283380354,-0.18873534199343567,-0.1828763069989705,-0.17777783708215367,-0.1732870650059226,-0.1692994411124218,-0.16572920148853854,-0.1624978132705479,-0.1595700442066743,-0.15662935446837878,-0.15448594507233082},
{-1.0728635365989838,-0.5793857139701828,-0.40791744607742686,-0.331567615209444,-0.2876799948862825,-0.2605883278384695,-0.2409021216381717,-0.22543504298488415,-0.21336322181544887,-0.2036153268871317,-0.19553872777726156,-0.18872340143129662,-0.18286570784870548,-0.17776836099667293,-0.17327854260463482,-0.16929173670190067,-0.1657222057842631,-0.16249144001823623,-0.1595642210898376,-0.15662547778293145,-0.15448104680486097},
{-1.0725510365670523,-0.5792195764668477,-0.4078285598288858,-0.3315103142642428,-0.2876388979566471,-0.2605660965017904,-0.24087605308346127,-0.2254135637530723,-0.21334512505100633,-0.20359979535231787,-0.19552520717112998,-0.18871151427411803,-0.18285516090556797,-0.17775893617919536,-0.17327007056154997,-0.16928408184712396,-0.16571525886617877,-0.16248511492307927,-0.15955844556556542,-0.1566216306781385,-0.154476194630071},
{-1.072238513028605,-0.5790535512833941,-0.407739766734764,-0.33145309260486755,-0.287597872118468,-0.2605438652132861,-0.24085004731671944,-0.22539214439139243,-0.21332708616985485,-0.20358431990862869,-0.19551174113221492,-0.1886996806359349,-0.18284466628866625,-0.17774956274767817,-0.1732616489949521,-0.16927647666000212,-0.16570836084537888,-0.1624788381004194,-0.15955271774731017,-0.15661781350804915,-0.15447138865275178},
{-1.0719259664382434,-0.5788876385521249,-0.40765106691131336,-0.33139595035301284,-0.2875569174999555,-0.26052163442996346,-0.240824104456415,-0.22537078502504215,-0.213309105299345,-0.20356890068356392,-0.19549832979230786,-0.18868790063936558,-0.18283422412552142,-0.17774024082402207,-0.1732532780228908,-0.16926892125871973,-0.16570151184127724,-0.1624726096703597,-0.15954703775421564,-0.15661402663715762,-0.15446662898204977},
{-1.0716133972498696,-0.5787218384082706,-0.4075624604796815,-0.33133888763117625,-0.2875160342273162,-0.26049940460083576,-0.2407982246240863,-0.22534948577747826,-0.21329118256041113,-0.20355353779795848,-0.1954849732714834,-0.18867617440141515,-0.18282383453249196,-0.17773097052744902,-0.17324495776288984,-0.16926141575609677,-0.16569471196844887,-0.16246642974716963,-0.15954140570064368,-0.15661027041127085,-0.15446191572554113},
{-1.07130080591687,-0.5785561509855128,-0.4074739475578042,-0.33128190456523043,-0.28747522242419166,-0.26047717617800714,-0.2407724079397937,-0.22532824677571028,-0.21327331807876249,-0.2035382313772942,-0.1954716716973266,-0.18866450204226481,-0.18281349763714871,-0.17772175197841733,-0.17323668833535777,-0.16925396027038175,-0.1656879613465989,-0.16246029845240884,-0.15953582170462255,-0.1566065451851486,-0.1544572489937508},
{-1.070988192893239,-0.5783905764197073,-0.40738552826745433,-0.3312250012775806,-0.2874344822201991,-0.2604549496153794,-0.2407466545240453,-0.22530706814303159,-0.2132555119789572,-0.2035229815456887,-0.19545842519368506,-0.188652883678337,-0.1828032135576123,-0.17771258529641898,-0.17322846985801021,-0.16924655491619234,-0.16568126009049422,-0.16245421590220133,-0.15953028587993856,-0.1566028513039086,-0.15445262889650735},
{-1.0706755586312404,-0.5782251148461697,-0.40729720272874914,-0.33116817789237274,-0.28739381374062134,-0.26043272536239925,-0.240720964495992,-0.2252859500066009,-0.21323776438516973,-0.2035077884259735,-0.1954452338854722,-0.18864131943178108,-0.18279298242188702,-0.17770347060493918,-0.1732203024515968,-0.16923919981024937,-0.1656746083185041,-0.1624481822155488,-0.1595247983445205,-0.15659918911030246,-0.15444805554324859},
{-1.070362903583657,-0.5780597664001164,-0.40720897106165665,-0.33111143453537295,-0.2873532171140667,-0.2604105038762583,-0.24069533797795373,-0.22526489249158743,-0.21322007542355692,-0.2034926521455347,-0.19543209790456473,-0.18862980942327567,-0.18278280435252725,-0.17769440802484127,-0.17321218623786905,-0.1692318950697711,-0.16566800614981503,-0.16244219751300903,-0.1595193592183506,-0.15659555894599464,-0.15444352904492575},
{-1.0700502282022484,-0.5778945312180426,-0.40712083338935656,-0.33105477133253913,-0.28731269247001734,-0.26038828561055993,-0.24066977509195908,-0.22524389572676995,-0.2132024452207517,-0.20347757282836199,-0.19541901737495238,-0.18861835377322933,-0.18277267947328824,-0.17768539768105285,-0.17320412133633312,-0.1692246408125655,-0.16566145370484975,-0.16243626191347715,-0.15951396861809286,-0.1565919611443789,-0.15443904951740706},
{-1.069737532939559,-0.5777294094370689,-0.4070327898322219,-0.33099818840870654,-0.2872722399332517,-0.2603660710125908,-0.24064427595609317,-0.22522295983537077,-0.21318487390094987,-0.20346255059801877,-0.19540599242460388,-0.1886069526008285,-0.18276260790926102,-0.17767643969243352,-0.1731961078701829,-0.16921743715565185,-0.16565495110049966,-0.16243037553775252,-0.15950862665962262,-0.15658839604103036,-0.15443461706941264},
{-1.069424818246663,-0.5775644011941594,-0.40694484051364554,-0.33094168588902306,-0.2872318596354333,-0.26034386054024594,-0.24061884069230643,-0.22520208494574234,-0.21316736158914296,-0.203447585580669,-0.19539302318266039,-0.1885956060270786,-0.18275258978351872,-0.1776675341828664,-0.1731881459585125,-0.1692102842163905,-0.16564849845887863,-0.16242453850611582,-0.15950333346286527,-0.1565848639662093,-0.15443023181646254},
{-1.0691120845746092,-0.577399506626989,-0.40685698555729743,-0.33088526390240247,-0.2871915517045167,-0.2603216546450611,-0.24059346942441096,-0.22518127118573972,-0.21314990841552373,-0.20343267790181585,-0.19538010977740328,-0.1885843141756851,-0.18274262522491114,-0.17765868127731466,-0.17318023572842378,-0.16920318211430896,-0.1656420958995568,-0.16241875093912483,-0.15949808914678698,-0.15658136524480426,-0.15442589387189543},
{-1.068799332374578,-0.5772347258733319,-0.4067692250855046,-0.33082892257422714,-0.2871513162694157,-0.2602994537811085,-0.2405681622687581,-0.22516051867997078,-0.21313251450322923,-0.2034178276873959,-0.19536725233950136,-0.18857307716574212,-0.18273271435746352,-0.17764988109764346,-0.1731723772992737,-0.16919613096598596,-0.16563574354177746,-0.1624130129570247,-0.15949289383004128,-0.15657790020166118,-0.1544216033488155},
{-1.0684865620962718,-0.5770700590720921,-0.4066815592233297,-0.3307726620335316,-0.2871111534647426,-0.26027725840484806,-0.24054291935333794,-0.22513982756118622,-0.21311517998292118,-0.20340303506418422,-0.19535445099960924,-0.1885618951230157,-0.18272285730996884,-0.17764113377077706,-0.17316457079621728,-0.16918913089484988,-0.1656294415119106,-0.16240732468537544,-0.1594877476332428,-0.1565744691579951,-0.15441736036520126},
{-1.0681737741903952,-0.5769055063619319,-0.40659398809465586,-0.3307164824084836,-0.2870710634163842,-0.2602550689643124,-0.24051774079553923,-0.22511919795402946,-0.21309790498035142,-0.20338830015742104,-0.19534170588840993,-0.1885507681685752,-0.18271305420643813,-0.17763243941941198,-0.17315681634095625,-0.16918218201534074,-0.16562318992679792,-0.16240168624170082,-0.15948265067230238,-0.1565710724301539,-0.15441316503225977},
{-1.0678609691061993,-0.5767410678818834,-0.40650651182488673,-0.3306603838259221,-0.2870310462583916,-0.2602328859183345,-0.24049262672067329,-0.22509862998780505,-0.21308068962370186,-0.20337362309521723,-0.19532901713761675,-0.18853969642616164,-0.18270330517540856,-0.17762379816910823,-0.17314911406040778,-0.16917528445224406,-0.16561698891246834,-0.16239609775220742,-0.15947760307306424,-0.15656771033412298,-0.15440901747108882},
{-1.0675481472931274,-0.5765767437718452,-0.40641913053882917,-0.33060436641603275,-0.28699110212106405,-0.2602107097155084,-0.2404675772485021,-0.225078123791576,-0.2130635340415239,-0.20335900400208828,-0.19531638487710268,-0.1885286800186492,-0.1826936103432999,-0.17761521014414683,-0.17314146407999687,-0.16916843832434836,-0.16561083858982784,-0.1623905593381494,-0.15947260495084237,-0.15656438318065113,-0.15440491779462917},
{-1.0672353092002247,-0.5764125341716593,-0.40633184436317293,-0.3305484303075943,-0.2869512311352196,-0.26018854081272735,-0.24044259250180033,-0.2250576794934105,-0.2130464383624613,-0.2033444430078717,-0.1953038092431143,-0.18851771907100812,-0.1826839698397933,-0.17760667547209152,-0.17313386652087814,-0.16916164375114562,-0.16560473908308637,-0.16238507112290534,-0.15946765643052174,-0.1565610912787463,-0.15440086611929615},
{-1.066922455276515,-0.576248439223292,-0.4062446534250057,-0.33049257563195056,-0.28691143343746006,-0.2601663796641418,-0.24041767260512614,-0.22503729722432553,-0.2130294027162165,-0.2033299402405433,-0.1952912903672157,-0.18850681370898315,-0.18267438379330514,-0.1775981942784881,-0.17312632150933638,-0.16915490085713714,-0.16559869051756948,-0.16237963323090554,-0.15946275763096196,-0.156557834933146,-0.1543968625661165},
{-1.0666095859701095,-0.5760844590662231,-0.4061575578498662,-0.33043680251807217,-0.2868717091557187,-0.26014422671892845,-0.24039281767960574,-0.2250169771115509,-0.21301242723070146,-0.20331549582676445,-0.1952788283826905,-0.18849596405532765,-0.18266485233153418,-0.1775897666877455,-0.17311882917218213,-0.16914820976072775,-0.1655926930137852,-0.16237424578439885,-0.15945790867332477,-0.1565546144471881,-0.15439290724771126},
{-1.0662967017284046,-0.575920593842774,-0.40607055776618495,-0.33038111109704715,-0.2868320584267394,-0.26012208243339074,-0.24036802784914357,-0.2249967192874962,-0.21299551203696154,-0.20330110989446837,-0.1952664234258492,-0.1884851702369943,-0.18265537558306022,-0.17758139282920382,-0.17311138963439987,-0.16914157058720036,-0.1655867467008889,-0.16236890890956346,-0.159453109680598,-0.1565514301225619,-0.1543890002867414},
{-1.0659838030003321,-0.5757568436948617,-0.40598365330181707,-0.3303255015000346,-0.2867924813828182,-0.26009994725982466,-0.24034330323733855,-0.22497652388079814,-0.2129786572640171,-0.20328678257557442,-0.19525407562923647,-0.1884744323812768,-0.1826459536789784,-0.17757307282881385,-0.17310400302289963,-0.16913498345824962,-0.16558085170245818,-0.16236362273092908,-0.15944836077395763,-0.15654828225600426,-0.15438514179999174},
{-1.0656708902323935,-0.5755932087643245,-0.40589684458599606,-0.3302699738593944,-0.2867529781583045,-0.2600778216508246,-0.24031864396714298,-0.22495639102312737,-0.21296186304330433,-0.20327251399702106,-0.1952417851303494,-0.1884637506124136,-0.18263658674721484,-0.17756480681178743,-0.17309666946235325,-0.1691284484961244,-0.16557500814244008,-0.16235838737079433,-0.15944366207742178,-0.15654517113954114,-0.1543813319064995},
{-1.0653579638720032,-0.5754296891949124,-0.40581013174663383,-0.3302145283064277,-0.2867135488885211,-0.2600557060594255,-0.24029405016329264,-0.2249363208438382,-0.21294512950341016,-0.20325830428809866,-0.19522955206407744,-0.18845312505865053,-0.18262727492030706,-0.17755659490794784,-0.17308938908136184,-0.16912196582589445,-0.1655692161505513,-0.16235320295865563,-0.1594390137130759,-0.1565420970687228,-0.15437757072628244},
{-1.0650450243657197,-0.5752662851288974,-0.40572351491437075,-0.33015916497548403,-0.2866741937073627,-0.26003360093680783,-0.2402695219499691,-0.22491631347664054,-0.2129284567798635,-0.20324415358175685,-0.19521737656742744,-0.18844255584836134,-0.18261801832661462,-0.17754843724494407,-0.17308216200521542,-0.16911553557157077,-0.16556347585046893,-0.16234806961727344,-0.1594344158051726,-0.15653906033028164,-0.15437385837869044},
{-1.0647320721598952,-0.5751029967103776,-0.4056369942182343,-0.33010388399753055,-0.2866349127519925,-0.26001150673874207,-0.24024505945245522,-0.2248963690513932,-0.21291184500136495,-0.20323006200737836,-0.19520525878230188,-0.18843204310944373,-0.1826088170992577,-0.17754033394984248,-0.17307498836287039,-0.16910915785980762,-0.16555778737256333,-0.16234298747464493,-0.15942986847608154,-0.15653606121669839,-0.1543701949878482},
{-1.0644191077009317,-0.5749398240838133,-0.4055505697904067,-0.3300486855082596,-0.2865957061572857,-0.2599894239125362,-0.24022066279391652,-0.22487648769986635,-0.21289529429911624,-0.20321602969528385,-0.19519319883799824,-0.18842158696869404,-0.18259967136673794,-0.17753228515141473,-0.1730678682788067,-0.16910283281188043,-0.16555215084074604,-0.1623379566551293,-0.1594253718490748,-0.15653310000616472,-0.15436658066960263},
{-1.0641061314342863,-0.5747767673928195,-0.4054642417601997,-0.3299935696407985,-0.2865565740600573,-0.25996735291403184,-0.24019633210065905,-0.22485666955505224,-0.21287880480861787,-0.20320205677933956,-0.19518119687899116,-0.18841118755765507,-0.18259058126368188,-0.17752429097890143,-0.17306080188424744,-0.16909656055603506,-0.16554656638655274,-0.16233297728654605,-0.15942092605050817,-0.15653017698607385,-0.1543630155483129},
{-1.06379314380586,-0.5746138267836471,-0.40537801026002285,-0.329938536529653,-0.28651751659753444,-0.2599452941940825,-0.24017206749832098,-0.22483691474948841,-0.2128623766587907,-0.20318814338941849,-0.19516925304286303,-0.18840084500546794,-0.1825815469203107,-0.17751635156010082,-0.17305378930415571,-0.16909034121837152,-0.1655410341362682,-0.16232804949644475,-0.15941653120487587,-0.156527292433303,-0.15435949974619945},
{-1.0634801452600904,-0.5744510024003944,-0.4052918754223498,-0.32988358631137515,-0.28647853390643263,-0.2599232482021847,-0.24014786911323682,-0.2248172234177872,-0.2128460099880911,-0.20317428966095008,-0.19515736747100476,-0.18839055944405914,-0.1825725684707038,-0.17750846702573853,-0.17304683067011695,-0.16908417492761885,-0.1655355542212007,-0.16232317341361835,-0.15941218743703445,-0.1565244466294473,-0.15435603338536907},
{-1.0631671362426793,-0.574288294390243,-0.4052058373805636,-0.32982871911996625,-0.2864396261260538,-0.2599012153919418,-0.2401237370713858,-0.22479759568970792,-0.21282970492491415,-0.20316049572443973,-0.19514554030047293,-0.18838033100058738,-0.18256364604543052,-0.1775006375016659,-0.17303992610627006,-0.16907806180765306,-0.165530126769454,-0.16231834916278132,-0.15940789487088836,-0.15652163984741918,-0.15435261659003885},
{-1.0628541171977588,-0.5741257028992521,-0.4051198962662781,-0.32977393509138153,-0.2864007933924029,-0.25987919620970956,-0.2400996714987471,-0.2247780317019803,-0.21281346160586168,-0.20314676171472001,-0.19513377167202606,-0.18837015980789573,-0.1825547797792595,-0.17749286312158574,-0.17303307574447757,-0.16907200198856032,-0.16552475190988503,-0.1623135768726911,-0.15940365363259446,-0.15651887236363393,-0.1543492494808305},
{-1.0625410885695423,-0.5739632280728486,-0.4050340522137219,-0.32971923436316075,-0.2863620358461745,-0.2598571911124665,-0.2400756725233819,-0.2247585315872982,-0.21279728016497756,-0.20313308776742645,-0.19512206173038749,-0.188360046000561,-0.18254596980640514,-0.1774851440132963,-0.17302627971339035,-0.16906599559695934,-0.1655194297764382,-0.16230885667222594,-0.15939946385108783,-0.15651614444949757,-0.15434593218340353},
{-1.0622280508024495,-0.5738008700588821,-0.4049483053563705,-0.329664617070371,-0.2863233536249652,-0.25983520054624876,-0.24005174027167442,-0.22473909548071447,-0.21278116073783337,-0.2031194740146134,-0.19511041061370094,-0.18834998970864092,-0.18253721625954,-0.17747748030895139,-0.17301953814099846,-0.16906004276527398,-0.16551416049700407,-0.16230418869205465,-0.15939532564922132,-0.1565134563746966,-0.1543426648248456},
{-1.0619150043395535,-0.5736386290062683,-0.4048626558314723,-0.3296100833551918,-0.2862847468706988,-0.2598132249614338,-0.24002787487413002,-0.22471972351844727,-0.21276510345889932,-0.20310592059373533,-0.1950988184655813,-0.1883399910665915,-0.18252851927329772,-0.17746987213690346,-0.17301285115745912,-0.1690541436200803,-0.16550894420404916,-0.16229957305905884,-0.15939123915628528,-0.15651080840866172,-0.1543394475267803},
{-1.0616019496248263,-0.5734765050628639,-0.40477710377276566,-0.32955563335102767,-0.28624621572223674,-0.2597912648102323,-0.24000407645687005,-0.224700415834306,-0.2127491084641875,-0.2030924276404491,-0.19508728542855636,-0.18833005020758264,-0.18251987898087663,-0.17746231962799897,-0.17300621889145162,-0.16904829829235268,-0.16550378102937913,-0.1622950099038718,-0.15938720449785393,-0.15650820081800276,-0.15433628041763114},
{-1.061288887101128,-0.5733144983760567,-0.4046916493167174,-0.32950126720007944,-0.286207760321453,-0.2597693205386946,-0.23998034515043543,-0.22468117256557463,-0.2127331758897526,-0.20307899529057494,-0.1950758116452107,-0.18832016726550904,-0.18251129551941858,-0.1774548229153865,-0.172999641476693,-0.16904250691213463,-0.16549867110586547,-0.1622904993560823,-0.15938322180183206,-0.1565056338681714,-0.15433316362392446},
{-1.0609758172112116,-0.5731526090951462,-0.404606292598757,-0.32944698503888503,-0.2861693808069674,-0.2597473925969638,-0.23995668108086932,-0.22466199384539465,-0.21271730587046278,-0.20306562368028835,-0.19506439725808633,-0.188310342374173,-0.1825027690239125,-0.1774473821301541,-0.17299311903743586,-0.16903676960971836,-0.16549361456568334,-0.16228604154474624,-0.15937929119591132,-0.15650310782208265,-0.1543300972717745},
{-1.0606627403979232,-0.5729908373702912,-0.40452103375708504,-0.3293927870082385,-0.2861310773236312,-0.25972548143628416,-0.23993308438317484,-0.22464287981527065,-0.2127014985464868,-0.20305231294824466,-0.19505304241619115,-0.18830057567265612,-0.1824942996304344,-0.17743999740401506,-0.17298665170919492,-0.16903108652054755,-0.16548861154353744,-0.16228163660334616,-0.15937541281026313,-0.15650062294306366,-0.15432708149119634},
{-1.0603496571033517,-0.572829183351061,-0.40443587292796224,-0.32933867324865673,-0.286092850010057,-0.25970358749967204,-0.23990955518442547,-0.22462383060850755,-0.2126857540534104,-0.20303906323162124,-0.19504174725791046,-0.18829086729315492,-0.18248588747523797,-0.17743266886897402,-0.1729802396211042,-0.16902545777338673,-0.16548366217043053,-0.16227728465896973,-0.1593715867712433,-0.1564981794895317,-0.15432411640752974},
{-1.0600365677693162,-0.5726676471871031,-0.4043508102498805,-0.3292846438985322,-0.286054699011828,-0.2596817112401695,-0.23988609361679636,-0.22460484636344802,-0.21267007252902914,-0.20302587467045896,-0.1950305119323943,-0.18828121737413994,-0.18247753269464795,-0.17742539665904644,-0.17297388290507598,-0.16901988350299035,-0.16547876658442817,-0.16227298584760774,-0.15936781321119753,-0.15649577772317969,-0.15432120215620415},
{-1.0597234728378986,-0.5725062290304876,-0.4042658458615591,-0.3292306991019416,-0.28601662447046294,-0.2596598531024057,-0.2398626998108142,-0.2245859272193087,-0.21265445411238204,-0.20301274740018016,-0.1950193365818933,-0.18827162605223435,-0.18246923542476168,-0.17741818090797778,-0.17296758169357673,-0.1690143638428765,-0.16547392491709445,-0.16226874029854343,-0.15936409225746218,-0.15649341790108195,-0.15431833886417934},
{-1.059410372750218,-0.5723449290310114,-0.4041809799017031,-0.32917683899820815,-0.28597862652841144,-0.2596380135344063,-0.239839373898576,-0.2245670733138354,-0.21263889894235177,-0.20299968156312787,-0.1950082213544846,-0.1882620934654824,-0.18246099580569108,-0.17741102175004642,-0.1729613361157547,-0.16900889892603743,-0.16546913730459067,-0.16226454814292168,-0.1593604240391926,-0.1564911002788847,-0.1543155266609162},
{-1.0590972679478305,-0.5721837473421019,-0.40409621251028227,-0.32912306373087574,-0.2859407053327132,-0.2596161929835503,-0.2398161160125838,-0.22454828478531397,-0.21262340715785655,-0.20298667729865372,-0.1949971663960639,-0.18825261975194252,-0.18245281397288693,-0.17740391931987176,-0.17295514630637143,-0.16900348888896843,-0.16546440388241734,-0.16226040951721643,-0.15935680868959423,-0.15648882511223405,-0.15431276568342867},
{-1.0587841588713438,-0.5720226841142804,-0.40401154382714566,-0.3290693734424508,-0.2859028610247947,-0.25959439189509936,-0.2397929262872438,-0.22452956177455974,-0.21260797889880934,-0.20297373474645752,-0.1949861718516317,-0.18824320505013503,-0.18244469006643982,-0.17739687375249247,-0.17294901239667837,-0.16899813386523732,-0.16545972478726867,-0.16225632454837324,-0.15935324633878167,-0.15648659265423248,-0.1543100560605879},
{-1.0584710459616389,-0.571861739500946,-0.4039269739938405,-0.329015768275454,-0.28586509375154634,-0.259572610715729,-0.23976980485480937,-0.22451090442088883,-0.21259261430573417,-0.20296085404711306,-0.19497523787067195,-0.18823384949855182,-0.18243662422327844,-0.17738988518352272,-0.1729429345200657,-0.1689928339916591,-0.165455100155242,-0.16225229337528901,-0.15934973711695477,-0.1564844031599577,-0.15430739792821413},
{-1.0581579296593375,-0.5717009136551994,-0.4038425031500381,-0.32896224837439547,-0.28582740365691706,-0.25955084989079324,-0.23974675184982175,-0.22449231286410054,-0.2125773135187643,-0.2029480353448747,-0.1949643645969985,-0.18822455323932985,-0.18242861658442422,-0.17738295375218627,-0.1729369128109397,-0.1689875894033932,-0.16545053012274025,-0.1622483161305297,-0.15934628115771687,-0.15648225687669992,-0.15430479142245446},
{-1.057844810404017,-0.5715402067301127,-0.4037581314392966,-0.32890881388416204,-0.2857897908876268,-0.259529109866655,-0.23972376740735513,-0.22447378724737632,-0.2125620766796601,-0.20293527877718986,-0.1949535521811825,-0.18821531641086864,-0.18242066728915063,-0.17737607959184487,-0.17293094740178816,-0.16898240023855493,-0.1654460148269905,-0.16224439294417436,-0.15934287859151652,-0.15648015405734128,-0.15430223667693355},
{-1.0575316886359651,-0.571379618880151,-0.4036738590019411,-0.32885546494686224,-0.28575225559042394,-0.25950739108705534,-0.2397008516623984,-0.22445532770893806,-0.21254690393121223,-0.2029225844884195,-0.1949428007687075,-0.18820613915573148,-0.1824127764773067,-0.1773692628439818,-0.17292503842705997,-0.16897726663512458,-0.1654415544050707,-0.16224052395691047,-0.15933952955386843,-0.15647809495203546,-0.15429973383275097},
{-1.0572185647950825,-0.5712191502595871,-0.4035896859827872,-0.3288022017118166,-0.2857147979115453,-0.2594856939961616,-0.23967800475285372,-0.2244369343932746,-0.2125317954149537,-0.20290995262144662,-0.19493211050986758,-0.18819702161489005,-0.18240494428939513,-0.17736250364605866,-0.17291918602317935,-0.16897218873046427,-0.16543714899429318,-0.1622367092992576,-0.1593362341771467,-0.15647607980710632,-0.15429728302476065},
{-1.05690543932009,-0.5710588010231419,-0.4035056125249312,-0.3287490243215174,-0.28567741799952984,-0.25946401903912175,-0.23965522681366025,-0.22441860744266506,-0.21251675127529523,-0.20289738332068907,-0.19492148155540434,-0.18818796392924497,-0.18239717086773055,-0.17735580213795288,-0.17291339032402675,-0.16896716666418143,-0.16543279873795314,-0.16223294910891184,-0.15933299259374678,-0.15647410887390123,-0.15429488439497163},
{-1.056592312650789,-0.5708985713263317,-0.4034216387717251,-0.3286959329233383,-0.28564011599985406,-0.25944236665557696,-0.2396325179821801,-0.22440034699918954,-0.21250177165339323,-0.20288487672717537,-0.19491091404601235,-0.1881789662427309,-0.18238945635099668,-0.17734915845728239,-0.17290765146398712,-0.1689622005740219,-0.16542850376994522,-0.1622292435187873,-0.1593298049389773,-0.15647218239506344,-0.15429253808633803},
{-1.0562791852257511,-0.5707384613247157,-0.40333776486786377,-0.3286429276648306,-0.28560289206359357,-0.2594207372943984,-0.2396098783975802,-0.22438215320804744,-0.21248685669681322,-0.2028724329885634,-0.19490040814071818,-0.18817002869864297,-0.18238180088399503,-0.17734257274976528,-0.17290196958324344,-0.16895729059991993,-0.1654242642297774,-0.16222559266807224,-0.15932667134774903,-0.15647030061971634,-0.154290244236293},
{-1.0559660574840635,-0.5705784711755157,-0.4032539909580066,-0.32859000869372323,-0.28556574633827125,-0.2593991313953907,-0.23958730819776264,-0.22436402621257656,-0.2124720065491772,-0.20286005224571824,-0.19488996398364833,-0.18816115144055345,-0.18237420460738463,-0.17733604515058232,-0.17289634481370797,-0.16895243688260564,-0.16542008025929533,-0.16222199669049786,-0.15932359195696222,-0.1564684637905316,-0.15428800299358159},
{-1.0556529298633244,-0.5704186010335874,-0.4031703171891152,-0.32853717615839173,-0.2855286789736766,-0.25937754939938173,-0.23956480752206488,-0.22434596616021452,-0.2124572213580933,-0.20284773464582884,-0.1948795817278821,-0.18815233461373282,-0.18236666766732412,-0.17732957580772535,-0.17289077729684976,-0.16894763956400283,-0.16541595199704773,-0.16221845572704297,-0.15932056689999285,-0.1564666721539396,-0.1542858145018755},
{-1.0553398028029868,-0.5702588510582629,-0.4030867437065666,-0.32848443020394313,-0.28549169011999,-0.25935599175058854,-0.23954237651128807,-0.2243279731919614,-0.2124425012652722,-0.20283548033457066,-0.19486926151813577,-0.1881435783600196,-0.18235919020406754,-0.17732316485786015,-0.17288526716757247,-0.16894289878515423,-0.16541187958461023,-0.1622149699103943,-0.15931759631337172,-0.15646492595099915,-0.1542836789079871},
{-1.0550266767401766,-0.5700992214060108,-0.40300327065706654,-0.3284317709833928,-0.2854547799254519,-0.2593344588856539,-0.23952001530476963,-0.22431004745777727,-0.21242784642196,-0.20282328945551598,-0.1948590035088671,-0.1881348828261551,-0.18235177236234534,-0.17731681244776354,-0.17287981456635038,-0.1689382146876497,-0.16540786316038947,-0.16221153937735266,-0.15931468033416252,-0.1564632254266769,-0.15428159635904137},
{-1.054713552112652,-0.5699397122353176,-0.402919898188145,-0.32837919864476817,-0.285417948544854,-0.25931295125183595,-0.23949772404518654,-0.22429218910166782,-0.21241325697533142,-0.20281116215726058,-0.19484880785280012,-0.18812624815987533,-0.18234441428860038,-0.17731051871965775,-0.17287441963024008,-0.1689335874132567,-0.16540390286739637,-0.1622081642705666,-0.1593118190996563,-0.15646157082039736,-0.154279567001808},
{-1.0544004293585587,-0.5697803237044852,-0.4028366264491581,-0.3283267133392016,-0.2853811961272399,-0.25929146928596225,-0.23947550287475394,-0.2242743982740265,-0.21239873307417412,-0.2027990985848973,-0.19483867469577376,-0.1881176745076658,-0.18233711612460723,-0.17730428381702978,-0.17286908249731425,-0.16892901710567543,-0.16539999884524548,-0.16220484472489716,-0.1593090127475847,-0.1564599623785341,-0.15427759099110006},
{-1.054087308914692,-0.5696210559728812,-0.4027534555858807,-0.32827431521673844,-0.2853445228243032,-0.25927001342565603,-0.2394533519349551,-0.2242566751219499,-0.21238427486688494,-0.20278709888781776,-0.19482860419235948,-0.18810916201601202,-0.18232987802073808,-0.17729810788615197,-0.1728638033123886,-0.1689245039090963,-0.1653961512384825,-0.16220158088047754,-0.15930626141449977,-0.15645840033752734,-0.15427566847503726},
{-1.0537741912182277,-0.5694619091996387,-0.4026703857488414,-0.3282220044266637,-0.28530792878894573,-0.25924858411321594,-0.23943127136974596,-0.22423901979261984,-0.2123698825039142,-0.20277516320999212,-0.19481859649360445,-0.18810071083161262,-0.1823227001183696,-0.17729199106929627,-0.17285858221064387,-0.16892004796824267,-0.1653923601887186,-0.16219837287638939,-0.1593035652398953,-0.15645688493881948,-0.15427379960533472},
{-1.0534610767062418,-0.569302883545511,-0.4025874170875028,-0.3281697811243873,-0.2852714141744883,-0.25922718178416204,-0.2394092613228409,-0.22422143243837667,-0.21235555613668566,-0.20276329170400942,-0.19480865174976003,-0.18809232110402263,-0.18231558256785974,-0.17728593351312583,-0.17285341933607867,-0.16891564942726234,-0.16538862583740865,-0.16219522085208382,-0.15930092436302346,-0.15645541642147975,-0.1542719845351428},
{-1.0531479658150786,-0.5691439791696666,-0.4025045497510078,-0.32811764545927247,-0.28523497913301554,-0.2592058068781995,-0.23938732193948908,-0.22420391320427058,-0.2123412959159836,-0.20275148451362668,-0.19479877011402635,-0.18808399298078626,-0.1823085255138892,-0.17727993536421138,-0.17284831483039653,-0.1689113084285907,-0.16538494832698802,-0.16219212494739565,-0.15929833892208478,-0.15645399502191992,-0.15427022341719976},
{-1.0528348589816225,-0.568985196234209,-0.4024217838924855,-0.32806559758660825,-0.2851986238211879,-0.2591844598345787,-0.23936545336576387,-0.22418646224813443,-0.21232710199681293,-0.202739741791234,-0.19478895173912747,-0.18807572661476257,-0.18230152910651753,-0.17727399676841316,-0.17284326883370227,-0.1689070251238718,-0.16538132780311798,-0.16218908530250076,-0.15929580905908836,-0.15645262098172452,-0.15426851640617656},
{-1.052521756642129,-0.568826534900893,-0.4023391196611712,-0.3280136376599856,-0.28516234839009513,-0.2591631410866171,-0.23934365574659466,-0.22416907971606292,-0.2123129745282739,-0.20272806368248553,-0.19477919677686373,-0.1880675221514565,-0.18229459349284838,-0.17726811787187557,-0.17283828149101055,-0.1689027996537078,-0.16537776440812024,-0.16218610205785922,-0.159293334909961,-0.15645129453474738,-0.15426686365283615},
{-1.052208659232015,-0.568667995330614,-0.4022565572096326,-0.3279617658307501,-0.2851261529984441,-0.259141851074979,-0.2393219292312878,-0.22415176576330254,-0.21229891366853337,-0.2027164503409722,-0.19476950538006577,-0.18805937974637033,-0.1822877188217049,-0.1772622988210628,-0.1728333529448065,-0.16889863217113543,-0.16537425828684604,-0.16218317535633275,-0.1592909166207619,-0.15645001591951768,-0.15426526531526008},
{-1.0518955671877244,-0.5685095776860578,-0.4021740966903522,-0.3279099822552709,-0.28509003779968367,-0.2591205902303315,-0.2393002739651635,-0.22413452054076544,-0.21228491957001694,-0.20270490191366264,-0.19475987770074,-0.18805129954508004,-0.18228090524086582,-0.1772565397625101,-0.1728284833380087,-0.1688945228172969,-0.16537080958470085,-0.16218030533970307,-0.15928855432888156,-0.1564487853698182,-0.15426372154347234},
{-1.0515824809446492,-0.568351282130152,-0.4020917382565017,-0.327858287089164,-0.2850540029502113,-0.25909935899269243,-0.23927869009639835,-0.22411734420325047,-0.21227099238948455,-0.20269341855345857,-0.19475031389365682,-0.18804328170585904,-0.18227415290393623,-0.17725084084743514,-0.17282367281866584,-0.16889047174338145,-0.16536741844488745,-0.162177492148885,-0.15928624817776438,-0.15644760312024175,-0.15426223249146176},
{-1.0512694009386188,-0.5681931088268968,-0.4020094820617146,-0.3278066804871145,-0.28501804860691493,-0.2590781577940149,-0.23925717777601108,-0.2241002369057128,-0.21225713228288612,-0.20268200040892737,-0.1947408141112632,-0.18803532637715392,-0.1822674619569895,-0.177245202220206,-0.17281892152591638,-0.16888647909973997,-0.1653640850135929,-0.1621747359283603,-0.1592839983097747,-0.15644646940678797,-0.15426079831566142},
{-1.050956327604375,-0.56803505793944,-0.4019273282595961,-0.3277551626065289,-0.2849821749265402,-0.25905698706866787,-0.23923573715218538,-0.22408319880149463,-0.2122433394075074,-0.20267064763302045,-0.1947313785060274,-0.18802743371082897,-0.18226083255282788,-0.1772396240300509,-0.17281422961072224,-0.16888254503186317,-0.1653608094373027,-0.16217203681752324,-0.15928180486692156,-0.15644538445963008,-0.15425941916886643},
{-1.0506432613774237,-0.5678771296318956,-0.40184527700539263,-0.3277037336022133,-0.2849463820683482,-0.25903584725035955,-0.23921436837650134,-0.22406623004842885,-0.21222961392225415,-0.20265936037662158,-0.19472200723647148,-0.1880196038638573,-0.1822542648439054,-0.17723410642614112,-0.1728095972177215,-0.168878669692063,-0.16535759186135124,-0.1621693949654741,-0.15927966799155513,-0.15644434851192557,-0.1542580952059751},
{-1.0503302026921446,-0.5677193240695075,-0.40176332845454965,-0.32765239363340726,-0.28491067018773464,-0.2590147387709152,-0.23919307159933112,-0.2240493308016127,-0.21221595598331078,-0.20264813879359167,-0.1947127004504452,-0.1880118369887427,-0.18224775897773782,-0.17722864955774753,-0.17280502449538915,-0.16887485322806128,-0.16535443243395775,-0.16216681051322723,-0.15927758783007562,-0.1564433617949419,-0.15425682657971151},
{-1.0500171519836812,-0.567561641417555,-0.40168148276296023,-0.3276011428581711,-0.2848750394461277,-0.2589936620638156,-0.23917184697230454,-0.22403250121881513,-0.21220236575231866,-0.20263698303604372,-0.1947034583052556,-0.1880041332400566,-0.18224131510893926,-0.17722325357144086,-0.172800511589017,-0.16887109579243997,-0.16535133130058455,-0.16216428360523594,-0.15927556452628266,-0.15644242453880963,-0.15425561344481764},
{-1.0497041096864592,-0.567404081841751,-0.4015997400868372,-0.3275499814333429,-0.28483949000138864,-0.25897261756086465,-0.23915069465009253,-0.22401574145811054,-0.21218884338880173,-0.20262589325597702,-0.1946942809546215,-0.1879964927733937,-0.1822349333913138,-0.17721791861961833,-0.17279605864871428,-0.16886739753634572,-0.16534828860903872,-0.16216181438956312,-0.1592735982243454,-0.15644153697114405,-0.1542544559594461},
{-1.0493910762348264,-0.5672466455087033,-0.4015181005836084,-0.32749890952042904,-0.28480402201424937,-0.2589516056912089,-0.23912961478443862,-0.22399905167802103,-0.21217538905231947,-0.20261486960917807,-0.19468516855402385,-0.18798891574482468,-0.18222861397384804,-0.1772126448511102,-0.17279166582221706,-0.16886375861022884,-0.16534530450726947,-0.1621594030080189,-0.15927168907073508,-0.15644069932508842,-0.1542533542765483},
{-1.0490780520625975,-0.5670893325846933,-0.4014365644106803,-0.3274479272766584,-0.28476863564612387,-0.2589306268861904,-0.23910860753098007,-0.22398243204097668,-0.21216200290546539,-0.20260391225014018,-0.19467612126163658,-0.18798140231035632,-0.18222235701361456,-0.17720743241740422,-0.17278733326152462,-0.1688601791685045,-0.16534237914734717,-0.1621570496102578,-0.15926983721119825,-0.15643991182768957,-0.15425230855647953},
{-1.0487650376041202,-0.5669321432365138,-0.4013551317268522,-0.327397034863786,-0.2847333310549942,-0.25890968157417404,-0.23908767304261147,-0.22396588270252238,-0.2121486851090424,-0.20259302133336377,-0.19466713922531653,-0.18797395262637906,-0.18221616266102103,-0.17720228146399108,-0.17278306111427355,-0.16885665936267458,-0.16533951267290092,-0.16215475434141524,-0.1592680427916804,-0.15643917470420377,-0.15425131895575817},
{-1.048452033293156,-0.5667750776332809,-0.4012738026901985,-0.32734623244184036,-0.2846981084061966,-0.2588887701863385,-0.23906681147747122,-0.22394940382655193,-0.21213543582818062,-0.2025821970148698,-0.19465822260587373,-0.1879665668504913,-0.18221003107119316,-0.17719719214947816,-0.17277884953402634,-0.1688531993441984,-0.1653367052353758,-0.16215251734990943,-0.1592663059604149,-0.15643848818167783,-0.1542503856316273},
{-1.0481390395633063,-0.5666181359422708,-0.4011925774603782,-0.32729552017188723,-0.2846629678584236,-0.25886789314882463,-0.23904602299010946,-0.22393299557495538,-0.21212225522219796,-0.20257143944772338,-0.19464937155645146,-0.18795924514276408,-0.18220396239776449,-0.17719216461824772,-0.1727746986690306,-0.16884979926832955,-0.1653339569833321,-0.16215033878273744,-0.15926462686657317,-0.15643785248812492,-0.15424950874897547},
{-1.0478260568478959,-0.5664613183318892,-0.40111145619773936,-0.32724489821848834,-0.28462790957738093,-0.2588470508895213,-0.23902530773864328,-0.22391665810990702,-0.21210914345832776,-0.20256074879363695,-0.1946405862353231,-0.18795198765955945,-0.18219795679674178,-0.1771871990260081,-0.17277060867648686,-0.16884645929074793,-0.16533126806848486,-0.16214821878941166,-0.1592630056563138,-0.15643726785070555,-0.15424868846643847},
{-1.0475130855804373,-0.5663046249730215,-0.4010304390632271,-0.32719436674049973,-0.28459293372446126,-0.2588262438363813,-0.23900466588214186,-0.22390039159490271,-0.2120961006986093,-0.20255012520597404,-0.19463186679749356,-0.18794479455958424,-0.18219201442208544,-0.17718229552011167,-0.17276657970577958,-0.16884317956349548,-0.1653286386405739,-0.16214615751715655,-0.15926144247855234,-0.1564367344920612,-0.15424792495231543},
{-1.0472001261942268,-0.5661480560337324,-0.40094952621687696,-0.327143925902007,-0.2845580404634944,-0.2588054724120923,-0.238984097577557,-0.22388419619394284,-0.21208312710933797,-0.20253956884427282,-0.19462321339828748,-0.18793766600312267,-0.18218613542686057,-0.1771774542575031,-0.17276261191224762,-0.16883996024149894,-0.16532606885056111,-0.1621441551150724,-0.1592599374842223,-0.1564362526395371,-0.1542472183700596},
{-1.0468871791218248,-0.5659916116849502,-0.40086871782080635,-0.3270935758682043,-0.2845232299590137,-0.25878473704685234,-0.2389636029846045,-0.2238680720711841,-0.21207022285387467,-0.2025290798670909,-0.19461462619651115,-0.18793060215013213,-0.1821803199705272,-0.1771726753862879,-0.17275870544975191,-0.16883680148156088,-0.1653235588469073,-0.1621422117338085,-0.1592584908214718,-0.1564358225143394,-0.15424656888347954},
{-1.0465742447964672,-0.5658352920969989,-0.40078801403877407,-0.3270433168031275,-0.2844885023775703,-0.25876403816494076,-0.23894318226643918,-0.22385201939470534,-0.21205738810049013,-0.20251865843290773,-0.19460610534910927,-0.18792360316446377,-0.1821745682069178,-0.17716795906413552,-0.1727548604745266,-0.1688337034407681,-0.16532110878617345,-0.16214032752355934,-0.15925710264485815,-0.15643544434600187,-0.15424597667085038},
{-1.0462613236505405,-0.5656790974414818,-0.4007074150319738,-0.32699314887083375,-0.28445385788263877,-0.25874337618635934,-0.2389228355810431,-0.2238360383288054,-0.21204462301388816,-0.2025083047014391,-0.1945976510097438,-0.18791666920198224,-0.18216888029188283,-0.17716330543859726,-0.17275107714010574,-0.1688306662710346,-0.16531871881630877,-0.1621385026360258,-0.15925577310120786,-0.15643511835139634,-0.15424544189325218},
{-1.0459484161166515,-0.5655230278904995,-0.4006269209645765,-0.3269430722349398,-0.2844192966416159,-0.25872275153729163,-0.23890256309168478,-0.22382012904045467,-0.2120319277596039,-0.20249801883299767,-0.1945892633403048,-0.1879098004265245,-0.18216325638105957,-0.17715871466630517,-0.17274735560435772,-0.16882769013365362,-0.16531638909070523,-0.16213673721894395,-0.15925450233964966,-0.1564348447562054,-0.15424496472553528},
{-1.0456355226275242,-0.5653670836161027,-0.4005465320017194,-0.3268930870640432,-0.28438481882000133,-0.2587021646386205,-0.23888236496156878,-0.2238042916991816,-0.212019302508061,-0.20248780098927455,-0.19458094249660007,-0.18790299700067692,-0.18215769663352432,-0.17715418689755325,-0.17274369602529305,-0.1688247751826708,-0.16531411976363586,-0.16213503142614627,-0.15925329051897563,-0.15643462378250206,-0.15424454534414167},
{-1.0453226436148704,-0.5652112647897525,-0.40046624830571176,-0.32684319352324565,-0.284350424585746,-0.2586816159131615,-0.23886224134995615,-0.22378852647114655,-0.21200674742217274,-0.20247765133011342,-0.1945726886358159,-0.18789625908516427,-0.18215220120372067,-0.1771497222919578,-0.17274009855903216,-0.16882192157586928,-0.16531191098535203,-0.16213338541011524,-0.15925213778565706,-0.15643445565051195,-0.15424418391847894},
{-1.0450097795114068,-0.5650555715871732,-0.4003860700447106,-0.3267933917808392,-0.2843161141070709,-0.2586611057829131,-0.23884219242828664,-0.223772833529722,-0.21199426267517651,-0.20246757002078652,-0.19456450191893282,-0.18788958684750412,-0.18214677025183335,-0.17714532100065128,-0.17273656336485033,-0.1688191294736896,-0.16530976291156207,-0.1621317993233049,-0.15925104429854287,-0.15643434058169703,-0.15424388062837124},
{-1.0446969307489482,-0.5649000041799113,-0.40030599738233263,-0.3267436820038512,-0.28428188755125916,-0.2586406346662926,-0.23882221835577155,-0.22375721304097596,-0.2119818484294882,-0.20245755721899172,-0.19455638250317975,-0.18788298044469798,-0.18214140393394018,-0.177140983178532,-0.17273309060077224,-0.16881639903122903,-0.1653076756968943,-0.16213027331542662,-0.15925001020399066,-0.15643427879554395,-0.15424363564747523},
{-1.0443840977586234,-0.5647445627435772,-0.4002260304872678,-0.3266940643603604,-0.28424774508944495,-0.25862020298677635,-0.23880231930255036,-0.22374166518024197,-0.21196950485850152,-0.20244761309500348,-0.19454833055075937,-0.1878764400480577,-0.18213610240988487,-0.1771367089819904,-0.17272968042944115,-0.16881373041086079,-0.16530564949491122,-0.16212880754767411,-0.15924903566201465,-0.15643427051244885,-0.15424344915653876},
{-1.0440712809732595,-0.5645892474520835,-0.4001461695246391,-0.326644539020009,-0.2842136868901335,-0.2585998111585468,-0.23878249543096786,-0.22372619011541417,-0.21195723212976247,-0.2024377378073865,-0.19454034621793426,-0.18786996581661697,-0.18213086583641314,-0.17713249856814173,-0.17272633300807172,-0.1688111237684211,-0.16530368446211696,-0.16212740216940347,-0.159248120825481,-0.15643431594763513,-0.15424332133073904},
{-1.0437584808230582,-0.5644340584815026,-0.4000664146632644,-0.32659510614982423,-0.28417971312138235,-0.25857945960432716,-0.23876274690992716,-0.22371078802083133,-0.21194503041172652,-0.20242793152458205,-0.1945324296654718,-0.18786355791884546,-0.1821256943755145,-0.17712835209104583,-0.17272304850175146,-0.16880857926577164,-0.16530178075180402,-0.16212605733490193,-0.15924726584799487,-0.15643441531902624,-0.15424325234847913},
{-1.043445697741113,-0.5642789960080847,-0.39998676607255135,-0.32654576592374696,-0.2841458239571253,-0.25855914873866936,-0.23874307390947536,-0.2236954590689777,-0.21193289987418495,-0.20241819440911968,-0.19452458105601522,-0.18785721651885012,-0.18212058818370735,-0.17712426970986428,-0.1727198270649808,-0.16880609706181815,-0.16529993852118707,-0.16212477320240737,-0.1592464708860888,-0.1564345688450146,-0.1542432423928375},
{-1.0431329321573202,-0.5641240602059767,-0.3999072239181558,-0.32649651850933026,-0.28411201956711807,-0.258538878978527,-0.23872347659585103,-0.2236802034338865,-0.2119208406872275,-0.2024085266280622,-0.19451680054811504,-0.18785094178235795,-0.1821155474231233,-0.1771202515797654,-0.1727166688658741,-0.1688036773174133,-0.16529815792580393,-0.16212354992308065,-0.15924573609569848,-0.1564347767401273,-0.15424329163974448},
{-1.0428201845036895,-0.563969251254413,-0.3998277883726118,-0.3264473640786534,-0.2840783001249463,-0.2585186507419195,-0.23870395514036602,-0.22366502129180077,-0.2119088530214981,-0.20239892834825923,-0.19450908830646085,-0.18784473387654543,-0.18211057225651928,-0.1771162978587455,-0.17271357406650623,-0.16880132019259975,-0.16529643912480196,-0.16212238766068765,-0.15924506163131014,-0.15643503921707236,-0.15424340026908112},
{-1.0425074552108349,-0.5638145693292742,-0.3997484596046803,-0.32639830280328397,-0.2840446658015523,-0.2584984644422761,-0.23868450971124844,-0.2236499128161782,-0.2118969370468733,-0.20238939973936,-0.1945014444903137,-0.18783859296898697,-0.18210566284123786,-0.17711240870897882,-0.17271054283052933,-0.1687990258492249,-0.1652947822749411,-0.1621212865665882,-0.15924444765514068,-0.15643535649174112,-0.1542435684632011},
{-1.0421947447101587,-0.5636600146095958,-0.3996692377864406,-0.32634933485670814,-0.2840111167710333,-0.2584783204960175,-0.23866514048059173,-0.2236348781826507,-0.21188509293331492,-0.20237994096608247,-0.19449386926076784,-0.18783251922582167,-0.18210081934290656,-0.17710858428490894,-0.17270757531994718,-0.16879679444889462,-0.16529318753073596,-0.16212024679940384,-0.1592438943195873,-0.15643572877540635,-0.15424379639621577},
{-1.0418820534322464,-0.5635055872728572,-0.39959012308692365,-0.32630046040970484,-0.2839776532050706,-0.25845821931612534,-0.23864584762048224,-0.2236199175694935,-0.21187332085293065,-0.2023705521981185,-0.1944863627849145,-0.18782651281702556,-0.18209604192378492,-0.1771048247478575,-0.17270467170222048,-0.1687946261556732,-0.16529165505454557,-0.16211926851919145,-0.1592434017850195,-0.15643615628124508,-0.15424408425194258},
{-1.0415693818078964,-0.5633512874989677,-0.3995111156803901,-0.32625167963835366,-0.28394427528114363,-0.25843816131528285,-0.23862663130353923,-0.22360503115535835,-0.2118616209779276,-0.20236123360696467,-0.1944789252230521,-0.1878205739084251,-0.1820913307457488,-0.17710113025871976,-0.17270183214002088,-0.1687925211280259,-0.16529018500467885,-0.1621183518844589,-0.15924297021102518,-0.1564366392236991,-0.15424443220744877},
{-1.041256730267591,-0.5631971154663447,-0.39943221573781074,-0.32620299271458464,-0.28391098317379715,-0.2584181469080704,-0.238607491703398,-0.22359021911779564,-0.21184999347833866,-0.20235198536133225,-0.19447155674367878,-0.18781470267299483,-0.18208668597876,-0.17709750097863264,-0.17269905680292652,-0.1687904795337687,-0.1652887775415195,-0.1621174970555046,-0.15924259975476218,-0.15643717781401278,-0.15424484043965947},
{-1.0409440992422176,-0.5630430713548407,-0.39935342343280666,-0.32615439981356786,-0.28387777705557227,-0.25839817650299324,-0.23858842899093702,-0.2235754816339437,-0.21183843852540463,-0.20234280763185097,-0.19446425750697927,-0.1878088992749838,-0.18208210778261957,-0.17709393706510923,-0.1726963458551154,-0.1687885015331574,-0.16528743282546543,-0.16211670419083646,-0.15924229057820583,-0.15643777225987776,-0.15424530912680723},
{-1.0406314891619672,-0.5628891553461557,-0.39927473894025667,-0.3261059011121148,-0.2838446571060089,-0.258378250517211,-0.23856944334461616,-0.22356081888547408,-0.21182695629383375,-0.2023337005924617,-0.1944570276791211,-0.18780316388732388,-0.1820775963237793,-0.17709043868522656,-0.1726936994657109,-0.16878658728991525,-0.16528615101323396,-0.1621159734524582,-0.1592420428402761,-0.15643842277471265,-0.15424583844132655},
{-1.0403189004572937,-0.5627353676209523,-0.39919616243297895,-0.32605749678501184,-0.28381162349989353,-0.25835836935529954,-0.23855053493781497,-0.2235462310517562,-0.21181554695402838,-0.20232466441167674,-0.19444986742769288,-0.18779749668240697,-0.1820731517709504,-0.17708700599777671,-0.17269111780009894,-0.1687847369702382,-0.16528493226958574,-0.1621153050009383,-0.1592418567031757,-0.15643912956892336,-0.15424642856572746},
{-1.0400063335580896,-0.5625817083598932,-0.39911769408683284,-0.3260091870107331,-0.2837786764175263,-0.258338533430269,-0.2385317039486594,-0.22353171831682062,-0.21180421068049782,-0.2023156992670323,-0.19444277691931688,-0.18779189782894434,-0.1820687742911815,-0.17708363916966618,-0.1726886010317088,-0.16878295074009486,-0.16528377675855666,-0.16211469900052577,-0.15924173232821204,-0.15643989285422322,-0.15424707966896278},
{-1.039693788894887,-0.5624281777456304,-0.3990393340776279,-0.3259609719624734,-0.2837458160349584,-0.2583187431510581,-0.2385129505520709,-0.22351728086110256,-0.2117929476450513,-0.202306805328746,-0.1944357563194501,-0.18778636749830468,-0.18206446405469023,-0.1770803383603976,-0.17268614932324056,-0.16878122876212842,-0.16528268463974882,-0.16211415561325282,-0.15924166987761623,-0.15644071284012284,-0.15424779192633764},
{-1.0393812668976707,-0.5622747759616686,-0.3989610825806196,-0.32591285182038376,-0.2837130425287455,-0.25829899892357133,-0.23849427492537245,-0.2235029188665436,-0.2117817580208481,-0.20229798277368616,-0.19442880579667587,-0.187780905861473,-0.18206022122666354,-0.17707710373663588,-0.17268376285061038,-0.1687795712012985,-0.16528165607593337,-0.1621136750005263,-0.15924166951410257,-0.15644158973469757,-0.15424856550862387},
{-1.0390687679962554,-0.5621215031894025,-0.3988829397726761,-0.32586482676268247,-0.2836803560820016,-0.2582793011600302,-0.23847567724698138,-0.22348863251579587,-0.21177064198273854,-0.2022892317769731,-0.19442192551885285,-0.1877755130947918,-0.18205604598036018,-0.1770739354629569,-0.17268144178073896,-0.1687779782265011,-0.16528069122981037,-0.16211325732759008,-0.15924173140054165,-0.1564425237451701,-0.15424940058809966},
{-1.0387562926205618,-0.5619683596133314,-0.3988049058325629,-0.32581689696755234,-0.2836477568723481,-0.25825965026503894,-0.23845715769675735,-0.22347442199517786,-0.21175959970265978,-0.20228055251358512,-0.19441511565506175,-0.18777018936724232,-0.18205193848319823,-0.17707083370478927,-0.1726791862844408,-0.16877645000170105,-0.16527979026587047,-0.16211290275582257,-0.15924185570121097,-0.1564435150845611,-0.15425029733583528},
{-1.038443841200504,-0.5618153454178625,-0.39872698093814307,-0.3257690626164802,-0.2836152450813785,-0.2582400466454118,-0.23843871645547665,-0.223460287488507,-0.21174863135881594,-0.20227194516265,-0.19440837637607444,-0.1877649348546555,-0.18204789890941697,-0.1770677986307021,-0.17267699653552882,-0.1687749866972723,-0.16527895335099174,-0.1621126114552709,-0.15924204257957797,-0.15644456395892803,-0.15425125591977462},
{-1.0381314141655267,-0.5616624607878009,-0.3986491652672086,-0.32572132388675357,-0.28358282089102715,-0.25822049070708886,-0.23842035370240922,-0.22344622918281232,-0.21173773712214938,-0.20226340990018343,-0.19440170785345856,-0.18775974973219434,-0.18204392743005826,-0.17706483040613819,-0.17267487270567017,-0.16877358847968083,-0.16527818064940902,-0.16211238358830826,-0.15924229220307495,-0.15644567057501035,-0.15425227650808893},
{-1.0378190119459134,-0.5615097059084633,-0.39857145900055,-0.3256736809619838,-0.2835504844818999,-0.25820098285551296,-0.2384020696178908,-0.22343224726509447,-0.21172691717116265,-0.2022549469062085,-0.19439511025763068,-0.18775463417388494,-0.1820400242175566,-0.17706192919783348,-0.17267281496926046,-0.1687722555146678,-0.16527747232615297,-0.16211221932130115,-0.1592426047375568,-0.15644683514209135,-0.15425335926850892},
{-1.037506634969759,-0.561357080964541,-0.3984938623161227,-0.32562613402100027,-0.2835182360355759,-0.25818152349670953,-0.23838386438336556,-0.2234183419189577,-0.21171617167634338,-0.2022465563588156,-0.19438858375680468,-0.18774958835169286,-0.1820361894453697,-0.17705909517658824,-0.1726708234975689,-0.16877098797091605,-0.16527682854437842,-0.16211211882105658,-0.1592429803451978,-0.15644805786237725,-0.1542545043610346},
{-1.0371942836683559,-0.561204586143667,-0.39841637539674934,-0.3255786832471088,-0.2834860757371658,-0.25816211303428105,-0.23836573818465467,-0.22340451333614908,-0.2117055008199884,-0.20223823843936373,-0.19438212853029313,-0.18774461244754548,-0.18203242328668523,-0.17705632851186692,-0.1726688984645648,-0.16876978601986536,-0.16527624947660513,-0.16211208225399787,-0.15924341919973983,-0.1564493389478372,-0.15425571195916632},
{-1.0368819584702607,-0.5610522216322309,-0.398338998421508,-0.32553132882375024,-0.2834540037690374,-0.2581427518692436,-0.23834769120047383,-0.2233907617008981,-0.2116949047729264,-0.20222999332720804,-0.19437574474605412,-0.18773970663202988,-0.18202872591612618,-0.17705362936904123,-0.17266704004340738,-0.16876864982896223,-0.16527573528576056,-0.16211210978697466,-0.15924392146069977,-0.1564506785992421,-0.1542569822188824},
{-1.0365696598047052,-0.5608999876179439,-0.3982617315745074,-0.3254840709319424,-0.2834220203177651,-0.25812344040770796,-0.23832972362015425,-0.2233770872080072,-0.2116843837151663,-0.20222182120608068,-0.1943694325824339,-0.187734871086235,-0.18202509751027662,-0.17705099792367207,-0.17266524841436137,-0.16876757956805477,-0.1652752861398028,-0.16211220159412676,-0.15924448730174845,-0.1564520770277369,-0.1542583153071604},
{-1.0362573881008217,-0.5607478842882472,-0.39818457503683646,-0.3254369097569878,-0.28339012556571674,-0.2581041790499441,-0.2383118356227385,-0.22336349004304168,-0.21167393782292265,-0.20221372225707057,-0.19436319221145482,-0.18773010598330586,-0.18202153824164213,-0.17704843434626127,-0.17266352374979022,-0.16876657540542794,-0.16527490221089636,-0.1621123578393764,-0.1592451168899629,-0.15645353443484566,-0.15425971138155603},
{-1.0359451437883962,-0.5605959118312427,-0.39810752899089863,-0.32538984548266114,-0.28335831969890535,-0.2580849682000945,-0.23829402739568195,-0.223349970396427,-0.21166356727471225,-0.20220569666463462,-0.19435702380859254,-0.1877254115060083,-0.18201804828885315,-0.17704593880623065,-0.17266186622683222,-0.16876563751576157,-0.16527458366155656,-0.16211257868917528,-0.15924581039409702,-0.1564550510272511,-0.15426117060341937},
{-1.035632927296838,-0.560444070437569,-0.3980305936231474,-0.3253428782953236,-0.283326602904566,-0.2580658082572711,-0.23827629912759107,-0.22333652846255347,-0.21165327224805708,-0.20219774461298812,-0.1943509275527191,-0.18772078783021584,-0.18201462782600686,-0.17704351147951058,-0.1726602760187319,-0.16876476606582003,-0.16527433066670483,-0.16211286431908434,-0.15924656798358683,-0.15645662701425067,-0.1542626931361326},
{-1.0353207390541783,-0.5602923602952785,-0.3979537691147996,-0.3252960083782881,-0.2832949753692162,-0.25804669962028015,-0.2382586510002369,-0.22332316443058176,-0.21164305292079177,-0.20218986628684377,-0.19434490361807377,-0.18771623513536895,-0.1820112770305542,-0.17704115253860664,-0.1726587533077435,-0.16876396122933102,-0.16527414339350344,-0.16211321489640795,-0.1592473898321174,-0.15645826259982698,-0.15426427913406826},
{-1.0350085794901531,-0.5601407815949813,-0.39787705565288434,-0.3252492359196424,-0.2832634372818177,-0.2580276426921557,-0.23824108320393123,-0.2233098784935379,-0.2116329094740479,-0.2021820618714827,-0.19433895218600128,-0.18771175360048176,-0.18200799608263196,-0.17703886215704756,-0.1726572982676231,-0.16876322317676795,-0.16527402201509744,-0.16211363059449013,-0.15924827610687942,-0.15645995798998058,-0.1542659287578232},
{-1.0346964490339374,-0.5599893345277849,-0.39780045342224213,-0.3252025611060816,-0.2832319888283834,-0.2580086378708444,-0.23822359592642783,-0.22329667084633797,-0.21162284208614324,-0.20217433155445974,-0.19433307343356887,-0.18770734340824902,-0.18200478515657892,-0.17703664051380485,-0.17265591108110812,-0.16876255207941426,-0.16527396670232974,-0.1621141115840743,-0.15924922698137323,-0.1564617133939521,-0.15426764216493893},
{-1.0343843481143722,-0.559838019283724,-0.3977239626108968,-0.32515598412488345,-0.28320063019899777,-0.25798968555749013,-0.2382061893552958,-0.22328354167898112,-0.2116128509385362,-0.20216667552355716,-0.19432726753817064,-0.18770300473784118,-0.18200164443109657,-0.1770344877779877,-0.17265459192168464,-0.16876194811467826,-0.16527397762308738,-0.16211465803402803,-0.15925024262662646,-0.156463529014232,-0.1542694195079264},
{-1.0340722771600284,-0.5596868360558815,-0.3976475834038098,-0.32510950516351755,-0.28316936158278594,-0.25797078614643,-0.2381888636797953,-0.22327049118872822,-0.2116029362133105,-0.20215909396728193,-0.1943215346819045,-0.18769873777158352,-0.181998574087487,-0.1770324041329303,-0.1726533409713369,-0.1687614114530902,-0.1652740549540681,-0.16211527012241334,-0.15925132321585522,-0.15646540506065776,-0.1542712609512762},
{-1.0337602366003154,-0.5595357850356066,-0.39757131598888407,-0.32506312441267227,-0.2831381831714168,-0.2579519400388648,-0.23817161909197182,-0.22325751956833528,-0.21159309809063132,-0.20215158707337366,-0.19431587504548986,-0.18769454269214236,-0.18199557430089897,-0.17703038975356833,-0.1726521584088374,-0.1687609422670846,-0.16527419886814698,-0.16211594801943363,-0.15925246892466305,-0.15646734174451638,-0.15427316664529656},
{-1.033448226863591,-0.5593848664162593,-0.3974951605552235,-0.32501684206015113,-0.2831070951560477,-0.25793314762992736,-0.23815445578011918,-0.22324462701695325,-0.21158333675465713,-0.20214415503492944,-0.1943102888139947,-0.1876904196832072,-0.18199264525507886,-0.17702844481782165,-0.17265104441705148,-0.1687605407332171,-0.16527440954007488,-0.16211669190271039,-0.15925367992366546,-0.15646933927020257,-0.15427513674652005},
{-1.0331362483791153,-0.5592340803910858,-0.3974191172908519,-0.32497065829578986,-0.28307609772367925,-0.25791440931547527,-0.23813737393415124,-0.2232318137262581,-0.2115736523866758,-0.2021367980414368,-0.19430477616525366,-0.18768636892343693,-0.1819897871252465,-0.1770265695040507,-0.17264999917406954,-0.16876020702677863,-0.16527468714494375,-0.1621175019417791,-0.15925495639108078,-0.15647139784513797,-0.1542771714118345},
{-1.0328243015755163,-0.5590834271542704,-0.3973431863865642,-0.3249245733120816,-0.28304519107287973,-0.25789572549680884,-0.23812037374975148,-0.22321907989496026,-0.21156404517334693,-0.20212951628523967,-0.19429933728244464,-0.18768239060247538,-0.18198700009344293,-0.1770247639953908,-0.1726490228607247,-0.1687599413212979,-0.16527503185287173,-0.16211837831713183,-0.15925629849635925,-0.15647351767914586,-0.15427927079522874},
{-1.0325123868814288,-0.5589329069005728,-0.3972673680303487,-0.324878587298592,-0.2830143753911045,-0.25787709656418656,-0.23810345541699007,-0.22320642571811788,-0.21155451529944003,-0.20212230995853986,-0.19429397235460044,-0.18767848490385575,-0.18198428433974811,-0.17702302846977602,-0.17264811565743798,-0.16875974379460956,-0.16527544384405246,-0.16211932120097572,-0.15925770641953818,-0.15647569898082736,-0.15428143505428693},
{-1.0322005047254166,-0.5587825198243266,-0.39719166241567905,-0.32483270044983925,-0.2829836508761687,-0.2578585229150434,-0.23808661912963203,-0.22319385139701353,-0.21154506294958253,-0.2021151792568503,-0.19428868156279577,-0.187674652012916,-0.18198164004675732,-0.17702136311230277,-0.17264727775047106,-0.16875961462272926,-0.16527592329707375,-0.16212033077185595,-0.1592591803351695,-0.15647794196135578,-0.15428366434298368},
{-1.0318886555370383,-0.5586322661215917,-0.3971160697329381,-0.32478691295545303,-0.28295301772145365,-0.2578400049438727,-0.23806986508245132,-0.22318135712637854,-0.21153568831070402,-0.202108124371847,-0.19428346509299388,-0.1876708921144541,-0.18197906739582947,-0.17701976810172937,-0.1726465093195202,-0.1687595539835911,-0.1652764703858196,-0.16212140720631396,-0.15926072042185524,-0.15648024682974437,-0.15428595881485307},
{-1.0315768397438134,-0.5584821459886342,-0.39704059017285687,-0.32474122500988045,-0.2829224761187774,-0.2578215430426809,-0.23805319346774922,-0.22316894310566227,-0.2115263915707004,-0.2021011455016719,-0.19427832313218119,-0.18766720539431958,-0.18197656656457184,-0.1770182436233938,-0.17264581054955386,-0.16875956205151965,-0.16527708529227425,-0.1621225506833639,-0.15926232685659159,-0.15648261379431005,-0.1542883186256887},
{-1.0312650577748528,-0.5583321596219974,-0.39696522392990374,-0.3246956368076255,-0.28289202626770305,-0.2578031376097414,-0.23803660448002972,-0.22315660953299243,-0.2115171729167571,-0.20209424284146849,-0.1942732558665199,-0.18766359204047944,-0.1819741377376829,-0.17701678985847025,-0.172645181620112,-0.1687596390097923,-0.16527776818733741,-0.1621237613794051,-0.15926399981259465,-0.15648504306520294,-0.15429074392930886},
{-1.0309533100590116,-0.5581823072195462,-0.3968899711963587,-0.32465014854327023,-0.2828616683627132,-0.25778478903467317,-0.23802009831936743,-0.2231443566112148,-0.21150803254052164,-0.20208741658973395,-0.19426826348603754,-0.1876600522460592,-0.18197178109763001,-0.17701540699700047,-0.17264462271893422,-0.16875978503684053,-0.16527851925870607,-0.16212503947585333,-0.15926573947436395,-0.15648753485815803,-0.15429323488358193},
{-1.0306415970249105,-0.558032588978584,-0.3968148321679408,-0.3246047604121287,-0.28283140260079165,-0.2577664977105343,-0.23800367517756627,-0.22313218453609807,-0.21149897062997525,-0.20208066694407023,-0.1942633461759442,-0.187656586191153,-0.18196949682518948,-0.17701409521922074,-0.17264413402881473,-0.16876000030821103,-0.16527933868364642,-0.16212638514964794,-0.15926754601599669,-0.15649008938045483,-0.15429579164005247},
{-1.0303299191008435,-0.557883005098077,-0.3967398070378607,-0.324559472608577,-0.28280122918140194,-0.2577482640291606,-0.23798733525454452,-0.22312009351064432,-0.21148998737700708,-0.20207399410125504,-0.1942585041280438,-0.18765319406935532,-0.18196728510476134,-0.17701285471353856,-0.1726437157342957,-0.16876028500907125,-0.1652802266405189,-0.1621277985831,-0.15926941961912178,-0.15649270684613725,-0.15429841435137348},
{-1.0300182767160848,-0.5577335557767142,-0.396664896002477,-0.3245142853316736,-0.2827711483001991,-0.2577300883837239,-0.23797107874565882,-0.22310808373563873,-0.2114810829737337,-0.20206739826525677,-0.194253737532037,-0.18764987606886052,-0.1819651461197651,-0.17701168566657088,-0.17264336802244884,-0.16876063931698582,-0.16528118331308406,-0.16212927995704263,-0.15927136046487078,-0.15649538746943392,-0.15430110317825552},
{-1.0297066702982036,-0.5575842412137106,-0.39659009925606625,-0.3244691987763204,-0.28274116015718675,-0.25771197116471,-0.23795490584861057,-0.22309615540947902,-0.21147225761191635,-0.2020608796315173,-0.19424904657610398,-0.1876466323780761,-0.18196308005236972,-0.17701058826648364,-0.17264309107756048,-0.16876106341315733,-0.16528220888025658,-0.1621308294512005,-0.1592733687296004,-0.15649813146102076,-0.15430385827065152},
{-1.029395100276595,-0.5574350616116206,-0.396515416998632,-0.3244242131432884,-0.2827112649536616,-0.2576939127646085,-0.2379388167655918,-0.22308430873960106,-0.21146351148843223,-0.20205443840762882,-0.19424443145710768,-0.18764346319163394,-0.18196108708754366,-0.1770095627038728,-0.17264288508648917,-0.1687615574828385,-0.1652833035269481,-0.16213244725094,-0.1592754445974549,-0.15650093904027074,-0.15430667978705515},
{-1.0290835670798302,-0.5572860171688134,-0.39644084942332114,-0.32437932862828234,-0.2826814628878367,-0.2576759135703526,-0.23792281169284024,-0.2230725439219725,-0.2114548447933089,-0.20204807479221643,-0.19423989236031503,-0.18764036869607992,-0.18195916741031226,-0.17700860916399108,-0.17264275023444497,-0.1687621217047024,-0.16528446743690495,-0.16213413353683848,-0.15927758824751947,-0.15650381041795924,-0.15430956788345895},
{-1.0287720711364372,-0.5571371080872112,-0.39636639673151564,-0.324334545432464,-0.28265175416402144,-0.2576579739746876,-0.2379068908332158,-0.22306086116401502,-0.2114462577265641,-0.2020417889898738,-0.1942354294848485,-0.18763734908699803,-0.18195732120619823,-0.17700772783977925,-0.1726426867129618,-0.16876275626538018,-0.16528570079063343,-0.16213588849554128,-0.1592797998629294,-0.1565067458152356,-0.15431252271702078},
{-1.028460612874575,-0.5569883345688211,-0.3962920591198227,-0.3242898637546716,-0.28262213898089783,-0.25764009436487356,-0.23789105438495994,-0.22304926066638586,-0.21143775048254554,-0.20203558120307719,-0.19423104302249783,-0.18763440455258262,-0.18195554865850738,-0.177006918922487,-0.17264269470695126,-0.16876346134634446,-0.16528700377786265,-0.1621377123084642,-0.15928207962706153,-0.15650974544436735,-0.1543155444450406},
{-1.028149192722971,-0.5568396968162119,-0.39621783678875033,-0.3242452837960812,-0.28259261754202214,-0.2576222751339259,-0.23787530254865885,-0.2230377426322434,-0.21142932325875563,-0.2020294516394614,-0.1942267331657348,-0.18763153528719556,-0.1819538499527198,-0.17700618260082024,-0.17264277440544618,-0.16876423713281952,-0.16528837657601514,-0.16213960515972303,-0.15928442772118956,-0.15651280952234004,-0.15431863322501727},
{-1.0278378111111834,-0.5566911950339559,-0.3961437299378616,-0.3242008057582666,-0.28256319005068065,-0.2576045166661345,-0.23785963552853673,-0.22302630726697714,-0.21142097625497058,-0.20202340050370537,-0.1942225001132556,-0.18762874148345077,-0.18195222527630506,-0.17700551907164197,-0.17264292599449504,-0.168765083810257,-0.16528981937577214,-0.16214156723761164,-0.15928684432671503,-0.15651593827038823,-0.15432178922023354},
{-1.02752646846713,-0.556542829423833,-0.39606973876626483,-0.32415642984273063,-0.28253385671109754,-0.2575868193516868,-0.23784405352631666,-0.22301495477454125,-0.21141270966812442,-0.20201742800175282,-0.1942183440581431,-0.1876260233342748,-0.18195067481575222,-0.17700492852549132,-0.17264314966836025,-0.16876600156341226,-0.1652913323620595,-0.16214359872572004,-0.159289329631207,-0.15651913190650646,-0.1543250125890836},
{-1.0272151652193955,-0.556394600191112,-0.39599586347749494,-0.32411215625298695,-0.2825046177291455,-0.2575691835776439,-0.23782855674444647,-0.22300368535853465,-0.211404523699656,-0.20201153434074115,-0.19421426519950558,-0.18762338103303478,-0.18194919876005144,-0.17700441115616172,-0.17264344561247924,-0.1687669905770406,-0.16529291572078364,-0.16214569981295313,-0.1592918838145465,-0.15652239064857554,-0.15432830349274695},
{-1.0269039017969348,-0.5562465075412817,-0.3959221042719605,-0.3240679851913768,-0.28247547330850864,-0.2575516097335111,-0.23781314538642562,-0.22299249922505737,-0.21139641854847468,-0.2020057197303231,-0.1942102637354992,-0.1876208147754852,-0.1819477972942991,-0.17700396716155353,-0.17264381402304707,-0.16876805103962056,-0.16529456964099154,-0.16214787068675207,-0.15929450706856585,-0.15652571471703425,-0.15433166209759008},
{-1.0265926786281696,-0.556098551678609,-0.3958484613530757,-0.3240239168621173,-0.2824464236558555,-0.2575340982044736,-0.2377978196553414,-0.22298139657665672,-0.21138839441817936,-0.20199998437786348,-0.19420633985933478,-0.18761832475315998,-0.18194647060613534,-0.17700359673199273,-0.17264425508311376,-0.16876918313732858,-0.16529629430722537,-0.16215011153101955,-0.15929719957250654,-0.15652910432952183,-0.15433508856450828},
{-1.0262814961423388,-0.5559507328099542,-0.39577493492279103,-0.3239799514697097,-0.28241746897676023,-0.2575166493768819,-0.23778257975845918,-0.22297037762243122,-0.21138045150807727,-0.20199432849373977,-0.1942024937763307,-0.18761591116441423,-0.18194521888840143,-0.17700330006771026,-0.1726447689871975,-0.1687703870605759,-0.16529808990867423,-0.16215242254078532,-0.15929996151191972,-0.15653255970865132,-0.15433858306502657},
{-1.0259703547680772,-0.5558030511426111,-0.395701525186297,-0.3239360892215686,-0.28238860948127353,-0.2574992636378397,-0.23776742589903677,-0.22295944256792666,-0.21137259002547637,-0.20198875228814472,-0.19419872568317942,-0.18761357420149238,-0.18194404232683326,-0.17700307736565435,-0.17264535592848063,-0.16877166299438784,-0.16529995663900365,-0.16215480389989523,-0.15930279307774242,-0.1565360810748615,-0.15434214576268346},
{-1.0256592549334371,-0.5556555068835962,-0.3956282323481304,-0.32389233032183995,-0.28235984537735703,-0.2574819413727596,-0.23775235828465213,-0.22294859161986835,-0.2113648101711476,-0.2019832559724506,-0.19419503578377828,-0.18761131406363063,-0.18194294111350473,-0.17700292882146584,-0.17264601609770125,-0.1687730111296446,-0.16530189468397793,-0.16215725580343587,-0.15930569445258413,-0.15653966864790902,-0.1543457768269576},
{-1.0253481970683112,-0.5555081002406439,-0.3955550566115704,-0.32384867497716385,-0.28233117687084075,-0.25746468296652836,-0.23773737711951526,-0.2229378249847258,-0.21135711214692776,-0.20197783975810069,-0.19419142427628344,-0.18760913093962017,-0.1819419154392392,-0.17700285463349985,-0.1726467496882833,-0.16877443165621742,-0.16530390423616836,-0.16215977843636153,-0.15930866582809244,-0.15654332264688264,-0.15434947642982877},
{-1.025037181601185,-0.5553608314227958,-0.39548199818484875,-0.3238051233970509,-0.28230260417544173,-0.25744748880805446,-0.2377224826117441,-0.2229271428682864,-0.21134949616143217,-0.20197250385713517,-0.19418789136253167,-0.18760702503372784,-0.18194096549210315,-0.17700285500227153,-0.17264755689063804,-0.16877592476363645,-0.16530598548307296,-0.16216237199324723,-0.15931170738700473,-0.15654704329442382,-0.1543532447436604},
{-1.0247262089608427,-0.5552137006394702,-0.3954090572721398,-0.32376167578873094,-0.28227412749694736,-0.2574303592769809,-0.2377076749692435,-0.222916545480345,-0.2113419624194819,-0.20196724848452163,-0.19418443724974566,-0.18760499653870966,-0.18194009146775159,-0.17700293012869395,-0.1726484379014721,-0.16877749064435932,-0.16530813861845672,-0.16216503666503002,-0.1593148193206133,-0.15655083081018972,-0.15435708194009123},
{-1.0244152795761678,-0.5550667081005898,-0.39533623408291163,-0.32371833236170744,-0.28224574705124894,-0.25741329476149133,-0.23769295439996085,-0.22290603302901957,-0.21133451112584112,-0.20196207385231446,-0.19418106213827002,-0.18760304565348918,-0.18193929355770422,-0.17700308021392175,-0.17264939291399628,-0.1687791294912273,-0.16531036383956632,-0.16216777264490645,-0.1593180018181357,-0.1565546854140223,-0.15436098819735378},
{-1.0241043938765486,-0.554919854015786,-0.3952635288239179,-0.32367509332416944,-0.282217463049804,-0.2573962956424225,-0.23767832111408893,-0.2228956057234086,-0.21132714248811624,-0.20195698017428754,-0.19417776623450322,-0.1876011725753699,-0.18193857195666396,-0.1770033054556137,-0.17265042212034132,-0.16878084149375638,-0.16531266133219447,-0.16217058012470886,-0.15932125506914474,-0.15655860732707083,-0.15436496368344876},
{-1.023793552290769,-0.5547731385977741,-0.3951909417026158,-0.3236319588884129,-0.2821892757002189,-0.2573793623045191,-0.23766377531850935,-0.22288526377012374,-0.21131985671304676,-0.2019519676666306,-0.19417454974492898,-0.18759937750046163,-0.18193792685531207,-0.17700360606019672,-0.17265152572004183,-0.16878262684709,-0.16531503129648684,-0.16217345929827331,-0.15932457926641064,-0.15656259676669038,-0.15436900858171043},
{-1.0234827552476418,-0.5546265620569457,-0.395118472929596,-0.3235889292641616,-0.2821611852211703,-0.2573624951347995,-0.23764931722429594,-0.22287500737968458,-0.2113126540064343,-0.20194703654485124,-0.194171412872592,-0.18759766062876793,-0.18193735845080994,-0.17700398222524427,-0.17265270390480225,-0.1687844857466274,-0.16531747392227203,-0.1621764103598622,-0.1593279745950582,-0.15656665395316338,-0.1543731230656391},
{-1.0231720031769527,-0.5544801246068403,-0.39504612271376516,-0.3235460046660137,-0.28213319182371777,-0.2573456945126509,-0.23763494704448362,-0.22286483676566604,-0.21130553457979317,-0.2019421870264324,-0.19416835582916292,-0.18759602216326243,-0.18193686693886946,-0.1770044341614323,-0.17265395687205398,-0.16878641838660258,-0.1653199894072941,-0.1621794335062816,-0.1593314412502167,-0.1565707791040012,-0.15437730731626687},
{-1.0228612965079762,-0.5543338264594198,-0.3949738912666021,-0.32350318530426136,-0.28210529572453424,-0.25732896082119794,-0.237620664986693,-0.22285475213219286,-0.21129849863778816,-0.20193741932592957,-0.19416537881647855,-0.1875944622976249,-0.18193645251312773,-0.17700496206595062,-0.17265528481766523,-0.16878842495952995,-0.16532257794862915,-0.1621825289302734,-0.15933497942437214,-0.15657497243856255,-0.15438156151040516},
{-1.0225506356691128,-0.5541876678298578,-0.39490177879682165,-0.3234604713913143,-0.2820774971380189,-0.25731229444103576,-0.23760647126491108,-0.22284475369330892,-0.2112915463919336,-0.20193273365968878,-0.19416248204736064,-0.1875929812356958,-0.18193611537272147,-0.17700556614752827,-0.17265668793722,-0.16879050566535625,-0.16532523973849322,-0.16218569682632733,-0.15933858930779365,-0.15657923417174402,-0.15438588582252066},
{-1.0222400210908518,-0.5540416489321984,-0.3948297855188869,-0.32341786314488274,-0.28204979628016247,-0.25729569575823064,-0.2375923660924144,-0.22283484166071332,-0.21128467805149853,-0.20192813024715406,-0.19415966573227195,-0.18759157917770608,-0.1819358557147126,-0.17700624660919573,-0.1726581664317024,-0.16879266069919652,-0.16532797497829677,-0.16218893739205953,-0.15934227109737265,-0.1565835645265281,-0.15439028043991243},
{-1.0219294532011531,-0.5538957699799028,-0.3947579116437083,-0.3233753607756569,-0.2820221933685616,-0.25727916515467086,-0.2375783496796231,-0.22282501624525253,-0.2112778938227251,-0.20192360930818154,-0.19415693007610457,-0.187590256325322,-0.18193567373776887,-0.17700700365705302,-0.17265972049756328,-0.16879489025927796,-0.16533078386294164,-0.16219225082507194,-0.15934602498356298,-0.15658796371403128,-0.15439474553710397},
{-1.0216189324311742,-0.5537500311911785,-0.3946861573845979,-0.3233329645033791,-0.2819946886196618,-0.25726270300661724,-0.2375644222440627,-0.2228152776584551,-0.21127119391985616,-0.20191917105839252,-0.19415427529496299,-0.18758901288302354,-0.18193556963998958,-0.1770078375018329,-0.17266135033243302,-0.16879719454482256,-0.16533366659361093,-0.16219563732144593,-0.1593498511630571,-0.15659243195648287,-0.1543992812955537},
{-1.0213084592098056,-0.5536044327806096,-0.39461452295603294,-0.3232906745415107,-0.2819672822538166,-0.2572463096999513,-0.2375505839984271,-0.22280562611480548,-0.21126457855115177,-0.2019148157178421,-0.194151701596752,-0.18758784905014636,-0.18193554362271414,-0.1770087483445053,-0.1726630561357041,-0.16879957375371646,-0.16533662336988186,-0.1621990970809577,-0.159353749830359,-0.1565969694665057,-0.15440388789747317},
{-1.0209980339659737,-0.5534589749661691,-0.39454300857253344,-0.32324849110891307,-0.2819399744917632,-0.25722998561424504,-0.23753683516109447,-0.22279606182748068,-0.21125804792939107,-0.2019105435090438,-0.19414920919560075,-0.18758676503823324,-0.18193559588753772,-0.1770097363975509,-0.1726648381105207,-0.1688020280886633,-0.16533965439164433,-0.16220263030329818,-0.15935772118200475,-0.15660157646817652,-0.1544085655235392},
{-1.0206876571302175,-0.5533136579655817,-0.39447161444772405,-0.3232064144229696,-0.28191276554888134,-0.2572137311290703,-0.2375231759442471,-0.22278658500940196,-0.21125160226635842,-0.20190635464828688,-0.19414679830740056,-0.1875857610430529,-0.1819357266342223,-0.17701080186758134,-0.17266669645437105,-0.16880455774672498,-0.16534275985959823,-0.16220623718261606,-0.15936176541613634,-0.15660625317180177,-0.15441331435297911},
{-1.0203773291318186,-0.5531684819953568,-0.3944003407978016,-0.32316444470106376,-0.2818856556481393,-0.2571975466288876,-0.23750960656573739,-0.2227771958729079,-0.21124524176974546,-0.20190224935792855,-0.19414446914016992,-0.18758483727928876,-0.18193593606495995,-0.17701194496051187,-0.17266863136752875,-0.16880716293213993,-0.16534593997322133,-0.16220991792016548,-0.15936588272602137,-0.15661099979813287,-0.15441813457221087},
{-1.020067050401373,-0.5530234472775319,-0.3943291878413362,-0.3231225821651975,-0.28185864501188007,-0.2571814324868882,-0.23749612724490987,-0.22276789463617774,-0.21123896665658037,-0.20189822785856393,-0.19414222191052488,-0.18758399394849334,-0.18193622438298007,-0.1770131658915517,-0.17267064305433166,-0.16880984384461328,-0.16534919493741995,-0.16221367272018483,-0.1593700733132266,-0.15661581656692647,-0.15442302636358818},
{-1.019756821367423,-0.5528785540297463,-0.39425815579210166,-0.3230808270333654,-0.2818317338605141,-0.25716538908865516,-0.23748273819957433,-0.22275868151396594,-0.21123277713668642,-0.2018942903730334,-0.1941400568361047,-0.1875832312607315,-0.18193659179520694,-0.1770144648662182,-0.1726727317161334,-0.16881260068822712,-0.16535252495400243,-0.162217501778386,-0.15937433737673246,-0.15662070369386072,-0.1544279899131027},
{-1.0194466424616024,-0.5527338024730142,-0.3941872448707002,-0.3230391795280667,-0.2818049224196386,-0.2571494168086019,-0.23746943964846423,-0.2227495567187674,-0.21122667342572754,-0.20189043712089472,-0.19413797412988743,-0.18758254942510177,-0.18193703850623422,-0.1770158420979442,-0.17267489755515442,-0.16881543366581298,-0.16535593022895512,-0.16222140529652052,-0.15937867511333081,-0.15662566139984335,-0.154433025401417},
{-1.019136514113164,-0.5525891928284352,-0.39411645529386163,-0.3229976398698824,-0.281778210911213,-0.2571335160314021,-0.23745623181262943,-0.2227405204724846,-0.21122065573618443,-0.20188666832633828,-0.1941359740115871,-0.18758194865222322,-0.1819375647188224,-0.1770172977967519,-0.17267714077702578,-0.16881834298203557,-0.16535941096391582,-0.1622253834796652,-0.15938308672899382,-0.15663068990320994,-0.15443813302375986},
{-1.0188264367524482,-0.552444725317379,-0.39404578728185413,-0.3229562082826192,-0.2817515995584188,-0.25711768713456706,-0.23744311491007863,-0.2227315729866035,-0.2112147242799267,-0.20188298420923445,-0.1941340566933576,-0.18758142914805376,-0.1819381706406915,-0.1770188321728483,-0.17267946158483483,-0.16882132884053647,-0.16536296736327927,-0.162229436524143,-0.15938757241734436,-0.15663578942591982,-0.15444331296093594},
{-1.018516410810001,-0.5523004001633325,-0.39397524105402226,-0.3229148849881369,-0.28172508858834533,-0.2571019304929649,-0.23743008916495967,-0.22272271448123604,-0.21120887927561682,-0.2018793849960474,-0.19413222239677452,-0.1875809911314974,-0.18193885648143748,-0.17702044543915463,-0.1726818601816973,-0.16882439144946204,-0.1653665996344813,-0.16223356463964933,-0.15939213238362981,-0.1566409601863512,-0.15444856541046192},
{-1.0182064367162482,-0.5521562175880348,-0.3939048168297532,-0.32287367021174873,-0.2816986782273858,-0.25708624648984824,-0.2374171548004398,-0.22271394517356669,-0.21120312093738391,-0.20187587090669012,-0.19413047133973294,-0.18758063481081422,-0.18193962244795614,-0.17702213781045373,-0.17268433677585904,-0.16882753101181436,-0.16537030798636465,-0.16223776802527823,-0.15939676683055382,-0.1566462024079982,-0.15445389056141323},
{-1.0178965149013877,-0.5520121778164437,-0.3938345148331024,-0.3228325641778724,-0.28167236870351076,-0.25707063549974407,-0.2374043120368583,-0.2227052652854553,-0.21119744948107666,-0.20187244216783995,-0.19412880374139263,-0.1875803604022792,-0.181940468751435,-0.17702390949696678,-0.17268689157215533,-0.168830747734944,-0.1653740926236651,-0.16224204688586497,-0.15940147596208476,-0.15665151631267804,-0.15445928860704328},
{-1.0175866457960652,-0.5518682810721245,-0.3937643352832154,-0.32279156711229007,-0.28164616024047007,-0.25705509790262226,-0.23739156110049464,-0.2226966750323669,-0.21119186512271426,-0.20186909900139938,-0.19412721982347136,-0.18758016811476352,-0.18194139560203837,-0.17702576071273768,-0.1726895247808642,-0.16883404182856054,-0.1653779537554101,-0.16224640142472424,-0.15940625998406688,-0.15665690212141214,-0.1544647597469293},
{-1.0172768298313528,-0.551724527581058,-0.3936942784054196,-0.32275067924067,-0.281620053069048,-0.25703963407873687,-0.2373789022149566,-0.22268817463495338,-0.211186368079467,-0.20186584163340626,-0.194125719801562,-0.18758005816962964,-0.18194240320870847,-0.1770276916715119,-0.1726922366052719,-0.16883741349765558,-0.16538189158701755,-0.1622508318496898,-0.1594111190943721,-0.15666236006187262,-0.15447030418130225},
{-1.016967067438351,-0.5515809175689768,-0.39362434442008265,-0.3227099007933987,-0.2815940474185652,-0.25702424440035543,-0.23736633560689313,-0.22267976431361092,-0.21118095857015362,-0.20186267028869054,-0.1941243039020577,-0.18758003078018248,-0.18194349178516234,-0.17702970259198025,-0.17269502725477537,-0.16884086295264922,-0.1653859063287939,-0.1622553383640053,-0.15941605350101895,-0.15666789035739725,-0.15447592211080519},
{-1.0166573590471657,-0.5514374512625508,-0.39355453355427983,-0.3226692319965849,-0.28156814352043114,-0.25700892925038943,-0.23735386150282523,-0.22267144429140728,-0.21117563681384866,-0.20185958519010683,-0.19412297234481457,-0.18758008616619293,-0.1819446615477034,-0.17703179368656663,-0.17269789693885684,-0.16884439040268262,-0.16538999819803735,-0.16225992117503552,-0.15942106341316276,-0.1566734932359708,-0.15448161374453662},
{-1.0163477050896503,-0.5512941288879176,-0.3934848460302689,-0.32262867307578347,-0.28154234160402325,-0.2569936890001969,-0.2373414801297571,-0.22266321478745965,-0.21117040302938506,-0.20185658656401984,-0.1941217253492482,-0.18758022453947376,-0.18194591270703597,-0.1770339651714039,-0.17270084586608903,-0.1688479960594691,-0.16539416739594515,-0.16226458048700465,-0.15942614903282504,-0.1566791689228353,-0.15448737928061007},
{-1.0160381059966497,-0.5511509506743977,-0.3934152820739314,-0.3225882242660276,-0.2815166418973831,-0.25697852402974775,-0.237329191718203,-0.2226550760241537,-0.21116525743572367,-0.20185367463601267,-0.19412056314291704,-0.1875804461235191,-0.1819472454796056,-0.1770362172633071,-0.17270387424873945,-0.16885168013054397,-0.16539841413926126,-0.16226931651023335,-0.15943131057048276,-0.15668491764428438,-0.1544932189344479},
{-1.0157285621994916,-0.5510079168503665,-0.3933458419120086,-0.3225478857955437,-0.2814910446385568,-0.2569634347198644,-0.23731699649347604,-0.22264702822437243,-0.21116020025425541,-0.20185084963205213,-0.19411948594654405,-0.18758075113406392,-0.18194866008073518,-0.17703855017704484,-0.1727069822954519,-0.16885544283165643,-0.16540273863741106,-0.16227412945161745,-0.1594365482303175,-0.15669073963498192,-0.1544991329178913},
{-1.0154190741308895,-0.5508650276458553,-0.39327652577294714,-0.3225076578975461,-0.28146555005787377,-0.2569484214398301,-0.23730489468945848,-0.2226390716127753,-0.2111552317067975,-0.20184811178006612,-0.1941184939840923,-0.18758113979474444,-0.18195015672893078,-0.17704096413383752,-0.17271017021766966,-0.1688592843728145,-0.16540714110247734,-0.1622790195206818,-0.15944186222050405,-0.15669663511711462,-0.15450512144298045},
{-1.015109642220473,-0.5507222832897511,-0.39320733388133533,-0.3224675408023643,-0.2814401583901116,-0.256933484571789,-0.2372928865365651,-0.22263120641441958,-0.21115035201646037,-0.20184546130698777,-0.19411758748390184,-0.187581612323811,-0.18195173564224376,-0.1770434593496475,-0.17271343822811502,-0.1688632049677068,-0.16541162174988244,-0.16228398692734913,-0.1594472527533668,-0.15670260432889904,-0.1545111847302394},
{-1.0148002669006075,-0.5505796840125612,-0.39313826646690586,-0.3224275347415073,-0.2814148698719805,-0.25691862448846337,-0.23728097226602074,-0.22262343285130726,-0.21114556140624074,-0.20184289843530223,-0.19411676666805988,-0.18758216894175916,-0.18195339703999025,-0.1770460360434214,-0.17271678653845868,-0.16886720483020667,-0.16541618079342868,-0.16228903188070376,-0.15945272003351363,-0.1567086475020858,-0.15451732299207777},
{-1.0144909486036866,-0.5504372300474998,-0.3930693237592209,-0.32238763995172803,-0.28138968473457737,-0.25690384156692403,-0.2372691521137682,-0.22261575115018672,-0.2111408600996043,-0.20184042339602115,-0.19411603176321535,-0.1875828098709036,-0.18195514114064792,-0.1770486944321874,-0.1727202153635261,-0.168871284173278,-0.1654208184484247,-0.16229415459005736,-0.15945826427569898,-0.15671476486741653,-0.154523536452146},
{-1.0141816877608392,-0.5502949216243138,-0.3930005059854267,-0.3223478566665392,-0.28136460321802303,-0.2568891361863024,-0.2372574263089291,-0.2226081615349358,-0.2111362483215089,-0.20183803641648979,-0.19411538299654296,-0.18758353533250727,-0.1819569681661335,-0.17705143473916962,-0.17272372491676435,-0.16887544321578218,-0.16542553492459433,-0.16229935526854433,-0.15946388568332281,-0.15672095665973984,-0.154529825328666},
{-1.0138724848050842,-0.5501527589788395,-0.3929318133800308,-0.3223081851231058,-0.2813396255578198,-0.2568745087173028,-0.2372457950909279,-0.22260066423557134,-0.2111317262997403,-0.2018357377238118,-0.1941148205945069,-0.1875843455514996,-0.18195887833908841,-0.17705425718469314,-0.17272731541211783,-0.16887968217326943,-0.16543033044482058,-0.16230463412811957,-0.1594695844727454,-0.15672722311910547,-0.15453618984500395},
{-1.0135633401685737,-0.550010742342657,-0.39286324617125956,-0.32226862555540947,-0.28131475199204203,-0.25685995953914187,-0.23723425869238213,-0.2225932594763833,-0.21112729425585997,-0.20183352754621353,-0.19411434478521983,-0.18758524074752359,-0.1819608718814436,-0.17705716198697985,-0.17273098706890266,-0.16888400125824887,-0.16543520522087363,-0.1623099913816617,-0.15947536085204206,-0.15673356447322817,-0.15454263022486714},
{-1.0132542542832894,-0.5498688719511406,-0.3927948045936347,-0.3222291782024911,-0.281289982764406,-0.2568454890273131,-0.23722281735547313,-0.22258594749084182,-0.21112295242465962,-0.20183140611156603,-0.19411395579805912,-0.1875862211512498,-0.18196294901626686,-0.1770601493674917,-0.17273474009884637,-0.16888840069402988,-0.1654401594705348,-0.16231542724440828,-0.1594812150350151,-0.15673998096801256,-0.15454914668882225},
{-1.0129452275815183,-0.5497271480383716,-0.39272648887657624,-0.3221898433014587,-0.28126531810814015,-0.2568310975554482,-0.23721147131320208,-0.2225787285012757,-0.21111870102956232,-0.20182937365039777,-0.19411365386260115,-0.18758728697528682,-0.18196510997225346,-0.1770632195490549,-0.17273857471870713,-0.16889288069364738,-0.16544519341128705,-0.16232094192743318,-0.15948714723087676,-0.15674647283262289,-0.15455573946363188},
{-1.0126362604969685,-0.549585570840911,-0.3926582992562828,-0.32215062109091264,-0.2812407582665628,-0.25681678550209597,-0.23720022080532033,-0.2225716027391229,-0.21111454030160814,-0.20182743039039508,-0.19411343920450008,-0.1875884384562312,-0.18196735496886163,-0.177066372751554,-0.17274249114990425,-0.16889744147958652,-0.165450307260258,-0.1623265356447945,-0.15949315765361405,-0.1567530403148396,-0.15456240876937954},
{-1.0123273534626307,-0.5494441405963713,-0.3925902359669351,-0.32211151181114417,-0.28121630348043425,-0.2568025532376481,-0.23718906607246026,-0.2225645704357504,-0.2111104704704303,-0.20182557656049482,-0.1941133120577092,-0.18758967581268848,-0.18196968423599458,-0.17706960920293113,-0.172746489608258,-0.16890208327269818,-0.16545550123650798,-0.1623322086183805,-0.15949924651340552,-0.15675968364983817,-0.15456915483594003},
{-1.01201850691033,-0.5493028575397574,-0.3925222992407811,-0.3220725157023736,-0.2811919539932859,-0.2567884011413071,-0.23717800735568062,-0.2225576318222693,-0.2111064917664578,-0.20182381239247604,-0.19411327265254386,-0.18759099927110867,-0.18197209800094072,-0.17707292912162131,-0.17275057031656615,-0.16890680629123267,-0.16546077555963734,-0.16233796105852605,-0.15950541402965257,-0.15676640307758305,-0.1545759778876885},
{-1.0117097212744568,-0.549161721910032,-0.3924544893169184,-0.3220336330069813,-0.28116771004901864,-0.25677432958450197,-0.23716704489891072,-0.22255078712987597,-0.21110260442408446,-0.20182213811314398,-0.19411332122037095,-0.1875924090592207,-0.1819745964946975,-0.1770763327348419,-0.1727547334880768,-0.1689116107571067,-0.1654661304495022,-0.16234379318493097,-0.15951166040872522,-0.1567731988404404,-0.15458287814111316},
{-1.0114009969873408,-0.549020733946108,-0.3923868064303093,-0.3219948639676744,-0.28114357188940176,-0.25676033894694683,-0.2371561789425698,-0.22254403659067634,-0.21109880867520303,-0.20182055395595455,-0.19411345799416324,-0.18759390540101606,-0.18197717994461016,-0.1770798202651065,-0.17275897935400053,-0.16891649689381438,-0.1654715661259587,-0.1623497052174372,-0.15951798587356336,-0.15678007117661252,-0.15458985582766616},
{-1.011092334483699,-0.5488798938869124,-0.39231925081841723,-0.32195620882468745,-0.2811195397603541,-0.25674642960186134,-0.23714540972922293,-0.2225373804373305,-0.21109510475196203,-0.2018190601504415,-0.19411368320345446,-0.18759548852351315,-0.18197984857670235,-0.1770833919353123,-0.17276330812691754,-0.16892146492290294,-0.16547708280749873,-0.16235569736885225,-0.15952439063029544,-0.1567870203327857,-0.15459691116747365},
{-1.0107837341960888,-0.5487392019732553,-0.3922518227189755,-0.3219176678247493,-0.2810956139071408,-0.25673260192009195,-0.23713473750780167,-0.22253081890573867,-0.21109149288939477,-0.20181765692758802,-0.19411399708580745,-0.1875971586566294,-0.18198260262759902,-0.17708704797399832,-0.1727677200319988,-0.16892651506975653,-0.16548268071741745,-0.1623617698695483,-0.15953087489712914,-0.15679404654575535,-0.15460404439200204},
{-1.010475196559355,-0.5485986584452434,-0.39218452237203394,-0.32187924121377876,-0.28107179457622067,-0.256718856281168,-0.23712416252107005,-0.22252435222873146,-0.21108797332587415,-0.20181634451975583,-0.19411439987416657,-0.18759891602503842,-0.18198544232943448,-0.17709078860649186,-0.17277221529612063,-0.16893164755667556,-0.16548836007876844,-0.16236792292991709,-0.15953743889441796,-0.15680115006105666,-0.15461125572494439},
{-1.0101667220070425,-0.548458263545001,-0.39211735001646275,-0.3218409292347246,-0.28104808201881326,-0.2567051930570443,-0.2371136850178459,-0.2225179806461881,-0.2110845462972719,-0.20181512315782868,-0.1941148918025135,-0.18760076086077504,-0.18198836791319195,-0.1770946140578502,-0.17277679413817282,-0.1689368626105363,-0.16549412111311312,-0.16237415677801437,-0.15954408283322152,-0.1568083311181141,-0.15461854538739317},
{-1.0098583109734562,-0.5483180175136653,-0.392050305891388,-0.3218027321355237,-0.2810244764757215,-0.2566916126238681,-0.23710330524446022,-0.2225117043891771,-0.21108121203735664,-0.2018139930739835,-0.19411547310811272,-0.18760269338572755,-0.1819913796135637,-0.1770985245548502,-0.17278145678739065,-0.16894216045818666,-0.16549996404383194,-0.16238047162880775,-0.15955080693545654,-0.15681558996041645,-0.1546259136059973},
{-1.0095499638932637,-0.5481779205966149,-0.3919833902416343,-0.3217646501627911,-0.28100097820356496,-0.2566781153569764,-0.2370930234504698,-0.22250552369972354,-0.21107797078907709,-0.20181295450183256,-0.19411614402403643,-0.1876047138347019,-0.18199447766545518,-0.17710252032422602,-0.17278620346829143,-0.16894754132535184,-0.16550588909149155,-0.1623868677109357,-0.15955761141293578,-0.15682292683204935,-0.15463336061100108},
{-1.0092416812009404,-0.5480379730363225,-0.3919166033054893,-0.32172668356695056,-0.2809775874469125,-0.25666470162707355,-0.23708283988585777,-0.22249943881334389,-0.21107482278829082,-0.20181200767494545,-0.19411690478992227,-0.1876068224325138,-0.18199766230415548,-0.1771066015978704,-0.17279103440591825,-0.16895300543977498,-0.1655118964823572,-0.16239334524492222,-0.15956449648871285,-0.15683034197289203,-0.15464088662706388},
{-1.0089334633311893,-0.5478981750774636,-0.39184994532833173,-0.32168883259701886,-0.2809543044604368,-0.2566513718144421,-0.23707275479900147,-0.222493449972319,-0.211071768276895,-0.2018111528270765,-0.19411775564246625,-0.18760901941425345,-0.18200093376911752,-0.177110768601068,-0.17279594983160962,-0.16895855303013718,-0.16551798644519522,-0.16239990445664887,-0.15957146237913378,-0.15683783562639064,-0.15464849188622054},
{-1.0086253107191965,-0.5477585269653318,-0.39178341655286886,-0.3216510975003928,-0.2809311294956558,-0.25663812628614835,-0.23706276844592367,-0.2224875574152776,-0.2110688074970284,-0.2018103901917101,-0.19411869682099336,-0.18761130500514867,-0.18200429229459303,-0.17711502156164727,-0.1728009499682912,-0.16896418432941118,-0.1655241591991512,-0.16240654556671075,-0.15957850930674056,-0.1568454080295396,-0.1546561766071335},
{-1.0083172238001055,-0.5476190289455616,-0.39171701722402474,-0.3216134785314324,-0.28090806280151526,-0.2566249654215369,-0.2370528810766359,-0.22248176138343467,-0.21106594068679385,-0.2018097200018758,-0.1941197285642744,-0.18761367943521634,-0.18200773812051807,-0.1771193607121404,-0.17280603504913472,-0.16896989955958475,-0.1655304149727641,-0.16241326880381735,-0.15958563749160248,-0.15685305942743355,-0.15466394102506342},
{-1.0080092030086902,-0.5474796812651803,-0.39165074758550134,-0.32157597594007825,-0.28088510463497585,-0.25661188959691117,-0.2370430929410361,-0.22247606211706739,-0.21106316809067494,-0.20180914249662862,-0.194120851109588,-0.1876161429362213,-0.18201127148435603,-0.1771237862787558,-0.1728112053016133,-0.1689756989586897,-0.16553675399289602,-0.16242007439046802,-0.15959284715179933,-0.15686079006304965,-0.15467178537056725},
{-1.0077012487821122,-0.5473404841718121,-0.39158460788621596,-0.3215385899813157,-0.2808622552498008,-0.25659889918024703,-0.23703340429941022,-0.22247045986524938,-0.21106048995177673,-0.2018086579111582,-0.19412206470330773,-0.18761869574370849,-0.1820148926309031,-0.17712829849835998,-0.17281646095952397,-0.16898158275876085,-0.16554317648694905,-0.16242696255848443,-0.15960013851083943,-0.15686860017501658,-0.15467970987327817},
{-1.0073933615547404,-0.5472014379136354,-0.3915185983718885,-0.3215013209072737,-0.2808395149001939,-0.25658599455336173,-0.23702381540384465,-0.22246495486714934,-0.21105790651519385,-0.2018082664811658,-0.1941233695824991,-0.1876213380849947,-0.18201860180042218,-0.17713289759683448,-0.17282180224923138,-0.16898755118563713,-0.1655496826846985,-0.16243393353015279,-0.15960751179443378,-0.15687649000368253,-0.15468771476072618},
{-1.007085541762514,-0.547062542740548,-0.3914527192890773,-0.3214641689722413,-0.28081688384530423,-0.2565731760831227,-0.2370143265105753,-0.22245954736922613,-0.21105541802488403,-0.2018079684419547,-0.19412476599077877,-0.1876240701929106,-0.18202239923031982,-0.17713758380935474,-0.17282722940494466,-0.16899360447600031,-0.1655562728099369,-0.1624409875330315,-0.15961496721853052,-0.15688445978707932,-0.1546958002612513},
{-1.0067777898428218,-0.5469237989012967,-0.3913869708899682,-0.32142713443303705,-0.2807943623383835,-0.25656044414927237,-0.23700493787883659,-0.22245423761906125,-0.21105302472702192,-0.20180776403273626,-0.19412625417278662,-0.187626892302049,-0.18202628516665698,-0.17714235736565342,-0.1728327426592955,-0.16899974286430108,-0.16556294709516806,-0.16244812479470738,-0.15962250501604558,-0.15689250976649305,-0.15470396661302743},
{-1.0064701062311272,-0.5467852066461703,-0.39132135341958474,-0.32139021754515795,-0.2807719506390214,-0.25654779912635206,-0.23699564976108434,-0.2224490258606977,-0.2110507268653521,-0.20180765349125807,-0.19412783436852976,-0.18762980464373413,-0.18203025985069132,-0.1771472185009486,-0.17283834224492978,-0.1690059665830006,-0.16556970576839092,-0.16245534554724372,-0.15963012540368027,-0.15690064017975658,-0.15471221404368407},
{-1.0061624913648402,-0.546646766227866,-0.391255867132827,-0.3213534185673126,-0.28074964900669386,-0.25653524138289185,-0.23698646242186783,-0.222443912346165,-0.21104852469309776,-0.20180763705926097,-0.19412950682607288,-0.18763280745294253,-0.18203432353222126,-0.17715216745082785,-0.17284402839912616,-0.16901227587187861,-0.16557654906486619,-0.16246265001647942,-0.15963782861086884,-0.15690885126950604,-0.15472054277988434},
{-1.0058549456799,-0.5465084778970777,-0.3911905122772481,-0.3213167377572148,-0.2807274576982337,-0.2565227713019027,-0.2369773761154761,-0.22243889732246203,-0.21104641845217031,-0.20180771497133776,-0.19413127179124956,-0.18763590096372695,-0.18203847645132498,-0.17715720444785177,-0.17284980135504213,-0.16901867096323997,-0.16558347721236544,-0.16247003843322716,-0.15964561486767082,-0.15691714326507622,-0.15472895305727263},
{-1.0055474696139228,-0.5463703419077746,-0.39112528910793287,-0.32128017537347375,-0.28070537698008025,-0.25651038925080627,-0.23696839110822054,-0.22243398104234302,-0.21104440839512506,-0.20180788747285305,-0.19413312950860018,-0.18763908541301078,-0.1820427188557403,-0.17716232972816215,-0.17285566134580677,-0.16902515209389435,-0.1655904904435772,-0.16247751102746122,-0.15965348439500815,-0.15692551641197383,-0.15473744509588983},
{-1.0052400636043828,-0.5462323585124196,-0.39106019787536184,-0.32124373167825127,-0.28068340710868256,-0.2564980956092029,-0.23695950765662133,-0.22242916375485322,-0.21104249476958614,-0.20180815480408398,-0.19413508022881842,-0.18764236103272935,-0.18204705099380192,-0.17716754352815656,-0.17286160861189614,-0.1690317195022999,-0.16559758899197163,-0.16248506802747897,-0.15966143742733152,-0.15693397094159423,-0.15474601913419406},
{-1.0049327280879368,-0.5460945279665452,-0.39099523883530196,-0.3212074069285933,-0.28066154834652934,-0.2564858907501417,-0.23695072602217238,-0.22242444571240583,-0.21104067782638936,-0.2018085172045545,-0.19413712419481044,-0.18764572806331614,-0.18205147310897019,-0.1771728460800972,-0.17286764338750515,-0.1690383734256784,-0.16560477309080568,-0.1624927096662816,-0.15966947418984034,-0.15694250709583457,-0.15475467539069143},
{-1.0046254635041052,-0.5459568505249592,-0.3909304122425965,-0.32117120139055544,-0.28063980095916463,-0.25647377504476765,-0.2369420464710288,-0.22241982716965936,-0.2110389578167826,-0.20180897491796657,-0.1941392616568436,-0.18764918674034448,-0.18205598545159773,-0.17717823763102558,-0.17287376591491466,-0.16904511410589862,-0.16561204297430265,-0.16250043617596077,-0.15967759491242361,-0.1569511251075255,-0.15476341409451777},
{-1.0043182702890974,-0.5458193264430378,-0.3908657183509803,-0.32113511532497796,-0.28061816520884975,-0.2564617488735337,-0.23693346926397396,-0.2224153083812439,-0.21103733499012378,-0.20180952818965636,-0.19414149286716054,-0.18765273730075194,-0.1820605882720514,-0.17718371841012015,-0.1728799764293143,-0.16905194177886074,-0.16561939888109123,-0.16250824778727235,-0.1596857998288641,-0.15695982521384622,-0.15477223547151198},
{-1.0040111488816095,-0.5456819559775852,-0.3908011574192898,-0.3210991489979165,-0.28059664136299034,-0.2564498126057657,-0.23692499466832828,-0.22241088960257116,-0.2110358096021656,-0.20181017726048367,-0.1941438180738544,-0.1876563799844746,-0.18206528182037118,-0.1771892886592923,-0.17288627517022803,-0.16905885668570875,-0.16562684104219727,-0.1625161447335728,-0.15969408916822658,-0.15696860764884946,-0.15478113973516372},
{-1.003704099720899,-0.545544739386699,-0.3907367297037325,-0.32106330267106387,-0.2805752296862778,-0.2564379666205383,-0.23691662294903892,-0.22240657109153972,-0.21103438190397128,-0.20181092237857,-0.19414623752881255,-0.18766011502808055,-0.18207006634287382,-0.1771949486203397,-0.17289266238363155,-0.16906585906535554,-0.16563436969870793,-0.16252412724604426,-0.1597024631677897,-0.15697747264206896,-0.15479012711605833},
{-1.003397123244845,-0.5454076769276526,-0.390672435463145,-0.3210275766123232,-0.2805539304437872,-0.25642621129382803,-0.236908354368623,-0.2224023531012449,-0.21103305214829504,-0.20181176378950738,-0.1941487514803697,-0.18766394267329645,-0.18207494209175934,-0.17720069852802567,-0.17289913830410342,-0.16907294916423155,-0.16564198508434913,-0.16253219555903797,-0.15971092205438708,-0.15698642043930988,-0.15479919782778495},
{-1.0030902198927265,-0.5452707688610658,-0.3906082749560653,-0.3209919710880058,-0.28053274390424576,-0.25641454699304234,-0.2369001891961915,-0.2223982358957386,-0.21103182059050596,-0.2018127017385467,-0.1941513601865239,-0.18766786316270156,-0.18207990931821882,-0.1772065386275017,-0.1729057031748482,-0.16908012721944488,-0.16564968744100383,-0.16254034990768673,-0.15971946606930487,-0.1569954512648053,-0.1548083520917487},
{-1.0027833901039003,-0.5451340154456332,-0.39054424844367475,-0.3209564863644516,-0.28051167033763136,-0.2564029741038638,-0.23689212770176482,-0.22239421973124252,-0.21103068748696785,-0.20181373647689327,-0.19415406389626355,-0.18767187673623198,-0.18208496827919873,-0.177212469160537,-0.17291235724412957,-0.16908739347546486,-0.16565747701019973,-0.16254859052675386,-0.15972809544456368,-0.15700456535836338,-0.1548175901271236},
{-1.0024766343180787,-0.5449974169421665,-0.3904803561874104,-0.3209211227122637,-0.28049071001429127,-0.25639149299323094,-0.23688417015220864,-0.22239030487210698,-0.2110296530906055,-0.20181486824856165,-0.19415686286544087,-0.18767598363719173,-0.18209011922132845,-0.17721849036833248,-0.1729191007494535,-0.16909474817440184,-0.16566535402904492,-0.16255691765199742,-0.15973681041785426,-0.1570137629489068,-0.15482691215086675},
{-1.0021699529739578,-0.5448609736115486,-0.3904165984465351,-0.3208858803999135,-0.28046986320084955,-0.2563801040398488,-0.23687631681849552,-0.2223864915761311,-0.2110287176594312,-0.20181609730749983,-0.19415975734855806,-0.18768018410148102,-0.1820953624022792,-0.1772246024916626,-0.1729259339415279,-0.16910219156257256,-0.16567331873886815,-0.16256533151712915,-0.15974561123249487,-0.15702304427020408,-0.1548363183816548},
{-1.0018633465126925,-0.5447246857172985,-0.3903529754888808,-0.32085075969617094,-0.28044913017085094,-0.2563688076234172,-0.23686856796810218,-0.22238278010657098,-0.21102788145277884,-0.20181742390002455,-0.19416274759639407,-0.18768447838417046,-0.18210069807460627,-0.17723080577492567,-0.17293285706439576,-0.16910972388207313,-0.16568137138101235,-0.1625738323628667,-0.15975449811737974,-0.15703240956142395,-0.15484580903766698},
{-1.0015568153741796,-0.5445885535224022,-0.3902894875747194,-0.3208157608771671,-0.2804285111973144,-0.2563576041103346,-0.23686092387507074,-0.22237917072858693,-0.2110271447248806,-0.2018188482836365,-0.19416583386993125,-0.18768886672259555,-0.18210612649170344,-0.17723710046749375,-0.17293987036042324,-0.16911734537880818,-0.16568951220119743,-0.1625824204225239,-0.1597634713181435,-0.15704185904967005,-0.15485538433944157},
{-1.001250359998167,-0.5444525772900448,-0.39022613497017744,-0.320780884212283,-0.280408006552463,-0.25634649388553044,-0.23685338481202223,-0.2223756637066856,-0.2110265077357525,-0.2018203707085604,-0.19416901642348705,-0.18769334936725102,-0.18211164791310352,-0.17724348680947344,-0.172946974081313,-0.16912505630067187,-0.16569774144392113,-0.16259109593652,-0.15977253107203637,-0.1570513929743953,-0.15486504451149585},
{-1.0009439808270102,-0.5443167572848893,-0.390162917940728,-0.3207461299734149,-0.28038761651271216,-0.25633547731573003,-0.23684595105105188,-0.2223722593075479,-0.2110259707469453,-0.2018219914259305,-0.19417229551270054,-0.18769792656031825,-0.18211726258870442,-0.1772499650463999,-0.17295416847274225,-0.1691328568915509,-0.16570605935008587,-0.16259985914233255,-0.15978167762453666,-0.15706101156241914,-0.15487478976488944},
{-1.0006376783005209,-0.5441810937723659,-0.39009983675279614,-0.3207114984381576,-0.2803673413465191,-0.2563245547847117,-0.23683862286831925,-0.22236895779494148,-0.2110255340149223,-0.2018237106921248,-0.19417567139608138,-0.1877025985515246,-0.18212297077879214,-0.17725653542625253,-0.17296145378605843,-0.16914074739617035,-0.16571446616545416,-0.16260871028065083,-0.15979091121759836,-0.1570707150500681,-0.15488462033675887},
{-1.0003314528599105,-0.5440455870186014,-0.39003689167424227,-0.32067698987845006,-0.28034718133689296,-0.2563137266681821,-0.23683140053537954,-0.22236575943523462,-0.21102519780369278,-0.2018255287640187,-0.19417914432823125,-0.18770736559099532,-0.1821287727390768,-0.17726319819416858,-0.17296883027043464,-0.1691487280689472,-0.16572296213739435,-0.1626176495898335,-0.159800232091726,-0.15708050368044724,-0.15489453644683238},
{-1.0000253049470658,-0.543910237289964,-0.3899740829734668,-0.3206426045731092,-0.2803271367561706,-0.25630299333629125,-0.23682428433232872,-0.22236266450039466,-0.2110249623731022,-0.20182744589835977,-0.1941827145709567,-0.18771222792373976,-0.1821346687289207,-0.17726995360415287,-0.17297629817511506,-0.16915679914995962,-0.16573154751037578,-0.16262667731429303,-0.15980964048895885,-0.15709037767767597,-0.15490453832521212},
{-0.9997192350050028,-0.5437750448568011,-0.3899114109212576,-0.32060834279869255,-0.28030720788432006,-0.2562923551742671,-0.23681727453369206,-0.22235967325794093,-0.21102482798684719,-0.20182946235267707,-0.19418638238309427,-0.18771718580509855,-0.18214065900841092,-0.17727680190000683,-0.17298385775504244,-0.16916496089574196,-0.16574022253591636,-0.1626357936956282,-0.1598191366634012,-0.15710033728838368,-0.15491462620379082},
{-0.9994132434750398,-0.5436400099874135,-0.3898488757881893,-0.3205742048333917,-0.280287395000542,-0.25628181254774063,-0.23681037141997763,-0.22235678597658648,-0.21102479490929227,-0.20183157838366128,-0.19419014802113566,-0.18772223948384692,-0.18214674383274598,-0.17728374333449892,-0.17299150926129414,-0.16917321355178672,-0.16574898745875544,-0.16264499897415874,-0.15982872085140798,-0.15711038274501732,-0.1549248003122159},
{-0.9991073307997738,-0.5435051329498464,-0.3897864778455613,-0.3205401909559811,-0.280267698380257,-0.2562713658431903,-0.23680357527058504,-0.22235400292754548,-0.21102486340099347,-0.20183379425317582,-0.1941940117468164,-0.18772738921209964,-0.18215292346205558,-0.1772907781555375,-0.17299925294712182,-0.16918155736583174,-0.16575784252898984,-0.1626542933935866,-0.1598383933080072,-0.15712051428624818,-0.15493506089029552},
{-0.9988014974207502,-0.5433704140142623,-0.38972421736482943,-0.32050630144651393,-0.28024811830820795,-0.25626101543831226,-0.23679688636289598,-0.22235132438341054,-0.21102503372871695,-0.20183611022328307,-0.19419797381883086,-0.18773263524495576,-0.18215919815584414,-0.17729790661599054,-0.17300708906722662,-0.16918999259480927,-0.16576678799258104,-0.16266367720167807,-0.15984815427104593,-0.15713073215449924,-0.154945408174612},
{-0.9984957437834012,-0.5432358534541777,-0.3896620946206326,-0.3204725365879142,-0.2802286550646187,-0.25625076170037175,-0.23679030498132647,-0.2223487506153674,-0.2110253061608489,-0.20183852655597434,-0.19420203449701035,-0.18773797783492796,-0.18216556817843355,-0.17730512897142603,-0.17301501787783025,-0.16919851948711084,-0.16577582410610603,-0.16267315064213506,-0.15985800399884909,-0.15714103658942236,-0.15495584240015603},
{-0.9981900703295068,-0.5431014515393002,-0.38960010988631666,-0.32043889666022096,-0.28020930892968465,-0.25624060501810675,-0.23678383140544668,-0.22234628189622185,-0.2110256809604465,-0.20184104351223198,-0.1942061940461457,-0.18774341723847954,-0.1821720337898256,-0.17731244547184133,-0.17302303963492704,-0.16920713829722445,-0.1657849511156968,-0.1626827139626954,-0.15986794273355542,-0.15715142782903513,-0.15496636380967743},
{-0.9978844775028648,-0.5429672085443826,-0.3895382634397464,-0.32040538194677026,-0.28019008019120406,-0.2562305457588536,-0.236777465924078,-0.22234391850217605,-0.21102615839704697,-0.2018436613583816,-0.1942104527238797,-0.1877489537143333,-0.18217859524969526,-0.17731985637175285,-0.17303115459607454,-0.1692158492757443,-0.16579416926987278,-0.16269236740755844,-0.15987797072511967,-0.1571619061217575,-0.1549769726449881},
{-0.9975789657475502,-0.5428331247417475,-0.38947655555570293,-0.32037199273317185,-0.2801709691285339,-0.2562205843093466,-0.23677120881805536,-0.2223416607067037,-0.21102673874011657,-0.20184638036094782,-0.19421481079616854,-0.18775458751660778,-0.1821852528243113,-0.17732736192688492,-0.17303936301904344,-0.16922465267258247,-0.16580347882640467,-0.1627021112261673,-0.15988808822525868,-0.15717247170879034,-0.1549876691490084},
{-0.9972735355078086,-0.5426992004063891,-0.38941498651080053,-0.3203387293013833,-0.2801519760298845,-0.2562107210457043,-0.23676506037315903,-0.22233950878155895,-0.21102742225718885,-0.20184920078304458,-0.1942192685203139,-0.18776031890479317,-0.18219200677289393,-0.17733496239335977,-0.1730476651618602,-0.16923354875089558,-0.16581288003189343,-0.16271194566905933,-0.15989829548358614,-0.15718312483717511,-0.15499845356411868},
{-0.9969681872287595,-0.5425654358140974,-0.3893535565850357,-0.32030559194144814,-0.2801331011768582,-0.2562009563399812,-0.2367590208765762,-0.2223374630076762,-0.21102820921923637,-0.2018521228951471,-0.19422382616302514,-0.18776614814272818,-0.18219885736041874,-0.17734265802900495,-0.17305606128738305,-0.16924253776086573,-0.16582237314111126,-0.16272187098637403,-0.1599085927529842,-0.15719386575754868,-0.15500932613767304},
{-0.9966629213541722,-0.5424318312408758,-0.3892922660570548,-0.3202725809364324,-0.2801143448613601,-0.25619129057868406,-0.23675309061847827,-0.2223355236608171,-0.2110290998982407,-0.20185514696539997,-0.19422848399035786,-0.18777207548851038,-0.18220580485466087,-0.1773504490963802,-0.17306455165383738,-0.16925161996040572,-0.16583195841080567,-0.16273188742901823,-0.159918980285795,-0.1572046947162704,-0.1550202871152635},
{-0.9963577383301185,-0.542298386963239,-0.38923111520838916,-0.32023969657811335,-0.28009570736917055,-0.2561817241326736,-0.23674726988660666,-0.22233369101779488,-0.2110300945663539,-0.20185827326052674,-0.1942332422634223,-0.18777810120518268,-0.1822128495174553,-0.17735833584566763,-0.17307313652371192,-0.16926079560637675,-0.16584163609012137,-0.16274199524846722,-0.15992945833023953,-0.15721561196185974,-0.15503133673702507},
{-0.9960526386018103,-0.5421651032603023,-0.389170104318751,-0.32020693915329446,-0.28007718898952305,-0.2561722573882008,-0.2367415589728381,-0.2223319653586202,-0.21103119349369592,-0.20186150205482534,-0.19423810125094576,-0.18778422555405427,-0.18221999161438873,-0.17736631854360496,-0.17308181616201068,-0.16927006495191677,-0.16585140643395846,-0.16275219469865476,-0.15994002714546696,-0.1572266177482078,-0.15504247525706205},
{-0.9957476226153972,-0.5420319804095897,-0.3891092336729258,-0.3201743089509108,-0.28005879000946265,-0.2561628907245961,-0.2367359581681825,-0.22233034695905474,-0.2110323969576342,-0.20186483361879937,-0.1942430612150048,-0.18779044880295714,-0.1822272314097262,-0.17737439744632866,-0.17309059082776912,-0.16927942826173137,-0.1658612696971744,-0.16276248603621468,-0.1599506869788314,-0.15723771233554373,-0.15505370291720055},
{-0.9954426908166525,-0.5418990186924191,-0.3890485035526723,-0.3201418062650845,-0.28004051072302616,-0.25615362451142687,-0.23673046776252704,-0.22232883610229237,-0.21103370523186982,-0.2018682682265336,-0.19424812242641565,-0.18779677121783322,-0.18223456917168335,-0.17738257282110226,-0.1730994607880092,-0.16928888579225543,-0.16587122613839256,-0.16277286951273595,-0.15996143808462193,-0.15724889597400704,-0.15506501996576105},
{-0.995137843652607,-0.5417662183872096,-0.3889879142425201,-0.3201094313856885,-0.2800223514194329,-0.25614445914169437,-0.2367250880565024,-0.22232743306477687,-0.21103511859331547,-0.20187180615032219,-0.19425328515266926,-0.18780319306422655,-0.18224200517055067,-0.1773908449290218,-0.1731084263109608,-0.1692984378061766,-0.1658812760136925,-0.1627833453899683,-0.15997228072251346,-0.15726016891997574,-0.15507642664884713},
{-0.9948330815697446,-0.5416335797773684,-0.3889274660295712,-0.32007718460549484,-0.28000431239367174,-0.2561353949839571,-0.23671981934002417,-0.22232613813413593,-0.21103663731882705,-0.20187544766601206,-0.19425854966213763,-0.1878097146112907,-0.18224953967013846,-0.17739921403114067,-0.17311748765484936,-0.1693080845613366,-0.16589141957349796,-0.1627939139240624,-0.15998321514172176,-0.15727153143582484,-0.15508792321550402},
{-0.9945284050147123,-0.5415011031442845,-0.388867159198071,-0.3200450662199472,-0.27998639393521785,-0.25612643242534716,-0.236714661911833,-0.22232495158726806,-0.2110382616838109,-0.20187919304979118,-0.19426391622823758,-0.1878163361265166,-0.18225717293917398,-0.1774076803962572,-0.17312664509614706,-0.1693178263193147,-0.1659016570830829,-0.1628045753694778,-0.15999424160486342,-0.1572829837790266,-0.15509950991391008},
{-0.9942238144363458,-0.541368788770086,-0.38880699403731,-0.32001307652078026,-0.2799685963426839,-0.2561175718486908,-0.23670961606769936,-0.2223238737091009,-0.2110399919696846,-0.20188304257794698,-0.19426938511531944,-0.1878230578832074,-0.18226490524867245,-0.17741624428559533,-0.17313589889856473,-0.16932766334574012,-0.1659119887935816,-0.16281532999117587,-0.1600053603589089,-0.15729452621576456,-0.15511118699372162},
{-0.9939193102810222,-0.5412366369404253,-0.3887469708343332,-0.3199812158090083,-0.2799509199074066,-0.2561088136249481,-0.2367046821065486,-0.22232290478139305,-0.21104182845732566,-0.20188699653185438,-0.1942749566017028,-0.1878298801518241,-0.18227273686386525,-0.1774249059707813,-0.17314524932818642,-0.16933759590658326,-0.16592241496883275,-0.16282617804847632,-0.16001657166724215,-0.15730615900973532,-0.1551229547050781},
{-0.9936148929979609,-0.5411046479402302,-0.3886870898815715,-0.3199494843802171,-0.2799333649282687,-0.2561001581492519,-0.23669986033033297,-0.22232204509215592,-0.21104377142546582,-0.20189105518835504,-0.1942806309606766,-0.1878368032089952,-0.18228066805897924,-0.17743366571758656,-0.173154696659239,-0.16934762426230066,-0.16593293586863922,-0.16283711980521787,-0.16002787578574384,-0.15731788242348443,-0.15513481329722367},
{-0.9933105630360544,-0.540972822053746,-0.3886273514677612,-0.3199178825284861,-0.27991593170283124,-0.25609160578595436,-0.23669515103863148,-0.22232129492262231,-0.21104582115714265,-0.20189521882743122,-0.19428640846308554,-0.18784382732471272,-0.18228869910193168,-0.177442523793232,-0.17316424115942652,-0.16935774868247222,-0.1659435517453005,-0.16284815551847487,-0.16003927296983989,-0.1573296967243465,-0.15514676301742725},
{-0.9930063208426887,-0.5408411595683731,-0.3885677558838836,-0.31988641055711753,-0.2798986205253158,-0.2560831569309556,-0.2366905545325153,-0.22232065455851568,-0.21104797793579166,-0.20189948772971889,-0.19429228938939502,-0.1878509527746104,-0.18229683026446253,-0.177451480466857,-0.17317388310023318,-0.16936796942692922,-0.16595426286902182,-0.1628592854575146,-0.16005076348093894,-0.15734160217805027,-0.15515880412185368},
{-0.9927021668686464,-0.5407096607712276,-0.3885083034237624,-0.3198550687634878,-0.279881431700403,-0.25607481196381343,-0.23668607111504514,-0.22232012429000747,-0.21105024204280198,-0.20190386218145306,-0.19429827401285138,-0.18785817983913944,-0.18230506181490114,-0.17746053600785672,-0.1731836227537542,-0.16937828677265543,-0.16596506949838385,-0.16287050988817953,-0.16006234757401216,-0.15735359905674784,-0.15517093686248984},
{-0.9923981015641417,-0.5405783259534331,-0.3884489943819318,-0.319823857453045,-0.27986436552285454,-0.2560665712579322,-0.23668170109145592,-0.22231970440101634,-0.21105261376571605,-0.2019083424636392,-0.19430436261092154,-0.1878655087919725,-0.18231339403132552,-0.17746969069060015,-0.17319346039106165,-0.16938870098331904,-0.16597597189132784,-0.16288182907531734,-0.16007402551321093,-0.15736568762648062,-0.15518316149390898},
{-0.9920941253765321,-0.540447155399761,-0.3883898290514338,-0.3197927769233502,-0.27984742229641313,-0.25605843521069005,-0.2366774447664426,-0.22231939518235322,-0.2110550933915647,-0.20191292886381973,-0.19431055546745313,-0.18787293991790932,-0.182321827185703,-0.17747894478564774,-0.17320339628966508,-0.1693992123276331,-0.16598697031837162,-0.16289324328420207,-0.16008579755597907,-0.1573778681646445,-0.1551954782665632},
{-0.9917902387577655,-0.5403161494024857,-0.38833080772869266,-0.31976182747821724,-0.27983060232412527,-0.25605040418939495,-0.23667330244626328,-0.22231919692113422,-0.21105768120642665,-0.20191762166425065,-0.19431685285979938,-0.18788047349416104,-0.18233036154848037,-0.17748829856462578,-0.1732134307186044,-0.16940982108103242,-0.16599806503688797,-0.16290475278498207,-0.16009766396392422,-0.157390140932975,-0.1552078874359779},
{-0.9914864421585534,-0.5401853082524042,-0.38827193071141153,-0.31973100942369115,-0.27981390590473154,-0.25604247858997553,-0.23666927443930774,-0.2223191099092361,-0.21106037749693485,-0.20192242115493286,-0.19432325507121107,-0.1878881098009657,-0.182338997396144,-0.17749775230534226,-0.17322356395740712,-0.16942052750825098,-0.16600925631760788,-0.16291635784158132,-0.16010962499737502,-0.1574025062076032,-0.15522038926413018},
{-0.9911827360291028,-0.5400546322411088,-0.3882131982954746,-0.31970032306278995,-0.2797973333464512,-0.2560346587945048,-0.23666536105241676,-0.2223191344345281,-0.21106318255598921,-0.20192732762109245,-0.19432976238172728,-0.18789584912545365,-0.1823477350036029,-0.177507306275416,-0.1732337962802859,-0.1694313318895979,-0.16602054442206793,-0.16292805873207783,-0.1601216809187065,-0.1574149642649587,-0.15523298400357533},
{-0.9908791208224983,-0.5399241216627928,-0.38815461078289104,-0.31966976870450026,-0.27978088495284226,-0.25602694517900204,-0.23666156259339743,-0.22231927079228342,-0.2110660966727096,-0.20193234135682303,-0.19433637507655988,-0.18790369174682553,-0.18235657464630606,-0.17751696076061307,-0.17324412796321553,-0.16944223449313256,-0.1660319296228181,-0.16293985572269776,-0.1601338319919421,-0.1574275153742093,-0.15524567191299354},
{-0.9905755969895083,-0.5397937768101428,-0.38809616847005657,-0.3196393466532612,-0.2797645610270507,-0.25601933813879896,-0.23665787937127902,-0.22231951927217608,-0.2110691201365853,-0.20193746264668277,-0.19434309344192968,-0.18791163795638965,-0.1823655165997593,-0.17752671603227554,-0.1732545592849135,-0.169453235593096,-0.1660434121830292,-0.16295174908185572,-0.16014607848048001,-0.15744015980581594,-0.15525845325394982},
{-0.9902721649824073,-0.5396635979778068,-0.3880378716616093,-0.3196090572181305,-0.27974836187971164,-0.2560118380470442,-0.23665431170374518,-0.22231988016690707,-0.21107225324470846,-0.20194269178425373,-0.19434991775976584,-0.18791968803616044,-0.18237456114124484,-0.1775365723662219,-0.1732650905199904,-0.16946433546758044,-0.16605499236933952,-0.16296373908571127,-0.16015842064221886,-0.15745289783696137,-0.15527132828302115},
{-0.9899688252540102,-0.5395335854616121,-0.3879797206583788,-0.319578900712159,-0.27973228781617365,-0.2560044453004622,-0.23665085989652823,-0.22232035377351167,-0.21107549628732158,-0.20194802906286213,-0.19435684832217248,-0.18792784227402137,-0.18238370855010544,-0.17754653004621446,-0.17327572194938057,-0.16947553438535579,-0.16606667045569168,-0.16297582600429905,-0.16017085874868542,-0.15746572973861817,-0.15528429726626314},
{-0.9896655782573092,-0.5394037395571587,-0.3879217157632553,-0.31954887743827953,-0.27971633914553706,-0.25599716028135333,-0.2366475242622812,-0.2223209403827866,-0.2110788495607352,-0.20195347477373105,-0.1943638854083929,-0.18793610096192026,-0.18239295910328224,-0.1775565893449027,-0.17328645385171626,-0.16948683263305497,-0.16607844671187877,-0.16298801011119224,-0.1601833930602652,-0.15747865578669007,-0.155297360463706},
{-0.9893624244461208,-0.5392740605631445,-0.3878638572804647,-0.3195189877163074,-0.2797005161780106,-0.25598998336978696,-0.2366443051155045,-0.22232164029465196,-0.21108231336442884,-0.2019590292141089,-0.19437102931284755,-0.1879444643893038,-0.182402313080118,-0.17756675055008486,-0.1732972865081166,-0.16949823047809787,-0.16609032140765123,-0.16300029168223773,-0.16019602384454856,-0.1574916762595393,-0.1553105181385206},
{-0.9890593642733876,-0.5391445487770881,-0.38780614551447457,-0.319489231852188,-0.2796848192229078,-0.2559829149614501,-0.23664120277130962,-0.22232245380385507,-0.2110858879901798,-0.2019646926782599,-0.19437828032549476,-0.18795293284823344,-0.18241177076559723,-0.1775770139441022,-0.17330822019769698,-0.16950972820308152,-0.1661022948217692,-0.16301267098701544,-0.1602087513731476,-0.15750479142182883,-0.15532377055490088},
{-0.9887563981934306,-0.5390152044980709,-0.3877485807732768,-0.3194596101636904,-0.2796692485930805,-0.2559759554332999,-0.23663821754573178,-0.22232338120980444,-0.2110895737437346,-0.2019704654611587,-0.19438563873460168,-0.18796150662900857,-0.18242133243541048,-0.17758737980402373,-0.17331925520463187,-0.16952132608821557,-0.16611436721990458,-0.16302514830853454,-0.1602215759045862,-0.15751800155726414,-0.15533711797527872},
{-0.9884535266618997,-0.5388860280269085,-0.3876911633636695,-0.31943012296406437,-0.27965380460223344,-0.2559691051830697,-0.23663534975241873,-0.22232442280838427,-0.21109337091989744,-0.20197634786183016,-0.19439310483444672,-0.18797018602539595,-0.18243099837361854,-0.17759784841720716,-0.17333039180971355,-0.16953302440923324,-0.16612653888272177,-0.1630377239130496,-0.1602344977142991,-0.15753130693229878,-0.15535056066413233},
{-0.9881507501325402,-0.5387570196628673,-0.38763389359340295,-0.31940077056782457,-0.27963848756184007,-0.2559623645946374,-0.23663259970901152,-0.22232557889967097,-0.2110972798209474,-0.20198234017996697,-0.19440067890987223,-0.18797897133673303,-0.18244076886210792,-0.17760842006545374,-0.17334163029566696,-0.16954482344526411,-0.16613881008619558,-0.16305039808523247,-0.1602475170720794,-0.15754470783171826,-0.15536409888427727},
{-0.98784806906135,-0.5386281797097894,-0.3875767717736096,-0.3193715532938626,-0.2796232977872961,-0.2559557340488965,-0.23662996773077793,-0.22232684978689576,-0.21110130074728772,-0.20198844271384075,-0.194408361259363,-0.18798786285688607,-0.18245064418216828,-0.17761909504064022,-0.17335297094506075,-0.16955672348139217,-0.16615118110543392,-0.16306317109730628,-0.1602606342372752,-0.15755820452463354,-0.1553777329014565},
{-0.9875454839050448,-0.5384995084695845,-0.3875197982124092,-0.319342471459251,-0.2796082355941678,-0.2559492139479005,-0.2366274541409581,-0.2223282357663976,-0.2111054340100793,-0.20199465576396847,-0.19441615217162678,-0.18799686088341616,-0.1824606246274385,-0.17762987362578997,-0.17336441404646052,-0.1695687247952833,-0.16616365222262175,-0.16307604322761904,-0.16027384949335044,-0.15757179728785786,-0.1553914629775761},
{-0.9872429951179171,-0.5383710062464075,-0.38746297322512646,-0.3193135253813466,-0.2795933012994709,-0.25594280466879127,-0.23662505925447874,-0.22232973714635307,-0.21110967990753693,-0.20200097963441976,-0.19442405194634205,-0.18800596571588812,-0.18247071047343866,-0.17764075610756436,-0.17337595987838483,-0.1695808276705435,-0.1661762237135349,-0.16308901475649407,-0.16028716310468383,-0.15758548639804815,-0.15540528937695797},
{-0.9869406031574215,-0.5382426733442855,-0.3874062971196395,-0.31928471538365955,-0.27957849521942535,-0.2559365066086201,-0.23662278339097043,-0.2223313542258296,-0.21111403874829193,-0.2020074146236226,-0.19443206087461817,-0.18801517765174935,-0.18248090201068123,-0.1776517427796307,-0.17338760873499837,-0.16959303238671453,-0.16618889586237628,-0.1631020859560124,-0.16030057534850073,-0.1575992721319608,-0.15541921236021494},
{-0.9866383084819219,-0.5381145100700309,-0.3873497702139588,-0.31925604178387346,-0.27956381767558014,-0.25593032015797235,-0.2366206268725648,-0.22233308731108536,-0.21111851083902877,-0.2020139610358882,-0.19444017924982404,-0.1880244969953253,-0.1824911995251739,-0.17766283392603555,-0.17339936089821606,-0.16960533922913612,-0.166201668947636,-0.16311525711473962,-0.16031408649539003,-0.15761315476994753,-0.15543323219156946},
{-0.9863361115473381,-0.5379865167300579,-0.38729339282097897,-0.319227504907559,-0.2795492689847521,-0.2559242456996884,-0.23661859001845187,-0.2223349367075116,-0.21112309648962935,-0.20202061918170955,-0.1944484073719508,-0.1880339240436797,-0.18250160330597964,-0.17767402984436842,-0.17341121665607773,-0.16961774848419964,-0.16621454325800755,-0.16312852850467152,-0.16032769682047388,-0.15762713459085376,-0.15544734913251546},
{-0.9860340128123255,-0.537858693631776,-0.3872371652581421,-0.31919910507730265,-0.27953484946847595,-0.2559182836363618,-0.2366166731497117,-0.22233690272085482,-0.21112779601025977,-0.20202738936289677,-0.19445674553675474,-0.18804345910652387,-0.18251211364083986,-0.17768533082650606,-0.17342317630091486,-0.16963026042942886,-0.16622751907601696,-0.16314190040894516,-0.1603414065993718,-0.15764121186852265,-0.15546156344716167},
{-0.985732012735248,-0.5377310410827505,-0.38718108784046024,-0.3191708426129196,-0.2795205594502619,-0.25591243434514865,-0.23661487659242653,-0.22233898565862376,-0.21113260971149828,-0.20203427188239687,-0.1944651940385569,-0.1880531024850569,-0.18252273081789383,-0.17769673715783085,-0.1734352401173993,-0.16964287535566314,-0.1662405966843039,-0.16315537310880757,-0.16035521610471903,-0.15765538688616232,-0.15547587539046503},
{-0.9854301117743987,-0.5376035593934745,-0.387125160887166,-0.319142717847825,-0.2795063992479925,-0.2559066982319109,-0.2366132006661985,-0.22234118582674967,-0.21113753790636736,-0.2020412670524081,-0.19447375317537308,-0.18806285448201265,-0.18253345512800934,-0.17770824914217087,-0.17344740839615724,-0.16965559354241577,-0.16625377637609517,-0.1631689468856905,-0.16036912561858685,-0.15766965992429505,-0.15549028522951858},
{-0.9851283103897472,-0.5374762488736877,-0.3870693847182167,-0.3191147311018483,-0.27949236919097586,-0.25590107568471865,-0.23661164569497828,-0.22234350353744503,-0.21114258091104432,-0.20204837518235763,-0.19448242324651233,-0.1880727154068893,-0.1825442868622389,-0.1777198670681912,-0.17345968143355606,-0.169668415282473,-0.166267058432652,-0.16318262202231892,-0.16038313541321259,-0.15768403126310204,-0.1555047932253899},
{-0.984826609040617,-0.5373491098364411,-0.38701375965341356,-0.31908688271020935,-0.27947846960348954,-0.2558955670924945,-0.23661021200372545,-0.22234593910395972,-0.21114773904157857,-0.20205559658106154,-0.1944912045508005,-0.18808268556900032,-0.18255522631793042,-0.17773159124180893,-0.17347205951777767,-0.1696813408602793,-0.16628044315258705,-0.16319639880428838,-0.16039724577436232,-0.15769850119104944,-0.1555193996398998},
{-0.9845250081876742,-0.5372221425914461,-0.3869582860116765,-0.31905917299559405,-0.27946470080661356,-0.25589017285787463,-0.23660889991488432,-0.22234849283252345,-0.21115301260697095,-0.2020629315578475,-0.19450009738648077,-0.18809276527143481,-0.18256627378318058,-0.1777434219519307,-0.1734845429418499,-0.16969437056040704,-0.16629393081902322,-0.16321027750913686,-0.16041145697164438,-0.15771306998425416,-0.15553410472782048},
{-0.9842235082907891,-0.537095347454283,-0.3869029641184625,-0.31903160228887373,-0.2794510631312761,-0.2558848933599478,-0.2366077097573509,-0.2223511650357466,-0.21115840193492375,-0.2020703804228532,-0.19450910205071636,-0.18810295482494155,-0.18257742955084666,-0.17775535950096355,-0.1734971319970242,-0.1697075046728571,-0.16630752172439145,-0.16322425842355415,-0.16042576928768426,-0.15772773792897965,-0.1555489087580213},
{-0.9839221098120206,-0.536968724737747,-0.38684779429621585,-0.31900417092320765,-0.2794375569010157,-0.2558797290080719,-0.23660664185452163,-0.22235395603030383,-0.21116390734219692,-0.20207794349029484,-0.19451821884827325,-0.18811325453933136,-0.18258869391769394,-0.17776740418835857,-0.1735098269846418,-0.1697207434882415,-0.16632121616297013,-0.16323834182966834,-0.1604401830067843,-0.15774250531305256,-0.15556381199019143},
{-0.9836208132116937,-0.536842274757575,-0.3867927768692141,-0.3189768792283445,-0.2794241824499295,-0.25587468019639914,-0.2366056965334593,-0.22235686613019823,-0.2111695291457778,-0.20208562107256967,-0.19452744807766464,-0.18812366472958786,-0.1826000671781003,-0.1777795563133111,-0.17352262819787256,-0.16973408729589323,-0.16633501442917975,-0.1632525280170114,-0.16045469840713622,-0.15775737242347532,-0.15557881468598111},
{-0.9833196189525637,-0.5367159978301856,-0.38673791216392317,-0.3189497275431137,-0.27941094010662937,-0.2558697473090632,-0.23660487412251996,-0.22235989565156444,-0.2111752676748324,-0.20209341348777343,-0.19453679003937907,-0.18813418570383078,-0.1826115496346432,-0.1777918161819514,-0.17353553593211757,-0.16974753638758955,-0.16634891682068087,-0.16326681727272785,-0.16046931577383816,-0.15777233954656822,-0.15559391710991122},
{-0.983018527497471,-0.5365898942724101,-0.38668320050575744,-0.31892271619661017,-0.27939783019903075,-0.25586493075869043,-0.23660417494579633,-0.22236304491043768,-0.21118112324748495,-0.20210132104530487,-0.19454624503573825,-0.18814481777441472,-0.18262314157750836,-0.1778041840982496,-0.17354855048604634,-0.1697610910490539,-0.1663629236283839,-0.16328120987867578,-0.16048403539105038,-0.15778740696879368,-0.15560911952715628},
{-0.9827175393078562,-0.5364639644031968,-0.3866286422248493,-0.3188958455270523,-0.2793848530630214,-0.2558602309272118,-0.2366035993390625,-0.22236631422505582,-0.21118709619328513,-0.20210934406810566,-0.19455581336953287,-0.1881555612621213,-0.18263484331211544,-0.17781666036262322,-0.17356167216202323,-0.1697747515807464,-0.1663770351504752,-0.16329570612697353,-0.16049885753369608,-0.15780257498559536,-0.15562442220249295},
{-0.9824166548483859,-0.5363382085406272,-0.38657423764794885,-0.3188691158732979,-0.27937200902812265,-0.2558556482246104,-0.23660314762503276,-0.22236970391971056,-0.21119318683626886,-0.20211748286861564,-0.19456549534400835,-0.18816641646799326,-0.18264665513422074,-0.17782924528040667,-0.17357490125388608,-0.16978851826621622,-0.166391251688367,-0.163310306300815,-0.1605137824965368,-0.15781784388119036,-0.1556398254033411},
{-0.9821158745821634,-0.5362126270053125,-0.38651998710609803,-0.3188425275678384,-0.2793592984327091,-0.2558511830473549,-0.23660282013484846,-0.22237321430817758,-0.21119939550564482,-0.20212573776483111,-0.19457529125729423,-0.18817738371937764,-0.18265857734913027,-0.17784193915876756,-0.173588238066813,-0.1698023914144926,-0.16640557353656504,-0.16332501069115324,-0.16052881056481283,-0.1578332139521592,-0.15565532939277205},
{-0.9818151989744521,-0.5360872201190432,-0.3864658909306655,-0.31881608095558533,-0.27934672160921536,-0.2558468357833732,-0.23660261719558662,-0.2223768457192108,-0.21120572253128955,-0.2021341090779032,-0.19458520141671443,-0.18818846333024908,-0.18267061025184717,-0.17785474230761622,-0.17360168290380784,-0.1698163713049894,-0.16642000099446363,-0.16333981959058974,-0.160543942019018,-0.15784868548939812,-0.15567093444562374},
{-0.9815146284890517,-0.5359619882027715,-0.38641194945263635,-0.3187897763752403,-0.2793342788935149,-0.25584260684786386,-0.23660253914420082,-0.22238059847336444,-0.21121216824255384,-0.2021425971292672,-0.19459522612822866,-0.18819965561338847,-0.18268275415816504,-0.17786765503609558,-0.17361523606439278,-0.16983045824306942,-0.16643453436586242,-0.1633547332854164,-0.16055917715505075,-0.15786425878485488,-0.15568664083113504},
{-0.9812141635924263,-0.5358369315797376,-0.386358163008083,-0.31876361416806276,-0.27932197062423825,-0.25583849662528735,-0.23660258631004183,-0.2223844728942055,-0.21121873297560967,-0.2021512022363794,-0.19460536569626186,-0.18821096089257594,-0.18269500936129646,-0.17788067765133064,-0.17362889785928814,-0.1698446525255406,-0.16644917394850722,-0.16336975206937154,-0.16057451625763974,-0.15787993413238155,-0.15570244882221118},
{-0.9809138047497612,-0.5357120505748867,-0.3863045319287153,-0.3187375946778701,-0.27930979714047055,-0.25583450553159537,-0.23660275902329886,-0.22238846931252,-0.21122541705847198,-0.2021599247206467,-0.19461562042449998,-0.1882223794800666,-0.1827073761714928,-0.17789381046409858,-0.17364266859041777,-0.16985895444429389,-0.16646392004852828,-0.16338487623664832,-0.16058995961526534,-0.15789571182995132,-0.15571835868789208},
{-0.9806135524272364,-0.5355873455122122,-0.386251056550762,-0.3187117182456376,-0.2792977587790517,-0.2558306339606844,-0.23660305761639222,-0.22239258804975748,-0.21123222083043913,-0.20216876490891877,-0.1946259906179506,-0.18823391169939896,-0.182719854893449,-0.1779070537876919,-0.17365654856297397,-0.16987336430696587,-0.16647877296151137,-0.16340010607595445,-0.16060550752271752,-0.1579115921752816,-0.15573437070133878},
{-0.9803134070916073,-0.5354628167196438,-0.3861977372110914,-0.31868598521947433,-0.2792858558839981,-0.25582688231133943,-0.23660348242292173,-0.22239682943974515,-0.21123914462690152,-0.2021777231210109,-0.19463647658713512,-0.18824555786946462,-0.182732445836578,-0.17792040793119668,-0.173670538086526,-0.1698878824079486,-0.16649373299495096,-0.16341544188318835,-0.16062116026878925,-0.1579275754635603,-0.15575048514256196},
{-0.9800133692107238,-0.5353384645216295,-0.386144574247993,-0.3186603959459404,-0.27927408879421023,-0.2558232509961016,-0.23660403377814987,-0.22240119381103796,-0.21124618878984336,-0.2021867996834743,-0.19464707863828323,-0.1882573183120826,-0.18274514931415808,-0.17793387321341925,-0.17368463747095575,-0.16990250905107018,-0.16650880045401095,-0.16343088395530003,-0.16063691814989056,-0.15794366198841203,-0.15576670228261946},
{-0.9797134392516114,-0.5352142892488558,-0.386091568000964,-0.3186349507699475,-0.27926245785387493,-0.2558197404075315,-0.23660471201615962,-0.2224056814958999,-0.2112533536531771,-0.202195994924935,-0.1946577970783494,-0.18826919335124614,-0.18275796562794255,-0.1779474499434741,-0.1736988470221945,-0.16991724454115342,-0.16652397563930776,-0.16344643258827318,-0.16065278145632078,-0.15795985205309648,-0.1557830224018062},
{-0.9794136176831216,-0.5350902912280162,-0.3860387188068728,-0.31860965004302955,-0.27925096340480593,-0.25581635095595345,-0.23660551747063607,-0.22241029282692182,-0.21126063955860275,-0.20220530916354562,-0.1946686322203135,-0.18828118330101518,-0.1827708950939666,-0.17796113844440242,-0.17371316705194317,-0.16993208917466518,-0.16653925885765375,-0.1634620880741977,-0.16066875048755946,-0.15797614595766163,-0.15579944577461902},
{-0.9791139049743478,-0.5349664707922415,-0.385986027011171,-0.3185844941114624,-0.27923960579526863,-0.2558130830502705,-0.2366064504769554,-0.2224150281415973,-0.21126804685182776,-0.20221474273381546,-0.1946795843666962,-0.1882932884948616,-0.1827839380270575,-0.17797493902511974,-0.17372759787741643,-0.16994704326398846,-0.16655465041594653,-0.16347785071698695,-0.16068482553700392,-0.15799254400502605,-0.15581597267583902},
{-0.9788143015941344,-0.5348428282711666,-0.3859334929522049,-0.31855948333158324,-0.27922838536959205,-0.25580993708308597,-0.23660751137329328,-0.22241988777292931,-0.21127557587354318,-0.20222429596518054,-0.1946906538344848,-0.1883055092483943,-0.18279709473657135,-0.17798885200505765,-0.1737421397997707,-0.16996210711684512,-0.1665701506186963,-0.16349372080756552,-0.16070100689924516,-0.15800904649395875,-0.15583260339241178},
{-0.9785148080125836,-0.5347193639963876,-0.38588111697724514,-0.3185346180525528,-0.27921730247403787,-0.2558069134788923,-0.23660870049400273,-0.22242487206221995,-0.21128322697195756,-0.2022339691839221,-0.19470184093579235,-0.18831784589193035,-0.18281036553983654,-0.17800287770870682,-0.17375679314187664,-0.16997728103268628,-0.16658575977473333,-0.16350969865268894,-0.16071729488140818,-0.15802565372902677,-0.15584933819445723},
{-0.9782154246999184,-0.5345960783023571,-0.38582889942766485,-0.31850989862512336,-0.2792063574564736,-0.25580401262206465,-0.2366100181805706,-0.22242998134477432,-0.21129100049054728,-0.20224376271919198,-0.1947131459815381,-0.18833029875059992,-0.1828237507490087,-0.17801701644611967,-0.17377155821523615,-0.1699925653281582,-0.16660147818606674,-0.16352578454805666,-0.16073368977055225,-0.1580423660115855,-0.1558661773644019},
{-0.9779161521271647,-0.534472971521879,-0.3857768406509763,-0.31848532540969643,-0.2791955506654631,-0.25580123493844553,-0.2366114647666535,-0.222435215963543,-0.2112988967771514,-0.20225367690444784,-0.1947245692826698,-0.18834286814779944,-0.1828372506848268,-0.17803126854241214,-0.17378643533578497,-0.17000796030924903,-0.16661730616920067,-0.1635419787967578,-0.16075019187829298,-0.15805918364992522,-0.15588312118174485},
{-0.9776169907656538,-0.5343500439914095,-0.38572494099281585,-0.31846089875550376,-0.2791848824570309,-0.25579858083101215,-0.2366130405944915,-0.22244057626005542,-0.2113069161859613,-0.20226371207188265,-0.19473611115424205,-0.18835555441441443,-0.1828508656641077,-0.17804563431428733,-0.17380142481854932,-0.17002346628964915,-0.16663324402787794,-0.16355828170014775,-0.16076680149495814,-0.1580761069444634,-0.1559001699259568},
{-0.9773179410872572,-0.5342272960459837,-0.3856732007999426,-0.3184366190272243,-0.27917435317543493,-0.25579605070046796,-0.2366147459996455,-0.2224460625788396,-0.21131505905789538,-0.20227386855253826,-0.19474777191145165,-0.18836835787192285,-0.18286459600489025,-0.17806011408757172,-0.17381652697633854,-0.17003908358000785,-0.16664929206731927,-0.16357469356023557,-0.16078351892983278,-0.15809313621008414,-0.1559173238786684},
{-0.9770190035655446,-0.5341047280243743,-0.3856216204245868,-0.31841248657920573,-0.2791639631761029,-0.2557936449737497,-0.23661658132671448,-0.22245167526334342,-0.21132332575211876,-0.20228414668784467,-0.19475955187576233,-0.18838127885615563,-0.18287844203379677,-0.17807470818553384,-0.17383174213199482,-0.17005481249532295,-0.16666545060826365,-0.16359121467863247,-0.1608003444888766,-0.15811027175320191,-0.15593458331866827},
{-0.9767201786720747,-0.5339823402660073,-0.38557020021578126,-0.3183885017684105,-0.2791537128142636,-0.2557913640392826,-0.23661854691701478,-0.22245741466188917,-0.21133171662067696,-0.2022945468061721,-0.19477145136002605,-0.1883943176931382,-0.1828924040601123,-0.17808941692760527,-0.17384707060170967,-0.17007065335661764,-0.16668171995462444,-0.16360784536306028,-0.16081727846571425,-0.15812751387619528,-0.15595194852866712},
{-0.9764214668820586,-0.5338601331086466,-0.38551894052544355,-0.3183646649587786,-0.27914360244206193,-0.25578920832914775,-0.23662064310788367,-0.2224632811213354,-0.21134023201626917,-0.20230506924507097,-0.19478347068465496,-0.18840747471122654,-0.1829064824190425,-0.17810424064225572,-0.17386251270499997,-0.17008660647391594,-0.16669810042014888,-0.16362458592098506,-0.1608343211788963,-0.15814486289804108,-0.15596941979489998},
{-0.9761228686680212,-0.5337381068918461,-0.3854678417032744,-0.3183409765124594,-0.2791336324180236,-0.2557871782446739,-0.23662287024588124,-0.22246927499209335,-0.2113488722947352,-0.20231571434698026,-0.19479561016780167,-0.18842075024548421,-0.18292067742336826,-0.17811917965167368,-0.17387806875899514,-0.17010267216898,-0.1667145923133262,-0.16364143665398956,-0.16085147292309898,-0.1581623191304402,-0.15598699739373956},
{-0.9758243845064598,-0.5336162619598497,-0.38541690410707474,-0.31831743679234137,-0.27912380309760465,-0.25578527419501995,-0.23662522867108748,-0.22247539662248528,-0.21135763781531125,-0.20232648244414975,-0.19480787012884093,-0.18843414462500618,-0.18293498940909103,-0.1781342342827088,-0.173893739088129,-0.1701188507614404,-0.16673119595560593,-0.16365839787320624,-0.16086873400971058,-0.15817988288048923,-0.1560046816164231},
{-0.9755260148710789,-0.5334945986531352,-0.3853661280886058,-0.31829404616134127,-0.27911411483795234,-0.25578349660545996,-0.23662771872578503,-0.22248164636565093,-0.21136652893007124,-0.20233737387997053,-0.19482025089519084,-0.18844765817914322,-0.1829494186913223,-0.17814940486380237,-0.17390952400808146,-0.17013514257038764,-0.16674791164791714,-0.1636754698760683,-0.1608861047487551,-0.1581975544591785,-0.15602247273892544},
{-0.9752277602380914,-0.5333731173166427,-0.3853155140054412,-0.3182708049861418,-0.2791045679990418,-0.2557818458735568,-0.23663034076382417,-0.22248802457430372,-0.21137554600227304,-0.20234838899452257,-0.19483275278520296,-0.18846129124437994,-0.18296396560199923,-0.17816469171725657,-0.1739254238462138,-0.17015154792287035,-0.1667647397073324,-0.1636926529854179,-0.160903585443549,-0.15821533419097022,-0.1560403710589071},
{-0.9749296210844491,-0.5332518182940476,-0.3852650622137901,-0.3182477136337809,-0.2790951629419567,-0.2557803224293167,-0.23663309511651676,-0.22249453160361554,-0.21138468938868016,-0.2023595281287669,-0.19484537612635222,-0.1884750441514882,-0.18297863046797147,-0.17818009517654332,-0.17394143891633007,-0.17016806713709798,-0.1667816804554434,-0.1637099475019852,-0.16092117641176173,-0.1582332223905496,-0.15605837685737356},
{-0.9746315978863223,-0.5331307019317535,-0.3852147730730735,-0.31822477246879544,-0.27908590002842004,-0.2557789266826944,-0.23663598214305637,-0.22250116780533347,-0.21139395945513684,-0.20237079162694727,-0.19485812123494384,-0.1884889172385158,-0.182993413621233,-0.17819561556979124,-0.17395756954996955,-0.17018470054424029,-0.1667987342029562,-0.16372735374008585,-0.16093887795781825,-0.15825121936958908,-0.15607649042161142},
{-0.9743336911229719,-0.5330097685780686,-0.385164646941206,-0.31820198186581194,-0.2790767796188618,-0.25577765904436944,-0.23663900217829337,-0.2225079335413369,-0.21140335656185982,-0.20238217983109053,-0.19487098845164041,-0.18850291083359139,-0.18300831538920193,-0.1782112532248732,-0.1739738160653701,-0.17020144846503626,-0.16681590126614765,-0.16374487201341026,-0.16095669040055327,-0.15826932545576256,-0.15609471204896863},
{-0.9740359012699997,-0.5328890185778192,-0.385114684180337,-0.31817934219074573,-0.27906780207911197,-0.2557765199427422,-0.23664215557818125,-0.22251482916638565,-0.2114128810669058,-0.20239369308870891,-0.19488397809521985,-0.18851702528087344,-0.18302333610478172,-0.1782270084775348,-0.1739901787913709,-0.17021831122619346,-0.16683318196055552,-0.1637625026281171,-0.16097461404856972,-0.15828754096236253,-0.15611304202178644},
{-0.9737382288077185,-0.5327684522818004,-0.3850648851529428,-0.3181568538165038,-0.27905896777102157,-0.2557755097810457,-0.23664544269246335,-0.222521855039858,-0.2114225333418034,-0.20240533174441566,-0.19489709049756243,-0.1885312609090306,-0.18303847610016533,-0.17824288165303415,-0.17400665804777304,-0.17023528916166697,-0.16685057660643565,-0.16378024590366635,-0.16099264921197687,-0.15830586621726184,-0.15613148064235816},
{-0.9734406742153041,-0.5326480700408638,-0.38501525021945326,-0.3181345171181391,-0.2790502770624812,-0.2557746289910625,-0.23664886386332284,-0.22252901151979643,-0.21143231374628613,-0.20241709614268188,-0.19491032599245273,-0.18854561805633807,-0.18305373570962047,-0.1782588730886232,-0.17402325416301778,-0.17025238260094966,-0.16686808552051957,-0.16379810215400425,-0.1610107962107179,-0.1583243015444964,-0.15615002819700408},
{-0.9731432379722591,-0.5325278722042412,-0.3849657797468353,-0.3181123324657449,-0.2790417303215946,-0.2557738779871812,-0.23665241944596005,-0.22253629896744087,-0.2114422226489694,-0.20242898663877895,-0.19492368490435297,-0.18856009706180998,-0.18306911526727276,-0.17827498311629597,-0.17403996746077155,-0.1702695918715733,-0.1668857090178335,-0.1638160716949244,-0.16102905536493495,-0.15834284726420833,-0.15616868497380665},
{-0.972845920559088,-0.5324078591264794,-0.38491647410006635,-0.31809030023889306,-0.27903332791674984,-0.25577325718332133,-0.23665610978622453,-0.22254371774663184,-0.2114522604133242,-0.2024410035774622,-0.19493716757440893,-0.18857469826457418,-0.18308461510972052,-0.17829121206881382,-0.174056798272602,-0.17028691730439505,-0.16690344742806928,-0.16383415484361308,-0.16104742698334462,-0.15836150370870428,-0.15618745127881084},
{-0.9725487224574749,-0.5322880311593821,-0.3848673336445927,-0.3180684208115423,-0.27902507021320844,-0.25577276701304186,-0.2366599352433667,-0.22255126821845295,-0.2114624274099981,-0.2024531473115303,-0.19495077433597885,-0.18858942200208162,-0.18310023557666,-0.17830756028496353,-0.1740737469245346,-0.17030435923555842,-0.16692130106511627,-0.1638523519202124,-0.16106591139114812,-0.15838027119997378,-0.15620632740228757},
{-0.9722516441484004,-0.5321683886575528,-0.384818358749655,-0.3180466945615734,-0.2790169575863928,-0.2557724078841517,-0.23666389616799677,-0.22255895074536625,-0.21147272401043438,-0.2024654181945209,-0.19496450552034617,-0.1886042686168139,-0.18311597700355264,-0.17832402810088865,-0.1740908137463748,-0.17032191799970064,-0.16693927025298194,-0.16387066324003285,-0.1610845089010411,-0.1583991500658044,-0.15622531364311953},
{-0.9719546861134774,-0.5320489319763197,-0.38476954978149536,-0.3180251218692547,-0.2790089904023745,-0.25577218022939974,-0.23666799291031282,-0.222566765692207,-0.21148315057737932,-0.2024778165766179,-0.19497836147166936,-0.18861923844178818,-0.1831318397312316,-0.1783406158514822,-0.17410799906409125,-0.17033959392284714,-0.16695735531394007,-0.16388908912858824,-0.16110321983967424,-0.15841814064023652,-0.15624441029822833},
{-0.9716578488366636,-0.5319296614729865,-0.38472090711732676,-0.31800370311103165,-0.2790011690422318,-0.25577208447025157,-0.23667222583047476,-0.22257471342595636,-0.21149370748543106,-0.20249034281283684,-0.19499234252509723,-0.18863433182551148,-0.18314782410445218,-0.1783573238760141,-0.1741253032128327,-0.17035738735049222,-0.16697555657080443,-0.16390762990459962,-0.16112204452414858,-0.15843724324514596,-0.15626361765797014},
{-0.9713611328015404,-0.5318105775057802,-0.3846724311204497,-0.3179824386739085,-0.27899349387179484,-0.25577212102210467,-0.23667659527940543,-0.22258279430973005,-0.21150439510566343,-0.2025029972611776,-0.195006449025243,-0.18864954910495157,-0.18316393046288226,-0.1783741525113669,-0.1741427265176867,-0.17037529861929102,-0.16699387434911728,-0.16392628588658908,-0.16114098327784632,-0.1584564582179553,-0.15628293603668908},
{-0.9710645384914898,-0.5316916804340508,-0.38462412216925657,-0.31796132893971674,-0.27898596527153074,-0.25577229032501236,-0.2366811016126178,-0.2225910087140619,-0.21151521380582494,-0.20251578028006634,-0.19502068131367878,-0.18866489062705227,-0.183180159151334,-0.17839110210550757,-0.17416026932301065,-0.17039332805131835,-0.1670123089739377,-0.16394505740672116,-0.16116003642670762,-0.15847578588542888,-0.15630236571769274},
{-0.9707680663916989,-0.5315729706155707,-0.3845759806354039,-0.31794037428633715,-0.2789785836132239,-0.2557725927830319,-0.236685745194805,-0.22259935699810285,-0.21152616396025792,-0.20252869221965852,-0.19503503973336933,-0.18868035673540362,-0.1831965105096458,-0.17840817298932166,-0.1741779319517036,-0.17041147600221507,-0.16703086077151852,-0.16396394478155685,-0.1611792042886293,-0.15849522657197213,-0.15632190701285253},
{-0.9704717169869923,-0.5314544484126316,-0.38452800689385924,-0.3179195751061883,-0.27897134927533784,-0.25577302884460096,-0.2366905263797605,-0.22260783953723262,-0.21153724594248047,-0.20254173344650894,-0.19504952463023528,-0.18869594776742815,-0.18321298489047422,-0.1784253655130783,-0.17419571474133022,-0.1704297428011614,-0.16704953007103995,-0.16398294834164062,-0.16119848719810648,-0.15851478061472335,-0.15634156022400703},
{-0.9701754907636797,-0.5313361141866579,-0.3844802013222477,-0.31789893177956685,-0.2789642626413098,-0.2557735989248471,-0.2366954455269905,-0.2226164566959028,-0.21154846012606754,-0.20255490431927115,-0.19506413634701403,-0.18871166407856776,-0.18322958263863143,-0.17844268001496744,-0.1742136180289151,-0.17044812878799576,-0.16706831719895376,-0.1640020684153285,-0.16121788547386018,-0.15853444834422703,-0.15636132564458194},
{-0.9698793882093923,-0.5312179683024851,-0.3844325642994306,-0.31787844470241566,-0.27895732408708795,-0.25577430345042274,-0.23670050300016499,-0.22262520884734727,-0.21155980688641307,-0.20256820519895768,-0.19507887524014222,-0.18872750600723975,-0.18324630410302234,-0.17846011684505925,-0.17423164214829967,-0.17046663430397757,-0.16708722248520758,-0.1640213053275943,-0.16123739944598015,-0.158554230090175,-0.1563812035990395},
{-0.9695834098098146,-0.5311000111243942,-0.38438509620193884,-0.31785811425653776,-0.27895053399080894,-0.25577514286072756,-0.23670569915739748,-0.22263409635746712,-0.21157128659638147,-0.20258163644777483,-0.19509374165531312,-0.1887434739035143,-0.18326314963775303,-0.1784776763460627,-0.17424978744014652,-0.17048525968885997,-0.16710624625741843,-0.16404065940332657,-0.16125702944606246,-0.1585741261804401,-0.15640119437566113},
{-0.9692875560518246,-0.5309822430170783,-0.38433779741050955,-0.31783794083249006,-0.2789438927386385,-0.25577611756644103,-0.2367110343651717,-0.22264311959412453,-0.2115828996290645,-0.20259519842576879,-0.1951087359450696,-0.1887595681129426,-0.18328011958553247,-0.17849535886182366,-0.17426805423960445,-0.1705040052824245,-0.1671253888474098,-0.16406013097883942,-0.1612767757953577,-0.15859413694550994,-0.15642129829510054},
{-0.9689918274277147,-0.5308646643488686,-0.38429066830859426,-0.31781792482455273,-0.27893740071245077,-0.25577722801776304,-0.23671650898506869,-0.22265227893259976,-0.21159464636511416,-0.2026088915021944,-0.19512385846496727,-0.18877578898647585,-0.18329721430481527,-0.1785131647460787,-0.1742864428915425,-0.17052287142522005,-0.16714465058680616,-0.1640797203824036,-0.16129663883160106,-0.1586142627253082,-0.15644151566806386},
{-0.9686962244224873,-0.5307472754849272,-0.38424370927754126,-0.3177980666222595,-0.2789310582989941,-0.25577847463675596,-0.23672212338348686,-0.22266157474297188,-0.21160652717713901,-0.20262271603911586,-0.19513910956641212,-0.1887921368770833,-0.18331443415078752,-0.17853109434526004,-0.17430495373466215,-0.17054185846703263,-0.1671640318087384,-0.1640994279490826,-0.16131661888405802,-0.15863450384131283,-0.15646184680710462},
{-0.9684007475292731,-0.5306300767979764,-0.38419692070237943,-0.31777836662395487,-0.27892486588199006,-0.2557798578530708,-0.23672787792705208,-0.2226710073986169,-0.21161854244866163,-0.20263667240706695,-0.195154489609223,-0.1888086121296908,-0.18333177947855006,-0.17854914801034738,-0.17432358711434404,-0.17056096674392052,-0.16718353284855425,-0.16411925400890937,-0.16133671628574575,-0.1586548606333622,-0.15648229202713537},
{-0.9681053972362292,-0.5305130686557078,-0.38415030296680186,-0.3177588252219721,-0.27891882384838595,-0.2557813781101288,-0.23673377297944853,-0.22268057726705592,-0.21163069254853895,-0.20265076096859502,-0.1951699989489839,-0.18882521509786443,-0.18334925063768992,-0.17856732609325832,-0.1743423433699718,-0.1705801965985927,-0.1672031540349792,-0.16413919889399153,-0.1613569313679193,-0.15867533342392903,-0.1565028516465361},
{-0.9678101740347387,-0.5303962514304601,-0.38410385645974543,-0.317739442812794,-0.27891293258460337,-0.2557830358220343,-0.23673980891595647,-0.22269028472356922,-0.21164297786083353,-0.20266498209315387,-0.1951856379478727,-0.18884194613428917,-0.18336684799552927,-0.17858562894707575,-0.1743612228512461,-0.17059954838373415,-0.16722289570628845,-0.16415926294368433,-0.16137726446572742,-0.15869592254523468,-0.15652352599883557},
{-0.9675150784179039,-0.530279625493435,-0.38405758156636693,-0.3177202197952198,-0.2789071924834161,-0.2557848314443305,-0.23674598609952113,-0.22270013014176016,-0.2116553987623604,-0.20267933615150469,-0.19520140697031252,-0.18885880559111,-0.1833845719040994,-0.17860405692417203,-0.17438022589982438,-0.1706190224312536,-0.16724275819572654,-0.16417944649259653,-0.16139771591181784,-0.15871662833768596,-0.1565443153982642},
{-0.9672201108771645,-0.5301631912194154,-0.3840114786803923,-0.31770115656334497,-0.2789016039342016,-0.2557867654008703,-0.23675230490499644,-0.22271011389429418,-0.21166795562908192,-0.20269382351386867,-0.19521730637157475,-0.1888757938250194,-0.18340242272816454,-0.17862261038428073,-0.17439935286921582,-0.17063861910233413,-0.1672627418450361,-0.16419974987803698,-0.16141828604671105,-0.15873745112295978,-0.15656522017735597},
{-0.9669252719063053,-0.530046948984932,-0.38396554818787365,-0.31768225352459467,-0.2788961673295205,-0.255788838129817,-0.23675876569947718,-0.22272023635682103,-0.21168064884776072,-0.2027084445460332,-0.19523333652122687,-0.18889291119256768,-0.18342040082768563,-0.17864128967849524,-0.17441860410443155,-0.17065833873033398,-0.16728284698848483,-0.1642201734421178,-0.16143897520140627,-0.15875839123975766,-0.1565862406746703},
{-0.9666305619977464,-0.5299308991633751,-0.38391979048286373,-0.317663511076816,-0.2788908830628003,-0.25579105007399505,-0.23676536886105737,-0.2227304979042799,-0.21169347879114753,-0.202723199626746,-0.1952494977853121,-0.18891015804840094,-0.18343850656648897,-0.1786600951704429,-0.17443797996284616,-0.17067818166665916,-0.1673030739681849,-0.16424071751725933,-0.16145978371895353,-0.1587794490161798,-0.15660737722237172},
{-0.9663359816472479,-0.5298150421333361,-0.3838742059595859,-0.31764492962396673,-0.2788857515238732,-0.2557934016553105,-0.2367721147627151,-0.22274089891001836,-0.2117064458441007,-0.20273808911886704,-0.19526579053177784,-0.1889275347461421,-0.18345674030757664,-0.1786790272120129,-0.17445748079128975,-0.17069814825978824,-0.167323423121843,-0.16426138244960953,-0.16148071193185842,-0.15880062478535706,-0.15662863016248707},
{-0.9660415313499726,-0.52969937827352,-0.3838287950105581,-0.31762650956852667,-0.2788807731143379,-0.2557958933316513,-0.2367790037785369,-0.2227514397501409,-0.21171955038812484,-0.20275311340188296,-0.19528221513260746,-0.1889450416479974,-0.1834751024185266,-0.17869808616649152,-0.174477106945659,-0.17071823885916615,-0.167343894794584,-0.1642821685800584,-0.16150176018237516,-0.1588219188797666,-0.15664999984244332},
{-0.9657472116009842,-0.5295839079620208,-0.38378355803223485,-0.31760825131674153,-0.27887594822789197,-0.2557985255349422,-0.23678603628187034,-0.22276212080114988,-0.21173279279869917,-0.20276827284624233,-0.19529877194941037,-0.18896267911051723,-0.1834935932620283,-0.17871727239767665,-0.17449685878037258,-0.1707384538099177,-0.16736448932115877,-0.16430307624978013,-0.16152292880815367,-0.15884333163128872,-0.1566714865937513},
{-0.9654530228962557,-0.5294686315817358,-0.3837384954232306,-0.31759015527545387,-0.2788712772648836,-0.2558012986989837,-0.23679321264921782,-0.22277294244017298,-0.2117461734635242,-0.20278356782597484,-0.19531546136502698,-0.1889804474968173,-0.18351221321205458,-0.1787365862589354,-0.17451673665397038,-0.17075879346458578,-0.16738520705337123,-0.16432410580608803,-0.16154421815224396,-0.15886486337905126,-0.1566930907820847},
{-0.9651589657346165,-0.529353549513587,-0.3836936075808808,-0.31757222185193257,-0.27886676062144033,-0.25580421327910585,-0.23680053326825146,-0.2227839050462137,-0.21175969276214346,-0.20279899871971452,-0.1953322837510143,-0.18899834716677333,-0.1835309626338244,-0.17875602812006264,-0.1745367409294829,-0.1707792581705121,-0.16740604833145767,-0.16434525758805307,-0.1615656285559055,-0.15888651444828383,-0.1567148127548137},
{-0.9648650406138444,-0.5292386621410117,-0.38364889490775056,-0.31755445145400074,-0.2788623987002694,-0.2558072697022169,-0.23680799851126721,-0.22279500899188065,-0.21177335107773843,-0.2028145658990752,-0.19534923947884408,-0.1890163784853769,-0.18354984189724632,-0.17877559834514045,-0.17455687195933933,-0.17079984828009742,-0.16742701350258926,-0.16436653194941186,-0.1615871603591188,-0.15890828517771638,-0.15673665287422978},
{-0.9645712480306088,-0.529123969848655,-0.383604357799868,-0.3175368444954927,-0.27885819190284167,-0.25581046842336264,-0.23681560875812124,-0.22280625466095216,-0.21178714879255267,-0.20283026973737606,-0.19536632893098727,-0.1890345418098036,-0.18356885137731638,-0.1787952972981941,-0.174577130106627,-0.17082056414290037,-0.16744810291115186,-0.16438792923537449,-0.16160881390266013,-0.15893017590752834,-0.15675861149011894},
{-0.9642775884864676,-0.5290094730224126,-0.3835599966661647,-0.31751940138360624,-0.27885414063284486,-0.2558138098831648,-0.23682336439296137,-0.2228176424326591,-0.2118010862936046,-0.20284611061345004,-0.19538355248275252,-0.18905283750680724,-0.18358799144203886,-0.1788151253433341,-0.17459751573770177,-0.170841406119024,-0.16746931690951783,-0.16440944979424899,-0.161630589535946,-0.1589521869705095,-0.1567806889671317},
{-0.9639840624801792,-0.5288951720502126,-0.383515811907273,-0.3175021225370074,-0.27885024529635416,-0.25581729452238733,-0.23683126579740588,-0.2228291726857492,-0.21181516396353572,-0.20286208891033652,-0.1954009105179466,-0.18907126594186252,-0.18360726247121306,-0.17883508284452887,-0.17461802921735625,-0.17086237455652054,-0.1674906558461089,-0.16443109397241074,-0.16165248759776318,-0.15897431870652667,-0.15680288566525746},
{-0.9636906705129178,-0.5287810673187465,-0.3834718039302487,-0.31748500836839355,-0.27884650629827945,-0.25582092279910285,-0.23683931335554576,-0.22284084580218178,-0.21182938218544223,-0.20287820500053044,-0.1954184034173636,-0.18908982748388325,-0.1836266648362539,-0.1788551701758081,-0.17463867090978624,-0.1708834698067676,-0.16751212006681726,-0.1644528621260406,-0.16167450843727238,-0.15899657145180868,-0.1568252019531542},
{-0.9633974130860423,-0.5286671592184717,-0.3834279731387653,-0.3174680592880321,-0.27884292404228006,-0.25582469513483375,-0.23684750745181304,-0.22285266215862976,-0.21184374134216455,-0.20289445925817517,-0.1954360315632755,-0.18910852249837262,-0.18364619891090683,-0.17887538769912226,-0.17465944118669086,-0.17090469222802085,-0.16753370993035333,-0.1644747546039298,-0.1616966523918677,-0.15901894554417595,-0.15684763819376712},
{-0.9631042907017076,-0.5285534481395615,-0.38338431994603184,-0.317451275720245,-0.27883949894005866,-0.25582861200481943,-0.23685584847282826,-0.22286462214327685,-0.21185824182617807,-0.20291085207253445,-0.19545379534710605,-0.189127351351857,-0.18366586507613647,-0.1788957357829304,-0.17468034041272062,-0.17092604217745588,-0.1675554257870715,-0.16449677176220234,-0.16171891982261855,-0.1590414413365977,-0.15687019476558817},
{-0.9628113038628641,-0.5284399344737665,-0.3833408447582656,-0.3174346580749443,-0.2788362314018542,-0.2558326738437984,-0.23686433680356345,-0.22287672613430232,-0.2118728840202948,-0.2029273838184622,-0.19547169514376606,-0.18914631442035557,-0.18368566370801886,-0.17891621480251274,-0.17470136895917676,-0.1709475200127315,-0.16757726798547878,-0.16451891395396956,-0.16174131106185996,-0.15906405915862365,-0.15689287201590219},
{-0.962518453075063,-0.5283266186164468,-0.38329754798708393,-0.3174182067793794,-0.27883312183526243,-0.25583688109466607,-0.23687297282964437,-0.22288897451647927,-0.21188766830482564,-0.20294405487365452,-0.19548973134558878,-0.1891654120625219,-0.18370559518285745,-0.17893682511822817,-0.17472252719275616,-0.17096912608283787,-0.16759923688374556,-0.1645411815288753,-0.16176382645656417,-0.15908679935986925,-0.15691567033184128},
{-0.9622257388391944,-0.5282135009590547,-0.38325443004650595,-0.3174019222533815,-0.27883017065805404,-0.25584123422694915,-0.23688175694553593,-0.22290136768148727,-0.21190259507929454,-0.20296086563055837,-0.1955079043520982,-0.18918464466790397,-0.18372565988974543,-0.1789575671159298,-0.17474381550138673,-0.1709908607590762,-0.16762133284478864,-0.16456357485515127,-0.16178646637223437,-0.15910966229313317,-0.15693859008192135},
{-0.9619331616614915,-0.5281005819004889,-0.38321149134910115,-0.3173858049146645,-0.278827378279189,-0.25584573366748486,-0.23689068954311665,-0.2229139060097225,-0.21191766472500717,-0.20297781646291924,-0.19552621454775476,-0.18920401260018593,-0.1837458582035083,-0.178978441159245,-0.17476523424926427,-0.17101272439663262,-0.16764355622109406,-0.16458609428042337,-0.16180923114359302,-0.15913264829836749,-0.1569616316460838},
{-0.9616407220491681,-0.5279878618361664,-0.38316873231234183,-0.317369855192581,-0.2788247451164807,-0.2558503798925358,-0.23689977100772808,-0.22292658989030656,-0.21193287763171043,-0.20299490776338303,-0.19554466232435175,-0.18922351623578493,-0.18376619050903287,-0.17899944761995812,-0.1747867838103332,-0.17103471735731546,-0.16766590737321962,-0.16460874016999583,-0.1618321211306295,-0.15915575773189516,-0.15698479539000232},
{-0.9613484205066385,-0.5278753411640338,-0.3831261533503749,-0.3173540735052711,-0.2788222715865203,-0.2558551733435195,-0.23690900173392038,-0.22293941970983155,-0.211948234191226,-0.20301213991069744,-0.1955632480787699,-0.1892431559546992,-0.18378665718853426,-0.17902058687377576,-0.1748084645691108,-0.1710568400021657,-0.16768838665856833,-0.1646315128832896,-0.161855136678156,-0.1591789909475665,-0.15700808168514868},
{-0.9610562575439303,-0.5277630202854056,-0.38308375488401225,-0.31733846028625123,-0.2788199581094517,-0.25586011446648627,-0.23691838211553318,-0.22295239585946547,-0.21196373478977648,-0.20302951329770735,-0.1955819722033425,-0.1892629321323227,-0.18380725862905933,-0.17904185929373284,-0.1748302768951362,-0.1710790926953507,-0.1677109944434676,-0.16465441277512127,-0.1618782781408754,-0.1592023482850209,-0.1570314909174897},
{-0.9607642336672484,-0.527650899601241,-0.3830415373298166,-0.3173230159568732,-0.2788178050970771,-0.25586520373485655,-0.23692791254191548,-0.22296551873006365,-0.2119793798180183,-0.20304702830719634,-0.19560083509921355,-0.18928284514211668,-0.18382799520642834,-0.1790632652549391,-0.17485222117409194,-0.17110147579774093,-0.16773373108441092,-0.16467744021056774,-0.1619015458692843,-0.15922583010004132,-0.1570550234518464},
{-0.9604723493861513,-0.527538979513821,-0.38299950111269254,-0.317307740949218,-0.27881581297589264,-0.2558704415791908,-0.236937593417764,-0.2229787887103214,-0.2119951696698763,-0.203064685329025,-0.19561983716354803,-0.18930289537490808,-0.1838488673217853,-0.17908480513438008,-0.1748742977815425,-0.17112398967591957,-0.16775659694604883,-0.164700595555189,-0.16192494022121195,-0.15924943676205316,-0.15707867968646383},
{-0.9601806052104109,-0.5274272604264922,-0.38295764665313925,-0.31729263569293664,-0.27881398216226216,-0.25587582847657586,-0.2369474251304382,-0.22299220619754578,-0.21201110473847962,-0.20308248475978985,-0.19563897879854153,-0.18932308320415814,-0.18386987534384502,-0.17910647930281698,-0.17489650709475768,-0.17114663469055813,-0.16777959239706774,-0.1647238791668144,-0.16194846154925813,-0.1592731686180855,-0.15710245998073447},
{-0.9598890016497279,-0.5273157427447899,-0.38291597437599023,-0.31727770061772276,-0.27881231308739984,-0.25588136488124746,-0.23695740808338428,-0.2230057715840701,-0.2120271854156215,-0.20310042698511666,-0.1956582603993411,-0.1893434090184769,-0.18389101967653687,-0.1791282881476377,-0.1749188495053886,-0.17116941122350227,-0.16780271779606437,-0.16474729141506828,-0.16197211021008684,-0.1592970260250297,-0.15712636471906194},
{-0.9595975392162615,-0.5272044268756559,-0.38287448470657637,-0.31726293616036116,-0.2788108061708954,-0.25588705124005173,-0.236967542668026,-0.22301948526796878,-0.21204341209497102,-0.20311851240268197,-0.19567768237578775,-0.18936387319877213,-0.18391230070008646,-0.17915023203741498,-0.17494132538828921,-0.1711923196249927,-0.16782597351760842,-0.16477083266480008,-0.161995886562039,-0.15932100934404048,-0.15715039429136368},
{-0.9593062184208918,-0.5270933132260893,-0.3828331780721186,-0.31724834275115654,-0.27880946183898914,-0.2558928880280291,-0.23697782929187383,-0.2230333476465205,-0.21205978517093627,-0.2031367414078602,-0.19569724512643916,-0.1893844761333412,-0.18393371880810605,-0.17917231135470502,-0.1749639351292558,-0.17121536026840545,-0.16784935992572514,-0.16479450327477707,-0.1620197909653598,-0.1593451189368409,-0.15717454907689898},
{-0.9590150397779666,-0.5269824022063858,-0.38279205490225365,-0.31723392082916746,-0.2788082805178078,-0.2558988756861993,-0.23698826835226328,-0.2230473591206703,-0.21207630504201802,-0.20315511439332568,-0.19571694906142056,-0.18940521820778145,-0.18395527438866566,-0.17919452648524725,-0.17498667911337407,-0.17123853352774177,-0.1678728773914031,-0.16481830361993843,-0.16204382377401316,-0.15936935515981077,-0.15719882946120833},
{-0.9587240037995315,-0.5268716942268128,-0.38275111562504094,-0.3172196708297861,-0.27880726263813926,-0.25590501469491755,-0.23699886024957095,-0.2230615200880095,-0.21209297210350542,-0.2031736317633488,-0.1957367945872477,-0.18942609981039027,-0.18397696783668493,-0.17921687779949025,-0.17500955772237603,-0.17126183977188703,-0.1678965262881036,-0.1648422340668958,-0.16206798535193911,-0.1593937183847629,-0.1572232358270753},
{-0.9584331110002466,-0.5267611896978934,-0.38271036067263253,-0.31720559318783614,-0.27880640862920814,-0.25591130550381536,-0.23700960538513982,-0.22307583095198424,-0.21210978675387082,-0.20319229391134286,-0.19575678210492242,-0.18944712133153985,-0.18399879954236553,-0.1792393656878346,-0.1750325713397558,-0.17128527937060767,-0.16792030698056237,-0.16486629498155025,-0.16209227606429977,-0.15941820896574654,-0.1572477685583067},
{-0.9581423618950993,-0.5266508890357926,-0.3826697904801364,-0.31719168834999323,-0.2788057189248718,-0.2559177485767634,-0.23702050416179077,-0.22309029212084397,-0.21212674938925602,-0.20321110124444886,-0.19577691202925962,-0.18946828316407505,-0.18402076989949023,-0.17926199052629954,-0.17505572036179728,-0.17130885269483542,-0.16794421984670294,-0.16489048673642515,-0.16211669626613912,-0.15944282727295445,-0.15727242805547803},
{-0.9578517570006113,-0.5265407926530798,-0.38262940548150937,-0.3171779567519195,-0.27880519395262127,-0.25592434438863165,-0.23703155699138279,-0.22310490399934224,-0.21214386041322086,-0.20323005416312867,-0.19579718477260144,-0.18948958569916385,-0.184042879302865,-0.17928475270684885,-0.1750790051692377,-0.17133256011999265,-0.16796826526251607,-0.1649148096991837,-0.16214124633373217,-0.15946757367277087,-0.15729721469608648},
{-0.9575612968339726,-0.5264309009680659,-0.3825892061102678,-0.31716439883818737,-0.2788048341507192,-0.2559310933836798,-0.23704276427315563,-0.2231196669927158,-0.21216112022312927,-0.20324915306926528,-0.19581760074143517,-0.18951102933016273,-0.18406512815076326,-0.17930765261070292,-0.17510242615011862,-0.17135640202533864,-0.16799244359771137,-0.1649392642381997,-0.1621659266239135,-0.15949244852549782,-0.1573221288821003},
{-0.9572709819100425,-0.526321214396404,-0.3825491928066356,-0.31715101505226073,-0.27880463995271043,-0.2559379960450201,-0.2370541264151882,-0.22313458151350574,-0.21217852922524116,-0.2032683983707102,-0.19583816035253676,-0.18953261445466296,-0.18408751683668356,-0.17933069062556228,-0.17512598369117427,-0.17138037877322176,-0.16801675523637982,-0.16496385073662623,-0.16219073750480106,-0.15951745221508418,-0.15734717099840623},
{-0.9569808127506576,-0.5262117333592613,-0.38250936600863383,-0.31713780583802986,-0.2788046117998988,-0.2559450528376317,-0.23706564382476358,-0.22314964797359949,-0.21219608781890997,-0.2032877904752013,-0.19585886401392827,-0.18955434146437256,-0.18411004575926881,-0.17935386713423895,-0.175149678189797,-0.1714044907561174,-0.16804120054973737,-0.16498856955240626,-0.16221567935073722,-0.1595425850878769,-0.1573723414377639},
{-0.9566907898726384,-0.5261024582763127,-0.38246972615844754,-0.3171247716478973,-0.2788047501252038,-0.2559522642194736,-0.2370773169108702,-0.22316486678684555,-0.21221379641147564,-0.2033073297925796,-0.1958797121490079,-0.18957621076322084,-0.18413271531809983,-0.17937718253031676,-0.17517351002589976,-0.1714287383473163,-0.16806577992392135,-0.16501342106550965,-0.1622407525280778,-0.15956784753583975,-0.15739764060236894},
{-0.9564009137963865,-0.5259933895707292,-0.3824302736984322,-0.317111912924247,-0.27880505537407885,-0.2559596306733454,-0.23708914608374698,-0.2231802383666377,-0.21223165540487798,-0.20332701672629128,-0.19590070516403557,-0.18959822274689486,-0.18415552591278583,-0.1794006372055037,-0.17519747959690335,-0.1714531219212745,-0.16809049372963614,-0.16503840564837446,-0.16226595740425864,-0.15959323991557994,-0.15742306887483437},
{-0.9561111850445059,-0.525884527665113,-0.3823910090702469,-0.3170992301180462,-0.2788055279798982,-0.25596715264802583,-0.23710113175576453,-0.22319576313381617,-0.21224966520634325,-0.2033468516923449,-0.1959218434865022,-0.1896203778200629,-0.18417847794509612,-0.17942423155014353,-0.17522158729298098,-0.17147764186000813,-0.16811534236006764,-0.16506352368122634,-0.1622912943543895,-0.15961876260263352,-0.1574486266619317},
{-0.9558216041352949,-0.5257758729832176,-0.3823519327198568,-0.31708672368051793,-0.2788061683898775,-0.25597483063560844,-0.2371132743348312,-0.2232114415066917,-0.21226782622815676,-0.20336683510575426,-0.19594312752937526,-0.18964267637869625,-0.18420157181472518,-0.17944796595082835,-0.175245833506267,-0.1715022985531789,-0.1681403261926846,-0.16508877552493573,-0.16231676376119708,-0.15964441597913037,-0.15747431435849535},
{-0.9555321715942284,-0.5256674259547935,-0.3823130450954295,-0.31707439406139315,-0.27880697705163016,-0.25598266509970813,-0.2371255742367282,-0.22322727390260866,-0.21228613887410575,-0.20338696737252349,-0.19596455770584953,-0.18966511882962322,-0.18422480792361284,-0.17947184081171486,-0.17527021862724723,-0.1715270923710932,-0.16816544561228852,-0.165114161571438,-0.16234236598555185,-0.15967020040142188,-0.15750013235418692},
{-0.9552428879423474,-0.525559187006607,-0.38227434664788973,-0.3170622417247557,-0.278807954411576,-0.2559906565130632,-0.23713803188167049,-0.22324326075801082,-0.21230460356449044,-0.20340724891653394,-0.19598613445489832,-0.18968770558419124,-0.18424818669248566,-0.1794958565300817,-0.17529474306269321,-0.17155202371671407,-0.16819070101129796,-0.1651396821984008,-0.16236810142973468,-0.15969611627511426,-0.15752608107180777},
{-0.9549537537054107,-0.5254511565672146,-0.382235837822023,-0.31705026711257744,-0.27880910090590305,-0.25599880535227726,-0.23715064767219474,-0.22325940248310872,-0.21232322069414522,-0.20342768014648982,-0.19600785817272026,-0.18971043703487567,-0.18427170850307562,-0.17952001348979252,-0.17531940718666306,-0.17157709295454993,-0.16821609276115623,-0.16516533776530196,-0.16239397044319048,-0.15972216394470706,-0.15755216087615054},
{-0.954664769408609,-0.5253433350693228,-0.3821975190719371,-0.31703847068601476,-0.2788104169895007,-0.25600711207516724,-0.23716342203408658,-0.2232756995068712,-0.21234199068609882,-0.20344826147538697,-0.19602972929541806,-0.18973331359580925,-0.1842953737744324,-0.17954431209807353,-0.175344211403484,-0.17160230047826985,-0.1682416212576925,-0.1651911286614336,-0.16241997341433034,-0.1597483438015388,-0.15757837219399562},
{-0.9543759355771471,-0.5252357229447568,-0.3821593908509726,-0.3170268529053999,-0.2788119031111762,-0.2560155771821542,-0.2371763553811661,-0.2232921522640936,-0.2123609139547682,-0.2034689933306879,-0.19605174824525307,-0.18975633567436034,-0.18431918291128113,-0.1795687527545624,-0.1753691561048072,-0.17162764667881447,-0.1682672868871009,-0.16521705526272967,-0.1624461107324464,-0.1597746562232487,-0.15760471542034793},
{-0.954087252736727,-0.5251283206271182,-0.38212145361409,-0.3170154142278818,-0.2788135597254211,-0.2560242011405478,-0.23718944813202825,-0.2233087611832616,-0.2123799909152524,-0.20348987612609903,-0.19607391544406028,-0.18977950368750385,-0.18434313632721455,-0.17959333585937998,-0.17539424169427775,-0.1716531319451633,-0.16829309004521065,-0.1652431179533096,-0.16247238277594533,-0.15980110159881633,-0.15763119095382194},
{-0.9537987214171721,-0.5250211285547266,-0.3820837078187509,-0.3170041551173597,-0.2788153872843111,-0.2560329844252749,-0.2372027007109807,-0.2233255266976073,-0.21239922198461159,-0.20351091028621227,-0.19609623132186016,-0.1898028180432334,-0.18436723443255687,-0.1796180618231915,-0.175419468565849,-0.17167875666945065,-0.16831903112120017,-0.16526931711462112,-0.16249878993002653,-0.15982768030460193,-0.15765779920823775},
{-0.9535103421447673,-0.5249141471630026,-0.3820461539206832,-0.316993076033242,-0.27881738623841557,-0.2560419275249046,-0.2372161135329236,-0.22334244923882807,-0.21241860757726272,-0.2035320962258993,-0.1961186962949455,-0.18982627914814998,-0.1843914776330564,-0.17964293104350304,-0.1754448371141848,-0.17170452123960445,-0.1683451105009226,-0.16529565311915917,-0.1625253325785252,-0.15985439271722157,-0.15768454057160852},
{-0.953222115450302,-0.5248073768914168,-0.3820087923820097,-0.3169821774399111,-0.2788195570454661,-0.25605103090319403,-0.23722968703216907,-0.22335952924370872,-0.21243814811663242,-0.20355343436855833,-0.19614131080444963,-0.1898498874267318,-0.18441586635492513,-0.17966794393657892,-0.17547034774645454,-0.1717304260516812,-0.16837132858685777,-0.1653221263613318,-0.1625520111146841,-0.1598812392325044,-0.15771141547858747},
{-0.952934041862207,-0.5247008181800368,-0.3819716236620252,-0.3169714598054725,-0.2788219001604375,-0.25606029506187156,-0.23724342161921186,-0.22337676715221733,-0.21245784402708523,-0.20357492514042974,-0.19616407526913804,-0.18987364329325374,-0.1844404009975733,-0.17969310089944202,-0.1754960008481703,-0.17175647149230144,-0.1683976857645746,-0.1653487372162772,-0.16257882592333317,-0.1599082202351667,-0.15773842430945706},
{-0.9526461219134177,-0.524594471471886,-0.38193464822616363,-0.3169609235895905,-0.2788244160470583,-0.25606972047455656,-0.23725731772748304,-0.22339416339852392,-0.2124776957246297,-0.20359656896255274,-0.19618699011326157,-0.18989754716091056,-0.1844650819902256,-0.17971840235233572,-0.1755217968338627,-0.17178265797201675,-0.16842418243572865,-0.165375486073998,-0.1626057773922014,-0.15993533610344457,-0.15776556748056692},
{-0.9523583561362585,-0.5244883372113378,-0.38189786653609303,-0.31695056927051724,-0.2788271051628328,-0.25607930762697606,-0.2372713757799545,-0.2234117184305262,-0.21249770364048004,-0.20361836626045715,-0.1962100557801989,-0.1899215994559711,-0.18448990974781054,-0.1797438487068348,-0.17554773610166308,-0.1718089858760834,-0.16845081899205638,-0.16540237332475272,-0.1626328659175158,-0.15996258723981782,-0.1577928454053108},
{-0.9520707450605528,-0.5243824158430215,-0.3818612790601037,-0.31694039730982126,-0.27882996796762427,-0.2560890570093193,-0.23728559620869305,-0.22342943268660065,-0.21251786819536278,-0.20364031745921807,-0.196233272690165,-0.18994580059279542,-0.18451488468545563,-0.17976944037781095,-0.1755738190486511,-0.17183545560311586,-0.1684775958347302,-0.16542939934331002,-0.16266009188871067,-0.1599899740263595,-0.15782025848142212},
{-0.9517832892231155,-0.5242767078138257,-0.3818248862658038,-0.3169304081824862,-0.2788330049238539,-0.2560989690950066,-0.23729997944406023,-0.22344730660796586,-0.21253818981568884,-0.20366242297939152,-0.19625664128000153,-0.1899701509978513,-0.1845400072310781,-0.17979517778039167,-0.17560004608350255,-0.17186206755388866,-0.16850451336233618,-0.1654565645289381,-0.16268745570573628,-0.16001749684932065,-0.15784780713474333},
{-0.9514959891572659,-0.5241712135730268,-0.38178868862294735,-0.31692060236130715,-0.27883621649917245,-0.2561090443901435,-0.23731452591354696,-0.22346534064109846,-0.21255866893892517,-0.20368468325565914,-0.19628016198248588,-0.18999465109300218,-0.18456527779667908,-0.1798210613266633,-0.17562641760574138,-0.17188882212997214,-0.16853157196482016,-0.1654838692667795,-0.1627149577579985,-0.16004515610839576,-0.1578754917612457},
{-0.9512088453983552,-0.5240659335702134,-0.38175268660020834,-0.3169109803160097,-0.2788396031578202,-0.2561192833742325,-0.2373292360469179,-0.2234835352324751,-0.21257930598318353,-0.20370709870806536,-0.1963038352239721,-0.19001930130210098,-0.18459069681520646,-0.17984709144457156,-0.17565293402165594,-0.17191571973287978,-0.16855877204682201,-0.16551131394982121,-0.1627425984446802,-0.1600729521923938,-0.15790331276897973},
{-0.9509218584831558,-0.5239608682595076,-0.3817168806743183,-0.31690154252814295,-0.2788431653704606,-0.2561296865397935,-0.23734411028286218,-0.22350189083252303,-0.2126001013893415,-0.20372966977026863,-0.1963276614494589,-0.19004410205511135,-0.1846162647087226,-0.17987326855163133,-0.17567959574145675,-0.1719427607618229,-0.16858611401139,-0.1655388989664175,-0.1627703781595642,-0.16010088550208934,-0.1579312705787288},
{-0.9506350289492076,-0.5238560180928999,-0.38168127131750396,-0.3168922894703883,-0.27884690360059494,-0.2561402543882423,-0.23735914905907407,-0.22352040788496197,-0.21262105558500366,-0.20375239686813984,-0.19635164108336767,-0.19006905378310535,-0.18464198190233105,-0.17989959307035974,-0.17570640316804997,-0.17196994562488044,-0.16861359826162925,-0.1655666247096974,-0.16279829730899564,-0.16012895642589342,-0.1579593655927738},
{-0.9503483573345619,-0.523751383525564,-0.38164585900663894,-0.31688322162449367,-0.2788508183203078,-0.25615098739484665,-0.23737435281154262,-0.22353908684388557,-0.21264216900812016,-0.20377528043130155,-0.19637577456992972,-0.19009415690953801,-0.18466784882451748,-0.17992606543162992,-0.175733356710424,-0.1719972747272891,-0.16864122519137936,-0.16559449158305029,-0.16282635628758158,-0.16015716535849833,-0.15798759822570219},
{-0.950061844177668,-0.5236469650159137,-0.38161064421825586,-0.3168743394682281,-0.27885491000432694,-0.2561618860772512,-0.2373897219768537,-0.22355792815994846,-0.21266344209590216,-0.2037983208903711,-0.19640006234354246,-0.1901194118684657,-0.18469386590049908,-0.17995268605460524,-0.1757604567759472,-0.17202474847070448,-0.16866899520792344,-0.16562249997795675,-0.16285455549416383,-0.16018551270951775,-0.1580159688913909},
{-0.9497754900200448,-0.5235427630218794,-0.3815756274328521,-0.31686564348112256,-0.2788591791244528,-0.25617295091984715,-0.23740525699636805,-0.2235769322825263,-0.2126848752833439,-0.20382151867565312,-0.1964245048371822,-0.19014481909573533,-0.1847200335652417,-0.1799794553656966,-0.1757877037777007,-0.17205236726564976,-0.1686969087148782,-0.16565065028811432,-0.16288289534091405,-0.1602139988652027,-0.15804447798939236},
{-0.9494892954014205,-0.5234387780056124,-0.3815408091324599,-0.3168571341520874,-0.27886362615620897,-0.2561841824230555,-0.23742095831406118,-0.22359609967037386,-0.21270646901317036,-0.20384487421810604,-0.19644910249485292,-0.19017037902580114,-0.18474635224998792,-0.18000637380450257,-0.17581509811915907,-0.17208013152404078,-0.16872496611819088,-0.1656789429192429,-0.16291137621902863,-0.16024262422803304,-0.15807312593932465},
{-0.9492032608651044,-0.5233350104289372,-0.3815061898013141,-0.31684881196150627,-0.27886825157571593,-0.25619558109474383,-0.23743682637186225,-0.22361543077209944,-0.21272822372381484,-0.2038683879508767,-0.19647385575194676,-0.19019609208797306,-0.1847728223831382,-0.18003344179200553,-0.17584264022164575,-0.1721080416520806,-0.16875316781391803,-0.16570737826677373,-0.16293999853459695,-0.1602713891970211,-0.15810191314139388},
{-0.9489173869530845,-0.5232314607546726,-0.38147176991961373,-0.31684067739456623,-0.2788730558600321,-0.2562071474178822,-0.2374528616195164,-0.22363492604682733,-0.2127501398585423,-0.2038920603035308,-0.1964987650475507,-0.19022195873239411,-0.18479944439923202,-0.18006065976862828,-0.17587033048934586,-0.1721360980625093,-0.1687815142180682,-0.165735956739411,-0.1629687626943337,-0.16030029418195113,-0.15813084001072752},
{-0.9486316742087411,-0.523128129448807,-0.38143754997699375,-0.3168327309432186,-0.2788780394869548,-0.25621888192100073,-0.23746906450077176,-0.2236545859536534,-0.21277221786351674,-0.20391589171572377,-0.19652383083013092,-0.19024797939010796,-0.18482621873630478,-0.18008802816024172,-0.17589816933707425,-0.17216430116690162,-0.16881000573459914,-0.16576467873406386,-0.16299766910844937,-0.16032933957657747,-0.15815990695520554},
{-0.9483461231781973,-0.523025016980128,-0.38140353046084385,-0.31682497308858615,-0.2788832029431205,-0.2562307850935497,-0.2374854354625029,-0.2236744109420954,-0.21279445818603904,-0.2039398826143497,-0.19654905353095842,-0.19027415450318585,-0.18485314581965895,-0.18011554740508018,-0.17592615718302795,-0.1721926513754113,-0.16883864276687177,-0.16579354466441032,-0.1630267181672025,-0.16035852578752952,-0.15818911437023075},
{-0.9480607344071643,-0.5229221238168122,-0.3813697118600885,-0.3168174043312888,-0.27888854670837304,-0.2562428574436808,-0.23750197496337933,-0.22369440147926412,-0.21281686126744148,-0.20396403343588076,-0.1965744335920192,-0.19030048451224957,-0.18488022609918175,-0.18014321793503996,-0.17595429443471744,-0.17222114911024278,-0.16886742572054914,-0.16582255492528475,-0.16305591029035327,-0.1603878532167755,-0.15821846266752004},
{-0.9477755084410262,-0.5228194504318111,-0.38133609466773066,-0.31681002515611567,-0.27889407126579613,-0.25625509949162506,-0.23751868344979243,-0.22371455802115747,-0.21283942756227248,-0.20398834462099558,-0.19659997146641217,-0.1903269698710801,-0.18490746000395575,-0.18017104019489238,-0.17598258151613777,-0.17224979478552882,-0.16889635501104294,-0.16585170993977272,-0.16308524588410478,-0.1604173222804377,-0.15824795225506705},
{-0.9474904458283078,-0.5227169972967545,-0.38130267937590645,-0.31680283605649606,-0.278899777100861,-0.25626751172180207,-0.2375355613815202,-0.22373488102732608,-0.21286215751990767,-0.2040128165976398,-0.19662566759447486,-0.19035361101188641,-0.18493484797275528,-0.18019901461599375,-0.17601101883801107,-0.1722785888162548,-0.16892543104037827,-0.16588101010734135,-0.1631147253474694,-0.16044693337218519,-0.15827758352372712},
{-0.9472055471181449,-0.5226147648868817,-0.3812694664813563,-0.3167958375327089,-0.278905664700261,-0.2562800946759296,-0.23755260921490162,-0.2237553709640565,-0.2128850515967713,-0.20403744981169325,-0.1966515224149532,-0.19038040839441805,-0.18496239044074514,-0.18022714163814157,-0.17603960681915964,-0.17230753162533574,-0.1689546542251037,-0.16591045584263497,-0.16314434910395903,-0.1604766869048433,-0.1583073568842508},
{-0.946920812858508,-0.5225127536764234,-0.3812364564777653,-0.3167890300737497,-0.27891173455847706,-0.2562928488540308,-0.23756982740437138,-0.22377602829311627,-0.21290811024326217,-0.2040622446927216,-0.19667753637673968,-0.19040736245992207,-0.18499008785582305,-0.1802554217026966,-0.17606834588340803,-0.17233662363156554,-0.16898402496846643,-0.16594004756373693,-0.16317411755454714,-0.16050658329041312,-0.1583372727300798},
{-0.9466362436025122,-0.5224109641480794,-0.38120364986728816,-0.31678241418507014,-0.27891798716353833,-0.2563057747688333,-0.23758721641661396,-0.22379685348263934,-0.21293133392168784,-0.2040872016898163,-0.19670370992858466,-0.1904344736662722,-0.18501794066423827,-0.18028385525448698,-0.1760972364453437,-0.1723658652613267,-0.1690135436946889,-0.16596978568230725,-0.1632040311160381,-0.1605366229469496,-0.15836733146937831},
{-0.9463518398994353,-0.5223093967781836,-0.38117104714700645,-0.31677599036160586,-0.2789244229995802,-0.2563188729476167,-0.23760477670620617,-0.22381784698458773,-0.21295472307727437,-0.20411232123197465,-0.19673004351315626,-0.19046174245136172,-0.18504594928396045,-0.18031244272296476,-0.1761262789292175,-0.1723952569235223,-0.1690432107945412,-0.1659996706071638,-0.1632340901828968,-0.16056680626371644,-0.1583975334701222},
{-0.9460676023031027,-0.522208052051397,-0.38113864882166126,-0.31676975910696115,-0.278931042568189,-0.25633214389068826,-0.23762250874673896,-0.22383900927840727,-0.21297827818116843,-0.2041376037657301,-0.19675653758730505,-0.19048916928352355,-0.1850741141815604,-0.1803411845672258,-0.17615547375956453,-0.17242479906011,-0.16907302670674085,-0.16602970277247664,-0.1632642951913965,-0.16059713367377526,-0.15842787916170664},
{-0.9457835313668426,-0.5221069304487997,-0.38110645539074994,-0.31676372092266547,-0.2789378463611172,-0.2563455881391974,-0.23764041299764926,-0.22386034082637707,-0.21300199969221012,-0.20416304973358024,-0.19678319258943588,-0.1905167546089217,-0.1851024357790152,-0.1803700812111515,-0.17618482134523106,-0.17245449207831598,-0.16910299181103028,-0.16605988257327908,-0.16329464652997672,-0.16062760557647948,-0.15845836891202225},
{-0.9454996276448213,-0.5220060324577531,-0.38107446736336215,-0.3167578763090546,-0.27894483487628463,-0.25635920620828756,-0.23765848992744054,-0.2238818420987343,-0.21302588807262168,-0.20418865957302046,-0.19681000897304557,-0.19054449888872682,-0.18513091453516495,-0.18039913310695965,-0.17621432212439458,-0.17248433642234318,-0.16913310655976943,-0.16609021045914574,-0.16332514462206404,-0.16065822239556837,-0.15848900312201408},
{-0.945215891693465,-0.5219053585675795,-0.3810426852464275,-0.3167522257784867,-0.2789520086154482,-0.2563729986193266,-0.23767674000936267,-0.22390351356693827,-0.21304994378797915,-0.20421443373462012,-0.1968369871967468,-0.19057240258032948,-0.18515955088815872,-0.18042834070800495,-0.17624397652770085,-0.17251433250558534,-0.16916337134102832,-0.16612068683443226,-0.16335578989060195,-0.1606889845499495,-0.15851978220894125},
{-0.9449323240676648,-0.5218049092647306,-0.3810111095467619,-0.316746769834765,-0.27895936807061616,-0.2563869659047384,-0.23769516371626764,-0.22392535570313044,-0.21307416730635964,-0.20424037265743777,-0.1968641277047709,-0.19060046613682857,-0.18518834528211414,-0.1804577044540281,-0.17627378497405743,-0.17254448076079143,-0.16919378659164863,-0.16615131213038126,-0.1633865827469947,-0.16071989244170481,-0.15855070653597636},
{-0.9446489253273143,-0.5217046850398788,-0.3809797407786846,-0.316741508987036,-0.27896691374581906,-0.25640110857924014,-0.2377137615195295,-0.22394736897669532,-0.21309855909220232,-0.2042664767855058,-0.19689143095212103,-0.1906286900244254,-0.18521729816836796,-0.18048722478317814,-0.17630374789027314,-0.17257478161911877,-0.16922435271115432,-0.16618208676757718,-0.16341752360051487,-0.16075094649636412,-0.1585817765189006},
{-0.9443656960299336,-0.5216046863897787,-0.38094857945091576,-0.3167364437469473,-0.27897464614648015,-0.2564154271919108,-0.23773253389848037,-0.2239695538603712,-0.2131231196214287,-0.20429274657396945,-0.19691889739476665,-0.19065707470238635,-0.18524640998634823,-0.1805169021500035,-0.17633386570966536,-0.17260523552363338,-0.1692550701288269,-0.16621301116740028,-0.16344861287751655,-0.1607821471367572,-0.15861299254078176},
{-0.9440826367341231,-0.5215049138050603,-0.3809176260783431,-0.3167315746202064,-0.2789825657734184,-0.25642992225792227,-0.2377514813277628,-0.22399191083141545,-0.21314784936316755,-0.2043191824637347,-0.19694652748395924,-0.19068562062881256,-0.1852756811874201,-0.180546736997087,-0.176364138852648,-0.17263584287906042,-0.16928593926422764,-0.16624408576521432,-0.16347985097857531,-0.16081349477457252,-0.15864435498588136},
{-0.9437997480022915,-0.5214053677863859,-0.3808868811804871,-0.3167269021280674,-0.27899067313728665,-0.25644459431885025,-0.23777060428608365,-0.22401444037001284,-0.2131727487948467,-0.20434578490608146,-0.19697432167782836,-0.19071432828164347,-0.18530511222306245,-0.1805767297744012,-0.17639456776916518,-0.17266660413687873,-0.1693169605323419,-0.16627531099027237,-0.163511238336298,-0.16084498984255902,-0.1586758642614825},
{-0.943517030394915,-0.5213060488286203,-0.38085634527158163,-0.3167224267812969,-0.27899896874072283,-0.2564594439123482,-0.2377899032591415,-0.22403714295313648,-0.21319781838678864,-0.20437255435459178,-0.19700228043836887,-0.19074319811565488,-0.1853347035368813,-0.18060688093356703,-0.17642515288139293,-0.17269751974006908,-0.16934813436907348,-0.16630668726554632,-0.16354277537044482,-0.16087663275854425,-0.15870752078166106},
{-0.9432344844754965,-0.5212069574351972,-0.3808260188733925,-0.3167181490976816,-0.27900745309523245,-0.2564744715574534,-0.23780937873351604,-0.22406001905531525,-0.21322305861761492,-0.20439949125460544,-0.19703040421669016,-0.19077223059562698,-0.18536445557970183,-0.18063719091861685,-0.17645589462696876,-0.17272859009736408,-0.16937946118355285,-0.16633821502830415,-0.16357446249733698,-0.16090842392540594,-0.15873932492164045},
{-0.9429521108063028,-0.5211080941081292,-0.38079590250515594,-0.31671406959569026,-0.27901612670882514,-0.25648967781739884,-0.23782903118669196,-0.22408306915954768,-0.21324846997515579,-0.2044265960641951,-0.19705869347981775,-0.19080142619651497,-0.1853943688004165,-0.1806676601802053,-0.17648679343517415,-0.17275981566609744,-0.1694109414113143,-0.16636989471015795,-0.16360630013483046,-0.1609403637989999,-0.15877127708424155},
{-0.9426699099543612,-0.521009459351859,-0.3807659966917356,-0.31671018879197277,-0.2790249900990034,-0.25650506321980515,-0.23784886111087644,-0.22410629375130497,-0.2132740529356738,-0.204453869233447,-0.19708714867567778,-0.1908307853779263,-0.18542444365587585,-0.18069828916461006,-0.17651784974725615,-0.17279119686818945,-0.16944257547237385,-0.1664017267297595,-0.1636382887164416,-0.1609724527721994,-0.15880337766193975},
{-0.9423878824838283,-0.5209110536734585,-0.38073630195995634,-0.3167065072125581,-0.279034043777898,-0.25652062830357636,-0.2378688689982198,-0.22412969331276145,-0.21329980798404335,-0.20448131122444124,-0.19711577028238025,-0.19086030862146686,-0.18545468059946302,-0.18072907833467866,-0.17654906401216408,-0.17282273416714133,-0.16947436380252157,-0.1664337115522585,-0.163670428661419,-0.16100469130441297,-0.1588356270894451},
{-0.942106028963309,-0.5208128775800276,-0.38070681883459656,-0.31670302537770567,-0.2790432882584355,-0.2565363736268296,-0.23788905533535853,-0.22415326832930305,-0.21332573559976709,-0.20450892248649666,-0.1971445587539904,-0.1908899963879378,-0.18548508008686326,-0.18076002813401715,-0.17658043665508671,-0.1728544279721973,-0.16950630681924395,-0.16646584957561572,-0.1637027203861976,-0.16103707979371507,-0.15886802573223235},
{-0.9418243499588215,-0.5207149315806703,-0.38067754784384533,-0.31669974381108545,-0.27905272405905635,-0.2565522997115295,-0.2379094206186494,-0.22417701928731049,-0.2133518362740574,-0.2045367034828871,-0.19717351455201992,-0.1909198491603945,-0.18551564256341635,-0.18079113901418964,-0.1766119681235807,-0.1728862787348362,-0.16953840496773864,-0.16649814125878493,-0.16373516433148438,-0.16106961867839686,-0.15890057402316415},
{-0.9415428460400648,-0.520617216187631,-0.38064848951938757,-0.31669666304105704,-0.27906235169862725,-0.2565684071284693,-0.23792996534376698,-0.22420094667486978,-0.2133781105008552,-0.20456465467412954,-0.197202638149804,-0.19094986740003606,-0.1855463684965457,-0.18082241142514022,-0.17664365886042788,-0.17291828689550925,-0.16957065867597976,-0.16653058702792123,-0.16376776090334033,-0.16110230837733752,-0.15893327235528432},
{-0.9412615177784005,-0.5205197319169059,-0.38061964439222606,-0.3166937835891588,-0.27907217169703813,-0.2565846964136256,-0.23795069000618696,-0.22422505097850376,-0.213404558757901,-0.20459277651536922,-0.19723192999896355,-0.19098005158645037,-0.185577258337986,-0.18085384582371944,-0.1766755093022141,-0.17295045289668565,-0.16960306837765415,-0.16656318732592013,-0.16380051055080003,-0.16113514934036743,-0.1589661211417024},
{-0.940980365744494,-0.5204224792842922,-0.3805910129988206,-0.3166911059970232,-0.27908218458173906,-0.2566011681209659,-0.2379715951091157,-0.22424933269871872,-0.2134311815522949,-0.2046210694788897,-0.1972613905811329,-0.19101040219968013,-0.18560831255229004,-0.1808854426706148,-0.17670751990178246,-0.17298277718171562,-0.1696356345076424,-0.16659594259311916,-0.16383341369683535,-0.16116814197619078,-0.15899912080772083},
{-0.9406993905097636,-0.520325458805516,-0.38056259587344243,-0.3166886307842276,-0.2790923908658556,-0.2566178228067031,-0.23799268114581196,-0.2242737923195932,-0.21345797936635336,-0.20464953402293418,-0.1972910203537026,-0.191040919706154,-0.18563953159056723,-0.18091720240485643,-0.1767396911004937,-0.1730152601812165,-0.16966835749659026,-0.16662885324927856,-0.16386647076990357,-0.16120128672426404,-0.15903227175891743},
{-0.9404185926477027,-0.520228671000794,-0.38053439355411456,-0.3166863584864359,-0.27910279108152736,-0.25663466101019594,-0.23801394862729808,-0.2242984303380524,-0.2134849527023448,-0.2046781706102081,-0.19732081979066152,-0.19107160458995054,-0.18567091592146312,-0.18094912549321407,-0.17677202334562025,-0.17304790235402834,-0.169701237801263,-0.1666619197611965,-0.16389968219920092,-0.16123458401315816,-0.15906557442289682},
{-0.9401379727328703,-0.5201321163929009,-0.38050640658019574,-0.31668428963880046,-0.27911338575157174,-0.2566516833034882,-0.2380353980508687,-0.22432324725102148,-0.2135121020565407,-0.2047069797179688,-0.19735078935670458,-0.19110245732790077,-0.1857024660030504,-0.1809812123846939,-0.17680451708443456,-0.17308070412511256,-0.1697342758414777,-0.16669514254604678,-0.1639330484221091,-0.16126803426266179,-0.15909902923056052},
{-0.9398575313408344,-0.5200357955030341,-0.3804786354935743,-0.3166824247765305,-0.2791241754113969,-0.25666889023969475,-0.23805702993016098,-0.22434824355570981,-0.2135394279306695,-0.2047359618103144,-0.1973809295328408,-0.1911334784001042,-0.18573418231014216,-0.18101346353893177,-0.17683717277543565,-0.1731136659607273,-0.16976747208383358,-0.16672852206068,-0.16396656987524239,-0.16130163793150132,-0.15913263659223276},
{-0.9395772690506021,-0.519939708860818,-0.38045108084162393,-0.31668076444066173,-0.27913516058890764,-0.2566862823742895,-0.2380788447692055,-0.2243734197539311,-0.21356693082600486,-0.2047651173616316,-0.19741124078760208,-0.1911646682837329,-0.1857660653028006,-0.18104587942312378,-0.17686999086510014,-0.17314678830135222,-0.16980082695346255,-0.166762058739522,-0.1640002469949593,-0.1613353954348895,-0.1591663969608419},
{-0.9392971864364767,-0.5198438569901498,-0.3804237431606623,-0.31667930916387377,-0.27914634180982034,-0.25670386026860115,-0.2381008430767224,-0.22439877633019023,-0.21359461123458345,-0.20479444683419956,-0.19744172358682022,-0.1911960274544242,-0.18579811544015,-0.1810784604747937,-0.1769029717941919,-0.1731800715690497,-0.16983434089726757,-0.16679575301131422,-0.16403408020374854,-0.16136930719795828,-0.15920031074441},
{-0.9390172840784174,-0.5197482404214355,-0.38039662300661803,-0.3166780594916929,-0.2791577196122432,-0.25672162447520464,-0.2381230253748754,-0.22442431380997618,-0.21362246967154874,-0.20482395071533688,-0.1974723784164496,-0.1912275564145034,-0.18583033319956144,-0.1811112071780201,-0.17693611603576187,-0.17321351624704562,-0.16986801437883514,-0.1668296053519498,-0.16406806996670298,-0.16140337369310487,-0.15923437840979204},
{-0.9387375625572218,-0.5196528596864454,-0.3803697209225163,-0.31667701596649067,-0.2791692945294528,-0.25673957557461335,-0.23814539216155595,-0.224450032680096,-0.21365050664172713,-0.20485362947687236,-0.19750320574718216,-0.19125925562659063,-0.18586271905377316,-0.1811441199672572,-0.17696942402446325,-0.17324712274833587,-0.1699018478294363,-0.16686361617115608,-0.1641022166939763,-0.1614375952955811,-0.15926860037473034},
{-0.9384580224535313,-0.5195577153170206,-0.38034303746397313,-0.31667617912702895,-0.27918106709933,-0.25675771411872006,-0.23816794396242358,-0.22447593345185624,-0.21367872265165033,-0.20488348359376118,-0.1975342060507046,-0.19129112558348993,-0.18589527347600665,-0.18117719932428145,-0.17700289622953846,-0.173280891539207,-0.16993584171311227,-0.1668977859320364,-0.16413652083431884,-0.1614719724899203,-0.159302977099685},
{-0.9381786643502465,-0.5194628078518804,-0.3803165731790443,-0.31667554952852583,-0.279193037862143,-0.2567760406795969,-0.2381906812948671,-0.2245020166314191,-0.21370711821623445,-0.20491351355951792,-0.1975653798218957,-0.1913231667758737,-0.18592799694027917,-0.1812104457040391,-0.1770365331129824,-0.17331482307216106,-0.1699699964808019,-0.16693211509104344,-0.16417098285154452,-0.16150650569835534,-0.1593375090274094},
{-0.9378994888295011,-0.5193681378253814,-0.38029032862476697,-0.31667512770869166,-0.2792052073553748,-0.25679455582780975,-0.23821360467587738,-0.22452828272287206,-0.21373569383462154,-0.20494371983693327,-0.19759672752289248,-0.19135537968026028,-0.18596088991793636,-0.18124385956531341,-0.17707033512027692,-0.17334891779051986,-0.17000431257770288,-0.16696660408035768,-0.1642056031724053,-0.16154119535727318,-0.15937219658971458},
{-0.9376204964771517,-0.5192737057756034,-0.3802643043595424,-0.3166749142232561,-0.2792175761215674,-0.2568132601168429,-0.23823671462878337,-0.22455473224476918,-0.21376445002911737,-0.20497410292534823,-0.19762824964806214,-0.19138776479260855,-0.18599395289635368,-0.18127744137751733,-0.17710430272128974,-0.17338317614954235,-0.17003879048056092,-0.16700125335188432,-0.1642403822422125,-0.16157604189965014,-0.15940704028190567},
{-0.9373416878782876,-0.5191795122466374,-0.38023850093867395,-0.3166749096236572,-0.27923014470218277,-0.25683215413533844,-0.23826001167199706,-0.2245813656942346,-0.21379338731452435,-0.2050046633075624,-0.1976599466680966,-0.19142032259594544,-0.1860271863423293,-0.18131119160514686,-0.17713843638142635,-0.17341759858388173,-0.170073430625024,-0.1670360633391681,-0.16427532049516458,-0.16161104575741092,-0.1594420404999255},
{-0.9370630636197745,-0.5190855577787659,-0.38021291892289355,-0.3166751144567854,-0.27924291364266196,-0.25685123844363034,-0.2382834963277105,-0.2246081835910445,-0.21382250620243326,-0.20503540146307841,-0.19769181907668099,-0.19145305358199494,-0.18606059075116832,-0.18134511070095982,-0.17717273654477594,-0.17345218556056352,-0.1701082334768671,-0.16707103450806926,-0.16431041839547333,-0.16164620739675684,-0.1594771977089806},
{-0.9367846242890323,-0.5189918429189646,-0.3801875588768837,-0.3166755292824348,-0.2792558834972567,-0.2568705136210383,-0.23830716912488015,-0.22463518644681812,-0.21385180721250663,-0.20506631789166363,-0.19772386735502323,-0.19148595823867254,-0.18609416660160605,-0.1813791991494611,-0.17720720368805587,-0.17348693752254007,-0.17014319949512924,-0.16710616730887295,-0.16434567638364683,-0.1616815272350891,-0.15951251236592157},
{-0.936506370476522,-0.5188983682128026,-0.3801624213642185,-0.31667615465545396,-0.27926905480418895,-0.2568899802434146,-0.23833103059502037,-0.22466237478022322,-0.21388129086312802,-0.2050974130840757,-0.19775609199604105,-0.19151903707029305,-0.18612791438232534,-0.1814134574100308,-0.17724183828863715,-0.17352185495118988,-0.17017832915800568,-0.16714146218845372,-0.1643810949088902,-0.16171700573977432,-0.15954798493365274},
{-0.9362283027713545,-0.5188051342096287,-0.3801375069494668,-0.3166769911321694,-0.2792824281181936,-0.2569096388722585,-0.2383550812631654,-0.2246897491009463,-0.21391095766895774,-0.20512868752962277,-0.1977884934777876,-0.19155229055451173,-0.18616183457245938,-0.18144788594506167,-0.17727664079029637,-0.17355693826013407,-0.170213622909813,-0.16717691960047887,-0.16441667442501284,-0.16175264331857875,-0.15958361582534053},
{-0.9359504217656252,-0.5187121414604405,-0.3801128161992722,-0.31667803927501836,-0.27929600398982757,-0.2569294901061596,-0.23837932165949383,-0.22471730993149208,-0.21394080816554606,-0.2051601417336144,-0.19782107230383872,-0.19158571919783185,-0.18619592768084203,-0.18148248523942812,-0.17731161169189136,-0.17359218793978926,-0.17024908123605087,-0.1672125400025095,-0.16445241537590505,-0.1617884404430754,-0.15961940552685405},
{-0.9356727280517987,-0.5186193905178555,-0.3800883496877532,-0.3166792996377126,-0.27930978297465003,-0.2569495345056225,-0.23840375231611688,-0.22474505778649245,-0.21397084286331847,-0.20519177618515982,-0.19785382894684744,-0.19161932348453092,-0.18623019416443753,-0.18151725572718647,-0.1773467514152287,-0.17362760441932323,-0.17028470457066192,-0.1672483238245377,-0.1644883181996022,-0.16182439751759148,-0.1596553544361825},
{-0.9353952222243009,-0.5185268819373903,-0.38006410798590196,-0.31668077279354634,-0.2793237656294707,-0.2569697726641209,-0.23842837377210913,-0.22477299319584176,-0.21400106229785365,-0.20522359138419688,-0.1978867639186035,-0.19165310393523782,-0.18626463456575948,-0.18155219793240462,-0.1773820604931018,-0.17366318818798732,-0.1703204934165683,-0.16728427155507575,-0.1645243833846166,-0.16186051504962506,-0.15969146305133108},
{-0.9351179048775435,-0.5184346162749449,-0.3800400916661033,-0.31668245930401895,-0.2793379525080013,-0.25699020515477855,-0.23845318655193637,-0.22480111666453695,-0.21403146698162345,-0.20525558784495956,-0.197919877704976,-0.1916870610214687,-0.1862992493404363,-0.18158731227305225,-0.17741753934814142,-0.17369893968864858,-0.17035644821632445,-0.16732038364330037,-0.16456061135360756,-0.16189679343901275,-0.15972773178395983},
{-0.9348407766079703,-0.5183425940893898,-0.3800163013064548,-0.3166843597316813,-0.2793523441681316,-0.25701083255285084,-0.23847819120513236,-0.2248294287289525,-0.21406205744770546,-0.20528776606224142,-0.1979531707987121,-0.19172119526211873,-0.18633403900057033,-0.18162259925898638,-0.17745318848520242,-0.17373485937704913,-0.1703925694509678,-0.16735666053290288,-0.16459700257237841,-0.16193323315442854,-0.15976416108679814},
{-0.9345638380129628,-0.5182508159403483,-0.37999273748221185,-0.31668647465176036,-0.279366941173663,-0.25703165546062223,-0.23850338826167672,-0.22485792990823938,-0.21409283423597003,-0.2053201265451321,-0.1979866437111184,-0.1917555071553636,-0.18636900404098355,-0.18165805934802393,-0.17748900836869552,-0.17377094771907764,-0.1704288575905082,-0.1673931026974742,-0.16463355747930564,-0.16196983463603942,-0.1598007514146218},
{-0.9342870896913666,-0.5181592823906698,-0.3799694007736605,-0.3166888046253007,-0.279381744084219,-0.2570526744489996,-0.2385287782628609,-0.2248866207246749,-0.21412379786679026,-0.205352669796099,-0.19802029691598477,-0.191789997199038,-0.1864041449696856,-0.18169369301685379,-0.17752499947178535,-0.17380720518781345,-0.17046531310646174,-0.16742971059886713,-0.16467027655775723,-0.16200659834566977,-0.15983750320947365},
{-0.9340105322437608,-0.51806799400606,-0.3799462917648384,-0.316691350232702,-0.27939675346411263,-0.25707389010321435,-0.23855436175182376,-0.2249155017018154,-0.21415494886505826,-0.20538539633471942,-0.19805413092672097,-0.1918246658921987,-0.18643946227632568,-0.18172950073559946,-0.177561162266187,-0.17384363222927846,-0.17050193646068124,-0.1674664846725591,-0.16470716023235354,-0.16204352472541927,-0.15987441691606818},
{-0.9337341662694598,-0.5179769513523098,-0.3799234110385612,-0.3166941120455249,-0.2794119698802149,-0.2570953030228509,-0.23858013927181787,-0.2249445733835671,-0.21418628777578874,-0.20541830667104932,-0.19808814625341142,-0.1918595137634327,-0.18647495648465906,-0.1817654829972355,-0.17759749724879725,-0.1738802293372146,-0.1705387281421622,-0.16750342541510577,-0.1647442089916069,-0.16208061422983633,-0.1599114930058363},
{-0.9334579923713306,-0.5178861549977825,-0.3799007591803445,-0.3166970906360973,-0.27942739389979465,-0.2571169137771676,-0.23860611136947796,-0.2249738362758933,-0.21421781512725602,-0.20545140131369521,-0.1981223433919581,-0.19189454129949013,-0.18651062808260122,-0.18180164025741874,-0.1776340048961913,-0.17391699695031093,-0.17057568861397954,-0.16754053326809526,-0.16478142327133583,-0.1621178673199779,-0.1599487319251125},
{-0.9331820111546136,-0.5177956055142516,-0.3798783367784324,-0.3167002865842221,-0.2794430260915419,-0.25713872297680496,-0.2386322785842765,-0.225003290922956,-0.21424953146413372,-0.20548468079172721,-0.19815672284329366,-0.19192974902284732,-0.18654647758049236,-0.18183797301517757,-0.17767068567971478,-0.17395393556839167,-0.17061281836470243,-0.16757780871222394,-0.16481880354297118,-0.16215528444155325,-0.15998613412094187},
{-0.9329062232216785,-0.5177053034713595,-0.37985614442524707,-0.3167037004703275,-0.2794588670280689,-0.2571607311998889,-0.2386586414697831,-0.22503293785192113,-0.21428143731534988,-0.20551814562230675,-0.19819128511230133,-0.19196513743042942,-0.18658250549432864,-0.18187448174268184,-0.1777075400989645,-0.1739910456461473,-0.17065011784438866,-0.16761525220800877,-0.1648563502566276,-0.16219286606119,-0.16002370006242472},
{-0.9326306291808777,-0.5176152494461519,-0.37983418271088,-0.3167073328743868,-0.2794749172838067,-0.25718293904600387,-0.23868520057698106,-0.22506277759924842,-0.21431353321545998,-0.20555179632509635,-0.1982260307229069,-0.19200070706071415,-0.18661871233354077,-0.18191116692889864,-0.17774456862349552,-0.17402832766271104,-0.17068758756599323,-0.1676528642340429,-0.1648940638923193,-0.16223061263008276,-0.16006143021900243},
{-0.9323552296365278,-0.5175254440129322,-0.3798124522256501,-0.31671118437711243,-0.2794911774269053,-0.25720534710092124,-0.23871195644210275,-0.22509281068107612,-0.21434581970660815,-0.20558563341401737,-0.198260960162429,-0.19203645838987882,-0.18665509859064855,-0.18194802903400387,-0.1777817717293999,-0.17406578207908296,-0.1707252279764475,-0.16769064522074473,-0.16493194487833307,-0.1622685245911839,-0.1600993250232534},
{-0.9320800251999231,-0.5174358877511338,-0.3797909535748545,-0.31671525556564006,-0.279507648037594,-0.25722795595444836,-0.2387389096378456,-0.2251230376532476,-0.2143782973352586,-0.20561965742567168,-0.1982960739578914,-0.1920723919682814,-0.18669166479730848,-0.1819850685722031,-0.17781914993656756,-0.17410340938809554,-0.17076303956358174,-0.1677285956926653,-0.1649699937150899,-0.1623066024276909,-0.16013738497383656},
{-0.9318050164797853,-0.5173465812399911,-0.37976968734650995,-0.31671954702684957,-0.2795243296953629,-0.25725076621762355,-0.23876606069731565,-0.22515345904216133,-0.2144109666367342,-0.2056538688845535,-0.19833137260542344,-0.19210850829577453,-0.18672841145925645,-0.1820222860077081,-0.17785670370611228,-0.17414121006694927,-0.17080102280871756,-0.16776671609784444,-0.16500821085111284,-0.16234484658903625,-0.1601756105071388},
{-0.9315302040877214,-0.5172575250614102,-0.3797486541481021,-0.3167240593406859,-0.27954122297424533,-0.2572737784753656,-0.23879341018314904,-0.22518407537359053,-0.21444382816051188,-0.2056882683181982,-0.19836685662818354,-0.1921448078844037,-0.18676533909649606,-0.18205968183642085,-0.17789443353228762,-0.17417918458784243,-0.17083917819789463,-0.16780500690654776,-0.16504659674689037,-0.16238325753479899,-0.16021400211150194},
{-0.9312555886347695,-0.5171687198030668,-0.37972785457697,-0.3167287931101157,-0.27955832846453177,-0.2572969933338527,-0.23882095865516817,-0.22521488720170169,-0.21447688244595042,-0.2057228562711657,-0.1984025265429068,-0.19218129127176553,-0.18680244821516112,-0.1820972565452621,-0.17793233990457225,-0.17421733344087897,-0.17087750619876374,-0.1678434685933894,-0.16508515187760509,-0.16242183571392843,-0.1602525602375522},
{-0.930981170733844,-0.5170801660470943,-0.3797072892407698,-0.3167337489185513,-0.27957564674622404,-0.2573204113897134,-0.2388487066666869,-0.2252458950580376,-0.21451013004113406,-0.20575763325692265,-0.1984383828643672,-0.19221795896416438,-0.18683973933696052,-0.1821350106163493,-0.17797042331076796,-0.1742556571096543,-0.1709160073041005,-0.16788210163537087,-0.1651238766994254,-0.1624605816036251,-0.16029128534623283},
{-0.9307069510023354,-0.5169918643823905,-0.37968695874576497,-0.31673892736301923,-0.2795931784032746,-0.257344033229316,-0.23887665478019926,-0.22527709948616348,-0.21454357149272596,-0.20579259983347242,-0.198474426109982,-0.192254811502238,-0.18687721298022097,-0.18217294456260902,-0.17800868425268845,-0.17429415608017962,-0.17095468199207176,-0.16792090653066793,-0.16516277170700278,-0.16249949566193322,-0.1603301779201729},
{-0.9304329300550904,-0.5169038154008945,-0.37966686369946956,-0.3167443290387837,-0.27961092402162535,-0.2573678594739306,-0.2389048035450969,-0.22530850101219357,-0.21457720735492103,-0.20582775651755014,-0.19851065679239355,-0.19229184937256605,-0.18691486964823412,-0.1822110588569501,-0.17804712320977956,-0.17433283081524564,-0.17099353073487578,-0.1679598837080789,-0.16520183733453564,-0.16253857833558527,-0.16036923837899053},
{-0.9301591085093577,-0.5168160196909355,-0.3796470047128935,-0.31674995453846577,-0.2796288841903163,-0.2573918907182531,-0.23893315353018352,-0.2253401001964619,-0.21461103815855154,-0.20586310386264017,-0.1985470754295875,-0.19232907313511305,-0.18695270987831236,-0.18224935399658193,-0.178085740669502,-0.17437168184190455,-0.17103255403577577,-0.1679990336992887,-0.16524107407371957,-0.16257783011303673,-0.1604084672099475},
{-0.9298854869829398,-0.5167284778514158,-0.37962738239838245,-0.3167558044689258,-0.27964705950736857,-0.25741612756462473,-0.23896170529351934,-0.22537189757014175,-0.21464506446969267,-0.20589864241284772,-0.1985836825604963,-0.1923664832974623,-0.18699073417900536,-0.1822878304730864,-0.17812453713818854,-0.17441070963295147,-0.17107175236452576,-0.16803835695918679,-0.1652804823931433,-0.16261725143397143,-0.1604478648756924},
{-0.9296120660980876,-0.5166411904743313,-0.37960799737305706,-0.31676187942537126,-0.27966545055502934,-0.25744057062206593,-0.23899045940785868,-0.22540389368808178,-0.2146792868502132,-0.20593437270957793,-0.19862047870677202,-0.19240408040286638,-0.18702894308120221,-0.18232648879535418,-0.17816351311029166,-0.17444991470313198,-0.17111112622023938,-0.16807785397958241,-0.1653200627627598,-0.16265684278243953,-0.16048743181806913},
{-0.9293388464747494,-0.5165541581582147,-0.3795888502514515,-0.31676818001346874,-0.2796840579338209,-0.25746522048422094,-0.23901941643305236,-0.2254360890825069,-0.21471370582381155,-0.2059702952978455,-0.1986574643849508,-0.19244186495910753,-0.18706733709785794,-0.18236532945792305,-0.1782026690756311,-0.17448929750815978,-0.17115067608730783,-0.16811752523318546,-0.16535981566539704,-0.1626966046222833,-0.16052716849836202},
{-0.9290658287351619,-0.5164673815052083,-0.3795699416528464,-0.3167747068409881,-0.27970288223681905,-0.2574900777779021,-0.2390485769318218,-0.22546848431866806,-0.21474832198151717,-0.2060064107263031,-0.1986946401288492,-0.19247983751435527,-0.18710591675110777,-0.18240435296277724,-0.17824200553627634,-0.17452885858753575,-0.17119040244824646,-0.16815737121930852,-0.16539974157390702,-0.1627365374206704,-0.16056707536324666},
{-0.9287930135040483,-0.516380861114925,-0.3795512721989951,-0.3167814605044157,-0.27972192406619456,-0.25751514309550316,-0.2390779414767792,-0.22550107992455537,-0.21478313583853037,-0.20604271953828857,-0.1987320064559981,-0.19251799857167384,-0.18714468254961503,-0.18244355978711724,-0.17828152296658573,-0.17456859840055472,-0.17123030578807175,-0.16819739237854492,-0.16543984095241626,-0.1627766416370946,-0.16060715284422145},
{-0.9285204014070985,-0.5162945975946798,-0.37953284251423725,-0.3167884416211564,-0.2797411840207644,-0.25754041705647523,-0.23910751063965563,-0.22553387647070622,-0.2148181479934408,-0.2060792223090857,-0.19876956391917133,-0.19255634869927007,-0.18718363505206526,-0.18248295046822705,-0.1783212218911956,-0.17460851748731443,-0.17127038660584049,-0.16823758925690413,-0.1654801142877318,-0.1628169177580503,-0.1606474014149626},
{-0.9282479930697178,-0.5162085915470698,-0.37951465322331046,-0.31679565080315797,-0.2797606626988909,-0.25756590027251036,-0.23913728497896614,-0.22556687448724233,-0.21485335897267532,-0.20611591956645725,-0.19880731303240395,-0.1925948883954618,-0.187222774741997,-0.18252252549123682,-0.1783611027904044,-0.17464861632367956,-0.1713106453872797,-0.1682779623067745,-0.16552056206055,-0.1628573662531494,-0.16068782150273364},
{-0.927975789120211,-0.5161228435797796,-0.3794967049533966,-0.31680308865591655,-0.27978036070305734,-0.25759159334035076,-0.23916726508338115,-0.22560007454092101,-0.2148887693574295,-0.20615281187789947,-0.19884525434085276,-0.19263361821242597,-0.18726210218184747,-0.18256228535992136,-0.1784011661757745,-0.17468889542206512,-0.17135108262621657,-0.16831851201413883,-0.16556118474846926,-0.16289798759183327,-0.1607284135512259},
{-0.9277037901879623,-0.5160373543043022,-0.3794789983346334,-0.3168107558007591,-0.2798002786467464,-0.25761749688987834,-0.2391974515124673,-0.22563347718087812,-0.2149243796989424,-0.20618989980360425,-0.19888338837776587,-0.19267253866757983,-0.18730161786047006,-0.18260223058820202,-0.17844141252905388,-0.1747293552883491,-0.17139169880746863,-0.16835923886574733,-0.1656019828346018,-0.16293878225161507,-0.16076917800612023},
{-0.9274319969051561,-0.5159521243314487,-0.37946153400019966,-0.31681865284443234,-0.2798204171275813,-0.2576436115298577,-0.23922784484420845,-0.22566708296022853,-0.2149601905651366,-0.2062271838925085,-0.19892171567516925,-0.1927116503165962,-0.1873413223297007,-0.18264236168775483,-0.17848184236100906,-0.1747699964323317,-0.17143249445510378,-0.16840014336679587,-0.16564295680069563,-0.16297975074093074,-0.16081011530965839},
{-0.9271604099007504,-0.5158671542758668,-0.37944431257994893,-0.31682678041488543,-0.2798407767617448,-0.2576699378737999,-0.2392584456636655,-0.22570089243839675,-0.21499620251435658,-0.20626466472003813,-0.19896023677014796,-0.19275095367027006,-0.18738121609877112,-0.18268267915954084,-0.1785224561625398,-0.17481081935591192,-0.17147347001741764,-0.1684412259903354,-0.16568410712585546,-0.16302089349761673,-0.16085122588583545},
{-0.9268890298102122,-0.5157824447532278,-0.3794273347139381,-0.3168351391247768,-0.2798613581555287,-0.25769647654249184,-0.23928925453168404,-0.22573490617122616,-0.215032416116685,-0.20630234284089966,-0.1989989522239739,-0.19279044928128997,-0.18742129969956522,-0.18272318351267813,-0.17856325444898857,-0.17485182456613302,-0.17151462603439427,-0.1684824872362185,-0.1657254343072907,-0.16306221103121743,-0.16089251018226491},
{-0.9266178572677148,-0.5156979963825279,-0.37941060103980817,-0.3168437295996114,-0.27988216192107984,-0.25772322814273707,-0.23932027204588735,-0.22576912472163713,-0.21506883193532644,-0.20634021881025433,-0.1990378625579865,-0.192830137683643,-0.18746157366538796,-0.18276387526631765,-0.17860423771998057,-0.174893012592662,-0.17155596298206888,-0.16852392760040402,-0.16576693883561688,-0.16310370383439476,-0.1609339686465603},
{-0.9263468929100469,-0.5156138097823089,-0.37939411219923613,-0.31685255246316046,-0.27990318867679775,-0.25775019331231874,-0.23935149876919581,-0.22580354864615515,-0.21510545054292152,-0.2063782932112872,-0.1990769683286544,-0.19287001941100357,-0.18750203851729452,-0.18280475493870085,-0.17864540647568106,-0.1749343839379094,-0.1715974813689627,-0.16856554756782316,-0.16580862118925666,-0.16314537238685034,-0.16097560170001657},
{-0.9260761373732009,-0.5155298855730734,-0.37937786883239255,-0.3168616083371205,-0.2799244390357103,-0.25777737265818246,-0.23938293529351995,-0.22583817850266996,-0.21514227250898443,-0.2064165666001827,-0.19911627007749644,-0.192910094993465,-0.18754269478651509,-0.18284582303837738,-0.17868676121165095,-0.174975939102211,-0.17163918168711234,-0.1686073476255956,-0.16585048184936113,-0.1631872171786597,-0.16101740978390922},
{-0.9258055912978023,-0.5154462243822877,-0.37936187158618395,-0.31687089785543776,-0.2799459136234361,-0.2578047668097554,-0.239414582205427,-0.22587301487246236,-0.2151792984084011,-0.2064550395530489,-0.19915576836368132,-0.19295036499570983,-0.1875835430084294,-0.18288708009507104,-0.1787283024480928,-0.175017678627313,-0.17168106445507192,-0.1686493282795425,-0.16589252133320542,-0.16322923869637407,-0.16105939334022423},
{-0.9255352553227567,-0.5153628268325292,-0.37934612110464627,-0.31688042164122976,-0.2799676130490525,-0.2578323763877677,-0.2394464400696279,-0.22590805828937732,-0.21521652879494013,-0.20649371262118166,-0.19919546372454988,-0.1929908299278793,-0.18762458368505008,-0.18292852659760683,-0.17877003067434316,-0.1750596029990561,-0.17172313014893348,-0.16869149001121286,-0.16593474010821296,-0.1632714374374018,-0.16110155279594096},
{-0.9252651300902954,-0.5152796935548452,-0.3793306180419336,-0.3168901803338713,-0.27998953794158865,-0.25786020200732196,-0.2394785095006,-0.22594330935234552,-0.21525396426827115,-0.2065325864053591,-0.19923535672424464,-0.19303149035360434,-0.18766581738304922,-0.18297016310810932,-0.17881194640821718,-0.17510171276580877,-0.17176537929998403,-0.16873383335024528,-0.16597713868887354,-0.16331381389579747,-0.1611438886141059},
{-0.9249952162427064,-0.5151968251755932,-0.37931536304307656,-0.3169001745568778,-0.28001168891904626,-0.2578882443038424,-0.23951079106521433,-0.22597876861263444,-0.21529160538051428,-0.20657166145716133,-0.19927544790951401,-0.1930723468069857,-0.18770724461700183,-0.18301199011906988,-0.1788540501659952,-0.1751440084213982,-0.17180781240813303,-0.16877635877150965,-0.16601971757532397,-0.16335636857201052,-0.1611864012224089},
{-0.9247255144255604,-0.51511422232943,-0.3793003567680273,-0.31691040494948197,-0.2800340666108241,-0.2579165039024929,-0.23954328535862146,-0.2260144366441068,-0.2153294527292644,-0.2066109383583239,-0.19931573784245415,-0.1931133998272685,-0.1877488659117148,-0.18305400817516215,-0.178896342445114,-0.17518649049739565,-0.17185042997871847,-0.16881906676903213,-0.1660624772511312,-0.1633991019647283,-0.16122909105945382},
{-0.9244560252841012,-0.515031885650842,-0.379285599868183,-0.3169208721515133,-0.2800566716495041,-0.25794498143460487,-0.2395759929799226,-0.22605031401639053,-0.21536750687383233,-0.2066504176897297,-0.1993562270772884,-0.19315464995889897,-0.18779068180950276,-0.18309621777899565,-0.1789388237480125,-0.17522915950166862,-0.17189323251565725,-0.16886195784832125,-0.16610541820355706,-0.16344201453910046,-0.16127195856017806},
{-0.9241867494652638,-0.5149498157743722,-0.37927109300289885,-0.31693157679922024,-0.28007950465490694,-0.2579736775269055,-0.23960891450661848,-0.22608640130479785,-0.21540576840399694,-0.2066901000189887,-0.19939691617636868,-0.1931960977493361,-0.18783269284335802,-0.18313861947322607,-0.17898149461080948,-0.17527201597022213,-0.17193622053181912,-0.1689050325271353,-0.16614854096133058,-0.1634851068461387,-0.1613150041886513},
{-0.9239176876185411,-0.51486801333769,-0.379256836831928,-0.31694251953652497,-0.2801025662647305,-0.25800259280029536,-0.23964205054849685,-0.22612269908256621,-0.2154442378948147,-0.20672998593124703,-0.1994378057054007,-0.1932377437509274,-0.1878748995460171,-0.18318121378263186,-0.17902435553477858,-0.17531506041726175,-0.17197939455382993,-0.1689482912951803,-0.16619184603479198,-0.16352837935380649,-0.1613582283840458},
{-0.9236488403940939,-0.5147864789823302,-0.37924283201769526,-0.31695370100339915,-0.2801258571059009,-0.2580317278991231,-0.23967540168393953,-0.2261592079228194,-0.21548291592304736,-0.20677007599761055,-0.19947889622096682,-0.19327958850180949,-0.18791730245430927,-0.18322400124407068,-0.17906740703347168,-0.17535829336645747,-0.17202275507699483,-0.1689917346465677,-0.16623533389130785,-0.16357183255769314,-0.16140163157842835},
{-0.9233802084434188,-0.5147052133497425,-0.379229079223677,-0.31696512184538506,-0.28014937781625804,-0.25806108345133794,-0.23970896852392798,-0.2261959284096804,-0.21552180308023594,-0.20681037080919396,-0.19952018829619078,-0.19332163254986767,-0.18795990210296054,-0.18326698238067252,-0.17911064962490286,-0.17540171532971272,-0.1720663026315492,-0.16903536309817468,-0.16627900506696847,-0.16361546698129814,-0.16144521423848346},
{-0.9231117924185099,-0.5146242170857818,-0.37921557911721493,-0.31697678270927554,-0.28017312903224934,-0.25809066009014714,-0.23974275165420522,-0.2262328611147666,-0.2155608999342462,-0.20685087093801258,-0.19956168248819495,-0.19336387643804187,-0.1880026990209558,-0.18331015772341175,-0.17915408381816178,-0.17544532684124192,-0.17211003770330535,-0.16907917715187182,-0.1663228600529294,-0.16365928308829325,-0.16148897679337892},
{-0.9228435929749139,-0.5145434908343987,-0.37920233236741296,-0.31698868424373927,-0.2801971113956654,-0.25812045846012666,-0.2397767516915792,-0.2262700066329728,-0.21560020709750916,-0.20689157697938754,-0.1996033793926415,-0.19340632074352015,-0.1880456937648205,-0.18335352781815573,-0.17919771015814945,-0.17548912844156916,-0.1721539608546152,-0.1691231773203299,-0.16636689936763105,-0.1637032814339534,-0.16153291971377826},
{-0.9225756107684191,-0.5144630352448019,-0.3791893396451087,-0.3170008270993776,-0.280221325539145,-0.25815047918075607,-0.23981096923390055,-0.22630736552738995,-0.2156397251154658,-0.20693248950794896,-0.19964527955582412,-0.19344896600026118,-0.18808888685848046,-0.18339709320309794,-0.1792415291581051,-0.17553312062634063,-0.17219807257964703,-0.16916736411721445,-0.1664111235279222,-0.16374746248959582,-0.16157704344584545},
{-0.9223078464556949,-0.5143828509683885,-0.3791766016217366,-0.3170132119316804,-0.2802457721097369,-0.2581807229094579,-0.23984540486972605,-0.226344938405731,-0.21567945461163163,-0.20697360911935903,-0.19968738356666904,-0.19349181277328853,-0.18813227885084416,-0.1834408544131918,-0.17928554134320507,-0.17557730395614612,-0.17224237340144555,-0.16921173803297052,-0.16645553304635996,-0.1637918267664702,-0.16162134844117304},
{-0.9220403006961675,-0.5143029386586022,-0.37916411897202806,-0.31702583939002693,-0.2802704517513348,-0.2582111902694635,-0.2398800592201269,-0.22638272583390062,-0.2157193961355972,-0.2070149363838425,-0.199729691983066,-0.1935348615861585,-0.18817587025651505,-0.18348481196602506,-0.17932974721509254,-0.1756216789144105,-0.17228686382381397,-0.16925629958950594,-0.16650012840779027,-0.16383637476349122,-0.16166583514350918},
{-0.921772974151267,-0.5142232989685169,-0.37915189237833147,-0.3170387101386609,-0.2802953651083442,-0.2582418819173995,-0.23991493289682353,-0.2264207284194697,-0.21575955031141802,-0.2070564719140009,-0.19977220540496887,-0.193578113043543,-0.18821966165694448,-0.18352896643941108,-0.17937414733683,-0.1756662460738312,-0.17233154439963982,-0.16930104930773382,-0.1665449101764125,-0.16388110700808056,-0.16171050404915377},
{-0.9215058674809029,-0.5141439325548163,-0.3791399225169698,-0.31705182483108274,-0.2803205128287516,-0.25827279848257945,-0.23995002648615582,-0.22645894673587463,-0.21579991769871754,-0.20709821627343672,-0.19981492439990234,-0.19362156767218153,-0.18826365355980101,-0.18357331835153445,-0.17941874221179432,-0.1757110059473348,-0.17237641563104944,-0.16934598769404374,-0.1665898788337472,-0.16392602398963163,-0.16175535557661647},
{-0.9212389813504132,-0.5140648400784187,-0.3791282100683304,-0.3170651841246297,-0.28034589556159517,-0.25830394061387096,-0.2399853406248269,-0.22649738139256215,-0.2158404989017697,-0.20714017007918528,-0.19985784955886743,-0.193665226044601,-0.1883078465236281,-0.1836178682520142,-0.17946353239224777,-0.17575595905907448,-0.1724214780411728,-0.16939111526662032,-0.16663503490974563,-0.16397112624491683,-0.16180039021864445},
{-0.9209723164228478,-0.5139860221966899,-0.3791167557182007,-0.31707878869246997,-0.2803715139546057,-0.25833530894962564,-0.24002087590281462,-0.22653603296993197,-0.2158812945044417,-0.2071823338960712,-0.19990098144918989,-0.1937090887176396,-0.18835224108744342,-0.18366261668927564,-0.17950851839353277,-0.1758011059440605,-0.17246673216263275,-0.1694364325299489,-0.16668037892236498,-0.16401641425744629,-0.1618456084277966},
{-0.9207058733656623,-0.5139074795763179,-0.37910556015205543,-0.3170926391858302,-0.2803973686653194,-0.2583669041430312,-0.2400566329458229,-0.22657490206958641,-0.21592230510177046,-0.20722470833177908,-0.19994432066656032,-0.19375315625987355,-0.18839683780618088,-0.18370756421117562,-0.17955370077041266,-0.1758464471364789,-0.17251217852546574,-0.16948194001977868,-0.16672591140093118,-0.16406188857607162,-0.16189101068536615},
{-0.9204396528471506,-0.5138292128819728,-0.37909462405866634,-0.3171067362813744,-0.280423460349283,-0.2583987268442911,-0.2400926123779925,-0.22661398929443521,-0.2159635312799537,-0.2072672939877407,-0.19998786779805755,-0.19379742923879917,-0.18844163721030327,-0.18375271135471394,-0.17959908004561953,-0.17589198316068178,-0.1725578176426552,-0.16952763825685224,-0.1667716328515212,-0.1641075496779365,-0.16193659745789546},
{-0.92017365553437,-0.5137512227796321,-0.37908394812708934,-0.317121080642238,-0.2804497896582916,-0.2584307776938033,-0.24012881479598036,-0.22665329523027822,-0.21600497362507554,-0.2073100914372219,-0.20003162342160863,-0.19384190821139669,-0.1884866398453937,-0.18379805867155596,-0.17964465676561758,-0.17593771456586182,-0.17260365004744926,-0.16957352774159062,-0.16681754381136216,-0.16415339810455976,-0.16198236921675857},
{-0.9199078821002331,-0.5136735099390819,-0.37907353305172364,-0.31713567293908795,-0.2804763572505067,-0.2584630573336142,-0.24016524083882018,-0.22669282049827189,-0.21604663274322888,-0.20735310129037998,-0.20007558813966853,-0.19388659376335227,-0.18853184627445785,-0.18384360672220623,-0.17969043147550678,-0.1759836418785028,-0.1726496762818499,-0.1696196090321962,-0.16686364480003135,-0.16419943437148277,-0.16202832647746845},
{-0.9196423332170127,-0.5135960750319839,-0.3790633795264,-0.3171505138476789,-0.2805031637865625,-0.2584955664292181,-0.24020189110893853,-0.22673256569464684,-0.2160885092141882,-0.20739632413784648,-0.20011976253459807,-0.19393148646159375,-0.18857725702218886,-0.18388935604136236,-0.1797364047135943,-0.17602976564080564,-0.17269589685577103,-0.1696658826151065,-0.16690993634597362,-0.1642456589964354,-0.16207446969113448},
{-0.9193770095562002,-0.5135189187329274,-0.37905348824787666,-0.3171656040387347,-0.2805302099294238,-0.25852830563150064,-0.24023876624767126,-0.22677253142327913,-0.21613060364529701,-0.20743976057707414,-0.20016414720376474,-0.19397658687222474,-0.18862287265793043,-0.1839353071900689,-0.17978257702762335,-0.17607608637791827,-0.17274231231152726,-0.16971234904906396,-0.16695641896333768,-0.16429207248893363,-0.16212079934297208},
{-0.9191119117973159,-0.513442041719884,-0.3790438599185393,-0.3171809441928133,-0.2805574963497577,-0.2585612755960085,-0.24027586687756752,-0.2268127183019999,-0.21617291662178673,-0.2074834112172539,-0.20020874273720324,-0.1940218955872126,-0.18866869373869122,-0.18398146072541977,-0.17982894897417623,-0.17612260463724283,-0.1727889231773645,-0.16975900883369377,-0.16700309319483608,-0.16433867538754043,-0.16216731595363854},
{-0.9188470406148781,-0.5133654446667322,-0.37903449523196286,-0.31719653498046796,-0.2805850236972276,-0.25859447696274174,-0.24031319360577186,-0.22685312692598814,-0.21621544873360676,-0.20752727662991788,-0.20025354973577691,-0.194067413157768,-0.18871472078555485,-0.18402781717838934,-0.17987552108189675,-0.17616932096854043,-0.1728357299851666,-0.16980586251423802,-0.167049959560444,-0.16438546819256317,-0.16221401999695217},
{-0.918582396687782,-0.5132891282555931,-0.37902539490184495,-0.31721237709035677,-0.28061279264952077,-0.25862791039517674,-0.2403507470888826,-0.22689375793592603,-0.2162582005981335,-0.20757135745347455,-0.2002985687971659,-0.19411314020626946,-0.18876095437516938,-0.18407437713287322,-0.17992229393956904,-0.1762162358953958,-0.1728827332749745,-0.16985291063713248,-0.16709701861617532,-0.1644324514416553,-0.16226091199195025},
{-0.9183179806959743,-0.5132130931685595,-0.3790165596225563,-0.31722847120289543,-0.2806408038790096,-0.25866157655451616,-0.24038852793373167,-0.22693461191923348,-0.21630117280727745,-0.20761565426761308,-0.2003438005189082,-0.19415907730063964,-0.18880739506232658,-0.1841211411318966,-0.1799692680756948,-0.17626334998567472,-0.1729299335756025,-0.16990015371794698,-0.16714427087237027,-0.16447962566621754,-0.1623079924454487},
{-0.9180537933221302,-0.5131373400916459,-0.3790079901102956,-0.31724481799741966,-0.2806690580396207,-0.25869547609946153,-0.24042653678210968,-0.22697568950809455,-0.21634436594655426,-0.207660167666603,-0.20038924549888293,-0.19420522501090431,-0.18885404339567913,-0.18416810972490794,-0.18001644404867534,-0.17631066375713544,-0.17297733143544747,-0.1699475922999909,-0.16719171684729872,-0.16452699137033733,-0.16235526184044602},
{-0.9177898352489677,-0.5130618697129137,-0.3789996870741277,-0.3172614181657991,-0.28069755582816924,-0.2587296096889986,-0.24046477427566515,-0.22701699131781083,-0.21638778063075392,-0.207704898275324,-0.2004349043459399,-0.194251583940229,-0.1889008999300188,-0.18421528347235494,-0.18006382242575114,-0.1763581777629213,-0.17302492737914577,-0.16999522689775404,-0.16723935709575244,-0.16457454906043267,-0.1624027206995038},
{-0.9175261071601852,-0.5129866827204808,-0.37899165122124145,-0.3172782723910643,-0.2807262978946028,-0.25876397798580797,-0.24050324103609455,-0.227058517974001,-0.2164314174627009,-0.2077498466814518,-0.20048077765179073,-0.19429815467543676,-0.18894796522940283,-0.18426266293226945,-0.18011140376393087,-0.17640589256978956,-0.17307272196737244,-0.17004305808433173,-0.16728719215740284,-0.16462229930141348,-0.16245036954097714},
{-0.9172626097446823,-0.5129117798029199,-0.3789838832728094,-0.3172953813689219,-0.2807552849372996,-0.25879858164006464,-0.24054193771769405,-0.22710027010637646,-0.21647527703541414,-0.207795013499549,-0.20052686603639813,-0.19434493781372453,-0.1889952398666992,-0.18431024867700785,-0.18015918863247293,-0.17645380870376925,-0.17312071571120669,-0.17009108639234682,-0.16733522256379274,-0.1646702425845774,-0.16249820888862132},
{-0.9169993436891986,-0.5128371616572167,-0.3789763839393743,-0.31731274579303204,-0.28078451760930534,-0.2588334213292569,-0.24058086494201802,-0.22714224832944296,-0.2165193599626889,-0.20784039932604514,-0.20057317008667042,-0.19439193394430276,-0.1890427243755255,-0.18435804123905086,-0.18020717758045635,-0.1765019267320156,-0.17316890916896455,-0.17013931233975654,-0.16738344883617629,-0.16471837944220624,-0.1625462392443069},
{-0.9167363096822214,-0.5127628289754966,-0.3789691539410853,-0.31733036634543055,-0.2808139966065255,-0.2588684977094431,-0.24062002336322053,-0.227184453276152,-0.21656366684868544,-0.20788600476194574,-0.20061969042563987,-0.19443914366502213,-0.1890904193386973,-0.18440604120252146,-0.18025537118737134,-0.17655024718726509,-0.17321730288580284,-0.17018773650306684,-0.16743187153809913,-0.1647667104113566,-0.16259446115435594},
{-0.9164735084165159,-0.5126887824624475,-0.37896219400036557,-0.3173482437317148,-0.28084372260690316,-0.2589038114533082,-0.2406594136159299,-0.22722688558468462,-0.21660819829926936,-0.20793183042354713,-0.2006664276474055,-0.19448656756836158,-0.18913832531634966,-0.18445424910495944,-0.18030376999740838,-0.1765987706372698,-0.17326589738866005,-0.17023635939392534,-0.16748049118876907,-0.16481523599577486,-0.16264287510875874},
{-0.9162109405847758,-0.5126150228123265,-0.37895550483941065,-0.31736637865600414,-0.28087369629758996,-0.25893936322563604,-0.24069903635466972,-0.22726954588441117,-0.2166529549355971,-0.20797787692615088,-0.20071338237872283,-0.19453420627831974,-0.18918644287390407,-0.18450266551985806,-0.18035237461720044,-0.17664749764469434,-0.1733146932466525,-0.1702851815968529,-0.16752930834582003,-0.16486395673410925,-0.1626914816612839},
{-0.915948606881372,-0.5125415507285993,-0.37894908718271836,-0.3173847718025229,-0.2809039183539994,-0.2589751536914662,-0.2407388922275402,-0.2273124348069473,-0.21669793735381404,-0.20802414486419707,-0.2007605552140035,-0.19458206037819537,-0.18923477257789045,-0.18455129101602097,-0.18040118558110407,-0.17669642874210467,-0.17336369098330806,-0.17033420364219864,-0.16757832354198854,-0.1649128731466476,-0.16274028133256024},
{-0.9156865080014001,-0.5124683669183696,-0.37894294175777077,-0.3174034238906529,-0.28093438947001914,-0.259011183530248,-0.24077898187681512,-0.2273555530063902,-0.2167431461990077,-0.208070634852902,-0.20080794678290204,-0.19463013048726907,-0.18928331501319917,-0.18460012615508958,-0.18045020349455854,-0.17674556452527668,-0.173412891170301,-0.17038342607861523,-0.16762753732456304,-0.16496198576953702,-0.16278927465765491},
{-0.9154246446431955,-0.5123954720854158,-0.3789370692897478,-0.31742233561254807,-0.28096511032447324,-0.25904745339650503,-0.24081930595207268,-0.22739890110364058,-0.21678858204509766,-0.20811734749051425,-0.200855557677869,-0.19467841719475132,-0.1893320707218038,-0.1846491714811691,-0.18049942889189197,-0.17679490550625587,-0.17346229433525195,-0.1704328494718652,-0.16767695023287388,-0.1650112951222127,-0.16283846214798814},
{-0.9151630175070125,-0.512322866944686,-0.37893147052017184,-0.3174415076796038,-0.2809960816218222,-0.25908396398327227,-0.24085986512122304,-0.22744247976004317,-0.2168342455530876,-0.20816428342146764,-0.2009033885363749,-0.19472692112697132,-0.1893810403121563,-0.18469842757258448,-0.1805488623734277,-0.17684445229201629,-0.173511901046993,-0.17048247436315478,-0.1677265628199507,-0.16506080172860038,-0.16288784435494108},
{-0.9149016272937018,-0.512250552203227,-0.378926146173967,-0.31746094080023113,-0.28102730403892906,-0.2591207159570388,-0.24090066002244725,-0.22748628961042527,-0.21688013731534284,-0.20821144321647012,-0.20095143996093157,-0.19477564288678195,-0.1894302243270829,-0.18474789499049393,-0.18059850449975556,-0.17689420542700418,-0.17356171184400182,-0.17053230131949704,-0.16777637563632197,-0.16511050614610667,-0.16293742179647097},
{-0.9146404747051093,-0.5121785285763281,-0.37892109699032517,-0.3174806356800559,-0.2810587782850007,-0.2591577099778988,-0.24094169132305865,-0.2275303313113568,-0.21692625797342657,-0.20825882751688596,-0.20099971257488392,-0.19482458308343098,-0.18947962336105206,-0.1847975743116308,-0.18064835586096706,-0.17694416546629554,-0.17361172727925123,-0.17058233088755514,-0.16782638920341242,-0.16516040887796635,-0.1629871950038364},
{-0.914379560445667,-0.5121067967783688,-0.3789163237065907,-0.31750059303814737,-0.2810905050340864,-0.259194946738063,-0.2409829596739428,-0.22757460550286623,-0.2169726081254737,-0.20830643691613204,-0.20104820698304593,-0.19487374233207788,-0.18952923797644416,-0.18484746608407931,-0.18069841701338873,-0.176994332988329,-0.17366194790764666,-0.1706325636267252,-0.16787660409323735,-0.16521051046981938,-0.16303716452307526},
{-0.9141188852212139,-0.5120353575317722,-0.37891182706073323,-0.31752081358084183,-0.2811224850028964,-0.2592324269189703,-0.24102446575022896,-0.22761911285527958,-0.2170191884378596,-0.20835427205781798,-0.20109692383584843,-0.1949231212522875,-0.18957906877977848,-0.1848975708937246,-0.1807486885650178,-0.17704470855829868,-0.17371237430359088,-0.17068300011811743,-0.1679270208546768,-0.16526081147833338,-0.16308733088328609},
{-0.9138584497400046,-0.5119642115523106,-0.37890760779822585,-0.31754129803036335,-0.28115471887375065,-0.2592701511802602,-0.2410662102000174,-0.22766385400004197,-0.2170659995080655,-0.20840233352200244,-0.2011458637226724,-0.19497272045387604,-0.1896291163311048,-0.18494788929939432,-0.1807991710725787,-0.17709529274628721,-0.1737630070148839,-0.17073364090265386,-0.1679776400375772,-0.16531131242010133,-0.16313769463215522},
{-0.91359825471271,-0.5118933595701662,-0.3789036666628931,-0.31756204710532643,-0.28118720735864144,-0.2593081202254268,-0.24110819369735736,-0.22770882961947336,-0.21711304197813774,-0.20845062195130026,-0.20119502728812222,-0.1950225405572894,-0.18967938121107863,-0.18499842186679416,-0.18084986512315027,-0.1771460861147034,-0.17381384657960552,-0.17078448654314116,-0.16802846217655087,-0.16536201383974003,-0.16318825629173261},
{-0.913338300847272,-0.5118228023048914,-0.3789000044035049,-0.31758306152693194,-0.28121995116021026,-0.2593463347160423,-0.24115041691524652,-0.22775404036588043,-0.21716031648153944,-0.20849913795782982,-0.20124441514496993,-0.195072582182803,-0.18972986402013703,-0.185049169180445,-0.18090077129255633,-0.17719708923493727,-0.17386489359006418,-0.17083553761750636,-0.16807948783610982,-0.16541291628453791,-0.16323901641470684},
{-0.9130785888584114,-0.5117525404877199,-0.3788966217640848,-0.3176043420183987,-0.2812529509714068,-0.2593847953497459,-0.2411928805085779,-0.2277994869096176,-0.21720782365670743,-0.20854788215240205,-0.20129402793494933,-0.1951228459489016,-0.18978056533404697,-0.1851001318053136,-0.1809518901715137,-0.17724830269457925,-0.17391614859207039,-0.17088679467161683,-0.16813071757252374,-0.16546402031303842,-0.1632899755520043},
{-0.9128191194601811,-0.511682574846958,-0.37889351949732486,-0.31762588929876756,-0.2812862075037401,-0.25942350280536175,-0.24123558515907462,-0.22784516990239467,-0.21725556413304048,-0.20859685515708293,-0.20134386626099854,-0.19517333246301405,-0.18983148574557163,-0.18515131031182364,-0.18100322233919997,-0.17729972704307784,-0.17396761215383094,-0.17093825829067555,-0.16818215191790387,-0.16551532645718225,-0.1633411342340878},
{-0.9125598933699735,-0.5116129061199786,-0.37889069836234057,-0.3176477040991017,-0.28131972147545525,-0.2594624577802733,-0.24127853155090406,-0.22789109003139174,-0.21730353856153783,-0.20864605760698396,-0.20139393077940326,-0.1952240423678404,-0.1898826258394024,-0.185202705279778,-0.18105476837865808,-0.17735136287382147,-0.1740192848484412,-0.17098992903049748,-0.16823379145307626,-0.16556683528278882,-0.16339249302825465},
{-0.9123009113035891,-0.5115435350345479,-0.37888815910110907,-0.3176697871440979,-0.28135349357143014,-0.25950166093889493,-0.24132172032966537,-0.2279372479399342,-0.21735174756216225,-0.20869549009310617,-0.20144422209099844,-0.19527497626239665,-0.18993398620318658,-0.18525431727937303,-0.18110652886963408,-0.17740321075075371,-0.17407116722995397,-0.17104180746923703,-0.16828563671714392,-0.16561854734203507,-0.16344405247809846},
{-0.9120421739795717,-0.5114744623319325,-0.378885902486644,-0.317692139176728,-0.28138752452477434,-0.2595411129895524,-0.24136515219748844,-0.22798364433757,-0.21740019179821957,-0.20874515326559617,-0.20149474086173313,-0.19532613479390193,-0.1899855674426476,-0.18530614690388347,-0.18115850441017756,-0.1774552712475952,-0.17412325988607336,-0.17109389418288856,-0.16833768826768392,-0.16567046319585188,-0.16349581314199213},
{-0.9117836821239109,-0.5114056887520917,-0.3788839292644752,-0.3177147609135602,-0.28142181503605457,-0.25958081460703397,-0.24140882782970152,-0.2280302798809828,-0.2174488719009844,-0.20879504773833446,-0.2015454877031857,-0.19537751858359798,-0.19003737014747912,-0.18535819472532467,-0.18121069559458647,-0.17750754496665877,-0.17417556337608175,-0.17114618972846074,-0.16838994666733242,-0.16572258341790302,-0.16354777558353817},
{-0.9115254364546104,-0.5113372150337341,-0.3788822402050869,-0.3177376530935021,-0.28145636580819655,-0.25962076649594223,-0.24145274789944438,-0.22807715525200933,-0.21749778852552026,-0.20884517412417836,-0.20159646326999336,-0.19542912823192182,-0.19008939491794763,-0.18541046132804695,-0.18126310299203396,-0.17756003246086038,-0.1742280782875696,-0.17119869469706828,-0.1684424124662769,-0.1657749085593423,-0.16359994035724412},
{-0.9112674376995926,-0.5112690419311434,-0.37888083607151657,-0.31776081646378884,-0.2814911775869007,-0.2596609693500227,-0.24149691310873322,-0.22812427113692024,-0.21754694229863958,-0.20889553307367237,-0.20164766818049884,-0.19548096438086304,-0.1901416423424962,-0.18546294728287194,-0.18131572719374844,-0.1776127343031817,-0.174280805180274,-0.17125140964009233,-0.1684950862170922,-0.16582743917848575,-0.16365230800585095},
{-0.9110096865836539,-0.5112011701828862,-0.37887971762586403,-0.3177842517538636,-0.28152625106957885,-0.2597014238616282,-0.24154132412675722,-0.22817162821851866,-0.21759633389294208,-0.2089461252034539,-0.20169910308118233,-0.19553302765717717,-0.19019411303048628,-0.18551565318847452,-0.18136856879687002,-0.17766565111122645,-0.17433374463672635,-0.1713043351567194,-0.16854796849816012,-0.16588017588497905,-0.1637048791242819},
{-0.9107521838361379,-0.5111336005377893,-0.37887888564435457,-0.3178079597148269,-0.28156158698175204,-0.2597421307179957,-0.24158598166044953,-0.22821922719035115,-0.21764596394072555,-0.20899695112788663,-0.20175076862159358,-0.19558531869085982,-0.19024680758485601,-0.18556857963966422,-0.18142162840285891,-0.177718783437399,-0.17438689724571077,-0.1713574718179416,-0.16860105985171003,-0.1659331192182094,-0.16375765424606925},
{-0.9104949301879657,-0.5110663337524102,-0.37887834088695627,-0.31783194107853774,-0.28159718603819783,-0.25978309062517724,-0.24163088637592978,-0.22826706872606906,-0.21769583310009466,-0.20904801148907382,-0.20180266542939762,-0.19563783810241375,-0.19029972660536032,-0.18562172721470915,-0.18147490657980825,-0.17777213188315955,-0.174440263578731,-0.17141082019554688,-0.16865436084930252,-0.16598626978094444,-0.16381063396306672},
{-0.9102379263687226,-0.5109993705777072,-0.37887808413216817,-0.31785619659387976,-0.2816330489617087,-0.25982430427973213,-0.2416760389852186,-0.22831515353394138,-0.21774594201929176,-0.20909930690982037,-0.20185479416727503,-0.1956905865134786,-0.1903528707057376,-0.1856750965014271,-0.181528403946686,-0.17782569701256534,-0.17449384422945968,-0.17146438086928129,-0.16870787204800308,-0.16603962814554052,-0.16386381883057766},
{-0.9099811731122145,-0.5109327117732221,-0.37887811615252076,-0.3178807270106745,-0.2816691764863606,-0.25986577238714403,-0.24172144017566666,-0.22836348230597991,-0.2177962913514193,-0.20915083802805157,-0.20190715546988258,-0.19574356455979114,-0.19040624048756172,-0.1857286881032678,-0.18158212108403404,-0.17787947943236304,-0.17454763977877974,-0.17151815443236273,-0.16876159400084134,-0.1660931948997586,-0.16391720942095844},
{-0.909724671154791,-0.5108663580943471,-0.37887843772998053,-0.3179055330815004,-0.28170556932840896,-0.2599074956489176,-0.2417670906445153,-0.228412055734168,-0.21784688174781763,-0.2092026054717735,-0.20195974999137434,-0.19579677287549657,-0.19045983655439613,-0.1857825026103228,-0.181636058590243,-0.1779334797225829,-0.1746016508068351,-0.17157214145493072,-0.16881552728335691,-0.16614697062192363,-0.16397080629764105},
{-0.9094684212339814,-0.5108003103058252,-0.37887904963886854,-0.31793061555578106,-0.2817422282276141,-0.2599494747584288,-0.24181299109639554,-0.22846087452862207,-0.217897713861106,-0.2092546098736534,-0.20201257838368747,-0.19585021208217768,-0.1905136595353838,-0.18583654063303356,-0.1816902170652952,-0.17798769847547646,-0.1746558779178713,-0.17162634253452325,-0.16886967245852702,-0.16620095591554218,-0.1640246100471927},
{-0.9092124240874,-0.5107345691707792,-0.3788799526614639,-0.3179559751873171,-0.281779153902022,-0.2599917104422218,-0.24185914222451288,-0.228509939390932,-0.21794878835879672,-0.2093068518715313,-0.20206564129466642,-0.19590388282159665,-0.19056771003238282,-0.1858908027614916,-0.18174459711588042,-0.17804213628579646,-0.17471032170010403,-0.1716807582358797,-0.16892403009541113,-0.16625515136217928,-0.16407862123406858},
{-0.9089566804563418,-0.5106691354555153,-0.37888114757743097,-0.31798161272828906,-0.28181634708028014,-0.26003420338341243,-0.24190554472906456,-0.2285592510094716,-0.21800010587639918,-0.20935933209091218,-0.20211893938011372,-0.19595778569737377,-0.19062198865265145,-0.18594528959931722,-0.18179919932833855,-0.17809679371845277,-0.17476498273197194,-0.17173538916307507,-0.1689786007303269,-0.16630955756289723,-0.16413284043107979},
{-0.9087011910837504,-0.5106040099323366,-0.37888263518149756,-0.31800752894261564,-0.2818538085098794,-0.2600769543085448,-0.24195219933378098,-0.22860881011638412,-0.21805166708651313,-0.20941205118674588,-0.2021724732925918,-0.1960119213712801,-0.1906764960366445,-0.18600000175604237,-0.18185402431703324,-0.1781516713950282,-0.1748198616351715,-0.17179023588840892,-0.16903338497161258,-0.16636417511853097,-0.1641872682137091},
{-0.9084459567145302,-0.5105391933685439,-0.37888441625494806,-0.31803372459424395,-0.28189153891682395,-0.26011996392844594,-0.24199910672101055,-0.2286586174049603,-0.21810347264101893,-0.20946500978220683,-0.20222624369489495,-0.1960662904622268,-0.19073123278752746,-0.18605493984426857,-0.18190907267853618,-0.17820676990606898,-0.17487495899189298,-0.17184529901726364,-0.16908838337155885,-0.16641900463525872,-0.1642419051617594},
{-0.9081909780937565,-0.5104746865392826,-0.37888649159035026,-0.3180602004389641,-0.2819295390383445,-0.2601632329371171,-0.2420462676174111,-0.22870867359762315,-0.2181555231957759,-0.20951820852536684,-0.2022802512435078,-0.1961208935981631,-0.1907861995303506,-0.1861101044738689,-0.1819643450207309,-0.1782620898406435,-0.17493027540319872,-0.17190057912512202,-0.16914359649609878,-0.16647404671385857,-0.1642967518460523},
{-0.9079362559682949,-0.5104104902210622,-0.3788888619803572,-0.31808695724339486,-0.281967809613235,-0.2602067620600792,-0.2420936827183766,-0.22875897940082268,-0.21820781940743927,-0.2095716480446299,-0.20233449659446023,-0.19617573141516687,-0.19084139688141022,-0.18616549624232448,-0.18201984195036403,-0.1783176317905486,-0.17498581146674042,-0.17195607679911973,-0.16919902491008543,-0.1665293019539149,-0.1643518088375231},
{-0.9076817910919175,-0.5103466051949681,-0.37889152821657035,-0.3181139957714265,-0.282006351377305,-0.26025055201643,-0.24214135274903015,-0.22880953554013672,-0.2182603619403949,-0.2096253290062009,-0.20238898042077835,-0.19623080456221942,-0.1908968254795127,-0.18622111579350076,-0.18207556408674463,-0.17837339636508887,-0.17504156780069025,-0.17201179265202882,-0.1692546691938901,-0.16658477098559388,-0.16440707674047417},
{-0.9074275842139485,-0.5102830322427678,-0.3788944910966734,-0.3181413168040308,-0.2820451650821667,-0.2602946035193554,-0.24218927842119342,-0.22886034271976996,-0.21831315144430619,-0.20967925202631932,-0.20244370336791917,-0.19628611363970094,-0.19095248592930147,-0.1862769637115207,-0.18213151201416622,-0.1784293841438398,-0.17509754498883012,-0.1720677272489297,-0.16931052990599937,-0.16664045439108577,-0.1644625560961117},
{-0.9071736360869807,-0.5102197721452342,-0.3788977514253986,-0.3181689211033074,-0.28208425146280547,-0.260338917284173,-0.24223746044265226,-0.22891140167172352,-0.2183661885874244,-0.2097334177757375,-0.2024986661137973,-0.19634165931660164,-0.191008378872084,-0.1863330406435466,-0.18218768638439542,-0.17848559575668332,-0.17515374365041225,-0.17212388119628486,-0.16936660765003353,-0.16669635280914008,-0.16451824751476352},
{-0.9069199474663776,-0.5101568256907854,-0.37890130999383587,-0.31819680944150264,-0.282123611272624,-0.26038349403197003,-0.242285899544612,-0.22896271312202998,-0.2184194740304406,-0.20978782689570608,-0.20255386932274178,-0.19639744222769195,-0.19106450494700766,-0.1863893472200857,-0.18224408777740564,-0.17854203179302885,-0.17521016439923187,-0.17218025509657764,-0.16942290297350837,-0.16675246685247203,-0.16457415157378819},
{-0.9066665191116385,-0.510094193666788,-0.37890516760998594,-0.31822498260214616,-0.2821632452530025,-0.2604283344855389,-0.2423345964369048,-0.22901427779152073,-0.21847300842688355,-0.2098424800337284,-0.202609313659309,-0.19645346300075062,-0.19112086476997092,-0.1864458840551606,-0.18230071682592097,-0.17859869285501873,-0.17526680784038717,-0.17223684952244867,-0.16947941645895526,-0.1668087971400496,-0.16463026886219723},
{-0.9064133517804578,-0.5100318768700447,-0.3789093250801443,-0.31825344135543787,-0.28220315414776564,-0.2604734393709407,-0.242383551831864,-0.22906609640153874,-0.2185267924398886,-0.2098973778390132,-0.20266499979555874,-0.1965097222600889,-0.19117745897551686,-0.18650265175904224,-0.18235757414612408,-0.17865557954843325,-0.17532367457533837,-0.17229366509116062,-0.1695361486758884,-0.16686534428032473,-0.16468659995223334},
{-0.9061604462347361,-0.5099698760920148,-0.3789137832179108,-0.3182821864943435,-0.2822433387219405,-0.2605188094154869,-0.24243276647919743,-0.22911816969627807,-0.21858082672889623,-0.20995252097429784,-0.2027209283921252,-0.19656622067952867,-0.19123428819580113,-0.18655965099503646,-0.18241466035095755,-0.17871269248280441,-0.17538076523220525,-0.17235070238029948,-0.1695931002147404,-0.16692210891449122,-0.16474314543035007},
{-0.905907803236488,-0.5099081921285915,-0.37891854281610904,-0.318311218779769,-0.28228379970963147,-0.26056444533708145,-0.24248224107466854,-0.22917049837479908,-0.2186351119510732,-0.21000791006952113,-0.20277710011600902,-0.19662295886115544,-0.1912913530708238,-0.18661688236733198,-0.18247197606501686,-0.1787700322658452,-0.1754380804126754,-0.1724079620001362,-0.16965027165775837,-0.166979091651001,-0.16479990591335536},
{-0.9056554235505985,-0.5098468257792206,-0.37892360470533504,-0.31834053902088044,-0.2823245378847332,-0.2606103478671571,-0.24253197636332402,-0.22922308321039964,-0.21868964878655106,-0.21006354581197684,-0.20283351565348084,-0.19667993748225854,-0.1913486542326268,-0.18667434652945758,-0.1825295219219356,-0.17882759951123717,-0.1754956207367968,-0.17246544455235835,-0.1697076635838357,-0.1670362931141085,-0.16485688196831916},
{-0.9054033079453347,-0.5097857778486059,-0.37892896968844525,-0.31837014799555163,-0.28236555399661256,-0.26065651773959075,-0.24258197306349416,-0.22927592490668758,-0.21874443787811515,-0.21011942884501877,-0.20289017567552037,-0.19673715718141693,-0.19140619232524614,-0.18673204411567212,-0.1825872985439787,-0.17888539484192734,-0.1755533868248449,-0.17252315060977708,-0.16976527657050156,-0.16709371393761785,-0.16491407418698145},
{-0.9051514571862072,-0.5097250491358238,-0.3789346385885324,-0.31840004648407216,-0.2824068487807381,-0.26070295568243296,-0.2426322318981704,-0.22932902421268864,-0.21879947990248638,-0.210175559832237,-0.20294708084975355,-0.1967946185769165,-0.1914639679819743,-0.18678997575784706,-0.182645306541815,-0.17894341885204312,-0.1756113792985161,-0.17258108081415457,-0.16982311119272708,-0.167151354744135,-0.16497148317381516},
{-0.9048998720478494,-0.5096646404571743,-0.37894061221851416,-0.3184302352906627,-0.28244842303570294,-0.26074966243976405,-0.24268275361527003,-0.22938238185543014,-0.21885477550154064,-0.21023193942835405,-0.2030042318324945,-0.19685232232518501,-0.19152198183866176,-0.18684814210382683,-0.18270354654805487,-0.17900167215918827,-0.17566959876916144,-0.17263923570436646,-0.16988116804981246,-0.16720921613926976,-0.1650291095059515},
{-0.9046485532993245,-0.5096045526160822,-0.3789468914047802,-0.318460715202292,-0.28249027749711786,-0.26079663873176173,-0.24273353894491834,-0.22943599857865138,-0.21891032536916555,-0.21028856831588882,-0.20306162933150063,-0.19691026907435116,-0.19158023454116346,-0.18690654379406624,-0.18276201921645452,-0.179060155409843,-0.17572804586603752,-0.17269761594462807,-0.1699394477211058,-0.16726729877399293,-0.16508695380019844},
{-0.9043975017168293,-0.5095447864242999,-0.3789534769686327,-0.318491487017468,-0.28253241293995757,-0.2608438853000621,-0.24278458860470664,-0.22948987511722407,-0.21896613014689592,-0.2103454471510986,-0.20311927400115337,-0.19696845947675,-0.19163872672908155,-0.18696518147055485,-0.18282072514756464,-0.17911886919472408,-0.17578672120248484,-0.1727562221097969,-0.16999795079306068,-0.16732560325419854,-0.1651450166253312},
{-0.9041467180768734,-0.5094853427004296,-0.37896036973182845,-0.31852255153887654,-0.2825748301146973,-0.2608914028864433,-0.24283590334232485,-0.22954401222256138,-0.2190221905125327,-0.21040257659473127,-0.2031771665215274,-0.19702689418471664,-0.1916974590509426,-0.18702405578460457,-0.18287966499627828,-0.17917781416139178,-0.1758456254194698,-0.17281505480281112,-0.170056677868331,-0.16738413021550969,-0.1652032985959977},
{-0.903896203156421,-0.5094262222598047,-0.3789675705245088,-0.31855390955647067,-0.28261752979500443,-0.260939192229074,-0.24288748388875092,-0.22959841062015585,-0.21907850712449317,-0.21045995733032896,-0.20323530758093966,-0.19708557382392655,-0.1917564321363443,-0.18708316738133135,-0.18293883939526268,-0.17923699090277978,-0.1759047591344256,-0.1728741146253583,-0.17011562952842496,-0.16744288026939103,-0.16526180029109128},
{-0.9036459577363303,-0.5093674259235854,-0.37897508017829296,-0.31858556188282705,-0.2826605127569053,-0.2609872540742231,-0.24293933098311982,-0.22965307105454258,-0.21913508065080123,-0.21051759001858272,-0.20329369784269602,-0.19714449906314258,-0.1918156466505252,-0.18714251691079653,-0.18299824896121208,-0.17929640007128,-0.17596412298041741,-0.1729334021804334,-0.17017480636656046,-0.16750185403901696,-0.16532052230598993},
{-0.903395982598056,-0.5093089545145801,-0.37898289952707387,-0.3186175093205179,-0.28270377977156613,-0.2610355891708025,-0.2429914453737183,-0.22970799428850341,-0.2191919117626071,-0.21057547535087906,-0.20335233799931984,-0.19720367054662802,-0.19187510321677337,-0.1872021050238004,-0.1830578943549881,-0.179356042296547,-0.17602371757698165,-0.17299291809109718,-0.1702342089805029,-0.16756105213625005,-0.16537946523743585},
{-0.9031462785295616,-0.5092508088565921,-0.3789910294009644,-0.31864975267652085,-0.2827473316014846,-0.2610841982414911,-0.24304382779007483,-0.22976318104656457,-0.21924900112691148,-0.21063361398370262,-0.2034112287195171,-0.1972630889415541,-0.1919348024930514,-0.18726193236977906,-0.18311777620044722,-0.17941591820147096,-0.17608354355718348,-0.17305266295539923,-0.17029383796545972,-0.1676204752033641,-0.16543862968939038},
{-0.9028968463110516,-0.5091929897820648,-0.3789994706373534,-0.3186822927685853,-0.28279116902842816,-0.26113308205921726,-0.24309647898542153,-0.22981863207985498,-0.2193063494187868,-0.21069200661412424,-0.20347037069592488,-0.19732275488979667,-0.19199474512998904,-0.18732199962022378,-0.1831778951451497,-0.17947602842951937,-0.17614360156670728,-0.17311263736741012,-0.17035369392687016,-0.16768012382254938,-0.16549801623926896},
{-0.9026476867337294,-0.5091354981160237,-0.3790082240695085,-0.31871513038660737,-0.2828352928126776,-0.2611822413570053,-0.24314939968428462,-0.22987434812517904,-0.21936395729022706,-0.21075065390448344,-0.2035297646000913,-0.19738266903101476,-0.1920549317576956,-0.18738230740706285,-0.18323825183205145,-0.1795363735875526,-0.1762038922244642,-0.17317284195451066,-0.17041377744880037,-0.16773999862965638,-0.16555762548375696},
{-0.9023988005885144,-0.5090783346986996,-0.37901729055181477,-0.31874826636789066,-0.28287970375927785,-0.26123167689814863,-0.24320259066212202,-0.22993032995486828,-0.21942182543949684,-0.21080955655236266,-0.20358941113249784,-0.19744283204903468,-0.1921153630425465,-0.18744285639411373,-0.1832988468963208,-0.17959695434649348,-0.17626441616812372,-0.1732332773128178,-0.1704740891457277,-0.16780010023057912,-0.16561745802454197},
{-0.9021501886674912,-0.5090215003615413,-0.3790266709192167,-0.31878170152398866,-0.28292440262646323,-0.2612813894359931,-0.24325605264596106,-0.22998657828588875,-0.21947995452273972,-0.2108687152415314,-0.203649310966739,-0.19750324459175772,-0.19217603963141983,-0.18750364724854762,-0.18335968097557043,-0.17965777134378413,-0.17632517403643533,-0.17329394407590826,-0.17053462963508537,-0.16786042923718014,-0.1656775144524545},
{-0.9019018517631423,-0.5089649959445524,-0.3790363660137075,-0.3188154366689844,-0.28296939020955847,-0.26133137970646203,-0.24330978638488432,-0.23004309388073807,-0.21953834521241333,-0.21092813064836946,-0.20370946477794405,-0.1975639073110642,-0.19223696216340613,-0.1875646806234954,-0.18342075472747865,-0.17971882520680538,-0.1763861664605315,-0.1733548428278482,-0.17059539948166957,-0.1679209862502944,-0.16573779533962352},
{-0.9016537906719293,-0.5089088222869975,-0.37904637668773944,-0.31884947262733476,-0.2830146672802698,-0.26138164847702683,-0.24336379263303343,-0.2300998774802565,-0.21959699818546596,-0.21098780347290358,-0.20376987326903873,-0.19762482087082844,-0.1922981312874299,-0.1876259571755554,-0.18348206879306872,-0.17978011658419746,-0.17644739408649457,-0.1734159741916983,-0.1706563993329837,-0.1679817718824097,-0.16579830129364836},
{-0.9014060061937528,-0.5088529802366395,-0.37905670378822265,-0.31888381021394707,-0.28306023463090924,-0.2614321965185695,-0.24341807214193523,-0.23015692985080705,-0.21965591413606944,-0.21104773440879399,-0.20383053713328536,-0.197685985944986,-0.19235954768157626,-0.1876874775828128,-0.18354362383746547,-0.17984164613864095,-0.1765088575652385,-0.17347733879023508,-0.17071762977906246,-0.16804278675033402,-0.16585903291269233},
{-0.9011584991281154,-0.5087974706395357,-0.3790673481743454,-0.318918450273344,-0.2831060930536182,-0.26148302458193484,-0.24347262566885775,-0.23021425171924648,-0.21971509372104947,-0.2111079241478251,-0.2038914570482575,-0.19774740317632222,-0.19242121197072493,-0.18774924248180014,-0.1836054204844686,-0.17990341450234837,-0.17657055751794815,-0.1735389372236682,-0.17077909143836223,-0.1681040314429083,-0.1659199907760467},
{-0.9009112702756568,-0.5087422943427953,-0.37907831068733344,-0.3189533936174769,-0.28315224332129674,-0.26153413342120757,-0.24352745395594866,-0.23027184384272914,-0.2197745376184912,-0.2111683733697305,-0.20395263370807015,-0.19780907324530972,-0.1924831248099963,-0.18781125255839015,-0.18366745940483042,-0.17996542232867796,-0.17663249458496466,-0.17360077012455122,-0.17084078492223398,-0.16816550656858453,-0.1659811754831253},
{-0.9006643204405407,-0.5086874522002347,-0.37908959219475946,-0.3189886410832514,-0.2831986862497331,-0.26158552380218225,-0.24358255777127624,-0.23032970696800703,-0.21983424652557915,-0.21122908279966168,-0.20401406780234765,-0.19787099680871734,-0.192545286864231,-0.18787350846838535,-0.18372974123195718,-0.1800276702834367,-0.1766946694213516,-0.1736628380976981,-0.1709027108366854,-0.16822721273109664,-0.16604258761753954},
{-0.9004176504324164,-0.5086329450665801,-0.37910119354890526,-0.31902419350163314,-0.2832454226191885,-0.2616371964965083,-0.24363793786471888,-0.2303878418568388,-0.21989422111892054,-0.21129005312553772,-0.20407576003259464,-0.19793317455702208,-0.19260769878519568,-0.18793601089254253,-0.1837922666347822,-0.1800901590237345,-0.1767570826687006,-0.1737251417774246,-0.1709648698105184,-0.16828915053855553,-0.16610422779797318},
{-0.9001712610547372,-0.5085787737973533,-0.3791131156121139,-0.31906005170571916,-0.28329245321373264,-0.2616891522662286,-0.24369359499269194,-0.230446249231818,-0.21995446207353098,-0.2113512850410757,-0.20413771108974288,-0.1979956071199922,-0.19267036122539594,-0.18799876047819453,-0.18385503625876254,-0.18015288919434624,-0.1768197349674665,-0.17378768175717596,-0.17102726245036592,-0.1683513205909435,-0.16616609659189407},
{-0.8999251531245989,-0.5085249392592459,-0.3791253592511623,-0.31909621654077114,-0.2833397788573393,-0.2617413918924285,-0.24374952994043042,-0.2305049298730637,-0.22001497009006243,-0.21141277927108604,-0.20419992168166345,-0.19805829521033047,-0.19273327484540914,-0.18806175791519308,-0.18391805077118306,-0.18021586146255686,-0.17688262696856327,-0.17385045867513327,-0.17108988938861103,-0.16841372347471406,-0.1662281946156554},
{-0.8996793274465631,-0.5084714423053356,-0.3791379253212597,-0.31913268883275236,-0.28338740032396004,-0.2617939161330014,-0.24380574342785621,-0.23056388450368104,-0.2200757458428484,-0.21147453650678472,-0.20426239249030687,-0.19812123947127702,-0.1927964403063811,-0.1881250038547364,-0.18398131081983138,-0.18027907649133112,-0.1769457593078414,-0.17391347316578276,-0.1711527512418911,-0.1684763598159975,-0.16629052247276377},
{-0.8994337848422163,-0.5084182838093341,-0.37915081470487166,-0.3191694694433522,-0.28343531843839287,-0.2618467257745465,-0.24386223626993342,-0.23062311389600154,-0.22013679003509878,-0.21153655747451694,-0.20432512423275284,-0.19818444060535967,-0.19285985826547858,-0.18818849898627832,-0.18404481706960496,-0.18034253494755603,-0.1770091326523584,-0.1739767258361553,-0.17121584863940598,-0.168539230202839,-0.1663530807508664},
{-0.8991885261233392,-0.5083654646349487,-0.3791640282578328,-0.3192065592006941,-0.2834835339860149,-0.26189982157455916,-0.24391900919528098,-0.2306826187894444,-0.22019810334938938,-0.21159884289312458,-0.20438811760436693,-0.19824789927497477,-0.1929235293945908,-0.18825224397636475,-0.18410857018841398,-0.18040623751068097,-0.17707274764171643,-0.17404021731243802,-0.17127918220501215,-0.16860233523573243,-0.16641587006228065},
{-0.8989435521112057,-0.5083129856536175,-0.379177566857436,-0.3192439589528817,-0.2835320477705352,-0.261953204319866,-0.2439760629742409,-0.2307423999362186,-0.22025968648580374,-0.21166139344950352,-0.204451373315635,-0.1983116161552516,-0.19298745434821285,-0.1883162395065483,-0.18417257083353888,-0.1804701848226955,-0.17713660491398286,-0.1741039482327551,-0.17134275256245246,-0.1686656755279614,-0.16647889102165436},
{-0.8986988636261515,-0.5082608477415533,-0.3791914313761424,-0.31928166955012216,-0.2835808606168655,-0.26200687479723683,-0.24403339839210503,-0.23080245808193922,-0.22032154012828187,-0.21172420988256135,-0.20451489206993756,-0.19837559193308607,-0.19305163378732004,-0.18838048623496206,-0.1842368196475377,-0.18053437755850155,-0.17720070512200436,-0.17416791920629748,-0.17140656034069934,-0.1687292516575667,-0.16654214420924518},
{-0.8984544614896492,-0.5082090517761912,-0.37920562269400193,-0.31931969185077946,-0.2836299733256453,-0.26206083378048106,-0.24409101621483842,-0.2308627939805774,-0.2203836649968025,-0.21178729292591925,-0.20457867458679857,-0.1984398272929866,-0.19311606839056594,-0.1884449848623717,-0.18430131733026656,-0.18059881642142273,-0.177265048935908,-0.17423213089222145,-0.17147060617816123,-0.16879306426511675,-0.16660563027824082},
{-0.8982103465288844,-0.5081575986304756,-0.3792201416884211,-0.31935802670244584,-0.28367938671758,-0.2621150820528442,-0.24414891721289678,-0.23092340838792325,-0.22044606177462356,-0.21185064327801229,-0.204642721572327,-0.19850432291997322,-0.19318075882051744,-0.1885097360552095,-0.18436606453479953,-0.1806635020470253,-0.17732963698523463,-0.1742965838972168,-0.17153489071239392,-0.16885711393052816,-0.16666934980867154},
{-0.897966519570474,-0.508106489191249,-0.3792349892327138,-0.31939667495802837,-0.2837291015848109,-0.262169620391262,-0.24420710215304098,-0.23098430203845055,-0.220508731164216,-0.21191426167285954,-0.20470703373536026,-0.19856907949952074,-0.193245705748609,-0.1885747405047482,-0.18443106192216874,-0.18072843513766657,-0.17739446993147112,-0.17436127887128805,-0.1715994145669697,-0.16892140126680033,-0.16673330342592863},
{-0.8977229814436214,-0.5080557243398971,-0.3792501662150869,-0.3194356374779659,-0.2837791187599237,-0.26222444960217217,-0.24426557182420083,-0.23104547570397926,-0.22057167388743437,-0.21197814885050548,-0.20477161181008796,-0.1986340977225609,-0.19331090985059518,-0.18863999888822036,-0.1844963101765984,-0.1807936163525028,-0.17745954842814626,-0.17442621644329392,-0.1716641783852424,-0.16898592687442715,-0.16679749176165615},
{-0.8974797329777857,-0.5080053049661046,-0.3792656735226103,-0.3194749151236067,-0.28382943906751734,-0.2622795704609189,-0.24432432699791207,-0.2311069301208022,-0.22063489063793895,-0.21204230552791614,-0.20483645650244853,-0.198699378272579,-0.19337637180876754,-0.18870551189564821,-0.18456180996099647,-0.18085904638860484,-0.17752487314010068,-0.17449139724874385,-0.1717291828089742,-0.16905069138465478,-0.1668619154087878},
{-0.897236775011379,-0.5079552319594427,-0.37928151204079086,-0.31951450875234855,-0.28388006331317683,-0.26233498376296893,-0.24438336845292952,-0.23116866603925246,-0.22069838212701143,-0.2121067324571868,-0.20490156854606312,-0.1987649218439742,-0.19344209228472664,-0.18877128020557166,-0.18462756194696794,-0.1809247259092217,-0.17759044469636365,-0.1745568219336633,-0.17179442847367454,-0.16911569538820004,-0.16692657499868346},
{-0.8969941083755657,-0.5079055062102782,-0.3792976826586596,-0.31955441924077377,-0.283930992329374,-0.2623906903025386,-0.24444269697528398,-0.2312306842222256,-0.22076214906797986,-0.21217143036972175,-0.20496694866261578,-0.19883072915240518,-0.19350807197804443,-0.18883730451454994,-0.18469356682203397,-0.18099065562194028,-0.17765626378354682,-0.17462249113594908,-0.17185991603361117,-0.16918093950187085,-0.16699147115696178},
{-0.8967517339100652,-0.5078561286199488,-0.3793141862665266,-0.3195946474492928,-0.2839822269389174,-0.2624466908783347,-0.24450231334526507,-0.23129298541670096,-0.2208261921825283,-0.2122364000019843,-0.20503259757441583,-0.19889680087027273,-0.19357431156680605,-0.18890358551868758,-0.18475982525535528,-0.18105683618597368,-0.17772233104057023,-0.1746884054915654,-0.17192564612668093,-0.1692464243442373,-0.16705660450446658},
{-0.896509652452977,-0.5078071000793898,-0.3793310237550429,-0.3196351942297895,-0.28403376795284885,-0.2625029862699648,-0.2445622183332148,-0.23135557036096088,-0.22089051217614042,-0.21230164209498525,-0.20509851602673734,-0.1989631376971488,-0.19364081172165015,-0.18897012389231804,-0.18482633792496017,-0.1811232682946411,-0.17778864712454379,-0.17475456565631475,-0.17199161938390262,-0.1693121505351769,-0.16712197565379938},
{-0.8962678648508415,-0.5077584214950548,-0.37934819603313485,-0.3196760604804183,-0.2840856162289356,-0.262559577312345,-0.24462241275881524,-0.2314184398385919,-0.2209551097870417,-0.21236715740542422,-0.20516470475456572,-0.19902974035221632,-0.193707573150391,-0.18903692034558617,-0.1848931055109233,-0.1811899526424554,-0.17785521270923255,-0.1748209722721299,-0.17205783647682438,-0.1693781186971819,-0.16718758524467603},
{-0.8960263719449415,-0.5077100937701857,-0.3793657039882703,-0.31971724706014015,-0.28413777257736683,-0.26261646478354805,-0.24468289737438909,-0.23148159458173723,-0.22101998573623405,-0.21243294667908685,-0.20523116448373457,-0.19909660953197772,-0.19377459654452878,-0.18910397557056058,-0.18496012871599987,-0.18125688992614641,-0.17792202844447047,-0.17488762599259644,-0.17212429806437513,-0.16944432945547305,-0.1672534338917444},
{-0.8957851745822722,-0.5076621178045855,-0.379383548520849,-0.3197587548499996,-0.28419023784630326,-0.2626736494852935,-0.24474367298972766,-0.23154503534300375,-0.22108514074187724,-0.21249901066460097,-0.20529789595502734,-0.19916374593145747,-0.1938418825887993,-0.18917129027460078,-0.18502740819934616,-0.18132408081709173,-0.17798909498532112,-0.1749545274597608,-0.17219100476057747,-0.1695107834295868,-0.16731952222227164},
{-0.895544273611506,-0.5076144945133478,-0.37940173053164017,-0.31980058472660744,-0.28424301285281217,-0.2627311322298169,-0.24480474038222155,-0.23160876287664678,-0.2211505755327039,-0.2125653501086049,-0.20536489991718554,-0.199231150264211,-0.19390943197242905,-0.1892388651467627,-0.18509494465706666,-0.18139152602043396,-0.17805641299270292,-0.17502167732118323,-0.17225795724647242,-0.16957748124440286,-0.1673858508562489},
{-0.8953036698854078,-0.5075672248079286,-0.3794202509354534,-0.31984273756566495,-0.28429609844562265,-0.2627889138365731,-0.24486610035620515,-0.2316727779588632,-0.2212162908551818,-0.2126319657996305,-0.20543217712690875,-0.1992988232448738,-0.19397724541892103,-0.18930670089690693,-0.1851627388000452,-0.18145922622733224,-0.17812398315339806,-0.17508907625938264,-0.172325156165698,-0.16964442356112386,-0.16745242044390807},
{-0.8950633642530477,-0.507520309597254,-0.37943911062973257,-0.3198852142516557,-0.28434949546004873,-0.2628469950979593,-0.24492775370242725,-0.2317370813125308,-0.22128228742724332,-0.21269885846379566,-0.2054997283173634,-0.19936676557387045,-0.1940453236206281,-0.1893747982208538,-0.18523079129346343,-0.1815271821388933,-0.17819180610973717,-0.17515672489088274,-0.17239260218559593,-0.16971161098587118,-0.16751923158977888},
{-0.8948233575740403,-0.507473749809435,-0.37945831052746826,-0.31992801566903495,-0.2844032047390215,-0.26290537684121773,-0.2449897012025417,-0.23180167371890548,-0.22134856599979003,-0.21276602888502794,-0.205567554245647,-0.19943497797856935,-0.19411366728229495,-0.1894431578405147,-0.18529910284752305,-0.1815953944399098,-0.1782598825222408,-0.1752246239033184,-0.17246029596805101,-0.16977904417353784,-0.16758628493977312},
{-0.8945836507048739,-0.5074275463572349,-0.3794778515442374,-0.3199711427101306,-0.28445722713331634,-0.2629640598790388,-0.24505194366918204,-0.23186655593781325,-0.2214151273215066,-0.2128334778202543,-0.2056356556710739,-0.19950346116746687,-0.19418227712066027,-0.18951178045415418,-0.18536767415002942,-0.1816638638438235,-0.17832821307592894,-0.1752927739515826,-0.1725282381567581,-0.169846723772082,-0.1676535811257054},
{-0.8943442445066978,-0.50738170016362,-0.3794977345868915,-0.3200145962632348,-0.2845115634898434,-0.2630230450348563,-0.2451144819028741,-0.2319317287207241,-0.22148197212732157,-0.21290120604777485,-0.20570403334949106,-0.19957221586957985,-0.1942511538522922,-0.18958066678402474,-0.18543650591271899,-0.18173259105066109,-0.17839679843393697,-0.17536117570352872,-0.17259642942599385,-0.16991465042593745,-0.16772112077740076},
{-0.8941051398374498,-0.5073362121563321,-0.379517960578454,-0.32005837720680574,-0.284566214635106,-0.26308233311482354,-0.2451773166831117,-0.2319971928222344,-0.22154910116057636,-0.21296921433975058,-0.20577268803714333,-0.1996412427798191,-0.19432029817073726,-0.18964981752935728,-0.18550559882203288,-0.18180157674783004,-0.17846563925462533,-0.17542982980478428,-0.1726648704316176,-0.1699828247876667,-0.1677889045438974},
{-0.8938663375672604,-0.5072910832655282,-0.37953853043833874,-0.320102486454374,-0.2846211814522235,-0.263141924966078,-0.24524044883764873,-0.2320629490231454,-0.22161651519593306,-0.2130375034622034,-0.20584162050818122,-0.1997105426470398,-0.1943897108176884,-0.18971923341462116,-0.18557495360147414,-0.1818708216483742,-0.17853473620789373,-0.1754987369387777,-0.1727335618561483,-0.17005124751182166,-0.16785693304387905},
{-0.8936278385582455,-0.5072463144152266,-0.3795594450723172,-0.3201469248779176,-0.28467646475712627,-0.2632018213889751,-0.24530387914165885,-0.2321289980553729,-0.2216842149610443,-0.2131060741923534,-0.2059108315092999,-0.19978011618235314,-0.1944593925039726,-0.18978891515013174,-0.1856445709423724,-0.1819403264524908,-0.1786040899745558,-0.17556789777103177,-0.17280250435356947,-0.1701199192511922,-0.16792520693326196},
{-0.893389643681445,-0.5072019065467259,-0.37958070542336486,-0.32019169339938003,-0.2847320654404939,-0.26326202322081826,-0.2453676084207359,-0.2321953407182491,-0.2217522012421682,-0.21317492732487153,-0.20598032182130055,-0.1998499641264857,-0.19452934396878163,-0.18985886345762992,-0.18571445155959054,-0.18201009188413764,-0.17867370121911108,-0.17563731297246932,-0.17287169860156837,-0.17018884068983198,-0.16799372685505887},
{-0.893151753806734,-0.5071578605949298,-0.37960231240234066,-0.3202367929062575,-0.28478798433991415,-0.26332253129601213,-0.24543163747620156,-0.23226197776438084,-0.22182047477815559,-0.21324406363027038,-0.2060500922162305,-0.1999200872057827,-0.19459956593590277,-0.18992907906340406,-0.18578459617020826,-0.18208011862560625,-0.17874357062424906,-0.17570698321100053,-0.17294114527641113,-0.17025801247638128,-0.16806249343204627},
{-0.8929141698101546,-0.5071141774961632,-0.3796242669423009,-0.32028222429204334,-0.2848442223004781,-0.26338334644702854,-0.2454959670964172,-0.2323289099550152,-0.2218890363429864,-0.2133134839045283,-0.20612014346249907,-0.19999048613613013,-0.19467005913014646,-0.18999956268947926,-0.1858550054882926,-0.18215040739471533,-0.17881369885742515,-0.17577690917477184,-0.17301084505152176,-0.17032743529767913,-0.16813150734338933},
{-0.8926768925643671,-0.5070708581949077,-0.3796465699743692,-0.3203279884689323,-0.28490078021286536,-0.26344446950656675,-0.24556059812141484,-0.23239613806066473,-0.22195788669739613,-0.21338318891872632,-0.20619047633130094,-0.20006116166581478,-0.19474082428655493,-0.19007031503684857,-0.18592568021819034,-0.18222095889507273,-0.17888408659388233,-0.17584709151390143,-0.1730807985978231,-0.17039710980759537,-0.16820076918384075},
{-0.8924399229488813,-0.5070279036369811,-0.3796692224306639,-0.3203740863480675,-0.28495765892267855,-0.26350590131880836,-0.24562553133762322,-0.23246366286377906,-0.2220270266284956,-0.21345317948754428,-0.2062610916074732,-0.20013211452874202,-0.19481186214881063,-0.19014133686061996,-0.18599662110290183,-0.18229177383597062,-0.17895473450846566,-0.17591753094211526,-0.17315100659618565,-0.17046703669535646,-0.1682702796522335},
{-0.8922032618447986,-0.5069853147713559,-0.3796922252428203,-0.32042051883712475,-0.28501485930559056,-0.2635676427223643,-0.24569076757262565,-0.23253148513236965,-0.22209645691492597,-0.21352345639814985,-0.20633199006817904,-0.20020334545938567,-0.1948831734538885,-0.19021262887247303,-0.1860678288481381,-0.18236285294136678,-0.17902564329239112,-0.17598822811663695,-0.1732214697504446,-0.17053721664080967,-0.16834003936327235},
{-0.8919669101339309,-0.5069430925440201,-0.37971557935304645,-0.3204672868377543,-0.2850723822136274,-0.2636296945498202,-0.2457563076231395,-0.2325996056303552,-0.22216617831446683,-0.21359402043032105,-0.206403172478133,-0.20027485520557775,-0.1949547589440499,-0.19028419179556977,-0.1861393041852466,-0.18243419691947338,-0.1790968136181732,-0.1760591837343668,-0.17329218872401952,-0.1706076503253371,-0.16841004896946288},
{-0.891730868700364,-0.5069012379093749,-0.37973928569007853,-0.32051439126502146,-0.2851302285183124,-0.2636920576640591,-0.24582215231384907,-0.23266802515774998,-0.2222361916283262,-0.2136648724028305,-0.20647463964928647,-0.2003466445083859,-0.1950266193669563,-0.19035602637046622,-0.18621104784665476,-0.18250580646696335,-0.17916824617452676,-0.1761303984761753,-0.17336316422080245,-0.17067833843117342,-0.16848030913286038},
{-0.8914951384324752,-0.5068597518274771,-0.3797633452070954,-0.3205618330409834,-0.2851883991039017,-0.26375473290585205,-0.24588830246159432,-0.2327367444793822,-0.22230649762548182,-0.21373601310375534,-0.20654639233993066,-0.20041871410467138,-0.19509875547242927,-0.1904281333278277,-0.18628306055899202,-0.18257768230995453,-0.1792399416472108,-0.1762018730232171,-0.17343439692308493,-0.17074928165214942,-0.16855082049443126},
{-0.8912597202200061,-0.506818635253552,-0.3797877588434915,-0.32060961307126945,-0.28524689484032706,-0.2638177211392758,-0.24595475888935425,-0.23280576437252876,-0.2223770971187946,-0.21380744334629753,-0.20661843134985247,-0.20049106475579492,-0.19517116799869427,-0.19050051339007723,-0.18635534304905832,-0.18264982515705697,-0.1793119007122641,-0.17627360807438208,-0.1735058875285631,-0.17082048066873767,-0.1686215836999736},
{-0.8910246149548016,-0.5067778891516639,-0.3798125275455675,-0.32065773229174965,-0.2853057166000781,-0.263881023199815,-0.24602152242232478,-0.23287508562691528,-0.2224479908770718,-0.21387916393058504,-0.20669075746775434,-0.20056369719009126,-0.19524385771376274,-0.1905731672952129,-0.18642789607287114,-0.18272223573814017,-0.17938412406897442,-0.17634560432395574,-0.17357763674425541,-0.17089193617630372,-0.16869259941381642},
{-0.8907898235301559,-0.5067375144836603,-0.37983765226468336,-0.3207061916112366,-0.2853648652563834,-0.26394463995507067,-0.24608859387052462,-0.2329447090281178,-0.22251917972079127,-0.21395117567050193,-0.2067633714675594,-0.20063661218387097,-0.19531682536808148,-0.1906460957920899,-0.1865007203513187,-0.1827949147605068,-0.17945661240577238,-0.17641786245110325,-0.1736496452641063,-0.17096364886077708,-0.16876386827703982},
{-0.8905553468436267,-0.5066975122181248,-0.3798631339409724,-0.3207549919443409,-0.28542434169139597,-0.26400857226070684,-0.24615597406130973,-0.2330146353634177,-0.22259066442694575,-0.21402347935816124,-0.20683627416076433,-0.20070981046097813,-0.19539007170413925,-0.19071929960466605,-0.18657381662728767,-0.18286786292509305,-0.1795293664096107,-0.17649038316557153,-0.17372191379240576,-0.1710356194349174,-0.16883539095192646},
{-0.8903211857959263,-0.5066578833265396,-0.3798889735446096,-0.32080413423659593,-0.2854841467898268,-0.26407282099785334,-0.2462236638293689,-0.23308486542850915,-0.22266244581510364,-0.21409607583262869,-0.20690946632743135,-0.20078329280596563,-0.1954635974991561,-0.19079277946963202,-0.1866471856455405,-0.18294108097438766,-0.17960238678136875,-0.17656316715778075,-0.1737944430446987,-0.17110784857044337,-0.1689071680778511},
{-0.8900873412858914,-0.5066186287810694,-0.37991517201822944,-0.3208536194053977,-0.28554428143871746,-0.26413738701756984,-0.24629166400012537,-0.23315540001931367,-0.22273452469335098,-0.2141689658917585,-0.20698294876848422,-0.20085705995938952,-0.19553740351324223,-0.19086653613288718,-0.18672082815783142,-0.1830145696191039,-0.1796756742211869,-0.17663621514026318,-0.17386723373351742,-0.17118033698329782,-0.16897920034324443},
{-0.8898538142185544,-0.5065797495551578,-0.37994173033095535,-0.32090344838456986,-0.2856047465260758,-0.26420227118825323,-0.24635997540343624,-0.23322623992322633,-0.22280690186050833,-0.21424215036086025,-0.20705672226944216,-0.20093111267112818,-0.19561149049695814,-0.19094057034271827,-0.18679474490863868,-0.18308832957376353,-0.17974922941311888,-0.17670952778780702,-0.17394028656178762,-0.17125308535582917,-0.16905148837264505},
{-0.8896206055003404,-0.5065412466246642,-0.3799686494301966,-0.32095362209122413,-0.2856655429209809,-0.2642674743685802,-0.24642859887001123,-0.2332973859212757,-0.2228795781367694,-0.21431563003972087,-0.20713078761815495,-0.20100545171590056,-0.19568585921592785,-0.19101488283087065,-0.1868689366270928,-0.18316236155538945,-0.1798230530594651,-0.17678310582124368,-0.1740136022427805,-0.1713260943834598,-0.16912403284715083},
{-0.8893877160377599,-0.5065031209767028,-0.3799959302920968,-0.3210041414706666,-0.28572667153258635,-0.2643329974670223,-0.24649753523590334,-0.23336883885144744,-0.22295255434687533,-0.21438940576769028,-0.20720514564902714,-0.20108007784790516,-0.19576051044560927,-0.19108947434926904,-0.18694340410849009,-0.18323666629476065,-0.17989714588520656,-0.17685694995162748,-0.17408718151949643,-0.1713993647819052,-0.169196834449167},
{-0.8891551467454519,-0.5064653735944944,-0.38002357387136954,-0.3210550074674643,-0.2857881332535044,-0.26439884134362046,-0.2465667853708169,-0.23344059950107976,-0.223025831309144,-0.21446347837769508,-0.20727979712660272,-0.20115499184254304,-0.1958354449529338,-0.19116434565086138,-0.18701814807423034,-0.1833112445214624,-0.17997150857939914,-0.17693106087699562,-0.17416102510878773,-0.171472897236697,-0.16926989382267266},
{-0.8889228985339628,-0.506428005461629,-0.38005158114239634,-0.32110622099975217,-0.28584992896344374,-0.26446500687359276,-0.24663635006714912,-0.23351266867280174,-0.2230994098337078,-0.21453784866736214,-0.20735474285481814,-0.20123019443497014,-0.19591066349460107,-0.19123949746546032,-0.18709316929135866,-0.18338609693984154,-0.18004614183325884,-0.1770054393088003,-0.17423513372420985,-0.17154669244428078,-0.16934321166303334},
{-0.8886909723179883,-0.5063910175712749,-0.38007995307822284,-0.32115778302460285,-0.2859120595797435,-0.26453149495131356,-0.24670623019369486,-0.23358504718561335,-0.22317329077048953,-0.21461251747916776,-0.20742998363994047,-0.2013056864209375,-0.19598616685891557,-0.19131493056403315,-0.18716846851759783,-0.183461224287214,-0.18012104638489745,-0.1770800859553674,-0.17430950811353796,-0.17162075110536534,-0.16941678865458698},
{-0.888459369019813,-0.5063544109088696,-0.38010869064481767,-0.32120969447862535,-0.28597452598125983,-0.26459830644580506,-0.24677642659531784,-0.2336577358418026,-0.22324747493257746,-0.21468748562995188,-0.20750552028334823,-0.20138146855305195,-0.19606195580803387,-0.19139064568810227,-0.1872440465120917,-0.18353662728532072,-0.1801962229272931,-0.17715500154400843,-0.17438414899271493,-0.17169507391201932,-0.1694906254840589},
{-0.8882280895556391,-0.506318186477074,-0.38013779482002974,-0.3212619562939949,-0.2860373290695293,-0.2646654422679262,-0.24684694011040165,-0.233730735462359,-0.22332196316330055,-0.2147627539590644,-0.20758135357635865,-0.20145754159648277,-0.1961380311161065,-0.1914666435870913,-0.18731990403244936,-0.18361230664464756,-0.1802716721791171,-0.17723018676639413,-0.1744590571092317,-0.17176966156557683,-0.16956472286040025},
{-0.8879971348532365,-0.5062823452695113,-0.3801672665873923,-0.321314569434378,-0.28610046976541526,-0.2647329033047754,-0.24691777161439177,-0.23380404686213296,-0.22339675629638123,-0.21483832329687402,-0.20765748433825593,-0.20153390633157642,-0.1962143935563745,-0.1915429250246916,-0.18739604185600456,-0.18368826312104147,-0.18034739485801765,-0.1773056423530761,-0.17453423319352623,-0.17184451476202867,-0.1696390814738038},
{-0.887766505833838,-0.5062468882826181,-0.3801971069093213,-0.32136753483752045,-0.2861639489481149,-0.26480069044589527,-0.24698892193242727,-0.233877670856657,-0.2234718551703736,-0.21491419446897453,-0.20773391336120994,-0.2016105635119061,-0.19629104391543706,-0.19161949075396478,-0.1874724607346252,-0.18376449742066825,-0.1804233916795397,-0.17738136904074508,-0.17460967799519267,-0.17191963418520118,-0.16971370205897074},
{-0.8875362034273167,-0.5062118165275535,-0.380227316791661,-0.3214208534596992,-0.28622776755838686,-0.2648688045872518,-0.24706039194677487,-0.23395160829142014,-0.22354726064497754,-0.21499036832744878,-0.2078106414592753,-0.20168751393140383,-0.19636798296698998,-0.1916963415360442,-0.18754916145076095,-0.18384101028914301,-0.18049966336394618,-0.17745736752732455,-0.17468539224705637,-0.17199502055649418,-0.1697885853460548},
{-0.887306228565194,-0.5061771310054155,-0.38025789720990133,-0.32147452625753203,-0.286291926482761,-0.26493724664004503,-0.24713218250633417,-0.23402585997962433,-0.22362297355124383,-0.21506684570181278,-0.20788766942428083,-0.20176475835506835,-0.19644521149649563,-0.19177347813075585,-0.18762614476889894,-0.18391780245593736,-0.18057621064667728,-0.17753363855467796,-0.17476137671150127,-0.1720706745466032,-0.16986373204230176},
{-0.8870765821797306,-0.5061428327258,-0.3802888491464387,-0.32152855417155024,-0.28635642661907923,-0.2650060175039357,-0.24720429446125536,-0.23410042674777287,-0.22369899473466148,-0.2151436274314733,-0.2079649980792624,-0.2018422975410772,-0.1965227302744097,-0.19185090129769833,-0.1877034114584717,-0.18399487463381092,-0.18065303423827572,-0.17761018285074215,-0.17483763211663472,-0.1721465968567486,-0.16993914291435885},
{-0.8868472652050627,-0.5061089227014293,-0.38032017359796555,-0.32158293816604555,-0.2864212689099759,-0.2650751180875659,-0.24727672870244533,-0.23417530943197562,-0.22377532505453246,-0.21522071434827694,-0.20804262821548036,-0.20192013228273709,-0.19660054008789984,-0.1919286117947081,-0.18778096229374341,-0.18407222755809016,-0.18073013486161926,-0.177687001127822,-0.17491415922233955,-0.17222278817979486,-0.17001481867913526},
{-0.8866182785804426,-0.50607540194531,-0.3803518715532732,-0.3216376792042297,-0.28648645425494124,-0.26514454930742204,-0.2473494860843175,-0.2342505088759026,-0.22385196537044294,-0.21529810731044563,-0.20812056065432216,-0.2019982633415225,-0.1966786417245885,-0.19200661041185185,-0.18785879805528793,-0.1841498619796198,-0.1808075132591398,-0.1777640941514278,-0.17499095876689807,-0.1722992492065032,-0.17009076012095647},
{-0.8863896232456341,-0.506042271474513,-0.3803839440170975,-0.32169277824488063,-0.2865519835892769,-0.26521431206282386,-0.24742256748436375,-0.23432602591446994,-0.22392891654141067,-0.21537580716005778,-0.20819879620324855,-0.20207669150522634,-0.1967570359766455,-0.19208489789230043,-0.18793691952470226,-0.1842277786216755,-0.18088517016047945,-0.17784146263420553,-0.17506803153526107,-0.17237598063161386,-0.17016696797645636},
{-0.8861613001448063,-0.506009532305967,-0.38041639197234645,-0.3217482362459805,-0.28661785780076343,-0.26528440727003044,-0.2474959737746758,-0.23440186138401486,-0.22400617941804057,-0.21545381473833913,-0.20827733566534334,-0.20215541755379718,-0.1968357236247016,-0.19216347503169118,-0.18801532747124838,-0.184305978234363,-0.18096310629982781,-0.17791910732825045,-0.17514537824581566,-0.1724529831529935,-0.17024344302603822},
{-0.8859333102197979,-0.5059771854640758,-0.38044921643250973,-0.3218040541745495,-0.28668407783550265,-0.2653548358595117,-0.24756970582785698,-0.23447801613963293,-0.2240837548719128,-0.21553213090402323,-0.20835617986551824,-0.20223444225501908,-0.19691470545444645,-0.1922423425787656,-0.1880940226939174,-0.1843844615366379,-0.18104132241109028,-0.17799702898565783,-0.1752229996711776,-0.17253025745691275,-0.1703201860319723},
{-0.8857056544222814,-0.5059452319751188,-0.3804824183949336,-0.3218602329999385,-0.28675064460844624,-0.26542559875389315,-0.2476437645454439,-0.23455449103300907,-0.22416164375846392,-0.2156107564969716,-0.20843532960816447,-0.2023137663921375,-0.196993982272204,-0.19232150132171455,-0.18817300595196684,-0.18446322927781011,-0.18111981924630527,-0.17807522832646328,-0.1753008965657159,-0.1726078042440804,-0.17039719776869333},
{-0.8854783337003198,-0.5059136728622491,-0.3805159988605169,-0.3219167736872919,-0.2868175590462556,-0.2654966968684107,-0.2477181507892965,-0.23463128689661517,-0.22423984695052468,-0.21568969237068814,-0.20851478571040616,-0.2023933907458968,-0.19707355485610378,-0.1924009520397476,-0.18825227804558153,-0.18454228219246716,-0.18119859751880085,-0.17815370613362802,-0.17537906968954076,-0.172685624205144,-0.17047447900023371},
{-0.8852513490094225,-0.5058825091612107,-0.3805499588453358,-0.3219736772180113,-0.2868848220851419,-0.26556813112853206,-0.2477928654598145,-0.23470840460964837,-0.22431836532672378,-0.21576893939260344,-0.20859454898021568,-0.2024733161080121,-0.19715342401366343,-0.19248069550576474,-0.1883318397655671,-0.18462162104572144,-0.18127765800443285,-0.17823246314981134,-0.1754575197984991,-0.17276371803620805,-0.17055203052234447},
{-0.8850247013031662,-0.5058517419014663,-0.380584299363818,-0.3220309445611065,-0.28695243465057274,-0.2656399024792222,-0.24786790944978065,-0.23478584501077648,-0.22439719975028538,-0.21584849841389087,-0.20867462024313,-0.20255354324655173,-0.19723359053620015,-0.19256073250789996,-0.18841169188482354,-0.18470124654749043,-0.18135700142039468,-0.17831150012221997,-0.17553624763860398,-0.17284208642797694,-0.17062985309468104},
{-0.8847983915373732,-0.505821372119243,-0.38061902141140536,-0.32208857668064184,-0.2870203976619905,-0.2657120118286116,-0.2479432836340152,-0.2348636089746492,-0.22447635108966324,-0.21592837029828615,-0.20875500031507954,-0.20263407295163915,-0.19731405521798706,-0.19264106383690205,-0.18849183520870838,-0.18478115946459184,-0.1814366285487381,-0.17839081783233723,-0.17561525399122502,-0.172920730096223,-0.17070794751720086},
{-0.8845724206795751,-0.505791400855486,-0.3806541260245808,-0.3221465745686487,-0.28708871207459197,-0.26578446014434576,-0.24801898893991847,-0.23494169736181902,-0.22455582023837906,-0.216008555899748,-0.20883569001404112,-0.20271490601459163,-0.197394818874443,-0.19272169026584152,-0.18857227051591963,-0.1848613605365017,-0.1815165401081913,-0.17847041702225397,-0.17569453959868042,-0.17299964972829684,-0.17078631455331106},
{-0.8843467896872141,-0.5057618291506856,-0.38068961420941605,-0.3222049392018107,-0.28715737881987025,-0.2658572483522903,-0.2480950262463466,-0.2350201110435819,-0.22463560806863825,-0.21608905609326712,-0.2089166901565136,-0.20279604321945044,-0.19747588230160318,-0.19280261260081488,-0.18865299860880214,-0.1849418505245808,-0.18159673687927125,-0.17855029849170023,-0.17577410523119852,-0.17307884603280854,-0.1708649550180894},
{-0.8841214995274242,-0.5057326580429162,-0.3807254869905137,-0.3222636715613021,-0.2872263988346617,-0.26593037737779923,-0.24817139646290798,-0.23509885087804605,-0.22471571545708002,-0.21616987173337066,-0.20899800155785897,-0.20287748534821048,-0.19755724630357463,-0.19288383163768685,-0.18873402027713837,-0.18502263016779352,-0.1816772195866747,-0.17863046298094787,-0.17585395163399653,-0.17315831969926876,-0.170943869670225},
{-0.8838965511672541,-0.5057038885836391,-0.38076174538821306,-0.32232277262784237,-0.2872957730521648,-0.26600384817407985,-0.24824810049835833,-0.23517791774850139,-0.22479614328267417,-0.2162510037007337,-0.2090796250429321,-0.20295923319645226,-0.19763891168844339,-0.19296534815180166,-0.18881533630462854,-0.1851037002151088,-0.18175798900091422,-0.17871091127727823,-0.1759340795646267,-0.17323807143367276,-0.17102305930842476},
{-0.8836719455796072,-0.5056755218222975,-0.3807983904370076,-0.3223822433891428,-0.28736550243274905,-0.2660776616918952,-0.24832513925508692,-0.23525731254079574,-0.22487689245014053,-0.2163324528717112,-0.2091615614487523,-0.20304128756384898,-0.19772087927827897,-0.19304716297267532,-0.188896947512319,-0.18518506144357616,-0.1818390459047805,-0.17879164417428228,-0.17601448979053202,-0.17331810194991704,-0.17110252473582932},
{-0.8834476837366196,-0.5056475588028206,-0.38083542315519026,-0.32244208482882186,-0.287435587901939,-0.26615181888638517,-0.24840251366856592,-0.2353370361196312,-0.2249579638211685,-0.21641422010350198,-0.20924381158494043,-0.2031236492451285,-0.19780314987377778,-0.19312927688042691,-0.18897885467339393,-0.18526671458749888,-0.18192039104053492,-0.17887266243900513,-0.1760951830679005,-0.17339841195126837,-0.1711822667218712},
{-0.8832237666164531,-0.5056200005917333,-0.3808728445802103,-0.3225022979537471,-0.2875060304213548,-0.2662263206960347,-0.24848022461992514,-0.23541708937341355,-0.22503935830746968,-0.2164963062842844,-0.20932637627146278,-0.2032063190183635,-0.19788572429365558,-0.19321169069030475,-0.18906105860656908,-0.18534866041420628,-0.18200202515748742,-0.17895396687003995,-0.17617616014410942,-0.17347900212388367,-0.17126228608083238},
{-0.8830001951961322,-0.505592848239786,-0.3809106557499149,-0.32256288374316,-0.2875768309498312,-0.2663011680768932,-0.2485582730528222,-0.235497473196574,-0.22512107678016946,-0.21657871229041348,-0.20940925634334917,-0.20328929769237902,-0.1979686033582766,-0.19329440520692742,-0.18914356009031508,-0.1854308996936993,-0.1820839490386561,-0.17903555824807427,-0.1762574217715951,-0.1735598731980872,-0.1713425836065312},
{-0.8827769704573143,-0.5055661028059717,-0.3809488576930562,-0.3226238431957995,-0.28764799042198774,-0.26637636199052395,-0.2486366598923837,-0.23557818847791623,-0.22520312013983812,-0.2166614390058612,-0.2094924526264208,-0.20337258608003594,-0.1980517878852197,-0.19337742124122315,-0.18922635993226322,-0.18551343318711133,-0.18216616345381453,-0.17911743737022334,-0.17633896872121113,-0.17364102586697072,-0.17142316010932745},
{-0.8825540933833622,-0.505539765352438,-0.3809874514575995,-0.32268517730437907,-0.28771950979569283,-0.2664519033845636,-0.24871538603667886,-0.23565923610220807,-0.22528548927760994,-0.21674448731619123,-0.20957596594075767,-0.20345618496577345,-0.19813527869263226,-0.19346073961207821,-0.18930945893720263,-0.18559626164000065,-0.18224866916870042,-0.1791996050326361,-0.17642080171918906,-0.1737224608424981,-0.1715040163841195},
{-0.8823315649638346,-0.5055138369450844,-0.3810264380825288,-0.32274688707565247,-0.2877913900434237,-0.26652779323882214,-0.24879445245039733,-0.2357406169735441,-0.2253681850889393,-0.21682785809520055,-0.20965979713361094,-0.20354009516711358,-0.19821907661105342,-0.1935443611384926,-0.18939285790833083,-0.1856793858444803,-0.18233146695729374,-0.17928206202174124,-0.17650292154922909,-0.173804178831233,-0.17158515324979362},
{-0.8821093861829183,-0.5054883186490429,-0.3810658186030196,-0.32280897350074156,-0.28786363210207355,-0.2666040325070185,-0.24887386002882295,-0.23582233198084168,-0.22545120847263433,-0.21691155224499425,-0.2097439470160225,-0.20362431748446852,-0.19830318247738887,-0.19362828663861364,-0.18947655764168303,-0.18576280655997834,-0.18241455759323344,-0.1793648091689306,-0.17658532893574375,-0.17388618053780647,-0.1716665715253498},
{-0.881887558035487,-0.5054632115376592,-0.38110559408482914,-0.32287143759782566,-0.28793623695975157,-0.2666806221479874,-0.2489536097408518,-0.23590438205206965,-0.22553456033631392,-0.21699557064602004,-0.2098284164349593,-0.20370885273541717,-0.19838759710859222,-0.19371251694519742,-0.18956055895330337,-0.18584652457536777,-0.18249794186021973,-0.17944784724534202,-0.17666802466436593,-0.17396846668094668,-0.17174827203149334},
{-0.8816660815162436,-0.5054385166829434,-0.38114576556341717,-0.32293428036524574,-0.2880092055731325,-0.2667575631421073,-0.24903370250228818,-0.23598676807830543,-0.22561824156372268,-0.21707991421345696,-0.2099132062209037,-0.20379370174487121,-0.19847232134225123,-0.19379705288531568,-0.18964486264320612,-0.18593054065837578,-0.18258162054763716,-0.1795311770915191,-0.17675100947508326,-0.1740510379687521,-0.17183025559569387},
{-0.8814449576212269,-0.5054142351530118,-0.3811863341027788,-0.32299750280367334,-0.2880825388855328,-0.266834856451851,-0.24911413924462522,-0.23606949096438257,-0.22570225305759095,-0.21716458381087023,-0.2099983172008706,-0.20387886531182176,-0.19855735601663582,-0.19388189528206112,-0.18972946950128744,-0.18601485556553143,-0.18266559441656227,-0.17961479949786963,-0.17683428409696944,-0.174133895098862,-0.1719125230341092},
{-0.8812241873509095,-0.5053903680357905,-0.3812273007460476,-0.3230611059298667,-0.288156237891144,-0.2669125030534474,-0.2491949209379527,-0.2361525516199663,-0.22578659572405968,-0.21724958035059672,-0.21008375022159953,-0.20396434425447296,-0.19864270195489553,-0.19396704495829908,-0.18981438035626752,-0.186099470100487,-0.18274986426632722,-0.1796987152677616,-0.17691784932219434,-0.17421703879927009,-0.17199507517966595},
{-0.8810037717075829,-0.5053669164045687,-0.3812686665622209,-0.3231250907592198,-0.2882303035576683,-0.2669905039283549,-0.24927604850620355,-0.2362359509799603,-0.2258712704706909,-0.21733490473866368,-0.21016950611459606,-0.2040501394191665,-0.19872836001246696,-0.19405250278418862,-0.1898995960075922,-0.1861843850360856,-0.18283443087597107,-0.17978292523463324,-0.17700170588415176,-0.1743004697705146,-0.17207791288910812},
{-0.8807837116994506,-0.5053438813482671,-0.38131043261307696,-0.323189458307354,-0.2883047368628695,-0.26706886004620856,-0.24935752290463142,-0.23631968994880026,-0.22595627819879383,-0.21742055786313585,-0.21025558572813452,-0.20413625160125548,-0.19881433102762003,-0.194138269580435,-0.18998511726647394,-0.18626960116284863,-0.1829192950579568,-0.17986743020202312,-0.17708585456790615,-0.17438418873888395,-0.17216103698069674},
{-0.8805640083303388,-0.5053212639473088,-0.38135259995294746,-0.32325420958642326,-0.2883795387721193,-0.26714757238096354,-0.24943934508405619,-0.23640376945326125,-0.22604161982161486,-0.21750654063680486,-0.21034198989713104,-0.20422268167732227,-0.19890061583799934,-0.1942243461978137,-0.19007094494480725,-0.18635511928226833,-0.18300445760104367,-0.17995223099239865,-0.17717029611907265,-0.17446819641372713,-0.1722444483012282},
{-0.8803446626104403,-0.5052990652893925,-0.3813951696561162,-0.3233193456121626,-0.2884547102692636,-0.2672266419224911,-0.24952151599001127,-0.23648819041875413,-0.22612729623676842,-0.2175928539626284,-0.2104287194653125,-0.20430943043635352,-0.19898721528966234,-0.19431073347794836,-0.19015707985022345,-0.18644094016059398,-0.18308991929797003,-0.18003732843351372,-0.17725503129611297,-0.17455249351104385,-0.17232814769749893},
{-0.880125675555405,-0.5052772864667077,-0.381438142788852,-0.3233848674176443,-0.28853025234417373,-0.26730606965520565,-0.2496040365917338,-0.23657295378518484,-0.22621330835499975,-0.21767949873327552,-0.2105157752887976,-0.20439649874242605,-0.19907413023935305,-0.19439743226394057,-0.19024352278671586,-0.18652706460477475,-0.1831756809585272,-0.1801227233243594,-0.17734006088102205,-0.17463708076871853,-0.17241213603290362},
{-0.8799070481800584,-0.5052559285725806,-0.3814815204246429,-0.32345077602116135,-0.2886061659684742,-0.2673858565734122,-0.2496869078292434,-0.23665806045926274,-0.2262996570942164,-0.21776647586784748,-0.21060315820562892,-0.20448388743574242,-0.19916136151562114,-0.19448444341924187,-0.19033027457777507,-0.18661349339612343,-0.18326174337346401,-0.18020841650377406,-0.17742538563140897,-0.17472195889195064,-0.17249641412263372},
{-0.8796887815050809,-0.5052349927013893,-0.3815253036405011,-0.32351707245169337,-0.28868245214550825,-0.26746600364305095,-0.2497701306922977,-0.23674351139607097,-0.22638634335032748,-0.21785378628015906,-0.21069086906732082,-0.20457159734951347,-0.19924890999857325,-0.19457176779832253,-0.19041733604001365,-0.1867002273691014,-0.18334810739099794,-0.18029440877973002,-0.17751100633068972,-0.1748071286172035,-0.17258098283753043},
{-0.8794708765489645,-0.5052144799533096,-0.38156949351321146,-0.32358375774009573,-0.28875911185195946,-0.26754651186905676,-0.24985370610329483,-0.2368293075278416,-0.22647336805607665,-0.21794143086202666,-0.2107789087170886,-0.20465962935338666,-0.19933677651727066,-0.1946594062506506,-0.1905047079757196,-0.18678726729092432,-0.1834347737679991,-0.1803807009817433,-0.17759692375574332,-0.1748925906752561,-0.1726658430062571},
{-0.879253334336795,-0.5051943914249648,-0.3816140911138177,-0.32365083290596885,-0.2888361460781539,-0.2676273822355597,-0.24993763505256084,-0.2369154497939121,-0.2265607321003813,-0.21802941054136227,-0.21086727802713767,-0.2047479842894404,-0.19942496193328907,-0.1947473596501368,-0.19059239120741722,-0.18687461397104244,-0.18352174337684346,-0.180467293929496,-0.17768313867736651,-0.17497834580410654,-0.1727509954969264},
{-0.8790361559005362,-0.5051747282286954,-0.38165909754422955,-0.323718298995459,-0.288913555831698,-0.26770861574914306,-0.25002191851746147,-0.23700193913197154,-0.22664843641661037,-0.21811772622135095,-0.21095597783835274,-0.2048366630257874,-0.19951346711326323,-0.19483562884596495,-0.19068038655228747,-0.1869622682231693,-0.1836090170152147,-0.18055418843692905,-0.17776965188971872,-0.17506439473510227,-0.17283644115929064},
{-0.8788193422637676,-0.5051554914599024,-0.3817045138724211,-0.32378615704226377,-0.28899134210013244,-0.2677902134111605,-0.2501065574383574,-0.23708877651000648,-0.22673648191596385,-0.21820637881870653,-0.21104500901549272,-0.20492566641712529,-0.19960229290802545,-0.194924214714149,-0.1907686948284777,-0.1870502308680102,-0.1836965955226333,-0.18064138535567054,-0.1778564641798539,-0.17515073824262117,-0.17292218083400712},
{-0.8786028944605562,-0.5051366822333421,-0.3817503411971188,-0.3238544080880388,-0.28906950589566804,-0.2678721761930092,-0.2501915528013683,-0.23717596285661102,-0.22682486950964176,-0.2182953692472438,-0.2111343724051835,-0.20501499532019807,-0.19969144018068619,-0.19501311812439326,-0.1908573168624912,-0.18713850269432442,-0.1837844797077537,-0.18072888546390686,-0.17794357634193148,-0.17523737705636222,-0.17300821537128286},
{-0.8783868135259922,-0.5051183016508958,-0.3817965806076131,-0.32392305316272996,-0.28914804820328754,-0.26795450510320507,-0.2502769055756744,-0.2372634991223208,-0.22691360011504003,-0.2183846984225397,-0.2112240688913971,-0.20510465062329786,-0.199780909786341,-0.19510233993867132,-0.19094625345098848,-0.18722708452884262,-0.18387267041214272,-0.18081668960564912,-0.17803098914708926,-0.17532431193495768,-0.17309454561620896},
{-0.8781711005004524,-0.5051003508413032,-0.38184323320012936,-0.3239920933168605,-0.28922697004310294,-0.2680372011658392,-0.25036261673955096,-0.23735138628245522,-0.22700267465410207,-0.21847436727745162,-0.21131409932058887,-0.2051946331993122,-0.1998707026029365,-0.1951918810405573,-0.19103550545406733,-0.18731597718078774,-0.18396116849584132,-0.18090479860597952,-0.17811870342387692,-0.17541154364414524,-0.17318117243075903},
{-0.8779557564207039,-0.5050828309064741,-0.3818903000683349,-0.3240615296097076,-0.2893062724324409,-0.2681202653800483,-0.25044868729588643,-0.23743962528874363,-0.22709209406326636,-0.2185643767069223,-0.21140446457502549,-0.20528494393033725,-0.1999608195045539,-0.19528174230430295,-0.19112507366065756,-0.18740518150087837,-0.18404997479058238,-0.18099321327633788,-0.17820671996344117,-0.1754990729764927,-0.17326809665399878},
{-0.8777407823340013,-0.5050657429709418,-0.38193778231442366,-0.32413136306286106,-0.28938595634929243,-0.268203698726893,-0.2505351181670221,-0.23752821707915928,-0.22718185922548173,-0.21865472763181515,-0.2114951655070172,-0.20537558367811926,-0.20005126132735995,-0.19537192459137032,-0.19121495891448603,-0.18749469825650067,-0.1841390901269051,-0.1810819344360084,-0.17829503955732662,-0.1755869006778994,-0.1733553191273245},
{-0.8775261792839331,-0.5050490881567669,-0.38198568104354536,-0.32420159475628907,-0.2894660228470798,-0.2682875022326243,-0.2506219103786975,-0.23761716264931465,-0.2272719710892943,-0.2187454209872044,-0.21158620298979258,-0.2054665533428306,-0.20014202897783662,-0.1954624288188711,-0.19130516203841808,-0.18758452832588546,-0.18422851537991392,-0.18117096289250867,-0.17838366303305975,-0.1756750275588388,-0.17344284071401717},
{-0.8773119483243761,-0.5050328675847311,-0.38203399735260746,-0.3242722257264745,-0.2895464729148216,-0.2683716769059856,-0.2507090648953749,-0.237706462941901,-0.22736243056965577,-0.2188364576829258,-0.21167757790323094,-0.20555785381998248,-0.20023312330397403,-0.19555325583286276,-0.19139568385128314,-0.18767467251115022,-0.18431825139015245,-0.18126029947353572,-0.1784725911705891,-0.17576345439863417,-0.17353066225177827},
{-0.8770980905015335,-0.5050170823800499,-0.38208273235818524,-0.32434325702331535,-0.2896273075794511,-0.26845622375554967,-0.2507965826872578,-0.2377961189256439,-0.22745323859362543,-0.21892783863984278,-0.21176929111453546,-0.20564948598917,-0.20032454518604936,-0.1956444065384062,-0.1914865251862352,-0.187765131634535,-0.184408299010272,-0.18134994499439472,-0.17856182480664984,-0.17585218199701558,-0.17361878458120827},
{-0.8768846068768141,-0.5050017336767496,-0.3821318871733297,-0.32441468972677967,-0.28970852787091417,-0.26854114379960947,-0.2508844647848605,-0.23788613159371153,-0.22754439608502253,-0.21901956478967577,-0.2118613435167731,-0.20574145075573824,-0.20041629551252527,-0.1957358818266357,-0.19157768687244925,-0.1878559065484069,-0.18449865913510166,-0.1814399002584537,-0.17865136475791132,-0.17594121116309225,-0.17370720857365995},
{-0.8766714985001727,-0.5049868225943328,-0.3821814628990978,-0.32448652488244534,-0.28979013479550986,-0.2686264380579928,-0.2509727121251899,-0.2379765018919784,-0.2276359039685758,-0.219111637043909,-0.2119537359781134,-0.20583374901963225,-0.2005083751547545,-0.19582768257993166,-0.19166916974927517,-0.18794699808472615,-0.1845893325996144,-0.18153016609937822,-0.1787412118274574,-0.1760305427025628,-0.17379593504597324},
{-0.8764587664383043,-0.504972350280326,-0.38223146067241487,-0.32455876356465296,-0.28987212940984364,-0.2687121075410346,-0.25106132572983597,-0.23806723082122971,-0.22772776318856813,-0.2192040563527371,-0.21204646939128224,-0.205926381689153,-0.2006007849990965,-0.19591980970341183,-0.19176097465617659,-0.18803840708432062,-0.18468032030489212,-0.18162074332542488,-0.17883136685554746,-0.17612017744886543,-0.17388496487575367},
{-0.8762464117522484,-0.5049583178655723,-0.38228188159672527,-0.3246314068454126,-0.2899545127374381,-0.2687981532715753,-0.2511503065891816,-0.23815831935030474,-0.2278199746521068,-0.2192968236336128,-0.21213954463570417,-0.20601934966748559,-0.20069352592162204,-0.19601226407809236,-0.19185310242323794,-0.18813013438807502,-0.18477162310853146,-0.18171163275792424,-0.1789218306582825,-0.1762101162191243,-0.17397429889268778},
{-0.8760344355082452,-0.5049447264837568,-0.38233272680434993,-0.3247044557771801,-0.29003728578959453,-0.26888457626569107,-0.25123965567138384,-0.2382497684522491,-0.22791253930381572,-0.21938993979972565,-0.21223296259967128,-0.2061126538683311,-0.20078659880664418,-0.19610504661199002,-0.19194555387639411,-0.18822218082016207,-0.18486324188182834,-0.18180283521536467,-0.17901260405386665,-0.17630035986218218,-0.1740639379436857},
{-0.8758228387759175,-0.5049315772802743,-0.38238399741032936,-0.3247779114396394,-0.29012044962559,-0.2689713775626501,-0.25132937400019273,-0.23834157912511955,-0.2280054580747901,-0.21948340579825754,-0.21232672417676213,-0.20620629520027478,-0.20088000454802568,-0.1961981581936243,-0.19203832988188196,-0.18831454724153218,-0.18495517752182877,-0.1818943515064575,-0.17910368786971276,-0.1763909091964706,-0.1741538828826492},
{-0.8756116226271331,-0.5049188714023671,-0.3824356945564773,-0.32485177491372497,-0.29020400527531365,-0.26905855818614555,-0.2514194625421169,-0.2384337523438944,-0.22809873190033159,-0.2195772225606447,-0.2124208302589068,-0.20630027457775668,-0.20097374403354706,-0.1962915997387995,-0.19213143125915622,-0.18840723450199448,-0.1850474308961907,-0.18198618246060505,-0.17919508294676234,-0.1764817650694681,-0.17424413455154308},
{-0.8754007881361474,-0.5049066099944639,-0.3824878193685777,-0.3249260472769038,-0.29028795379610983,-0.26914611915202613,-0.2515099223206789,-0.2385262891102684,-0.2281923617230177,-0.2196713910217909,-0.212515281763217,-0.20639459291555795,-0.20106781815070462,-0.1963853721474038,-0.1922248588704747,-0.1885002434588614,-0.1851400029144088,-0.18207832890550435,-0.17928679013147075,-0.17657292837100158,-0.17433469379813005},
{-0.8751903363808538,-0.5048947942038922,-0.3825403729783261,-0.3250007296055628,-0.2903722962162192,-0.2692340614871114,-0.2516007543123919,-0.23861919040086832,-0.22828634846041496,-0.21976591212154517,-0.21261007955678224,-0.20648925115864358,-0.2011622278013192,-0.19647947631852958,-0.19231861355854107,-0.18859357495955464,-0.18523289445397495,-0.1821707916554942,-0.17937881021515523,-0.17666439992461846,-0.1744255614515282},
{-0.8749802684441192,-0.5048834251815038,-0.38259335652622894,-0.3250758229813755,-0.2904570335890071,-0.2693223862356149,-0.2516919595258287,-0.23871245722767753,-0.2283806930814194,-0.21986078679276488,-0.21270522457473362,-0.20658425020741333,-0.2012569738758998,-0.1965739131602504,-0.19241269617185708,-0.18868722985536124,-0.18532610640329494,-0.18226357154992456,-0.1794711440937249,-0.1767561806058211,-0.1745167383768944},
{-0.8747705854059404,-0.5048725040806517,-0.382646771143925,-0.32515132849817974,-0.2905421669703401,-0.2694110944362933,-0.2517835389791685,-0.23880609056357116,-0.2284753965004711,-0.21995601597535597,-0.2128007177025779,-0.20667959100705957,-0.2013520572874654,-0.1966686836021836,-0.1925071075621645,-0.18878120902996898,-0.18541963967965103,-0.18235666941001227,-0.17956379257827848,-0.1768482712963646,-0.17460822541801235},
{-0.8745612883564888,-0.5048620320635564,-0.382700617991361,-0.3252272472373079,-0.2906276974058528,-0.2695001871226168,-0.25187549363840844,-0.23890009142627378,-0.2285704596839082,-0.22005160061598872,-0.21289655986583966,-0.20677527446372324,-0.2014474789200449,-0.19676378852523158,-0.19260184857711238,-0.18887551331482655,-0.1855134951397872,-0.18245008608789703,-0.17965675652152413,-0.17694067287141024,-0.17470002339558732},
{-0.8743523783836906,-0.5048520102824909,-0.38275489819551467,-0.3253035802920863,-0.2907136259710228,-0.2695896653162322,-0.2519678245424757,-0.2389944608195833,-0.22866588356617967,-0.22014754168390027,-0.2129927519642365,-0.20687130153442013,-0.20154323969092047,-0.19685922886742446,-0.19269692009777373,-0.1889701436112432,-0.1856076737264516,-0.18254382240627365,-0.17975003678088797,-0.1770333862190796,-0.17479213317346876},
{-0.8741438565770636,-0.5048424399096803,-0.3828096129226424,-0.3253803287688015,-0.2907999537134742,-0.26967953007658707,-0.25206053267368134,-0.2390891997352469,-0.22876166908747564,-0.22024384009739606,-0.2130892949239751,-0.20696767313665987,-0.20163934050458465,-0.19695500552387557,-0.1927923229610542,-0.1890651007713018,-0.18570217631952346,-0.18263787921955554,-0.17984363420293903,-0.1771264122300522,-0.17488455557014504},
{-0.8739357240342827,-0.5048333220969994,-0.3828647633046103,-0.32545749374151,-0.29088668168662934,-0.2697697824128795,-0.2521536190363918,-0.23918430917859723,-0.228857817204414,-0.22034049682798695,-0.2131861896538112,-0.20706439021688539,-0.20173578225592337,-0.19705111942272424,-0.19288805804040976,-0.1891603856656161,-0.185797003811615,-0.1827322573717538,-0.17993754965232256,-0.17721975180074878,-0.17497729144150753},
{-0.8737279818547563,-0.5048246580221303,-0.3829203505176224,-0.325535076328606,-0.2909738109761406,-0.2698604234217328,-0.25224708467607115,-0.23927979017094003,-0.2289543288715663,-0.2204375128245033,-0.21328343708307784,-0.2071614537080677,-0.20183256588512677,-0.19714757147085038,-0.192984126201452,-0.1892559991873668,-0.18589215712279383,-0.18282695769056545,-0.18003178399175113,-0.1773134058126402,-0.1750703416171291},
{-0.8735206311386605,-0.5048164488486577,-0.38297637570536835,-0.3256130776296118,-0.29106134263935246,-0.2699514541232588,-0.2523409305597397,-0.23937564371715325,-0.22905120504663046,-0.22053488904168717,-0.21338103814252918,-0.20725886456250464,-0.20192969230026847,-0.19724436259735967,-0.19308052831235045,-0.18935194222092377,-0.1859876371472069,-0.18292198107735658,-0.18012633807836664,-0.1774073752019376,-0.17516370692840155},
{-0.8733136729897524,-0.5048086957503415,-0.3830328400342182,-0.3256914987473465,-0.2911492777560625,-0.2700428755522353,-0.25243515771575176,-0.2394718708440564,-0.22914844667400303,-0.22063262646690873,-0.21347899375217594,-0.20735662370236696,-0.20202716241300323,-0.1973414937304483,-0.19317726524712953,-0.1894482156355366,-0.18608344479082461,-0.1830173283378258,-0.18022121279398107,-0.17750166086972285,-0.175257388203363},
{-0.8731071085127553,-0.5048013999063983,-0.3830897446620156,-0.3257703407882673,-0.29123761739271004,-0.2701346887657792,-0.2525297671565454,-0.23956847253879232,-0.2292460547064934,-0.22073072604524668,-0.21357730485169668,-0.20745473208813792,-0.20212497714663868,-0.19743896576079578,-0.19327433786452275,-0.1895448203433716,-0.18617958094057485,-0.1831130003662338,-0.1803164089988627,-0.17759626370752812,-0.17535138627351898},
{-0.8729009388222835,-0.5047945624954764,-0.3831470907632024,-0.325849604862924,-0.2913263626306275,-0.2702268948264077,-0.2526247598827922,-0.23966544985324845,-0.22934403012391158,-0.2208291887512246,-0.21367597236951497,-0.20755319066461198,-0.20222313743596487,-0.1975367796284786,-0.193371747060894,-0.18964175722453547,-0.18627604651675256,-0.18320899801835822,-0.18041192759659452,-0.17769118465321299,-0.1754457019929987},
{-0.8726951650307058,-0.5047881846799669,-0.3832048794913021,-0.32592929207862653,-0.29141551454591763,-0.2703194947813472,-0.25272013693319195,-0.23976280379099535,-0.22944237386872146,-0.22092801555925234,-0.21377499725463167,-0.2076520003930682,-0.2023216442090643,-0.19763493626044237,-0.19346949371413302,-0.18973902718846603,-0.18637284242856822,-0.18330532215367157,-0.18050776945489133,-0.17778642461644267,-0.17554033616784182},
{-0.8724897882491405,-0.5047822676665419,-0.38326311203644536,-0.32600940357156105,-0.2915050742283256,-0.27041248969499065,-0.2528158992987528,-0.23986053538123997,-0.22954108692573527,-0.22102720745948545,-0.21387438044069995,-0.20775116220471546,-0.2024204983969753,-0.1977334365740262,-0.19356757870428964,-0.1898366311298787,-0.18646996955305895,-0.18340197366592292,-0.18060393547176545,-0.17788198452660708,-0.17563528962506325},
{-0.8722848096015525,-0.5047768126314622,-0.38332178956994767,-0.32608994045347117,-0.29159504277600945,-0.2705058806217835,-0.25291204802272205,-0.23995864566541059,-0.22964017025054773,-0.22112676543491716,-0.21397412286819417,-0.20785067706384552,-0.2025197009378985,-0.19783228150248533,-0.1936660029157906,-0.18993456998362035,-0.18656742881546506,-0.18349895339872546,-0.18070042654449026,-0.17797786531212978,-0.17573056320350133},
{-0.8720802302100878,-0.504771820767246,-0.38338091326960466,-0.32617090384547964,-0.2916854212729163,-0.2705996686210028,-0.25300858410935234,-0.24005713566373288,-0.22973962482399202,-0.2212266904689386,-0.21407422550998945,-0.20795054593213536,-0.2026192527649755,-0.19793147196554628,-0.19376476724170288,-0.19003284464605485,-0.1866652211048745,-0.18359626225731063,-0.18079724355754934,-0.17807406788966773,-0.17582615772965937},
{-0.8718760511931691,-0.5047672932558385,-0.38344048431184774,-0.3262522948583637,-0.29177621078929405,-0.2706938547462414,-0.25310550856835334,-0.2401560063950683,-0.22983945159836594,-0.2213269835431788,-0.21417468929115557,-0.20805076975665315,-0.20271915482692293,-0.1980310088877104,-0.19386387256884063,-0.19013145601968517,-0.18676334731742372,-0.183693901112008,-0.18089438742924813,-0.17817059318377915,-0.17592207402179838},
{-0.8716722736888585,-0.5047632313055601,-0.3835005038867507,-0.32633411464195206,-0.29186741245121084,-0.27078844008622127,-0.25320282245974113,-0.24025525892568567,-0.22993965156268814,-0.22142764565728612,-0.21427551517712118,-0.20815134950373704,-0.20281940807751653,-0.19813089321149846,-0.19396331980067316,-0.19023040505913968,-0.18686180835334198,-0.18379187083621673,-0.180991859059759,-0.1782674421564252,-0.17601831291148073},
{-0.871468898817767,-0.5047596360952298,-0.38356097317029025,-0.32641636430338394,-0.29195902732880086,-0.27088342569555834,-0.2533005267624162,-0.24035489426148615,-0.23004022570250982,-0.22152867782500607,-0.21437670412962007,-0.20825228614012303,-0.20292001347320365,-0.19823112586163916,-0.19406310983487174,-0.19032969268920397,-0.1869606051110395,-0.18389017234522953,-0.18108965938773736,-0.1783646156969212,-0.17611487521486424},
{-0.8712659277243233,-0.5047565088428314,-0.3836218933737996,-0.32649904499538707,-0.2920510565554082,-0.2709788126412036,-0.25339862253309775,-0.24045491348363157,-0.23014117500196107,-0.22163008106082316,-0.21447825710447432,-0.20835358063038711,-0.20302097195445867,-0.19833170777320674,-0.1941632435673455,-0.19042931984716915,-0.18705973849654356,-0.18398880651028549,-0.18118778931312818,-0.1784621147868961,-0.17621176178340647},
{-0.8710633615391998,-0.5047538507415652,-0.38368326567461963,-0.32658215785619404,-0.2921435012246434,-0.2710746020007946,-0.2534971107906472,-0.24055531761308657,-0.2302425004189672,-0.22173185636165726,-0.214580175066601,-0.2084552339491097,-0.20312228449762415,-0.19843263987809223,-0.19426372191833252,-0.19052928746293674,-0.18715920940326214,-0.18408777422666844,-0.18128624975361163,-0.17855994033493516,-0.1763089734154164},
{-0.8708612014030734,-0.5047516629961137,-0.3837450912793656,-0.32666570400266437,-0.29223636242249995,-0.2711707948390085,-0.25359599255483545,-0.24065610769508794,-0.230344202973356,-0.22183400473682013,-0.21468245898012128,-0.20855724705444345,-0.20322395204681243,-0.19853392309136098,-0.1943645457785692,-0.19062959647487787,-0.18725901871459882,-0.18418707640552157,-0.18138504166785197,-0.17865809328941396,-0.1764065109226749},
{-0.8706594484606001,-0.5047499468180945,-0.3838073713757808,-0.3267496845851383,-0.2923296412801619,-0.2712673922458748,-0.2536952688703309,-0.2407572847922097,-0.23044628363481934,-0.2219365272105165,-0.21478510981046384,-0.20865962091988877,-0.20332597559297483,-0.19863555837139302,-0.1944657160662473,-0.19073024784597692,-0.18735916733436397,-0.18428671391626494,-0.18148416595511208,-0.1787565745817119,-0.17650437516692818},
{-0.870458103858823,-0.5047487034179312,-0.3838701071799733,-0.3268341007560025,-0.2924233389126698,-0.2713643953042606,-0.25379494075548337,-0.24085884995338347,-0.2305487434153406,-0.22203942481115746,-0.21488812854431671,-0.20876235653651065,-0.20342835609238819,-0.19873754664780563,-0.19456723370382178,-0.1908312425314307,-0.18745965615681826,-0.18438668768732214,-0.18158362356967928,-0.1788553851485517,-0.17660256692926168},
{-0.8702571687456668,-0.504747934010993,-0.3839332998900886,-0.32691895365479695,-0.29251745643460936,-0.27146180507588724,-0.2538950092580876,-0.24096080423930744,-0.23065158329558244,-0.2221426985830135,-0.21499151613573986,-0.2088654548640534,-0.20353109452520357,-0.19883988886090265,-0.19466909960806333,-0.19093258149297299,-0.18756048609748177,-0.18448699860721263,-0.1816834154687399,-0.1789545259583747,-0.1767010870449326},
{-0.8700566442741433,-0.5047476398083859,-0.3839969507168348,-0.3270042444333967,-0.2926119949479471,-0.2715596226659045,-0.2539954754025189,-0.24106314871045242,-0.23075480430804873,-0.22224634953630584,-0.21509527357022762,-0.20896891691592145,-0.20363419188493026,-0.19894258594331404,-0.19477131468732978,-0.19103426569148496,-0.18766165804663615,-0.1845876475971977,-0.18178354256940565,-0.17905399793778543,-0.17679993632879132},
{-0.8698565315970939,-0.5047478220338917,-0.3840610608688735,-0.32708997424123254,-0.2927069555993853,-0.27165784913944435,-0.25409634023793615,-0.2411658844255271,-0.23085840742857044,-0.2223503787276968,-0.21519940184117559,-0.20907274364111572,-0.20373764913711057,-0.19904563883170567,-0.19487387988635874,-0.19113629608756355,-0.18776317289461986,-0.18468863559019155,-0.18188400585552245,-0.17915380200861364,-0.1768991156050106},
{-0.8696568318772222,-0.5047484819111787,-0.3841256315674286,-0.3271761442352954,-0.29280233950532875,-0.2717564856094441,-0.2541976048158858,-0.2412690124612027,-0.2309623936805565,-0.2224547871896334,-0.21530390191105653,-0.20917693605235854,-0.20384146729634267,-0.19914904848360493,-0.1949767961268094,-0.19123867366403147,-0.18786503155803302,-0.18478996346112808,-0.18198480625335378,-0.17925393916806343,-0.1769986256977063},
{-0.8694575462760668,-0.5047496206618689,-0.3841906640329853,-0.3272627555734289,-0.2928981477836601,-0.2718555331606467,-0.2542992701391995,-0.2413725338697077,-0.23106676406541737,-0.2225595759663861,-0.21540877475746356,-0.20928149512639038,-0.20394564732760045,-0.1992528158223763,-0.1950800643153343,-0.19134139939279748,-0.1879672349376733,-0.18489163215150484,-0.18208594474060646,-0.17935441031886512,-0.17709846738989654},
{-0.8692586759563312,-0.5047512395146327,-0.38425615948301584,-0.32734980941501135,-0.29299438158545854,-0.2719549928777951,-0.25440133730688785,-0.24147644975300864,-0.23117151961525906,-0.22266474613815035,-0.21551402138425146,-0.20938642186871448,-0.2040501902492906,-0.1993569418071388,-0.19518368542543385,-0.19144447426572242,-0.18806978395656415,-0.1849936425943497,-0.1821874222643487,-0.17945521645265217,-0.17719864153770004},
{-0.8690602220873416,-0.5047533397093389,-0.3843221191434054,-0.32743730693300677,-0.2930910420313353,-0.2720548658697908,-0.2545038073320143,-0.2415807611632772,-0.23127666135252412,-0.22277029873498577,-0.21561964277236711,-0.2094917172801729,-0.20415509704866963,-0.19946142737688888,-0.1952876603793925,-0.19154789925562454,-0.18817267951436634,-0.18509599569654256,-0.18228923979029332,-0.1795563584856268,-0.17729914892237275},
{-0.8688621858375427,-0.5047559224677798,-0.3843885442354349,-0.32752524926644355,-0.2931881302599777,-0.2721551532160902,-0.2546066812641925,-0.24168546917923095,-0.2313821902755535,-0.2228762348245823,-0.21572563991190918,-0.2095973823497843,-0.20426036874113151,-0.19956627347301037,-0.19539199010102948,-0.1916516753592532,-0.18827592252216618,-0.18519869243436915,-0.18239139829853457,-0.17965783739435892,-0.17739999038377618},
{-0.8686645683861514,-0.5047589890374411,-0.3844554360079542,-0.3276136376112504,-0.29328564741484797,-0.2722558560489574,-0.25470996018850656,-0.24179057490260902,-0.23148810744095272,-0.22298255546115797,-0.2158320137858709,-0.20970341808413195,-0.20436600633280477,-0.19967148105735077,-0.1954966755565124,-0.191755803565286,-0.18837951391861907,-0.18530173368134228,-0.18249389875558109,-0.17975965413324957,-0.17750116671504657},
{-0.8684673709086326,-0.5047625406563725,-0.3845227956838926,-0.3277024731364122,-0.29338359464077257,-0.2723569754660389,-0.2548136451300138,-0.24189607940633095,-0.23159441387787183,-0.2230892617372433,-0.2159387654012903,-0.2098098255040668,-0.20447201084022026,-0.1997770510639043,-0.19560171768023338,-0.19186028486882378,-0.18848345461839244,-0.1854051204514917,-0.18259674212845312,-0.17986180967716336,-0.17760267874297142},
{-0.8682705945834073,-0.5047665785633058,-0.38459062450112924,-0.3277917569998863,-0.29348197308416957,-0.27245851255185016,-0.2549177371634528,-0.24200198378383675,-0.2317011106146083,-0.22319635472234722,-0.21604589573752264,-0.20991660559423053,-0.20457838327934041,-0.1998829844645229,-0.19570711743864422,-0.19196512027889412,-0.1885877455419518,-0.18550885364271608,-0.18269992939377744,-0.17996430498806149,-0.17770452727933161},
{-0.8680742405945807,-0.5047711040051581,-0.38465892369737276,-0.32788149039612335,-0.29358078388531794,-0.27256046843513104,-0.255022237355945,-0.2421082891104902,-0.23180819867303626,-0.22330383546380972,-0.2161534058052439,-0.21002375940247475,-0.20468512464594824,-0.19998928219155232,-0.19581287575670103,-0.19207031077911552,-0.1886923876278388,-0.18561293422504832,-0.18280346152334914,-0.18006714102978094,-0.17780671314483243},
{-0.8678783101331646,-0.5047761182404997,-0.38472769453250066,-0.32797167448808295,-0.2936800282022318,-0.27266284422609033,-0.25512714674914605,-0.24221499650212763,-0.23191567913352173,-0.22341170507559127,-0.21626129659404114,-0.21013128791986446,-0.20479223600591467,-0.20009594521263807,-0.19591899362143295,-0.19217585738005027,-0.18879738181482253,-0.18571736317602472,-0.18290733952562732,-0.18017031877360523,-0.1779092371539832},
{-0.8676828043842306,-0.504781622514713,-0.38479693824041306,-0.3280623104726601,-0.29377970719963287,-0.27276564104869294,-0.25523246645462905,-0.24232210704877843,-0.23202355302652222,-0.22351996461185308,-0.21636956910504068,-0.21023919217788034,-0.20489971835922915,-0.20020297447172197,-0.19602547196723208,-0.19228176108208572,-0.1889027290357035,-0.18582214142190878,-0.18301156433966526,-0.1802738392046308,-0.17801210011600688},
{-0.8674877245406947,-0.504787618085345,-0.3848666560753031,-0.32815339952350087,-0.2938798220191643,-0.27286886002013944,-0.25533819750449993,-0.2424296218387667,-0.2321318213973882,-0.22362861517143529,-0.21647822434562158,-0.21034747320101133,-0.20500757274015768,-0.20031037094668136,-0.19613231177845591,-0.192388022892942,-0.18900843023919833,-0.18592726997394493,-0.18311613699501095,-0.1803777033106826,-0.17811530287235655},
{-0.8672930718045961,-0.5047941062077825,-0.38493684929852634,-0.32824494283272543,-0.293980373839247,-0.27297250224711433,-0.25544434100248736,-0.24253754199548894,-0.23224048531494645,-0.22373765785351907,-0.21658726331378375,-0.21045613201573588,-0.20511580019979192,-0.2004181355913488,-0.19623951401285922,-0.19249464383386794,-0.1891144863841987,-0.18603274978562467,-0.18322105845277292,-0.1804819120853267,-0.1782188462555041},
{-0.867098847371409,-0.5048010881452001,-0.38500751916024,-0.32833694160291316,-0.29408136381067607,-0.2730765688788779,-0.25555089801923714,-0.24264586860556392,-0.2323495458367688,-0.2238470937357988,-0.21669668702799072,-0.210565169663937,-0.20522440175801648,-0.20052626938036155,-0.1963470796566753,-0.19260162490593302,-0.18922089840737044,-0.1861385818472172,-0.18332632970145823,-0.1805864665086574,-0.17832273106756702},
{-0.8669050524444799,-0.504808565164808,-0.3850786669225954,-0.32842939700117313,-0.2941827930998784,-0.2731810610101775,-0.25565786962931725,-0.24275460277891625,-0.23245900401701647,-0.2239569239174557,-0.21680649647396422,-0.21067458714702525,-0.20533337846489985,-0.20063477325032864,-0.19645500965663132,-0.1927089671044655,-0.18932766725839656,-0.1862447671489349,-0.18343195174821858,-0.18069136755804038,-0.1784269581592639},
{-0.8667116882316179,-0.5048165385347829,-0.3851502938579756,-0.32852231024020284,-0.29428466288851496,-0.2732859798027789,-0.2557652569494735,-0.24286374563649815,-0.23256886093213325,-0.22406714949295292,-0.21691669268312808,-0.21078438552711987,-0.20544273135971025,-0.20074364819646462,-0.19656330501186403,-0.1928166714455415,-0.18943479391538176,-0.18635130667468047,-0.18353792556507642,-0.18079661625131394,-0.17853152837318476},
{-0.8665187559356582,-0.5048250095218805,-0.38522240122097173,-0.32861568252451434,-0.2943869743418759,-0.2733913263997465,-0.2558730610298312,-0.242973298270158,-0.2326791176600409,-0.22417777156442753,-0.21702727665984867,-0.21089456585184507,-0.2055524615060449,-0.2008528951823223,-0.19667196671457532,-0.19292473893972328,-0.1895422793249395,-0.18645820144445224,-0.18364425216310565,-0.18090221358067993,-0.17863644254151723},
{-0.8663262567801269,-0.5048339794092271,-0.38529499029851877,-0.3287095150451478,-0.29448972864395273,-0.27349710189241705,-0.255981282995549,-0.24308326181824214,-0.23278977527104416,-0.22428879123685874,-0.2171382494115619,-0.2110051291310242,-0.2056625699444794,-0.2009625151815726,-0.19678099573576446,-0.19303317060786185,-0.18965012448950347,-0.1865654524262368,-0.18375093252080887,-0.1810081605519258,-0.17874170152458646},
{-0.8661341919718097,-0.5048434494719345,-0.3853680623552691,-0.32880380902656725,-0.29459292697492856,-0.27360330746273576,-0.2560899239497303,-0.2431936373843655,-0.23290083484329216,-0.22440020961295204,-0.21724961197429593,-0.2111160764401916,-0.20577305773582566,-0.20107250918044883,-0.19689039307070288,-0.19314196744932133,-0.18975833034170364,-0.18667306066583933,-0.1838579676449399,-0.18111445817311278,-0.17884730618811773},
{-0.865942562734773,-0.5048534209851141,-0.38544161868276205,-0.3288985656425325,-0.294696570499525,-0.27370994423125694,-0.25619898496353244,-0.24330442607697478,-0.23301229745993624,-0.2245120277893875,-0.2173613653436064,-0.21122740880332458,-0.20588392592895843,-0.2011828781334657,-0.19700015971716311,-0.19325113044931186,-0.18986689785037925,-0.18678102717603906,-0.1839653585422525,-0.18122110743536268,-0.17895325737947587},
{-0.8657513702867163,-0.5048638952351894,-0.3855156605395109,-0.32899378611608654,-0.2948006604144666,-0.2738170133470703,-0.2563084671837146,-0.24341562902128544,-0.23312416421197213,-0.22462424687375915,-0.21747351055273612,-0.21133912727611914,-0.20599517558372327,-0.20129362303282505,-0.1971102966800231,-0.193360660633914,-0.18997582802091983,-0.18688935294750308,-0.18407310618960082,-0.18132810935958332,-0.1790595559734811},
{-0.865560615857305,-0.5048748735171671,-0.38559018923166377,-0.32908947168124314,-0.29490519792449277,-0.27392451599496326,-0.2564183716868911,-0.24352724734853837,-0.23323643620807388,-0.22473686799258985,-0.21758604862532138,-0.21145123291972823,-0.2061068077885011,-0.2014047448736278,-0.1972208049747337,-0.19347055901056365,-0.19008512180965909,-0.18699803904240753,-0.18418121159112388,-0.18143546494832208,-0.1791662028514338},
{-0.8653703006726801,-0.5048863571174707,-0.3856652060458714,-0.3291856235262003,-0.2950101842051822,-0.27403245327582226,-0.256528699610044,-0.24363928217036346,-0.2333491145217863,-0.22484989225546315,-0.21769898058562376,-0.21156372678046864,-0.20621882359017718,-0.20151624463943563,-0.19733168560645709,-0.19358082658288822,-0.19019478022823932,-0.1871070864694957,-0.18428967577938238,-0.18154317522748897,-0.17927319890975468},
{-0.8651804259669404,-0.5048983473259909,-0.3857407122686709,-0.32928224289042873,-0.29511562045144046,-0.2741408263739231,-0.25663945207338656,-0.24375173462055955,-0.23346220028219022,-0.2249633207651982,-0.21781230747876634,-0.21167660992750825,-0.20633122406877646,-0.201628123316425,-0.19744293960019377,-0.1936914643513319,-0.1903048042469777,-0.18721649627195802,-0.18439849973367473,-0.1816512411843405,-0.17938054502440082},
{-0.8649909929750947,-0.5049108454448401,-0.3858167092007534,-0.32937933097923633,-0.2952215078602194,-0.2742496364504632,-0.2567506301724052,-0.24386460581331448,-0.23357569456703686,-0.22507715464564626,-0.21792603031758517,-0.2117898834086418,-0.20644401028721404,-0.2017403818986736,-0.19755456796798398,-0.19380247331105238,-0.1904151948439221,-0.1873262695164044,-0.18450768445518406,-0.1817596638491068,-0.17948824211123338},
{-0.8648020029315546,-0.5049238527716966,-0.38589319813729617,-0.3294768890231694,-0.29532784764614917,-0.27435888465475955,-0.2568622350778469,-0.24397789688998728,-0.23368959850478177,-0.2251913949933737,-0.21804015015516143,-0.21190354830889646,-0.20655718334575113,-0.20185302139566375,-0.19766657176433,-0.19391385447278253,-0.19052595305191744,-0.18743640720606436,-0.18461723097107097,-0.18186844425338222,-0.17959629108418085},
{-0.8646134570858806,-0.5049373706156643,-0.38597018038700526,-0.3295749182577765,-0.2954346409978825,-0.27446857218058085,-0.25697426787735367,-0.24409160896050253,-0.23380391321569505,-0.22530604294172463,-0.21815466802439687,-0.21201760566333405,-0.20667074429110244,-0.20196604278771702,-0.19777895199331397,-0.1940256088263368,-0.19063707984156508,-0.1875469104139711,-0.18472714026586345,-0.18197758339431402,-0.17970469285160107},
{-0.8644253566741327,-0.5049514002791398,-0.38604765725381185,-0.32967341990149635,-0.29554188913846247,-0.27457870016178276,-0.25708672973735247,-0.24420574317736055,-0.23391863980913286,-0.2254210996292727,-0.2182695849656966,-0.21213205657619483,-0.20678469422648504,-0.20207944710324455,-0.19789170972558168,-0.19413773741121076,-0.19074857623576236,-0.18765778016609147,-0.1848374133658126,-0.18208708229394688,-0.17981344835743585},
{-0.864237702956558,-0.5049659430782754,-0.3861256300515947,-0.32977239520482726,-0.2956495932693315,-0.27468926980748165,-0.2571996217823198,-0.2443203006597514,-0.23403377941974668,-0.22553656613820294,-0.21838490205055905,-0.21224690210095787,-0.2068990342476127,-0.20219323532745648,-0.19800484599721813,-0.19425024117890644,-0.19086044321636564,-0.18776901756598363,-0.18494805126647407,-0.1821969419921743,-0.17992255852186645},
{-0.8640504971712346,-0.5049810003162634,-0.3862041000798513,-0.3298718453719971,-0.29575775460364184,-0.274800282251249,-0.2573129451520231,-0.24443528253374325,-0.23414933315513053,-0.22565244361146597,-0.21850062030290474,-0.21236214330247094,-0.20701376541842365,-0.20230740847887319,-0.19811836185692755,-0.19436312116408772,-0.19097268181542404,-0.18788062364342295,-0.1850590550046718,-0.18230716349535214,-0.18003202430156762},
{-0.8638637405867371,-0.5049965733249451,-0.386283068688158,-0.3299717716749342,-0.29586637435619423,-0.27491173871078445,-0.2574267010073754,-0.24455068995064266,-0.23426530217778918,-0.2257687331658076,-0.21861674078945725,-0.21247778127781203,-0.20712888883917913,-0.20242196757823194,-0.19823225838030112,-0.19447637835889964,-0.1910852930503779,-0.18799259944955793,-0.18517042555606622,-0.18241774783405162,-0.18014184664980348},
{-0.8636774344534786,-0.5050126634148455,-0.38636253716413194,-0.33007217534873234,-0.29597545376742573,-0.27502364037508187,-0.25754089047876505,-0.2446665240395305,-0.23438168761470024,-0.22588543592655697,-0.21873326459262898,-0.21259381711354308,-0.20724440560428548,-0.20253691363853932,-0.19834653661473567,-0.19459001377708773,-0.19119827794770572,-0.18810494608669615,-0.1852821639722606,-0.1825286960699941,-0.18025202652722783},
{-0.8634915800367935,-0.5050292719158165,-0.38644250685678116,-0.330173057625359,-0.2960849940430421,-0.2751359883843634,-0.2576555147350632,-0.244782785939492,-0.23449849061063333,-0.22600255303223094,-0.21885019273457829,-0.21271025184381642,-0.20736031679064126,-0.2026522476743935,-0.1984611976434394,-0.1947040284361492,-0.19131163751990243,-0.18821766459780065,-0.1853942712573371,-0.18264000922476953,-0.18036256491359381},
{-0.8633061785983784,-0.5050464001504338,-0.386522979073618,-0.3302744197629863,-0.2961949964039263,-0.2752487839762239,-0.257770574929566,-0.24489947677955115,-0.23461571230541267,-0.2261200855788843,-0.21896752632414973,-0.21282708662124605,-0.20747662351953977,-0.20276797073103126,-0.19857624254279926,-0.19481842332572796,-0.19142537280345095,-0.1883307560655112,-0.18550674841810633,-0.18275168833690714,-0.1804734628121878},
{-0.8631212314093659,-0.5050640494622485,-0.38660395516996005,-0.33037626301853606,-0.2963054621006904,-0.27536202832050094,-0.25788607221829807,-0.2450165977190295,-0.2347333538673979,-0.22623803472407644,-0.21908526642238257,-0.21294432249788997,-0.2075933268616268,-0.202884083818617,-0.19869167240892693,-0.19493319947355303,-0.1915394848535925,-0.18844422157553709,-0.18561959649832716,-0.18286373446949256,-0.18058472120833358},
{-0.86293673974086,-0.5050822211642298,-0.3866854364603114,-0.3304785886334116,-0.29641639235057937,-0.2754757226127822,-0.25800200779019633,-0.24513414988473414,-0.23485141644113128,-0.22635640157722037,-0.21920341410924493,-0.2130619605682682,-0.2077104279325681,-0.20300058797170095,-0.198807488315083,-0.19504835790019115,-0.19165397469964773,-0.18855806217118243,-0.1857328164842329,-0.18297614867492484,-0.180696341108046},
{-0.8627527048680577,-0.5051009166149356,-0.38676742429328215,-0.3305813978787455,-0.29652778839937355,-0.27558986808423924,-0.25811838277275,-0.24525213442882432,-0.23496990119701877,-0.22647518727529814,-0.21932197047965474,-0.2131800019336083,-0.207827927826429,-0.20311748423455356,-0.19892369137005517,-0.19516389961927416,-0.19176884339765365,-0.18867227897078465,-0.1858464094308374,-0.18308893202220133,-0.1808083235474669},
{-0.862569128071442,-0.5051201371482534,-0.38684992002407625,-0.3306846920086173,-0.2966396514908638,-0.2757044658948189,-0.2582351983761555,-0.24537055251272477,-0.2350888093048411,-0.22659439295517814,-0.21944093661301167,-0.21329844768411022,-0.20794582765756786,-0.20323477365104736,-0.19904028265716533,-0.19527982566592073,-0.1918840920089906,-0.1887868730309492,-0.1859603763546147,-0.1832020855850942,-0.18092066956330655},
{-0.8623860106337702,-0.5051398841050627,-0.3869329249902762,-0.33078847230046904,-0.2967519828587797,-0.27581951730030596,-0.2583524557651913,-0.24548940527552077,-0.23520814193494743,-0.22671401974741912,-0.21956031361150963,-0.21341729893526917,-0.20806412852823541,-0.20335245726653284,-0.19915726331544192,-0.1953961370641082,-0.19199972159276513,-0.18890184545023203,-0.18607471827499467,-0.18331561044089995,-0.18103338018511295},
{-0.8622033538349285,-0.5051601588377252,-0.38701644053423934,-0.330892739997239,-0.29686478374884473,-0.2759350234543376,-0.2584701560979852,-0.24560869385533124,-0.23532790026268913,-0.22683406877740708,-0.21968010256944126,-0.21353655676790595,-0.20818283151862715,-0.20347053610305466,-0.1992746344136549,-0.1955128348447488,-0.19211573321058495,-0.18901719730911282,-0.1861894362232306,-0.1834295076678245,-0.18114645647540328},
{-0.8620211589729365,-0.5051809627051966,-0.3871004680280521,-0.33099749639575293,-0.2969780554242334,-0.2760509856215094,-0.2585883005952496,-0.2457284194426279,-0.2354480854717167,-0.22695454118820635,-0.21980030460753142,-0.2136562223120677,-0.20830193776191663,-0.20358901125098328,-0.19939239711254686,-0.1956299200543299,-0.1922321279599828,-0.18913292968738915,-0.18630453123159896,-0.18354377837795255,-0.18125989949987797},
{-0.8618394273309207,-0.5052022970504026,-0.3871850088065685,-0.33110274275207985,-0.2970917991185047,-0.27616740501514414,-0.2587068904002763,-0.24584858316410418,-0.2355686987617105,-0.2270754381109441,-0.21992092084178694,-0.21377629666847042,-0.20842144835648924,-0.20370788373406867,-0.1995105525143117,-0.19574739372524164,-0.19234890690859174,-0.1892490436925982,-0.18642000432907935,-0.18365842366517882,-0.18137371032082683},
{-0.8616581602132953,-0.5052241632410528,-0.38727006426034905,-0.33120848035605377,-0.29720601612211794,-0.27628428282315554,-0.2588259267374724,-0.24596918620909491,-0.2356897413046113,-0.22719676068425088,-0.22004195237326485,-0.2138967809420933,-0.20854136441732862,-0.20382715463483692,-0.1996291017438807,-0.19586525691215684,-0.1924660711594015,-0.18936554039419207,-0.18653585657636995,-0.1837734446534114,-0.18148789004408172},
{-0.8614773589129641,-0.5052465626346816,-0.38735563573385434,-0.3313147104942118,-0.29732070766203833,-0.27640162030803594,-0.25894541079185274,-0.24609022973476158,-0.2358112143181188,-0.2273185100626165,-0.22016340034434734,-0.21401767627651225,-0.20866168707107136,-0.20394682501068928,-0.19974804594050966,-0.19598351067850217,-0.19258362179812138,-0.18948242090459644,-0.18665208896948116,-0.18388884245553072,-0.1816024397610363},
{-0.8612970247313569,-0.505269496598828,-0.3874417246046846,-0.3314214344341053,-0.2974358750137185,-0.27651941867407004,-0.2590653437374044,-0.24621171489633298,-0.2359331189990712,-0.2274406873600583,-0.22028526586916541,-0.21413898376420093,-0.20878241740138037,-0.20406689593482952,-0.199867386230153,-0.19610215604666337,-0.19270155992899163,-0.1895996863216851,-0.1867687026024214,-0.1840046182031756,-0.1817173605741118},
{-0.8611171589798516,-0.5052929665049533,-0.3875283322358314,-0.3315286534686379,-0.2975515194415834,-0.2766376791537368,-0.25918572679859153,-0.24633364287967652,-0.23605545654027082,-0.22756329372003847,-0.22040755009658142,-0.21426070453946977,-0.20890355652193193,-0.2041873684481743,-0.19998712375490868,-0.19622119409712013,-0.19281988665602512,-0.18971733770888477,-0.18688569846881364,-0.18412077303025853,-0.18183265358379685},
{-0.8609377629684332,-0.5053169737235521,-0.3876154600285986,-0.33163636890043335,-0.29766764222483744,-0.27675640302391,-0.2593065611500265,-0.24645601485804036,-0.23617822819039702,-0.22768633030813135,-0.2205302541623837,-0.21438283973714078,-0.2090251055740282,-0.2043082436655368,-0.2001072596577842,-0.19634062589398127,-0.19293860310244781,-0.1898353761881708,-0.1870030776403837,-0.18423730807865013,-0.18194831992866511},
{-0.8607588380071434,-0.5053415196360334,-0.38770310934125973,-0.33174458201381185,-0.29778424463825104,-0.2768755914619305,-0.2594278480308958,-0.2465788320268416,-0.2363014351250854,-0.22780979825762415,-0.2206533792081018,-0.21450539049158124,-0.2091470656554293,-0.20442952265034364,-0.20022779507598898,-0.19646045251249689,-0.19305771039705633,-0.18995380285139163,-0.18712084117873928,-0.18435422450272654,-0.18206436074024168},
{-0.8605803854129022,-0.5053666056189741,-0.38779128156380693,-0.3318532941222543,-0.2979013279406786,-0.27699524576325985,-0.25954958862610056,-0.24670209554602707,-0.2364250786094999,-0.2279336987147076,-0.22077692640982605,-0.21462835793420254,-0.20926943790050245,-0.20455120648841785,-0.20034873117776897,-0.19658067502030008,-0.19317720966341767,-0.1900726188093813,-0.1872389901252518,-0.18447152345390805,-0.18218077714232095},
{-0.8604024065054432,-0.5053922330529304,-0.3878799780832196,-0.3319625065112177,-0.2980188934303669,-0.27711536714002705,-0.2596717841430518,-0.246825806623292,-0.23654915983644287,-0.22805803281460157,-0.22090089689305614,-0.21475174319607504,-0.20939222340848573,-0.20467329626239916,-0.20047006907850573,-0.1967012944836597,-0.19329710203237482,-0.19019182516592537,-0.18735752553959628,-0.18458920608998142,-0.18229757028700533},
{-0.8602249026066886,-0.5054184033248816,-0.3879692002969932,-0.33207222049639995,-0.2981369423922047,-0.27723595685876035,-0.2597944358175823,-0.24694996644547018,-0.23667368006397282,-0.2281828017181624,-0.221025291847468,-0.21487554744544468,-0.2095154233162475,-0.20479579306925189,-0.20059180996588566,-0.19682231199169564,-0.19341738864955005,-0.19031142298922532,-0.1874764484878142,-0.1847072735798747,-0.18241474131912128},
{-0.8600478750485934,-0.5054451178385193,-0.3880589495931872,-0.33218243739014497,-0.2982554761066467,-0.27735701618297526,-0.25991754483561635,-0.2470745761970079,-0.2367986405205329,-0.2283080065688523,-0.2211501124205597,-0.21499977181133545,-0.2096390387265501,-0.20491869799286633,-0.20071395495494926,-0.19694372862011278,-0.19353807065385809,-0.19043141341251157,-0.1875957600180982,-0.18482572706193423,-0.1825322913899754},
{-0.859871325157826,-0.5054723779765595,-0.38814922738419,-0.33229315850041985,-0.29837449587569154,-0.27747854633753377,-0.2600411124469133,-0.2471996371041314,-0.23692404244991394,-0.22843364853480352,-0.22127535979632285,-0.2151244174618796,-0.2097630707822873,-0.20504201215874218,-0.20083650523235974,-0.19706554548236,-0.19365914920535943,-0.19055179754002438,-0.18771546124241922,-0.18494456773521506,-0.1826502216587187},
{-0.8596952542721965,-0.5055001851401357,-0.388240035054082,-0.3324043851619649,-0.2984940029746781,-0.2776005486286408,-0.260165139856781,-0.24732515035276492,-0.23704988709988584,-0.228559728752316,-0.22140103516699128,-0.21524948554747425,-0.20988752061145988,-0.2051657366382642,-0.20095946192589054,-0.19718776365039048,-0.19378062544444674,-0.19067257647964198,-0.18783555317577338,-0.18506379675693552,-0.182768533289277},
{-0.859519663720647,-0.5055285407271413,-0.3883313740192875,-0.33251611866722897,-0.29861399871890626,-0.2777230242767814,-0.26028962828701196,-0.24745111715168377,-0.23717617571338678,-0.2286862483836103,-0.22152713969126125,-0.2153749772219271,-0.21001238931796706,-0.20528987256102482,-0.20108282619435158,-0.19731038421389258,-0.19390250055516844,-0.19079375132866971,-0.18795603696605667,-0.18518341530023008,-0.1828872274436435},
{-0.8593445548564489,-0.5055574461518972,-0.3884232456974246,-0.3326283603636284,-0.2987344844048607,-0.27784597456974325,-0.26041457898844556,-0.2475775387178487,-0.2373029095568313,-0.22881320858766685,-0.22165367456670992,-0.21550089366871816,-0.21013767804390682,-0.2054144210198956,-0.20120659919541595,-0.19743340829541012,-0.19402477567223286,-0.19091532317668225,-0.18807691363451795,-0.18530342453038884,-0.1830063052756259},
{-0.8591699290146266,-0.5055869028174129,-0.38851565149150247,-0.3327411115820951,-0.29885546135074037,-0.27796940081623234,-0.26053999317099397,-0.24770441627811124,-0.2374300899030004,-0.22894061053352743,-0.2217806409937566,-0.21562723606928103,-0.21026338791750732,-0.20553938315504183,-0.20133078207584276,-0.19755683698554094,-0.19414745200242578,-0.19103729318760543,-0.18819818430984014,-0.18542382563248339,-0.18312576798416558},
{-0.8589957875489347,-0.505616912137441,-0.3886085928272678,-0.33285437363957726,-0.29897693085467836,-0.27809330420728884,-0.26066587207520797,-0.24783175103732447,-0.23755771799699232,-0.22906845536908804,-0.22190804014769583,-0.21575400557651392,-0.21038952005892497,-0.2056647600678616,-0.201455375990804,-0.19768067141717438,-0.19427053069000522,-0.19115966243475668,-0.1883198500721619,-0.18554461977430492,-0.1832456167288683},
{-0.8588221318048568,-0.5056474755256772,-0.3887020711119362,-0.3329681478874136,-0.299098894221288,-0.2782176860985146,-0.26079221694362786,-0.2479595442159166,-0.23768579511346388,-0.2291967442661189,-0.2220358732531622,-0.21588120339447414,-0.210516075621058,-0.20579055289329062,-0.20158038208955986,-0.19780491266453737,-0.19439401292368075,-0.19128243203658712,-0.18844191200957994,-0.18566580811580025,-0.18336585270435535},
{-0.858648963143537,-0.5056785944105968,-0.38879608779490127,-0.3330824356680182,-0.29922135278121686,-0.27834254773546263,-0.26091902900742525,-0.2480877970635902,-0.2378143225388385,-0.22932547840116513,-0.2221641415032991,-0.21600883071027965,-0.21064305571383102,-0.20591676275728332,-0.20170580152478124,-0.19792956187075106,-0.19451789988886503,-0.19140560314201593,-0.18856437125168668,-0.18578739184806636,-0.1834864770880813},
{-0.8584762829270574,-0.5057102702112388,-0.38889064429008613,-0.3331972383203379,-0.29934430785971244,-0.2784678904257589,-0.26104630954296226,-0.24821651079685125,-0.23794330154561294,-0.22945465893860728,-0.22229284611228195,-0.21613688872025705,-0.21077046149309808,-0.2060433908085315,-0.201831635451299,-0.19805462016711317,-0.19464219277858774,-0.19152917681890358,-0.18868722887975764,-0.18590937215526537,-0.1836074910811476},
{-0.8583040925076091,-0.5057425043439707,-0.3889857420206795,-0.33331255719332376,-0.2994677607626386,-0.2785937154533258,-0.2611740597367316,-0.24834568664351764,-0.23807273340679558,-0.22958428705078404,-0.22242198828848814,-0.21626537860845474,-0.21089829407787875,-0.20617043816264413,-0.20195788499574974,-0.19818008867105164,-0.1947668927406312,-0.19165315421366813,-0.1888104860004205,-0.18603175018563434,-0.18372889585157282},
{-0.8581323932561418,-0.5057752982525585,-0.38908138244227075,-0.33342839363467647,-0.29959171283735486,-0.2787200240800871,-0.26130228088396734,-0.24847532586653642,-0.23820261940886667,-0.2297143639218575,-0.22255156924882158,-0.2163943015842733,-0.2110265546169785,-0.20629790598354703,-0.20208455130398306,-0.19830596852114013,-0.19489200101850201,-0.1917775364188401,-0.1889341437516805,-0.18615452712242586,-0.18385069262330944},
{-0.857961186541587,-0.5058086533657615,-0.38917756698162975,-0.3335447490181309,-0.2997161653943863,-0.2788468176585752,-0.2614309742319847,-0.2486054296787188,-0.23833296085126676,-0.22984489072371161,-0.2226815902272392,-0.21652365886711777,-0.21115524425636067,-0.20642579541333816,-0.20221163554595023,-0.19843226084469734,-0.1950175187807872,-0.19190232459300205,-0.18905820322447653,-0.1862777041388881,-0.1839728825785869},
{-0.857790473738504,-0.5058425711236509,-0.3892742970800782,-0.33366162469394567,-0.29984111978637884,-0.27897409743690105,-0.2615601410183217,-0.24873599933596324,-0.2384637590116654,-0.2299758686384621,-0.22281205242404667,-0.21665345167832584,-0.21128436412607243,-0.2065541076125328,-0.2023391388354412,-0.19855896680815022,-0.19514344720846566,-0.19202751985642408,-0.18918266556715935,-0.18640128240986087,-0.18409546692805634},
{-0.8576202562263973,-0.5058770529698791,-0.3893715742038353,-0.3337790220319903,-0.29996657734557175,-0.2791018647547503,-0.26168978253133446,-0.2488670361004779,-0.23859501520200865,-0.23010729885902492,-0.2229429570886623,-0.21678368121729363,-0.21141391537969412,-0.206682843765293,-0.2024670623422935,-0.19868608754495654,-0.19526978754106494,-0.19215312330891265,-0.18930753190454652,-0.18652526310484063,-0.1842184468640653},
{-0.8574505353767563,-0.5059121003412201,-0.38946939977273587,-0.3338969423958247,-0.30009253941744873,-0.2792301209288439,-0.2618198999994661,-0.24899854119746578,-0.2387267307217371,-0.23023918258138565,-0.22307430544628915,-0.21691434874890092,-0.2115438991584142,-0.20681200500678187,-0.20259540721042413,-0.19881362423984683,-0.19539654093716763,-0.19227913610973246,-0.18943280335599866,-0.18664964740685264,-0.18434182361193052},
{-0.8572813125829839,-0.5059477146970153,-0.38956777527045006,-0.33401538717146195,-0.30021900734976725,-0.2793588672244596,-0.2619504947197129,-0.24913051590908708,-0.2388589068635838,-0.23037152098152092,-0.22320609871997021,-0.21704545546526788,-0.21167431662206582,-0.2069415925342355,-0.20272417456385483,-0.19894157803435064,-0.1955237086356192,-0.19240555936551118,-0.18955848107452766,-0.1867744364842565,-0.18446559836570486},
{-0.8571125892295299,-0.505983897490978,-0.38966670214858823,-0.3341343577423572,-0.30034598249380906,-0.2794881050222102,-0.2620815679609336,-0.2492629614881139,-0.23899154495154562,-0.2305043152871349,-0.22333833818777293,-0.21717700263332063,-0.2118051689396907,-0.20707160753988774,-0.20285336557321898,-0.19906995012672724,-0.19565129183172303,-0.19253239425313495,-0.18968456618813434,-0.18689963148835886,-0.18458977235775365},
{-0.8569443667050507,-0.5060206501653397,-0.3897661818548386,-0.3342538554666703,-0.30047346619790005,-0.27961783557759645,-0.2622131209727172,-0.2493958791676505,-0.23912464627983354,-0.2306375666612439,-0.2234710250346552,-0.21730899149270044,-0.2119364572287168,-0.20720205119562252,-0.2029829813776587,-0.19919874165998408,-0.19577929173215125,-0.19265964188559792,-0.1898110598584708,-0.1870252335851319,-0.18471434678076548},
{-0.8567766464050521,-0.5060579741938227,-0.38986621585814873,-0.3343738817446251,-0.3006014598207116,-0.2797480602448559,-0.2623451550539926,-0.24952927022172844,-0.23925821215459564,-0.23077127632870997,-0.22360416055016685,-0.21744142326963356,-0.21206818265966376,-0.20733292469185471,-0.20311302313359647,-0.19932795385238933,-0.1959077095370958,-0.19278730336418448,-0.18993796320899037,-0.18715124396362626,-0.18483932284402727},
{-0.8566094297333962,-0.5060958710326418,-0.3899668056408814,-0.3344944379716708,-0.30072996473120384,-0.27987878037265546,-0.26247767146668366,-0.24966313592142342,-0.23939224391449443,-0.2309054455124624,-0.22373774595405393,-0.21757429924684857,-0.21220034640248286,-0.20746422925481056,-0.20324349197824176,-0.19945758789253887,-0.19603654646459745,-0.19291537989568042,-0.1900652774095306,-0.18727766376116506,-0.18496470176819457},
{-0.8564427180901362,-0.506134342162909,-0.3900679526638555,-0.33461552554183527,-0.30085898229981467,-0.2800099972497492,-0.2626106715267156,-0.24979747754082382,-0.23952674286420006,-0.23104007541223837,-0.22387178253086404,-0.21770762067535543,-0.21233294962507898,-0.20759596609650544,-0.20337438909086814,-0.1995876449836942,-0.1961658037438383,-0.1930438726169541,-0.19019300362947433,-0.18740449417020955,-0.18509048476619228},
{-0.8562765128763203,-0.5061733890348137,-0.3901696584041474,-0.3347371458548878,-0.3009885138782238,-0.2801417122590806,-0.26274415649226057,-0.24993229633719238,-0.23966171033691808,-0.2311751672380069,-0.22400627152171637,-0.21784138882117077,-0.21246599349512962,-0.20772813641247012,-0.2035057156218727,-0.1997181263384391,-0.19629548257933038,-0.19317278266134963,-0.19032114300784997,-0.18753173631137088,-0.1852166730625413},
{-0.8561108155059856,-0.5062130131408935,-0.3902719243410502,-0.33485930031048383,-0.3011185608579581,-0.28027392668627726,-0.26287812767668584,-0.250067593585527,-0.23979714764413984,-0.23131072221315208,-0.22414121417102706,-0.2179756049442858,-0.21259947917155841,-0.20786074146087685,-0.20363747273097488,-0.19984903316196778,-0.19642558418081535,-0.1933021112156439,-0.19044969671756462,-0.18765939137222176,-0.18534326785800204},
{-0.855945627391975,-0.5062532159531656,-0.3903747519591434,-0.33498199031589593,-0.3012491246111608,-0.28040664191348696,-0.26301258637829505,-0.2502033705609392,-0.23993305612145832,-0.23144674157674672,-0.22427661176277525,-0.21811027034380004,-0.21273340783795902,-0.20799378244112177,-0.2037696616022231,-0.1999803666939215,-0.19655610977883953,-0.19343185940476815,-0.19057866593880135,-0.18778746051907547,-0.18547027036129293},
{-0.8557809499499172,-0.5062939989523443,-0.39047814274698567,-0.3351052172969844,-0.3013802065102027,-0.28053985929398095,-0.26314753387555356,-0.25033962853501635,-0.24006943710924133,-0.23158322654626318,-0.2244124655609312,-0.2182453862632201,-0.21286778066223633,-0.20812726060808018,-0.20390228337680583,-0.20011212816325497,-0.19668706058689622,-0.19356202840231163,-0.19070805181684136,-0.18791594486197027,-0.18559768179738967},
{-0.8556167846022049,-0.5063353636218721,-0.390582098193363,-0.33522898265306367,-0.3015118079603667,-0.28067358012350496,-0.2632829715092271,-0.250476368794466,-0.2402062919168202,-0.23172017836657233,-0.22454877681434482,-0.21838095401676583,-0.21300259883537365,-0.2082611772287919,-0.2040353392644647,-0.2002443188083589,-0.19681843783303066,-0.19369261939743865,-0.19083785556881594,-0.18804484560075707,-0.18572550336136828},
{-0.8554531327757786,-0.5063773114635524,-0.3906866197901877,-0.3353532878346641,-0.3016439303377183,-0.28080780583360365,-0.2634189005686949,-0.2506135926112165,-0.24034362191025593,-0.231857598276747,-0.2246855468368949,-0.21851697489557864,-0.21313786354619424,-0.20839553354312557,-0.2041688304343552,-0.2003769398907025,-0.19695024272948558,-0.19382363356567112,-0.19096807833864204,-0.1881741638742369,-0.1858537362692232},
{-0.8552899958898479,-0.5064198439580991,-0.39079170902067517,-0.33547813422899253,-0.3017765750357171,-0.28094253771126887,-0.2635553223660736,-0.2507513012764093,-0.24048142841172648,-0.23199548749505539,-0.22482277686083307,-0.21865345017624804,-0.2132735759781781,-0.20853033081016292,-0.20430275806700138,-0.20050999264390157,-0.19708247650578414,-0.1939550720751413,-0.19109872135015848,-0.1883039008216656,-0.18598238172944548},
{-0.8551273753882356,-0.50646296261732,-0.3908973674195977,-0.3356035232897625,-0.3019097434561786,-0.2810777771679227,-0.2636922382511102,-0.2508894960554926,-0.2406197127733094,-0.23213384730786402,-0.22496046820310767,-0.21879038115537242,-0.21340973731253143,-0.20866557029819433,-0.20443712335713826,-0.20064347834784257,-0.19721514038212717,-0.19408693609136662,-0.19122978574614535,-0.18843405762936527,-0.1861114409178981},
{-0.8549652726988484,-0.5065066689283526,-0.3910035964589724,-0.33572945646193375,-0.3020434370142766,-0.2812135255730368,-0.2638296495176746,-0.25102817826575574,-0.24075847634958336,-0.23227267895163095,-0.22509862214315035,-0.2189277691713869,-0.21354634876797718,-0.20880125330290866,-0.20457192749563546,-0.20077739827888763,-0.19734823560395398,-0.19421922683227422,-0.19136127276840398,-0.18856463542010715,-0.18624091507615503},
{-0.8548036892634627,-0.5065509644029476,-0.3911103976648178,-0.3358559351588042,-0.3021776571022201,-0.2813497842417405,-0.2639675575046567,-0.25116734917332906,-0.24089772046988855,-0.23241198368452842,-0.22523723993901967,-0.2190656154845101,-0.2136834115202646,-0.2089373810795223,-0.20470717168950614,-0.20091175370157544,-0.19748176338134726,-0.19435194547952506,-0.19149318357767697,-0.18869563536395617,-0.1863708053526807},
{-0.8546426265223204,-0.5065958505435333,-0.3912177725360948,-0.3359829608420455,-0.3023124051155719,-0.28148655462319994,-0.26410596356004135,-0.251307010073333,-0.24103744649812597,-0.23255176276200018,-0.22537632292414855,-0.21920392145216283,-0.21382092679448306,-0.20907395494816683,-0.20484285715724582,-0.20104654589522397,-0.19761572494644497,-0.1944850932574127,-0.1916255193834786,-0.18882705859675752,-0.1865011129841605},
{-0.8544820859277138,-0.506641328875503,-0.3913257225920006,-0.3361105349460445,-0.3024476824962221,-0.2816238380364098,-0.2642448690122592,-0.2514471622586143,-0.24117765580024297,-0.2326920174617726,-0.22551587238694992,-0.21934268837082982,-0.21395889579616778,-0.20921097619657303,-0.20497898508313028,-0.20118177616222965,-0.19775012155309923,-0.1946186713383895,-0.19175828141862894,-0.18895890629630685,-0.18663183914259207},
{-0.854322068923409,-0.5066874008981017,-0.3914342493467302,-0.33623865893849825,-0.3025834906430873,-0.2817616358912005,-0.26438427522168695,-0.2515878070214512,-0.24131834972877186,-0.23283274905884355,-0.22565588961026606,-0.2194819175615521,-0.21409731972437385,-0.20934844612065717,-0.2051155566888383,-0.20131744579168753,-0.19788495438547216,-0.19475268093128761,-0.19189147084523483,-0.18909117958980914,-0.18676298502464306},
{-0.8541625769703955,-0.506734068147864,-0.3915433543265294,-0.3363673342655602,-0.30271983099203226,-0.28189994959927844,-0.2645241835163006,-0.25172894567253934,-0.24145952965295692,-0.2329739588283246,-0.22579637592366453,-0.21962161035719419,-0.2142361998060096,-0.20948636604111925,-0.2052525732032109,-0.2014535560930426,-0.19802022472015324,-0.19488712326233326,-0.19202508892567494,-0.18922387965267262,-0.18689455181174708},
{-0.8540036115236376,-0.5067813321458061,-0.39165303906327154,-0.3364965623994749,-0.30285670497124784,-0.282038780482992,-0.26466459528023734,-0.25187057950392955,-0.24160119694431614,-0.23311564806544993,-0.22593733262874593,-0.21976176808118453,-0.2143755372665055,-0.20962473726126518,-0.2053900358472447,-0.2015901083780136,-0.1981559337826866,-0.19502199955036303,-0.19215913684683983,-0.18935700761085172,-0.1870265407133047},
{-0.853845174048729,-0.5068291944140242,-0.3917633050760969,-0.3366263448012319,-0.302994113996931,-0.28217813002589764,-0.26480551187080437,-0.25201270981824564,-0.2417433529706159,-0.23325781804635426,-0.22607876104450497,-0.2199023920871923,-0.21451533334629858,-0.20976356111270889,-0.20552794585455558,-0.20172710395161175,-0.19829208281407773,-0.19515731101591882,-0.1922936158362063,-0.18949056465919512,-0.18715895288528372},
{-0.8536872660048402,-0.50687765648496,-0.39187415388573754,-0.3367566829323323,-0.30313205950949396,-0.2823179995509122,-0.2649469346375781,-0.2521553379059469,-0.24188599910621633,-0.23340047005342512,-0.22622066248197825,-0.22004348369716809,-0.2146555892481956,-0.20990283891273975,-0.2056663044435254,-0.20186454413067167,-0.19842867304032552,-0.19529305889113857,-0.19242852712989134,-0.1896245519083095,-0.1872917895215096},
{-0.8535298888708667,-0.5069267198920784,-0.3919855870518063,-0.33688757827451354,-0.30327054295679545,-0.28245839049418464,-0.26508886498652373,-0.25229846509546405,-0.24202913674730553,-0.23354360540986363,-0.22636303827152915,-0.22018504424192997,-0.2147963062097915,-0.21004257200763732,-0.2058051128670968,-0.20200243024453357,-0.19856570570539134,-0.19542924439167564,-0.1925638719591234,-0.18975897051768698,-0.1874250517847713},
{-0.8533730441093326,-0.5069763861788488,-0.39209760608440547,-0.33701903232105224,-0.3034095657747571,-0.2825993042956725,-0.2652313042553942,-0.2524420926845323,-0.2421727672816587,-0.23368722542011255,-0.22650588975466235,-0.2203270751041373,-0.21493748548527947,-0.2101827617040044,-0.2059443723704817,-0.20214076362651667,-0.1987031820571019,-0.19556586878718463,-0.19269965154092006,-0.18989382167455915,-0.18755874084035895},
{-0.8532167332077165,-0.5070266568909005,-0.3922102125538345,-0.33715104652810624,-0.3035491294139092,-0.28274074229079815,-0.26537425386436553,-0.25258622198589364,-0.24231689208011176,-0.23383133137326695,-0.22664921824627982,-0.22046957759243924,-0.21507912831634712,-0.21032340935573757,-0.2060840841695608,-0.20227954559152295,-0.19884110333839544,-0.19570293328081334,-0.19283586712242595,-0.19002910651738603,-0.18769285786163437},
{-0.8530609576413326,-0.5070775335765347,-0.3923234079877602,-0.3372836224124285,-0.30368923532785175,-0.2828827059847754,-0.26551771520087186,-0.2527308543271829,-0.24246151256386383,-0.23397592461742533,-0.22679302510175603,-0.22061255309552052,-0.21522123596707843,-0.2104645163120722,-0.2062242495665032,-0.20241877750015647,-0.19897947080210088,-0.19584043915642724,-0.19297251993987175,-0.19016482618769714,-0.18782740401718456},
{-0.8529057188958973,-0.5071290177738774,-0.3924371939468756,-0.337416761448992,-0.3038298849720604,-0.28302519672081417,-0.26566168964393455,-0.25287599100329317,-0.24260663012444184,-0.23412100644077327,-0.2269373116545239,-0.22075600297057463,-0.2153638096613122,-0.21060608391223923,-0.20636486978082758,-0.20255846066265804,-0.19911828570377565,-0.19597838764025255,-0.1931096112484738,-0.1903009818541932,-0.18796238044706115},
{-0.8527510184591733,-0.5071811110472026,-0.392551571959018,-0.33755046513135767,-0.3039710797959856,-0.2831682159489901,-0.26580617860622624,-0.2530216333364024,-0.24275224615951174,-0.23426657817799423,-0.22708207924858925,-0.22089992853875628,-0.21550685067074937,-0.2107481134696627,-0.2065059460832117,-0.20269859643372,-0.19925754926237005,-0.19611677997306742,-0.19324714229458095,-0.19043757467511568,-0.18809778828506296},
{-0.8525968578287575,-0.5072338149595339,-0.3926665436056851,-0.3376847349738341,-0.3041128212817057,-0.2833117651427983,-0.2659511834795012,-0.25316778267188056,-0.2428983621076668,-0.23441264116843286,-0.227227329245693,-0.2210443311862491,-0.21565036025333484,-0.21089060637484636,-0.20664747974205966,-0.2028391861754244,-0.19939726275890735,-0.19625561744794595,-0.19338511433397798,-0.19057460584178898,-0.18823362872285543},
{-0.8524432384990064,-0.5072871310717346,-0.39278211043671263,-0.33781957247725813,-0.3042551108923135,-0.2834558456572722,-0.26609670570155686,-0.25331444032224226,-0.2430449793517937,-0.23455919676200665,-0.22737306299757165,-0.22118921230742217,-0.2157943396915698,-0.21103356395451556,-0.20678947204953602,-0.20298023121904407,-0.19953742746019998,-0.19639490130191462,-0.19352352862881617,-0.19071207649608368,-0.18836990284773947},
{-0.8522901619685967,-0.5073410609421671,-0.39289827401148614,-0.3379549791637828,-0.30439795009795034,-0.2836004590128596,-0.266242746674493,-0.2534616076172824,-0.24319209935492836,-0.23470624628828318,-0.22751928187710746,-0.22133457322979666,-0.21593879024464968,-0.211176987570866,-0.20693192425994766,-0.2031217329363244,-0.19967804461748528,-0.19653463282929806,-0.193662386423739,-0.19084998780419937,-0.18850661183569173},
{-0.8521376297419465,-0.5073956061518743,-0.3930150358943365,-0.33809095653271015,-0.3045413403697239,-0.2837456065757351,-0.26638930781541603,-0.2536092858899792,-0.2433397235125767,-0.23485379106421078,-0.22766598723126208,-0.22148041535115226,-0.21608371320633069,-0.2113208785583538,-0.20707483765147572,-0.20326369265671929,-0.19981911547984055,-0.1966748132755356,-0.19380168899931505,-0.1909883409629174,-0.1886437567691246},
{-0.8519856433303516,-0.5074507682666081,-0.3931323976600538,-0.33822750611000174,-0.3046852832114837,-0.2838912898376975,-0.26653639059202305,-0.2537574764804731,-0.2434878532779976,-0.2350018325007568,-0.22781318044940235,-0.2216267400452807,-0.2162291098567266,-0.21146523827098918,-0.2072182135688081,-0.20340611175583945,-0.19996064134579683,-0.19681544394609318,-0.19394143764111504,-0.1911271371739076,-0.18878133881150916},
{-0.8518342042432892,-0.5075065488726977,-0.3932503608787101,-0.33836462941940226,-0.3048297800892783,-0.28403751025632573,-0.2666839963679877,-0.2539061807251528,-0.24363649007875665,-0.23515037192009913,-0.22796086289156392,-0.22177354867233134,-0.21637498145400968,-0.21161006805880334,-0.20736205323885315,-0.20354899159212891,-0.20010262347773278,-0.1969565260719719,-0.19408163358536967,-0.19126637757267417,-0.18891935904673574},
{-0.8516833139982509,-0.5075629495469229,-0.39336892712498184,-0.33850232799414925,-0.30497483250462665,-0.28418426922496565,-0.26683212664499933,-0.2540553999712074,-0.2437856353637926,-0.2352994106964843,-0.22810903593051535,-0.2219208426131445,-0.21652132930785228,-0.21175536927967187,-0.20750635800686723,-0.2036923335207348,-0.20024506312779522,-0.19709806098342142,-0.19422227813845439,-0.19140606338999078,-0.18905781857256443},
{-0.8515329741159121,-0.5076199718845942,-0.39348809797775175,-0.33864060337077717,-0.305120441944041,-0.28433156829851214,-0.26698078282402093,-0.25420513556025526,-0.24393529059216235,-0.23544895018608258,-0.22825770097290388,-0.22206862327129784,-0.21666815473952283,-0.21190114325793274,-0.2076511291948009,-0.20383613892215635,-0.20038796161725259,-0.1972400499608966,-0.1943633725767313,-0.19154619582616306,-0.1891967185526937},
{-0.8513831861129688,-0.5076776174641395,-0.3936078750191996,-0.33877945707757817,-0.3052666099067096,-0.2844794088478011,-0.2671299663790023,-0.25435538885005826,-0.24408545720996244,-0.235598991756774,-0.22840685939002014,-0.22221689200819128,-0.21681545902788457,-0.21204739136260287,-0.2077963680975472,-0.20398040912721171,-0.20053132019336317,-0.19738249429065036,-0.19450491821135074,-0.1916867760697869,-0.18933606006123682},
{-0.8512339515295366,-0.5077358878943414,-0.3937282598383831,-0.3389188906578511,-0.3054133379138193,-0.28462779239282554,-0.2672796787612697,-0.2545061611793926,-0.24423613668000144,-0.23574953682168598,-0.22855651256213605,-0.2223656502239919,-0.21696324346089568,-0.2121941149190434,-0.20794207605604242,-0.20412514554573136,-0.20067514017171106,-0.1975253952583671,-0.1946469162946869,-0.19182780535652455,-0.1894758442232387},
{-0.851085271890156,-0.5077947847664745,-0.3938492540279981,-0.33905890567967845,-0.30556062746688895,-0.28477672042538416,-0.26742992141203104,-0.254657453944219,-0.24438733047588812,-0.23590058672880332,-0.2287066619082907,-0.22251489931363722,-0.21711150938631363,-0.2123413152886542,-0.20808825440155942,-0.20427034951819678,-0.20081942283695753,-0.19766875419679764,-0.19478936815949055,-0.19196928489839138,-0.18961607215896947},
{-0.8509371487338626,-0.5078543096817043,-0.3939708591733506,-0.3391995036686808,-0.3057084800745997,-0.284926194334048,-0.2675806957942086,-0.25480926848160834,-0.24453904004917604,-0.23605214286658338,-0.22885730880113897,-0.22266464063886815,-0.21726025809493876,-0.21248899379827435,-0.20823490446912274,-0.20441602242931367,-0.20096416950832463,-0.1978125723702533,-0.1949322750634792,-0.19211121590740277,-0.18975674500018158},
{-0.8507895835934391,-0.5079144642471078,-0.39409307686503325,-0.3393406862005577,-0.30585689724227905,-0.2850762157080453,-0.26773200337333947,-0.2549616061571669,-0.24469126689268705,-0.23620420663985442,-0.22900845465244402,-0.22281487561258473,-0.2174094909246378,-0.21263715179031806,-0.20838202763491154,-0.20456216564946317,-0.20110938144773627,-0.19795685113058425,-0.195075638326216,-0.19225359962115363,-0.18989786391898633},
{-0.850642578019972,-0.5079752500848258,-0.39421590872439083,-0.3394824548246902,-0.3060058805083372,-0.28522678595345496,-0.2678838456236008,-0.2551144683563962,-0.24484401248946597,-0.23635677942445454,-0.22916010088579242,-0.2229656056318845,-0.21755920919815708,-0.2127857906322106,-0.20852962525304974,-0.2047087805387946,-0.20125506001363647,-0.19810159178280173,-0.19521945928795503,-0.19239643731134493,-0.1900394300635071},
{-0.8504961335606822,-0.5080366687928404,-0.3943393563203017,-0.33962481110376075,-0.30615543140038426,-0.2853779065923163,-0.2680362240313343,-0.25526785644149186,-0.24499727830220763,-0.23650986264010498,-0.2293122488785002,-0.22311683207078659,-0.2177094142276701,-0.21293491162373357,-0.20867769867936659,-0.20485586848826642,-0.2014012064905728,-0.19824679562657366,-0.19536373922346684,-0.1925397301946532,-0.19018144461210795},
{-0.850350251763416,-0.5080987220018187,-0.3944634212909932,-0.33976775662893033,-0.306305551441028,-0.28552957914234867,-0.26818914003354166,-0.2554217718069367,-0.24515106583737634,-0.23666345767674102,-0.2294649000677964,-0.22326855634423737,-0.2178601073601385,-0.21308451613253965,-0.20882624929447502,-0.20500343088178852,-0.2015478222075444,-0.19839246400636057,-0.19550847944890393,-0.19268347953880038,-0.19032390878135175},
{-0.8502049341858537,-0.5081614113436785,-0.39458810523814236,-0.3399112929668604,-0.30645624217606837,-0.2856818050373704,-0.268342595158515,-0.25557621584550816,-0.24530537658688445,-0.23681756595271963,-0.22961805586612627,-0.22342077985467768,-0.21801128995400632,-0.21323460549126594,-0.2089752785005885,-0.20515146907916915,-0.20169490849013982,-0.1985385982260368,-0.19565368130861316,-0.19282768659013527,-0.1904668237674514},
{-0.8500601823884608,-0.5082247384274865,-0.39471340976888314,-0.3400554216908631,-0.3066075051342523,-0.28583458587399946,-0.2684965908531467,-0.2557311899322485,-0.245460212046396,-0.23697218884524318,-0.22977171769809956,-0.2235735039789688,-0.21816296335668994,-0.21338518104096238,-0.20912478769776044,-0.20529998445715592,-0.20184246666292438,-0.19868519964779807,-0.19579934609532756,-0.19297235263218226,-0.19061019083153496},
{-0.8499159979336923,-0.5082887048948237,-0.3948393364947833,-0.3402001443879499,-0.306759341857628,-0.2859879230579736,-0.2686511286226505,-0.25588669546846177,-0.24561557371055187,-0.2371273277921091,-0.2299258869792311,-0.22372673014376687,-0.21831512890548765,-0.21353624413586658,-0.20927477826364793,-0.20544897840852627,-0.2019904980793399,-0.19883226959029798,-0.1959454751576004,-0.19311747891049436,-0.19075401121915547},
{-0.8497723823948604,-0.508353312389886,-0.3949658870586745,-0.34034546265343124,-0.3069117539085937,-0.28614181815919437,-0.2688062099663284,-0.2560427338603404,-0.24577146308831743,-0.23728298420996907,-0.23008056514709097,-0.22388045973718818,-0.21846778797703337,-0.21368779611736954,-0.20942525164787185,-0.2055984523008192,-0.20213900405508411,-0.19897980939560966,-0.19609206983238892,-0.1932630666985915,-0.1908982861750701},
{-0.8496293373292474,-0.5084185625336772,-0.3950930630493872,-0.34049137808261776,-0.30706474283488205,-0.2862962727128888,-0.26896183634835324,-0.2561993065189654,-0.24592788170480162,-0.2374391595196812,-0.23023575363504278,-0.22403469417270117,-0.21862094191760661,-0.2138398383283402,-0.20957620924764342,-0.20574840753283752,-0.20228798596440356,-0.19912782041865285,-0.19623913144926064,-0.19340911728590982,-0.19104301703532656},
{-0.8494868643311406,-0.5084844569940401,-0.3952208661306713,-0.34063789225848495,-0.3072183101890005,-0.286451288163903,-0.26911800928485263,-0.25635641485598626,-0.2460848310424808,-0.23759585512505055,-0.23039145387451754,-0.22418943483853582,-0.21877459211896166,-0.21399237213267952,-0.20972765249871372,-0.20589884546143367,-0.2024374451168569,-0.19927630399445206,-0.19638666134221694,-0.19355563193744274,-0.19118820508333556},
{-0.849344964969589,-0.5085509974081219,-0.39534929791511786,-0.34078500681704327,-0.30737245754050946,-0.286606866145803,-0.2692747302914995,-0.25651406028578094,-0.24624231264408536,-0.23775307247626642,-0.2305476673194562,-0.22434468317112533,-0.21892873998024243,-0.2141453988695048,-0.20987958286946196,-0.20604976750053083,-0.20258738291715872,-0.19942526149850437,-0.19653466084707816,-0.19370261195149396,-0.1913338516623071},
{-0.8492036408300123,-0.508618185427963,-0.3954783600450469,-0.3409327233320596,-0.3075271864569231,-0.2867630080783101,-0.2694320008519071,-0.25667224422545587,-0.24640032802597034,-0.23791081297690653,-0.2307043954161827,-0.2245004405773443,-0.21908338687501328,-0.21429891991579098,-0.21003200176824066,-0.2062011750202828,-0.2027378007023799,-0.19957469428061358,-0.19668313134604887,-0.19385005858009663,-0.19147995812124918},
{-0.8490628934996494,-0.5086860227136754,-0.39560805413793787,-0.341081043436418,-0.3076824985048461,-0.28691971555599594,-0.2695898224864095,-0.25683096811474115,-0.2465588786897115,-0.2380690780603345,-0.23086163957941608,-0.2246567084266644,-0.21923853417638384,-0.21445293661918186,-0.21018491067957257,-0.20635306939800557,-0.20288869981970947,-0.1997246036727347,-0.1968320741733578,-0.19399797313519684,-0.19162652578916095},
{-0.8489227245769939,-0.5087545109328744,-0.3957383818616904,-0.34122996874486944,-0.30783839527532564,-0.2870769901408039,-0.26974819668009786,-0.2569902333855225,-0.24671796620032183,-0.2382278691773081,-0.23101940129470222,-0.22481348816893387,-0.21939418331612615,-0.21460745036335993,-0.21033831106001344,-0.2065054520406875,-0.20304008168068322,-0.19987499108958673,-0.19698149067824033,-0.19414635688679027,-0.19177355607700974},
{-0.8487831356522406,-0.5088236517515838,-0.3958693448485633,-0.34137950088091884,-0.30799487834065076,-0.2872348332901993,-0.26990712498445646,-0.25715004148617027,-0.24687759204698523,-0.23838718777267331,-0.2311776820159821,-0.22497078121341474,-0.2195503356934978,-0.2147624625001754,-0.21049220439385863,-0.2066583243331479,-0.2031919476268058,-0.20002585786380678,-0.19713138224699378,-0.19429521113420378,-0.1919210503690465},
{-0.8486441283258728,-0.5088934468343496,-0.39600094474911884,-0.341529641478985,-0.3081519492686766,-0.2873932466623046,-0.27006660888389433,-0.2573103938584609,-0.24703775780562864,-0.23854703525887544,-0.23133648320606426,-0.22512858896493526,-0.21970699275550487,-0.21491797442581628,-0.2106465921350491,-0.20681168766770952,-0.2033442990466483,-0.20017720541886774,-0.1972817502480666,-0.19444453717505894,-0.19206901007351007},
{-0.8485057042045696,-0.5089638978662947,-0.39613318321391944,-0.3416803921579685,-0.30830960967693954,-0.287552231706627,-0.27022664991943657,-0.2574712919591775,-0.24719846498442166,-0.23870741306916443,-0.23149580632878042,-0.22528691285378954,-0.2198641559157295,-0.2150739875067984,-0.2108014757836827,-0.20696554343953721,-0.2034971373489043,-0.20032903509707012,-0.1974325960185297,-0.19459433632198397,-0.19221743658181367},
{-0.848367864894783,-0.5090350065157168,-0.39626606190665825,-0.3418317545602463,-0.3084678611600111,-0.28771179004047553,-0.27038724962608285,-0.2576327372405558,-0.24735971513416644,-0.23886832268931357,-0.23165565284909917,-0.22544575428992175,-0.22002182659616665,-0.21523050313737713,-0.21095685686975685,-0.20711989302662914,-0.20365046387973962,-0.20048134829630726,-0.19758392097992328,-0.1947446098816954,-0.19236633137904846},
{-0.8482306120125145,-0.5091067744810402,-0.3963995824785229,-0.3419837303351869,-0.30862670530211744,-0.2878719232248841,-0.2705484094823305,-0.2577947311860953,-0.24752150980464194,-0.2390297655424547,-0.23181602424790526,-0.2256051146914615,-0.22018000627065248,-0.21538752270362238,-0.2111127368251573,-0.2072747378482518,-0.2038042800780886,-0.20063414639548682,-0.19773572648716708,-0.19489535913464806,-0.1925156958648131},
{-0.8480939471713214,-0.5091792034430114,-0.39653374660684904,-0.3421363211244852,-0.30878614372306856,-0.28803263276824964,-0.27071013106944974,-0.2579572752417789,-0.247683850527892,-0.23919174307582125,-0.2319769219875525,-0.22576499547847106,-0.22033869636493364,-0.2155450476165015,-0.21126911721853503,-0.20743007929240775,-0.20395858730682903,-0.20078743080102868,-0.19788801393121958,-0.19504658543644382,-0.1926655314900927},
{-0.847957871995277,-0.509252295102101,-0.39666855594049366,-0.3422895285953018,-0.3089461780120928,-0.28819392033119584,-0.27087241589219957,-0.2581203709153215,-0.2478467388835952,-0.23935425674415,-0.23213834758792018,-0.22592539808829315,-0.22049789838160905,-0.21570307925310317,-0.21142599954237085,-0.20758591877654453,-0.2041133869921623,-0.20094120293845208,-0.19804078469724118,-0.19519829010596368,-0.19281583978386152},
{-0.8478223881052713,-0.5093260511496851,-0.39680401216628525,-0.34244335437801965,-0.30910680981446603,-0.2883557873959717,-0.27103526549853996,-0.25828401967180525,-0.24801017640504597,-0.23951730799001325,-0.23230030250681466,-0.2260863239354194,-0.22065761379099058,-0.2158616190530438,-0.21158338527970955,-0.20774225768593624,-0.20426868054403258,-0.20109546417222646,-0.19819404020188358,-0.1953504744589054,-0.19296662217823268},
{-0.8476874971365191,-0.5094004732960116,-0.3969401169567277,-0.3425978001569092,-0.3092680407212356,-0.28851823559568857,-0.27119868144120574,-0.25844822300723536,-0.24817416465941733,-0.23968089831896577,-0.23246278825013178,-0.2262477744422995,-0.22081784403428628,-0.2160206684015975,-0.21174127602125736,-0.20789909745383284,-0.20442446935635417,-0.2012502159215046,-0.1983477818173469,-0.1955031398600795,-0.19311788019479081},
{-0.8475532007162201,-0.5094755632480883,-0.3970768719964326,-0.34275286759873325,-0.3094298723921156,-0.288681266530034,-0.27136266523655195,-0.2586129824467207,-0.24833870521740664,-0.23984502915823214,-0.23262580631637775,-0.2264097510648071,-0.22097859065149805,-0.2161802287272394,-0.21189967323243764,-0.20805643948381203,-0.20458075487147198,-0.20140545960111922,-0.19850201096483033,-0.1956562876357566,-0.19326961531714915},
{-0.8474195004844773,-0.5095513227123547,-0.3972142789532995,-0.34290855835740786,-0.30959230642031343,-0.28884488169558153,-0.2715272184545938,-0.25877829945636677,-0.24850379962538227,-0.2400097019730083,-0.23278935819837443,-0.2265722552101579,-0.22113985511134615,-0.21634030143411564,-0.21205857846882736,-0.2082142851778599,-0.20473753848204979,-0.2015611966311326,-0.1986567290094854,-0.195809919119597,-0.19342182906905236},
{-0.8472863980854299,-0.5096277534075853,-0.3973523395245593,-0.34306487413607556,-0.309755344455084,-0.2890090828053644,-0.2716923426374933,-0.2589441755714006,-0.2486694494926951,-0.2401749182400863,-0.2329534454268014,-0.22673528832706324,-0.22130163894610178,-0.2165008879578636,-0.21221799329384794,-0.20837263597138644,-0.20489482164043693,-0.20171742843047014,-0.1988119373970676,-0.19596403570460552,-0.19357452295935218},
{-0.8471538951650359,-0.5097048570692095,-0.39749105541602603,-0.34322181660093065,-0.30991898814374963,-0.2891738713514087,-0.27185803934560226,-0.2591106123098825,-0.24883565637458105,-0.24034067943114223,-0.23311806950471237,-0.22689885185559433,-0.22146394368371602,-0.216661989749241,-0.212377919206574,-0.20853149328797826,-0.20505260579136575,-0.20187415643397344,-0.19896763753649793,-0.19611863874854407,-0.19372769852395777},
{-0.8470219933706176,-0.5097826354077597,-0.3976304282995784,-0.34337938744647545,-0.31008323912419655,-0.28933924899615704,-0.27202431015791717,-0.2592776111932835,-0.2490024218442386,-0.2405069870414991,-0.2332832319341378,-0.22706294721581344,-0.22162677082667415,-0.21682360822069313,-0.21253835778236407,-0.20869085854531022,-0.20521089232136092,-0.20203138205056348,-0.19912383082396445,-0.19627372961861056,-0.19388135726330802},
{-0.8468906943574552,-0.5098610901609959,-0.39777045988245163,-0.34353758835277404,-0.3102480990479535,-0.28950521734748236,-0.272191156588633,-0.2594451737503505,-0.24916974749089604,-0.24067384251884505,-0.23344893426440194,-0.22722757587041542,-0.22179012192123082,-0.21698574483014,-0.21269931053791424,-0.20885073319743697,-0.20536968273847833,-0.20218910674191193,-0.19928051868578223,-0.19642930969018835,-0.19403550074343912},
{-0.8467599997874231,-0.5099402230688952,-0.3979111518826244,-0.34369642103422393,-0.31041356955836363,-0.2896717779486835,-0.2723585802489197,-0.25961330154234474,-0.24933763490616911,-0.2408412473757835,-0.2336151780318687,-0.22739273926436,-0.22195399852307673,-0.21714840100378296,-0.21286077906063383,-0.20901111865703115,-0.2055289784341312,-0.2023473319243294,-0.1994377025492895,-0.19658538037549533,-0.19419013048025136},
{-0.8466299113184732,-0.510020035870582,-0.3980525059983506,-0.3438558871899886,-0.3105796523245772,-0.28983893251154313,-0.2725265826956047,-0.2597819961008554,-0.2495060856932696,-0.24100920309774665,-0.2337819647567585,-0.2275584388439711,-0.22211840218631096,-0.21731157821932356,-0.21302276489666383,-0.20917201639804262,-0.20568878089136433,-0.20250605906505825,-0.19959538382931896,-0.19674194305184756,-0.1943452480174983},
{-0.8465004306186756,-0.5101005302995532,-0.3981945239310676,-0.34401598851820836,-0.31074634901767695,-0.2900066825612839,-0.2726951655116636,-0.25995125897600246,-0.24967510143471827,-0.24117771117289521,-0.233949295994762,-0.22772467605977909,-0.2222833344760602,-0.21747527792638266,-0.21318526957645645,-0.20933342785804143,-0.2058490915708262,-0.20266528959211882,-0.19975356395707422,-0.1968989991254375,-0.19450085488597324},
{-0.8463715593661618,-0.5101817081292666,-0.39833720741557954,-0.3441767267358955,-0.31091366129430753,-0.2901750297663739,-0.2728643302814362,-0.2601210917340495,-0.24984468374225344,-0.24134677311155883,-0.23411717327769566,-0.22789145237504727,-0.22244879693846542,-0.21763950158447187,-0.21334829468253247,-0.2094953544724376,-0.20600991190758577,-0.20282502497127552,-0.19991224436648736,-0.1970565499989334,-0.19465695264329952},
{-0.8462432992211006,-0.510263571099415,-0.3984805581581554,-0.3443381035752964,-0.3110815908451059,-0.29034397578061544,-0.2730340785564067,-0.260291495950014,-0.2500148342362536,-0.24151639042543138,-0.2342855981817138,-0.22805876923280266,-0.22261479118537864,-0.21780425065628606,-0.21351184177706273,-0.2096577977255265,-0.2061712434004903,-0.20298526665794725,-0.2000714264825092,-0.19721459712923206,-0.19481354284437202},
{-0.8461156518873736,-0.5103461209857301,-0.3986245779064461,-0.34450012073148173,-0.3112501393347884,-0.2905135221665205,-0.27320441197537093,-0.26046247320425664,-0.2501855545043554,-0.24168656460869897,-0.23445457226125654,-0.22822662811108785,-0.2227813187683978,-0.2179695266291901,-0.21367591241823902,-0.20982075906522368,-0.20633308748119816,-0.2031460161238101,-0.2002311117538511,-0.19737314192184385,-0.19497062703021584},
{-0.8459886190298676,-0.5104293595454692,-0.3987692683709838,-0.3446627799793305,-0.3114193084592216,-0.29068367065042366,-0.2733753321070935,-0.2606340250785024,-0.2503568462137764,-0.24185729720159088,-0.23462409710339216,-0.22839503047543985,-0.2229483813260913,-0.2181353309864562,-0.21384050819438016,-0.20998423998423732,-0.2064954456717487,-0.20330727482541988,-0.20039130159909746,-0.19753218581024612,-0.19512820677573472},
{-0.8458622023445628,-0.5105132885479406,-0.3989146313058427,-0.3448260830083427,-0.31158909991438577,-0.2908544227833545,-0.2735468405459187,-0.26080615315936484,-0.2505287109560186,-0.24202858970340912,-0.23479417426187865,-0.2285639777992401,-0.22311598042415426,-0.21830166522431682,-0.21400563061615685,-0.21014824192354808,-0.20665831943279045,-0.2034690442368401,-0.20055199749185704,-0.19769173021700226,-0.19528628363309508},
{-0.8457364035223236,-0.5105979097634759,-0.3990606684224076,-0.34499003156861363,-0.311759515367271,-0.29102578025754156,-0.27371893890654064,-0.2609788590343669,-0.250701150346913,-0.24220044365381455,-0.23496480530945973,-0.22873347153790746,-0.22328411762964606,-0.21846853082581674,-0.21417128130508445,-0.21031276639223506,-0.20682171023906903,-0.2036313258147402,-0.2007132008654935,-0.19785177662208753,-0.19544485916208032},
{-0.8456112242629388,-0.5106832249915101,-0.39920738149163526,-0.3451546274233124,-0.3119305565593322,-0.29119774475464055,-0.27389162879023843,-0.2611521443410538,-0.25087416607209434,-0.2423728606114537,-0.23513599185935163,-0.22890351319290403,-0.2234527946078515,-0.21863592929764764,-0.21433746181321567,-0.21047781488812234,-0.20698561960114148,-0.20379412106933614,-0.20087491318270168,-0.19801232647830602,-0.19560393495385142},
{-0.8454866662659128,-0.510769236012095,-0.3993547722426456,-0.3453198723022979,-0.3121022251781369,-0.29137031784455303,-0.27406491181909587,-0.26132601066467487,-0.2510477597237468,-0.242545842100526,-0.2353077354925972,-0.22907410423988495,-0.2236220129469757,-0.21880386215707404,-0.21450417372500397,-0.21064338887083522,-0.20715004899113865,-0.2039574314831043,-0.2010371359117471,-0.1981733812258426,-0.19576351255852842},
{-0.84536273123814,-0.5108559446103982,-0.39950284244355316,-0.34548576797624264,-0.31227452293217084,-0.2915435012968146,-0.27423878960598813,-0.26150045964789115,-0.2512219330029666,-0.24271938966683138,-0.23548003784924276,-0.22924524616223607,-0.22379177427069408,-0.21897233093989144,-0.21467141860193806,-0.21080948987298598,-0.20731499992905356,-0.20412125856159946,-0.20119987050929922,-0.19833494236081606,-0.19592359357045552},
{-0.8452394208891292,-0.5109433525851728,-0.39965159384746585,-0.34565231619671977,-0.3124474515432212,-0.2917172966853059,-0.2744132637668599,-0.26167549291017167,-0.25139668753229216,-0.24289350488129458,-0.23565290050350995,-0.22941694046403427,-0.22396208019245023,-0.21914133715426942,-0.21483919801676166,-0.2109761193845543,-0.20748047393919933,-0.2042856037751335,-0.20136311844407828,-0.1984970113143163,-0.19608417955214463},
{-0.8451167369327663,-0.5110314617451195,-0.39980102821891705,-0.34581951872246464,-0.3126210127413742,-0.2918917057215822,-0.27458833595937904,-0.26185111208110357,-0.25157202497734943,-0.2430681893089286,-0.23582632508293955,-0.2295891886295749,-0.22413293232318665,-0.2193108823601051,-0.21500751357109493,-0.21114327890018103,-0.20764647249416157,-0.2044504686275559,-0.20152688122516338,-0.19865958959053387,-0.19624527212215526},
{-0.8449946810915208,-0.5111202738895599,-0.39995114730879777,-0.3459873773471145,-0.31279520824966767,-0.2920667300866171,-0.27476400776413357,-0.2620273188169904,-0.25174794702343206,-0.24324344451883917,-0.23600031321325332,-0.22976199215463566,-0.22430433229362734,-0.2194809680911476,-0.21517636680971464,-0.21131096996452925,-0.20781299712757573,-0.20461585463795018,-0.20169116029262568,-0.19882267863806646,-0.1964068728325401},
{-0.8448732550857585,-0.5112097908373698,-0.4001019529237624,-0.3461558938283815,-0.3129700397967099,-0.2922423714139768,-0.27494028087630795,-0.2622041147691334,-0.25192445532377405,-0.24341927210332415,-0.2361748665188088,-0.22993535256421183,-0.2244762817121,-0.21965159591695738,-0.21534575932992084,-0.21147919409008864,-0.20798004933658376,-0.20478176329618236,-0.20185595715429372,-0.19898627998020402,-0.19656898324967642},
{-0.8447524606449406,-0.5113000144035027,-0.4002534468047543,-0.3463250699672926,-0.3131455091290718,-0.2924186314741064,-0.27511715689513494,-0.26238150159201723,-0.25210155157253666,-0.24359567364456325,-0.23634998666182128,-0.2301092713541948,-0.22464878223297546,-0.219822767409255,-0.2155156927195776,-0.21164795280549242,-0.20814763069506625,-0.20494819615532833,-0.20202127330298936,-0.19915039508441623,-0.19673160499098685},
{-0.8446322994939237,-0.5113909464087669,-0.4004056307505266,-0.346494907519741,-0.3133216179885494,-0.29259551186282806,-0.2752946374963585,-0.262559480951154,-0.25227923746115266,-0.24377265071586862,-0.23652567526426083,-0.23028375005435464,-0.22482183549050205,-0.2199944841386241,-0.21568616852266587,-0.21181724762334397,-0.20831574271323916,-0.20511515469081587,-0.20218711019890634,-0.19931502541680857,-0.19689473958544568},
{-0.8445127733845084,-0.5114825886881817,-0.40055850655323866,-0.34666540831335624,-0.3134983681156882,-0.29277301433523917,-0.27547272432639147,-0.2627380545264941,-0.2524575146796906,-0.24395020496717734,-0.23670193399607342,-0.2304587901649029,-0.22499544304866959,-0.2201667477021374,-0.2158571883685454,-0.21198708009808342,-0.208484386910186,-0.20528264044560274,-0.20235346937079157,-0.19948017251363126,-0.19705838862876135},
{-0.8443938840451324,-0.5115749430721053,-0.4007120759930558,-0.3468365741374555,-0.31367576130764974,-0.2929511406034635,-0.2756514190368762,-0.26291722401151674,-0.2526363849229938,-0.2441283380052255,-0.23687876450946987,-0.23063439324812407,-0.22516960658151675,-0.22033955971005525,-0.21602875380608566,-0.2121574517911995,-0.2086535648378458,-0.20545065494388837,-0.20252035231010268,-0.19964583786099865,-0.19722255364740704},
{-0.8442756332287331,-0.5116680113994789,-0.40086634087128914,-0.34700840677157885,-0.3138537992867896,-0.2931298922831047,-0.275830723296167,-0.2630969910668455,-0.25281584991353157,-0.2443070514196961,-0.2370561684558652,-0.23081056079763584,-0.2253443276786129,-0.22051292174978698,-0.2162008664130326,-0.21232836420608692,-0.20882327802257805,-0.20561919970509734,-0.20268776048862946,-0.19981202296196443,-0.197387236196505},
{-0.8441580226766519,-0.5117617955144169,-0.40102130298475913,-0.3471809080666617,-0.3140324838180959,-0.2933092712148664,-0.2760106387753467,-0.2632773574065368,-0.2529959113592213,-0.24448634685734305,-0.237234147540903,-0.23098729437390375,-0.2255196079867119,-0.22068683546171997,-0.21637352781294794,-0.2124998189328835,-0.20899352804997307,-0.20578827628423824,-0.2028556954302303,-0.19997872933595318,-0.19755243781412446},
{-0.8440410541521146,-0.5118562972781433,-0.4011769641515457,-0.34735407980736,-0.31421181670714304,-0.293489279005712,-0.2761911671411781,-0.2634583247270257,-0.253176570973892,-0.2446662259724235,-0.23741270342520693,-0.2311645955030599,-0.22569544913017126,-0.220861302488629,-0.21654673954537884,-0.21267181751557018,-0.20916431645832745,-0.2059578861889122,-0.20302415863216083,-0.20014595850159367,-0.1977181599997948},
{-0.8439247294078882,-0.511951518525791,-0.40133332617153883,-0.3475279238298299,-0.31439179970539044,-0.29366991743449944,-0.2763723100962352,-0.2636398947397538,-0.253357830479672,-0.24484669038656648,-0.23759183778224724,-0.23134246572783468,-0.2258718526895791,-0.22103632445714538,-0.2167205032332049,-0.21284436152222952,-0.20933564479503275,-0.20612803098151744,-0.20319315162691964,-0.20031371199581827,-0.1978844042516812},
{-0.8438090502118598,-0.5120474611399004,-0.40149039085861205,-0.347702441954425,-0.314572434610227,-0.2938511882294961,-0.27655406929352466,-0.2638220691784454,-0.2535396916176751,-0.24502774176994535,-0.23777155234165548,-0.2315209066148327,-0.22604882030850604,-0.22121190303619187,-0.2168948204418939,-0.21301745251594184,-0.20950751464408768,-0.20629871219125562,-0.20336267590096213,-0.2004819913653364,-0.1980511720666982},
{-0.8436940183244133,-0.5121441269714637,-0.40164816005085413,-0.34787763601593724,-0.3147537232235891,-0.2940330930578057,-0.27673644644698925,-0.2640048497604539,-0.25372215613083426,-0.24520938178295637,-0.2379518487811083,-0.23169991974066306,-0.22622635359812193,-0.22138803987741085,-0.2170696927763629,-0.21319109208445752,-0.20967992755174691,-0.20646993136347191,-0.20353273298781005,-0.2006507981654977,-0.19821846491549877},
{-0.8435796355267939,-0.5122415179076825,-0.40180663555645424,-0.3480535078554112,-0.3149356673100101,-0.2942156337726374,-0.27691944323134976,-0.26418823820995385,-0.25390522576105923,-0.24539161209884242,-0.23813272880545355,-0.2318795066370285,-0.226404454171643,-0.22156473667689625,-0.21724512183152456,-0.21336528179836023,-0.20985288511838007,-0.20664169005260646,-0.20370332440836592,-0.20082013393528086,-0.19838628426259675},
{-0.8434659035892196,-0.5123396358174546,-0.4019658192165707,-0.3482300593124137,-0.31511826870405457,-0.29439881200494256,-0.27710306136089,-0.26437223627931417,-0.25408890225082814,-0.2455744343826609,-0.23831419413920685,-0.23205966889190677,-0.2265831236378517,-0.22174199510754988,-0.2174211091835332,-0.21354002324369503,-0.21002638890252,-0.20681398982037535,-0.2038744516804627,-0.20099000025231817,-0.19855463152748598},
{-0.8433528243008936,-0.5124384825878678,-0.40212571287088394,-0.3484072922356063,-0.31530152919140164,-0.2945826295583629,-0.27728730254909806,-0.2645568457082845,-0.2542731873563753,-0.24575785033266584,-0.23849624648357803,-0.23224040807735946,-0.22676236360177882,-0.22191981687024054,-0.21759765644708295,-0.21371531801207766,-0.21020044048407271,-0.20698683220371095,-0.2040461163701366,-0.20116039868355529,-0.19872350819161966},
{-0.8432403994321476,-0.5125380601043048,-0.4022863183389518,-0.34858520849070374,-0.3154854506068432,-0.2947670882113016,-0.2774721684688757,-0.26474206824752855,-0.2544580828398466,-0.2459418616382436,-0.2386788875817274,-0.23242172576908615,-0.22694217569824104,-0.22209820366640542,-0.21777476520992423,-0.21389116770308192,-0.2103750414842125,-0.20716021876671675,-0.2042183199990859,-0.2013313308502802,-0.19889291562571998},
{-0.8431286307903179,-0.5126383702724411,-0.4024476374977439,-0.34876380992750455,-0.31567003475515776,-0.29495218964370906,-0.27765766087384236,-0.26492790566408075,-0.25464359046691243,-0.24612646998969012,-0.23886211914168598,-0.2326036235618858,-0.22712256150214216,-0.22227715722942776,-0.21795243707651935,-0.21406757390673192,-0.21055019343600634,-0.2073341511018043,-0.20439106408866792,-0.20150279831773332,-0.19906285528350054},
{-0.8430175201651764,-0.5127394149862994,-0.4026096721838712,-0.3489430984208184,-0.315855283464316,-0.2951379357265296,-0.2778437814663448,-0.2651143597408918,-0.2548297120273446,-0.24631167712016122,-0.2390459429408338,-0.2327861030449867,-0.22730352267126364,-0.2224566792559699,-0.21813067367043004,-0.2142445382448841,-0.21072589799632624,-0.2075086307379479,-0.20456435022947517,-0.2016748027022004,-0.19923332856217257},
{-0.8429070693509857,-0.5128411961530901,-0.40277242425361237,-0.3491230758384063,-0.3160411985771816,-0.2953243281264122,-0.2780305319679428,-0.2653014322262379,-0.25501644926339395,-0.24649748471119892,-0.23923036070027592,-0.2329691658115962,-0.2274850608127963,-0.22263677151499905,-0.21830947656223998,-0.21442206231267846,-0.2109021567483751,-0.20768365925641774,-0.2047381799517325,-0.20184734560041306,-0.19940433683598258},
{-0.8427972801510464,-0.5129437156838321,-0.4029358955626776,-0.34930374405394105,-0.31622778190899226,-0.29551136867996775,-0.2782179141073584,-0.2654891249019329,-0.2552038039660829,-0.24668389449891492,-0.23941537414464165,-0.2331528134633345,-0.2276671775118757,-0.22281743570965773,-0.21848884738972174,-0.21460014773447256,-0.21107897127490105,-0.20785923824666952,-0.2049125548403481,-0.20202042863058978,-0.19957588151339678},
{-0.8426881543837226,-0.5130469755059153,-0.40310008799053776,-0.3494851049664476,-0.316415035331147,-0.29569905919686335,-0.2784059296184296,-0.26567743958241863,-0.25539177793768886,-0.24687090822339997,-0.2396009850721157,-0.2333370476167147,-0.22784987439945326,-0.22299867362266923,-0.21866878775665555,-0.21477879614826634,-0.2112563432232264,-0.20803536929793154,-0.20508747646215397,-0.20219405343289054,-0.19974796400504147},
{-0.8425796938595909,-0.5131509775420113,-0.4032650034027938,-0.3496671604477797,-0.31660296068253047,-0.29588740137467084,-0.2785945802553442,-0.265866378051669,-0.2555803729443369,-0.24705852760871494,-0.23978719520698633,-0.23352186989438906,-0.2280331531203501,-0.2231804869933285,-0.21884929930013186,-0.2149580091640928,-0.2114342741828068,-0.2082120539829475,-0.20526294637875253,-0.20236822161393775,-0.1999205856577646},
{-0.8424719003858172,-0.5132557237180322,-0.40343064368005344,-0.34984991241435637,-0.31679155981134954,-0.2960763971261713,-0.2787838677346599,-0.2660559421032076,-0.2557695908126334,-0.24724675438210397,-0.2399740063549416,-0.23370728190297996,-0.22821701528891936,-0.22336287759844708,-0.21903038363666383,-0.21513778840392206,-0.21161276582029132,-0.20838929392118644,-0.20543896620461055,-0.20254293482219055,-0.20009374788298828},
{-0.8423647757980461,-0.513361215974669,-0.4035970106976947,-0.35003336275258334,-0.31698083459275495,-0.29626604815223345,-0.27897379382841336,-0.2662461335593207,-0.2559594333038149,-0.24743559031333007,-0.2401614202676683,-0.23389328528514852,-0.22840146255043692,-0.2235458471967604,-0.21921204237946768,-0.21531813553781376,-0.2117918197312747,-0.2085670906994892,-0.2056155374912123,-0.20271819468018748,-0.20026745207076146},
{-0.8422583219111743,-0.513467456252954,-0.4037641063561068,-0.35021751338115337,-0.31717078688291167,-0.29645635630879497,-0.27916436028158387,-0.2664369542202394,-0.2561499022430098,-0.24762503714441664,-0.2403494387116325,-0.234079881671164,-0.2285864964993607,-0.2237293975895227,-0.21939427719530613,-0.21549905217000287,-0.2119714375435251,-0.20874544592993516,-0.20579266186462064,-0.20289400280933023,-0.20044169961522584},
{-0.8421525405705665,-0.5135744465007974,-0.4039319325310089,-0.35040236620864107,-0.3173614185606084,-0.29664732342769184,-0.27935556882141555,-0.2666284059338295,-0.2563409994216954,-0.24781509663569068,-0.2405380634792209,-0.23426707269243252,-0.22877211881871062,-0.2239135305300124,-0.21957708970262502,-0.21568053999828862,-0.2121516209258516,-0.20892436121300761,-0.2059703409023541,-0.20307036085546315,-0.20061649190381559},
{-0.8420474335998733,-0.5136821886777625,-0.40410049113791047,-0.350587923150556,-0.3175527315149793,-0.29683895125140225,-0.27954742126644305,-0.26682049051180456,-0.2565327266601116,-0.24800577055452777,-0.24072729635952328,-0.23445485999377524,-0.2289583311152228,-0.22409824782994292,-0.2197604815271461,-0.21586260063736518,-0.21233237147680484,-0.2091038381548742,-0.20614857620023486,-0.2032472704599968,-0.2007918303461338},
{-0.8419430028512807,-0.5137906847454587,-0.40426978406890157,-0.3507741861502609,-0.3177447276231078,-0.29703124172635853,-0.279739919329586,-0.2670132097948681,-0.25672508578134057,-0.24819706067228253,-0.24091713916288882,-0.2346432452549152,-0.22914513506907497,-0.22428355127499344,-0.2199444543844038,-0.21604523575376788,-0.21251369088554384,-0.20928387838955587,-0.20632736941627172,-0.20342473323580634,-0.20096771639134658},
{-0.8418392501573067,-0.5138999366619714,-0.4044398132305105,-0.35096115711735365,-0.317937408783564,-0.29722419656229704,-0.2799330648152818,-0.2672065656314544,-0.25691807858629545,-0.24838896874473448,-0.24110759365623835,-0.23483223011294285,-0.22933253234793938,-0.22446944267755953,-0.22012900986658224,-0.21622844702051225,-0.2126955808017783,-0.20946448351503477,-0.20650672212263999,-0.20360275081486634,-0.20114415141301834},
{-0.8417361773808807,-0.5140099464090895,-0.4046105805419984,-0.35114883800360985,-0.31813077688332214,-0.297417817673022,-0.28012685949056504,-0.26740055985817435,-0.25711170689226037,-0.24858149659348783,-0.2412986616766375,-0.2350218162383726,-0.22952052454957084,-0.22465592384071442,-0.22031414967523233,-0.2164122360932197,-0.21287804286839673,-0.20964565518158906,-0.20668663597336945,-0.203781324845977,-0.20132113690522146},
{-0.8416337863751551,-0.5141207159717283,-0.4047820879276287,-0.35133723076239676,-0.31832483385528576,-0.2976121069156079,-0.2803213051226976,-0.26759519434483536,-0.25730597255073917,-0.2487746459941036,-0.2414903450011252,-0.23521200533241426,-0.22970911340223665,-0.22484299655400264,-0.22049987545403837,-0.21659660467162212,-0.21306107875818725,-0.20982739500800562,-0.20686711257008028,-0.20396045694837994,-0.20149867430541235},
{-0.8415320789936231,-0.5142322473255376,-0.4049543373034794,-0.35152633731297556,-0.31851958158370053,-0.2978070660500407,-0.28051640351600327,-0.26779047094169073,-0.2575008773638956,-0.24896841872339337,-0.2416826454390275,-0.2354027990514851,-0.2298983005326818,-0.2250306626508518,-0.22068618887431057,-0.21678155441361469,-0.21324469011290148,-0.210009704594313,-0.20704815354702077,-0.20414014875882458,-0.2016767650853808},
{-0.8414310571010901,-0.5143445424644142,-0.4051273305913128,-0.3517161596396363,-0.318715021989874,-0.29800269704924176,-0.2807121564388808,-0.2679863915319629,-0.25769642317845864,-0.24916281657738182,-0.24187556483411754,-0.2355941990821293,-0.23008808763734123,-0.22521892393217513,-0.22087309165215174,-0.21696708699550982,-0.213428878645459,-0.21019258560056642,-0.207229760554128,-0.2043204019150835,-0.20185541074670255},
{-0.8413307225722519,-0.5144576033943054,-0.40530106974472346,-0.3519066997014306,-0.31891115701830586,-0.2981990016895679,-0.2809085657131618,-0.2681829579811392,-0.25789261181910206,-0.24935784137664996,-0.24206910498617162,-0.23578620715932175,-0.23027847641003518,-0.22540778223560665,-0.2210605854431833,-0.21715320416865325,-0.21361364601659716,-0.2103760396587404,-0.20741193525611834,-0.20450121805617982,-0.2020346128078927},
{-0.8412310772752107,-0.5145714321152468,-0.40547555669593294,-0.35209795947071143,-0.31910798859451006,-0.2983959819169968,-0.2811056331628379,-0.2683801722090493,-0.2580894451559743,-0.24955349495883183,-0.24226326774817153,-0.23597882498938816,-0.23046946853833106,-0.22559723940730692,-0.2212486719924982,-0.21733990759582866,-0.21379899391990875,-0.21056006843627983,-0.2075946793311232,-0.20468259884034978,-0.20221437282191346},
{-0.8411321230918247,-0.5146860306385292,-0.4056507933796638,-0.3522899409083493,-0.31930551862808443,-0.29859363956200013,-0.28130336051515314,-0.26857803604173114,-0.25828692496213534,-0.249749779072431,-0.24245805490443217,-0.2361720542552348,-0.2306610656904695,-0.2257872972019186,-0.22143735290819677,-0.2175271989436851,-0.21398492399487168,-0.2107446735103622,-0.2077779943629139,-0.2048645458834244,-0.20239469229250062},
{-0.8410338619118534,-0.5148014009830604,-0.40582678175610454,-0.3524826459843098,-0.31950374908080903,-0.29879197646857847,-0.2815017496351402,-0.2687765514062903,-0.2584850531392249,-0.24994669556440385,-0.24265346828804013,-0.23636589670354624,-0.23085326954731045,-0.22597795748720273,-0.22162662994924176,-0.21771507994480999,-0.21417143794747062,-0.2109298565676454,-0.20796188207475552,-0.2050470608530759,-0.20257557283446204},
{-0.8409362956139148,-0.5149175451720112,-0.4060035237766897,-0.35267607671130463,-0.31970268190138995,-0.29899099463500534,-0.2817008023125709,-0.26897572019402105,-0.2586838315090745,-0.25014424626237997,-0.24284950975231823,-0.2365603540772554,-0.23104608185690267,-0.2261692220868099,-0.2218165048402625,-0.21790355232030834,-0.21435853747072997,-0.21111561928375977,-0.2081463441371625,-0.20523014542186502,-0.20275701605237373},
{-0.8408394260935665,-0.5150344652354306,-0.40618102140410883,-0.3528702350700996,-0.3199023190562684,-0.29919069585685065,-0.2819005204090672,-0.269175544321115,-0.2588832619298955,-0.2503424329960353,-0.24304618113694687,-0.23675542812645745,-0.23123950431954654,-0.22636109284667327,-0.2220069792600725,-0.2180926177876472,-0.2145462242837084,-0.21130196330386752,-0.2083313822092805,-0.20541380123813724,-0.2029390235596793},
{-0.8407432552522209,-0.5151521632101321,-0.40635927660707694,-0.3530651230582862,-0.32010266248107655,-0.2993910820941892,-0.28210090572747504,-0.26937602569580577,-0.25908334625319185,-0.2505412576076651,-0.24324348425045628,-0.23695112059886014,-0.2314335386355424,-0.22655357159976575,-0.22219805496831668,-0.21828227805531242,-0.21473450002213212,-0.21148889028268059,-0.20851699799254675,-0.205598029965131,-0.20312159704565147},
{-0.8406477849811154,-0.5152706411426493,-0.406538291347033,-0.35326074270278696,-0.32030371417954484,-0.29959215528185723,-0.28230196008428265,-0.2695771662398556,-0.25928408633512845,-0.2507407219371771,-0.2434414209701572,-0.23714743327298038,-0.2316281865549854,-0.2267466601634851,-0.22238973366449954,-0.21847253486657792,-0.21492336645428622,-0.21167640190526527,-0.20870319319180908,-0.2057828333214502,-0.2033047381552251},
{-0.8405530172064459,-0.5153899010857685,-0.4067180676196358,-0.35345709597868336,-0.3205054760994699,-0.2997939172437327,-0.2825036853586198,-0.26977896789321676,-0.2594854840435801,-0.2509408278124283,-0.24363999311458429,-0.23734436795223246,-0.23182344975623437,-0.22694036039968069,-0.22258201712031678,-0.2186633899549406,-0.21511282521532848,-0.2118644998815853,-0.20888996950657202,-0.2059682129676048,-0.20348844863917748},
{-0.8404589538305345,-0.5155099451048386,-0.4068986073892802,-0.3536541849414334,-0.32070795022968923,-0.29999637003106727,-0.28270608336458736,-0.2699814325699208,-0.2596875412609734,-0.25114157712130236,-0.24383920257707814,-0.23754192638170935,-0.23201933002485475,-0.22713467412108912,-0.2227749070674463,-0.21885484506196917,-0.21530287809980564,-0.2120531858618051,-0.20907732864179707,-0.20615417062685992,-0.20367273018496235},
{-0.8403655967653094,-0.5156307752371845,-0.4070799126603788,-0.35385201158601376,-0.3209111385806409,-0.30019951545364165,-0.2829091559694916,-0.27018456220457665,-0.2598902598242603,-0.25134297168597186,-0.24403905114388635,-0.237740110392906,-0.23221582909957306,-0.22732960317330253,-0.22296840522506045,-0.2190469019228658,-0.21549352674742295,-0.2122424615363343,-0.20926527230858483,-0.20634070795074422,-0.20385758455859104},
{-0.8402729479348636,-0.515752393566629,-0.4072619853963033,-0.3540505779557179,-0.3211150430922771,-0.30040335551097996,-0.283112905027906,-0.2703883587164455,-0.2600936416033619,-0.2515450133827244,-0.2442395406878859,-0.23793892178173337,-0.23241294866818407,-0.2275251493987298,-0.22316251334586923,-0.21923956225327856,-0.21568477289383736,-0.21243232861138495,-0.20945380223474785,-0.2065278266622954,-0.2040430135468796},
{-0.840181009276705,-0.515874802181429,-0.40744482763795986,-0.3542498860952037,-0.3213196658286961,-0.30060789218839545,-0.2833173323955407,-0.2705928241116453,-0.26029768850014534,-0.25174770410490055,-0.24444067307285877,-0.23813836241129138,-0.23261069056047745,-0.2277213146600161,-0.2233572332404492,-0.2194328279013007,-0.21587661828220917,-0.2126227888422818,-0.209642920153442,-0.20671552853173125,-0.2042290189576761},
{-0.8400897827116296,-0.5159980031590408,-0.4076284413533813,-0.3544499380304842,-0.3215250087647519,-0.3008131273389836,-0.2835224399748313,-0.2707979602959085,-0.26050240236338595,-0.2519510457021852,-0.24464245013962227,-0.23833843409147448,-0.23280905648766748,-0.22791810076967067,-0.22355256661774092,-0.2196267005599566,-0.21606906462125153,-0.2128138438613405,-0.2098326277665592,-0.20690381521581003,-0.20441560259018843},
{-0.8399992701814654,-0.516121998580843,-0.40781282856733014,-0.3546507358242934,-0.32173107391588474,-0.3010190630393481,-0.2837282295912473,-0.271003769254321,-0.2607077851141639,-0.252155040072239,-0.24484487377992536,-0.23853913867174015,-0.23300804825555588,-0.228115509597842,-0.2237485152915042,-0.2198211819726339,-0.21626211367106407,-0.21300549545310332,-0.21002292685898283,-0.20709268844302642,-0.20460276630683438},
{-0.8399094736243455,-0.516246790555158,-0.4079979912989984,-0.3548522815241313,-0.3219378633161796,-0.3012257011557722,-0.2839347031804209,-0.2712102529465028,-0.26091383861023587,-0.2523596890823683,-0.24504794582855993,-0.2387404780140514,-0.2332076676353836,-0.2283135429572667,-0.223945081010811,-0.22001627397241919,-0.21645576713433456,-0.2131977453119589,-0.21021381914351878,-0.207282149950629,-0.20479051196559794},
{-0.839820394990511,-0.5163723811859882,-0.40818393156894217,-0.35505457719227707,-0.32214537897948503,-0.3014330437113131,-0.2841418625987444,-0.2714174133228653,-0.2611205647309589,-0.25256499465763227,-0.24525166811599775,-0.2389424540120899,-0.23340791641635406,-0.22851220271707007,-0.22414226557702932,-0.22021197829917583,-0.21665002678230394,-0.2133905951872066,-0.21040530636855692,-0.20747220144869516,-0.20497884146573142},
{-0.8397320362291225,-0.5164987725738683,-0.4083706513877132,-0.3552576249253434,-0.32235362295079995,-0.3016410927060633,-0.28434970974456064,-0.2716252523862295,-0.2613279653913878,-0.25277095869489585,-0.24545604256172737,-0.23914506852281647,-0.2336087963846012,-0.2287114907128398,-0.2243400707756109,-0.22040829676416251,-0.2168448943561998,-0.2135840468116612,-0.21059739032239122,-0.20766284469357288,-0.2051677566704484},
{-0.8396443992957643,-0.5166259668479825,-0.4085581527983777,-0.35546142673990744,-0.3225625972677335,-0.30184985003893416,-0.284558246562824,-0.271833772097807,-0.26153604247451767,-0.252977583095344,-0.24566107097518852,-0.23934832344650658,-0.23381030934024238,-0.22891140878982696,-0.22453849836881545,-0.220605231094396,-0.2170403716124838,-0.2137781019062004,-0.21079007270793682,-0.20785408138783623,-0.2053572594917341},
{-0.8395574861575028,-0.5167539661318301,-0.40874643784411546,-0.355665984776806,-0.32277230396425693,-0.30205931784405493,-0.2847674749223188,-0.27204297444995973,-0.26174479789494853,-0.2531848697701662,-0.24586675527859825,-0.2395522207200429,-0.23401245714364904,-0.22911195880612922,-0.22473755021792385,-0.2208027831599111,-0.21723646033547084,-0.21397276226116446,-0.2109833553597582,-0.20804591328521838,-0.20554735187681672},
{-0.8394712987699791,-0.5168827725498204,-0.4089355085544639,-0.3558713010793326,-0.32298274512095304,-0.30226949799703107,-0.2849773967633382,-0.2722528614391422,-0.2619542335370397,-0.253392820641011,-0.2460730972844658,-0.23975676220436526,-0.23421524161142315,-0.22931314258994462,-0.22493722807541872,-0.22100095470011638,-0.2174331622467207,-0.21416802960300174,-0.21117723997201665,-0.20823834211660142,-0.20573803568868243},
{-0.8393858391170284,-0.517012388242847,-0.409125366991816,-0.35607737777638704,-0.3231939227688372,-0.3024803925851529,-0.2851880140145795,-0.2724634350482802,-0.2621643513340359,-0.25360143766226884,-0.2462800988809022,-0.23996194987432773,-0.23441866455470972,-0.2295149620091479,-0.22513753381463175,-0.22119974757470118,-0.21763047913816536,-0.21436390572921482,-0.2113717283797314,-0.20843136959967978,-0.20592931292048888},
{-0.8393011091655467,-0.5171428153714714,-0.4093160152069686,-0.35628421696162604,-0.32340583901634545,-0.3026920036153342,-0.2853993285970091,-0.2726746973108902,-0.2623751531735934,-0.2538107227610453,-0.246487761959429,-0.24016778568216068,-0.23462272786684935,-0.22971741890512476,-0.2253384692049849,-0.22139916354922207,-0.21782841281151377,-0.21456039238421454,-0.2115668223401599,-0.2086249975195642,-0.20612118546603142},
{-0.839217110904201,-0.5172740560685725,-0.4095074552542428,-0.35649182070437746,-0.32361849590552083,-0.30290433304753606,-0.28561134247001974,-0.2728866501900029,-0.2625866409744049,-0.2540206778517131,-0.2466960883377851,-0.24037427152961754,-0.2348274333609197,-0.22992051512835587,-0.22554003605625894,-0.2215992044509676,-0.21802696498764362,-0.21475749134651778,-0.21176252361692605,-0.20881922757018856,-0.20631365522285705},
{-0.8391338463100055,-0.5174061124987475,-0.40969968920433075,-0.35670019115639207,-0.32383189550989755,-0.303117383013614,-0.2858240575609443,-0.27309929572231795,-0.2627988166667592,-0.25423130491719803,-0.2469050799264778,-0.24058140939416717,-0.23503278295447672,-0.23012425253148194,-0.22574223625838385,-0.2217998721081358,-0.21822613747940522,-0.21495520439032134,-0.21195883401912852,-0.20901406152211166,-0.20650672412932636},
{-0.8390513173894192,-0.517538986838531,-0.40989271913224457,-0.3569093304328135,-0.3240460399554195,-0.3033311554657985,-0.2860374758539592,-0.2733126359345306,-0.263011682147976,-0.25444260589165424,-0.24711473860645583,-0.2407892012776074,-0.23523877854745479,-0.23032863298305983,-0.22594507160852118,-0.22200116836415873,-0.21842593207497885,-0.2151535333512129,-0.21215575535416065,-0.20920950114202697,-0.2067003941438088},
{-0.8389695261280394,-0.5176726812576362,-0.41008654711015424,-0.3571192406409409,-0.32426093129402034,-0.30354565249342613,-0.2862515992998169,-0.2735266728142278,-0.263225239348003,-0.25465458273640706,-0.24732506619375272,-0.24099764909169608,-0.235445421970212,-0.2305336583007147,-0.22614854393543737,-0.22220309499084578,-0.2186263505233228,-0.2153524799675779,-0.21235328937893883,-0.20940554810397316,-0.20689466707653992},
{-0.8388884745246514,-0.5178071979291872,-0.41028117522932916,-0.35732992394196117,-0.3244765716708571,-0.3037608761782167,-0.28646642987075666,-0.2737414084485863,-0.26343949023794266,-0.2548672374423404,-0.24753606463718825,-0.24120675487733934,-0.2356527152290937,-0.2307393304137122,-0.22635265514475122,-0.22240565391075506,-0.21882739468082946,-0.21555204613071055,-0.212551437938032,-0.2096022042868526,-0.20708954491294662},
{-0.8388081645927628,-0.5179425390473398,-0.4104766055804703,-0.35754138244749356,-0.32469296316719465,-0.3039768284945694,-0.28668196956868996,-0.27395684483167315,-0.2636544366999942,-0.2550805719706659,-0.24774773577291853,-0.24141652060393426,-0.2358606601937936,-0.23094565112683085,-0.22655740704260552,-0.22260884695231198,-0.21902906627235552,-0.2157522335894555,-0.2127502028233721,-0.20979947140460808,-0.20728502950896655},
{-0.8387285983405377,-0.5180787068113659,-0.410672840258826,-0.35775361832679664,-0.32491010789726715,-0.30419351162004205,-0.2868982203564201,-0.27417298401337575,-0.26387008072208573,-0.25529458830283147,-0.24796008149530735,-0.24162694828976328,-0.236069258825637,-0.23115262234580314,-0.22676280153189055,-0.22281267591210963,-0.21923136716452518,-0.21595304417996886,-0.2129495858653172,-0.20999735121279173,-0.20748112270746333},
{-0.8386497777854061,-0.5182157034122383,-0.4108698813583942,-0.3579666337124081,-0.3251280079952039,-0.30441092753437715,-0.2871151842640529,-0.27438982802721057,-0.26408642420039996,-0.2555092884138048,-0.2481731036735937,-0.24183803991513741,-0.2362785130959537,-0.23136024592088233,-0.22696884044876242,-0.22301714267609896,-0.2194342991334679,-0.21615447975204916,-0.21314958885398028,-0.21019584551413573,-0.2076778263808592},
{-0.838571704954461,-0.5183535310658272,-0.411067731004664,-0.35818043077517814,-0.32534666558217396,-0.3046290783643144,-0.28733286327621954,-0.2746073789322736,-0.26430346911354263,-0.2557246743081123,-0.24838680417667547,-0.2420497974914042,-0.23648842492605127,-0.23156852371334935,-0.22717552565814003,-0.22322224911704325,-0.21963786394690032,-0.21635654214946953,-0.21335021361471718,-0.21039495604657077,-0.20787514235769322},
{-0.8384943818639385,-0.5184921919894805,-0.4112663912916332,-0.3583950116736787,-0.3255660828042437,-0.3048479662260206,-0.287551259393922,-0.27482563879596,-0.26452121738168444,-0.2559407479894844,-0.2486011849254055,-0.24226222305583178,-0.23669899634148805,-0.2317774576337115,-0.22738285905961675,-0.22342799708792427,-0.21984206350214208,-0.21655923317098313,-0.213551461989141,-0.2105946846641018,-0.20807307248355755},
{-0.838417810555768,-0.5186316884080497,-0.411465864365141,-0.3586103785797832,-0.32578626178997183,-0.30506759313493603,-0.2877703746740963,-0.27504460965678845,-0.26473967098229423,-0.25615751143504895,-0.2488162477707192,-0.2424753186099906,-0.23691022927584982,-0.23198704953574634,-0.22759084253630135,-0.22363438846900863,-0.2200468995420124,-0.21676255472232242,-0.21375333580488132,-0.21079503312444103,-0.20827161859097032},
{-0.838341993068525,-0.518772022563553,-0.4116661523426046,-0.35882653368639694,-0.3260072046990672,-0.3052879613045434,-0.28799021112229184,-0.27526429360079874,-0.2649588319121676,-0.25637496668127824,-0.24903199464563386,-0.24268908618250862,-0.23712212580903724,-0.23219730133405392,-0.22779947798949252,-0.22384142508656169,-0.2202523739828166,-0.2169665086206578,-0.21395583688990882,-0.21099600323657342,-0.20847078246617912},
{-0.8382669314400459,-0.5189131966719742,-0.4118672573628146,-0.3590434791642565,-0.3262289136977188,-0.3055090727308425,-0.28821077080237956,-0.27548469268651843,-0.26517870205668714,-0.2565931157351997,-0.24924842739733322,-0.24290352777109092,-0.23733468793250267,-0.23240821487763696,-0.22800876729070296,-0.22404910886211837,-0.22045848860193473,-0.2171710967746776,-0.2141589670935673,-0.21119759679811523,-0.20867056587962907},
{-0.8381926277116349,-0.5190552129874959,-0.41206918155376115,-0.35926121720092397,-0.3264513909097104,-0.30573092960662507,-0.2884320557384399,-0.2757058089646307,-0.2653992834426617,-0.2568119605952006,-0.24946554791961262,-0.24311864543358297,-0.23754791765065875,-0.23261979208507455,-0.22821871234452829,-0.22425744165821015,-0.22066524523313547,-0.21737632098347603,-0.2143627282430316,-0.21139981562816956,-0.2088709706293912},
{-0.8381190839504029,-0.5191980737730546,-0.4122719270815196,-0.35947975000829047,-0.3266746385517081,-0.3059535340639741,-0.28865406798320237,-0.2759276445784735,-0.2656205780383516,-0.25703150332708447,-0.24968335812559417,-0.24333444118258285,-0.23776181703908605,-0.23283203487983428,-0.22842931508444053,-0.22446642537818207,-0.22087264577464794,-0.21758218324498557,-0.21456712220708596,-0.21160266157937713,-0.209071998519903},
{-0.8380463022102163,-0.5193417812885173,-0.412475496082493,-0.35969907978244464,-0.3268986587756899,-0.30617688816937516,-0.2888768096348713,-0.27615020154746617,-0.2658425878092885,-0.25725174593128486,-0.24990185990327518,-0.24355091703318976,-0.2379763881103827,-0.23304494513968166,-0.22864057739900545,-0.22467606189661637,-0.22108069203579817,-0.2177886853205564,-0.21477215082336443,-0.21180613645151425,-0.20927365130910403},
{-0.8379742845482383,-0.5194863377903403,-0.41267989074196976,-0.359919208741303,-0.32712345376478424,-0.30640099417075817,-0.2891002827335569,-0.27637348200323686,-0.2660653147515859,-0.25747269043370125,-0.2501210551915847,-0.24376807503392683,-0.23819163297537216,-0.23325852480820686,-0.22885250123943024,-0.2248863530841163,-0.22128938591924907,-0.217995829174356,-0.2149778159773632,-0.2120102421001775,-0.2094759307539107},
{-0.8379030330412434,-0.5196317455695407,-0.41288511320976795,-0.3601401391052832,-0.3273490257294043,-0.30662585408629184,-0.28932448938962807,-0.27659748805092477,-0.2662887608548772,-0.2576943389034341,-0.2503409458479382,-0.24398591719341312,-0.2384075537050876,-0.23347277578045578,-0.22906508850610408,-0.2250973008492565,-0.22149872929162484,-0.21820361669813337,-0.21518411954059502,-0.21221498035936293,-0.20967883864352643},
{-0.8378325497581613,-0.5197780068878046,-0.41309116567481396,-0.3603618730917333,-0.32757537685449734,-0.30685147017129566,-0.28954943168082536,-0.2768222217580387,-0.2665129281361942,-0.2579166933776378,-0.25056153380705837,-0.2442044455381165,-0.23862415235839762,-0.23368770001013672,-0.22927834114841517,-0.2253089070994747,-0.2217087240053388,-0.21841204977374673,-0.21539106330362756,-0.21242035307648166,-0.2098823767163367},
{-0.8377628367795751,-0.5199251240569538,-0.41329805031057276,-0.36058441293789656,-0.32780250934149535,-0.3070778445603537,-0.28977511168227466,-0.2770476852649608,-0.26673781856322876,-0.2581397558943763,-0.25078282097365445,-0.2444236620843867,-0.2388414310778444,-0.2339032994051422,-0.22949226111404641,-0.22552117377802006,-0.221919371974991,-0.21862113034387676,-0.21559864922960514,-0.21262636213202768,-0.21008654674983518},
{-0.8376938961933433,-0.5200730993711886,-0.4135057693180215,-0.3608077608724898,-0.3280304254077464,-0.3073049793811151,-0.29000153153344854,-0.2772738806573898,-0.266963434161994,-0.2583635285271839,-0.25100480924470503,-0.24464356884834615,-0.23905939191456582,-0.23411957592315957,-0.22970685032555593,-0.22573410272525507,-0.22213067507323103,-0.21883086027492027,-0.21580687913171914,-0.21283300934965155,-0.21029135052333459},
{-0.8376257300865859,-0.5202219351255053,-0.41371432487801485,-0.36103191917334243,-0.32825912726571005,-0.307532876875257,-0.2902286933368714,-0.2775008100945797,-0.26718977693997203,-0.25858801331969516,-0.2512275006025675,-0.24486416787476628,-0.23927803702520123,-0.23433653151005274,-0.2299221107628,-0.22594769589761654,-0.22234263521750108,-0.21904124153093107,-0.2160157549443511,-0.21304029661587265,-0.21049678983365538},
{-0.837558340550288,-0.5203716336408206,-0.41392371920790083,-0.36125689006087214,-0.32848861714933264,-0.3077615391634936,-0.29045659922564937,-0.27772847566245673,-0.2674168489292015,-0.2588132123369178,-0.25145089691272915,-0.2450854611364548,-0.23949736854979164,-0.23455416812237218,-0.23013804435800012,-0.22616195521004556,-0.22255525428511191,-0.2192522760301472,-0.21622527852684925,-0.21324822578094427,-0.21070286643009695},
{-0.837491729694193,-0.5205221972369145,-0.41413395451297674,-0.361482675805064,-0.3287188972783497,-0.30799096847999863,-0.2906852513075364,-0.27795687950811043,-0.2676446521439857,-0.2590391276734181,-0.25167500012764776,-0.24530745067249882,-0.2397173885498205,-0.2347724877130304,-0.23035465308839775,-0.22637688257725586,-0.22276853419964482,-0.21946396568864657,-0.2164354517499305,-0.213456798693187,-0.2109095820942457},
{-0.8374258996230424,-0.520673628245504,-0.41434503302627945,-0.36170927869238767,-0.3289499699205862,-0.30822116703495794,-0.29091465175133635,-0.278186023770445,-0.2678731886337573,-0.2592657614121663,-0.2518998121946652,-0.24553013852130334,-0.2399380992623037,-0.23499149226017835,-0.23057193893532713,-0.22659247998501542,-0.22298247692538098,-0.21967631247196096,-0.21664627656912216,-0.21366601725856071,-0.21111693869374903},
{-0.837360852442032,-0.5208259289948955,-0.41455695695401573,-0.36193670095417474,-0.3291818372963462,-0.30845213693737605,-0.2911448026886774,-0.27841591058597714,-0.26810246042214203,-0.25949311555393706,-0.25212533500643985,-0.24575352664089678,-0.24015950274906572,-0.23521118372525507,-0.23078990384317422,-0.22680874930586015,-0.22319708430188712,-0.21988931827343094,-0.21685775481557812,-0.2138758833192469,-0.21132493794289076},
{-0.8372965902651117,-0.5209791018342003,-0.4147697285424101,-0.36216494490577134,-0.329414501656629,-0.30868388052363116,-0.2913757062597142,-0.2786465421089588,-0.2683324695593683,-0.25972119227310486,-0.25235157055874424,-0.24597761705899757,-0.24038160121347119,-0.23543156410278243,-0.23100854982510555,-0.22702569250452598,-0.22341235836279338,-0.22010298509519544,-0.21706988846972308,-0.21408639877142832,-0.21153358174490222},
{-0.8372331152298784,-0.521133149120601,-0.4149833500443947,-0.36239401282580275,-0.3296479652915423,-0.30891639992375985,-0.2916073646673567,-0.2788779204886396,-0.2685632180767925,-0.25994999362126237,-0.2525785207911895,-0.24620241182424252,-0.24060439685456458,-0.2356526353701156,-0.23122787886029528,-0.22724331156382505,-0.22362830098074937,-0.22031731486822537,-0.21728267940250134,-0.21429756545876444,-0.21174287188125618},
{-0.837170429445905,-0.5212880731950236,-0.41519782367959124,-0.3626239070089241,-0.3298822304325313,-0.3091496973967196,-0.29183978008234135,-0.2791100479113311,-0.2687947080755748,-0.26017952172333025,-0.25280618764099927,-0.24642791290500554,-0.2408278917704365,-0.23587439953314515,-0.23144789295633927,-0.22746160842370955,-0.2238449141309502,-0.2205323095397489,-0.21749612956182318,-0.2145093852343507,-0.21195281022266954},
{-0.8371085350568706,-0.5214438764508031,-0.4154131517271935,-0.3628546297603634,-0.3301172993685668,-0.309383775189076,-0.2920729546470966,-0.27934292651639225,-0.2690269415718376,-0.2604097786163493,-0.2530345730802992,-0.24665412233673578,-0.24105208816047252,-0.23609685860014906,-0.2316685940681964,-0.22768058504266264,-0.22406219977494857,-0.22074797108928124,-0.21771024083966495,-0.21472186001119553,-0.21216339859211075},
{-0.8370474342029297,-0.521600561246828,-0.41562933645502653,-0.3630861833844392,-0.33035317439987466,-0.30961863548532165,-0.29230689059158976,-0.2795765584947958,-0.2692599206702653,-0.26064076646423473,-0.25326367907166514,-0.24688104212248163,-0.24127698819654597,-0.2363200145408655,-0.231889984249392,-0.2279002433823507,-0.22428015986781702,-0.220964301451545,-0.21792501522065777,-0.21493499165455887,-0.2123746388846257},
{-0.8369871290273068,-0.5217581299715448,-0.41584638013705444,-0.3633185702034325,-0.33058985778393435,-0.3098542806279738,-0.2925415900832604,-0.27981094601580025,-0.26949364742756643,-0.2608724873487063,-0.25349350760109246,-0.24710867429416794,-0.2415025941204476,-0.23654386943053396,-0.23211206552332442,-0.22812058541478564,-0.2244987964104439,-0.22118130265494074,-0.2181404545933674,-0.21514878202526688,-0.21258653293170937},
{-0.8369276216681669,-0.5219165850048739,-0.4160642850356453,-0.3635517925424665,-0.3308273518309761,-0.310090712744568,-0.29277705536162557,-0.2800460912927747,-0.26972812392023116,-0.2611049433928656,-0.2537240606287696,-0.24733702085859477,-0.2417289080555065,-0.2367684252365052,-0.23233483984370196,-0.2283416131016338,-0.22471811134698783,-0.22139897662816566,-0.21835656091968758,-0.21536323301040738,-0.21279908262124536},
{-0.8368689142976109,-0.522075928758909,-0.41628305346000616,-0.3637858527310982,-0.3310656588373604,-0.3103279341810321,-0.2930132886293677,-0.28028199649941143,-0.2699633522732938,-0.2613381367235661,-0.2539553401381909,-0.24756608383722778,-0.24195593221270428,-0.23699368400832554,-0.23255830931793753,-0.2285633284608366,-0.22493810668538572,-0.22161732537949774,-0.21857333616435426,-0.21557834647990148,-0.2130122898869331},
{-0.8368110090597156,-0.5222361636289179,-0.41650268769376453,-0.3640207531119586,-0.33130478112832407,-0.31056594721985675,-0.2932502920858724,-0.2805186638501027,-0.2701993345531264,-0.2615720694719812,-0.254187348155142,-0.24779586526153707,-0.24218366880222675,-0.23721964779645077,-0.2327824758880297,-0.2287857334290493,-0.22515878444266946,-0.2218363508998209,-0.21879078226356796,-0.21579412431879064,-0.2132261565858471},
{-0.8367539081335167,-0.5223972920415463,-0.4167231900579509,-0.36425649601949317,-0.3315447210009097,-0.3108047540391681,-0.2934880679987373,-0.2807560955585586,-0.27043607286645965,-0.2618067437344962,-0.2544200866278743,-0.24802636719743987,-0.24241212000299583,-0.23744631863337418,-0.23300734168083181,-0.22900883002080263,-0.2253801466126788,-0.2220560551803601,-0.2190089012108274,-0.21601056841939226,-0.21344068470193633},
{-0.8366976136872495,-0.522559316415709,-0.41694456285961223,-0.36449308381611445,-0.3317854807844469,-0.31104435705151445,-0.2937266186067973,-0.28099429384565155,-0.2706735693694782,-0.26204216169753636,-0.2546535576145743,-0.24825759159421068,-0.24264128805043583,-0.2376736985630714,-0.23323290872303915,-0.2292326201978767,-0.2256021952395031,-0.22227644021427295,-0.21922769496666206,-0.2162276806927821,-0.2136558761210381},
{-0.8366421278923895,-0.5227222391813484,-0.4171668084297835,-0.36473051886059693,-0.33202706282952477,-0.3112847584212659,-0.29396594614627247,-0.2812332609157693,-0.2709118261137746,-0.262278325491593,-0.2548877630944162,-0.24848954058927575,-0.24287117514882084,-0.23790178964213737,-0.23345917904032376,-0.2294571059765076,-0.2258249322970869,-0.22249750800551737,-0.21944716547977805,-0.21644546299751255,-0.21387173278765204},
{-0.836587452928029,-0.5228860627607901,-0.41738992906346084,-0.3649688035250165,-0.3322694694280699,-0.31152596051322234,-0.2942060528805541,-0.2814729989885336,-0.27115084527372346,-0.2625152372379489,-0.25512270507090307,-0.24872221615135004,-0.2431017834658178,-0.2381305939163667,-0.23368615466199572,-0.2296822893152921,-0.2260483598143992,-0.2227192605386108,-0.21966731476129553,-0.21666391722055778,-0.2140882566543496},
{-0.8365335909990108,-0.5230507896303607,-0.41761392714749945,-0.36520794018952074,-0.3325127029658006,-0.31176796563977405,-0.2944469410547299,-0.28171351036530723,-0.2713906289747001,-0.2627528991579311,-0.25535838560404045,-0.24895562038216212,-0.24333311526015677,-0.23836011349453656,-0.2339138377344625,-0.22990817229583627,-0.22627247992079447,-0.22294169988606427,-0.21988814478413587,-0.21688304534541203,-0.21430544974077748},
{-0.836480544291021,-0.5232164222226174,-0.41783880499974657,-0.36544793121333896,-0.3327567657917143,-0.3120107760424844,-0.29468861299028504,-0.2819547972159171,-0.2716311793568593,-0.26299131335713355,-0.25559480669323875,-0.24918975531647902,-0.24356517268824973,-0.23859035042869436,-0.23414223025019965,-0.2301347568707115,-0.2264972945658883,-0.22316482800260928,-0.22010965755498546,-0.21710284924836287,-0.21452331396665159},
{-0.8364283149993526,-0.5233829630107039,-0.4180645649805683,-0.36568877902857366,-0.33300166023263955,-0.3122543941587992,-0.2949310709374231,-0.28219686183422255,-0.27187249856308426,-0.2632304820281206,-0.2558319704215819,-0.24942462299588897,-0.2437979580334968,-0.23882130680715363,-0.23437133435743362,-0.2303620450584276,-0.22672280586516536,-0.223388646952003,-0.2203318550990616,-0.21732333084366928,-0.2147418513836783},
{-0.8363769053335091,-0.5235504144641254,-0.41829120946567855,-0.36593048599331723,-0.33324738868770964,-0.31249882216343394,-0.29517431723741083,-0.28243970649100447,-0.27211458874489836,-0.26347040735197425,-0.25606987879416465,-0.24966022554099254,-0.24403147347788945,-0.2390529847156131,-0.23460115210855292,-0.2305900389044382,-0.2269490158661256,-0.22361315874195498,-0.22055473938030445,-0.21754449208151527,-0.21496106395659353},
{-0.8363263174983331,-0.5237187790609141,-0.4185187408257889,-0.36617305454626603,-0.33349395351945077,-0.3127440625039526,-0.29541835414522666,-0.28268333341759444,-0.2723574520978218,-0.26371109152000827,-0.2563085338759947,-0.2498965649759839,-0.24426572124036738,-0.2392853862585298,-0.23483168556674627,-0.2308187404335058,-0.22717592662490915,-0.22383836540905122,-0.2207783123973286,-0.21776633486183528,-0.2151809537610916},
{-0.836276553719415,-0.523888059290698,-0.418747161430133,-0.36641648708859975,-0.33374135709266284,-0.31299011748035355,-0.2956631839614374,-0.2829277449086476,-0.2726010907707632,-0.2639525367345641,-0.2565479377386737,-0.25013364342271416,-0.2445007035520348,-0.2395185135230804,-0.23506293688262758,-0.23104815168596815,-0.22740354024051612,-0.22406426899169674,-0.22100257622344088,-0.21798886115175264,-0.21540152280454095},
{-0.8362276162121702,-0.5240582576431052,-0.4189764736864845,-0.36666078602456764,-0.33398960181796156,-0.3132369894231033,-0.29590880906812345,-0.2831729432245993,-0.2728455069411666,-0.26419474518149855,-0.2567880924140127,-0.25037146291174395,-0.2447364225738511,-0.239752368640211,-0.23529490809096387,-0.23127827466805684,-0.22763185878648073,-0.2242908715223848,-0.2212275328264468,-0.21821207290849998,-0.21562277316047584},
{-0.8361795072164,-0.5242293766407329,-0.4192066799840859,-0.3669059538228794,-0.33423869007901885,-0.31348468073667846,-0.29615523177380965,-0.2834189306953476,-0.27309070281603454,-0.26443771907952396,-0.2570290000643354,-0.25061002558618384,-0.24497288059774291,-0.23998695371994927,-0.235527601381591,-0.2315091115119685,-0.2278608843693064,-0.2245181750718075,-0.22145318431330452,-0.21843597209272048,-0.21584470691527713},
{-0.8361322289400164,-0.5244014187719586,-0.41943778273162025,-0.36715199288926215,-0.33448862428463144,-0.3137331937119825,-0.2964024544090762,-0.2836657095584769,-0.2733366805737205,-0.2646814606364387,-0.2572706626535819,-0.2508493335026287,-0.24521007982150422,-0.2402222708856243,-0.23576101878461486,-0.23174066419358041,-0.22809061905422823,-0.22474618166950222,-0.22167953264943208,-0.21866056062549433,-0.21606732610234758},
{-0.8360857836483433,-0.5245743865631312,-0.4196697843512993,-0.3673989056838991,-0.3347394068102858,-0.31398253077964,-0.2966504793093918,-0.2839132821268322,-0.27358344242873045,-0.26492597210972235,-0.2575130823438485,-0.25108938880896403,-0.24544802244110997,-0.2404583222603378,-0.23599516246417807,-0.23197293482041914,-0.22832106494661275,-0.22497489339491494,-0.2219065798713018,-0.2188858404565508,-0.2162906328514964},
{-0.8360401735778282,-0.5247482825681118,-0.41990268727136026,-0.36764669467095246,-0.33499104013105807,-0.3142326943261651,-0.2968993088715024,-0.2841616507529352,-0.27383099060614313,-0.2651712557320707,-0.2577562612437987,-0.2513301936045309,-0.24568671071017434,-0.24069511000539023,-0.23623003452735247,-0.2322059254877331,-0.22855222419627808,-0.2252043123120302,-0.22213432807370737,-0.21911181360633236,-0.21651462929844456},
{-0.8359954009753778,-0.5249231092932405,-0.4201364939121959,-0.3678953622768404,-0.3352435266270959,-0.31448368662961457,-0.29714894544292747,-0.28441081769256016,-0.27407932727817297,-0.26541731369525223,-0.2580002013842204,-0.25157174996388676,-0.24592614681716896,-0.24093263624160954,-0.23646563706722645,-0.23243963824211278,-0.22878409889210616,-0.22543444044640637,-0.22236277925617287,-0.2193384820081974,-0.21673931751138298},
{-0.8359514680980169,-0.5250988692981764,-0.42037120673182926,-0.36814491099892166,-0.33549686873493556,-0.3147355102164511,-0.29739939140483784,-0.2846607852964098,-0.2743284547550502,-0.26566414832336704,-0.25824490494710517,-0.25181406003378015,-0.24616633302639457,-0.24117090313961853,-0.23670197228011602,-0.23267407518562777,-0.22901669116424728,-0.225665279937175,-0.22259193550621603,-0.21956584766257947,-0.21696469963058007},
{-0.8359083772202212,-0.5252755651468988,-0.4206068281919215,-0.36839534331613777,-0.33575106891203177,-0.3149881673806476,-0.29765064916591655,-0.2849115558607309,-0.2745783751848876,-0.26591176186275334,-0.2584903740222444,-0.25205712599722574,-0.24640727153098396,-0.2414099128388898,-0.2369390422354627,-0.23290923841250333,-0.22925000312795873,-0.2258968328389983,-0.22282179889475628,-0.21979391251488778,-0.21719077782245222},
{-0.835866130598788,-0.5254531993936098,-0.4208433607312827,-0.368646661715502,-0.33600612958264264,-0.31524166059887193,-0.29790272109812577,-0.285163131767149,-0.27482909087757434,-0.2661601565913543,-0.25873661073501353,-0.25230094991400165,-0.24664896454601148,-0.24164966751686734,-0.2371768491346984,-0.233145130058233,-0.22948403690497798,-0.22612910122597896,-0.2230523714570154,-0.2200226785223549,-0.21741755423317954},
{-0.8358247305039868,-0.5256317745959223,-0.42108080682851323,-0.3688988686704988,-0.3362620532047913,-0.315495992271849,-0.2981556096164013,-0.2854155153074771,-0.27508060403374657,-0.2664093347866583,-0.2589836172313653,-0.2525455339813334,-0.24689141434203066,-0.2418901693567932,-0.237415395056928,-0.2333817522002164,-0.22971879465967504,-0.22636208720905415,-0.22328365527141614,-0.22025214769064405,-0.21764503100075672},
{-0.8357841792292788,-0.5258112933591974,-0.42131916897869814,-0.36915196670452133,-0.3365188422415031,-0.31575116478109067,-0.2984093171517088,-0.28566870885026674,-0.2753329169523795,-0.26665929874366157,-0.2592313956312182,-0.2527908803322134,-0.24713462309762235,-0.24213142051314662,-0.23765468217141006,-0.23361910696371524,-0.22995427855335038,-0.22659579290416332,-0.2235156524031936,-0.22048232205020213,-0.21787321028023143},
{-0.8357444790504474,-0.5259917582566231,-0.42155844965043343,-0.3694059582993532,-0.3367764991553486,-0.31600718062384203,-0.29866384610488694,-0.2859227147382626,-0.27558603187128483,-0.26691005076713736,-0.25947994812906927,-0.25303699112566846,-0.24737859305810161,-0.24237342320384414,-0.23789471265183693,-0.2338571965030951,-0.23019049071626796,-0.22683022038836498,-0.2237483649673777,-0.2207132034930055,-0.21810209422937987},
{-0.8357056322592484,-0.5261731718806004,-0.4217986513518781,-0.3696608460131756,-0.33703502643254524,-0.31626404215137427,-0.2989191989493065,-0.286177535335014,-0.27583995105044323,-0.26716159318186783,-0.2597292768201669,-0.2532838685539218,-0.2476233264541179,-0.24261617960030435,-0.2381354886236977,-0.23409602291940246,-0.23042743327255266,-0.22706537181215936,-0.22398179501351478,-0.22094479404086087,-0.21833168500143074},
{-0.835667641164946,-0.5263555368500192,-0.4220397765858479,-0.3699166323369809,-0.3372944265316846,-0.3165217518819645,-0.2991753781046782,-0.2864331729958849,-0.276094676808043,-0.2674139283031991,-0.2599793838987807,-0.2535315148014661,-0.2478688255190491,-0.24285969190918877,-0.23837701227853358,-0.23433558840770274,-0.2306651084272744,-0.2273012492585167,-0.22421594465072303,-0.2211770956998862,-0.2185619847768976},
{-0.8356305080482116,-0.5265388557789947,-0.4222818278722116,-0.3701733198281545,-0.337554701973545,-0.3167803122599935,-0.2994323860327768,-0.2866896301052293,-0.2763502114055427,-0.2676670584810381,-0.26023027160567835,-0.2537799320382419,-0.24811509247672348,-0.243103962346936,-0.2386192857422884,-0.23457589505119358,-0.2309035183427568,-0.22753785489658185,-0.2244508159240013,-0.2214101104088968,-0.2187929956996868},
{-0.8355942352442867,-0.5267231312860758,-0.42252480773902334,-0.37043091100974834,-0.3378158552260402,-0.31703972568413974,-0.29969022522118394,-0.28694690903387254,-0.27660655713748383,-0.2679209860455103,-0.2604819420319018,-0.254029122492625,-0.2483621295455123,-0.24334899312805192,-0.23886231123742618,-0.23481694509519002,-0.23114266517950455,-0.22777519084752385,-0.2246864110200022,-0.22164384018788041,-0.21902471990279082},
{-0.8355588250576602,-0.5269083660156184,-0.42276871873298205,-0.37068940845688303,-0.3380778888149507,-0.31729999472440795,-0.2999488981133709,-0.2872050121769689,-0.2768637163258063,-0.2681757133947258,-0.260734397452552,-0.25427908836309143,-0.2486099390215486,-0.2435947864830723,-0.23910609096151347,-0.23505874065608623,-0.23138255116555229,-0.22801325923728655,-0.2249227319862257,-0.22187828705614265,-0.21925715956194836},
{-0.8355242798085669,-0.5270945625820787,-0.4230135633795271,-0.3709488147212596,-0.3383408052492314,-0.3175611217459391,-0.3002084072145408,-0.2874639419160303,-0.2771216912211685,-0.2684312428235671,-0.2609876400213125,-0.2545298318749474,-0.2488585230935314,-0.24384134462002294,-0.2393506270261696,-0.23530128392030747,-0.23162317837204682,-0.22825206221068584,-0.2251597808851784,-0.22211345291907492,-0.2194903167312532},
{-0.8354906018182646,-0.5272817236507308,-0.42325934422819955,-0.37120913235139597,-0.338604607011348,-0.3178231092996384,-0.30046875499976977,-0.287723700620063,-0.2773804841765468,-0.26868757676732,-0.26124167196508097,-0.2547813552578191,-0.249107884015757,-0.2440886697525002,-0.23959592163919297,-0.23554457708064547,-0.23186454909318854,-0.22849160192436102,-0.22539755989396326,-0.22234933981735594,-0.21972419358598927},
{-0.8354577934403551,-0.5274698518841205,-0.42350606385628,-0.37147036396356725,-0.33886929667755794,-0.3180859598908228,-0.30072994399722575,-0.28798429075186505,-0.2776400974939861,-0.26894471760874694,-0.26149649554122334,-0.25503366080067735,-0.24935802405445884,-0.24433676418470895,-0.23984197707818566,-0.2357886223578589,-0.23210666545310232,-0.2287318805713312,-0.22563607109623263,-0.22258594977006396,-0.21995879226346915},
{-0.8354258569981994,-0.5276589499469537,-0.42375372482763396,-0.37173251209833325,-0.33913487677261855,-0.31834967595352737,-0.30099197671563616,-0.2882457146896513,-0.2779005335188458,-0.26920266772742707,-0.26175211297515943,-0.2552867507549763,-0.24960894545233714,-0.24458563015286927,-0.24008879546727258,-0.2360334219517881,-0.2323495297196132,-0.22897290030618933,-0.22587531660838067,-0.22282328478195268,-0.2201941147695834},
{-0.8353947948369296,-0.5278490205101889,-0.42400232973113816,-0.37199557937356076,-0.3394013498108279,-0.31861426006526017,-0.30125485566475163,-0.2885079748557473,-0.278161794539983,-0.26946142953352137,-0.26200852654540085,-0.25554062737069216,-0.24986065047710326,-0.2448352699093448,-0.24033637907155025,-0.236278978063865,-0.2325931440666409,-0.22921466326511108,-0.22611529856226298,-0.22306134683412893,-0.2204301632818897},
{-0.8353646093201519,-0.528040066254789,-0.42425188115555557,-0.3722595683951795,-0.3396687183605991,-0.31887971468177057,-0.301518583402526,-0.2887710736874851,-0.27842388290230247,-0.2697210054502648,-0.2622657384837339,-0.25579529298477155,-0.25011314137077534,-0.2450856856792143,-0.24058473006402892,-0.23652529293099178,-0.23283751069197933,-0.22945717167044677,-0.22635601908450553,-0.22330013797750325,-0.22066693978331386},
{-0.835335302795329,-0.5282320898875241,-0.42450238170249577,-0.37252448175593145,-0.3399369849920504,-0.31914604235964816,-0.30178316242654546,-0.28903501360775863,-0.27868680096469234,-0.26998139791032827,-0.2625237510964098,-0.25605074989402965,-0.2503664204277811,-0.24533687977486807,-0.24083385069343421,-0.23677236882144825,-0.2330826318225263,-0.229700427710668,-0.22659748024102555,-0.2235396601956836,-0.22090444641912654},
{-0.8353068776305577,-0.528425094094473,-0.4247538339656103,-0.3727903221043789,-0.34020615223641926,-0.31941324563399576,-0.30204859531318107,-0.28929979706776976,-0.27895055104283983,-0.27024260935434086,-0.2627825666523904,-0.25630700041324417,-0.25062048994118413,-0.24558885447981993,-0.24108374318666392,-0.23702020793393785,-0.23332850965448415,-0.22994443355150906,-0.22683968427827494,-0.2237799155416269,-0.22114268522159364},
{-0.8352793361952422,-0.5286190815960481,-0.4250062405888002,-0.3730570920287164,-0.34047622269361,-0.31968132700455953,-0.30231488463471123,-0.28956542650360007,-0.27921513550597865,-0.27050464219814785,-0.2630421874849844,-0.25656404691130774,-0.2508753521071867,-0.24584161203893018,-0.2413344097276422,-0.23726881252923704,-0.23357514645090305,-0.23018919140326943,-0.2270826332382967,-0.22402090602872704,-0.22138165819114874},
{-0.835252680872486,-0.5288140551169818,-0.42525960418493014,-0.37332479420285836,-0.34074719893374095,-0.3199502890789745,-0.3025820329351063,-0.2898319044093114,-0.2794805566785499,-0.2707674989359248,-0.26330261593659543,-0.2568218917208469,-0.2511310092979784,-0.24609515480892696,-0.241585852615799,-0.2375181849447472,-0.23382254443822603,-0.23043470347943185,-0.22732632933343666,-0.22426263375109556,-0.22162136747147088},
{-0.8352269140258954,-0.5290100173715473,-0.4255139273898294,-0.3735934312428526,-0.34101908353022736,-0.32022013432981566,-0.30285004281245165,-0.29009923321723363,-0.27974681691353,-0.2710311820046627,-0.2635638542810739,-0.2570805372254199,-0.2513874638004836,-0.24634948501329745,-0.24183807402960156,-0.23776832732460207,-0.23407070581538392,-0.23068097193458925,-0.2275707746223361,-0.22450510068688345,-0.22186181493839285},
{-0.8352020380670524,-0.529206971106646,-0.4257692128636563,-0.3738630058246599,-0.3412918790800177,-0.32049086539245764,-0.30311891682015357,-0.290367415423475,-0.28001391860379954,-0.2712956939092237,-0.2638259049261933,-0.2573399858288212,-0.25164471787684306,-0.24660460500945192,-0.24209107623892123,-0.23801924205895375,-0.2343196328367867,-0.23092799904634376,-0.2278159713337118,-0.22474830892610953,-0.22210300277674833},
{-0.8351780553799699,-0.5294049190687247,-0.4260254632504257,-0.37413352060832494,-0.34156558824122385,-0.3207624848261048,-0.30338865758267275,-0.2906364535198236,-0.28028186412473133,-0.27156103713218727,-0.2640887702555119,-0.25760023995326264,-0.2519027738603654,-0.2468605171056879,-0.24234486152658974,-0.23827093140039324,-0.23456932782323747,-0.23117578705773667,-0.22806192160987848,-0.2249922605546999,-0.22234493298401503},
{-0.8351549683691815,-0.5296038640080951,-0.4262826812204139,-0.37440497823456553,-0.3418402135445149,-0.3210349951439184,-0.30365926768445206,-0.29090634998226506,-0.2805506557771196,-0.27182721412361843,-0.2643524525644807,-0.2578613019952627,-0.2521616340397941,-0.2471172236057555,-0.2425994320378777,-0.2385233976397103,-0.23481979292455435,-0.2314243381133565,-0.22830862757086834,-0.22523695762151874,-0.2225876074990083},
{-0.835132779429614,-0.5298038086899624,-0.4265408694486723,-0.3746773814164044,-0.3421157576406131,-0.32130839900628416,-0.30393074973517287,-0.29117710732020896,-0.2808202959945447,-0.2720942274273739,-0.26461695432999477,-0.25812317438203536,-0.2524213007691287,-0.24737472684660133,-0.24285479014542943,-0.23877664306996849,-0.23507103044062205,-0.23167365446943222,-0.2285560914119742,-0.2254824022052162,-0.22283102841583968},
{-0.835111490992233,-0.5300047558941969,-0.42680003062173455,-0.37495073283548663,-0.3423922231702363,-0.32158269895933245,-0.3042031063610011,-0.29144872805443356,-0.28109078711258917,-0.27236207953581015,-0.26488227794357044,-0.25838585964925187,-0.25268177635712163,-0.24763302914425367,-0.2431109380190719,-0.23903067004061995,-0.2353230426308528,-0.23192373841152403,-0.22880431530961687,-0.22572859641127252,-0.2230751977717773},
{-0.8350911054635617,-0.5302067083907787,-0.4270601674347745,-0.3752250351950579,-0.342669612754662,-0.3218578976460549,-0.30447634022209513,-0.29172121474312007,-0.28136213158836654,-0.272630773030869,-0.265148425890402,-0.25864936024640883,-0.25294306320301985,-0.24789213292137902,-0.24336787804804771,-0.23928548094067992,-0.23557583185106523,-0.2321745922104128,-0.22905330152502756,-0.22597554236062933,-0.22332011766411597},
{-0.8350716252793404,-0.530409668979587,-0.4273212825854671,-0.3755002911933616,-0.3429479290183508,-0.32213399764668793,-0.3047504538709518,-0.2919945698599804,-0.28163433170800545,-0.27290031033567175,-0.2654154005124383,-0.25891367861277104,-0.2532051635660082,-0.2481520404071489,-0.24362561237262526,-0.23954107791882961,-0.2358294002247021,-0.2324262179622565,-0.2293030520636421,-0.22622324207350175,-0.22356578995595555},
{-0.8350530528728086,-0.5306136404666404,-0.4275833787874035,-0.37577650353864556,-0.34322717462794117,-0.32241100155454205,-0.305025450010703,-0.29226879597547395,-0.2819073899185014,-0.2731706940562617,-0.26568320433398185,-0.2591788172960605,-0.25346807979485675,-0.24841275399990081,-0.2438841433199741,-0.2397974634275215,-0.23608375013577643,-0.23267861803537926,-0.2295535692444446,-0.22647169769925313,-0.22381221677892427},
{-0.835035390676353,-0.5308186256446561,-0.42784645877884486,-0.3760536749566654,-0.34350735222426465,-0.32268891204967076,-0.3053013312744497,-0.292543895653921,-0.2821813085906797,-0.2734419267176236,-0.26595183981612536,-0.2594447788171692,-0.25373181430518343,-0.24867427609842707,-0.24414347321862806,-0.24005463981279718,-0.23633888383710655,-0.23293179462166336,-0.22980485521452465,-0.2267209113899753,-0.22405940019098125},
{-0.8350186411414029,-0.5310246273380699,-0.428110525275315,-0.3763318082026217,-0.3437884644897622,-0.322967731677295,-0.3055781003174616,-0.2928198714704422,-0.2824560901258337,-0.2737140108638414,-0.26622130945133904,-0.2597115657365521,-0.2539963694321159,-0.24893660903990167,-0.24440360430116925,-0.24031260935726095,-0.23659480363585317,-0.2331857500184924,-0.23005691219509572,-0.22697088521476871,-0.22430734218005455},
{-0.8350028067135895,-0.5312316483713175,-0.4283755810237153,-0.37661090598874125,-0.3440705140861837,-0.3232474631738569,-0.3058557598091056,-0.2930967260036823,-0.28273173696163667,-0.2739869490869751,-0.2664916157496009,-0.25997918058965297,-0.25426174757262743,-0.24919975521447668,-0.24466453893478501,-0.24057137448949106,-0.2368515118396317,-0.23344048651529192,-0.2303097423894087,-0.2272216213716547,-0.22455604487458913},
{-0.8349878898486622,-0.5314396915880479,-0.4286416287650354,-0.37689097109682734,-0.34435350370404194,-0.3235281091538127,-0.30613431239669353,-0.29337446181921223,-0.28300825148949116,-0.2742607439288349,-0.26676276127523124,-0.26024762595693574,-0.25452795107594284,-0.2494637170052556,-0.24492627940389866,-0.24083093752733475,-0.23710901076083246,-0.2336960063337301,-0.23056334805164624,-0.227473121984076,-0.22480551032208496},
{-0.8349738930282911,-0.5316487598174717,-0.42890867128392074,-0.37717200625911573,-0.34463743602509567,-0.32380967221899937,-0.3064137608105284,-0.29365308155752246,-0.28328563612046764,-0.27453539795919824,-0.26703474849955455,-0.26051690446251996,-0.2547949823529052,-0.24972849680830222,-0.24518882804454734,-0.2410913008859552,-0.23736730274617912,-0.23395231178642462,-0.2308177313655051,-0.22772538922117747,-0.22505574054571298},
{-0.8349608187068611,-0.5318588559412092,-0.4291767113429614,-0.3774540142673004,-0.34492231373246796,-0.3240921551230258,-0.3066941077094043,-0.29393258782215526,-0.2835638933008795,-0.27481091380604994,-0.26730758002031507,-0.26078701864730647,-0.2550628438095828,-0.24999409703832498,-0.24545218720777484,-0.24135246690298118,-0.23762639011783904,-0.23420940510891342,-0.23107289464746827,-0.22797842527756984,-0.22530673764049425},
{-0.8349486693627455,-0.5320699827852877,-0.42944575171316046,-0.3777369978857905,-0.345208139549527,-0.32437556043873883,-0.3069753557746253,-0.2942129832407545,-0.2838430254016657,-0.27508729400778975,-0.2675812583665902,-0.26105797114655616,-0.2553315378543175,-0.25026052007251565,-0.24571635918846368,-0.2416144379653815,-0.23788627510816696,-0.23446728860039912,-0.23132884003098297,-0.22823223224054345,-0.2255585036211869},
{-0.8349374474867659,-0.5322821432308729,-0.4297157951754116,-0.37802095990434736,-0.3454949161616696,-0.3246598909099703,-0.3072575077045485,-0.2944942704116329,-0.28412303491722923,-0.27536454117580433,-0.26785578613339567,-0.2613297645896182,-0.2556010668604358,-0.2505277683176246,-0.245981346303779,-0.24187721646626414,-0.2381469601518802,-0.2347259645498525,-0.23158556981798029,-0.22848681235655022,-0.22581104062373925},
{-0.8349271555690052,-0.5324953401851644,-0.42998684455801595,-0.37830590313433277,-0.3457826463238689,-0.3249451492207527,-0.30754056622913595,-0.29477645207180103,-0.28440392427523875,-0.275642657915796,-0.2681311659473522,-0.26160240162607806,-0.2558714333010812,-0.2507958442370182,-0.24624715102527261,-0.2421408048169269,-0.23840844760616164,-0.23498543526784488,-0.2318430862715104,-0.22874216785999124,-0.22606435070770203},
{-0.8349177961024452,-0.5327095765079548,-0.4302589026494843,-0.37859183035652677,-0.34607133273993895,-0.3252313380180567,-0.307824534056067,-0.2950595308032007,-0.2846856959179149,-0.2759216468393788,-0.26840740033776456,-0.261875884893243,-0.2561426395679973,-0.25106475021084407,-0.24651377559439425,-0.24240520538228338,-0.23867073979386078,-0.23524570301174208,-0.23210139169123067,-0.22899830093183482,-0.22631843589238088},
{-0.8349093715938807,-0.5329248551112187,-0.43053197227936835,-0.37887874440673386,-0.34636097815223366,-0.3255184600609482,-0.30810941388858737,-0.29534350931203335,-0.28496835231294426,-0.27620151054543385,-0.2686844919805935,-0.26215021705570507,-0.2564146881243232,-0.2513344886951927,-0.24678122247314604,-0.24267042063297595,-0.23893383906784038,-0.23550677008392995,-0.23236048832654888,-0.22925521380670943,-0.2265732983205453},
{-0.8349018845558476,-0.5331411788954483,-0.43080605626562374,-0.3791666480982485,-0.3466515853039027,-0.32580651799094085,-0.3083952084800785,-0.2956283902956329,-0.2852518959018653,-0.27648225165171425,-0.2689624434358393,-0.2624254008005664,-0.2566875813834031,-0.25160506211295797,-0.24704949398710596,-0.24293645288184962,-0.23919774780574699,-0.23576863880452947,-0.23262037844597216,-0.22951290875721497,-0.22682893994601727},
{-0.8348953374916732,-0.533358550779667,-0.43108115746315434,-0.37945554427687966,-0.3469431569531025,-0.3260955145707385,-0.3086819205111624,-0.29591417641495354,-0.2855363291901085,-0.27676387280439485,-0.26924125736445603,-0.26270143878468843,-0.25696132184475573,-0.251876472905451,-0.24731859254416122,-0.24320330467821805,-0.23946246838340812,-0.23603131146569467,-0.23288106434961264,-0.22977138800933972,-0.22708536300410742},
{-0.8348897329457827,-0.5335769736798284,-0.43135727869639595,-0.37974543578116027,-0.3472356958544651,-0.3263854525291663,-0.30896955276261906,-0.29620087041121224,-0.2858216546364929,-0.2770463766114517,-0.2695209364137554,-0.26297833372927926,-0.25723591194332585,-0.2521487235442237,-0.24758852058471348,-0.24347097833924636,-0.23972800318802,-0.2362947903661734,-0.23314254838396664,-0.2300306538274981,-0.22734256945818743},
{-0.8348850734304847,-0.533796450548607,-0.4316344228423077,-0.38003632545337496,-0.34752920478661053,-0.32667633456446765,-0.3092581079788488,-0.2964884750017518,-0.2861078747366719,-0.2773297657047351,-0.26980148319626096,-0.26325608829142766,-0.25751135410700954,-0.25242181642988726,-0.2478592804316122,-0.24373947632057025,-0.23999435461450958,-0.2365590778256319,-0.23340483279366708,-0.23029070852976474,-0.22760056136348794},
{-0.8348813614969686,-0.5340169843217382,-0.43191259276159144,-0.3803282161629795,-0.3478236864992823,-0.3269681634498056,-0.30954758888856304,-0.2967769929211954,-0.286394992013129,-0.27761404272837353,-0.27008290039429994,-0.2635347052171255,-0.25778765087579814,-0.25269575407901357,-0.24813087457050642,-0.2440088011210264,-0.24026152504234233,-0.23682417620807428,-0.23366791998955705,-0.2305515544321679,-0.2278593408902907},
{-0.8348785996740844,-0.5342385779314327,-0.43219179133200214,-0.3806211107820445,-0.34811914380873077,-0.3272609418589809,-0.30983799825730785,-0.2970664269041663,-0.28668300892877596,-0.27789921030830556,-0.2703651906226696,-0.263814187208709,-0.25806480471737814,-0.25297053888903065,-0.2484033054131487,-0.24427895509529662,-0.24052951681960621,-0.2370900877515396,-0.23393181217602432,-0.2308131938114002,-0.22811890999855677},
{-0.8348767905205818,-0.5344612343608333,-0.43247202143697905,-0.38091501219230395,-0.34841557949005164,-0.3275546726418952,-0.3101293388397153,-0.29735677968415075,-0.28697192805111627,-0.278185271096163,-0.270648356543461,-0.2640945369760175,-0.2583428181283125,-0.25324617336445954,-0.2486765753542386,-0.2445499407592706,-0.24079833244582005,-0.23735681486027715,-0.2341965117775544,-0.2310756290196423,-0.2283792708715282},
{-0.8348759365970864,-0.534684956588876,-0.432753285987701,-0.3812099233050503,-0.3487129963887128,-0.3278493585405613,-0.3104216134130411,-0.29764805406625783,-0.2872617519212781,-0.27847222777495517,-0.27093240086514925,-0.26437575728459706,-0.2586216935897028,-0.25352265998299117,-0.2489506869435445,-0.24482176053174953,-0.2410679743293258,-0.2376243598412202,-0.23446202112927494,-0.23133886243090274,-0.2286404255880825},
{-0.8348760404597897,-0.5349097475669851,-0.4330355878736327,-0.3815058469537007,-0.34901139723694996,-0.3281450022420813,-0.3107148247282794,-0.29794025278988556,-0.2875524830155882,-0.27876008292901133,-0.2712173261395492,-0.2646578508342827,-0.2589014336126638,-0.2538000011741133,-0.24922564249959578,-0.2450944168638216,-0.24133844480616062,-0.23789272497083402,-0.23472834253357178,-0.23160289634188302,-0.2289023760940836},
{-0.8348771046761385,-0.5351356102927411,-0.43331893000720356,-0.3818027861000246,-0.34931078491467815,-0.32844160659260524,-0.3110089755716672,-0.29823337865286703,-0.28784412395043546,-0.2790488392483894,-0.2715031351272046,-0.264940820327638,-0.25918204074355344,-0.25407819947986354,-0.24950144463173274,-0.2453679122493213,-0.2416097463940332,-0.23816191269133924,-0.2349954784269812,-0.23186773322026966,-0.2291651246443962},
{-0.8348791318354642,-0.5353625477677042,-0.43360331534063334,-0.3821007436531545,-0.3496111622450826,-0.3287391743451735,-0.3113040687389912,-0.29852743447008834,-0.28813667724421066,-0.2793384993890413,-0.2717898304172195,-0.26522466860456007,-0.2594635174546056,-0.2543572573281381,-0.24977809570486897,-0.24564224913774524,-0.24188188141829414,-0.23843192529261614,-0.23526343107823777,-0.23213337537617917,-0.229428673247412},
{-0.8348821245103863,-0.5355905629979816,-0.4338887467928316,-0.38239972253791166,-0.34991253203384076,-0.3290377083275189,-0.3116001070114862,-0.29882242303779094,-0.28843014552580826,-0.2796290660169234,-0.27207741471170266,-0.2655093983385086,-0.25974586633674335,-0.25463717726302093,-0.25005559828377955,-0.2459174300356608,-0.2421548524255286,-0.23870276517504863,-0.23553220292228616,-0.2323998252452384,-0.2296930240220263},
{-0.834886085300127,-0.5358196589944555,-0.4341752273059001,-0.38269972569753463,-0.35021489715802545,-0.3293372113298574,-0.31189709317823144,-0.2991183471503973,-0.2887245313404492,-0.27992054177661885,-0.2723658906447781,-0.26579501231663016,-0.2600290899194988,-0.25491796174401316,-0.2503339548452459,-0.24619345737482945,-0.24242866177610267,-0.2389744346585303,-0.23580179634927845,-0.23266708521418877,-0.2299581790873617},
{-0.8348910167969734,-0.5360498387824464,-0.43446275983671967,-0.38300075604593076,-0.3505182604496895,-0.32963768611512023,-0.3121950300305798,-0.29941520966599455,-0.28901983731975633,-0.28021292933749464,-0.2726552608642123,-0.2660815132537664,-0.26031319071375947,-0.2551996132833665,-0.2506131678624115,-0.24647033366818505,-0.2427033119877251,-0.23924693615140313,-0.2360722137036646,-0.2329351577466241,-0.23022414053707507},
{-0.83489692160299,-0.5362811053963696,-0.43475134737343524,-0.3833028165738597,-0.3508226247845414,-0.32993913555856125,-0.31249392040035673,-0.29971301340060563,-0.289316066076708,-0.2805062313830149,-0.27294552804528394,-0.2663689039447945,-0.2605981713386427,-0.2554821344231186,-0.25089323995257473,-0.24674806145389994,-0.24297880548192552,-0.23952027203222315,-0.23634345741925245,-0.2332040452918136,-0.23049091049369963},
{-0.8349038023371804,-0.5365134618602951,-0.4350409928558747,-0.3836059102386571,-0.35112799303669817,-0.3302415624003743,-0.3127937670656138,-0.3000117612043596,-0.2896132201872206,-0.2808004505423014,-0.2732366947684568,-0.2666571871411634,-0.2608840342932126,-0.25576552764755434,-0.25117417351907534,-0.24702664312076195,-0.24325514465613196,-0.23979444461338062,-0.23661552980956913,-0.23347375024263783,-0.23075849105930502},
{-0.8349116616155925,-0.5367469112507024,-0.43533169930162785,-0.38391004001016427,-0.35143436806629325,-0.3305449695403695,-0.31309457285715325,-0.30031145595376074,-0.28991130237773177,-0.28109558953565283,-0.2735287637442525,-0.2669463655774962,-0.26117078220158874,-0.25604979550894313,-0.25145597123423613,-0.24730608130175824,-0.24353233209421887,-0.24006945636847377,-0.2368884334066479,-0.23374427510157147,-0.23102688446010688},
{-0.8349205020572299,-0.5369814566050763,-0.43562346969019927,-0.38421520887720817,-0.3517417527887119,-0.33084935981275976,-0.3133963405839495,-0.3006121004734723,-0.2902103152352993,-0.28139165102015795,-0.27382173760247497,-0.2672364420454869,-0.261458417636959,-0.25633494053181494,-0.2517386355477811,-0.24758637838294817,-0.24381037017428753,-0.24034530972494395,-0.2371621705083271,-0.23401562233925688,-0.2312960927254153},
{-0.8349303263061074,-0.5372171010103557,-0.43591630703542705,-0.3845214198179292,-0.352050150075911,-0.33115473602583734,-0.31369907310636336,-0.30091369768933873,-0.29051026145612013,-0.2816886376342609,-0.2741156189824778,-0.26752741930931734,-0.26174694315409397,-0.2566209652800353,-0.25202216908837727,-0.24786753701096131,-0.24408926140927178,-0.24062200697449043,-0.23743674359343458,-0.23428779443361236,-0.23156611802801308},
{-0.8349411369994186,-0.5374538475405188,-0.4362102143404627,-0.38482867585616987,-0.35235956286283,-0.3314611010680437,-0.3140027732404178,-0.3012162504585376,-0.2908111437252501,-0.2819865521048541,-0.2744104104958751,-0.2678193000790543,-0.26203636140758135,-0.25690787228154477,-0.25230657444899407,-0.24814955964188812,-0.2443690083139245,-0.2408995506359588,-0.23771215506371846,-0.2345607939571437,-0.2318369625397736},
{-0.8349529367693549,-0.5376916992646557,-0.43650519465484194,-0.3851369799861004,-0.3526699940356366,-0.3317684577310729,-0.3143074438014537,-0.30151976166598615,-0.29111296470364323,-0.28228539708970857,-0.2747061147952081,-0.2681120871948224,-0.26232667497447437,-0.2571956640344979,-0.25259185410209284,-0.24843244882322324,-0.24464961318903988,-0.24117794307449003,-0.23798840731069504,-0.23483462324657012,-0.23210862831206214},
{-0.8349657282799399,-0.5379306592825515,-0.43680125097785094,-0.3854463352173525,-0.3529814465182426,-0.3320768089432704,-0.3146130876427833,-0.3018242342088797,-0.29141572713297137,-0.2825851752363633,-0.2750027345196031,-0.2684057833687348,-0.2626178864443318,-0.257484343144597,-0.2528780107120383,-0.24871620706289832,-0.24493107872194742,-0.24145718677914374,-0.23826550277181013,-0.23510928491623417,-0.23238111762589142},
{-0.8349795141932645,-0.5381707307196848,-0.43709838639438203,-0.3857567446386838,-0.35329392327980713,-0.3323861575988758,-0.31491970763818244,-0.30212967105285315,-0.2917194337039746,-0.28288588927102865,-0.2753002723081863,-0.26870039140908375,-0.26290999850630214,-0.2577739121829836,-0.25316504692546005,-0.24900083695320063,-0.24521340735554986,-0.24173728416667473,-0.23854344396545457,-0.23538478157115605,-0.23265443263085217},
{-0.8349942971807423,-0.5384119166659502,-0.43739660393760005,-0.38606821122209567,-0.3536074272344649,-0.3326965065296008,-0.3152273066264115,-0.30243607507441084,-0.2920240871776514,-0.28318754185397665,-0.27559873077552766,-0.2689959140141127,-0.26320301376972566,-0.2580643736748698,-0.25345296528189465,-0.2492863410307109,-0.24549660152456454,-0.24201823767930364,-0.23882223323516882,-0.23566111561945036,-0.23292857533169808},
{-0.8350100799005986,-0.5386542202548981,-0.4376959066755717,-0.38638073803656425,-0.353921961316928,-0.33300785864798854,-0.3155358874710146,-0.3027434492064458,-0.2923296902763468,-0.28349013568572445,-0.2758981125905393,-0.26929235399120444,-0.2634969348132472,-0.25835573020754055,-0.2537417684052343,-0.2495727218636148,-0.24578066376989227,-0.24230004976857344,-0.23910187307069464,-0.23593828971820585,-0.23320354805696297},
{-0.8350268650498265,-0.5388976446147353,-0.4379962976937577,-0.38669432816584504,-0.35423752853023416,-0.3333202168225853,-0.3158454530475865,-0.3030517964214141,-0.2926362457603773,-0.28379367343177364,-0.27619842034027897,-0.269589714094991,-0.2637917643351102,-0.2586479843498637,-0.25403145893437795,-0.2498599819809897,-0.24606559656535865,-0.24258272297447547,-0.23938236591675377,-0.2362163063846765,-0.23347935286983557},
{-0.8350446553153006,-0.5391421928843556,-0.438297780078301,-0.38700898465845057,-0.35455413181762196,-0.3336335840051561,-0.3161560061923865,-0.3033611196296988,-0.292943756407567,-0.2840981577783168,-0.2764996567286744,-0.2698879970996586,-0.2640875050149134,-0.25894113866775115,-0.25432203951459087,-0.25014812406175224,-0.24635140245140974,-0.24286625974650633,-0.23966371419396637,-0.23649516823547856,-0.23375599202995545},
{-0.8350634533878747,-0.5393878682085642,-0.4386003569118202,-0.3873247106123472,-0.3548717741545033,-0.33394796310631136,-0.31646754984467407,-0.3036714218160341,-0.29325222500415293,-0.2844035914527012,-0.2768018243532424,-0.2701872057859873,-0.2643841594881451,-0.25923519579373533,-0.25461351282297073,-0.25043715059518945,-0.2466380838909572,-0.2431506625766815,-0.23994592048848062,-0.23677487785312223,-0.23403346772352052},
{-0.8350832619696575,-0.5396346737611566,-0.4389040313253645,-0.38764150908298234,-0.3551904585402781,-0.3342633570146063,-0.31678008687890724,-0.3039827059524214,-0.2935616543159085,-0.2847099770856403,-0.27710492587175395,-0.27048734284676357,-0.26468173038574605,-0.25953015826371484,-0.2549058813958709,-0.2507270641615378,-0.24692564347265034,-0.2434359338858485,-0.24022898710632035,-0.23705543782534733,-0.2343117819816598},
{-0.8351040837796972,-0.5398826126934182,-0.43920880642588145,-0.3879593831921966,-0.35551018795035816,-0.33457976869908634,-0.31709362015635634,-0.30429497499562785,-0.2938720471900069,-0.28501731741812364,-0.2774089639533486,-0.2707884111275689,-0.2649802204982734,-0.2598260286945333,-0.2551991480859215,-0.25101786747200094,-0.24721408367508957,-0.24372207630472076,-0.24051291665568897,-0.23733685082629563,-0.23459093720975943},
{-0.8351259215240816,-0.5401316881817593,-0.4395146853252072,-0.38827833602942974,-0.35583096541995474,-0.3348972010403486,-0.31740815262082833,-0.30460823194971454,-0.2941834063692568,-0.28532561509814514,-0.2777139412071392,-0.2710904133564327,-0.2652796323839084,-0.26012280963914236,-0.2554933153799084,-0.25130956299494756,-0.24750340695504747,-0.24400909221026268,-0.2407977115126414,-0.2376191194000512,-0.23487093535868553},
{-0.8351487779415265,-0.5403819034127082,-0.4398216711852001,-0.3885983707247078,-0.35615279392106913,-0.33521565706382717,-0.31772368713541255,-0.3049224797850911,-0.2944957347738182,-0.2856348728885223,-0.278019860331824,-0.27139335229276185,-0.2655799688782281,-0.2604205037862357,-0.2557883860201855,-0.25160215350365434,-0.2477936159730234,-0.24429698430026292,-0.2410833742790146,-0.23790224630715784,-0.23515177882859462},
{-0.8351726557591519,-0.5406332615941665,-0.44012976714975593,-0.38891949041999396,-0.3564756765607626,-0.33553513970196036,-0.3180402266684723,-0.3052377215606157,-0.29480903519288404,-0.28594509345361985,-0.2783267240172336,-0.2716972307268861,-0.26588123255146456,-0.2607191137258269,-0.2560843627311442,-0.25189564152924504,-0.24808471315009228,-0.24458575501080304,-0.24136990738929853,-0.23818623415786533,-0.23543346976885005},
{-0.8351975577130588,-0.5408857659058413,-0.4404389763635663,-0.389241698199271,-0.3567996162612417,-0.3358556518521709,-0.31835777408241483,-0.3055539602069075,-0.29512331046271356,-0.28625627941778475,-0.27863453483314515,-0.27200205138683486,-0.2661834261507465,-0.26101864202541947,-0.25638124806982887,-0.2521900295851083,-0.24837670103283926,-0.24487540679501762,-0.24165731331731877,-0.23847108554377883,-0.2357160102646958},
{-0.8352234865435548,-0.5411394195717776,-0.44074930201134066,-0.38956499722849003,-0.35712461611592516,-0.33617719655990186,-0.3186763323449213,-0.30587119881829494,-0.29543856346981556,-0.28656843359135564,-0.2789432955796656,-0.2723078170297413,-0.2664865524718607,-0.26131909139007803,-0.25667904490592264,-0.2524853205677573,-0.24866958222901303,-0.24516594239048572,-0.24194559464899612,-0.23875680330843352,-0.23599940278199938},
{-0.8352504450252809,-0.5413942258199995,-0.4410607472615311,-0.38988939069190565,-0.35745067919719986,-0.3364997767555451,-0.3189959043813815,-0.3061894403695078,-0.29575479704544705,-0.28688155865143017,-0.27925300884021453,-0.2726145305384762,-0.2667906141441563,-0.26162046442755127,-0.25697775581124915,-0.25278151691668427,-0.24896335920652746,-0.24545736418122033,-0.24223475386975224,-0.23904338995566832,-0.23628364940464053},
{-0.8352784359033194,-0.5416501878688678,-0.44137331531624113,-0.3902148817152238,-0.35777780853527474,-0.3368233954624884,-0.31931649315765753,-0.30650868795964925,-0.2960720141220463,-0.28719565726146357,-0.27956367736487664,-0.2729221945842255,-0.2670956139793361,-0.26192276377946655,-0.25727738359091745,-0.2530786213974352,-0.24925803458745577,-0.245749674902072,-0.2425247935200332,-0.239330848356758,-0.23656875243432296},
{-0.8353074619556082,-0.5419073089566382,-0.44168700936097594,-0.39054147348463175,-0.3581060072226592,-0.3371480556904771,-0.31963810160050343,-0.3068289445652681,-0.2963902175390558,-0.28751073219223144,-0.2798753038257473,-0.273230811934809,-0.2674015546836017,-0.2622259921101886,-0.25757793090951964,-0.2533766366088912,-0.24955361087040728,-0.24604287696297433,-0.24281571606525176,-0.23961918112263447,-0.23685471419184978},
{-0.8353375259586073,-0.5421655923413482,-0.44200183262853443,-0.3908691691827926,-0.3584352782878568,-0.33747376041242205,-0.31996073268669534,-0.30715021330615855,-0.29670941023823616,-0.28782678612333257,-0.2801878908994695,-0.27354038544217474,-0.26770843900703767,-0.2625301521002257,-0.25787940050645375,-0.25367556519086065,-0.24985009066949715,-0.2463369730269278,-0.2431075241436247,-0.23990839095063166,-0.23714153688729311},
{-0.8353686306862755,-0.5424250412794436,-0.44231778833341195,-0.3911979720026011,-0.3587656248669191,-0.3378005126417065,-0.320284389372091,-0.30747249721184744,-0.29702959509768334,-0.2881438218059884,-0.2805014413572735,-0.27385091783548887,-0.2680162697556625,-0.26283524641189615,-0.25818179514408257,-0.2539754099136644,-0.2501474765504099,-0.2466319656853102,-0.24340022029559805,-0.24019848063562677,-0.2374292229249022},
{-0.8354007789405387,-0.5426856590142961,-0.44263487968146364,-0.3915278851349058,-0.35909705003427916,-0.3381283153660206,-0.32060907463346666,-0.30779579933596324,-0.29735077496252416,-0.2884618418961509,-0.28081595783100965,-0.274162411917132,-0.26832504960680126,-0.26314127770797313,-0.258485117435157,-0.25427617332820773,-0.2504457709817416,-0.24692785746970003,-0.24369380701318732,-0.24048945276422273,-0.2377177745706831},
{-0.8354339735168423,-0.5429474488496453,-0.44295310996233184,-0.3918589118051159,-0.35942955691302814,-0.3384571717028848,-0.3209347914605587,-0.3081201227926158,-0.2976729528852502,-0.28878084917346314,-0.2811314431110077,-0.2744748704456015,-0.2686347814194505,-0.26344824876491657,-0.2587893702752808,-0.25457785827165935,-0.25074497671903373,-0.2472246510221794,-0.24398828689186303,-0.2407813102881846,-0.23800719422433758},
{-0.835468217218363,-0.5432104140546699,-0.4432724823876697,-0.3921910552362533,-0.35976314861045466,-0.33878708465681484,-0.32126154286265773,-0.3084454706390716,-0.2979961317212201,-0.2891008463509479,-0.28144789992370534,-0.27478829630626933,-0.2689454679677965,-0.26375616219638687,-0.259094556388618,-0.25488046727741676,-0.25104509624475213,-0.24752234896413938,-0.2442836625689324,-0.24107405575341545,-0.23829748420462238},
{-0.8355035128711279,-0.5434745579181026,-0.4435930002457553,-0.3925243186309899,-0.3600978282245251,-0.3391180572261874,-0.32158933180426175,-0.30877184597602536,-0.2983203144374329,-0.28942183616868533,-0.2817653309543857,-0.27510269221011185,-0.2692571119957847,-0.26406502070199167,-0.2594006784740941,-0.25518400317832857,-0.25134613219779567,-0.24782095384398417,-0.2445799365732455,-0.2413676918774854,-0.23858864691283088},
{-0.8355398632877495,-0.5437398837615319,-0.4439146668103149,-0.3928587052516832,-0.3604335989195988,-0.33945009253898206,-0.32191816134445617,-0.3090992519228166,-0.29864550398770007,-0.28974382132741994,-0.28208373903430584,-0.2754180610140793,-0.2695697163649129,-0.26437482711435223,-0.25970773932021984,-0.25548846859078367,-0.25164808719364373,-0.24812046834563262,-0.24487711151436997,-0.24166222158487471,-0.23888068470478174},
{-0.8355772713022134,-0.5440063948772149,-0.44423748535336927,-0.393194218336248,-0.36077046384320965,-0.33978319358084264,-0.3222480344682026,-0.30942769154830785,-0.2989717032828594,-0.2900668046370356,-0.28240312683442426,-0.27573440553646833,-0.2698832838623275,-0.26468558408237186,-0.2600157416959519,-0.2557938662548622,-0.2519509638091222,-0.24842089504772957,-0.24517519007758892,-0.24195764745877568,-0.23917360008454125},
{-0.8356157397406605,-0.5442740945878768,-0.44456145918150014,-0.3935308611354458,-0.3611084261094675,-0.34011736346678845,-0.32257895419616034,-0.3097571679245448,-0.2992989153169674,-0.2903907887450714,-0.2827234971227881,-0.2760517285748847,-0.27019781729632086,-0.26499729436068264,-0.2603246883295469,-0.25610019889973046,-0.2522547646865405,-0.2487222365650723,-0.24547417474786926,-0.24225397225768575,-0.2394673953901929},
{-0.8356552714612917,-0.5445429862394349,-0.44488659160504085,-0.3938686369539255,-0.36144748891774725,-0.3404526053225254,-0.3229109236262957,-0.3100876842802336,-0.299627143069074,-0.2907157765403099,-0.2830448528115994,-0.27637003296513285,-0.27051331954226043,-0.2653099607234708,-0.2606345821748164,-0.25640746919088997,-0.252559492502769,-0.2490244955840808,-0.24577406828325365,-0.24255119882468534,-0.23976207313467057},
{-0.8356958693100296,-0.544813073156547,-0.4452128859336426,-0.3942075490232355,-0.3617876554233135,-0.3407889221741698,-0.32324394575175575,-0.3104192436589983,-0.2999563895018582,-0.29104177070212245,-0.2833671964901896,-0.2766893215998607,-0.2708297933929771,-0.2656235859649314,-0.2609454258324604,-0.25671567990707445,-0.25286514991103104,-0.24932767466975747,-0.24607487325647526,-0.24284932982982355,-0.24005763589389062},
{-0.8357375361523509,-0.5450843586784231,-0.44554034550117194,-0.39454760065166283,-0.3621289287843865,-0.3411263171619794,-0.32357802364936106,-0.31075184917904153,-0.3002866576330234,-0.29136877393511895,-0.28369053105393505,-0.27700959717822116,-0.27114724167677196,-0.26593817273510467,-0.26125722214555935,-0.25702483375903284,-0.2531717393992494,-0.24963177644167445,-0.24637659229051678,-0.2431483680063593,-0.2403540858665565},
{-0.8357802748486165,-0.5453568461780378,-0.44586897364342803,-0.3948887951398774,-0.36247131223740325,-0.34146479331411683,-0.3239131603806982,-0.31108550399289925,-0.30061795039159733,-0.29169678908215246,-0.2840148593181766,-0.2773308627413371,-0.27146566722149146,-0.26625372395187696,-0.26156997392490666,-0.25733493347547665,-0.2534792638059571,-0.2499368036353644,-0.24667922813455334,-0.24344831615485418,-0.240651425852775},
{-0.8358240882804466,-0.5456305390163152,-0.4461987737221307,-0.395231135774452,-0.3628148089617298,-0.3418043538656548,-0.32424935904077756,-0.31142021121786456,-0.3009502708621312,-0.2920258189440119,-0.2843401840682418,-0.2776531210238318,-0.27178507300732235,-0.2665702423619223,-0.26188368399107276,-0.2576459818321837,-0.2537877257364016,-0.2502427589488434,-0.24698278341315927,-0.24374917704744803,-0.24094965827339365},
{-0.835868979329689,-0.5459054405596362,-0.44652974908444776,-0.39557462589993975,-0.36315942214946517,-0.3421450018865926,-0.3245866227109673,-0.31175597400670085,-0.3012836219904784,-0.2923558662691903,-0.28466650814539207,-0.27797637490857596,-0.27210546177843753,-0.2668877307710318,-0.2621983551593985,-0.2579579815062516,-0.2540971278804136,-0.2505496448768554,-0.24728726083003494,-0.24405095330894255,-0.24124878568954955},
{-0.8359149508858081,-0.5461815542008708,-0.4468619031071057,-0.39591926881189465,-0.36350515500976144,-0.3424867405033183,-0.3249249544878694,-0.31209279551080726,-0.3016180068357244,-0.2926869338020879,-0.284993834389752,-0.2783006272975399,-0.27242683646909427,-0.26720619199954854,-0.262513990254547,-0.258270935296423,-0.25440747295624533,-0.2508574641822179,-0.24759266312503314,-0.24435364792543623,-0.2415488107665169},
{-0.8359620058583914,-0.5464588833377775,-0.4471952391800187,-0.39626506786044047,-0.36385201080361185,-0.34282957286541205,-0.32526435747899995,-0.31243067888408405,-0.3019534284139809,-0.2930190244330788,-0.28532216567464275,-0.2786258810670006,-0.2727491999389713,-0.2675256289273875,-0.2628305920609364,-0.25858484597233655,-0.25471876364167656,-0.25116621957317875,-0.24789899291613438,-0.24465726340190486,-0.2418497360135916},
{-0.8360101471356529,-0.546737431354245,-0.44752976069617034,-0.3966120263957009,-0.36419999274903603,-0.34317350209107644,-0.32560483481802294,-0.31276962722586177,-0.3022898897193045,-0.2933521408563138,-0.2856515048340498,-0.2789521391082417,-0.273072555036606,-0.26784604430349646,-0.26314816342937775,-0.25889971616038565,-0.2550310025883391,-0.2514759136288376,-0.24820625301799737,-0.2449618026096232,-0.2421515640596681},
{-0.8360593776494625,-0.5470172016747483,-0.44786547105115915,-0.39696014775643107,-0.36454910409474905,-0.3435185314526734,-0.3259463896276884,-0.3131096437264205,-0.30262739388831505,-0.2936862859783105,-0.285981854783131,-0.27927940433733056,-0.2733969047633309,-0.2681674411444419,-0.26346670724251453,-0.2592155488835033,-0.255344192665234,-0.25178654918863685,-0.248514446176614,-0.2452672683923538,-0.24245429765664994},
{-0.8361097003144096,-0.5472981977222844,-0.4482023736723022,-0.39730943533254504,-0.3648993481474463,-0.34386466403657323,-0.32628902508577085,-0.3134507315239716,-0.30296594390370046,-0.29402146257734785,-0.2863132184529604,-0.2796076796644229,-0.27372225189196797,-0.2684898221502863,-0.263786226291586,-0.25953234663802505,-0.2556583364544167,-0.25209812880211757,-0.24882357501815022,-0.24557366337444364,-0.24275793936544687},
{-0.8361611180698674,-0.5475804229183723,-0.44854047197782165,-0.39765989244904176,-0.36525072805602576,-0.34421190302509785,-0.32663274428432487,-0.31379289378810427,-0.3033055428229545,-0.294357673425111,-0.2866455986672918,-0.27993696793691925,-0.2740485992944741,-0.2688131902591522,-0.2641067234173988,-0.2598501122383823,-0.25597343671370254,-0.25241065516820527,-0.249133642317247,-0.2458809902698249,-0.24306249181722706},
{-0.8362136338382697,-0.547863880693626,-0.44887976940424323,-0.39801152252289285,-0.3656032471801609,-0.34456025160648096,-0.3269775504215886,-0.3141361336824957,-0.3036461937419972,-0.29469492147359233,-0.28697899849476016,-0.2802672721882118,-0.2743759500510805,-0.2691375484389482,-0.2644282016251509,-0.26016884862610823,-0.25628949629117415,-0.25272413111656533,-0.24944465096200474,-0.24618925202526043,-0.24336795795102262},
{-0.8362672505836599,-0.5481485745110604,-0.44922026941696913,-0.39836432895140206,-0.3659569088179069,-0.34490971299646844,-0.3273234466814756,-0.3144804543471764,-0.30398789968262463,-0.29503320943263134,-0.2873134207734438,-0.2805985953223171,-0.2747043069175561,-0.2694628995086532,-0.26475066356374555,-0.26048855838848795,-0.2566065178411918,-0.2530385592701805,-0.24975660366021657,-0.24649845125054526,-0.2436743402349748},
{-0.8363219712547334,-0.5484345078327806,-0.44956197545968735,-0.39871831511732125,-0.3663117162252547,-0.34526029040944195,-0.32767043629223735,-0.314825858964241,-0.30433066381988283,-0.29537254025171933,-0.28764886854287397,-0.28093094020687204,-0.27503367285066815,-0.26978924643253777,-0.2650741122524778,-0.26080924438338116,-0.2569245041495378,-0.2533539424503033,-0.25006950302986297,-0.2468085907103159,-0.2439816415505902},
{-0.8363777988121228,-0.5487216840979272,-0.4499048910147394,-0.3990734844535382,-0.3666676727136746,-0.3456119870791099,-0.3280185223875378,-0.3151723506844064,-0.3046744892085371,-0.29571291673323685,-0.2879853448046106,-0.2812643099523484,-0.2753640508014996,-0.27011659207687444,-0.26539855059331785,-0.2611309093936143,-0.25724345801745585,-0.2536702833012896,-0.2503833520763692,-0.24711967322332384,-0.24428986465591152},
{-0.8364347362306717,-0.5490101068000968,-0.45024901956514896,-0.3994298403611083,-0.3670247816025949,-0.3459648062182623,-0.3283677082060876,-0.31551993272819345,-0.30501937892154274,-0.29605434175050505,-0.28832285253724876,-0.281598707328385,-0.2756954436799788,-0.270444939487561,-0.26572398139592224,-0.26145355617677524,-0.25756338221776787,-0.25398758450137393,-0.25069815341225876,-0.24743170144415672,-0.24459901222076041},
{-0.8364927864924994,-0.5492997794308394,-0.4505943645975776,-0.39978738628315114,-0.3673830462068963,-0.3463187510435546,-0.32871799699159965,-0.3158686082094846,-0.30536533611189043,-0.296396818184121,-0.2886613948237482,-0.2819341354795597,-0.2760278544665198,-0.2707742915918061,-0.26605040765502963,-0.2617771875954986,-0.2578842795649052,-0.25430584898822417,-0.25101390997269846,-0.2477446783407231,-0.24490908724396832},
{-0.8365519525696072,-0.549590705451692,-0.4509409295982323,-0.40014612566506,-0.3677424698869345,-0.346673824767322,-0.32906939198323926,-0.3162183803276548,-0.3057123638830035,-0.296740348951289,-0.28900097465975705,-0.2822705973344455,-0.27636128603558063,-0.2711046513295514,-0.2663778321987138,-0.26210180636599034,-0.25820615284237647,-0.25462507949191604,-0.25133062450458965,-0.24805860649553324,-0.2452200924774388},
{-0.8366122374762881,-0.5498828883910392,-0.45128871812721627,-0.40050606194131433,-0.36810305597600745,-0.34703003073582295,-0.3294218963944786,-0.3165692522770769,-0.30606046536649956,-0.29708493689986426,-0.2893415951843963,-0.28260809581593094,-0.2766957413602995,-0.2714360216600653,-0.2667062579548656,-0.2624274153388342,-0.2585290047857143,-0.2549452786975053,-0.2516482997161802,-0.2483734886268394,-0.24553203066852802},
{-0.8366736442085312,-0.5501763317651012,-0.45163773367755766,-0.40086719859868936,-0.36846480783310653,-0.3473873721864038,-0.3297755135513398,-0.316921227198236,-0.306409643670122,-0.2974305849602388,-0.28968325941082185,-0.2829466340001545,-0.2770312233833465,-0.2717684055628524,-0.26703568787525,-0.2627540171963574,-0.25885283823322425,-0.2552664493634893,-0.25196693851239615,-0.24868932754179696,-0.24584490471397658},
{-0.8367361757765366,-0.5504710390655418,-0.4519879798021975,-0.40122953907120973,-0.3688277287828896,-0.34774585235913946,-0.3301302466834386,-0.3172743083241585,-0.3067599020207581,-0.2977772959891354,-0.290025970573879,-0.28328621482705785,-0.2773677350965045,-0.2721018060822189,-0.26736612494710243,-0.2630816149328439,-0.2591776560952894,-0.2555885944198053,-0.2522865437265409,-0.24900612598548832,-0.24615871760170194},
{-0.8367998352150607,-0.5507670138583762,-0.45233946005862435,-0.40159308687179873,-0.3691918222741606,-0.3481054745820984,-0.33048609913498694,-0.31762849882534283,-0.30711124355798347,-0.29812507295901014,-0.29036973171696445,-0.28362684141438876,-0.2777052794892825,-0.27243622628589037,-0.2676975720050905,-0.2634102112774599,-0.2595034610972107,-0.2559117165005773,-0.25260711806140534,-0.24932388670526962,-0.2464734720629167},
{-0.836864625528051,-0.55106425964766,-0.45269217798590944,-0.4019578454774546,-0.3695570916274846,-0.3484662420855784,-0.33084307414242176,-0.31798380186751274,-0.3074636713486143,-0.2984739187647847,-0.2907145460767424,-0.28396851674301615,-0.27804385946865295,-0.27277166902217687,-0.26803003210238785,-0.2637398090653278,-0.2598302561007131,-0.25623581865374945,-0.2529286643652995,-0.2496426124455411,-0.24678917110009024},
{-0.8369305497608366,-0.5513627799908818,-0.45304613715916275,-0.4023238183710873,-0.3699235402839349,-0.34882815822243174,-0.33120117506109636,-0.3183402206673236,-0.30781718868797725,-0.2988238363718665,-0.2910604168116606,-0.28431124378994355,-0.2783834781080259,-0.27310813746976237,-0.26836350807388953,-0.2640704111333889,-0.260158044025502,-0.25656090354686967,-0.2532511855438315,-0.24996230597707836,-0.24710581767271833},
{-0.8369976109763684,-0.5516625784588314,-0.453401341181916,-0.4026910091188256,-0.37029117162524017,-0.34919122634232735,-0.33156040526046127,-0.31869775843824755,-0.308171798677904,-0.29917482872224355,-0.2914073471397387,-0.2846550256829232,-0.2787241383612127,-0.27344563460201243,-0.2686980030439372,-0.26440202029425564,-0.2604868275618628,-0.2568869740430273,-0.25357468436300223,-0.25028296997879806,-0.247423414758714},
{-0.8370658122103123,-0.5519636585981971,-0.45375779363098445,-0.4030594211610605,-0.3706599890654161,-0.349555449707168,-0.3319207679851388,-0.31905641835419374,-0.30852750455846945,-0.29952689876563454,-0.2917553402262456,-0.2849998654346564,-0.2790658432074906,-0.27378416342571654,-0.2690335198469711,-0.2647346393623593,-0.2608166096415516,-0.25721403295847267,-0.2538991636422452,-0.25060460723420874,-0.24774196522480452},
{-0.8371351565253917,-0.5522660239901143,-0.4541154981153568,-0.403429058076199,-0.3710299960282555,-0.34992083166434895,-0.3322822666691536,-0.3194162036461421,-0.30888430950653856,-0.2998800494401621,-0.2921043994167576,-0.2853457660608001,-0.2794085956429626,-0.2741237270354304,-0.26937006149455556,-0.2650682712478556,-0.26114739312288293,-0.257542083223143,-0.2542246261912169,-0.250927220425865,-0.24806147210438212},
{-0.8372056470001326,-0.552569678230725,-0.45447445825027444,-0.4037999233946721,-0.3714011959839354,-0.35028737551806444,-0.33264490466240204,-0.31977711752711,-0.3092422167173936,-0.30023428372760463,-0.2924545279586255,-0.28569273076891477,-0.27975239870715995,-0.27446432855208514,-0.26970763103076933,-0.2654029187683591,-0.26147918084643607,-0.25787112771490683,-0.2545510749234836,-0.2512508124091255,-0.24838193859000057},
{-0.8372772867076037,-0.5528746248957077,-0.45483467767178354,-0.4041720206737409,-0.3717735923669352,-0.35065508472143847,-0.333008685353434,-0.3201391631976094,-0.3096012294333832,-0.3005896046431644,-0.29280572909192415,-0.28604076254805477,-0.2800972554150576,-0.2748059709815607,-0.2700462313971457,-0.2657385848508511,-0.2618119756862143,-0.258201169301401,-0.2548785125657105,-0.2515753858615426,-0.24870336752633193},
{-0.8373500787361081,-0.5531808675962111,-0.45519616001740815,-0.4045453534711214,-0.37214718863924645,-0.35102396260413116,-0.3333736121401216,-0.32050234392932,-0.30996135089003474,-0.3009460152163683,-0.29315800622475763,-0.28638986450869197,-0.28044316874093056,-0.2751486573799866,-0.2703858656236662,-0.26607527230089545,-0.2621457804966667,-0.25853221093325374,-0.25520694205488326,-0.2519009435652606,-0.24902576209910876},
{-0.8374240261834984,-0.5534884099417923,-0.4555589089359273,-0.4049199253286133,-0.3725219882105648,-0.3513940124914825,-0.3337396884003283,-0.32086666290820176,-0.3103225842764914,-0.3013035183669217,-0.29351136257059807,-0.28674003972514583,-0.2807901418241272,-0.2754923909469653,-0.27072653675918446,-0.2664129841123213,-0.26248059827571524,-0.2588642554819671,-0.2555363662652326,-0.2522274883283444,-0.24934912544017607},
{-0.8374991321652487,-0.5537972555632678,-0.4559229280838508,-0.40529573985554634,-0.3728979946308755,-0.35176523781137803,-0.3341069176021847,-0.3212321234288993,-0.31068493286829835,-0.30166211719256353,-0.2938658016039426,-0.287091291394745,-0.2811381775377413,-0.27583717464267465,-0.2710682477445516,-0.26675172303930594,-0.2628164316950006,-0.2591973058590611,-0.25586678791569284,-0.2525550227851454,-0.2496734604580979},
{-0.8375753997653419,-0.5541074080615545,-0.45628822114406375,-0.4056728006294179,-0.37327521139036435,-0.352137641885065,-0.3344753031537948,-0.3215987286844211,-0.311048399900983,-0.30202181465710964,-0.29422132659556155,-0.28744362252405153,-0.2814872789851961,-0.2761830116794499,-0.27141100161429677,-0.26709149202429217,-0.26315328378586855,-0.25953136504881513,-0.2561982099850866,-0.25288354988856554,-0.24999877048276176},
{-0.8376528321359729,-0.5544188711053266,-0.45665479180615876,-0.4060511112443237,-0.37365364193192363,-0.3525112282407008,-0.3348448484882738,-0.321966481959862,-0.31141298863303746,-0.30238261388035426,-0.2945779410283649,-0.2877970363313125,-0.2818374492817384,-0.2765299051588954,-0.27175480144796893,-0.2674322941124956,-0.26349115749553675,-0.25986643605028803,-0.25653063533695786,-0.25321307239187263,-0.2503250586332797},
{-0.8377314323911378,-0.5547316483306304,-0.4570226437524525,-0.40643067534324473,-0.37403328987443274,-0.3528860002422789,-0.3352155571201365,-0.3223353865421359,-0.3117787023541041,-0.302744517885003,-0.2949356482561143,-0.28815153591972376,-0.28218869133957014,-0.2768778581321385,-0.27209965025531346,-0.26777413204649747,-0.26383005561569917,-0.2602025216938273,-0.25686406675026774,-0.2535435929930827,-0.25065232798419856},
{-0.8378112036689345,-0.5550457433806741,-0.45739178068436104,-0.406811496471164,-0.374414158592117,-0.35326196124833587,-0.33558743243747813,-0.32270544561697534,-0.31214554422922447,-0.30310752969808163,-0.2952944516414391,-0.28850712438156734,-0.2825410081998143,-0.277226873741256,-0.2724455509876407,-0.2681170087969349,-0.26416998106878964,-0.2605396250232843,-0.25719850713107917,-0.2538751145614242,-0.2509805817153392},
{-0.8378921491226947,-0.5553611599372061,-0.45776220633945286,-0.4071935783135814,-0.37479625172386477,-0.3536391147413269,-0.33596047797732354,-0.3230766626179502,-0.3125135176585445,-0.3034716524873602,-0.295654354743192,-0.28886380500921405,-0.28289440313733394,-0.2775769552413294,-0.272792506897531,-0.26846092749497075,-0.2645109369157126,-0.2608777491254841,-0.2575339594823163,-0.2542076400127371,-0.2513098230999731},
{-0.8379742719172327,-0.5556779016823157,-0.458133924443473,-0.40757692450370087,-0.3751795727796434,-0.3540174641602789,-0.3363346972396357,-0.32344904072033387,-0.3128826258910067,-0.3038368893023744,-0.29601536094492076,-0.2892215808817582,-0.28324887896746986,-0.2779281056200489,-0.2731405208526212,-0.2688058908659059,-0.26485292592951737,-0.2612168968255446,-0.25787042654746983,-0.25454117213917016,-0.2516400552228788},
{-0.838057575202015,-0.5559959722877466,-0.45850693873137516,-0.4079615386840487,-0.3755641253271733,-0.3543970130017442,-0.33671009373233574,-0.3238225833188153,-0.31325287223216947,-0.3042032432715587,-0.2963774737759195,-0.2895804552199479,-0.2836044388955088,-0.2782803281481847,-0.2734895959893038,-0.2691519020575015,-0.26519595110562477,-0.26155707119460203,-0.2582079112896736,-0.25487571378926077,-0.25197128128729673},
{-0.8381420621525422,-0.5563153754442283,-0.4588812529614188,-0.40834742451670536,-0.37594991293963176,-0.35477776469429045,-0.3370866709769871,-0.3241972936828006,-0.3136242599796333,-0.30457071754017306,-0.29674069666498326,-0.28994043114016677,-0.2839610859800814,-0.2786336258816391,-0.27383973538690043,-0.2694989639162486,-0.26554001541489924,-0.2618982752701413,-0.2585464166065776,-0.25521126790135895,-0.252303504557176},
{-0.838227735967962,-0.5566361148725036,-0.459256870893455,-0.4087345856542015,-0.3763369391451761,-0.3551597227105958,-0.33746443245536284,-0.32457317512694317,-0.31399679239029865,-0.3049393152145967,-0.29710503304022495,-0.29030151186361763,-0.28431882325753577,-0.278988002044116,-0.2741909420108186,-0.2698470794368859,-0.2658851217524898,-0.2622405119159339,-0.25888594537309473,-0.2555478372005382,-0.25263672814025995},
{-0.8383145998193413,-0.5569581942759214,-0.45963379632314627,-0.40912302579772586,-0.37672520756541417,-0.3555428905497138,-0.33784338174564255,-0.32495023106298504,-0.3143704728990997,-0.30530903952922017,-0.2974704866282991,-0.2906637007001791,-0.2846776539356597,-0.2793434598518161,-0.27454321911454826,-0.27019625172988526,-0.26623127318111983,-0.2625837843665977,-0.25922650058259933,-0.2558854247918134,-0.2529709553291468},
{-0.838402656921744,-0.557281617355784,-0.4600120330014761,-0.40951274862027276,-0.37711472181649697,-0.3559272716331634,-0.3382235224071337,-0.32532846481490196,-0.3147453046822193,-0.3056798935917868,-0.29783706068178617,-0.29102700072053267,-0.2850375810651258,-0.27970000238360626,-0.27489656961233777,-0.27054648363355227,-0.26657847258661604,-0.26292809543292606,-0.259568085094088,-0.2562240335387287,-0.25330618938232874},
{-0.8384919104819346,-0.5576063878706918,-0.46039158476105513,-0.409903757849861,-0.3775054854713744,-0.35631286958982855,-0.3386048579875478,-0.32570787973486404,-0.3151212912086976,-0.30605188063782407,-0.29820475894302945,-0.2913914152095458,-0.2853986077600439,-0.28005763286205365,-0.27525099668355324,-0.2708977783604496,-0.26692672305853193,-0.2632734483254353,-0.25991070185159515,-0.25656366638281725,-0.25364243337958214},
{-0.838582363702244,-0.5579325095519607,-0.46077245538549505,-0.4102960571576659,-0.3778975021800761,-0.3566996878776081,-0.33898739210917483,-0.3260884792323395,-0.31549843572724967,-0.3064250039037688,-0.2985735848553759,-0.2917569474193442,-0.28576073708200056,-0.2804163544808489,-0.27560650331679426,-0.2712501387586599,-0.2672760274022039,-0.26361984594723253,-0.26025435379142436,-0.2569043261976276,-0.2539796905766707},
{-0.8386740198343432,-0.5582599861397739,-0.46115464870558753,-0.4106896502894415,-0.3782907755087308,-0.3570877300292068,-0.3393711282717504,-0.32647026674044355,-0.3158767416689443,-0.3067992665817201,-0.2989435419701749,-0.29212360057022124,-0.2861239722701612,-0.2807761704143559,-0.2759630927264425,-0.2716035680280129,-0.26762638884019907,-0.2639672913917366,-0.26059904393150646,-0.2572460161293293,-0.25431796439420395},
{-0.8387668821109173,-0.5585888214206989,-0.4615381685700868,-0.4110845409675221,-0.37868530919740806,-0.35747699956209544,-0.3397560701469047,-0.32685324566296003,-0.3162562123104635,-0.3071746720156625,-0.29931463386174073,-0.29249137793021873,-0.2864883164695584,-0.28113708397449955,-0.2763207679286097,-0.27195806908389386,-0.2679778102876753,-0.26431578766369057,-0.2609447751995049,-0.2575887391010383,-0.2546572577709867},
{-0.8388609537607863,-0.5589190191317357,-0.4619230188086476,-0.4114807329638097,-0.3790811068347466,-0.35786750003103407,-0.34014222128598703,-0.3272374194000349,-0.3166368510544544,-0.307551223423161,-0.29968686413690193,-0.29286028279580023,-0.28685377277588486,-0.28149909827220654,-0.27667953210357155,-0.27231364510612366,-0.2683302947625634,-0.2646653378874362,-0.2612915505521869,-0.25793249815455965,-0.2549975741351318},
{-0.8389562380375537,-0.5592505830476284,-0.4623092032634304,-0.4118782299524355,-0.3794781720619085,-0.3582592349846436,-0.3405295853142434,-0.32762279142616535,-0.3170186612978796,-0.30792892407248473,-0.3000602363067628,-0.2932303183406475,-0.28722034440647803,-0.28186221656619637,-0.27703938819604446,-0.27267029906533935,-0.26868384538602186,-0.26501594507976733,-0.2616393729522315,-0.25827729633192575,-0.25533891674581355},
{-0.839052738233363,-0.559583516993257,-0.46269672583980537,-0.4122770357985246,-0.379876508624875,-0.35865220806135767,-0.34091816591580937,-0.32800936522789925,-0.31740164637039925,-0.3083077773728746,-0.30043475400179886,-0.2936014879951472,-0.28758803456116766,-0.2822264420533429,-0.27740033948452947,-0.2730280341006619,-0.2690384650854867,-0.2653676122390607,-0.26198824546895594,-0.2586231366128686,-0.25568128876489027},
{-0.8391504575956787,-0.5599178247406371,-0.4630855903876636,-0.4126771542046299,-0.3802761201870908,-0.35904642278319443,-0.34130796662225293,-0.32839714426427236,-0.31778580973582393,-0.30868778662033947,-0.3008104207658562,-0.29397379494503184,-0.28795684641409025,-0.2825917780119198,-0.27776238900264616,-0.2733868532479846,-0.26939415703986924,-0.26572034249807075,-0.2623381709934165,-0.25897002216402143,-0.25602469349973944},
{-0.8392493994117558,-0.5602535100892965,-0.4634758008087374,-0.41307858895652316,-0.38067701035038226,-0.35944188268604194,-0.34169899112703206,-0.3287861319874992,-0.3181711546912993,-0.3090689551418109,-0.301187240184845,-0.2943472424483389,-0.2883267830343357,-0.28295822756376765,-0.2781255397769655,-0.2737467595927683,-0.2697509242836986,-0.2660741387605867,-0.2626891525269457,-0.25931795596534357,-0.256369134074248},
{-0.8393495669729418,-0.560590576860136,-0.4638673609927082,-0.4134813438956826,-0.38107918294963383,-0.3598385914121991,-0.34209124308176797,-0.3291763319768961,-0.3185576846603908,-0.30945128636199115,-0.3015652158806006,-0.29472183391976614,-0.2886978478427409,-0.2833257941597367,-0.2784897951066796,-0.27410775626822215,-0.2701087699031177,-0.26642900432057104,-0.2630411932655079,-0.25966694123940215,-0.2567146139865599},
{-0.8394509635786562,-0.5609290288944067,-0.46426027486973,-0.41388542277263696,-0.3814826416678443,-0.3602365526007816,-0.34248472615990977,-0.32956774771514574,-0.3189454031787591,-0.30983478369989825,-0.30194435144630916,-0.29509757265191183,-0.289070043952961,-0.2836944809050692,-0.2788551580033527,-0.27446984639937,-0.2704676970145101,-0.26678494212796977,-0.26339429603331155,-0.26001698099207715,-0.25706113630531036},
{-0.8395535925461672,-0.5612688700089166,-0.4646545463513121,-0.4142908294704739,-0.38188739021188667,-0.36063576986248336,-0.3428794440067122,-0.32996038279657114,-0.31933431350785213,-0.3102194505499938,-0.3023246504396866,-0.2954744619291887,-0.28944337457051006,-0.28406429107212716,-0.2792216315613132,-0.27483303300755324,-0.2708277087378974,-0.2671419552541465,-0.26374846395515306,-0.26036807833838793,-0.2574087043367399},
{-0.8396574571820565,-0.5616101040561716,-0.46505017940876314,-0.4146975677529099,-0.38229343231250823,-0.3610362468327821,-0.34327540030153614,-0.3303542407461464,-0.3197244192197104,-0.3106052903988257,-0.302706116579202,-0.295852505178118,-0.289817843121682,-0.2844352280417297,-0.27958921908430057,-0.27519731940265046,-0.2711888082922087,-0.26750004687983164,-0.26410370019902984,-0.26072023653932774,-0.25775732141141816},
{-0.839762560828035,-0.5619527348944757,-0.4654471779583673,-0.41510564147529294,-0.38270077174433936,-0.3614379871073652,-0.3436725987394311,-0.3307493251743381,-0.32011572365536267,-0.3109923066645024,-0.30308875332843854,-0.296231705666969,-0.2901934526653349,-0.28480729497255197,-0.2799579234947487,-0.2755627084770822,-0.2715509987292535,-0.26785921986652284,-0.26446000767532496,-0.26107345845503005,-0.2581069905734239},
{-0.8398689068046679,-0.5622967663783811,-0.4658455459407378,-0.41551505449160686,-0.38310941225336137,-0.36184099431716277,-0.34407104301135405,-0.33114563960771193,-0.32050823027407205,-0.3113805029074683,-0.30347256440563797,-0.2966120667958876,-0.29057020654954613,-0.28518049519061606,-0.28032774805569716,-0.27592920355505157,-0.27191428322726097,-0.268219477518187,-0.2648173895424861,-0.26142774746699615,-0.25845771529452577},
{-0.8399764984760623,-0.5626422023857458,-0.4662452873840266,-0.4159258106828929,-0.3835193576230722,-0.36224527222657343,-0.34447073682508744,-0.3315431877510946,-0.3209019426690247,-0.3117698826083597,-0.3038575533985295,-0.29699359196297337,-0.2909481081685499,-0.28555483213472144,-0.28069869595287855,-0.2762968076999641,-0.27227866507791987,-0.26858082291164465,-0.2651758489269014,-0.26178310667091864,-0.25880949871543635},
{-0.8400853391885903,-0.5629890468183021,-0.46664640623976084,-0.41633791391291197,-0.38393061171223053,-0.3626508244587967,-0.3448716839161534,-0.33194197312604956,-0.3212968641273619,-0.31216044925281494,-0.30424372385141396,-0.2973762844455905,-0.29132716064759734,-0.2859303088969227,-0.28107077020695215,-0.2766655240166074,-0.2726441472420902,-0.2689432590339038,-0.2655353888649188,-0.2621395390062844,-0.25916234404917304},
{-0.8401954323128393,-0.5633373035303748,-0.46704890649630215,-0.4167513680031334,-0.384343178137442,-0.3630576546372595,-0.3452738878929722,-0.33234199934645403,-0.3216929982536385,-0.31255220638672654,-0.3046310793752127,-0.2977601476563905,-0.29170736739797576,-0.2863069288664519,-0.28144397404889787,-0.2770353557357339,-0.27301073314424684,-0.269306789034772,-0.2658960125224894,-0.2624970477966144,-0.25951625455286376},
{-0.8403067812114386,-0.5636869764528001,-0.4674527922059042,-0.41716617692009095,-0.38475706084796,-0.3634657665040777,-0.34567735262953647,-0.33274327021422323,-0.3220903485459985,-0.31294515773151943,-0.3050196237154523,-0.2981451851358088,-0.29208873181573836,-0.2866846955255369,-0.28181831071560737,-0.2774063060771823,-0.27337842602150886,-0.2696714161429554,-0.2662577231380965,-0.26285563612600527,-0.2598712335231994},
{-0.8404193892807825,-0.5640380694967462,-0.467858067348061,-0.4175823445398237,-0.38517226366229806,-0.3638751637161022,-0.3460820817590502,-0.3331457892807066,-0.3224889184255062,-0.31333930671166854,-0.3054093603398087,-0.2985314001723509,-0.29247125715596667,-0.2870636120205745,-0.2821937833291486,-0.2777783780752543,-0.2737472289436482,-0.2700371433895725,-0.2666205237503618,-0.2632153071067478,-0.2602272841197646},
{-0.8405332599147641,-0.5643905865867964,-0.4682647359627481,-0.4179998748008984,-0.38558879034007987,-0.36428585007797665,-0.3464880791136693,-0.3335495602732408,-0.3228887114862573,-0.31373465700085035,-0.3058002929076338,-0.29891879621845874,-0.29285494679379553,-0.28744368176126045,-0.2825703949895342,-0.278151574950698,-0.2741171452071285,-0.2704039738753181,-0.26698441755320346,-0.2635760638386273,-0.26058440959423024},
{-0.8406483965121652,-0.5647445316536732,-0.46867280209608,-0.4184187716041379,-0.38600664477644386,-0.3646978292372296,-0.34689534838594227,-0.33395458683116885,-0.32328973125277116,-0.31413121222226437,-0.3061924250175707,-0.2993073767133865,-0.29323980418780593,-0.2878249081629747,-0.28294814906575994,-0.27852589998065014,-0.2744881781679851,-0.2707719109350819,-0.26734940782284866,-0.26393790960446495,-0.26094261317530254},
{-0.8407648024942773,-0.5650999086459478,-0.46908226982691303,-0.418839038875376,-0.38642583077967174,-0.36511110493984233,-0.3473038933057069,-0.334360872651132,-0.3236919812502492,-0.31452897594704154,-0.30658576023574824,-0.29969714496837696,-0.29362583256761354,-0.28820729447193116,-0.2833270485568846,-0.2789013561734919,-0.2748603308868951,-0.271140957335092,-0.2677154976061047,-0.2643008472743986,-0.2613018980732704},
{-0.8408824812743205,-0.565456721510941,-0.46949314319658697,-0.41926068058251076,-0.3868463522435377,-0.3655256809079219,-0.3477137176942051,-0.3347684215032132,-0.32409546503413367,-0.31492795190843026,-0.30698030230837503,-0.3000881046550603,-0.2940130355354995,-0.28859084416603764,-0.2837070968541866,-0.27927794697689023,-0.2752336068481327,-0.27151111664966265,-0.26808269026537346,-0.2646648802506206,-0.2616622675832332},
{-0.8410014362837046,-0.5658149742056366,-0.469905426288733,-0.4196837007052636,-0.38726821303816905,-0.3659415608906329,-0.3481248253249305,-0.3351772371115658,-0.3245001861982928,-0.31532814374236295,-0.3073760546740232,-0.3004802591169664,-0.2944014163722386,-0.2889755606606741,-0.2840882970722305,-0.2796556754137782,-0.27560800923583884,-0.2718823918155522,-0.26845098903208964,-0.265030011640647,-0.2620237248574995},
{-0.8411216709769178,-0.5661746707187376,-0.4703191232174504,-0.42010810318333824,-0.3876914170459713,-0.3663587486964843,-0.3485372199518224,-0.3355873232085287,-0.3249061482615616,-0.31572955508568157,-0.30777302101159876,-0.3008736117794797,-0.29479097860303227,-0.289361447173178,-0.28447065246223247,-0.28003454475174294,-0.27598354136739545,-0.27225478605578246,-0.2688203969823917,-0.26539624450765587,-0.2623862731286408},
{-0.8412431887910543,-0.5665358150309885,-0.47073423806386927,-0.420533892033518,-0.38811596818459293,-0.3667772480569056,-0.34895090542886464,-0.33599868347505435,-0.32531335489807134,-0.3161321896411664,-0.30817120495044037,-0.30126816620554564,-0.2951817255948299,-0.28974850731310653,-0.28485416631042426,-0.2804145582038018,-0.27636020646968973,-0.2726283025340308,-0.26919091750255575,-0.26576358208876627,-0.2627499156508293},
{-0.8413659932009523,-0.5668984111349573,-0.4711507749609609,-0.42096107117799875,-0.3885418703036976,-0.3671970627844985,-0.3493658854872592,-0.33641132173238475,-0.32572180972192655,-0.3165360511277413,-0.3085706100871448,-0.30166392586056645,-0.2955736608500956,-0.2901367443203071,-0.28523884180413006,-0.28079571907369427,-0.27673800792695147,-0.2730029444669526,-0.26956255384538963,-0.2661320275860817,-0.2631146557125703},
{-0.8414900876864522,-0.56726246304504,-0.471568738047381,-0.4213896447076877,-0.3889691273968765,-0.36761819662046946,-0.3497821640098664,-0.3368252417808435,-0.32613151629425374,-0.3169411431902063,-0.30897123996351183,-0.30206089423791127,-0.29596678784832875,-0.2905261617377164,-0.28562468226982674,-0.28117803054306023,-0.27711694899971917,-0.27337871499457833,-0.2699353092120873,-0.26650158419215586,-0.2634804963388433},
{-0.8416154756896503,-0.5676279747541457,-0.4719881314340455,-0.42181961660435263,-0.3893977433717737,-0.3680406534101621,-0.35019974476358584,-0.3372404473830102,-0.32654247831078465,-0.31734746959068616,-0.3093730983603109,-0.3024590748657374,-0.29636111016316136,-0.2909167630214142,-0.28601169094349643,-0.28156149593905866,-0.27749703303561546,-0.2737556174956808,-0.27030918699733775,-0.26687225513296653,-0.2638474409079663},
{-0.8417421607360893,-0.567994950302932,-0.47240895931281557,-0.42225099086817863,-0.38982772211488737,-0.3684644369370744,-0.3506186315528339,-0.33765694229714427,-0.326954699465432,-0.31775503398557703,-0.3097761886567696,-0.30285847116761033,-0.29675663122861806,-0.2913085514719569,-0.28639987109613685,-0.281946118508813,-0.2778782633406536,-0.274133655030937,-0.2706841903593613,-0.26724404360356857,-0.2642154925156319},
{-0.841870146321753,-0.5683633937375134,-0.4728312258434926,-0.42268377161940407,-0.3902590676871114,-0.3688895510756538,-0.3510388283530119,-0.33807473037654745,-0.3273681833545652,-0.3181638401313194,-0.31018051466844554,-0.3032590867835552,-0.29715335453965963,-0.2917015306020403,-0.2867892260753706,-0.28233190149330767,-0.2782606432194825,-0.2745128308524727,-0.2710603227365027,-0.26761695279583364,-0.26458465448376955},
{-0.8419994359594511,-0.5687333091058235,-0.47325493518042094,-0.4231179628272912,-0.390691783993816,-0.3693159996519171,-0.3514603388541673,-0.33849381538584566,-0.3277829336952891,-0.31857389172614603,-0.3105860798257254,-0.30366092514782395,-0.29755128365582095,-0.29209570391913076,-0.2871797591494669,-0.28271884817627324,-0.2786441760283651,-0.27489314824561006,-0.2714375872924393,-0.26799098605215477,-0.26495492994831693},
{-0.8421300331526709,-0.5691047004396523,-0.4736800915693493,-0.4235535685843388,-0.3911258749647004,-0.3697437863734194,-0.3518831669671272,-0.33891420114082393,-0.32819895421971523,-0.31898519241804024,-0.31099288790233004,-0.3040639898420068,-0.2979504220998024,-0.29249107480836756,-0.28757147363194235,-0.28310696195126184,-0.27902886509696145,-0.2752746104356447,-0.27181598738320645,-0.26836614649505464,-0.26532632203497997},
{-0.8422619414513974,-0.569477571825928,-0.4741066991543903,-0.423990592990549,-0.3915613446911266,-0.37017291522874984,-0.3523073165945334,-0.33933589151888555,-0.32861624861629934,-0.3193977460050519,-0.311400942481896,-0.3044682843838018,-0.29835077349048333,-0.2928876467883583,-0.28796437296364275,-0.2834962460015049,-0.2794147136905849,-0.2756572207183581,-0.27219552639257927,-0.26874243751808535,-0.2656988341275337},
{-0.8423951643826513,-0.5698519273499869,-0.4745347622042573,-0.4244290400711179,-0.39199819711552664,-0.3706033900455168,-0.3527327915614933,-0.33975889030875805,-0.32903482065012213,-0.31981155613402734,-0.3118102470893973,-0.30487381233774613,-0.29875234134306083,-0.2932854232808495,-0.28835846031734036,-0.28388670373124114,-0.2798017252532645,-0.2760409824029466,-0.27257620748696354,-0.2691198622712818,-0.2660724692370877},
{-0.8425297055160854,-0.5702277710779526,-0.47496428492536324,-0.4248689140085844,-0.39243643626673475,-0.3710352147368212,-0.353159595784291,-0.34018320132895496,-0.32945467401054884,-0.32022662652025247,-0.3122208054357998,-0.3052805772317697,-0.2991551292486747,-0.29368440779649063,-0.2887537391127353,-0.2842783384039649,-0.28018990300984115,-0.2764258986860568,-0.2729580341081146,-0.2694984240242775,-0.266447230673748},
{-0.8426655683921354,-0.5706051071347247,-0.47539527158164674,-0.42531021885406517,-0.3928760661497108,-0.37146839313209057,-0.35358773317261694,-0.34060882853214025,-0.329875812619548,-0.3206429609947463,-0.31263262118613966,-0.3056885827086262,-0.2995591409071494,-0.29408460395143265,-0.2891502128816228,-0.2846711535541999,-0.2805792504955207,-0.2768119730296803,-0.27334100963639685,-0.26987812616562223,-0.26682312171396916},
{-0.8428027565969387,-0.57098393962724,-0.4758277264224944,-0.42575295870665286,-0.39331709081284316,-0.37190292912760015,-0.3540172075704504,-0.34103577567884713,-0.33029824011168785,-0.32106056306997743,-0.31304569791359427,-0.3060978322273513,-0.2999643797295448,-0.29448601500303084,-0.2895478847385675,-0.2850651523697252,-0.28096977090353903,-0.2771992085679358,-0.27372513723867087,-0.2702589717528099,-0.2672001452403947},
{-0.8429412737009443,-0.5713642726744865,-0.4762616537057056,-0.42619713777980905,-0.39375951432270995,-0.3723388265648282,-0.3544480229406872,-0.34146404666830676,-0.3307219603309477,-0.32147943659606426,-0.3134600392854736,-0.3065083294522992,-0.30037084944797243,-0.2948886446490633,-0.28994675828539584,-0.28546033825386985,-0.28136146762699354,-0.27758760877668465,-0.27411042041148903,-0.2706409642348717,-0.2675783047434379},
{-0.8430811233043869,-0.571746110414324,-0.476697057734782,-0.42664276015716496,-0.3942033407272447,-0.37277608951148977,-0.354880183209616,-0.34189364541157374,-0.331146977189519,-0.32189958518392814,-0.31387564896272124,-0.30692007792458753,-0.3007785537331529,-0.2952924963863097,-0.29034683683107687,-0.28585671472183094,-0.2817543441306043,-0.2779771770053685,-0.27449686244813165,-0.2710241068275536,-0.2679576032217028},
{-0.8432223090084108,-0.5721294569881366,-0.47713394282209265,-0.4270898300196677,-0.39464857412440324,-0.37321472180792625,-0.3553136923035254,-0.34232457570760744,-0.33157329435789507,-0.32232101259455703,-0.3142925306160578,-0.3073330812489985,-0.30118749615212437,-0.29569757365516125,-0.29074812379826653,-0.28625428503687544,-0.28214840362761606,-0.27836791659501614,-0.2748844667078174,-0.2714084027413719,-0.2683380439618759},
{-0.8433648344177982,-0.5725143165427653,-0.4775723132067924,-0.42753835147595964,-0.3950952184754897,-0.3736547273074393,-0.35574855409799966,-0.34275684143631224,-0.3320009158292123,-0.3227437224559253,-0.314710687802517,-0.3077473429634665,-0.3015976802964815,-0.2961038799458038,-0.2911506225955236,-0.28665305266372343,-0.2825436495775193,-0.27875983090029877,-0.27527323651725055,-0.27179385527483646,-0.26871963009057254},
{-0.8435087031618878,-0.5729006932475613,-0.4780121733053875,-0.42798832879202564,-0.3955432780464889,-0.3740961100804725,-0.35618477266802984,-0.3431904466247033,-0.3324298454579093,-0.32316771860837434,-0.3151301244572551,-0.30816286686490457,-0.30200911005022135,-0.2965114189230462,-0.2915543367637383,-0.2870530212103404,-0.2829400854357118,-0.2791529234780228,-0.27566317531614004,-0.27218046775738003,-0.2691023647826114},
{-0.8436539188788856,-0.5732885912972279,-0.4784535273920483,-0.4284397661119783,-0.39599275687578483,-0.37453887397896324,-0.3566223518869265,-0.34362539503536027,-0.3328600870856917,-0.323593004594386,-0.315550843980418,-0.30857965636459994,-0.30242178881576365,-0.29692019404797065,-0.29195926964143837,-0.28745419392384974,-0.28333771445477396,-0.2795471975905457,-0.2760542863804858,-0.2725682434152077,-0.26948625119416647},
{-0.8438004852031327,-0.5736780148743037,-0.4788963798430359,-0.42889266763290834,-0.3964436589972138,-0.3749830230099178,-0.35706129576260537,-0.3440616906368632,-0.33329164459178173,-0.3240195841233344,-0.3159728501736936,-0.30899771520125796,-0.30283572045414076,-0.29733020880439653,-0.29236542471471694,-0.2878565744185835,-0.28373654009919846,-0.27994265670690766,-0.27644657321752675,-0.27295718546201897,-0.2698712925594009},
{-0.8439484057806794,-0.5740689681608728,-0.4793407350309735,-0.42934703761898163,-0.39689598870472764,-0.3754285612114927,-0.3575016083227638,-0.34449933728910764,-0.3337245219684064,-0.3244474610078214,-0.3163961467776062,-0.3094170470371864,-0.30325090859309967,-0.29774146688851033,-0.2927728054655745,-0.2882601661242461,-0.2841365658000541,-0.2803393044046061,-0.27684003913259403,-0.2733472972313393,-0.2702574919599101},
{-0.8440976842992995,-0.5744614553898373,-0.4797865973146145,-0.42980288024841684,-0.39734975000646955,-0.3758754924594996,-0.35794329346185805,-0.34493833895157877,-0.3341587231468566,-0.3248766388180684,-0.31682073743763794,-0.30983765534256236,-0.3036673568801689,-0.2981539716465704,-0.2931814153303094,-0.28866497248668566,-0.28453779486449093,-0.28073714389711313,-0.2772346873753122,-0.2737385818936673,-0.2706448526441818},
{-0.8442483244206187,-0.5748554807876189,-0.4802339711204695,-0.4302601997801503,-0.39780494712931613,-0.3763238208257462,-0.35838635533195884,-0.34537869957625844,-0.3345942520995777,-0.32530712135712747,-0.31724662593273933,-0.31025954402343814,-0.30408506913272504,-0.29856772678908783,-0.2935912578011539,-0.28907099717162055,-0.2849402308418121,-0.2811361788787963,-0.2776305215661523,-0.274131042835279,-0.27103337771177394},
{-0.8444003298156986,-0.5752510485579023,-0.48068286079842437,-0.43071900044833455,-0.3982615842598989,-0.37677355025311954,-0.35883079779227955,-0.3458204230562387,-0.33503111270511,-0.32573891226411433,-0.31767381593886057,-0.31068271655749413,-0.30450404904831885,-0.2989827358023831,-0.2940023364451463,-0.2894782436744663,-0.2853438771396668,-0.2815364127736757,-0.2780275450652425,-0.27452468330648117,-0.27142307052031356},
{-0.8445537041963007,-0.5756481629841801,-0.481133270830469,-0.43117928653714443,-0.39871966548389537,-0.3772246847877341,-0.3592766249375927,-0.34626351330234684,-0.3354693090202545,-0.3261720152322596,-0.31810231118288357,-0.3111071766606983,-0.30492430031313233,-0.2993990022323487,-0.2944146546255979,-0.2898867154333402,-0.28574873705088066,-0.2819378490821691,-0.27842576116086093,-0.27491950648686725,-0.271813934086822},
{-0.8447084512644096,-0.5760468283051523,-0.4815852055869527,-0.43164106230187826,-0.3991791950904826,-0.37767722847434015,-0.35972384082629105,-0.34670797423109434,-0.3359088449888077,-0.3266064339979948,-0.31853211543739235,-0.3115329279848993,-0.30534582658469844,-0.2998165296660318,-0.2948282159027258,-0.2902964160875854,-0.28615481410474786,-0.2823404913272043,-0.27882517335092416,-0.2753155157015499,-0.2722059716561489},
{-0.8448645747396313,-0.5764470487956714,-0.48203866955554986,-0.43210433203080356,-0.3996401772308218,-0.37813118535291323,-0.3601724494935752,-0.34715380985539923,-0.33634972471645597,-0.3270421722818355,-0.3189632324936156,-0.3119599742340142,-0.30576863174496793,-0.3002353216706979,-0.2952430238665329,-0.2907073493072403,-0.2865621118025956,-0.28274434305581053,-0.279225785106064,-0.27571271424517363,-0.2725991865370361},
{-0.8450220783558962,-0.5768488287496893,-0.482493667196195,-0.43256910004743077,-0.40010261613156217,-0.3785865593986273,-0.3606224549585022,-0.3476010240995038,-0.3367919521335807,-0.32747923380475186,-0.31939566606229164,-0.3123883191155983,-0.30619271946625304,-0.30065538181929696,-0.2956590819815119,-0.29111951853928986,-0.28697063354366037,-0.2831494077129264,-0.279627599741616,-0.27611110533985084,-0.2729935818388185},
{-0.8451809658416778,-0.5772521724268245,-0.48295020297814517,-0.43303537063957265,-0.4005665160261742,-0.3790433547169414,-0.3610738613533613,-0.3480496209042485,-0.3372355313974822,-0.3279176222440583,-0.3198294199992233,-0.31281796627877156,-0.3066180935977627,-0.30107671369773925,-0.2960763937676347,-0.29153292750766013,-0.2873803828229029,-0.28355568901747574,-0.2800306208166603,-0.2765106924343854,-0.273389160808847},
{-0.8453412409306793,-0.577657084135808,-0.48340828136383607,-0.4335031480982252,-0.4010318811399429,-0.3795015753539701,-0.3615266726455957,-0.34849960426709004,-0.337680466503798,-0.32835734132390826,-0.3202644979942306,-0.31324891945587297,-0.3070447578325002,-0.30149932087761044,-0.2964949627264559,-0.2919475797934865,-0.28779136307775843,-0.28396319045441487,-0.2804348517533981,-0.2769114786872251,-0.27378592663831114},
{-0.8455029074186768,-0.5780635682378943,-0.4838679069077898,-0.4339724368524003,-0.40149871580319996,-0.37996122548588573,-0.36198089311028525,-0.34895097815160625,-0.33812676152797394,-0.3287983948337114,-0.3207009039292643,-0.3136811823046628,-0.30747271596828796,-0.3019232068809288,-0.2969147924493427,-0.2923634788783147,-0.2882035778550289,-0.28437191548232477,-0.28084029587239456,-0.27731346736686646,-0.27418388263913585},
{-0.845665969058814,-0.5784716290145298,-0.4843290840890404,-0.4344432411323851,-0.40196702414664287,-0.3804223090967298,-0.3624365265970937,-0.34940374643770156,-0.33857442058251763,-0.32924078645601185,-0.32113864149528126,-0.31411475853406046,-0.3079019717902156,-0.3023483753581786,-0.2973358865274349,-0.29278062855632925,-0.28861703060192667,-0.28478186774259484,-0.28124695682754464,-0.27771666198668754,-0.274583032030705},
{-0.845830429615944,-0.578881270827651,-0.48479181744687594,-0.43491556535423115,-0.4024368105035592,-0.38088483024921516,-0.3628935773751891,-0.34985791314875314,-0.3390234477485592,-0.32968451994179304,-0.321577714638579,-0.3145496519061908,-0.3083325290465382,-0.3027748298648021,-0.29775824844341514,-0.2931990324311755,-0.2890317248416068,-0.2851930508247733,-0.2816548379937558,-0.2781210656082749,-0.2749833779741948},
{-0.8459962929135827,-0.5792924980237331,-0.4852561115217213,-0.4353894139237582,-0.402908079225881,-0.38134879315771286,-0.3633520495186531,-0.35031348234406323,-0.3394738471404253,-0.3301295990543167,-0.3220181271274214,-0.31498586611792234,-0.3087643916333036,-0.30320257407151985,-0.2981818818184365,-0.29361869406875485,-0.28944766410040756,-0.2856054683165894,-0.28206394280937275,-0.27852668179139073,-0.2753849238190469},
{-0.8461635627249962,-0.5797053149638032,-0.4857219709176661,-0.43586479115151633,-0.403380834568452,-0.38181420191449433,-0.3638119471081609,-0.35077045790944794,-0.3399256229461116,-0.3305760275193279,-0.32245988283966653,-0.31542340486953435,-0.30919756329512893,-0.30363161151149143,-0.2986067901488241,-0.29403961719890503,-0.2898648518360005,-0.2860191238473817,-0.2824742748043718,-0.2789335137622402,-0.275787672720071},
{-0.8463322428867741,-0.5801197260284425,-0.4861894001253404,-0.43634170149380225,-0.4038550808324999,-0.3822810606282019,-0.364273274339439,-0.3512288438348605,-0.3403787791914965,-0.3310238090650728,-0.32290298556927155,-0.3158622719276991,-0.3096320478268808,-0.30406194576380585,-0.2990329770666449,-0.29446180537183864,-0.29028329167340416,-0.2864340209018792,-0.28288583740982176,-0.27934156484957384,-0.276191628020797},
{-0.846502337209813,-0.5805357356243803,-0.48665840382818715,-0.4368201493275592,-0.40433082235631446,-0.38274937352230154,-0.3647360353352269,-0.3516886442218947,-0.3408333202442009,-0.3314729476728644,-0.3233474392648077,-0.31630247108228104,-0.31006784915825847,-0.3044935805999103,-0.2994604463131054,-0.29488526240947976,-0.29070298720694154,-0.28685016320696377,-0.2832986342687036,-0.27975083854698823,-0.276596793009503},
{-0.8466738495375239,-0.5809533481276503,-0.4871289865727704,-0.4373001390711124,-0.4048080634811413,-0.3832191446260822,-0.36520023421417136,-0.3521498629193047,-0.34128925002869437,-0.33192344680446695,-0.32379324773614826,-0.3167440060192348,-0.31050497098226515,-0.3049265194497366,-0.29988920121718365,-0.2953099918247517,-0.29112394186404345,-0.28726755419415895,-0.2837126687381897,-0.28016133799246745,-0.27700317073345104},
{-0.8468467837087701,-0.5813725679458912,-0.48760115296022377,-0.43778167517598376,-0.4052868085575483,-0.38369037814686635,-0.36566587515767424,-0.35261250405233113,-0.3417465728416573,-0.3323753104220941,-0.3242404148825244,-0.31718688056707833,-0.3109434172829424,-0.305360766098147,-0.30031924558647916,-0.295735997385691,-0.2915461593647706,-0.2876861976137661,-0.2841279444699012,-0.28057306683490424,-0.27741076474285364},
{-0.8470211435982264,-0.5817933995269868,-0.48807490767467243,-0.4382647620868738,-0.4057670619483815,-0.3841630783401797,-0.3661329623273559,-0.35307657162798023,-0.34220529292133506,-0.33282854234835213,-0.32468894461771924,-0.3176310984410975,-0.3113831918460619,-0.30579632410513113,-0.30075058296029056,-0.29616328274164516,-0.29196964326501984,-0.2881060970771614,-0.2845444648862667,-0.28098602823592955,-0.277819578138633},
{-0.8471969330694264,-0.5822158473074523,-0.4885502553590868,-0.43874940428872833,-0.4062488280794696,-0.3846372493514991,-0.36660149990188984,-0.3535420695702669,-0.34266541431429687,-0.33328314625191524,-0.3251388408400544,-0.3180766634779957,-0.3118242985071902,-0.3062331970768355,-0.3011832169036097,-0.2965918514889836,-0.29239439710067927,-0.28852725615570307,-0.28496223358320094,-0.28140022570369183,-0.2782296142497671},
{-0.8473741559912469,-0.5826399157151627,-0.48902720060368665,-0.43923560613961854,-0.4067321112133868,-0.3851128953447187,-0.3670714920340288,-0.35400900190597895,-0.3431269413545124,-0.333739125966531,-0.3255901074405756,-0.3185235793814627,-0.3122667411803377,-0.3066713887135393,-0.30161715121585075,-0.29702170737778033,-0.292820424603633,-0.2889496784682706,-0.28538125412273985,-0.28181566257512713,-0.27864087631519396},
{-0.8475528162598494,-0.583065609251662,-0.48950574820150905,-0.43972337226296077,-0.4072169158810084,-0.3855900206228853,-0.36754294294655665,-0.3544773727658139,-0.3435898782131517,-0.33419648546146163,-0.32604274849495596,-0.3189718501491825,-0.3127105237961132,-0.3071109027939656,-0.3020523894717826,-0.29745285418880485,-0.2932477294370983,-0.2893733676910415,-0.28580153004099884,-0.2822323423413309,-0.27905336761568833},
{-0.8477329177932234,-0.5834929323370943,-0.4899859027398179,-0.4402127071025461,-0.4077032464520016,-0.38606862929123054,-0.3680158568263323,-0.35494718616496357,-0.34405422908366745,-0.3346552284408517,-0.32649676776441083,-0.3194214794305026,-0.31315565015916036,-0.307551742864689,-0.3024889353578146,-0.2978852954156537,-0.29367631519994575,-0.28979832747290857,-0.28622306495412886,-0.2826502683892613,-0.2794670915536699},
{-0.8479144644812777,-0.5839218895068825,-0.4904676689786811,-0.44070361513809075,-0.40819110734241804,-0.3865487257194218,-0.36849023786157886,-0.35541844607337225,-0.3445199982882059,-0.33511535871184606,-0.3269521693016486,-0.3198724711401155,-0.313602124209865,-0.30799391257755815,-0.30292679247327214,-0.29831903493163736,-0.2941061855610769,-0.2902245614006915,-0.28664586238051015,-0.2830694441686319,-0.279882051289178},
{-0.8480974602641709,-0.5843524852430164,-0.49095105162109576,-0.44119610093366646,-0.4086805030101459,-0.387030314095,-0.36896609032987726,-0.35589115659058734,-0.34498718996792377,-0.33557688022960974,-0.3274089570884371,-0.3203248291233649,-0.31404994992203683,-0.30843741577086803,-0.3033659645689113,-0.29875407635131523,-0.29453734431149314,-0.2906520731914952,-0.2870699260336096,-0.28348987313097496,-0.28029825011776666},
{-0.8482819090899056,-0.5847847240536339,-0.4914360554223549,-0.4416901689955921,-0.40917143784736254,-0.38751339870327683,-0.3694434183685189,-0.35636532170769897,-0.3454558084306427,-0.3360397967423978,-0.327867135015822,-0.3207785571241857,-0.31449913109008776,-0.3088822559973323,-0.30380645531840855,-0.2991904232701472,-0.2949697950537029,-0.2910808664482829,-0.287495259376783,-0.2839115587021297,-0.2807156913545441},
{-0.8484678148887497,-0.5852186105039436,-0.4919226851206986,-0.4421858239015819,-0.4096639163974487,-0.38799798376840045,-0.36992222628373383,-0.3568409455615438,-0.34592585789641817,-0.33650411223311494,-0.32832670720154056,-0.3212336592023348,-0.31494967171761346,-0.30932843710911584,-0.30424826841840513,-0.2996280796287465,-0.2954035416616989,-0.29151094487929186,-0.28792186616487925,-0.284334504486651,-0.281134378343495},
{-0.8486551816300789,-0.5856541490593372,-0.49241094547573994,-0.4426830701900144,-0.41015794311670106,-0.38848407359250814,-0.370402518264882,-0.3573180322111966,-0.3463973426426037,-0.3369698305566544,-0.3287876775686982,-0.32169013911129696,-0.3154015758116202,-0.30977596276170516,-0.30469140768900616,-0.3000670489566346,-0.29583858778391914,-0.29194231215637956,-0.28834974994424556,-0.28475871393561647,-0.2815543143869945},
{-0.8488440132758797,-0.5860913443443678,-0.4929008412884741,-0.4431819124613412,-0.41065352247483133,-0.38897167260188326,-0.3708842985213323,-0.35779658568299055,-0.34687026685605815,-0.3374369556181591,-0.32925005014703856,-0.32214800076667416,-0.31585484723359514,-0.3102248367076754,-0.3051358767124839,-0.30050733507778205,-0.2962749371820337,-0.2923749718795534,-0.28877891437014114,-0.28518419054444166,-0.28197550276877337},
{-0.8490343138112166,-0.5865302008710387,-0.49339237733420305,-0.44368235527440447,-0.41115065897156455,-0.38946078502158343,-0.3713675714454894,-0.3582766100714707,-0.34734463488325673,-0.3379054913116306,-0.3297138289851773,-0.32260724803427365,-0.3163094899380212,-0.3106750627425754,-0.3055816793387294,-0.3009489416347151,-0.2967125936957018,-0.2928089278379957,-0.2892093631805892,-0.285610937860838,-0.28239794689420705},
{-0.8492260872423003,-0.5869707232461678,-0.49388555844620896,-0.44418440325443953,-0.4116493571348201,-0.3899514151637504,-0.3718523411930619,-0.35875810954553344,-0.34782045105475845,-0.33837544165976396,-0.33017901809603245,-0.32306788496248373,-0.3167655079423639,-0.31112664456350103,-0.3060288193823908,-0.3013918724288942,-0.2971515611193354,-0.29324418368059924,-0.28964109994740284,-0.2860389595100514,-0.28282165010978133},
{-0.8494193375752275,-0.5874129160545181,-0.49438038944140317,-0.4446880610178141,-0.4121496214954732,-0.3904435673559874,-0.3723386120404939,-0.35924108808853816,-0.3482977194753403,-0.3388468105895299,-0.3306456215429989,-0.32352991535458386,-0.31722290521975083,-0.31157958603284897,-0.3064773004862218,-0.30183613113672436,-0.2975918432111939,-0.29368074306444214,-0.2900741282992385,-0.28646825898522366,-0.2832466157333329},
{-0.849614068803703,-0.5878567839040443,-0.4948768751635271,-0.4451933332138651,-0.412651456597132,-0.39093724604481395,-0.37282638836427395,-0.359725549909399,-0.3487764445508219,-0.33931960212953527,-0.331113643447452,-0.32399334325646123,-0.31768168582107137,-0.31203389089341727,-0.3069271266290343,-0.3022817216169642,-0.29803344391189057,-0.2941186098048547,-0.2905084521491972,-0.2868988400316539,-0.283672847296657},
{-0.8498102849721363,-0.588302331376326,-0.49537502046200643,-0.4457002244018895,-0.4131548669681706,-0.3914324555234998,-0.3733156743380732,-0.3602114990458176,-0.34925663057583733,-0.33979382023267135,-0.33158308785209556,-0.3244581726605702,-0.31814185368557446,-0.31248956297758923,-0.3073783014763194,-0.3027286475726214,-0.29847636692670676,-0.29455778758415363,-0.2909440750008798,-0.2873307061754531,-0.2841003481141797},
{-0.850007990129825,-0.5887495631507136,-0.4958748302362892,-0.4462087393510501,-0.4136598571997183,-0.39192920027699074,-0.37380647438885717,-0.3606989396728295,-0.3497382817158723,-0.3402694689470991,-0.33205395880372635,-0.32492440737973993,-0.31860341280162174,-0.3129466060295272,-0.30783082893435676,-0.3031769126537256,-0.29892061613077203,-0.29499828004168194,-0.29138100062868943,-0.28776386104436824,-0.2845291216096939},
{-0.8502071883174267,-0.589198483851078,-0.4963763093298894,-0.4467188826272377,-0.41416643186062174,-0.3924274845912805,-0.3742987927307695,-0.3611878758852072,-0.3502214023549186,-0.3407465522977873,-0.33252626044804856,-0.325392051568997,-0.31906636725693716,-0.31340502399871184,-0.3082847129326183,-0.3036265207226734,-0.29936619548016097,-0.29544009102687596,-0.29181923274904875,-0.2881983083443629,-0.28495917124200787},
{-0.8504078836064082,-0.5896490981185707,-0.49687946268954875,-0.44723065899052017,-0.4146745955101778,-0.3929273129108424,-0.3747926337211993,-0.3616783118654894,-0.3507059967362238,-0.34122507439406036,-0.3329999968730135,-0.32586110921943146,-0.31953072102760416,-0.3138648205865593,-0.30873995715046476,-0.30407747561889664,-0.299813108719718,-0.2958832241508844,-0.29225877512271836,-0.288634051706822,-0.2853905005222259},
{-0.8506100800652803,-0.5901014106414095,-0.4973842952238101,-0.44774407311115283,-0.41518435282387145,-0.393428689684697,-0.3752880017248117,-0.36217025170390116,-0.3511920691985324,-0.3417050394120906,-0.33347517225683987,-0.32633158426619957,-0.31999647821567123,-0.3143259997723362,-0.309196565740649,-0.30452978104312933,-0.3002613597795971,-0.29632768329133796,-0.2926996315050019,-0.2890710949584445,-0.28582311292166196},
{-0.8508137817981378,-0.5905554260823465,-0.49789081185645045,-0.44825912967939985,-0.41569570836873027,-0.3939316193823288,-0.37578490105602214,-0.36266369963232137,-0.35167962401578734,-0.3421864513638866,-0.33395179069862024,-0.32680348091525957,-0.32046364277630346,-0.31478856535727573,-0.3096545424125452,-0.3049834407856906,-0.30071095256244007,-0.29677347214897054,-0.2931418055668473,-0.2895094415778203,-0.28625701192663655},
{-0.8510189928857699,-0.5910111491643875,-0.4983990175473991,-0.4487758334635146,-0.41620866674702484,-0.39443610642115345,-0.37628333613110954,-0.3631586597161913,-0.35216866543373726,-0.34266931449019467,-0.33442985632677846,-0.3272768030617499,-0.32093221879995326,-0.3152525212026376,-0.3101138910856207,-0.3054384586394008,-0.30116189094496804,-0.2972205944190591,-0.2935853011410927,-0.2899490955207966,-0.286692201070764},
{-0.8512257174603519,-0.5914685845707481,-0.4989089172772765,-0.44929418917377006,-0.4167232326717567,-0.3949421553520551,-0.37678331126721787,-0.36365513629311863,-0.3526591978563829,-0.3431536330333529,-0.33490937340957316,-0.32775155494982755,-0.3214022104473315,-0.31571787131815654,-0.3105746159201317,-0.3058948384928044,-0.30161417885233277,-0.297669054129301,-0.2940301220432957,-0.2903900604046612,-0.28712868390584845},
{-0.851433959623364,-0.5919277370505824,-0.4994205160101046,-0.44981420154636,-0.417239410729735,-0.3954497704839923,-0.3772848308478842,-0.3641531334171759,-0.3531512254412519,-0.3436394110683523,-0.33539034597902173,-0.3282277405378409,-0.3218736216426805,-0.316184619395699,-0.3110367205690636,-0.30635258412689836,-0.3020678200803104,-0.2981188546780231,-0.2944762719605478,-0.29083233999404,-0.28756646396709584},
{-0.8516437235227841,-0.5923886113030221,-0.4999338187524245,-0.4503358753941029,-0.4177572056128156,-0.3959589564522048,-0.377787899333498,-0.3646526553225158,-0.35364475258620587,-0.34412665294621547,-0.33587277837887086,-0.32870536406858264,-0.32234645657172223,-0.31665276951594024,-0.3115002092517898,-0.3068116994113552,-0.30252281879666043,-0.29857000021070235,-0.2949237547898065,-0.2912759381952128,-0.28800554496615405},
{-0.851855013313866,-0.5928512121211043,-0.5004488305148698,-0.45085921546228747,-0.41827662203422733,-0.39646971778779516,-0.37829252106553213,-0.36515370627216726,-0.354139783596338,-0.3446153629568016,-0.3363566747182176,-0.32918442965160466,-0.32282071928807454,-0.3171223256160829,-0.31196508588755023,-0.3072721881924281,-0.30297917867824253,-0.2990224944369402,-0.29537257427477925,-0.29172085861523556,-0.28844593034932586},
{-0.852067833152546,-0.5933155442528459,-0.5009655563321758,-0.4513842265814674,-0.41879766466581714,-0.3969820590375548,-0.37879870051710895,-0.3656562904038765,-0.3546363226862468,-0.34510554539428995,-0.33684203919710853,-0.32966494132574553,-0.3232964139081105,-0.3175932914416535,-0.3124313543860353,-0.3077340542465663,-0.3034369037336546,-0.299476341063837,-0.2958227342060127,-0.2921671051822159,-0.2888876238132525},
{-0.852282187193282,-0.5937816124337587,-0.5014840012106561,-0.4519109134669179,-0.41932033814896386,-0.3974959846113961,-0.3793064420815426,-0.36616041199772553,-0.3551343742080917,-0.34559720454558374,-0.3373288760367359,-0.33014690335608066,-0.32377354442223805,-0.31806567103831185,-0.3128990188909029,-0.30819730145594804,-0.30389599793875277,-0.29993154404860434,-0.296274238473643,-0.2926146815696029,-0.2893306290650344},
{-0.8524980796357795,-0.5942494215323677,-0.5020041702932758,-0.45243928107447573,-0.4198446473264994,-0.3980114991816208,-0.3798157502239974,-0.3666660753196993,-0.3556339424687849,-0.34609034491109014,-0.3378171895874402,-0.3306303199585727,-0.3242521151253186,-0.3185394684194307,-0.31336808339870004,-0.3086619338712353,-0.30435646520481896,-0.30038810720066067,-0.2967270909389299,-0.2930635917409745,-0.2897749497474251},
{-0.8527155146907717,-0.5947189762932794,-0.5025260685833928,-0.4529693341623897,-0.42037059682115796,-0.3985286072818326,-0.3803266294169134,-0.36717328458007614,-0.35613503175159167,-0.3465849708532005,-0.3383069840012922,-0.3311151952759701,-0.3247321299770647,-0.31901468743558326,-0.3138385518789164,-0.30912795527865455,-0.3048183094547312,-0.30084603444902314,-0.29718129536672677,-0.29351383942912435,-0.29022058958571506},
{-0.8529344965495511,-0.5951902815568246,-0.5030497012098749,-0.45350107756848956,-0.4208981913907337,-0.39904731352271483,-0.3808390840943048,-0.36768204404302196,-0.3566376463297729,-0.34708108673680726,-0.33879826348334063,-0.33160153354378963,-0.32521359311704146,-0.31949133205762337,-0.31431042840108603,-0.30959536953400857,-0.3052815346152329,-0.3013053294691872,-0.2976368556135185,-0.29396542844870055,-0.2906675521685429},
{-0.853155029432628,-0.5956633421487822,-0.5035750732724864,-0.45403451621973545,-0.4214274358550938,-0.399567622545419,-0.3813531188191064,-0.36819235806092365,-0.35714179060869355,-0.3475786971328034,-0.339291032468509,-0.3320893390339279,-0.3256965088000925,-0.31996940638373417,-0.3147837170815819,-0.31006418071910957,-0.3057461447754122,-0.30176599637525214,-0.29809377574497375,-0.29441836272872024,-0.2911158414090096},
{-0.8533771175752918,-0.5961381629108473,-0.5041021898830422,-0.454569654904617,-0.42195833492473866,-0.4000895389442576,-0.38186873801009824,-0.36870423081904846,-0.3576474687845348,-0.3480778065111281,-0.33978529505588995,-0.33257861592051086,-0.3261808809922968,-0.32044891426789945,-0.3152584220024437,-0.3105343926738442,-0.30621214377833894,-0.302228038960493,-0.2985520593692854,-0.29487264604267693,-0.29156546093463476},
{-0.8536007652276112,-0.5966147487429225,-0.5046310562215695,-0.45510649862944774,-0.42249089341976287,-0.40061306735242397,-0.3823859462704604,-0.3692176667982494,-0.35815468524469907,-0.34857841946654844,-0.34028105576567214,-0.33306936862868497,-0.326666713965551,-0.3209298597489578,-0.3157345471749977,-0.3110060094295477,-0.30667953569604833,-0.3026914611589291,-0.2990117105796344,-0.295328282313676,-0.2920164146185016},
{-0.853825976645453,-0.5970931044582812,-0.5051616773821479,-0.4556450522450177,-0.4230251161427532,-0.40113821237696357,-0.3829047480414829,-0.3697326701928887,-0.35866344421992835,-0.34908054054130844,-0.3407783187910809,-0.3335616013107483,-0.3271540118246321,-0.32141224685301495,-0.3162120967181181,-0.31147903501323526,-0.30714832451485563,-0.30315626690116915,-0.2994727331683862,-0.2957852753916086,-0.29246870622773713},
{-0.854052756103556,-0.5975732349868395,-0.5056940585861867,-0.4561853206564592,-0.4235610078396803,-0.4016649787511142,-0.3834251477921953,-0.3702492453594459,-0.35917375003646157,-0.34958417425104926,-0.3412770884265228,-0.3340553182824806,-0.32764277863520874,-0.3218960795309158,-0.3166910747027032,-0.3119534733407363,-0.3076185140587313,-0.303622460101451,-0.299935131057282,-0.2962436290436017,-0.2929223395453846},
{-0.8542811078669956,-0.5980551452137206,-0.5062282050116664,-0.4567273088073307,-0.42409857338316215,-0.40219337118878684,-0.38394715021809134,-0.37076739661347347,-0.35968560703781804,-0.3500893252653441,-0.3417773689936894,-0.3345505238999067,-0.3281330185968727,-0.3223813618424174,-0.31717148518805516,-0.31242932849136196,-0.308090108550914,-0.30409004467219347,-0.3003989082535554,-0.2967033472832554,-0.29337731844043446},
{-0.8545110362600781,-0.5985388400731608,-0.5067641218668086,-0.45727102166074474,-0.42463781760443453,-0.4027233943443207,-0.38447075982730894,-0.37128712839012223,-0.3601990195240887,-0.3505959983315279,-0.342279164940237,-0.3350472224637997,-0.32862473588033936,-0.3228680977433669,-0.3176533323071453,-0.31290660449735697,-0.3085631118692618,-0.30455902469111606,-0.30086406855798487,-0.29716443396773684,-0.2938336467918816},
{-0.8547425455930124,-0.59902432447916,-0.5073018143400532,-0.45781646417435695,-0.4251787453151792,-0.40325505285227337,-0.384995981115253,-0.3718084449822072,-0.3607139917362474,-0.35110419799616466,-0.34278248051941773,-0.335545418348147,-0.3291179346017543,-0.3233562913217156,-0.31813662021295386,-0.3133853054325755,-0.3090375280353328,-0.30502940398991996,-0.30133061595552135,-0.2976268929555772,-0.29429132841050887},
{-0.8549756401411059,-0.599511603390738,-0.507841287708743,-0.45836364137517194,-0.4257213614368993,-0.4037883515861722,-0.3855228187494504,-0.3723313509290165,-0.3612305280655619,-0.3516139291266427,-0.34328732022299846,-0.3360451158748674,-0.32961261903324157,-0.32384594668906175,-0.3186213530009354,-0.31386543546750545,-0.30951336111320416,-0.30550118672499593,-0.30179855442656844,-0.29809072825264593,-0.29475036730127613},
{-0.8552103242789144,-0.6000006817419035,-0.5083825471833734,-0.45891255816081866,-0.4262656707910537,-0.40432329518148435,-0.38605127727987565,-0.37285585052131864,-0.361748632849185,-0.35212519634319506,-0.3437936883688053,-0.336546319534591,-0.33010879319454034,-0.3243370677867006,-0.31910753478723564,-0.31434699863257265,-0.3099906151323921,-0.30597437679307404,-0.30226788790605497,-0.29855594371792904,-0.2952107672144848},
{-0.8554466023604164,-0.6004915645664823,-0.508925598092901,-0.45946321964856907,-0.42681167827004174,-0.40485988849104615,-0.38658136134267806,-0.37338194819903947,-0.3622683102935298,-0.352638004458413,-0.3443015893462871,-0.33704903354032467,-0.3306064613589115,-0.32482965869098734,-0.31959516957590495,-0.31482999907302656,-0.3104692940851237,-0.30644897816773664,-0.3027386203430069,-0.2990225433059095,-0.2956725322046623},
{-0.8556844787141245,-0.6009842567923442,-0.5094704456469117,-0.46001563077538776,-0.42735938881128277,-0.40539813632358346,-0.38711307545486306,-0.373909648373683,-0.36278956479577573,-0.35315235826328717,-0.34481102759241367,-0.3375532623479103,-0.3311056276334057,-0.32532372352966377,-0.32008426173206317,-0.31531444087022464,-0.310949402069582,-0.30692499499127734,-0.3032107557364725,-0.299490530971525,-0.2961356662262915},
{-0.85592395772278,-0.6014787634369441,-0.5100170951782275,-0.46056979659056196,-0.427908807270569,-0.4059380432731814,-0.38764642429168816,-0.3744389555452017,-0.3633124006723847,-0.353668262544943,-0.34532200744251895,-0.3380590104777639,-0.33160629617850645,-0.3258192663040518,-0.3205748152176966,-0.3158003283197104,-0.3114309430998219,-0.3074024312691108,-0.30368429803229446,-0.2999599107129143,-0.2966001731892902},
{-0.8561650437779917,-0.6019750895241032,-0.5105655520158052,-0.46112572219544745,-0.4284599385969159,-0.40647961430113355,-0.3881814124554239,-0.3749698741901284,-0.36383682220821356,-0.3541857221559894,-0.34583453346226634,-0.33856628222042673,-0.3321084713054461,-0.32631629119759964,-0.32106683418533066,-0.316287665550135,-0.31191392127811923,-0.3078812909448061,-0.3041592512463467,-0.3004306864550017,-0.2970660571204462},
{-0.8564077412738698,-0.6024732401103847,-0.5111158214697298,-0.4616834126145477,-0.4290127877532086,-0.4070228542127552,-0.38871804457312464,-0.37550240876976204,-0.36436283379907763,-0.35470474197745716,-0.34634861002200523,-0.33907508212587345,-0.3326121570180476,-0.3268148022548303,-0.32156032285774927,-0.31677645673062216,-0.3123983406148909,-0.30836157828298383,-0.3046356193876818,-0.30090286214544903,-0.29753332192740345},
{-0.8566520546200991,-0.6029732202175637,-0.5116679088780529,-0.46224287297036426,-0.4295673596373035,-0.4075677678642933,-0.3892563253214121,-0.37603656371493344,-0.3648904396943635,-0.3552253268360346,-0.34686424155006534,-0.3395854145435351,-0.3331173575875255,-0.3273148035646045,-0.32205528530630545,-0.3172667061407992,-0.3128842052960863,-0.30884329714854175,-0.305113406412147,-0.3013764417864877,-0.29800197170516185},
{-0.856897988237165,-0.6034750349163005,-0.5122218196395352,-0.4628041083039989,-0.43012365928893814,-0.4081143601219992,-0.3897962593689499,-0.37657234367293313,-0.36541964432376517,-0.3557474817307593,-0.3473814326337106,-0.3400972840506711,-0.3336240772960082,-0.32781629941518986,-0.322551725858375,-0.3177584179866244,-0.313371519332577,-0.30932645186112495,-0.3055926164088305,-0.30185142941763843,-0.2984720104832377},
{-0.8571455465811368,-0.6039786893113614,-0.5127775590942747,-0.46336712374522904,-0.4306816915973286,-0.408662635720475,-0.39033785129845455,-0.3771097529902363,-0.3659504519021084,-0.3562712114458009,-0.3479001875971335,-0.34061069501672137,-0.33413232017414884,-0.3283192937178683,-0.32304964838567685,-0.31825159646905377,-0.31386028685574274,-0.30981104625379885,-0.3060732533699593,-0.3023278289419977,-0.29894344215608726},
{-0.8573947340640871,-0.6044841884263406,-0.513335132639213,-0.46393192446430476,-0.4312414616370006,-0.4092125996678533,-0.3908811057785897,-0.37764879638734783,-0.36648286688000553,-0.35679652099770465,-0.3484205110223684,-0.3411256520225834,-0.33464209052090155,-0.32882379078091617,-0.3235490572883464,-0.3187462459513881,-0.3143505120201553,-0.31029708460528127,-0.30655532133505403,-0.3028056444845788,-0.29941627101334234},
{-0.8576455551841491,-0.6049915374446755,-0.5138945457276805,-0.4644985155705399,-0.4318029743801617,-0.4097642568981428,-0.39142602752281164,-0.37818947833716265,-0.367016893622349,-0.3573234153300291,-0.34894240744301896,-0.34164215953956045,-0.33515339255927756,-0.32932979474662716,-0.32404995673778103,-0.3192423706568661,-0.31484219889671294,-0.3107845710487709,-0.30703882436546337,-0.3032848799648491,-0.299890500994934},
{-0.8578980144056914,-0.6055007414774991,-0.5144558037482057,-0.4650669022009879,-0.43236623485017844,-0.410317612255767,-0.39197262118864273,-0.37873180334941026,-0.36755253634851215,-0.35785189935108974,-0.34946588124262234,-0.3421602220314526,-0.3356662304790916,-0.3298373097545664,-0.324552350860813,-0.3197399748460157,-0.31533535164453497,-0.31127350961469347,-0.3075237665016175,-0.30376553946007334,-0.30036613618040064},
{-0.8581521162060426,-0.6060118056082047,-0.5150189120934101,-0.4656370894911106,-0.4329312480158478,-0.4108726706840571,-0.3925208914185987,-0.3792757760711538,-0.36808979947386433,-0.3583819780681097,-0.3499909369791112,-0.3426798440350467,-0.3361806084685668,-0.33034634004025065,-0.3250562438674933,-0.3202390627852765,-0.31582997440636973,-0.3117639045121905,-0.3080101518180527,-0.30424762692882723,-0.30084318073113536},
{-0.8584078650948186,-0.6065247350636582,-0.5155838763178053,-0.4662090827052907,-0.433498019014678,-0.41142943712543456,-0.3930708429597871,-0.37982140113535934,-0.36862868745015476,-0.3589136565103672,-0.3505175792076898,-0.3432010301949049,-0.33669653081051365,-0.3308568898487465,-0.32556163998651755,-0.32073963890570667,-0.31632607135543367,-0.31225575991675214,-0.30849798439840015,-0.30473114650931166,-0.3013216387657849},
{-0.8586652655990292,-0.6070395349679529,-0.516150701836068,-0.4667828870303765,-0.4340665528650334,-0.4119879165459679,-0.39362248047746107,-0.3803686830933657,-0.36916920456042135,-0.35944693965507213,-0.3510458124505931,-0.34372378493844735,-0.3372140017509082,-0.331368963371915,-0.32606854343066516,-0.3212417074728364,-0.3168236466704002,-0.3127490799838597,-0.3089872683235626,-0.30521610223149764,-0.30180151444210424},
{-0.858924322232042,-0.6075562105415884,-0.5167193941565529,-0.4673585076559448,-0.4346368546807753,-0.41254811395197066,-0.39417580863482726,-0.3809176265961014,-0.3697113551736493,-0.3599818324780699,-0.3515756412450628,-0.344248112875448,-0.3377330255043489,-0.3318825648339043,-0.32657695842954126,-0.3217452727908494,-0.3173227045040221,-0.3132438688567163,-0.3094780076717143,-0.3057024980676033,-0.30228281183326544},
{-0.8591850395421261,-0.6080747669516313,-0.5172899587680604,-0.46793594984001174,-0.4352089294650341,-0.413110034345209,-0.39473083221128036,-0.38146823625947945,-0.37025514370520796,-0.36051834000500094,-0.35210707011265185,-0.3447740185119983,-0.33825360636456026,-0.3323976985830086,-0.3270868891718237,-0.32225033920667556,-0.3178232491382005,-0.3137401307972141,-0.309970206602884,-0.3061903381526463,-0.30276553524618066},
{-0.8594474220861912,-0.6085952094206277,-0.517862401158709,-0.4685152187487347,-0.43578278233121637,-0.4136736826565084,-0.3952875557849893,-0.38202051665439285,-0.3708005744742877,-0.3610564672339933,-0.3526401035530853,-0.3453015064246756,-0.33877574854795967,-0.33291436880244873,-0.3275983399780671,-0.322756910946282,-0.3183252846938558,-0.3142378698980792,-0.31046386912930757,-0.3066796265352423,-0.30324968872764657},
{-0.8597114744324017,-0.6091175432327418,-0.518436726908476,-0.4690963197176643,-0.43635841845798495,-0.4142390639660789,-0.3958459842058346,-0.3825744726029825,-0.37134765193263775,-0.3615962192398001,-0.3531747462579915,-0.34583058133375744,-0.33929945637737546,-0.3334325799664839,-0.3281113150028432,-0.32326499255714225,-0.3188288154797192,-0.3147370904989657,-0.3109589994896851,-0.30717036725081925,-0.3037352765441028},
{-0.8599772011647246,-0.6096417735484465,-0.5190129415489082,-0.4696792580255078,-0.43693584292736887,-0.41480618328751007,-0.39640612208359016,-0.3831301086745498,-0.3718963804606119,-0.362137601062841,-0.3537110027205017,-0.3463612476302842,-0.33982473417654546,-0.333952336215134,-0.3286258186226405,-0.32377458829432726,-0.3193338457040227,-0.31523779668577845,-0.31145560173990816,-0.3076625645076092,-0.3042223028655826},
{-0.8602446068705376,-0.6101679057101137,-0.5195910506597556,-0.4702640389093631,-0.43751506084799985,-0.4153750456709986,-0.39696797413535023,-0.3836874295730013,-0.3724467644535707,-0.362680617727392,-0.3542488775506172,-0.34689351005135904,-0.3403515861255073,-0.3344736420403933,-0.3291418550857088,-0.3242857025466037,-0.3198403795727245,-0.315739992788167,-0.3119536801068534,-0.3081562222910179,-0.30471077180254724},
{-0.8605136961562039,-0.6106959449807619,-0.5201710597939382,-0.470850667711602,-0.4380960774283267,-0.41594565624814095,-0.3975315451966708,-0.38424643995358565,-0.37299880832620147,-0.3632252742104356,-0.3547883752639791,-0.3474273731944777,-0.34088001665986667,-0.33499650176054274,-0.3296594286666732,-0.32479833970819527,-0.3203484214545824,-0.3162436829534272,-0.31245323868051855,-0.30865134468149336,-0.305200687645538},
{-0.8607844736733341,-0.6112258966561512,-0.5207529745575812,-0.47143914972116363,-0.43867889780926816,-0.416518020064359,-0.3980968398816458,-0.38480714457477916,-0.3735525165295712,-0.3637715757197384,-0.3553295005272048,-0.3479628416816922,-0.34141003007061954,-0.33552091969340836,-0.3301785436137834,-0.3253125040964733,-0.32085797556146645,-0.3167488715826039,-0.3129542816168396,-0.3091479359582081,-0.30569205455594783},
{-0.8610569440302243,-0.6117577660545521,-0.5213368005722714,-0.4720294903440845,-0.43926352715129724,-0.4170921421628009,-0.39866386294693257,-0.3853695481059276,-0.37410789342470707,-0.3643195271042714,-0.35587225792232857,-0.34849992013732844,-0.34194163067968475,-0.33604690047923214,-0.3306992043721948,-0.3258282001356747,-0.32136904620165296,-0.31725556277797295,-0.31345681317725393,-0.3096460001147534,-0.30618487669653405},
{-0.8613311118828051,-0.6122915584796829,-0.5219225434718737,-0.4726216948670299,-0.43984997072720944,-0.41766802771758194,-0.3992326191691973,-0.38593365535848534,-0.37466494354953284,-0.3648691336502452,-0.35641665208731865,-0.34903861321618024,-0.34247482293494613,-0.3365744483776325,-0.33122141520561854,-0.32634543228095936,-0.3218816377257099,-0.3177637608741861,-0.3139608374872296,-0.31014554139119355,-0.3066791582668884},
{-0.861606981879163,-0.6128272793155247,-0.5225102088716085,-0.4732157686410119,-0.44043823367883306,-0.41824568181618815,-0.3998031132284723,-0.3864994709608709,-0.3752236713100956,-0.36542040017957333,-0.3569626876433176,-0.3495789256421631,-0.3430096110869272,-0.3371035679419947,-0.3317451804491611,-0.32686420493109836,-0.322395754419631,-0.31827347020225716,-0.314466358759546,-0.3106465639034468,-0.3071749034234017},
{-0.8618845587379838,-0.6133649339237763,-0.5230998024501332,-0.4738117171352769,-0.4410283212084778,-0.41882510968321185,-0.40037534993416557,-0.3870669997013465,-0.3757840810619655,-0.3659733318459075,-0.35751036916917656,-0.3501208619481986,-0.3435459995725978,-0.337634263502423,-0.33227050445611894,-0.3273845223884564,-0.3229114006744567,-0.3187846948562765,-0.3149733812183513,-0.31114907183473406,-0.3076721164097762},
{-0.8621638471228152,-0.6139045276870547,-0.523691329868825,-0.4744095456735522,-0.44162023862895694,-0.41940631642296466,-0.4009493339906385,-0.38763624631496896,-0.376346177420146,-0.3665279337942593,-0.3580597014347404,-0.35066442686911614,-0.344083992848482,-0.338166539795111,-0.3327973916693736,-0.3279063890627185,-0.3234285808312052,-0.31929743941418565,-0.31548190899502515,-0.3116530694182984,-0.30817080136148434},
{-0.8624448517397241,-0.6144460659652395,-0.5242847967801936,-0.4750092596052582,-0.4422139910891474,-0.4199893071124734,-0.4015250701581863,-0.38820721552338,-0.37690996470632854,-0.3670842108699617,-0.35861068890790193,-0.3512096251861294,-0.34462359525468855,-0.3387004011465251,-0.3333258464335813,-0.3284298095691156,-0.3239472991681396,-0.31981170797280356,-0.31599194640421047,-0.3121585608400892,-0.3086709624612922},
{-0.8627275773119436,-0.6149895542164359,-0.5248802089508899,-0.4756108645274253,-0.44280958393801484,-0.4205740870718273,-0.40210256316845516,-0.3887799122335309,-0.37747544756734897,-0.3676421682725959,-0.3591633364426343,-0.3517564615108313,-0.34516481125046994,-0.3392358521787173,-0.3338558732752972,-0.3289547882623083,-0.32446756023909984,-0.3203275049072545,-0.3165034976404968,-0.31266555035381316,-0.3091726040051981},
{-0.863012028569301,-0.6155349978714639,-0.5254775720768521,-0.4762143657608249,-0.4434070224745028,-0.42116066143444186,-0.40268181786314017,-0.3893543410717939,-0.37804263037742203,-0.3682018110421268,-0.3597176485864111,-0.35230494060942874,-0.34570764531190434,-0.3397728974882739,-0.3343874765241708,-0.32948132952424203,-0.32498936824958946,-0.32084483449079926,-0.3170165670303504,-0.3131740420976712,-0.30967573021325734},
{-0.8632982102728874,-0.6160824023513669,-0.5260768918653866,-0.47681976880721777,-0.44400631186158535,-0.42174903543377695,-0.4032628389295496,-0.3899305068553076,-0.37861151759398126,-0.3687631441148369,-0.36027363001039703,-0.35285506719901605,-0.3462521018504958,-0.3403115415658249,-0.3349206606144435,-0.3300094378041649,-0.3255127277370775,-0.32136370108582923,-0.3175311586751377,-0.31368404043996634,-0.3101803452259446},
{-0.8635861271667409,-0.6166317731576783,-0.526678174133167,-0.477427079116751,-0.44460745757623954,-0.4223392143444471,-0.4038456311927803,-0.39050841446760387,-0.3791821139170679,-0.3693261727266872,-0.360831285463064,-0.3534068460180606,-0.34679818539416374,-0.3408517891775773,-0.33545543022546553,-0.33053911764545774,-0.3260376430462202,-0.32188410916614885,-0.31804727701546653,-0.3141955496794253,-0.3106864534579472},
{-0.863875784037873,-0.6171831157462293,-0.5272814245431618,-0.47803630216913007,-0.4452104647359647,-0.42293120326985445,-0.4044301994149464,-0.3910880685666598,-0.3797544236599606,-0.36989090173165096,-0.3613906195960226,-0.35396028185050454,-0.34734590041307456,-0.34139364474822287,-0.3359917896264051,-0.33107037343006596,-0.32656411863627,-0.32240606285722606,-0.31856492623728627,-0.3147085739033173,-0.31119405910658315},
{-0.8641671856670428,-0.6177364356412909,-0.5278866489395568,-0.4786474435391028,-0.4458153388484334,-0.4235250075641943,-0.40501654838590184,-0.3916694740898947,-0.3803284514879124,-0.37045733629611277,-0.3619516370954443,-0.35451537942708455,-0.34789525144560685,-0.34193711293528395,-0.33652974352344245,-0.3316032097477546,-0.32709215907470934,-0.32292956663786754,-0.31908411065887776,-0.3152231175977249,-0.3117031665497052},
{-0.864460336853881,-0.6182917383650874,-0.52849385313948,-0.47926050867226877,-0.4464220851925802,-0.4241206325036728,-0.40560468290141216,-0.39225263578305203,-0.3809042019802291,-0.3710254814018299,-0.36251434272389815,-0.35507214360086436,-0.34844624294373716,-0.34248219848905137,-0.33706929636218774,-0.3321376309781954,-0.3276217685761367,-0.32345462492094157,-0.31960483458897215,-0.31573918493631936,-0.31221378022883073},
{-0.8647552424451987,-0.618849029452349,-0.5291030428734302,-0.4798755031467863,-0.4470307091453378,-0.4247180833274342,-0.40619460776224514,-0.3928375584453079,-0.38148167952476797,-0.37159534210468337,-0.36307874111344063,-0.3556305791134946,-0.3489988795122372,-0.3430289059087954,-0.3376104527528696,-0.3326736416024687,-0.3281529517857962,-0.3239812419951704,-0.3201271023585832,-0.3162567803528873,-0.3127259044031234},
{-0.865051907226416,-0.6194083144089291,-0.5297142239885488,-0.48049243244850004,-0.4476412160408927,-0.4253173653239628,-0.4067863277462038,-0.3934242469306355,-0.38206088886590805,-0.3721669234801084,-0.3636448370302787,-0.35619069077029053,-0.3495531657349602,-0.34357724000847156,-0.3381532173307278,-0.33321124617714304,-0.3286857131547549,-0.3245094224030254,-0.32065091831555037,-0.31677590806475564,-0.31323954363506346},
{-0.8653503360793593,-0.6199695989187148,-0.5303274024033726,-0.48111130224833687,-0.44825361136349784,-0.4259184838576857,-0.40737984778502323,-0.394012706169633,-0.38264183451519784,-0.3727402305689793,-0.36421263518332125,-0.3567524835034419,-0.350109106115724,-0.34412720535829067,-0.3386975947087194,-0.3337504492556036,-0.32922005717682623,-0.3250391704136746,-0.3211762867899779,-0.3172965724088499,-0.313754702317965},
{-0.8656505338443594,-0.6205328884516348,-0.5309425838916013,-0.48173211809762506,-0.4488679004550704,-0.42652144416024385,-0.4079751725432743,-0.3946029409125913,-0.3832245211119698,-0.37331526842081075,-0.3647821403224043,-0.3573159619818398,-0.350666705214735,-0.3446788066830777,-0.3392435894711525,-0.33429125535712956,-0.3297559884272232,-0.3255704904686354,-0.3217032121860939,-0.31781877771436484,-0.3142713851048029},
{-0.8659525054143842,-0.6210981886874833,-0.5315597743278886,-0.48235488550153605,-0.4494840887105056,-0.42712625161834694,-0.4085723069424603,-0.39519495602871757,-0.3838089532164304,-0.3738920420219074,-0.36535335719463546,-0.3578811312513608,-0.35122596768314907,-0.34523204865672596,-0.3397912063410331,-0.33483366892551203,-0.33029351126333495,-0.3261033870517167,-0.3222316987521481,-0.31834252833823484,-0.31478959638980086},
{-0.8662562556820603,-0.6216655052560327,-0.532178979618493,-0.48297961024354663,-0.45010218159791293,-0.42773291162029636,-0.4091712558617928,-0.3957887564115481,-0.3843951355029276,-0.3744705564781725,-0.36592629050983305,-0.35844799605774824,-0.35178689811436925,-0.3457869360213408,-0.3403404500099896,-0.3353776945591562,-0.33083263036405697,-0.32663786456350863,-0.32276175102379057,-0.31886782863057306,-0.31530934084685214},
{-0.8665617895226205,-0.6222348437713663,-0.5328002056371588,-0.48360629778130715,-0.45072218457289637,-0.4283414294618524,-0.4097720240686158,-0.39638434687731205,-0.3849830726098844,-0.3750508168059241,-0.36650094508695474,-0.3590165612667988,-0.3523495011254454,-0.34634347341170724,-0.3408913251255399,-0.33592333676415365,-0.33137335023729975,-0.3271739274864558,-0.3232933732338097,-0.3193946829019296,-0.3158306230970993},
{-0.8668691118762126,-0.6228062099282852,-0.5334234583749549,-0.48423495390647986,-0.4513441031288039,-0.42895181054609566,-0.41037461650034857,-0.39698173243141355,-0.3855727692084656,-0.37563282811970566,-0.3670773256735629,-0.3595868318866451,-0.35291378135752893,-0.3469016655790256,-0.3414438364702619,-0.33647060022394726,-0.33191567542053235,-0.3277115802852677,-0.3238265700233569,-0.3199230955033272,-0.31635344779624575},
{-0.8671782276669546,-0.6233796093752062,-0.5340487436499188,-0.48486558418494496,-0.45196794268485974,-0.42956406020061877,-0.41097903798527113,-0.39758091784460703,-0.38616423002576994,-0.3762165954030934,-0.3676554370535996,-0.36015881270668615,-0.35347974340356814,-0.34746151725357777,-0.3419979887594309,-0.3370194894441738,-0.33245961051534323,-0.32825082732779265,-0.324361345633406,-0.3204530708044331,-0.31687781970094875},
{-0.8674891418424977,-0.6239550478494493,-0.5346760674744928,-0.48549819431787,-0.45259370874214255,-0.4301781838428269,-0.41158529338667904,-0.39818190810638043,-0.3867574596611121,-0.37680212380655576,-0.36823528404102035,-0.3607325086832134,-0.3540473919319993,-0.34802303318292616,-0.34255378676971304,-0.3375700090355167,-0.3330051600760271,-0.32879167326518655,-0.3248977045950596,-0.3209846131589984,-0.31740374350192724},
{-0.8678018593700472,-0.624532531042405,-0.535305435756527,-0.4861327900305241,-0.45322140686039347,-0.43079418696356697,-0.41219338770406466,-0.3987847080602478,-0.3873524629475469,-0.3773894182922959,-0.3688168714106723,-0.36130792481162644,-0.3546167316280844,-0.34858621808052703,-0.3431112352973287,-0.3381221635891052,-0.3335523287369142,-0.3293341224702999,-0.32543565130026764,-0.321517726973525,-0.3179312240786203},
{-0.8681163852295413,-0.625112064699124,-0.5359368545603047,-0.48676937700588496,-0.45385104247270647,-0.43141207493522415,-0.4128033257866264,-0.399389322699335,-0.387949244623087,-0.37797848406535195,-0.3694002040833766,-0.3618850660072894,-0.3551877671961847,-0.3491510766693864,-0.3436703390725597,-0.3386759577083467,-0.3341011211082332,-0.3298781795974719,-0.3259751903128745,-0.3220524166354153,-0.31846026622088175},
{-0.8684327244072847,-0.6256936546058114,-0.5365703297879918,-0.4874079609940054,-0.4544826211961208,-0.4320318531417797,-0.4134151125572316,-0.3999957569158141,-0.38854780938982003,-0.3785693260906555,-0.36998528675803755,-0.3624639371837475,-0.35576050318695707,-0.3497176137366296,-0.34423110296302184,-0.3392313960634965,-0.33465154178975354,-0.3304238490904936,-0.3265163260493864,-0.32258868646795236,-0.318990874802239},
{-0.8687508819043614,-0.6262773065016063,-0.5372058674806794,-0.4880485477365255,-0.4551161485915145,-0.4326535270849945,-0.414028752982631,-0.4006040157132702,-0.38914816216629333,-0.37916194960462235,-0.3705721244518827,-0.3630445433627756,-0.356334944478931,-0.3502858339929844,-0.34479353176220684,-0.3397884833957505,-0.33520359542626466,-0.3309711353967941,-0.32705906309683996,-0.32312654095858306,-0.3195230547585197},
{-0.8690708627382264,-0.6268630261799899,-0.5378434736608142,-0.4886911429448446,-0.4557516301886153,-0.4332771021793178,-0.41464425195226795,-0.40121410404708513,-0.38975030770779995,-0.3797563595749125,-0.3711607219843245,-0.3636268895397734,-0.3569110956386794,-0.3508557422474041,-0.34535763037592915,-0.34034722426895314,-0.3357572866857481,-0.33152004323346773,-0.32760340591039494,-0.3236659844469614,-0.3200568110360109},
{-0.8693926719708998,-0.6274508194778718,-0.5384831543353812,-0.489335752472698,-0.4563890715519392,-0.4339025839867645,-0.41526161458705246,-0.4018260268840095,-0.3903542508214741,-0.3803525611428995,-0.37175108409246604,-0.3642109807019551,-0.35748896144741593,-0.35142734325609126,-0.34592340350218365,-0.3409076233601809,-0.33631262013705054,-0.33207057700974474,-0.3281493590388891,-0.32420702140325375,-0.3205921486101033},
{-0.8697163146200637,-0.6280406922426209,-0.5391249155854894,-0.48998238205717826,-0.4570284783083025,-0.43452997796930504,-0.4158808457232226,-0.4024397891780609,-0.390959996505444,-0.38095055951953327,-0.3723432159144977,-0.3647968217678681,-0.35806854661814214,-0.3520006418198136,-0.346490856129094,-0.34146968536970235,-0.33686960055501913,-0.3326227414636378,-0.32869692708663933,-0.3247496563267305,-0.32112907250848366},
{-0.8700417957766149,-0.6286326502715838,-0.539768763415168,-0.4906310374601617,-0.45766985604177535,-0.43515928946771965,-0.4165019504139309,-0.4030553959819372,-0.39156754948362504,-0.38155035966656214,-0.37293712219161534,-0.3653844178502368,-0.3586498558815947,-0.3525756426602129,-0.34705999309562685,-0.3420334151010138,-0.3374282325275999,-0.3331765410543994,-0.3292461145933885,-0.325293893565231,-0.32166758771199966},
{-0.8703691205112136,-0.6292266994823876,-0.540414703974875,-0.4912817246367922,-0.45831321043351636,-0.4357905241922708,-0.4171249337168774,-0.4036728523428792,-0.3921769148992098,-0.38215196688952346,-0.37353280791785437,-0.36597377394082287,-0.35923289396396285,-0.3531523505871519,-0.34763081922983474,-0.3425988171748031,-0.33798852082190933,-0.33373198034405505,-0.32979692616436296,-0.3258397376721405,-0.322207699422961},
{-0.8706982939165755,-0.6298228457335426,-0.5410627433252557,-0.49193444928323515,-0.458958547093971,-0.436423687542856,-0.41774980063928524,-0.4042921632621983,-0.3927880976089,-0.38275538630659867,-0.3741302781068043,-0.3665648951323419,-0.35981766566192164,-0.35373077044096135,-0.3482033395575854,-0.34316589648915397,-0.33855047009683403,-0.3342890640560654,-0.3303493664452617,-0.3263871931180802,-0.32274941271998614},
{-0.8710293211104272,-0.6304210949524531,-0.5417128875380968,-0.49258921737350647,-0.4596058716388143,-0.4370587851217351,-0.41837655624431136,-0.40491333376303373,-0.39340110259854555,-0.38336062296957607,-0.37472953761471217,-0.36715778631514695,-0.3604041757316736,-0.3543109070074024,-0.34877755877960226,-0.34373465766066147,-0.33911408506355656,-0.3348477967610961,-0.33090343997264426,-0.3269362643941349,-0.32329273260575064},
{-0.8713622072189082,-0.6310214530740268,-0.5423651428138783,-0.4932460347247343,-0.46025518985311464,-0.43769582249888117,-0.4190052056460445,-0.40553636899721823,-0.394015935014977,-0.3839676822403817,-0.3753305915065539,-0.3677524527256537,-0.36099242900672834,-0.3548927651577287,-0.34935348201679517,-0.34430510552601845,-0.3396793704537231,-0.33540818318579113,-0.3314591515363645,-0.3274869560082152,-0.323837664230723},
{-0.8716969573761162,-0.6316239260283965,-0.5430195152207489,-0.4939049071642785,-0.4609065072827434,-0.43833480509238143,-0.4196357538994562,-0.4061612739906195,-0.39463259976946574,-0.38457656909577054,-0.3759334447413494,-0.3683488992865023,-0.36158243015916014,-0.3554763496254054,-0.3499311139862584,-0.34487724491418703,-0.3402463310062558,-0.335970227832604,-0.3320165056834412,-0.32803927246095554,-0.32438421273673157},
{-0.8720335767368397,-0.6322285197682049,-0.5436760109114402,-0.49456584074118837,-0.4615598297245924,-0.4389757385993107,-0.4202682061682026,-0.4067880538582358,-0.3952511020784186,-0.3851872889317747,-0.3765381024522867,-0.3689471311527086,-0.36217418411933977,-0.35606166526167726,-0.3505104597593345,-0.3454510806182043,-0.34081497157012564,-0.3365339354468233,-0.3325755071077765,-0.3285932183866862,-0.3249323831955735},
{-0.8723720704997504,-0.6328352403318149,-0.544334636118947,-0.49522884127918587,-0.4622151628957454,-0.4396186285503063,-0.4209025675659177,-0.40741671381283595,-0.3958714470427367,-0.38579984687066826,-0.37714456958065057,-0.3695471533192176,-0.3627676956639334,-0.3566487170187429,-0.351091524241383,-0.3460266174665776,-0.34138529668598494,-0.3370993106914284,-0.3331361605173697,-0.32914879822874354,-0.3254821807049666},
{-0.8727124438235023,-0.6334440936871033,-0.544995396951208,-0.49589391471067756,-0.46287251250328154,-0.44026348059196607,-0.4215388432671716,-0.4080472588398152,-0.39649363981106944,-0.3864142481475028,-0.3777528512027857,-0.37014897086010023,-0.36336296964282155,-0.35723750964280043,-0.35167431233730895,-0.34660386033920076,-0.34195731125146267,-0.33766635832762404,-0.3336984706356816,-0.32970601667148003,-0.3260336102516703},
{-0.8730547018974448,-0.6340550858290044,-0.5456582995832377,-0.4965610669689795,-0.4635318842954348,-0.4409103002840311,-0.4221770384874617,-0.40867969421969974,-0.3971176856107377,-0.38703049802370515,-0.37836295249826435,-0.37075258892491547,-0.36396001088314733,-0.35782804807377033,-0.35225882901568184,-0.34718281402410867,-0.34253102008096903,-0.33823508299929017,-0.334262442162526,-0.3302648781482276,-0.32658667689656795},
{-0.8733988499773204,-0.6346682228736427,-0.5463233503444371,-0.4972303041224677,-0.4641932840818299,-0.4415590932781015,-0.4228171584259144,-0.40931402515798254,-0.3977435896740644,-0.3876486017707066,-0.37897487848294986,-0.37135801263957546,-0.3645588243330167,-0.35842033718336097,-0.3528450793273805,-0.3477634834930541,-0.3431064279639031,-0.33880548947308853,-0.3348280798354608,-0.3308253873378817,-0.3271413854185994},
{-0.8737448932838561,-0.6352835108252748,-0.5469905553372882,-0.4979016320739902,-0.464856717615703,-0.44220986516438643,-0.4234592082839299,-0.40995025678375896,-0.39837135733387186,-0.3882685646576647,-0.37958863439007473,-0.371965246934451,-0.36515941477091474,-0.3590143818564684,-0.35343306815275355,-0.34834587366276537,-0.34368353975696664,-0.3393775824401928,-0.3353953883988652,-0.3313875487956466,-0.3276977408891071},
{-0.8740928370446,-0.6359009557647823,-0.5476599208150219,-0.498575056800064,-0.46552219064324163,-0.44286262156447265,-0.42410319335704116,-0.4105883943502704,-0.39900099380747633,-0.38889039196965314,-0.3802042253532818,-0.3725742971228101,-0.3657617871926959,-0.3596101870766688,-0.3540228005576864,-0.3489299894067699,-0.3442623601736159,-0.3399513666945495,-0.3359643726835202,-0.3319513670849119,-0.3282557479960815},
{-0.8744426865566766,-0.6365205638292082,-0.5483314531213637,-0.4992505844393236,-0.46618970907320545,-0.4435173682504683,-0.4247491189653374,-0.4112284431248554,-0.39963250449318366,-0.3895140890103903,-0.3808216564857503,-0.37318516812320013,-0.3663659464759803,-0.36020775763927304,-0.3546142814443556,-0.349515835594957,-0.34484289406282187,-0.3405268469805378,-0.3365350373724141,-0.3325168469777964,-0.32881541154301885},
{-0.87479444707742,-0.6371423411358137,-0.5490051584199591,-0.49992822091462585,-0.4668592786431418,-0.44417411083486513,-0.42539699035069134,-0.41187040828526733,-0.4002658947661075,-0.3901396610312986,-0.38144093303571935,-0.37379786504061485,-0.36697189754977444,-0.36080709851876236,-0.3552075158718253,-0.3501034172040818,-0.345425146334037,-0.3411040280866473,-0.33710738720992595,-0.33308399286943313,-0.32937673609421836},
{-0.8751481239212353,-0.6377662938389221,-0.5496810431232007,-0.5006079723275434,-0.4675309052740886,-0.44483285501883074,-0.4260468129405126,-0.4125142952038914,-0.40090117001909675,-0.3907671134670636,-0.3820620602609779,-0.3744123931173817,-0.3675796453858311,-0.3614082147460067,-0.35580250883595,-0.3506927392295438,-0.3460091218053094,-0.34168291482774293,-0.33768142718781746,-0.33365280950374654,-0.32993972637723346},
{-0.8755037223816089,-0.6383924280521569,-0.5503591134015551,-0.5012898447607768,-0.4682045948609357,-0.4454936064366848,-0.4266985920453408,-0.4131601091871744,-0.40153833583190135,-0.39139645167779236,-0.38268504345751353,-0.37502875732252505,-0.3681891950368481,-0.36201111120817586,-0.35639926540852684,-0.3512838066826589,-0.3465948254588511,-0.3422635119750339,-0.33825716200635725,-0.33422330157645774,-0.3305043869545443},
{-0.8758612477818133,-0.6390207499682674,-0.5510393756308076,-0.5019738442313155,-0.46888035312576903,-0.44615637076594794,-0.42735233301073094,-0.4138078554765343,-0.4021773974709504,-0.39202768092081897,-0.3833098878117198,-0.3756469628419836,-0.3688005513549797,-0.36261579295614865,-0.35699779057586056,-0.35187662448788615,-0.34718226201539437,-0.3428458244043213,-0.3388345965213375,-0.33479547365823237,-0.33107072230814083},
{-0.8762207054944611,-0.6396512658193387,-0.5517218360923835,-0.502659976899622,-0.4695581860839866,-0.4468211538869582,-0.42800804140142645,-0.4144575395002903,-0.4028183605605591,-0.392660806679487,-0.3839365986505072,-0.376267014817131,-0.36941371947068546,-0.3632222649698633,-0.357598089430212,-0.35247119765654134,-0.3477714365267275,-0.3434298569331986,-0.33941373558036503,-0.33536933049481377,-0.3316387369491167},
{-0.8765821008480543,-0.6402839817826589,-0.5524065011618404,-0.5033482488399841,-0.4702380996125157,-0.44748796144676817,-0.42866572252023616,-0.4151091665980857,-0.4034612307000316,-0.3932958343439168,-0.38456518135990336,-0.37688891835614413,-0.37002870449532566,-0.3638305322801898,-0.35820016692559875,-0.3530675312722451,-0.3483623538586471,-0.34401561448157736,-0.33999458410698935,-0.3359448767655522,-0.33220843535173117},
{-0.8769454392413536,-0.6409189041200989,-0.5530933772065509,-0.5040386662012679,-0.47092009963421333,-0.4481567991610973,-0.42932538195054804,-0.4157627421191137,-0.4041060133758947,-0.3939327692992265,-0.38519564124908356,-0.3775126785253633,-0.3706455113569973,-0.3644406000212257,-0.3588040283116243,-0.3536656302949268,-0.34895501891878666,-0.3446031019216207,-0.3405771469697356,-0.336522117126151,-0.3327798219520446},
{-0.8773107260371944,-0.6415560390885275,-0.553782470628903,-0.5047312351521214,-0.47160419209558313,-0.4488276728175151,-0.429987025157061,-0.41641827154126076,-0.4047527142806757,-0.3945716170655942,-0.38582798373954574,-0.3781383005280077,-0.3712641453203105,-0.3650524731237965,-0.35940967858095973,-0.35426549989233536,-0.34954943671482397,-0.3451923240645556,-0.3411614291476326,-0.33710105639147514,-0.3333529012015788},
{-0.8776779666484344,-0.642195392922531,-0.5544737877337411,-0.5054259618143533,-0.47229038298200976,-0.44950058812446514,-0.43065065765222243,-0.41707576022599824,-0.4054013389923057,-0.39521238300449113,-0.38646221420776783,-0.37876578946361406,-0.37188461141204243,-0.36566615683341297,-0.3600171227476494,-0.35486714508169825,-0.3501456121484807,-0.34578328597081054,-0.34174743545327146,-0.3376816992181375,-0.33392767762234143},
{-0.8780471665272671,-0.6428369719735656,-0.5551673349905286,-0.5061228524286889,-0.47297867822635453,-0.4501755510282237,-0.4313162850903609,-0.417735213679407,-0.4060518931378283,-0.3958550726088106,-0.3870983379961217,-0.37939515050402406,-0.3725069148276816,-0.3662816561936779,-0.3606263659698925,-0.3554705708643269,-0.35074355016604386,-0.3463759924511578,-0.3423351708925111,-0.3382640504160008,-0.33450415560082547},
{-0.8784183310863227,-0.6434807825269218,-0.5558631187766423,-0.5068219131330807,-0.4736690838044524,-0.4508525672476935,-0.43198391294617977,-0.41839663728387677,-0.4067043824334178,-0.3964996913905452,-0.3877363607825828,-0.3800263887605979,-0.373131060808646,-0.36689897640007985,-0.3612374134077072,-0.3560757824589018,-0.35134325585931947,-0.3469704485960392,-0.34292464035934245,-0.33884811476946197,-0.33508233968404966},
{-0.8787914657773399,-0.6441268309133648,-0.5565611455235739,-0.5075231501205053,-0.4743616057230611,-0.4515316424703997,-0.43265354689856395,-0.4190600365504906,-0.4073588125097558,-0.39714624479211125,-0.3883762877899244,-0.38065950941108895,-0.37375705442627805,-0.36751812260672523,-0.3618502701929174,-0.3566827849949732,-0.35194473413275773,-0.34756665931217867,-0.34351584892056053,-0.3394338970838362,-0.3356622343899289},
{-0.8791665760825254,-0.644775123492991,-0.5572614217107912,-0.508226569739918,-0.4750562500835258,-0.4522127827044642,-0.43332519260729896,-0.4197254171303939,-0.40801518924490665,-0.39779473848830094,-0.3890181246752036,-0.38129451761642486,-0.3743849011002567,-0.3681390999940959,-0.3624649413682164,-0.35729158350068246,-0.35254799005224413,-0.34816462951539506,-0.34410880145424017,-0.3400214021453394,-0.3362438442918574},
{-0.8795436674893153,-0.6454256666318088,-0.5579639538123047,-0.5089321781379113,-0.4757530228894211,-0.45289599367561095,-0.4339988557949255,-0.4203927843536803,-0.40867351825090736,-0.39844517792425904,-0.38966187688583886,-0.38193141856390866,-0.37501460593421143,-0.36876191390410895,-0.3630814322232254,-0.35790218321517386,-0.3531530286609268,-0.3487643643820775,-0.34470350312449227,-0.34061063481203746,-0.33682717413603314},
{-0.8799227454926495,-0.6460784667287953,-0.5586687482650632,-0.5096399815961377,-0.4764519301115797,-0.4535812812578115,-0.43467454206484035,-0.4210621438292037,-0.40933380520937135,-0.3990975685178455,-0.3903075499656552,-0.38257021735398666,-0.37564617434418324,-0.36938656949632787,-0.36369974779972836,-0.35851458926663327,-0.3537598548355163,-0.3493658688457799,-0.34529995876391695,-0.34120159987833176,-0.3374122283748875},
{-0.8803038156258935,-0.6467335301895218,-0.5593758116190202,-0.5103499864042078,-0.4771529779732191,-0.4542686514541856,-0.435352257309205,-0.4217335011740033,-0.4099960560774889,-0.3997519161925993,-0.3909551495121377,-0.3832109193067481,-0.376279611629343,-0.370013072159054,-0.36431989343327587,-0.3591288068041649,-0.35436847379924075,-0.3499691480483307,-0.34589817357755237,-0.34179430239464637,-0.33799901188149306},
{-0.8806868834074066,-0.6473908634486634,-0.560085150342502,-0.5110621988542334,-0.47785617240833744,-0.45495810987722507,-0.43603200720463064,-0.4224068618750607,-0.41066027644410497,-0.4004082261831172,-0.39160468107911584,-0.38385352950035667,-0.3769149230383846,-0.3706414270350251,-0.3649418741661066,-0.35974484101006965,-0.35497889053567633,-0.350574206930105,-0.34649815251896143,-0.3423887470526097,-0.3385875294093239},
{-0.881071954388517,-0.6480504728974665,-0.5607967709145214,-0.5117766252619731,-0.4785615195878563,-0.45564966259598805,-0.4367137975636979,-0.42308223158761393,-0.4113264722009262,-0.4010665043106201,-0.3922561503063662,-0.38449805322761677,-0.3775521140505589,-0.3712716396776159,-0.3655656953515063,-0.3603626971007543,-0.35559111030397617,-0.3511810506265647,-0.34709990063311125,-0.3429849389276569,-0.33917778581508173},
{-0.8814590341758048,-0.6487123651186266,-0.5615106799973546,-0.512493271972744,-0.4792690256608694,-0.45634331550627394,-0.4373976342744754,-0.4237596159559871,-0.41199464911505856,-0.40172675619396614,-0.3929095627722745,-0.3851444956994783,-0.3781911900277919,-0.37190371534688893,-0.3661913621385793,-0.3609823803121799,-0.3562051379149125,-0.35178968424907,-0.34770342306592283,-0.3435828828000922,-0.339769785954104},
{-0.8818481283215078,-0.6493765464956596,-0.5622268840375,-0.5132121453184482,-0.47997869675282345,-0.45703907453162174,-0.43808352317864774,-0.4244390205376476,-0.412664812937237,-0.40238898738243734,-0.39356492418346534,-0.38579286212143415,-0.3788321564315993,-0.3725376594966292,-0.3668188798187657,-0.36160389586666497,-0.35682097859444184,-0.35240011298037643,-0.3483087248432639,-0.3441825837962824,-0.34036353484952997},
{-0.8822392424178815,-0.6500430235328167,-0.5629453896069663,-0.513933251573917,-0.4806905389614258,-0.45773694555646216,-0.43877147014609363,-0.42512045109606333,-0.41333696950096055,-0.40305320364950603,-0.39422224016470864,-0.3864431577471805,-0.37947501859662225,-0.37317347749740293,-0.36744825359619426,-0.36222724896151703,-0.35743863751167737,-0.3530123418486255,-0.34891581119472903,-0.34478404673609475,-0.34095903749675927},
{-0.8826323821074311,-0.6507118028309833,-0.5636662034544315,-0.5146565972788721,-0.4814045585681015,-0.45843693463348245,-0.4394614811790234,-0.42580391325054734,-0.4140111246219931,-0.4037194106363131,-0.3948815164562802,-0.38709538794000764,-0.38011978211488895,-0.3738111748839401,-0.368079488911917,-0.3628524449213728,-0.3580581198020809,-0.3536263761202463,-0.34952468714936913,-0.34538727668677893,-0.3415562988689089},
{-0.8830275530135623,-0.6513828908484811,-0.5643893319895597,-0.5153821887377035,-0.4821207616664651,-0.4591390476180095,-0.440153562159594,-0.42648941264951645,-0.41468728413246936,-0.40438761400218937,-0.39554275874297673,-0.3877495579454262,-0.38076645233513773,-0.37445075706909847,-0.368712590989162,-0.3634794889585464,-0.35867943063931307,-0.35424222079427636,-0.35013535791267714,-0.34599227854414494,-0.34215532419057126},
{-0.8834247608131136,-0.6520562941934713,-0.5651147819489779,-0.5161100323541632,-0.4828391544974693,-0.4598432904731453,-0.44084771912548604,-0.42717695505098163,-0.41536545377903167,-0.4050578195683556,-0.3962059727527958,-0.38840567292891137,-0.3814150348221119,-0.3750922295453165,-0.36934756511436717,-0.3641083864231405,-0.3593025751101777,-0.3548598811339616,-0.3507478285682737,-0.34659905734315544,-0.3427561184771548},
{-0.8838240111272171,-0.6527320194261392,-0.5658425599192469,-0.516840134626591,-0.4835597432952454,-0.46054966936299024,-0.4415439580889142,-0.42786654624205767,-0.41604563936743943,-0.4057300329932332,-0.39687116417553625,-0.38906373841382447,-0.3820655351023561,-0.37573559790507716,-0.36998441667310544,-0.3647391424601665,-0.359927558421532,-0.3554793624539343,-0.35136210434393433,-0.34720761818061874,-0.34335868711241346},
{-0.8842253096834156,-0.6534100731064427,-0.5665726725458171,-0.5175725018777939,-0.4842825342161632,-0.4612581901519661,-0.44224228510120156,-0.42855819181068,-0.4167278467120923,-0.4064042600666653,-0.3975383389165472,-0.3897237595583647,-0.3827179586969578,-0.37638086758670397,-0.3706231510145699,-0.36537176250340053,-0.36055438581479393,-0.3561006698005258,-0.35197819034101485,-0.347817965960985,-0.3439630353036591},
{-0.8846286621683248,-0.6540904619473622,-0.5673051265562208,-0.5183071406870567,-0.48500753364260163,-0.4619688589209545,-0.4429427062686955,-0.42925189771131045,-0.4174120816778668,-0.4070805065452987,-0.3982075026633538,-0.39038574186542974,-0.38337231117202464,-0.3770280442013245,-0.37126377355571094,-0.36600625187338665,-0.36118306248454246,-0.35672380855248775,-0.35259609194054065,-0.34843010584290823,-0.3445691682222787},
{-0.885034074287887,-0.6547731924583786,-0.5680399285586191,-0.5190440574976947,-0.4857347477686744,-0.4626816816489736,-0.4436452276604541,-0.42994766957963293,-0.41809835006188223,-0.40775877825171847,-0.39887866123126514,-0.391049690631462,-0.3840285980099907,-0.3776771333141369,-0.3719062897080221,-0.3666426158874856,-0.36181359375177635,-0.35734878379753354,-0.3532158142534172,-0.34904404279404844,-0.3451770912979555},
{-0.8854415517942016,-0.6554582713672517,-0.5687770853141956,-0.5197832587637095,-0.4864641828676213,-0.4633966644460088,-0.44434985537282046,-0.43064551327779554,-0.41878665753984023,-0.40843908093347636,-0.39955182048379356,-0.3917156112224802,-0.384686824813798,-0.3783281405785601,-0.3725507048293366,-0.3672808598425945,-0.3624459846755599,-0.3579756009276025,-0.35383736247467823,-0.3496597819566887,-0.3457868099417283},
{-0.8858511004343654,-0.6561457052969217,-0.5695166034804515,-0.5205247510430127,-0.48719584529771964,-0.46411381341795277,-0.4450565957722574,-0.4313454346342951,-0.4194770100330061,-0.4091214204568132,-0.4002269862526191,-0.39238350914683906,-0.3853469972086714,-0.3789810715375097,-0.3731970244166405,-0.3679209891593018,-0.36308024068694067,-0.3586042652132164,-0.35446074197261623,-0.3502773284012619,-0.3463983294523132},
{-0.886262725989809,-0.6568355009944753,-0.5702584898410805,-0.5212685408141624,-0.4879297413444874,-0.4648331346661507,-0.4457654548532446,-0.43204743948626856,-0.4201694133598721,-0.4098058026866056,-0.4009041643630553,-0.3930533897159876,-0.386009120783001,-0.37963593183712874,-0.3738452538786987,-0.36856300921681395,-0.36371636698277143,-0.359234781986288,-0.3550859579600001,-0.35089668731779966,-0.34701165547312485},
{-0.8866764342558326,-0.6575276650917203,-0.5710027511336193,-0.5220146346969159,-0.48866587736711153,-0.46555463415324994,-0.4464764389076663,-0.4327515336462966,-0.4208638732775398,-0.4104922334395269,-0.401583360683162,-0.39372525850376405,-0.38667320109016146,-0.3802927271071894,-0.374495398797535,-0.3692069253556838,-0.3643543689249782,-0.3598671566046505,-0.355713015724632,-0.3515178637894678,-0.3476267932283008},
{-0.8870922309858997,-0.6582222043723505,-0.5717493941122029,-0.5227630392182618,-0.48940425970158685,-0.4662783181361192,-0.44718955428334084,-0.433457723065203,-0.4215603956322411,-0.41118071866003447,-0.40226458122197073,-0.3943991209016531,-0.3873392438040355,-0.38095146302066496,-0.37514746463921256,-0.36985274300059245,-0.3649942518259195,-0.36050139416647653,-0.35634192058796543,-0.35214086302949,-0.34824374843265105},
{-0.8875101220469332,-0.6589191255031892,-0.5724984255932668,-0.5235137609488447,-0.49014489482078716,-0.46700419270791826,-0.4479048071825673,-0.43416601363287555,-0.42225898623837566,-0.4118712642166429,-0.40294783178524085,-0.3950749824016384,-0.3880072545216535,-0.3816121452960033,-0.3758014568488761,-0.3705004676730823,-0.36563602106389226,-0.36113750044569315,-0.35697267788509635,-0.35276569024244964,-0.3488625266681993},
{-0.8879301132769797,-0.6596184353052195,-0.5732498523068443,-0.5242668065066027,-0.49088778897112206,-0.46773226402183354,-0.44862220395862096,-0.43487641117962994,-0.42295965080757014,-0.4125638759192043,-0.403633118279231,-0.395752848543907,-0.3886772389150792,-0.3822747795002215,-0.37645738099809023,-0.3711501046491321,-0.366279681787546,-0.3617754804722608,-0.357605292979315,-0.3533923506042811,-0.3494831333437105},
{-0.8883522105193151,-0.6603201405459913,-0.5740036811437221,-0.5250221825008339,-0.4916329486259201,-0.4684625383288221,-0.4493417509374922,-0.43558892170267427,-0.4236623952838272,-0.41325855987633986,-0.40432044681119805,-0.3964327248572772,-0.38934920262227024,-0.3829393713913305,-0.3771152427289053,-0.3718016594607434,-0.3669252396757656,-0.36241533982774854,-0.3582397711261365,-0.35402084961606306,-0.35010557421037447},
{-0.888776419641772,-0.6610242479714543,-0.574759918870086,-0.5257798955040016,-0.4923803802162183,-0.46919502164428195,-0.45006345449019136,-0.4363035511846647,-0.4243672254201556,-0.4139553218637957,-0.40500982315097644,-0.39711461690967553,-0.3900231512757273,-0.3836059267100609,-0.37777504756513736,-0.37245513757716253,-0.3675726999440485,-0.36305708390136715,-0.3588761178621098,-0.3546511923932485,-0.3507298549075131},
{-0.8892027465458341,-0.6617307644341963,-0.5755185724015064,-0.5265399522631924,-0.49313009019033416,-0.46992972032967373,-0.45078732101819696,-0.43702030560552885,-0.4250741470777939,-0.4146541680447626,-0.40570125336626006,-0.397798530198088,-0.3906990905729799,-0.3842744510566263,-0.3784368010228718,-0.3731105444167042,-0.36822206812712466,-0.36370071807323257,-0.35951433847822045,-0.35528338438552964,-0.351355981110828},
{-0.8896311971427622,-0.6624396967583834,-0.5762796485412309,-0.5273023593745165,-0.49388208506206865,-0.4706666405768374,-0.45151335693253714,-0.43773919092336655,-0.425783166067049,-0.41535510428002453,-0.40639474349336524,-0.3984844704314128,-0.39137702617472314,-0.3849449503154574,-0.37910050892196523,-0.37376788556230167,-0.36887334959146756,-0.36434624784988046,-0.3601544385087436,-0.3559174309316404,-0.35198395861607423},
{-0.8900617773451813,-0.6631510517386232,-0.577043154175044,-0.5280671235482259,-0.49463637117014514,-0.47140578854396153,-0.4522415687274588,-0.43846021313993333,-0.4264942881609386,-0.4160581365149483,-0.40709029939898755,-0.39917244306298016,-0.39205696370072474,-0.3856174300931343,-0.3797661766384408,-0.3744271664381813,-0.36952654975402766,-0.3649936786910075,-0.36079642324057204,-0.35655333741124196,-0.35261379302573914},
{-0.8904944931121008,-0.6638648363036737,-0.577809096287865,-0.5288342515077602,-0.4953929551647889,-0.47214717068527534,-0.452971962914944,-0.4391833783852235,-0.42720751933620704,-0.4167632709695681,-0.40778792728588087,-0.3998624537998694,-0.39273890902222774,-0.38629189628818494,-0.3804338100731002,-0.3750883926450115,-0.37018167423320847,-0.3656430161413482,-0.3614402982966567,-0.35719110941454346,-0.35324549030019625},
{-0.8909293504016205,-0.6645810572956634,-0.5785774816870344,-0.5296037498987971,-0.49615184343156216,-0.47289079299025616,-0.45370454587236964,-0.4399086926559903,-0.42792286529538615,-0.41747051344555075,-0.40848763309350034,-0.4005545082009121,-0.3934228676735074,-0.3869683545131011,-0.38110341474339293,-0.37575156960065215,-0.37083872841731136,-0.3662942655346342,-0.36208606912668984,-0.35783075225936045,-0.3538790561278802},
{-0.8913663551581976,-0.6652997215724099,-0.5793483173326877,-0.5303756255179906,-0.496913042581582,-0.4736366619845285,-0.4544393243008926,-0.44063616205085054,-0.42864033203159124,-0.41817987023478054,-0.4091894228986348,-0.40124861213189433,-0.3941088454353121,-0.3876468105713684,-0.3817749964359791,-0.3764167030012686,-0.37149771802660325,-0.3669474325424744,-0.36273374107486234,-0.35847227160547845,-0.3545144963018174},
{-0.8918055134340648,-0.6660208361120112,-0.5801216102288436,-0.5311498850978751,-0.4976765591932235,-0.4743847838954025,-0.45517630462336456,-0.44136579267842535,-0.4293599253173852,-0.41889134726079646,-0.40989330278489433,-0.4019447710065833,-0.39479684807429294,-0.3883272703073999,-0.382448560767898,-0.37708379824380245,-0.37215864843074087,-0.367602522731886,-0.3633833198591674,-0.3591156728630267,-0.355151816698708},
{-0.8922468312032379,-0.6667444077975233,-0.580897367267653,-0.5319265354232812,-0.49844239978619953,-0.4751351650907054,-0.4559154935013794,-0.4420975906446074,-0.4300816510808545,-0.41960495069315584,-0.4105992788122421,-0.4026429906575686,-0.3954868812465975,-0.3890097395369594,-0.3831241135512755,-0.37775286098576544,-0.3728215251776419,-0.36825954151618134,-0.36403481095157986,-0.35976096167860305,-0.3557910232016184},
{-0.8926903145013512,-0.6674704435736203,-0.5816755954465407,-0.5327055832176484,-0.4992105708765848,-0.4758878118627763,-0.45665689755060157,-0.4428315621121328,-0.4308055151673216,-0.42032068666276245,-0.4113073571579662,-0.4033432767391787,-0.3961789507957292,-0.38969422399304676,-0.3838016605050143,-0.37842389690740674,-0.37348635397984253,-0.36891849461380843,-0.3646882199082029,-0.36040814365651386,-0.35643212164450233},
{-0.8931359693831382,-0.6681989504534158,-0.5824563018454683,-0.5334870353908627,-0.4999810792487551,-0.47664273065129237,-0.4574005233889693,-0.44356771334423684,-0.43153152348122603,-0.42103856119274496,-0.41201754392068324,-0.4040456349989654,-0.39687306241785336,-0.3903807295982915,-0.3844812074185029,-0.37909691144159297,-0.3741531403702538,-0.3695793875763229,-0.3653435522728614,-0.3610572244597279,-0.3570751178003775},
{-0.8935838019281164,-0.6689299353461138,-0.583239493366591,-0.5342708986986509,-0.5007539314015048,-0.47739992781589535,-0.45814637765033694,-0.44430605039860893,-0.43225968199794806,-0.421758580653659,-0.41272984522356637,-0.40475007116310735,-0.3975692218950826,-0.3910692620197551,-0.3851627600579377,-0.3797719103667987,-0.3748218900723259,-0.37024222597074186,-0.36600081370897897,-0.3617082095775004,-0.3577200175991493},
{-0.8940338182151208,-0.6696634053018897,-0.5840251771387557,-0.5350571799949648,-0.5015291339614123,-0.4781594096025401,-0.45889446701357883,-0.44504657953257265,-0.43298999645958247,-0.4224807509681341,-0.413444267214345,-0.4054565908936638,-0.3982674349676927,-0.3917598272428222,-0.3858463241840582,-0.38044889922639413,-0.37549260850573773,-0.37090701539409565,-0.3666600097017181,-0.36236110478739647,-0.3583668268029214},
{-0.8944860243414041,-0.6703993672774686,-0.5848133601737118,-0.5358458861601321,-0.5023066937014846,-0.47892118273966844,-0.45964479823760485,-0.44578930705529274,-0.4337224729497393,-0.42320507855401956,-0.4141608161262411,-0.40616520008779844,-0.3989677075583131,-0.39245243115510675,-0.3865319056944827,-0.3811278836783458,-0.37616530157447414,-0.37157376157074395,-0.3673211460600214,-0.3630159158665265,-0.35901555136160823},
{-0.8949404264158147,-0.6711378282991518,-0.5856040494818444,-0.5366370239962635,-0.5030866171618982,-0.4796852535137077,-0.4603973780681372,-0.446534239135417,-0.4344571173874101,-0.4239315695103869,-0.41487949818929337,-0.4068759044776016,-0.39967004541404094,-0.393147079508708,-0.387219510392697,-0.3818088693606114,-0.3768399748587399,-0.37224247018593815,-0.3679842282858772,-0.3636726484896826,-0.3596661972119364},
{-0.8953970306076826,-0.6718787954823711,-0.5863972522308813,-0.537430600490552,-0.5038689111279382,-0.48045162836888267,-0.4611522132358914,-0.4472813821894306,-0.4351939356984076,-0.424660230083191,-0.41560031956760213,-0.40758870976787875,-0.4003744543474568,-0.3938437783044719,-0.38790914414812505,-0.38249186209986874,-0.37751663404196734,-0.3729131468799096,-0.36864926212820137,-0.3643313084062356,-0.36031876998731605},
{-0.8958558430304038,-0.6726222757981759,-0.5871929754923713,-0.5382266225351486,-0.5046535823139493,-0.4812203138112636,-0.4619093105270622,-0.44803074240599017,-0.4359329339135911,-0.42539106657886805,-0.41632328645528105,-0.40830362191582026,-0.4010809402625455,-0.39454253335679823,-0.38860081284883563,-0.38317686743448576,-0.3781952848621586,-0.37358579729561825,-0.36931625319721206,-0.36499190135782555,-0.36097327570359994},
{-0.8963168699083326,-0.6733682763688194,-0.5879912264233553,-0.5390250970608577,-0.5054406374742939,-0.4819913162668854,-0.46266867664508027,-0.4487823261088124,-0.4366741178278062,-0.4261240852215451,-0.417048405186506,-0.4090206466298696,-0.40178950891959175,-0.39524335062242244,-0.38929452225147543,-0.38386389124252673,-0.3788759331127949,-0.37426042722790953,-0.36998520727820505,-0.365654433209329,-0.36162972017882566},
{-0.8967801173844236,-0.6741168042701702,-0.5887920120685521,-0.5398260309502803,-0.5062300833342306,-0.4827646423977967,-0.4634303185994213,-0.4495361396661792,-0.43741749362834526,-0.42685929230083275,-0.4177756820045033,-0.4097397898458439,-0.40250016618983864,-0.3959462359362078,-0.38999027839872724,-0.3845529391260243,-0.37955858450050073,-0.3749370423588516,-0.3706561300209614,-0.3663189097542272,-0.3622881091559975},
{-0.897245591728506,-0.6748678666360775,-0.5895953396852747,-0.5406294312306272,-0.5070219266131062,-0.48354029871279636,-0.46419424309306123,-0.45029218949093774,-0.43816306724011156,-0.4275966941108891,-0.4185051231743273,-0.41046105728310067,-0.4032129181773598,-0.3966511953153713,-0.3906880871695648,-0.38524401686390775,-0.38024324481739313,-0.37561564851375806,-0.3713290270725338,-0.3669853369133307,-0.3629484487642003},
{-0.8977132991394683,-0.6756214705535513,-0.5904012163703101,-0.5414353049031888,-0.5078161741907934,-0.4843182916920341,-0.46496045700996547,-0.4510504819172638,-0.43891084469851194,-0.42833629695041964,-0.4192367350542554,-0.4111844549465786,-0.40392777052102247,-0.3973582347430238,-0.3913879544693373,-0.38593713027239573,-0.3809299198373992,-0.3762962514351784,-0.3720039042982535,-0.36765372056925116,-0.36361074445585473},
{-0.8981832458446206,-0.6763776231794054,-0.5912096493805166,-0.5422436589828976,-0.5086128328566701,-0.48509862795162917,-0.4657289672895786,-0.45181102340757207,-0.43966083210943907,-0.4290781072536447,-0.419970523882057,-0.41190998867114104,-0.40464472933535944,-0.39806736009722954,-0.392089886274789,-0.38663228507994063,-0.381618615474963,-0.3769788568151853,-0.3726807674174779,-0.368324066666446,-0.3642750023591361},
{-0.8986554381451697,-0.6771363316536281,-0.5920206459036308,-0.5430545004164742,-0.5094119095010683,-0.4858813140417624,-0.46649978082359667,-0.4525738203792571,-0.44041303547601274,-0.4298221313133581,-0.42070649616516675,-0.41263766436759397,-0.40536380048706633,-0.39877857752208,-0.3927938885403819,-0.38732948719871274,-0.3823093374576274,-0.37766347070692063,-0.37335962214774554,-0.36899638107479404,-0.36494122823023645},
{-0.899129882320949,-0.6778976031957882,-0.5928342131128375,-0.5438678363248073,-0.5102134108583414,-0.4866663566722309,-0.46727290450280634,-0.4533388792669939,-0.4411674608768408,-0.43056837543417714,-0.42144465808905807,-0.4133674879499267,-0.40608499002883036,-0.3994918928683546,-0.39349996715100133,-0.3880287423662594,-0.3830020917694128,-0.37835009870514114,-0.3740404742352439,-0.3696706698392518,-0.36560942782034545},
{-0.8996065846654346,-0.6786614449363242,-0.5936503583234298,-0.5446836737351077,-0.5110173438561105,-0.48745376250826666,-0.4680483453034867,-0.45410620656139145,-0.44192411454241665,-0.4313168461244459,-0.4221850161598013,-0.41409946536032294,-0.4068083039474004,-0.4002073122483125,-0.39420812826074325,-0.3887300564247198,-0.38369688416059944,-0.3790387467911387,-0.3747233295312071,-0.37034693901432547,-0.3662796071221237},
{-0.9000855514957493,-0.6794278640838911,-0.5944690887190518,-0.545502019684136,-0.5118237153815244,-0.4882435380268362,-0.46882611015143993,-0.4548758087535134,-0.44268300243084013,-0.4320675495823707,-0.42292757669656567,-0.41483360263509894,-0.4075337482549912,-0.4009248417164599,-0.39491837780360584,-0.38943343522851137,-0.3843937206629562,-0.37972942089299977,-0.37540819385958457,-0.37102519465770456,-0.36695177184128625},
{-0.9005667891633493,-0.6801968678905723,-0.5952904116711579,-0.5463228813455316,-0.5126325324140453,-0.48903569005915415,-0.4696062059797441,-0.45564769242355396,-0.44344413087674184,-0.4328204924599959,-0.4236723461140173,-0.41556990576918906,-0.4082613290252084,-0.40164448723680835,-0.39563072175360503,-0.3901388846907139,-0.38509260720138627,-0.3804221267214416,-0.37609507289243993,-0.3717054427916082,-0.3676259276826386},
{-0.9010503040456115,-0.6809684635591111,-0.5961143344129596,-0.5471462658260862,-0.5134438018039873,-0.48983022517495556,-0.47038863995476277,-0.4564218640307445,-0.4442075059828312,-0.4335756810642124,-0.42441933097961737,-0.41630838061291797,-0.40899105230573696,-0.4023662550066547,-0.39634516619980786,-0.3908464107753389,-0.3857935496180289,-0.38111687034779607,-0.37678397264517116,-0.3723876895619469,-0.3683020807138746},
{-0.9015361024708,-0.6817426583513679,-0.5969408642563394,-0.5479721802389577,-0.5142575305294486,-0.49062715021909753,-0.47117341889497766,-0.45719833012208255,-0.4449731340209837,-0.43433312172737715,-0.42516853751931194,-0.4170490333294765,-0.4097229242938738,-0.4030901510914191,-0.39706171712350624,-0.3915560193354395,-0.38649655395875016,-0.3818136577106088,-0.37747489874845996,-0.37307194095046725,-0.3689802365097421},
{-0.9020241908913249,-0.6825194595392077,-0.5977700086318691,-0.5488006317614236,-0.5150737255826243,-0.49142647194867095,-0.47196054997493775,-0.45797709743328596,-0.44574102117894654,-0.4350928211574683,-0.4259199724742757,-0.41779186994472184,-0.41045695115917624,-0.40381618172068556,-0.3977803807397322,-0.39226771635549085,-0.3872016262530451,-0.38251249475433724,-0.3781678573463978,-0.373758203354555,-0.36966040100332975},
{-0.9025145757020709,-0.6832988744081376,-0.5986017747372898,-0.5496316275152822,-0.515892393879767,-0.49222819687338415,-0.47275004009134136,-0.4587581723671974,-0.4465111737963525,-0.43585478552813584,-0.42667364208273284,-0.41853689654635673,-0.41119313898525434,-0.40454435281981205,-0.3985011629456494,-0.39298150773311136,-0.3879087723385055,-0.38321338744526656,-0.37886285397371466,-0.37444648272912673,-0.3703425799112665},
{-0.9030072633165673,-0.6840809102170624,-0.5994361700318223,-0.5504651747678508,-0.5167135425172091,-0.4930323319872514,-0.4735418964114615,-0.4595415617072831,-0.44728359821374397,-0.43661902151643517,-0.4274295529057781,-0.4192841193075765,-0.41193149404398355,-0.4052746707538972,-0.3992240699958529,-0.3936973994409527,-0.38861799843925837,-0.38391634176059597,-0.37955989462761863,-0.37513678542472917,-0.37102677900020353},
{-0.9035022602231493,-0.6848655743290237,-0.6002732019574069,-0.551301280696407,-0.5175371785448988,-0.4938388840000698,-0.47433612598160835,-0.4603272720073619,-0.44805830081941167,-0.4373855356138847,-0.42818771160955293,-0.4200335441860261,-0.4126720225895042,-0.4060071416424762,-0.39994910796394834,-0.39441539769859446,-0.38932931055251174,-0.3846213638171321,-0.38025898530895574,-0.3758291175768136,-0.37171300409136165},
{-0.9039995728844588,-0.6856528740634076,-0.6011128778231978,-0.5521399525191555,-0.5183633089873183,-0.4946478597616988,-0.4751327358380877,-0.4611153099622243,-0.44883528789659977,-0.43815433428744655,-0.4289481244459239,-0.42078517745494537,-0.4134147309241598,-0.40674177174696524,-0.4006762829003492,-0.3951355083445378,-0.39004271462499673,-0.38532845961572093,-0.38096013185349875,-0.3765234853990478,-0.37240126088545367},
{-0.9044992077542702,-0.6864428167255028,-0.601955205057493,-0.5529811974861332,-0.519191940840301,-0.49545926606060675,-0.47593173310178827,-0.46190568227848416,-0.4496145660091315,-0.4389254240777518,-0.42971079821290914,-0.42153902528025355,-0.41415962531664263,-0.407478567351518,-0.401405600977796,-0.39585773751150555,-0.3907582168999397,-0.3860376351717605,-0.3816633402689149,-0.37721989515694077,-0.373091555398787},
{-0.9050011713975437,-0.6872354097481548,-0.6028001911845422,-0.553825022961064,-0.5200230813275084,-0.49627310979667527,-0.47673312486631403,-0.462698395663665,-0.4503961415853155,-0.43969881149268986,-0.43047573943977113,-0.42229509394246634,-0.4149067122366432,-0.4082175346097756,-0.4021370684381509,-0.3965820913595053,-0.3914758234045621,-0.38674889675758095,-0.3823686163545972,-0.3779183532183197,-0.3737838930901489},
{-0.9055054703337646,-0.6880306604548423,-0.6036478436412835,-0.5546714361285012,-0.5208567374952509,-0.4970893977997548,-0.4775369182716531,-0.46349345682483545,-0.45118002122353573,-0.44047450316247705,-0.43124295456937034,-0.4230533896934503,-0.4156559979123813,-0.40895867987728707,-0.4028706914200484,-0.3973085758598245,-0.3921955402756794,-0.3874622502848979,-0.38307596610911787,-0.3786188656331433,-0.3744782798162305},
{-0.9060121110685486,-0.6888285762504438,-0.6044981699169512,-0.5555204443394359,-0.5216929165385409,-0.49790813684421664,-0.47834312039003635,-0.46429087258866275,-0.4519662114253151,-0.4412525056472987,-0.43201245025602475,-0.4238139186550143,-0.4164074888499272,-0.409702009481407,-0.40360647604848054,-0.39803719726751297,-0.3929173736623852,-0.3881777019555557,-0.383785395627001,-0.3793214388483648,-0.3751747213568706},
{-0.9065211002191518,-0.6896291645646215,-0.6053511774730396,-0.5563720549648679,-0.52253162558236,-0.4987293340891483,-0.47915173845149184,-0.4650906496472089,-0.45275471893410213,-0.4420328255782806,-0.4327842330972089,-0.42457668735005427,-0.41716119151215025,-0.4104475298113357,-0.40434442857713293,-0.3987679617075628,-0.39364132971422805,-0.3888952579372926,-0.3844969108181431,-0.38002607910721053,-0.3758732234086892},
{-0.9070324443484878,-0.6904324327506401,-0.6062068738388007,-0.5572262752702954,-0.5233728717144004,-0.49955299628709326,-0.47996277941911103,-0.4658927947957636,-0.4535455502768855,-0.4428154693723627,-0.4335583096622031,-0.4253417019481276,-0.4179171123173546,-0.4111952470957476,-0.40508455524741294,-0.3995008753199727,-0.3943674146539706,-0.3896149242982574,-0.3852105176670193,-0.38073279260015624,-0.37657379177608163},
{-0.907546150098824,-0.6912383883959592,-0.6070652666048773,-0.5580831127044803,-0.5242166622506375,-0.5003791304152401,-0.48077625060432183,-0.4666973148946454,-0.45433871223758615,-0.4436004438202872,-0.43433468671582887,-0.42610896899032014,-0.4186752578511914,-0.41194516782843493,-0.4058268623107324,-0.40023594439480803,-0.3950956345547638,-0.39033670743037874,-0.3859262223636506,-0.3814415858269058,-0.377276432135659},
{-0.9080622240480807,-0.6920470388288322,-0.6079263633091614,-0.5589425746420602,-0.5250630044297395,-0.501207743465784,-0.4815921591548431,-0.4675042167891661,-0.45513421170880974,-0.44438775551634535,-0.43511337072641254,-0.4268784948594657,-0.4194356346133645,-0.4126972983917767,-0.40657135601668415,-0.40097317505706087,-0.3958259958799317,-0.3910606133094916,-0.38664403082475474,-0.3821524650020365,-0.3779811501931363},
{-0.9085806728689931,-0.6928583915714626,-0.6087901715318367,-0.5598046685054214,-0.5259119054167058,-0.5020388422954056,-0.4824105120951572,-0.4683135073696576,-0.4559320553512407,-0.44517741102026775,-0.43589436838328766,-0.42765028594203613,-0.4201982491117633,-0.4134516452118078,-0.40731804258621196,-0.4017125736691014,-0.39655850465214826,-0.3917866482261161,-0.38736394917759753,-0.3828654364774593,-0.3786879518065689},
{-0.909101503206557,-0.6936724541278636,-0.6096566988535415,-0.5606694016787515,-0.526763372548885,-0.5028724340804729,-0.48323131677989295,-0.46912519339366554,-0.45673225013524643,-0.4459694170673174,-0.4366776863025734,-0.42842434877866253,-0.42096310801298387,-0.4142082147232031,-0.40806692833712077,-0.4024541464896174,-0.39729316721513896,-0.3925148183889178,-0.3880859835771844,-0.38358050654551334,-0.3793968424333798},
{-0.9096247217698874,-0.694489233956574,-0.6105259529203977,-0.5615367816485559,-0.527617413005828,-0.5037085258372827,-0.484054580236716,-0.46993928193569445,-0.4575348030484747,-0.4467637802704303,-0.4374633312527294,-0.4292006899199805,-0.4217302179940816,-0.4149670134338521,-0.4088180196013127,-0.40319789968179975,-0.3980299898885278,-0.39324513021210805,-0.3888101400193591,-0.3842976815390102,-0.3801078281453556},
{-0.9101503352728741,-0.6953087386805237,-0.6113979413667039,-0.562406815938175,-0.5284740341921861,-0.5045471245184672,-0.48488030978614916,-0.4707557798283233,-0.45833972093942066,-0.44756050731621144,-0.43825130981076654,-0.42997931581203375,-0.42249958558977596,-0.4157280478498251,-0.40957132269431895,-0.4039438396953301,-0.39876897887188534,-0.39397758972609154,-0.3895364248628539,-0.38501696788762274,-0.3808209143126078},
{-0.9106783503955285,-0.6961309757491563,-0.6122726718858758,-0.5632795119604452,-0.5293332434621334,-0.5053882372280896,-0.485708512544079,-0.4715746940637473,-0.4591470109976399,-0.4483596049503831,-0.4390416286632899,-0.43076023326011637,-0.4232712175175948,-0.41649132446536896,-0.41032684396896,-0.40469197275251645,-0.3995101406753747,-0.39471220326549883,-0.39026484407349926,-0.3857383720405778,-0.38153610695962925},
{-0.9112087739013077,-0.6969559527565252,-0.6131501521413156,-0.5641548773533032,-0.5301950481471067,-0.5062318709642568,-0.4865391957241627,-0.47239603164825894,-0.4599566803149173,-0.44916107976359854,-0.4398342945405602,-0.43154344859703997,-0.42404512041821363,-0.4172568499152476,-0.41108458967573824,-0.4054423053635219,-0.40025348138533445,-0.39544897721407324,-0.3909954039563672,-0.38646190016652326,-0.3822534116711722},
{-0.9117416125841373,-0.6977836773005492,-0.6140303898300772,-0.5650329195141239,-0.5310594555580792,-0.5070780330515845,-0.4873723665396028,-0.4732197995581373,-0.46076873595075085,-0.4499649384733857,-0.4406293140300477,-0.4323289686849421,-0.4248213010459949,-0.41802463059730144,-0.41184456629252963,-0.4061948437611136,-0.40099900755649287,-0.3961879178059462,-0.39172811070466196,-0.3871875587988143,-0.3829728342366252},
{-0.912276873183373,-0.6986141569338997,-0.614913392667404,-0.5659136461035814,-0.5319264731065232,-0.5079267304736277,-0.48820803219496156,-0.4740460048615205,-0.4615831851665462,-0.45077118785911807,-0.44142669395341727,-0.43311680009401243,-0.4255997661280162,-0.4187946732840828,-0.41260678010939955,-0.4069495944618211,-0.40174672557805025,-0.3969290312720659,-0.39246297052704904,-0.3879153541897722,-0.3836943805417832},
{-0.9128145625263642,-0.699447399287692,-0.6157991683853652,-0.5667970646268259,-0.5327961082407455,-0.5087779703462729,-0.48904619989571074,-0.47487465454605626,-0.46240003520051687,-0.4515798345787516,-0.44222644097226294,-0.43390694964591603,-0.4263805224859425,-0.41956698449666874,-0.4133712376965377,-0.40770656377935666,-0.40249664170187316,-0.39767232417716514,-0.39319998981545723,-0.3886452930619271,-0.3844180562182373},
{-0.913354687419087,-0.7002834120185071,-0.616687724804251,-0.5676831827427122,-0.5336683684477066,-0.5096317599227405,-0.48988687688415666,-0.47570575577901764,-0.4632192934941486,-0.4523908854621368,-0.4430285617404479,-0.43469942404590256,-0.42716357678818895,-0.42034157077205236,-0.4141379453094487,-0.4084657582816362,-0.4032487626209331,-0.3984178026189511,-0.39393917463848993,-0.389377381500708,-0.3851438671586038},
{-0.9138972547229969,-0.7011222027447275,-0.6175790696997865,-0.5685720080637111,-0.5345432611652541,-0.5104881063398352,-0.4907300704780937,-0.47653931564536833,-0.4640409672847454,-0.45320434722771097,-0.443833063027796,-0.43549422997375586,-0.4279489358355022,-0.42111843903967383,-0.41490690948512565,-0.40922718444790007,-0.4040030945620856,-0.39916547308121153,-0.3946805315626989,-0.3901116261658899,-0.38587181912862434},
{-0.9144422712931828,-0.7019637790829165,-0.6184732108049502,-0.569463548240492,-0.5354207937889441,-0.5113470168571439,-0.491575787731108,-0.4773753412714541,-0.46486506402561645,-0.45402022657617636,-0.4446399514795303,-0.4362913743043464,-0.42873660648319856,-0.42189759566326757,-0.41567813664914866,-0.4099908486300592,-0.40475964404640763,-0.3999153418831156,-0.39542406672535435,-0.3908480333411717,-0.3866019179286013},
{-0.9149897440136101,-0.7028081488178941,-0.6193701560760019,-0.5703578109387308,-0.5363009739244262,-0.512208498721975,-0.49242403607468077,-0.4782138398304596,-0.46569159119599135,-0.45483853047198863,-0.4454492339468743,-0.4370908637793036,-0.4295265955315699,-0.42267904756135977,-0.4164516333080428,-0.41075675754564145,-0.4055184176881994,-0.4006674154038592,-0.39616978669391756,-0.39158660969224,-0.38733416954119093},
{-0.9155396797932553,-0.7036553195548549,-0.6202699132477392,-0.571254803795,-0.5371838090081837,-0.5130725590975089,-0.4932748226210606,-0.4790548185142143,-0.4665205563364907,-0.4556592655053464,-0.44626091714053473,-0.43789270530578506,-0.4303189098186522,-0.42346280129368097,-0.41722740589420937,-0.4115249175365534,-0.40627942183846244,-0.40142170011813505,-0.39691769775163266,-0.39232736146686875,-0.3880685797194019},
{-0.9160920855322274,-0.7045052990690692,-0.6211724902245805,-0.5721545345681989,-0.5380693067077118,-0.51393920537339,-0.49412815476216565,-0.4798982845795763,-0.4673519670236601,-0.4564824386907276,-0.44707500769163744,-0.4386969057954957,-0.4311135562652453,-0.42424886374874404,-0.4180054610260413,-0.41229533529485707,-0.4070426632379167,-0.40217820233419843,-0.3976678063067993,-0.3930702953166474,-0.3888051543481197},
{-0.9166469682081697,-0.7053580950698688,-0.6220778949650594,-0.5730570110517874,-0.5389574745140635,-0.5148084447614565,-0.4949840396457148,-0.48074424524884307,-0.4681858308372284,-0.4573080568102341,-0.4478915124232117,-0.4395034718813804,-0.43191054165481546,-0.42503724158041223,-0.4187858051263902,-0.41306801745668054,-0.40780814838080914,-0.4029369285408393,-0.39842011890550566,-0.39381541774082507,-0.3895438991849005},
{-0.9172043347787167,-0.7062137153029653,-0.622986135274914,-0.5739622408909781,-0.5398483200665396,-0.515680284708651,-0.49584248471637693,-0.48159270779115104,-0.46902215545242143,-0.4581361267628381,-0.4487104381378231,-0.44031241068068994,-0.4327098729318095,-0.4258279415776087,-0.4195684448359316,-0.4138429705562885,-0.40857588384415067,-0.40369788524776595,-0.3991746419183073,-0.3945627353268719,-0.39028482031653766},
{-0.9177641921769464,-0.707072167542492,-0.6238972191531502,-0.5748702318692267,-0.5407418509212221,-0.5165547324777435,-0.4967034970827626,-0.48244367956749556,-0.46986094866406347,-0.4589666553420102,-0.4495317915798296,-0.441123728988714,-0.4335115570634116,-0.42662097057336723,-0.4203533866652833,-0.4146202011766036,-0.40934587631772956,-0.4044610788432692,-0.39993138198860834,-0.39531225437485773,-0.39102792367157235},
{-0.9183265474798645,-0.7079334596032822,-0.6248111545965003,-0.5757809918959538,-0.5416380748097254,-0.517431795502489,-0.4975670842245563,-0.4832971679165894,-0.4707022181573848,-0.4597996494730978,-0.45035557949813665,-0.4419374338049238,-0.43431560097496913,-0.4274163353352378,-0.4211406373169666,-0.4153997161311054,-0.41011813237946626,-0.40522651590436,-0.40069034549742355,-0.39606398177284063,-0.39177321491206385},
{-0.918891407673982,-0.7087975992844804,-0.6257279495489456,-0.5766945287550698,-0.5425369993658933,-0.5183114811852647,-0.4984332533417728,-0.4841531802112513,-0.4715459717704107,-0.460635116227877,-0.45118180874669633,-0.44275353215471114,-0.43512201143767015,-0.42821404273718144,-0.4219302033588974,-0.4161815219899836,-0.41089265874052217,-0.4059942027292891,-0.4014515390363158,-0.3968179238981975,-0.3925207001407216},
{-0.9194587797819622,-0.7096645943556723,-0.6266476119626532,-0.5776108501563613,-0.5434386322499449,-0.519193796829768,-0.49930201188271894,-0.4850117238938765,-0.47239221730660574,-0.46147306243619823,-0.4520104860266656,-0.44357203077106533,-0.4359307956997327,-0.42901409966543724,-0.4227220913871861,-0.4169656255553491,-0.41166946208386435,-0.4067641460765117,-0.4022149693000756,-0.39757408737068545,-0.39327038530063874},
{-0.9200286709346983,-0.7105344527608395,-0.6275701499484967,-0.5785299641820529,-0.5443429812103204,-0.5200787500693878,-0.5001733671269903,-0.48587280643187114,-0.4732409627426932,-0.4623134950702479,-0.4528416182015462,-0.4443929367698729,-0.4367419605073337,-0.4298165129089284,-0.4235163080898019,-0.4177520334064866,-0.41244854914111784,-0.40753635236524133,-0.4029806427552103,-0.39833247881688294,-0.3940222762103076},
{-0.9206010881684961,-0.7114071822511505,-0.6284955715013893,-0.5794518785251057,-0.5452500538794993,-0.5209663483110489,-0.5010473264228494,-0.48673643517167875,-0.4740922158534886,-0.4631564210981196,-0.45367521210027917,-0.4452162570210021,-0.4375555129536224,-0.4306212893175143,-0.4243128601292483,-0.41854075237552024,-0.4132299265747861,-0.40831082813565445,-0.40374856602829823,-0.39909310472103243,-0.3947763788951306},
{-0.921176038606518,-0.7122827908049203,-0.6294238847503948,-0.580376601232274,-0.5461598581346152,-0.521856599021703,-0.5019238971640334,-0.4876026177607855,-0.4749459846739228,-0.4640018476043224,-0.4545112746122868,-0.4460419986521629,-0.43837146008718264,-0.43142843590612756,-0.4251117543130931,-0.41933178926092296,-0.4140136011769755,-0.4090875801025504,-0.40451874600239535,-0.3998559719093464,-0.39553269936004654},
{-0.9217535293732908,-0.7131612862776819,-0.6303550977254417,-0.5813041401875125,-0.5470724016968234,-0.5227495097665269,-0.502803086826134,-0.48847136165204574,-0.4758022772180084,-0.464849781581961,-0.4553498124419093,-0.4468701686591885,-0.4391898088697417,-0.4322379595455459,-0.4259129972829214,-0.42012515074611656,-0.4147995797220574,-0.4098666147392578,-0.40529118904578354,-0.40062108681058817,-0.39629124350858547},
{-0.9223335676140323,-0.7140426765872689,-0.6312892185824239,-0.5822345033252532,-0.5479876923441225,-0.5236450879961012,-0.5036849026801065,-0.48934267455524605,-0.47666110144336926,-0.4657002301769353,-0.45619083255451187,-0.4477007739687906,-0.4400105663648901,-0.43304986717794236,-0.4267165957571706,-0.4209208438733185,-0.4155878690035024,-0.41064793873874805,-0.4060659020642561,-0.40138845614501406,-0.39705201729748296},
{-0.9229161605155696,-0.7149269696731153,-0.6322262553858309,-0.5831676986954335,-0.5489057380023041,-0.5245433414620493,-0.5045693523911723,-0.49021656394143065,-0.4775224655063539,-0.4665532005114983,-0.4570343419072742,-0.4485338216773016,-0.4408337396130264,-0.43386416575549447,-0.42752255662799143,-0.42171887528093066,-0.41637847591346144,-0.41143155874306103,-0.40684289169303156,-0.4021580865546639,-0.3978150266702869},
{-0.9235013152519969,-0.7158141734846595,-0.6331662164388945,-0.5841037342129312,-0.5498265463384087,-0.525444277742281,-0.5054564432339248,-0.491093037587234,-0.4783863773682242,-0.4674086996005826,-0.4578803473186781,-0.449369318778281,-0.44165933581098216,-0.434680862264031,-0.4283308866351945,-0.4225192518260883,-0.4171714071912902,-0.41221748150110216,-0.40762216474740853,-0.40292998459563023,-0.3985802778629477},
{-0.924089039034925,-0.716704296015223,-0.6341091097701792,-0.5850426180145405,-0.5507501253764531,-0.5263479044333508,-0.5063461827658102,-0.4919721031374138,-0.4792528452449005,-0.4682667346310154,-0.4587288557008833,-0.45020727239034386,-0.4424873619977916,-0.435499963660277,-0.42914159268730145,-0.42332198045733094,-0.4179666696700224,-0.41300571369629324,-0.40840372791399204,-0.4037041570427391,-0.3993477765325224},
{-0.924679339102795,-0.7175973452638118,-0.635054943718842,-0.5859843580637971,-0.5516764829258136,-0.5272542291995705,-0.5072385785524602,-0.4928537682694696,-0.4801218772181528,-0.46912731292832177,-0.45957987399242484,-0.4510476896621185,-0.44331782520066554,-0.43632147698463086,-0.42995468160461314,-0.42412706800269007,-0.4187642703136589,-0.4137962618870006,-0.4091875880853877,-0.4044806104034251,-0.4001175289990897},
{-0.9252722226879087,-0.7184933292073765,-0.6360037264475977,-0.5869289624947669,-0.5526056269977744,-0.5281632596474992,-0.5081336380471839,-0.49373804083734285,-0.4809934815039014,-0.4699904416333993,-0.4604334092668978,-0.45189057748166306,-0.4441507326810097,-0.4371454092897693,-0.43077016023562464,-0.4249345215680478,-0.41956421594113635,-0.41458913301084976,-0.4099737519663904,-0.40525935142113667,-0.40088954115981323},
{-0.9258676971148816,-0.7193922559017665,-0.6369554662078372,-0.5878764393105484,-0.5535375654130803,-0.5290750036897407,-0.5090313688483548,-0.4946249285721933,-0.4818676662048347,-0.47085612789032893,-0.4612894683123159,-0.4527359429889657,-0.4449860914942292,-0.4379717675037682,-0.4315880355061381,-0.4257443478541063,-0.42036651347098086,-0.41538433382675066,-0.41076222642323046,-0.4060403867583773,-0.401663819020996},
{-0.9264657696267022,-0.7202941334003299,-0.6379101712950614,-0.5888267967998218,-0.5544723061102559,-0.5299894690251676,-0.5099317785347921,-0.49551443930567984,-0.4827444395941711,-0.47172437916060517,-0.46214805838781103,-0.4535837933044604,-0.44582390885670975,-0.4388005588089072,-0.43240831443927163,-0.4265565539690215,-0.4211711697494138,-0.4161818710558691,-0.4115530184030831,-0.40682372292758373,-0.4024403688054008},
{-0.927066447556399,-0.7211989697875651,-0.6388678500029528,-0.5897800428947448,-0.5554098571533359,-0.5309066633135444,-0.5108348747407945,-0.4964065809863314,-0.4836238098191643,-0.47259520267152766,-0.46300918633869514,-0.45443413561861234,-0.44666419200257224,-0.4396317902710507,-0.43323100405086734,-0.4273711468899819,-0.42197819179591534,-0.41698175164174245,-0.41234613467713643,-0.4076093666817542,-0.40321919655843885},
{-0.9276697382485963,-0.7221067731206858,-0.6398285107006814,-0.590736185951755,-0.5563502265822535,-0.5318265945334133,-0.5117406650829253,-0.4973013614312549,-0.4845057852135142,-0.4734686058668558,-0.4638728592526604,-0.4552869770795951,-0.4475069481090941,-0.44046546892104743,-0.43405611109847086,-0.42818813354961094,-0.4227875865681199,-0.4177839823832983,-0.4131415821693736,-0.4083973246779351,-0.4040003084028285},
{-0.9282756490540578,-0.7230175515287556,-0.6407921616751082,-0.5916952340303396,-0.557293422345083,-0.5327492703154348,-0.512649157283704,-0.49819878864263956,-0.4853903740017813,-0.4743445961476027,-0.46473908427014976,-0.4561423247150742,-0.4483521843562812,-0.44130160199210877,-0.4348836428557661,-0.42900752114155694,-0.4235993609891011,-0.4185885701404004,-0.4139393677796761,-0.4091876035458881,-0.4047837104467362},
{-0.9288841873619731,-0.7239313131167364,-0.6417588112899466,-0.5926571954391875,-0.5582394525044947,-0.5336746987204606,-0.5135603588978483,-0.4990988704994379,-0.4862775844153475,-0.4752231807478893,-0.4656078684001841,-0.4570001856604904,-0.44919990798734943,-0.4421401963822973,-0.43571360623718647,-0.42982931652340994,-0.4244135219278178,-0.4193955218993324,-0.4147394984975108,-0.40998020989900397,-0.40556940883925563},
{-0.9294953605924547,-0.7248480660855421,-0.6427284680762568,-0.5936220783864883,-0.5591883250995124,-0.5346028876415403,-0.5144742778215914,-0.5000016152125681,-0.4871674248297495,-0.47610436739932993,-0.4664792188964384,-0.45786056722090507,-0.45005012641922804,-0.4429812594848954,-0.43654600835770907,-0.43065352700841686,-0.4252300765133441,-0.4202048445959008,-0.41554198131552766,-0.410775150372956,-0.40635740994503067},
{-0.9301091761165026,-0.7257678185419536,-0.643701140248595,-0.5945898910722462,-0.560140048230096,-0.5355338448189286,-0.5153909216774082,-0.5009070306091417,-0.48805990343089434,-0.47698816343518047,-0.46735314287707297,-0.4587234764603636,-0.45090284676462034,-0.4438247983848669,-0.4373808563223065,-0.43148015940823825,-0.42604903170922626,-0.4210165452050205,-0.41634682310086646,-0.41157243170300717,-0.4071477198667708},
{-0.9307256414149379,-0.7266905787182623,-0.6446768364203308,-0.5955606418724528,-0.5610946300948854,-0.5364675783912389,-0.5163102983506178,-0.5018151249018956,-0.4889550285679434,-0.47787457647291376,-0.46822964742614204,-0.4595889208153494,-0.45175807651276045,-0.44467082026949356,-0.43821815726732893,-0.4323092210424875,-0.4268703945112975,-0.42183063067886906,-0.4171540309412194,-0.41237206050709574,-0.40794034492910214},
{-0.9313447639653987,-0.7276163548112891,-0.6456555649888287,-0.5965343391258102,-0.562052078769284,-0.537404096249702,-0.5172324155964816,-0.5027259062662779,-0.48985280862234504,-0.4787636141213625,-0.4691087398778109,-0.4604569071152582,-0.4526158228723034,-0.44551933231650764,-0.4390579182027068,-0.43314071912072905,-0.42769417188947045,-0.4226471080605734,-0.41796361179649466,-0.4131740433531377,-0.40873529138707454},
{-0.9319665512323354,-0.7285451550210382,-0.6466373344674139,-0.5975109910227729,-0.5630124024551151,-0.5383434064797257,-0.5181572813280582,-0.5036393827285792,-0.4907532518645894,-0.4796552839775359,-0.4699904273747961,-0.461327442876609,-0.4534760932251629,-0.4463703417263787,-0.4399001465985748,-0.4339746606742665,-0.4285203710719543,-0.4234659845915303,-0.4187755727739386,-0.41397838702505396,-0.40953256561624585},
{-0.9325910107011168,-0.7294769876125429,-0.6476221533066564,-0.5984906060289177,-0.563975609238696,-0.5392855170989606,-0.5190849033224367,-0.504555562544283,-0.49165636662974066,-0.4805495936661828,-0.4708747173253869,-0.46220053534216277,-0.45433889505329716,-0.4472238558319077,-0.4407448492806907,-0.43481105294858935,-0.42934899900865275,-0.4242872671511577,-0.41958992090258107,-0.4147850981189549,-0.41033217403946765},
{-0.9332181499758008,-0.7304118608954013,-0.6486100301740407,-0.5994731925420638,-0.5649417074200755,-0.5402304362214636,-0.5200152895781684,-0.5054744539870626,-0.4925621612865143,-0.48144655090163724,-0.47176161689412766,-0.4630761917496784,-0.45520423573043445,-0.4480798818144649,-0.4415920338256001,-0.4356499032483043,-0.43018006276588494,-0.4251109629358325,-0.420406663308313,-0.41559418336419185,-0.41113412294362206},
{-0.9338479765499414,-0.7313497830859887,-0.6496009735551524,-0.6004587589209223,-0.5659107052561012,-0.5411781719049031,-0.5209484479846651,-0.5063960652041715,-0.4934706441549679,-0.48234616344461756,-0.47265113347702936,-0.4639544194528753,-0.45607212263621477,-0.4489384270791561,-0.44244170721003684,-0.4364912187452319,-0.4310135695345707,-0.4259370791692163,-0.42122580694467615,-0.41640564931822155,-0.4119384189102675},
{-0.9344804980512436,-0.7322907624879917,-0.6505949920315288,-0.6014473135719527,-0.5668826108558278,-0.542128732117817,-0.5218843864181508,-0.5073204045702369,-0.4943818235587969,-0.48324843898308245,-0.47354327427183307,-0.46483522562357393,-0.456942563215307,-0.44979949878779735,-0.4432938768295571,-0.4373350067476167,-0.43184952630917905,-0.42676562284896136,-0.42204735902032553,-0.41721950281043974,-0.4127450683558891},
{-0.9351157220132791,-0.733234807478766,-0.6515920942888442,-0.6024388650798755,-0.5678574326780108,-0.5430821254117291,-0.5228231131113716,-0.5082474804898993,-0.4952957079558473,-0.48415338550967135,-0.47443804680096946,-0.4657186177882977,-0.457815565184319,-0.45066310430638623,-0.4441485499655755,-0.4381812746523792,-0.4326879403724888,-0.4275966013760808,-0.42287132667388505,-0.4180357505047141,-0.4135540777811002},
{-0.9357536560657991,-0.7341819263660909,-0.652592288908636,-0.6034334217893047,-0.568835178865811,-0.5440383597619984,-0.5237646359337305,-0.5091773012200065,-0.49621230566754093,-0.48506101068142016,-0.4753354584022418,-0.4666046032007216,-0.458691135736899,-0.4515292509613573,-0.4450057340231979,-0.4390300296213354,-0.43352881876398897,-0.42843002190193147,-0.42369771697030956,-0.4188543990248945,-0.4143654539616364},
{-0.9363943078947159,-0.7351321275882583,-0.6535955846252364,-0.6044309923004221,-0.5698158578602488,-0.5449974434054639,-0.5247089630197479,-0.5101098751897553,-0.49713162506941444,-0.48597132245686225,-0.4762355165375993,-0.4674931893637222,-0.459569282699249,-0.4523979460745977,-0.4458654363043024,-0.43988127914553843,-0.4343721686977915,-0.4292658917211156,-0.4245265372869653,-0.41967545524448724,-0.41517920328078617},
{-0.9370376851327364,-0.7360854194257627,-0.6546019900624742,-0.605431585099268,-0.5707994780404988,-0.5459593846399002,-0.525656102423909,-0.5110452108228856,-0.4980536745997597,-0.4868843287749769,-0.4771382285407526,-0.46838438378563296,-0.46045001350830717,-0.45326919713852476,-0.4467276641089484,-0.4407350306078115,-0.435217997455311,-0.4301042180386503,-0.4253577944969038,-0.4204989256754743,-0.41599533253474874},
{-0.9376837954662278,-0.7370418103091652,-0.6556115140033398,-0.6064352087887528,-0.5717860475992893,-0.5469241915329803,-0.5266060622670921,-0.5119833165981618,-0.49897846247358757,-0.48780003754154677,-0.47804360189229556,-0.4692781937728796,-0.4613333357456213,-0.4541430113868046,-0.4475924249172749,-0.44159129145509723,-0.4360663121260586,-0.4309450082528201,-0.4261914959997739,-0.4213248173359716,-0.41681384846197034},
{-0.9383326465933806,-0.7380013087213229,-0.6566241650416487,-0.6074418719003916,-0.5727755751122459,-0.5478918727058044,-0.527558850780224,-0.512924200949783,-0.49990599725424545,-0.4887184568246994,-0.47895164412057056,-0.47017462687335865,-0.4622192570277548,-0.4550193963068523,-0.44845972614939456,-0.442450069012466,-0.4369171200987694,-0.4317882695709159,-0.4270276489705793,-0.42215313687302114,-0.41763475773404934},
{-0.938984246279233,-0.7389639230427747,-0.6576399521509302,-0.6084515830420969,-0.5737680688453111,-0.548862436392028,-0.5285144761028278,-0.5138678724229067,-0.5008362872704311,-0.4896395944683718,-0.479862362719814,-0.4710736907286446,-0.4631077850917791,-0.4558983593346966,-0.4493295752913582,-0.4433113708369092,-0.43777042854480896,-0.4326340095581145,-0.42786626053930377,-0.4229838909418504,-0.41845806737501334},
{-0.9396386022503975,-0.7399296617663822,-0.6586588840118566,-0.6094643508859008,-0.5747635373404592,-0.5498358909317176,-0.5294729464967531,-0.5148143396240812,-0.5017693409331514,-0.4905634587771601,-0.480775765245653,-0.4719753928393402,-0.46399892760337025,-0.45677990780677646,-0.45020197983058097,-0.44417520439219516,-0.4386262447965237,-0.43348223551720366,-0.4287073380455695,-0.42381708646462357,-0.41928378401053124},
{-0.940295722273504,-0.7408985333754572,-0.6596809695079173,-0.6104801840733671,-0.5757619890837304,-0.5508122447281494,-0.5304342702429494,-0.5157636109397572,-0.502705166645228,-0.49149005768549614,-0.4816918590759087,-0.47287974098298946,-0.46489269213543594,-0.457664049392406,-0.45107694728358183,-0.44504157714300163,-0.43948457625583615,-0.43433295477825595,-0.4295508887339565,-0.42465273025527495,-0.4201119148892758},
{-0.9409556141388293,-0.7418705463678634,-0.6607062174107341,-0.611499091303358,-0.5767634325416111,-0.5517915061136591,-0.5313984555896241,-0.5167156951401921,-0.5036437729067984,-0.49241939936337076,-0.48261065202495956,-0.4737867426124467,-0.46578908656692875,-0.4585507914393929,-0.4519544850923012,-0.44591049677819683,-0.44034543012821814,-0.4351861748718875,-0.43039691990406936,-0.4254908290995445,-0.4209424667683379},
{-0.9416182857212334,-0.7428457092810277,-0.66173463662426,-0.6125210812442674,-0.5777678762137839,-0.5527736837589146,-0.5323655108581988,-0.5176706007919165,-0.5045851680060878,-0.4933514918648143,-0.4835321513846793,-0.47469640555164005,-0.4666881185012244,-0.4594401413646665,-0.45283460093423855,-0.44678197067560177,-0.4412088138456056,-0.4360419032473146,-0.4312454387359139,-0.42633138987866914,-0.42177544669948475},
{-0.9422837448209975,-0.7438240306587431,-0.6627662361197508,-0.6135461626790857,-0.578775328568554,-0.553758786020353,-0.5333354444819633,-0.5186283364873816,-0.5055293604650615,-0.49428634352852896,-0.484456365006281,-0.4756087375972129,-0.46758979580499727,-0.4603321069866979,-0.45371730235319774,-0.44765600655273374,-0.44207473481901616,-0.43690014721869375,-0.4320964526291391,-0.42717441940067147,-0.4226108619709521},
{-0.9429519992715996,-0.7448055190343439,-0.6638010246738304,-0.6145743442857565,-0.57978579831979,-0.554746821378103,-0.5343082648410018,-0.5195889109545533,-0.5064763587379275,-0.49522396252677936,-0.4853833004626722,-0.47652374658537155,-0.46849412637584464,-0.4612266956378335,-0.45460259707851947,-0.44853261194657534,-0.44294320047583824,-0.4377609145176393,-0.4329499689806653,-0.42801992471368067,-0.4234487196745249},
{-0.943623057015202,-0.7457901830434821,-0.664839011375534,-0.6156056349987011,-0.5807992940026452,-0.5557377984123377,-0.5352839802794733,-0.5205523328640993,-0.507426171300267,-0.49616435711141094,-0.48631296519943135,-0.47744144032321856,-0.46940111800358864,-0.4621239148627865,-0.4554904925162191,-0.44941179446777824,-0.4438142183967102,-0.43862421260246265,-0.4338059949509443,-0.42886791255386925,-0.4242890268874362},
{-0.9442969259362144,-0.7467780312458672,-0.6658802051256316,-0.6166400435290598,-0.5818158242182108,-0.5567317256527531,-0.5362625994866903,-0.5215186108362104,-0.5083788065826411,-0.4971075355610992,-0.48724536710915345,-0.4783618266128542,-0.4703107783384439,-0.46302377244091986,-0.45638099651478115,-0.4502935619152595,-0.4446877958580444,-0.4394900489496649,-0.43466453817245565,-0.42971839000711043,-0.4251317910780017},
{-0.9449736139604283,-0.7477690722666921,-0.6669246149431274,-0.6176775786866529,-0.5828353976185099,-0.5577286117204494,-0.5372441306367364,-0.5224877536461463,-0.5093342730060613,-0.4980535060690272,-0.4881805136915318,-0.4792849134437347,-0.4712231154762776,-0.46392627577643,-0.45727411667667184,-0.4511779216859395,-0.4455639404982321,-0.4403584312640305,-0.4355256058352097,-0.43057136387324135,-0.42597701933800636},
{-0.945653129088214,-0.7487633148084569,-0.6679722499684431,-0.6187182494750232,-0.5838580228628416,-0.5587284652920061,-0.538228582496231,-0.5234597700600716,-0.5102925792784845,-0.49900227717989765,-0.489118412789594,-0.4802107088617049,-0.4721381373165059,-0.46483143265322724,-0.45816986084309974,-0.4520648817210713,-0.44644265986153187,-0.44122936700796345,-0.4363892053861491,-0.43142684128997644,-0.42682471942544},
{-0.9463354792294467,-0.7497607674986284,-0.6690231190659688,-0.619762064616225,-0.5848837085886771,-0.5597312948375475,-0.5392159635593998,-0.5244346687877623,-0.5112537336731293,-0.49995385709644324,-0.49005907213177125,-0.48113922084939986,-0.4730558517258032,-0.465739250653769,-0.45906823661744056,-0.45295444950033925,-0.4473239614717386,-0.4421028638430471,-0.4372553443022298,-0.4322848290394177,-0.4276748983252219},
{-0.9470206724363379,-0.7507614390028721,-0.6700772314516144,-0.6208090331492713,-0.5859124636135675,-0.5607371091969071,-0.5402062824182394,-0.5254124585521822,-0.5122177448306502,-0.5009082542792385,-0.4910024992309445,-0.48207045764047507,-0.4739762667413743,-0.4666497375314975,-0.45996925182453197,-0.45384663291360994,-0.4482078530063518,-0.44297892946588036,-0.4381240300949685,-0.43314533440207015,-0.4285275637844279},
{-0.947708716716761,-0.7517653380969023,-0.6711345962262385,-0.6218591640167688,-0.5869442966154566,-0.5617459169507129,-0.5411995476983975,-0.526393148223633,-0.5131846212866549,-0.5018654772193258,-0.4919487020115412,-0.48300442704203306,-0.4748993902589973,-0.46756290084431384,-0.46087291420508336,-0.4547414396051863,-0.44909434205965226,-0.4438575713948012,-0.4389952701230868,-0.43400836430009804,-0.42938272329547544},
{-0.9483996201381615,-0.7527724734254662,-0.6721952224684173,-0.6229124661535934,-0.5879792164810169,-0.5627577268846835,-0.5421957681091953,-0.5273767465509991,-0.5141543715558328,-0.5028255342731427,-0.4928976882497409,-0.48394113738368105,-0.47582523034361657,-0.4684787485148263,-0.4617792316912528,-0.45563887731714203,-0.44998343637007565,-0.44473879752649736,-0.4398690719035585,-0.434873925913962,-0.43024038436351475},
{-0.9490933906949977,-0.753782853787925,-0.6732591193904227,-0.623968948527363,-0.5890172318295299,-0.5637725477772619,-0.5431949522258037,-0.5283632623209087,-0.5151270042597389,-0.5037884338216827,-0.4938494657844785,-0.4848805969022578,-0.47675379504380544,-0.4693972882146227,-0.462688211925979,-0.4565389538161071,-0.45087514364377057,-0.4456226153406533,-0.44074544307977703,-0.4357420262795131,-0.43110055481201925},
{-0.9497900365861369,-0.7547964879795472,-0.6743262962372683,-0.6250286202657662,-0.5900583516072402,-0.564790388270012,-0.544197108861681,-0.5293527043822905,-0.5161025279658134,-0.5047541846438435,-0.4948040423641942,-0.48582281376002356,-0.4776850924436076,-0.47031852768395765,-0.46359986306879364,-0.4574416769769414,-0.45176947152367575,-0.44650903266619935,-0.44162439106275997,-0.4366126725567483,-0.43196324210202874},
{-0.950489565867656,-0.7558133847483077,-0.675396762186665,-0.6260914903632511,-0.5911025847035489,-0.5658112573737526,-0.5452022467816278,-0.5303450814521966,-0.517080951274238,-0.5057227950323977,-0.49576142588421135,-0.48676779633024125,-0.4786191305911416,-0.47124247483088766,-0.4645141927499026,-0.45834705449942703,-0.45266642791330014,-0.44739805728977444,-0.4425059234231412,-0.4374858719625081,-0.43282845430394445},
{-0.9511919866788503,-0.7568335528844727,-0.6764705264185977,-0.6271575678883892,-0.5921499398832566,-0.5668351635763429,-0.5462103746676803,-0.5313404024550437,-0.5180622828129344,-0.506694273555695,-0.4967216240847847,-0.48771555265102506,-0.479555917509515,-0.4721691374011243,-0.4654312088964616,-0.45925509414155385,-0.45356602047559136,-0.4482896967169836,-0.44339004758830924,-0.43836163175774345,-0.43369619914346913},
{-0.9518973072074459,-0.7578570013261015,-0.6775475983331489,-0.6282268620261675,-0.5932004261521797,-0.5678621160891453,-0.5472215014024187,-0.5323386762543123,-0.5190465312575725,-0.5076686289571626,-0.4976846450267658,-0.4886660913684864,-0.48049546152287803,-0.47309852337002667,-0.46635091964981257,-0.460165803903692,-0.45446825717044703,-0.44918395902504926,-0.4442767712616842,-0.4392399592243237,-0.4345664844217936},
{-0.9526055356286633,-0.758883738802524,-0.6786279871766965,-0.6292993818442483,-0.5942540523319622,-0.5688921236164788,-0.5482356357561002,-0.533339911648909,-0.5200337051828683,-0.5086458696914633,-0.49865049659911165,-0.48961942061487207,-0.481437770647517,-0.4740306405569754,-0.4672733327606693,-0.4610791914328729,-0.4553731457790491,-0.4500808518278063,-0.4451661020134452,-0.44012086167595044,-0.43543931828344284},
{-0.9533166801720654,-0.7599137743322899,-0.6797117022779275,-0.6303751365044263,-0.5953108275080012,-0.5699251950381949,-0.5492527866408636,-0.5343441174827603,-0.5210238134086467,-0.5096260043901566,-0.49961918679946393,-0.4905755489758121,-0.482382853116178,-0.4749654968509276,-0.4681984563844708,-0.46199526475265884,-0.45628069426629736,-0.45098038304331567,-0.4460580475156348,-0.4410043464399678,-0.43631470856917076},
{-0.9540307490326541,-0.7609471166947515,-0.6807987530391983,-0.631454135275817,-0.5963707607224933,-0.5709613393937616,-0.5502729629824898,-0.5353513026252585,-0.5220168645178092,-0.5106090417489213,-0.5005907234267397,-0.4915344848946006,-0.48333071718661813,-0.4759031003623022,-0.46912629838425346,-0.4629140316706071,-0.45719091061482686,-0.45188256032815843,-0.4469526152142862,-0.4418904210265282,-0.4371926634448755},
{-0.9547477504872859,-0.7619837748525242,-0.6818891488333065,-0.6325363873393144,-0.5974338607502432,-0.5720005653893168,-0.5512961735530553,-0.5363614759235134,-0.5230128672747014,-0.5115949904043191,-0.5015651146836717,-0.49249623660398356,-0.484281370987901,-0.476843458906842,-0.47005686693091775,-0.46383550013615604,-0.4581038026308306,-0.452787391599486,-0.4478498129019499,-0.44277909296170037,-0.43807319101870235},
{-0.9554676928134995,-0.7630237577545813,-0.6829828989953057,-0.6336219019462987,-0.5985001369153906,-0.573042882239406,-0.5523224275311804,-0.5373746462414601,-0.5240118304182033,-0.5125838591206957,-0.5025423685524402,-0.49346081271232833,-0.48523482277596486,-0.47778658060269663,-0.47099017004347843,-0.4647596779691412,-0.45901937834742057,-0.45369488482538145,-0.4487496480187474,-0.44367036958919925,-0.4389562993646905},
{-0.9561905843313525,-0.7640670743944611,-0.6840800131026299,-0.6347106883426932,-0.5995695980750497,-0.5740882989125566,-0.5533517335306897,-0.5383908225485357,-0.525013762709932,-0.5135756565155134,-0.503522493067976,-0.4944282218043554,-0.4861910808558605,-0.4787324735129914,-0.4719262158037054,-0.4656865731635662,-0.45993764585682584,-0.4546050476678829,-0.44965212831903045,-0.4445642585860696,-0.4398419970075338},
{-0.956916433379547,-0.7651137337074942,-0.6851805005344431,-0.635802755909026,-0.6006422535019738,-0.5751368242927128,-0.5543841008011441,-0.5394100135627014,-0.5260186729037741,-0.5145703913922262,-0.504505496429374,-0.49539847238656876,-0.48715015349444,-0.47968114560580943,-0.4728650123715852,-0.46661619367660023,-0.46085861304391074,-0.4555178881878419,-0.450557261287031,-0.4454607675997977,-0.44073029173523537},
{-0.9576452482683635,-0.7661637447586145,-0.686284370885005,-0.6368981139780772,-0.6017181123102091,-0.5761884676448972,-0.5554195383265323,-0.5404322282374778,-0.5270265698718504,-0.5155680725697493,-0.5054913867525102,-0.49637157304459834,-0.48811204905359773,-0.4806326052089389,-0.4738065679252941,-0.46754854755317865,-0.4617822881828033,-0.4564334141959989,-0.4514650547180281,-0.4463599042583155,-0.44162119222619367},
{-0.9583770374022151,-0.7672171165636428,-0.687391633617608,-0.6379967718958142,-0.6027971836210781,-0.5772432377857513,-0.5564580550671963,-0.5414574754950081,-0.5280374625149307,-0.516568708790146,-0.5064801722337506,-0.4973475321025944,-0.4890767757742651,-0.48158686026454234,-0.47475089064300846,-0.4684836427090886,-0.46270867925295533,-0.4573516336859029,-0.4523755161817462,-0.44726167642966175,-0.4425147067167927},
{-0.9591118091925637,-0.7682738581875128,-0.6885022982987721,-0.6390987390041118,-0.6038794766986939,-0.5783011440494192,-0.5574996601035309,-0.5424857642378811,-0.52905135945457,-0.5175723087354527,-0.5074718610362652,-0.49832635844541073,-0.49004434212201886,-0.4825439189894496,-0.47569798869017177,-0.46942148713333154,-0.4636377944107153,-0.45827255444783077,-0.4532886533843339,-0.44816609174358746,-0.4434108434979862},
{-0.9598495720333631,-0.7693339787056175,-0.6896163745482227,-0.6402040249217862,-0.604965000629818,-0.5793621954790069,-0.558544362459088,-0.5435171032117978,-0.5300682697629782,-0.5185788815260821,-0.5084664615128531,-0.4993080605904652,-0.49101475630232017,-0.48350378947361605,-0.4766478703622852,-0.47036208895042364,-0.46456964177286864,-0.4591961846317645,-0.4542044739418998,-0.4490731580899592,-0.44430961125635804},
{-0.9605903343760929,-0.7703974872151775,-0.690733871948396,-0.6413126388379169,-0.6060537648395439,-0.5804264011635496,-0.5595921712692871,-0.5445515014575903,-0.5310882023472914,-0.5195884358754483,-0.5094639820117663,-0.5002926472589024,-0.49198802693172183,-0.484466480246283,-0.4776005439621258,-0.4713054562234902,-0.4655042296190004,-0.4601225321812308,-0.4551229855769634,-0.44998288334136305,-0.44521101812097186},
{-0.9613341047302129,-0.7714643928661644,-0.6918548002299758,-0.6424245904199779,-0.6071457786038081,-0.5814937704321892,-0.5606430956413533,-0.5455889678241874,-0.5321111660414317,-0.5206009807257033,-0.5104644307270974,-0.5012801270704585,-0.49296416229799433,-0.48543199930873016,-0.4785560176155741,-0.4722515970324821,-0.466441566120011,-0.4610516050943261,-0.45604419605115254,-0.4508952753858466,-0.44611507286845153},
{-0.9620808915756243,-0.7725347048249205,-0.6929791689631202,-0.643539889153999,-0.6082410512362912,-0.5825643123125701,-0.5616971447611832,-0.5466295112119042,-0.5331371698107432,-0.5216165250130871,-0.5114678162385644,-0.5022705086680617,-0.49394317088217576,-0.4864003550706002,-0.47951429987051597,-0.47320051964288723,-0.467381659404964,-0.46198341130366316,-0.45696811300786067,-0.45181034231336525,-0.4470217838688768},
{-0.9628307034079171,-0.7736084322204988,-0.6941069878853341,-0.6446585445564779,-0.6093395920634066,-0.5836380362197815,-0.5627543276455071,-0.5476731404642123,-0.5341662225905566,-0.5226350775201354,-0.5124741468221146,-0.5032638007578498,-0.4949250610256968,-0.48737155574326607,-0.48047539902063363,-0.4741522319282012,-0.468324517799374,-0.46291795901470323,-0.4578947442159915,-0.452728091928293,-0.44793115959419083},
{-0.9635835488095381,-0.7746855843479352,-0.6952382668141581,-0.6457805663076215,-0.6104414104152056,-0.5847149513788281,-0.5638146535816304,-0.54871986465605,-0.5351983335262958,-0.523656647421376,-0.5134834310870247,-0.5042600121064424,-0.495909841329194,-0.48834560957811846,-0.4814393233828014,-0.47510674226487026,-0.4692701496705922,-0.4638552561364122,-0.4588240974708242,-0.4536485325097601,-0.44884320882647444},
{-0.9643394363308744,-0.7757661703312806,-0.6963730153770484,-0.646905963807967,-0.611546515813643,-0.5857950668860212,-0.5648781316485838,-0.5497696925335731,-0.5362335114682537,-0.524681243660325,-0.5144956774902312,-0.5052591514195228,-0.49689752020412925,-0.4893225252112643,-0.4824060815590201,-0.4760640586646332,-0.47021856313858734,-0.4647953108951697,-0.45975618053580547,-0.4545716720285782,-0.4497579399840106},
{-0.9650983745541453,-0.7768501995005863,-0.6975112435115989,-0.6480347468427681,-0.612654917691998,-0.5868783923697265,-0.5659447711791472,-0.5508226330903199,-0.5372717656214263,-0.5257088752514392,-0.515510894556428,-0.5062612276037726,-0.4978881063875633,-0.490302310941388,-0.4833756818252368,-0.4770241896439984,-0.471169766768071,-0.46573813140548737,-0.46069100132535823,-0.45549751850285247,-0.45067536177339207},
{-0.9658603721354666,-0.777937681106323,-0.698652960954405,-0.6491669250995074,-0.6137666255590375,-0.5879649369308027,-0.5670145812905503,-0.551878695231153,-0.5383131049461554,-0.5267395512723851,-0.5165290909617397,-0.507266249143413,-0.4988816081568075,-0.4912849750571695,-0.48434813271342136,-0.47798714334476244,-0.4721237686844688,-0.4666837257464067,-0.46162856754926906,-0.456426080426354,-0.4515954828775648},
{-0.9666254376959387,-0.7790286244830895,-0.6997981775484732,-0.6503025082124623,-0.6148816489658202,-0.5890547100980257,-0.5680875713192108,-0.5529378878723037,-0.5393575386465272,-0.5277732808181099,-0.5175502753108958,-0.5082742250874617,-0.499878034143876,-0.49227052622882184,-0.48532344282102713,-0.4789529280833449,-0.47308057754980837,-0.46763210206245276,-0.4625688873547915,-0.4573573657480665,-0.4525183118894347},
{-0.967393579893951,-0.7801230389231932,-0.7009469032000197,-0.6514415059123166,-0.6159999972560399,-0.5901477211841666,-0.5691637503232414,-0.554000219946829,-0.5404050757251753,-0.5288100729198959,-0.5185744563295884,-0.5092851641097695,-0.5008773930067036,-0.4932589728050516,-0.4863016204553787,-0.479921552050655,-0.47404020146859693,-0.4685832686009235,-0.46351196843352227,-0.45829138289809634,-0.4534438575774402},
{-0.9681648074392797,-0.781220933853092,-0.7020991478725591,-0.6525839279756838,-0.617121680294531,-0.5912439797129991,-0.5702431277850337,-0.5550657004851018,-0.5414557254675856,-0.5298499367781915,-0.5196016427521499,-0.5102990750920071,-0.50187969331364,-0.4942503233478419,-0.4872826745304337,-0.4808930237832101,-0.4750026491128665,-0.4695372333144405,-0.4644578190263928,-0.45922813991910516,-0.4543721284644562},
{-0.968939129066257,-0.7823223186155701,-0.7032549214627579,-0.6537297842382941,-0.6182467075868772,-0.5923434951987474,-0.5713257129550584,-0.5561343382496489,-0.5425094969136808,-0.5308928816498337,-0.5206318432110493,-0.5113159669590459,-0.502884943628942,-0.495244586485569,-0.4882666132943996,-0.4818673516765557,-0.47596792876993277,-0.4704940048222852,-0.4654064470269077,-0.4601676454240078,-0.45530313360450236},
{-0.9697165534728356,-0.7834272026175313,-0.7044142339259452,-0.6548790844317409,-0.6193750887669012,-0.5934462768027515,-0.5724115150374018,-0.5572061423345076,-0.5435663994094284,-0.5319389166138535,-0.5216650666143323,-0.5123358484988785,-0.5038931527333261,-0.49624177077657805,-0.48925344557574135,-0.48284454419808753,-0.4769360489963219,-0.4714535910034101,-0.4663578605341172,-0.461109907608261,-0.45623688170235255},
{-0.9704970894817961,-0.7845355953163562,-0.7055770953156753,-0.656031838506351,-0.6205068335893884,-0.5945523345176298,-0.5735005433434708,-0.5582811216545451,-0.5446264421861997,-0.5329880508802489,-0.5227013217308922,-0.5133587285840804,-0.5049043291810449,-0.4972418847382869,-0.49024317990733834,-0.4838246096151124,-0.4779070182639771,-0.4724160001942437,-0.4673120675533937,-0.4620549348210261,-0.4571733815664629},
{-0.9712807458242878,-0.7856475061871606,-0.7067435156022839,-0.657188056279665,-0.6216419516204041,-0.5956616775770271,-0.5745928072901734,-0.5593592851901121,-0.5456896343589506,-0.5340402937340514,-0.5237406174192074,-0.514384616037205,-0.5059184816764173,-0.49824493705636996,-0.4912358249512181,-0.48480755652963126,-0.4788808450630313,-0.473381240622075,-0.46826907638933335,-0.46300273575434403,-0.45811264212625247},
{-0.9720675313735683,-0.7867629447569016,-0.7079135049134493,-0.6583477476692678,-0.6227804527775334,-0.5967743156884353,-0.5756883162521262,-0.5604406419156476,-0.5467559854728279,-0.535095654514862,-0.524782962718291,-0.5154135199418306,-0.5069356189242171,-0.49925093641741114,-0.49223138950310386,-0.48579339353636897,-0.4798575379700196,-0.47434932062242297,-0.4692288953146999,-0.4639533187228153,-0.4590546723393345},
{-0.9728574549405948,-0.7878819205061518,-0.7090870733245538,-0.6595109226441309,-0.6239223468373893,-0.5978902585115975,-0.5767870795070849,-0.5615252008215066,-0.5478255045973128,-0.5361541423599192,-0.5258283662678878,-0.516445449316052,-0.5079557497047062,-0.5002598917026262,-0.4932298820986034,-0.4867821292573353,-0.4808371055369207,-0.47532024835982156,-0.4701915324476431,-0.4649066922120255,-0.45999948121516354},
{-0.9736505254347776,-0.7890044430264425,-0.7102642309346265,-0.6606775912287048,-0.6250676435370224,-0.599009515517082,-0.5778891064451273,-0.562612970866212,-0.5488982011670487,-0.5372157668039108,-0.5268768372193335,-0.5174804128437245,-0.508978882802694,-0.5012718113384835,-0.4942313116043806,-0.4877737722836173,-0.4818195563066183,-0.4762940321515998,-0.47115699626556307,-0.46586286509864294,-0.46094707766678766},
{-0.97444675166048,-0.7901305219079404,-0.7114449878663436,-0.6618477632964641,-0.6262163528517704,-0.6001320965501691,-0.5789944065695636,-0.5637039610569445,-0.5499740846680652,-0.5382805370109054,-0.5279283844765814,-0.5185184196443515,-0.5100050267283223,-0.5022867043226142,-0.49523568658878503,-0.48876833109261497,-0.4828048988520095,-0.47727068023505126,-0.47212529501121026,-0.4668218457873081,-0.4618974709710528},
{-0.9752461426437549,-0.7912601667412673,-0.7126293543865359,-0.6630214490492108,-0.6273684844823038,-0.6012580112892465,-0.5801029891467806,-0.5647981804390838,-0.5510531643353715,-0.5393484623959921,-0.5289830170208916,-0.5195594787983282,-0.5110341905447058,-0.5033045793288693,-0.49624301599851606,-0.48976581454462575,-0.4837931418524022,-0.47825020090840553,-0.47309643704829796,-0.46778364298370434,-0.4628506703866151},
{-0.9760487072694559,-0.7923933871743429,-0.7138173406260648,-0.6641986584854749,-0.6285240485512986,-0.6023872694577221,-0.5812148636687198,-0.5658956380307245,-0.5521354497172979,-0.5404195524547504,-0.5300407439676746,-0.520603599316928,-0.5120663829675323,-0.504325445239374,-0.497253308625659,-0.49076623123528407,-0.4847842938906979,-0.4792326024517024,-0.47407043099519797,-0.4687482655963322,-0.46380668465462804},
{-0.9768544545199802,-0.7935301929619527,-0.7150089569545344,-0.6653794017238397,-0.6296830549881633,-0.6035198809181566,-0.5823300397046296,-0.5669963428754272,-0.5532209502730439,-0.5414938165927197,-0.5311015742454401,-0.5216507903242018,-0.5131016128243573,-0.5053493109398914,-0.49826657312951284,-0.4917695901276602,-0.485778363650752,-0.48021789328231534,-0.4750472852565508,-0.4697157221735324,-0.4647655232092802},
{-0.9776633933558969,-0.7946705937288243,-0.7162042135046249,-0.6665636888728841,-0.6308455137268538,-0.604655855238434,-0.5834485266032061,-0.5681003039730967,-0.5543096755418446,-0.542571264117214,-0.5321655170309896,-0.5227010607250122,-0.5141398889545599,-0.5063761852698008,-0.4992828184394966,-0.4927758998828722,-0.48677535967726726,-0.4812060815611403,-0.4760270082861098,-0.47068602181388997,-0.46572719524465356},
{-0.9784755328917072,-0.7958145992251957,-0.7174031206245672,-0.6677515301339554,-0.6320114347781782,-0.6057952024784754,-0.5845703338090971,-0.5692075304646096,-0.5554016348869482,-0.5436519046779722,-0.5332325813160423,-0.5237544197379975,-0.5151812201893335,-0.5074060771430595,-0.5003020533431481,-0.4937851692993718,-0.4877752907923423,-0.48219717565461906,-0.4770096087768252,-0.47165917314032413,-0.4666917098011254},
{-0.9792908820909361,-0.7969622192663337,-0.7186056887017003,-0.6689429358061716,-0.6331808281988742,-0.6069379324972033,-0.5856954709192905,-0.5703180313998928,-0.5564968380044775,-0.5447357476068646,-0.5343027762910424,-0.5248108764653807,-0.5162256153762428,-0.5084389954390645,-0.5013242866152723,-0.4947974072492798,-0.4887781655897925,-0.48319118391191296,-0.47799509512424265,-0.47263518531235604,-0.4676590762965134},
{-0.9801094500528507,-0.7981134636561364,-0.7198119280260471,-0.6701379159017051,-0.6343537041270793,-0.6080840550166613,-0.5868239474698385,-0.5714318158175047,-0.5575952944705023,-0.5458228025340759,-0.5353761110454798,-0.5258704402021976,-0.5172730835811308,-0.5094749492964183,-0.5023495273517256,-0.49581262256742775,-0.4897839929253678,-0.484188114749486,-0.47898347630962235,-0.4736140672239344,-0.46862930376846634},
{-0.9809312458644399,-0.7992683421543916,-0.7210218491322848,-0.6713364808392726,-0.6355300727464055,-0.6092335802245543,-0.587955772926307,-0.5725488929188032,-0.5586970138506331,-0.5469130790115742,-0.5364525947625225,-0.5269331200843226,-0.5183236338079951,-0.5105139476354452,-0.5033777842527343,-0.49683082449064386,-0.4907927815474977,-0.4851879765474223,-0.47997476088676194,-0.4745958278717808,-0.46960240135922504},
{-0.981756278666353,-0.8004268647378012,-0.7222354622886087,-0.6725386409307248,-0.6367099441458777,-0.6103865178115484,-0.5890909570512122,-0.5736692716718608,-0.5598020058287148,-0.5480065865649522,-0.5375322366635373,-0.5279989252630912,-0.519377274755243,-0.5115559994728756,-0.5044090662631788,-0.49785202166731324,-0.49180454001452745,-0.4861907775011787,-0.48096895749131363,-0.4755804763717606,-0.4705783782483195},
{-0.9825845575926451,-0.8015890412139015,-0.7234527779542077,-0.6737444064278861,-0.6378933284895538,-0.6115428780167349,-0.5902295091609631,-0.574792961379444,-0.5609102799812717,-0.5491033345897449,-0.5386150458225529,-0.5290678650681002,-0.5204340154214151,-0.512601113888195,-0.505443382253361,-0.4988762230723296,-0.49281927733500197,-0.48719652627096366,-0.48196607492081966,-0.47656802174697077,-0.4715572434670321},
{-0.9834160918592261,-0.8027548816262424,-0.7246738067765364,-0.6749537878044976,-0.6390802360419912,-0.6127026707290497,-0.5913714390744644,-0.5759199711610563,-0.562021846177231,-0.5502033329721598,-0.5397010315155057,-0.5301399487188974,-0.5214938650333352,-0.5136492998426547,-0.5064807413473318,-0.49990343795525405,-0.49383700226917426,-0.4882052311249936,-0.4829661219682748,-0.47755847330790857,-0.4725390060157224},
{-0.9842508905924205,-0.803924395838294,-0.7258985590942757,-0.676166795278732,-0.6402706770304576,-0.6138659060216014,-0.5925167563295872,-0.5770503100288806,-0.563136714059965,-0.5513065911063677,-0.5407902031292906,-0.5312151856351193,-0.5225568324458436,-0.5147005666503901,-0.5075211523753751,-0.5009336751154478,-0.49485772356365487,-0.48921690061524714,-0.48396910748215305,-0.478551840063119,-0.4735236747565068},
{-0.9850889630918118,-0.8050975939286218,-0.7271270456117236,-0.6773834394352889,-0.6414646618222832,-0.6150325940593575,-0.5936654706652007,-0.5781839873661738,-0.5642548933597027,-0.5524131187139574,-0.5418825696815475,-0.532293585246407,-0.5236229268630268,-0.5157549233490499,-0.5085646244197051,-0.5019669440262078,-0.4958814502269888,-0.49023154338556196,-0.48497504059560015,-0.47954813130672846,-0.474511258750681},
{-0.9859303186040052,-0.8062744858975748,-0.7283592768139897,-0.6786037307197148,-0.6426622006797515,-0.6162027448285698,-0.5948175917797016,-0.5793210122797063,-0.5653763938939846,-0.5535229254592196,-0.5429781405218819,-0.5333751566749925,-0.5246921571178973,-0.5168123791318067,-0.5096111663842748,-0.5030032534650672,-0.49690819096940686,-0.49124916774144367,-0.4859839297760118,-0.4805473564138083,-0.4755017666184358},
{-0.9867749663937957,-0.8074550818373609,-0.7295952633162415,-0.6798276795748279,-0.6438633040520472,-0.6173763686656457,-0.5959731293569348,-0.5804613939235423,-0.5665012255399233,-0.5546360210264538,-0.5440769250253652,-0.5344599095824378,-0.5257645324936675,-0.5178729432482214,-0.5106607873858593,-0.5040426127025057,-0.49793795489949844,-0.4922697824285933,-0.48699578432842827,-0.4815495244656631,-0.47649520704544557},
{-0.9876229157271155,-0.8086393918556496,-0.7308350157577479,-0.6810552965152965,-0.6450679821173253,-0.6185534755804838,-0.5971320930757429,-0.5816051416099981,-0.5676293981523486,-0.5557524148862285,-0.5451789325916252,-0.5355478532392226,-0.5268400621107503,-0.5189366248896476,-0.51171349642118,-0.5050850308125518,-0.49897075075386965,-0.4932933961708841,-0.4880106131085995,-0.4825546448801106,-0.4774915887437601},
{-0.9884741760185989,-0.8098274260860308,-0.7320785448951028,-0.6822865921890298,-0.6462762455344091,-0.6197340759090366,-0.5982944928914549,-0.5827522645404315,-0.5687609214874101,-0.5568721169047421,-0.5462841723638121,-0.5366389972514298,-0.5279187550177085,-0.5200034332783616,-0.5127693026915949,-0.5061305171620916,-0.5000065876402005,-0.49432001732657227,-0.4890284251941921,-0.48356272689125035,-0.47849092013620975},
{-0.9893287565928404,-0.8110191947603198,-0.7333258613580256,-0.6835215770902323,-0.6474881047133749,-0.6209181799576982,-0.5994603385306618,-0.5839027720244303,-0.5698958055581897,-0.5579951367708418,-0.5473926539289096,-0.5377333512087716,-0.5290006205150348,-0.5210733778458234,-0.5138282151547173,-0.5071790808924561,-0.5010454744578965,-0.49534965510065376,-0.4900492296765151,-0.48457377978957084,-0.4794932097502169},
{-0.9901866668019466,-0.8122147080257491,-0.7345769759117502,-0.6847602619291138,-0.6487035700943125,-0.6221057977759301,-0.6006296397949882,-0.5850566733583946,-0.57103406051192,-0.5591214843279886,-0.5485043865828629,-0.5388309246018252,-0.5300856677567936,-0.5221464679325436,-0.5148902431856186,-0.5082307314460195,-0.502087420177304,-0.4963823179114115,-0.4910730356677959,-0.4855878130028941,-0.48049846607318614},
{-0.991047916093521,-0.8134139761777988,-0.7358318993324247,-0.6860026572530842,-0.6499226522096251,-0.6232969399584363,-0.6018024065847385,-0.5862139777195807,-0.5721756959455888,-0.5602511690522078,-0.5496193796770967,-0.5399317269666426,-0.5311739059907268,-0.5232227127844453,-0.515955395675519,-0.5092854779250047,-0.5031324338015111,-0.49741801475011016,-0.4920998523439266,-0.48660483576986735,-0.48150669713413663},
{-0.9919125139247171,-0.8146170094405534,-0.7370906423830093,-0.6872487738396558,-0.6511453615062237,-0.6244916166797339,-0.6029786487752062,-0.5873746945148923,-0.573320722036442,-0.5613842007014682,-0.550737642725835,-0.5410357678083528,-0.5322653444072785,-0.5243021217202113,-0.5170236818466947,-0.5103433296608273,-0.5041805243963609,-0.498456754316976,-0.4931296888498764,-0.4876248573673365,-0.48251791156235413},
{-0.9927804697670126,-0.8158238182736568,-0.7383532158814887,-0.6884986223271881,-0.6523717087452496,-0.625689838262133,-0.6041583763594645,-0.5885388329938905,-0.5744691489553588,-0.5625205891938094,-0.5518591852023746,-0.5421430570168013,-0.5333599923906149,-0.5253847044023132,-0.5180951111533432,-0.5114042960030929,-0.5052317008976388,-0.49949854577698716,-0.49416255456617364,-0.4886478871003419,-0.4835321172949989},
{-0.9936517930721038,-0.8170344129307523,-0.7396196307977334,-0.6897522135427607,-0.6536017045323206,-0.6268916153485407,-0.6053415993069393,-0.5897064026321459,-0.5756209865567143,-0.563660344222626,-0.5529840166018403,-0.5432536042862921,-0.5344578592830658,-0.5264704702076415,-0.519169692604919,-0.5124683865287807,-0.5062859725430826,-0.5005433980686576,-0.4951984589424683,-0.48967393433304096,-0.48454932267395634},
{-0.9945264933560338,-0.818248803815095,-0.7408898978792422,-0.6910095582320537,-0.6548353593561842,-0.6280969581102909,-0.6065283275597722,-0.5908774127319703,-0.5767762450468581,-0.5648034755013214,-0.554112146423904,-0.5443674192165417,-0.5355589544733448,-0.5275594285167244,-0.5202474356410676,-0.5135356104838138,-0.5073433481629763,-0.501591320071384,-0.49623741109007824,-0.4907030083031714,-0.4855695358810408},
{-0.9954045801950997,-0.8194670014268013,-0.7421640281258988,-0.6922706671757624,-0.656072684112587,-0.6293058772198492,-0.6077185713425024,-0.5920518725561124,-0.577934934568475,-0.5659499929552112,-0.5552435841582337,-0.5454845115009448,-0.5366632870345711,-0.5286515890447845,-0.5213283494276766,-0.5146059773314846,-0.5084038369395785,-0.5026423210720168,-0.4972794204368256,-0.49173511825938476,-0.4865927649916557},
{-0.9962860631933381,-0.8206890162173295,-0.7434420324852908,-0.6935355513478498,-0.6573136893234732,-0.630518383130493,-0.6089123405517967,-0.593229791748854,-0.5790970653515615,-0.5670999061840121,-0.5563783395182327,-0.5466048910548125,-0.5377708669284402,-0.5297469612378336,-0.5224124434471378,-0.5156794964686924,-0.5094674480787944,-0.5036964100263503,-0.4983244965605991,-0.4927702731019963,-0.48761901844318345},
{-0.9971709519029446,-0.8219148587068048,-0.7447239218913637,-0.6948042214689849,-0.6585583858854989,-0.6317344863177823,-0.6101096454108301,-0.5944111795988647,-0.5802626474096542,-0.5682532252440069,-0.5575164220190345,-0.5477285677698092,-0.5388817032271618,-0.530845554665575,-0.5234997270044914,-0.5167561773678244,-0.5105341903963563,-0.5047535962066831,-0.4993726488928587,-0.4938084823261306,-0.48864830397269543},
{-0.9980592559738852,-0.823144539452187,-0.7460097075395424,-0.6960766885513294,-0.6598067846221056,-0.6329541975105712,-0.6113104961705176,-0.5955960455039531,-0.581431691231046,-0.5694099598031244,-0.5586578413358438,-0.5488555514493783,-0.5399958057350887,-0.5319473791796554,-0.5245902095912243,-0.5178360297704785,-0.5116040732327747,-0.5058138889808106,-0.500423887051511,-0.49484975489667704,-0.48968063046959287},
{-0.9989509850584,-0.8243780690463609,-0.7472994002878295,-0.6973529635429259,-0.6610588962103066,-0.6341775271012011,-0.612514902969906,-0.5967843989810717,-0.5826042069047617,-0.5705701197211965,-0.5598026071565982,-0.5499858518151086,-0.5411131837327048,-0.533052444342502,-0.5256839006224254,-0.5189190629325822,-0.5126771055356585,-0.5068772973691011,-0.5014782203879804,-0.4958940998503749,-0.4907160055008717},
{-0.9998461488698922,-0.8256154580981274,-0.7485930112870847,-0.6986330573254236,-0.6623147315622191,-0.6354044859244823,-0.6137228760039761,-0.5979762495699106,-0.5837802047190053,-0.5717337148225852,-0.5609507291346745,-0.5511194790378795,-0.5422338468360977,-0.5341607597965776,-0.5267808096305089,-0.5200052864474856,-0.5137532962971818,-0.5079438308775934,-0.5025356588284922,-0.4969415262239636,-0.4917544377476588},
{-1.0007447570578734,-0.8268567173217889,-0.7498905517059029,-0.6999169810810599,-0.6635743014712716,-0.6366350845119086,-0.6149344255991309,-0.5991716067737798,-0.5849596950365594,-0.5729007549853122,-0.5621022170507786,-0.5522564428829355,-0.5433578047222909,-0.5352723354271802,-0.5278809459950935,-0.521094710044963,-0.514832654897873,-0.5090134986685371,-0.5035962117917734,-0.49799204283135623,-0.49279593543451483},
{-1.0016468194162371,-0.8281018573879919,-0.7511920325737265,-0.7012047456314576,-0.664837617021476,-0.6378693335523167,-0.6161495621263384,-0.6003704799677507,-0.5861426882311207,-0.5740712501656162,-0.5632570806565127,-0.5533967535502597,-0.5444850672192842,-0.5363871808667682,-0.5289843195732828,-0.5221873430473352,-0.5159151903117163,-0.5100863103953088,-0.504659889080358,-0.4990456588402594,-0.4938405070342924},
{-1.002552345690674,-0.8293508891301826,-0.7524974652183118,-0.7024963622257019,-0.666104689169515,-0.6391072439914751,-0.6173682959870348,-0.6015728789107015,-0.5873291947173129,-0.5752452101060044,-0.5644153298208039,-0.5545404209196931,-0.5456156437157915,-0.5375053060261052,-0.5300909396901261,-0.523283195334443,-0.5170009118446615,-0.5111622755048302,-0.5057267005977337,-0.5001023828208417,-0.4948881608534066},
{-1.0034613456632542,-0.8306038232517494,-0.7538068607022979,-0.7037918418527624,-0.667375528752018,-0.6403488263149484,-0.6185906376767889,-0.6027788130995759,-0.5885192248542808,-0.5764226449236958,-0.5655769743852943,-0.5556874550384236,-0.5467495440379935,-0.5386267208259596,-0.5312008162463826,-0.5243822763941353,-0.5180898283015267,-0.512241403207554,-0.5067966557644468,-0.5011622237479969,-0.49593890521373396},
{-1.0043738291851696,-0.8318606705734055,-0.7551202303097853,-0.7050911956894197,-0.668650146825712,-0.6415940914698695,-0.6198165973655705,-0.6039882920258606,-0.5897127890630145,-0.5776035641656563,-0.5667420241888976,-0.5568378660518647,-0.5478867778847416,-0.539751435020662,-0.5323139585852914,-0.5254845958243095,-0.5191819490319176,-0.5133237033269324,-0.5078697646631554,-0.5022251901691561,-0.4969927486818051},
{-1.0052898061117048,-0.8331214421082223,-0.7564375854503851,-0.706394434995218,-0.6699285544718805,-0.6428430502610354,-0.6210461857699556,-0.605201325555754,-0.5909098978481779,-0.5787879780828007,-0.567910489249698,-0.5579916639990188,-0.5490273551458813,-0.5408794584418501,-0.5334303768349855,-0.5265901634256807,-0.5202772833681593,-0.5144091852971542,-0.5089460369727021,-0.5032912910883169,-0.4980496998032322},
{-1.0062092862831378,-0.8343861486109745,-0.7577589372476723,-0.7077015708005092,-0.6712107627217847,-0.6440957134932432,-0.6222794134628202,-0.6064179231416347,-0.5921105617453577,-0.5799758966259105,-0.5690823796239783,-0.5591488590634981,-0.5501712854975267,-0.5420108012458513,-0.5345500805951815,-0.5276989886424417,-0.521375840188739,-0.5154978588334416,-0.5100254826047603,-0.5043605348892015,-0.4991097668234943},
{-1.0071322796115965,-0.8356548011647646,-0.7590842971262646,-0.7090126144357782,-0.6724967828013177,-0.6453520922837015,-0.6235162909561041,-0.6076380946469726,-0.593314791184639,-0.5811673296057052,-0.570257705300719,-0.5603094616208182,-0.5513185790614443,-0.5431454733779901,-0.5356730796165721,-0.5288110815326945,-0.5224776290942827,-0.51658973357371,-0.5111081117047434,-0.5054329302602127,-0.500172958717485},
{-1.0080587960728735,-0.83692741067307,-0.7604136765144176,-0.7103275772233246,-0.6737866257417409,-0.6466121972416659,-0.6247568289782066,-0.6088618498370124,-0.5945225967443548,-0.582362287083015,-0.5714364764071433,-0.5614734815617339,-0.5524692454655451,-0.5442834848518032,-0.536799383889047,-0.5299264516661424,-0.5235826589760109,-0.5176848191658792,-0.5121939336895593,-0.5065084858333648,-0.5012392836606523},
{-1.008988845625936,-0.8382039882380923,-0.7617470866930489,-0.7116464703699421,-0.675080302888091,-0.6478760395989411,-0.6260010381683969,-0.610089198264177,-0.5957339890483127,-0.5835607791896109,-0.5726187030850269,-0.5626409291699019,-0.5536232947079043,-0.5454248456280766,-0.537929003174213,-0.53104510878984,-0.5246909394854811,-0.518783125517075,-0.5132829588974346,-0.5075872102397625,-0.5023087503241186},
{-1.0099224381765453,-0.8394845448983688,-0.7630845391704497,-0.7129693052206676,-0.6763778251724943,-0.6491436301766953,-0.627248929002235,-0.6113201499301795,-0.5969489786411941,-0.5847628157007421,-0.5738043955634566,-0.5638118147853675,-0.5547807368247959,-0.546569565705795,-0.5390619474037521,-0.5321670626244668,-0.5258024795830352,-0.5198846623925419,-0.5143751970044832,-0.508669111850395,-0.5033813673571785},
{-1.0108595838473775,-0.8407690918470507,-0.764426045449909,-0.7142960931446396,-0.677679204191918,-0.6504149801162384,-0.6285005126428587,-0.6125547145538803,-0.5981675762486702,-0.5859684068291244,-0.5749935640933472,-0.564986148708158,-0.5559415817933768,-0.5477176553813479,-0.5401982268458596,-0.533292322982561,-0.5269172889211404,-0.5209894394620278,-0.5154706580569837,-0.5097541993100094,-0.5044571434136742},
{-1.0118002926278677,-0.8420576401590552,-0.7657716169960622,-0.7156268455992176,-0.6789844511026786,-0.6516901005570617,-0.6297557996331307,-0.6137929021861055,-0.5993897923744953,-0.5871775627265379,-0.5761862190311149,-0.5661639412583099,-0.5571058395598811,-0.5488691245909649,-0.541337851273056,-0.5344208998521935,-0.5280353768184796,-0.522097466937339,-0.5165693520748391,-0.5108424812124213,-0.5055360873066093},
{-1.012744574642511,-0.8433502011221208,-0.7671212653481234,-0.7169615739476285,-0.6802935771379452,-0.6529690023098738,-0.6310148008424221,-0.6150347226430313,-0.6006156377716252,-0.5883902933537684,-0.5773823705894756,-0.5673452027267558,-0.5582735202979165,-0.550023983491883,-0.5424808307234343,-0.5355528029185734,-0.5291567526401195,-0.5232087545618924,-0.5176712887414396,-0.5119339661923732,-0.5066182073824166},
{-1.0136924399575946,-0.8446467859425866,-0.7684750020853244,-0.7183002896690596,-0.6816065938101019,-0.6542516968902419,-0.632277527174665,-0.6162801859645697,-0.6018451232657753,-0.5896066088589578,-0.5785820294522637,-0.5685299434517219,-0.5594446341256116,-0.551182242469622,-0.5436271753305846,-0.5366880421179303,-0.5302814260885498,-0.5243233125247571,-0.5187764782940576,-0.5130286629073453,-0.5077035125586917},
{-1.0146438986703288,-0.8459474058718115,-0.7698328387823494,-0.7196430042372413,-0.682923512330035,-0.6555381951557138,-0.6335439894573938,-0.6175293021942707,-0.603078259358881,-0.5908265194248088,-0.5797852059395154,-0.5697181738305517,-0.5606191910919733,-0.5523439113867425,-0.5447768952853949,-0.537826627427421,-0.5314094065661266,-0.5254411507185068,-0.5198849304197211,-0.5141265798865788,-0.5087920117057365},
{-1.0155989610311735,-0.8472520723867092,-0.7711947871443954,-0.7209897292768801,-0.6842443443160846,-0.6568285085068055,-0.6348141988282805,-0.6187820814384395,-0.6043150570912985,-0.5920500353231546,-0.5809919107514361,-0.5709099043660899,-0.5617972015324995,-0.5535090006806058,-0.5459300006959893,-0.5389685685004224,-0.5325407038062622,-0.5265622793904186,-0.5209966552547485,-0.5152277260522169,-0.5098837135519716},
{-1.0165576371646239,-0.8485607967254509,-0.772560858788438,-0.7223404762153223,-0.6855691011528506,-0.6581226481539488,-0.6360881660939413,-0.6200385337360785,-0.6055555270186233,-0.593277166619373,-0.5822021543153824,-0.5721051455748238,-0.5629786756171598,-0.5546775204948062,-0.5470865019024131,-0.5401138756287764,-0.5336753273932118,-0.527686708796864,-0.5221116625407376,-0.5163321103427734,-0.5109786267985328},
{-1.0175199373147734,-0.8498735903481247,-0.773931065425586,-0.7236952567564003,-0.6868977942649508,-0.6594206252566437,-0.6373659022656284,-0.6212986694517895,-0.6067996800929905,-0.5945079235934827,-0.5834159472633473,-0.5733039077031208,-0.5641636236159684,-0.5558494810547927,-0.5482464090464418,-0.5412625585995556,-0.5348132870785776,-0.5288144489122715,-0.5232299621666243,-0.5174397415967178,-0.5120767604103094},
{-1.0184858716993404,-0.8511904647602933,-0.7753054187992348,-0.7250540824570635,-0.6882304353730433,-0.660722451255424,-0.6386474186247142,-0.6225624987137053,-0.6080475270919123,-0.5957423165591536,-0.5846333003764812,-0.5745062012174458,-0.5653520556134026,-0.5570248926533168,-0.5494097324190079,-0.5424146273871884,-0.5359545926730789,-0.5299455101603598,-0.5243515640304395,-0.5185506289762998,-0.5131781231939385},
{-1.0194554506379063,-0.8525114314406892,-0.7766839307278133,-0.7264169650638905,-0.6895670357866948,-0.6620281374107435,-0.639932726006009,-0.6238300318618712,-0.6092990788411043,-0.5969803556845363,-0.5858542244513956,-0.575712036808909,-0.5665439823424094,-0.5582037656022294,-0.5505764822728452,-0.5435700920324962,-0.5370992540520092,-0.5310799028984547,-0.5254764779210745,-0.51966478155191,-0.5142827243125794},
{-1.020428684419585,-0.8538365019435332,-0.7780666129401652,-0.727783916160206,-0.6909076073948199,-0.6633376951504033,-0.6412218356881567,-0.6251012793600239,-0.6105543462663263,-0.5982220514051733,-0.5870787302410463,-0.5769214249849028,-0.5677394138783711,-0.5593861101469884,-0.5517466691790105,-0.5447289624871701,-0.538247281006079,-0.5322176374183982,-0.5266047136610723,-0.5207822087804743,-0.5153905722045238},
{-1.021405583393971,-0.855165687913086,-0.7794534773843225,-0.729154947657662,-0.6922521617220809,-0.664651136109569,-0.6425147587851825,-0.6263762515773124,-0.6118133404515902,-0.5994674140656571,-0.5883068285102127,-0.5781343763483164,-0.5689383607332275,-0.5605719365930781,-0.5529203033092926,-0.5458912489448267,-0.5393986835970281,-0.5333587243676448,-0.5277362811202693,-0.5219029200416117,-0.516501676527696},
{-1.0223861579056575,-0.8564990009595022,-0.7808445358405152,-0.7305300711941527,-0.6936007104118289,-0.6659684713768002,-0.6438115065921011,-0.6276549590093055,-0.6130760721835031,-0.6007164540233134,-0.5895385302937939,-0.5793509012955838,-0.5701408335125961,-0.5617612555533924,-0.5540973953629873,-0.547056961438102,-0.5405534716937836,-0.5345031738697799,-0.5288711898601832,-0.5230269249641424,-0.5176160456576326},
{-1.0233704183679038,-0.8578364527406848,-0.7822398002222144,-0.7319092985699172,-0.6949532652160997,-0.6672897127118631,-0.6451120902056573,-0.6289374123689413,-0.6143425523741826,-0.6019691815936312,-0.5907738464165959,-0.5805710106506012,-0.5713468423191443,-0.5629540770642052,-0.555277955467318,-0.5482261098341041,-0.541711655419931,-0.5356509966986778,-0.5300094497906684,-0.5241542330941229,-0.5187336889039216},
{-1.0243583752030645,-0.8591780550236763,-0.7836392825429357,-0.7332926417716408,-0.6963098377941606,-0.6686148715425588,-0.6464165208817576,-0.630223622280937,-0.6156127921240113,-0.6032256073367535,-0.5920127879207939,-0.5817947149389511,-0.5725563980786319,-0.5641504115428688,-0.5564619944188962,-0.5493987045119866,-0.5428732448872324,-0.536802203330808,-0.5311510705560067,-0.5252848542759239,-0.5198546153669668},
{-1.0253500388307657,-0.8605238195732454,-0.7850429947466182,-0.7346801124431295,-0.6976704401249663,-0.6699439594030991,-0.647724810114596,-0.6315135993536387,-0.6168868024115,-0.6044857416127343,-0.5932553657894459,-0.583022024933598,-0.5737695110656205,-0.5653502696513897,-0.5576495226005136,-0.5505747551978857,-0.5440382504457375,-0.5379568044791085,-0.53229606180048,-0.5264187983611919,-0.5209788339643637},
{-1.026345419770223,-0.8618737581782625,-0.7864509488886142,-0.736071722732504,-0.6990350839446364,-0.6712769881396525,-0.6490369690109219,-0.6328073545373627,-0.6181645943142939,-0.6057495949817167,-0.5945015911856899,-0.5842529513520276,-0.5749861920630792,-0.5665536617161706,-0.5588405505168339,-0.5517542722409416,-0.5452066821690096,-0.5391148107519257,-0.5334444334757791,-0.5275560753707396,-0.5221063538319868},
{-1.027344528530648,-0.8632278827735718,-0.7878631569383288,-0.7374674844359106,-0.7004037810847876,-0.6726139691099888,-0.6503530092313667,-0.6341048985896123,-0.6194461787326873,-0.6070171779838347,-0.5957514750534756,-0.5854875047116366,-0.5762064516920873,-0.5677605981791203,-0.5600350890063055,-0.5529372658302236,-0.5463785502379324,-0.5402762327721575,-0.5345961949087723,-0.5286966955400203,-0.5232371840866108},
{-1.0283473756335297,-0.8645862051589575,-0.7892796309829464,-0.7388674095309398,-0.7017765434629837,-0.6739549141439056,-0.6516729417699025,-0.6354062424552467,-0.6207315668789306,-0.608288500900926,-0.5970050286205151,-0.586725695819041,-0.5774303003836394,-0.5689710893939264,-0.5612331483953312,-0.5541237457209718,-0.5475538649370719,-0.5414410813318682,-0.5357513560447842,-0.5298406688716568,-0.5243713338722955},
{-1.0293539716981286,-0.8659487374934542,-0.7907003833156523,-0.7402715102625734,-0.703153382981327,-0.6752998349156769,-0.6529967783617394,-0.6367113973756204,-0.6220207698452214,-0.6095635745305117,-0.5982622629853722,-0.5879675354954088,-0.5786577491699063,-0.5701851460416947,-0.562434739517812,-0.5553137223660087,-0.5487326369329821,-0.5426093671085255,-0.5369099264034958,-0.5309880057293412,-0.5255088124413305},
{-1.0303643272527552,-0.867315491518184,-0.7921254258089903,-0.7416797983801189,-0.7045343115596552,-0.6766487432496433,-0.6543245303382719,-0.6380203741809964,-0.6233137986728252,-0.6108424093717986,-0.5995231895312827,-0.5892130345018813,-0.5798888084946157,-0.5714027786907536,-0.5636398731412555,-0.5565072055205746,-0.5499148764783968,-0.5437811011815938,-0.5380719157210478,-0.5321387167668945,-0.5266496289104907},
{-1.0313784529889745,-0.8686864794690337,-0.7935547709384991,-0.7430922861813087,-0.7059193414297624,-0.6780016510365385,-0.6556562092864624,-0.6393331841964027,-0.6246106645612599,-0.6121250160458658,-0.6007878194322984,-0.5904622037669469,-0.5811234893508299,-0.5726239977675505,-0.5648485599431297,-0.5577042057157087,-0.5511005940079485,-0.5449562940839314,-0.5392373338345351,-0.5332928121215446,-0.527793792648481},
{-1.0323963595669738,-0.8700617133667947,-0.7949884307413413,-0.7445089857901621,-0.7073084844587356,-0.6793585699042524,-0.656991826797821,-0.640649838709578,-0.6259113785890804,-0.6134114051801589,-0.6020561638879371,-0.5917150539971772,-0.5823618024896859,-0.5738488140405025,-0.5660608103980849,-0.5589047329222012,-0.5522898000945133,-0.5461349567049183,-0.5404061901463137,-0.5344503023861762,-0.5289413129066816},
{-1.0334180576637664,-0.8714412053509477,-0.7964264175921016,-0.7459299093097798,-0.7087017527574062,-0.6807195118917662,-0.6583313942937821,-0.6419703488718369,-0.6272159520540299,-0.6147015875194484,-0.6033282342577877,-0.592971596024654,-0.5836037586077509,-0.5750772379542468,-0.5672766355792191,-0.5601087972790992,-0.5534825052800443,-0.5473170999730428,-0.5415784947781503,-0.5356111982955554,-0.5300921989910421},
{-1.0344435579741003,-0.8728249675768893,-0.7978687436798282,-0.7473550689956028,-0.7100991583574796,-0.6820844888461579,-0.6596749233740411,-0.6432947262128437,-0.6285243960546723,-0.615995573397413,-0.6046040418514167,-0.5942318406850973,-0.5848493688326926,-0.5763092802772007,-0.5684960462340314,-0.5613164088781559,-0.554678720262018,-0.5485027347658615,-0.5427542572024322,-0.5367755104571188,-0.5312464605030982},
{-1.0354728713296026,-0.8742130123710012,-0.7993154214882452,-0.7487844770666925,-0.711500713586247,-0.6834535127409254,-0.6610224258320159,-0.6446229822358873,-0.6298367218169005,-0.617293373832581,-0.6058835981320954,-0.5954957990661569,-0.5860986438729014,-0.577544951609525,-0.5697190531600427,-0.5625275778702417,-0.555878455700622,-0.549691871811774,-0.543933487337199,-0.5379432495719811,-0.5324041067951839},
{-1.036506008430024,-0.8756053518814042,-0.8007664632650631,-0.7502181458839914,-0.7129064305690918,-0.6848265956869,-0.662373913238298,-0.6459551283587643,-0.6311529406102636,-0.6185949994951443,-0.6071669145530905,-0.5967634820835883,-0.5873515946877887,-0.5787842628633371,-0.5709456672029773,-0.5637423146299625,-0.557081722361545,-0.5508845221329466,-0.545116195038645,-0.5391144266459378,-0.5335651474706538},
{-1.0375429800938036,-0.8770019984349346,-0.8022218814435291,-0.7516560877156735,-0.71431632146232,-0.6862037494984179,-0.6637293972289626,-0.6472911761902651,-0.632473063764337,-0.6199004609352414,-0.6084540022493456,-0.5980349005367316,-0.5886082324805102,-0.5800272246460736,-0.5721758992449395,-0.564960629192683,-0.5582885308667755,-0.5520806963604628,-0.5463023901784254,-0.5402890525401745,-0.5347295920601027},
{-1.0385837972416994,-0.8784029645321425,-0.8036816885364715,-0.7530983150377324,-0.7157303987150954,-0.6875849865391501,-0.6650888896747347,-0.6486311376074809,-0.6337971025450315,-0.6212097690022347,-0.6097448730406541,-0.5993100655750823,-0.5898685679712798,-0.5812738478543906,-0.5734097601434769,-0.5661825320230491,-0.5594988922975972,-0.5532804057202156,-0.5474920827737151,-0.5414671380949585,-0.535897450239645},
{-1.039628470694879,-0.8798082624466588,-0.8051458969971463,-0.7545448401747308,-0.7171486743336573,-0.6889703186907354,-0.666452402260802,-0.6499750241910078,-0.6351250681609599,-0.6225229344781837,-0.6110395381792841,-0.6005889878351809,-0.5911326124678453,-0.582524143162118,-0.5746472609134798,-0.5674080331209552,-0.5607128175097387,-0.5544836608405603,-0.5486852826252289,-0.542648694206946,-0.5370687320655634},
{-1.040677011400021,-0.88121790478408,-0.8066145193420198,-0.7559956756222164,-0.7185711608817655,-0.6903597581613212,-0.6678199468833554,-0.651322847670599,-0.6364569722563829,-0.6238399681542433,-0.6123380093540618,-0.6018716788339589,-0.5924003770051058,-0.5837781216232543,-0.575888412346103,-0.5686371429337669,-0.561930317401675,-0.5556904724362539,-0.5498820001903368,-0.5438337323203086,-0.5382434468228894},
{-1.041729430257874,-0.882631903940819,-0.8080875681821453,-0.7574508338248052,-0.7199978708267736,-0.6917533173482298,-0.6691915353949298,-0.6526746200424896,-0.6377928259362307,-0.6251608809088793,-0.613640297994607,-0.6031581494753482,-0.5936718726125036,-0.5850357941308175,-0.5771332256526875,-0.5698698719616004,-0.5631514030901599,-0.556900851478531,-0.5510822451906279,-0.5450222630834105,-0.5394216047889131},
{-1.0427857382137518,-0.884050272461991,-0.8095650560198919,-0.7589103273712681,-0.721428816250409,-0.6931510081758461,-0.6705671796025854,-0.6540303530973688,-0.6391326406801454,-0.6264856833877275,-0.6149464158006595,-0.6044484106942036,-0.5949471105877819,-0.5862971714132073,-0.5783817115334386,-0.571106230316218,-0.5643760855755318,-0.5581148085720997,-0.5522860280107125,-0.5462142978021802,-0.5406032159089591},
{-1.0438459463061918,-0.8854730229963934,-0.8110469955008739,-0.7603741688299124,-0.7228640099419863,-0.694552843114252,-0.6719468915543985,-0.6553900587914541,-0.6404764279868687,-0.6278143865511083,-0.6162563741472695,-0.6057424735008681,-0.59622610194765,-0.587562264873668,-0.5796338812360773,-0.572346228555034,-0.5656043760163811,-0.5593323547145701,-0.5534933587896376,-0.5474098474223865,-0.5417882901674602},
{-1.044910065606473,-0.8869001681741793,-0.8125333993411914,-0.761842370870454,-0.7243034641278427,-0.6959588343997893,-0.6733306830028596,-0.6567537492865085,-0.6418241991614195,-0.6291470012447462,-0.6175701848906101,-0.607040349235831,-0.5975088582754324,-0.588831085217862,-0.5808897456463455,-0.5735898772572909,-0.5668362857786633,-0.5605535003442128,-0.5547042479811353,-0.5486089231289952,-0.5429768378235167},
{-1.0459781070935605,-0.8883317206818901,-0.8140242802678586,-0.7633149460602908,-0.7257471915227143,-0.6973689944543366,-0.6747185663389246,-0.6581214364396146,-0.6431759659790259,-0.6304835385044498,-0.6188878595457936,-0.6083420490567732,-0.5987953906160328,-0.5901036437917355,-0.5821493157973237,-0.5748371868930917,-0.5680718260491631,-0.5617782564704612,-0.5559187059061514,-0.549811536408015,-0.5441688691244053},
{-1.0470500819264998,-0.8897676933047478,-0.8155196510624592,-0.764791907281051,-0.7271952046439765,-0.6987833358025455,-0.6761105533250884,-0.6594931323761557,-0.6445317398529369,-0.6318240091286498,-0.6202094099253372,-0.6096475840995481,-0.6000857103726958,-0.5913799514810307,-0.5834126029412801,-0.5760881679807426,-0.5693110081347186,-0.563006633533405,-0.5571367429274687,-0.5510176983871133,-0.5453643946093507},
{-1.048126001156561,-0.8912080987593072,-0.8170195243674243,-0.7662732671801677,-0.728647516075398,-0.7002018706371018,-0.6775066562104257,-0.6608688492751753,-0.6458915321782115,-0.6331684241595212,-0.6215348477135194,-0.6109569654599909,-0.6013798289068291,-0.5926600197908556,-0.5846796181285754,-0.5773428312804754,-0.5705538433094262,-0.5642386421213814,-0.5583583696407004,-0.5522274199183812,-0.5465634244064859},
{-1.0492058760378313,-0.8926529499276512,-0.8185239131053095,-0.767759038499662,-0.7301041384052951,-0.7016246114935711,-0.6789068869384209,-0.6622485993129885,-0.6472553548192082,-0.6345167944427885,-0.6228641845282255,-0.6122702045513506,-0.602677757584388,-0.593943859551473,-0.5859503724668684,-0.5786011875215991,-0.5718003431875331,-0.5654742929245913,-0.5595835965568767,-0.5534407122713674,-0.5477659692778616},
{-1.0502897176984334,-0.8941022596923176,-0.8200328302054913,-0.7692492342821424,-0.7315650843293042,-0.7030515708265739,-0.6803112578554646,-0.6636323945413096,-0.648623219257388,-0.6358691310524591,-0.624197432271103,-0.6135873123839701,-0.603979508023258,-0.5952314824326095,-0.5872248771238446,-0.5798632475061822,-0.5730505192141209,-0.5667135965531997,-0.5608124344662428,-0.5546575868766013,-0.5489720398081772},
{-1.0513775373260614,-0.8955560409508507,-0.8215462884568296,-0.7707438671932323,-0.7330303666458349,-0.704482761349027,-0.6817197812479208,-0.6650202472928868,-0.6499951372270516,-0.6372254451416666,-0.6255346026837287,-0.6149083005784632,-0.6052850916676107,-0.5965228995137295,-0.588503143249909,-0.5811290219817238,-0.5743043830889292,-0.5679565635264225,-0.5620448938934715,-0.5558780550109077,-0.5501816469204641},
{-1.0524693462352843,-0.8970143067053868,-0.8230643008864718,-0.7722429503655803,-0.7344999980914508,-0.7059181956847169,-0.6831324692402632,-0.6664121697094743,-0.6513711204015635,-0.6385857477571335,-0.6268757075304165,-0.6162331802397603,-0.6065945199343332,-0.5978181222453713,-0.5897851823001474,-0.5823985219294627,-0.575561946331618,-0.5692032044007647,-0.5632809856788299,-0.5571021277855834,-0.5513948009793239},
{-1.0535651556961056,-0.8984770700294575,-0.824586880397419,-0.7737464966794505,-0.7359739914572856,-0.7073578862891736,-0.6845493344180795,-0.6678081740747075,-0.6527511806580151,-0.6399500499564965,-0.628220758821044,-0.6175619627829292,-0.6079078045459028,-0.5991171621790272,-0.5910710052457944,-0.5836717582833444,-0.5768232204100059,-0.5704535296281392,-0.5645207207653584,-0.5583298163664949,-0.5526115130141989},
{-1.0546649770149088,-0.8999443438865455,-0.8261140400845761,-0.7752545191297031,-0.7374523593989579,-0.7088018459298837,-0.6859703887939759,-0.6692082725685395,-0.6541353295924637,-0.6413183628983461,-0.6295697682380705,-0.6188946595548259,-0.6092249571265711,-0.6004200306369967,-0.5923606232463499,-0.5849487421246522,-0.5780882172975907,-0.5717075499205748,-0.5657641098850945,-0.559561132113231,-0.553831793651625},
{-1.0557688215599228,-0.9014161415384478,-0.8276457930182914,-0.7767670309704044,-0.738935115014101,-0.7102500871960729,-0.6873956450390324,-0.6706124775637363,-0.6555235792511667,-0.6426906977403632,-0.6309227477686363,-0.6202312819195868,-0.6105459892505678,-0.6017267390725465,-0.5936540478487586,-0.5862294844046119,-0.5793569487059358,-0.5729652755353527,-0.5670111640201867,-0.5607960861452739,-0.5550556539783429},
{-1.0568767006293456,-0.9028924759745678,-0.8291821521834208,-0.7782840450518052,-0.7404222709983515,-0.711702622964367,-0.6888251155532998,-0.6720208014439777,-0.6569159413766101,-0.6440670658366798,-0.6322797095117494,-0.6215718413195646,-0.6118709126503745,-0.6030372992463526,-0.5949512903916911,-0.5875139964555274,-0.5806294263966265,-0.5742267172872744,-0.5682618941827968,-0.5620346899113429,-0.556283104868271},
{-1.0579886257855833,-0.9043733606217756,-0.8307231308881455,-0.779805574805323,-0.7419138405084595,-0.7131594661095733,-0.6902588128496063,-0.6734332563664793,-0.6583124280441552,-0.6454474785350612,-0.6336406651917059,-0.6229163495800094,-0.613199739218544,-0.6043517226944459,-0.5962523621692526,-0.5888022894514506,-0.5819056624359291,-0.5754918855418509,-0.5695163114023671,-0.5632769543508402,-0.5575141574290683},
{-1.0591046083268338,-0.9058588086104464,-0.8322687422742092,-0.7813316333085822,-0.7434098364064994,-0.7146206292827628,-0.6916967496390498,-0.674849854646709,-0.6597130511081559,-0.6468319470805,-0.6350056270403002,-0.624264817911353,-0.6145324805365817,-0.6056700211793213,-0.5975572742954682,-0.5900943746037228,-0.5831856683953447,-0.5767607908173886,-0.5707744267419912,-0.5645228907915225,-0.5587488224655317},
{-1.0602246598159581,-0.9073488332442139,-0.8338189994697132,-0.7828622338665809,-0.7449102717991991,-0.7160861254242263,-0.6931389383944406,-0.6762706087047263,-0.6611178226476113,-0.6482204829644616,-0.6363746069700937,-0.6256172577850521,-0.6158691485534291,-0.6069922062852129,-0.5988660383454771,-0.5913902633374164,-0.5844694561774304,-0.5780334437722559,-0.5720362514557564,-0.5657725104347264,-0.5599871112053734},
{-1.0613487917084967,-0.9088434480017895,-0.8353739157937525,-0.7843973898270633,-0.7464151595731892,-0.717555967293265,-0.6945853916531632,-0.6776955308641845,-0.6625267547979092,-0.6496130973719119,-0.637747617108289,-0.6269736809335882,-0.6172097552416744,-0.6083182898037194,-0.6001786657452612,-0.5926899669811974,-0.5857570381540427,-0.5793098550848299,-0.5733017964430474,-0.5670258244372235,-0.5612290345861766},
{-1.0624770156246086,-0.9103426662277343,-0.836933504643639,-0.7859371144786564,-0.7479245129325136,-0.7190301680493576,-0.6960361224728331,-0.6791246334541938,-0.6639398595234525,-0.6510098021617523,-0.6391246695120572,-0.6283340991567457,-0.618554312311062,-0.6096482835391726,-0.6014951678362195,-0.5939934968700982,-0.5870484259339719,-0.580590035280693,-0.5745710732317093,-0.5682828440067169,-0.5624746039175079},
{-1.06360934306349,-0.9118465013652894,-0.8384977792497921,-0.7874814212664205,-0.7494383450703026,-0.7205087406355233,-0.697491143415391,-0.6805579287311048,-0.6653571493425261,-0.6524106088163535,-0.6405057765296078,-0.6296985239787318,-0.6199028316978001,-0.610982199328646,-0.6028155560306914,-0.59530086498944,-0.5883436317344604,-0.5818739951182579,-0.5758440930021607,-0.5695435802899738,-0.5637238303315826},
{-1.0647457856612164,-0.9133549669991226,-0.8400667530772807,-0.7890303237272747,-0.7509566692096996,-0.7219916979429399,-0.6989504674120326,-0.6819954293050614,-0.6667786362495463,-0.6538155290309078,-0.6418909501326198,-0.631066967109291,-0.6212553255727471,-0.612320049203845,-0.6041398417892196,-0.596612082480533,-0.5896426673316455,-0.5831617453977742,-0.5771208670585111,-0.5708080445929227,-0.564976724816006},
{-1.0658863550597744,-0.9148680766029429,-0.8416404395302379,-0.790583835223515,-0.7524794984010441,-0.7234790531310864,-0.7004141071820413,-0.6834371473905776,-0.668204332600908,-0.6552245742932428,-0.6432802026465652,-0.6324394402854523,-0.6226118058202701,-0.613661845034585,-0.6054680364832166,-0.5979271610494834,-0.5909455447754226,-0.5844532967394116,-0.5784014067239696,-0.5720762476548771,-0.5662332985129979},
{-1.0670310629293454,-0.916385843766875,-0.8432188520205273,-0.7921419693466305,-0.7540068458401947,-0.7249708191302489,-0.7018820756802597,-0.6848830954259029,-0.6696342506766086,-0.6566377565613948,-0.6446735463077857,-0.6338159554006779,-0.6239722843638447,-0.6150075985897274,-0.6068001514240677,-0.5992461124269539,-0.5922522762084554,-0.5857486600762059,-0.5796857230807291,-0.5733482008090505,-0.5674935624583668},
{-1.068179921016963,-0.9179082823170575,-0.8448020041942073,-0.7937047397044807,-0.7555387250376953,-0.7264670092508823,-0.703354385921557,-0.6863332857528803,-0.6710684030385892,-0.6580550877015412,-0.6460709934090119,-0.6351965242929509,-0.6253367734580024,-0.6163573221319893,-0.6081361982423914,-0.6005689483517926,-0.5935628735578575,-0.5870478465058113,-0.5809738279322119,-0.5746239147956658,-0.5687575278016084},
{-1.0693329409941725,-0.9194354057576675,-0.8463899095208944,-0.7952721599576762,-0.7570751492767158,-0.7279676366633794,-0.7048310509817384,-0.6877877308206735,-0.6725068020823528,-0.6594765796662614,-0.6474725563484753,-0.6365811589857913,-0.6267052851262633,-0.6177110276494204,-0.6094761884342006,-0.6018956807138238,-0.5948773487680228,-0.5883508667047863,-0.5822657326925764,-0.5759034011589392,-0.5700252055121382},
{-1.070490134648935,-0.920967227955316,-0.8479825816702942,-0.7968442437904741,-0.7586161317576625,-0.7294727143480486,-0.7063120838793111,-0.6892464431293774,-0.673949460350741,-0.6609022442844434,-0.6488782476426422,-0.637969871061614,-0.6280778315767748,-0.6190687272410287,-0.6108201332499448,-0.6032263213510305,-0.5961957139315928,-0.589657731717125,-0.5835614484331018,-0.5771866703025808,-0.5712966066284935},
{-1.0716515138392424,-0.9225037627124948,-0.8495800341738686,-0.79842100494443,-0.7601616861174989,-0.7309822557581356,-0.7077974977428312,-0.6907094349517138,-0.675396390419337,-0.6623320937296739,-0.650288079492384,-0.6393626728222443,-0.6294544247175509,-0.6204304331095045,-0.6121680443884543,-0.604560882052283,-0.5975179805327571,-0.5909684528214711,-0.5848609871763983,-0.5784737334506644,-0.5725717420245928},
{-1.0728170903744285,-0.9240450238553422,-0.8511822807786302,-0.8000024572220354,-0.7617118256266622,-0.7324962740522096,-0.7092873055180462,-0.6921767189169259,-0.6768476049619494,-0.6637661400754951,-0.651702064276833,-0.6407595761729681,-0.6308350771823825,-0.62179615734658,-0.6135199330665273,-0.60589937513123,-0.598844161228044,-0.5922830413255724,-0.5861643598909723,-0.5797646012597397,-0.5738506228008191},
{-1.073986876134768,-0.9255910253036745,-0.8527893352061255,-0.8015886144230535,-0.76326656398669,-0.7340147825052554,-0.7107815207646127,-0.6936483074778153,-0.678303116645111,-0.6652043956619309,-0.6531202149099045,-0.642160593153676,-0.6322198007883344,-0.6231659123759528,-0.6148758108347465,-0.6072418125240802,-0.6001742675725836,-0.5936015082452286,-0.5874715784939326,-0.5810592850111789,-0.5751332596091743},
{-1.0751608830078112,-0.9271417810691673,-0.854401211331151,-0.8031794904645722,-0.764825914481662,-0.7355377947742454,-0.712280156527413,-0.6951242131162871,-0.6797629382890591,-0.6666468727225947,-0.6545425436879668,-0.6435657361089397,-0.633608607800852,-0.6245397102429706,-0.6162356891754825,-0.6085882061424854,-0.6015083112788489,-0.5949238650318875,-0.5887826543066694,-0.5823577952987762,-0.57641966384017},
{-1.0763391229552326,-0.9286973050789129,-0.8560179227883964,-0.8047750992682268,-0.7663898909386262,-0.737065323839488,-0.7137832262096708,-0.6966044482787765,-0.6812270827667817,-0.6680935834829143,-0.6559690632384445,-0.6449750168658284,-0.6350015105572311,-0.62591756340953,-0.6175995796866118,-0.6099385686275127,-0.6028463041448049,-0.5962501230387716,-0.5900975989188737,-0.5836601428582071,-0.5777098457119791},
{-1.077521607980998,-0.9302576114168915,-0.8576394835563406,-0.8063754548120414,-0.7679585067662629,-0.7385973832942909,-0.7152907429781408,-0.6980890255672421,-0.6826955628794167,-0.669544540485731,-0.65739978626425,-0.6463884478362161,-0.6363985214247805,-0.627299483956449,-0.6189674937204472,-0.6112929118626198,-0.6041882581675964,-0.5975802937500703,-0.591416423987539,-0.5849663385106396,-0.5790038165941951},
{-1.0787083500499648,-0.9318227142057367,-0.8592659075156917,-0.8079805711658992,-0.7695317756970326,-0.7401339865455157,-0.7168027202988014,-0.6995779575609049,-0.6841683916272814,-0.670999756146557,-0.658834725430097,-0.6478060410854596,-0.6377996525379785,-0.6286854845084235,-0.6203394429212494,-0.6126512483569968,-0.6055341849632896,-0.5989143886872625,-0.5927391410423297,-0.5862763933073438,-0.5803015871351818},
{-1.0798993612106642,-0.9333926275890008,-0.8608972085889945,-0.8095904623105525,-0.7711097114442964,-0.7416751470345844,-0.7183191718013404,-0.7010712566889197,-0.6856455819633993,-0.6724592431091878,-0.6602738933906949,-0.6492278091918706,-0.6392049164578566,-0.6300755774673235,-0.6217154387250048,-0.6140135906762225,-0.606884096570866,-0.6002524194855141,-0.5940657617329634,-0.5875903178794033,-0.581603168185211},
{-1.0810946535539188,-0.9349673657798121,-0.8625334008138452,-0.8112051424604942,-0.7726923277105016,-0.7432208785648982,-0.7198401105852099,-0.702568935722411,-0.687127146930834,-0.6739230138591665,-0.6617173029926562,-0.6506537642844705,-0.6406143253198024,-0.6314697752623033,-0.6230954928314532,-0.6153799510648241,-0.6082380042871591,-0.6015943978281939,-0.5953962976436742,-0.5889081229497606,-0.5829085704581303},
{-1.0822942392310324,-0.93654694305269,-0.8641744982132877,-0.8128246257065257,-0.7742796384300163,-0.7447711943705144,-0.7213655506666328,-0.7040710073333685,-0.6886130998391309,-0.6753910812221875,-0.6631649670516708,-0.6520839187151068,-0.6420278916530151,-0.6328680903088753,-0.6244796167175082,-0.6167503423966991,-0.6095959197509728,-0.6029403355123577,-0.5967307607088514,-0.5902298194441755,-0.5842178046550544},
{-1.0834981303119093,-0.9381313736435004,-0.8658205147444278,-0.8144489262294883,-0.7758716571315745,-0.7463261081929886,-0.7228955050431978,-0.7055774838399884,-0.6901034534885184,-0.676863457500076,-0.6646168983397729,-0.6535182848720069,-0.6434456277193021,-0.6342705351280529,-0.6258678220838192,-0.6181247767744935,-0.6109578547602723,-0.6042902441704427,-0.59806916195339,-0.5915554180910476,-0.5855308813297597},
{-1.084706339065633,-0.9397206720482245,-0.8674714647627297,-0.8160780585476459,-0.7774683979123438,-0.7478856335537785,-0.7244299876274454,-0.7070883781407247,-0.6915982215623444,-0.6783401559805498,-0.6660731098418182,-0.6549568753534913,-0.644867546054229,-0.6356771221471718,-0.6272601206746913,-0.6195032674449976,-0.612323820918391,-0.6056441358859956,-0.5994115136545588,-0.5928849297170018,-0.5868478114789468},
{-1.085918877608492,-0.9413148525168253,-0.8691273622171138,-0.817712036593548,-0.7790698744393012,-0.7494497841271368,-0.7259690120490632,-0.7086037030558145,-0.6930974170954869,-0.6798211891773462,-0.6675336144289759,-0.656399702618728,-0.646293659056937,-0.6370878640473165,-0.6286565240598065,-0.6208858269046686,-0.6136938298504901,-0.6070020225251938,-0.600757827124653,-0.594218365402412,-0.5881686055354294},
{-1.0871357582855126,-0.9429139296244102,-0.8707882214130223,-0.8193508749309331,-0.7806761009214824,-0.7510185737755819,-0.727512591715822,-0.7101234710489734,-0.694601053549377,-0.681306570146262,-0.6689984251761416,-0.6578467794170137,-0.6477239791947795,-0.6385027735022959,-0.6300570442090248,-0.62227246805287,-0.6150678929216156,-0.6083639158414371,-0.6021081143126139,-0.5955557360457533,-0.5894932742294259},
{-1.0883569933398576,-0.9445179178610488,-0.8724540566181531,-0.8209945880162195,-0.7822870913023507,-0.7525920160651367,-0.7290607408240248,-0.7116476950277502,-0.6961091442599354,-0.6827963115902094,-0.6704675550963657,-0.6592981180328934,-0.6491585189869511,-0.6399218629530878,-0.6314616926983945,-0.6236632037580421,-0.6164460217287342,-0.6097298281683834,-0.603462386641695,-0.596897052217173,-0.5908218282138478},
{-1.0895825951079132,-0.9461268317995746,-0.8741248821061163,-0.8226431901694014,-0.7839028595144555,-0.7541701248583195,-0.7306134728632969,-0.7131763877496269,-0.697621702746801,-0.6842904268432903,-0.6719410172290736,-0.6607537313066132,-0.6505972911036224,-0.641345145246305,-0.6328704817306061,-0.6250580469713896,-0.6178282280279745,-0.6110997714949917,-0.6048206561763436,-0.5982423253653906,-0.5921542782743927},
{-1.0908125759069662,-0.9477406860141855,-0.8758007121823539,-0.8242966959423939,-0.7855234195376397,-0.7557529137866368,-0.7321708013596435,-0.7147095619975516,-0.6991387425332505,-0.6857889283674012,-0.6734188245372934,-0.662213631967461,-0.6520403080603501,-0.6427726327419805,-0.6342834231518282,-0.6264570108487533,-0.6192145232507755,-0.6124737580466899,-0.6061829342879719,-0.5995915662706466,-0.593490635184935},
{-1.092046948197094,-0.9493594952064086,-0.8774815613514875,-0.8259551198598274,-0.7871487857319153,-0.7573403968508501,-0.7337327405557517,-0.7162472307472854,-0.700660277066163,-0.6872918295603085,-0.6749009904297054,-0.6636778325828345,-0.6534875822990216,-0.6442043383931377,-0.6357005288837172,-0.6278601082804016,-0.6206049188658653,-0.6138517999652322,-0.6075492331501664,-0.6009447860233195,-0.5948309095401783},
{-1.0932857243624312,-0.9509832740855018,-0.8791674439717099,-0.8276184765391008,-0.7887789720753062,-0.7589325879371245,-0.7352993041286027,-0.717789406785414,-0.7021863201716769,-0.6887991435860386,-0.6763875280257707,-0.6651463461948879,-0.6549391266862585,-0.6456402748808614,-0.637121810975259,-0.6292673525267674,-0.6219994267630682,-0.6152339091750036,-0.6089195642962295,-0.6023019961821774,-0.5961751125314549},
{-1.094528916926265,-0.9526120374739548,-0.8808583745121723,-0.8292867804993875,-0.7904139928341465,-0.760529500782468,-0.7368705059916465,-0.7193361029721927,-0.7037168854167248,-0.6903108834267186,-0.6778784503621864,-0.6666191854710632,-0.6563949535211577,-0.647080454810748,-0.6385472816928086,-0.6306787567109495,-0.6233980582246659,-0.616620098252497,-0.61029393951776,-0.6036632074765294,-0.5975232549189968},
{-1.0957765382927391,-0.954245800100125,-0.8825543675939116,-0.8309600466363918,-0.7920538622438471,-0.7621311494467591,-0.7384463600419622,-0.7208873325225795,-0.7052519865792419,-0.6918270621581541,-0.6793737709713241,-0.6680963634526051,-0.6578550760232247,-0.6485248912013049,-0.6399769532781647,-0.6320943342880128,-0.6248008251186548,-0.6180103795140894,-0.6116723708828431,-0.6050284315369936,-0.5988753481151434},
{-1.0970286010219752,-0.9558845768483479,-0.8842554376233238,-0.8326382895074858,-0.7936985945516426,-0.7637375477697788,-0.7400268802630308,-0.7224431082349838,-0.7067916374207925,-0.6933476930271354,-0.6808735028926094,-0.6695778927860374,-0.6593195066534463,-0.6499735965999207,-0.6414108379231038,-0.6335140981818768,-0.6262077391811545,-0.6194047650214998,-0.6130548699811698,-0.6063976797786381,-0.6002314031256901},
{-1.0982851177222983,-0.957528382727105,-0.885961599352413,-0.8343215240001882,-0.7953482041539246,-0.7653487098941696,-0.7416120808593405,-0.7240034434489644,-0.7083358518866589,-0.6948727894668991,-0.6823776598030236,-0.6710637867699916,-0.6607882581602098,-0.6514265838814026,-0.6428489480922508,-0.6349380619985823,-0.6276188122419626,-0.6208032677550364,-0.6144414489008341,-0.6077709634646453,-0.601591431435736},
{-1.0995461009683822,-0.9591772326425598,-0.8876728674313199,-0.8360097647209841,-0.7970027053879676,-0.7669646498106886,-0.7432019755706278,-0.7255683510256858,-0.7098846436747408,-0.6964023644341069,-0.6838862549057012,-0.67255405830565,-0.6622613434556115,-0.65288386611428,-0.6442912961574621,-0.6363662391577236,-0.6290340558534808,-0.6222058995308544,-0.615832119503466,-0.609148294478473,-0.6029554443739471},
{-1.100811563406296,-0.9608311416177457,-0.8893892565538408,-0.8377030268038652,-0.7986621126465252,-0.7685853815719383,-0.7447965787614521,-0.7271378441919296,-0.7114380268349123,-0.6979364312701364,-0.6853993016047752,-0.6740487203896919,-0.6637387752989525,-0.6543454561178805,-0.645737894584272,-0.6377986427214637,-0.6304534821229026,-0.6236126728117597,-0.6172268935961256,-0.6105296840896699,-0.6043234537692115},
{-1.1020815177075747,-0.9624901248257629,-0.8911107814774368,-0.8394013249662748,-0.800326440428762,-0.7702109192650823,-0.7463959043770956,-0.7287119361253644,-0.7129960153597494,-0.6994750031790318,-0.6869168132234336,-0.6755477861343024,-0.6652205667060116,-0.6558113665951169,-0.647188756012838,-0.6392352864377244,-0.6318771026126342,-0.6250236004152612,-0.618625783362404,-0.6119151442781003,-0.6056954710902573},
{-1.103355976651983,-0.9641541973364838,-0.8928374569868538,-0.8411046743794941,-0.801995703227476,-0.771841276896339,-0.7479999663864874,-0.7302906403983798,-0.7145586233782524,-0.7010180937413679,-0.6884388034941367,-0.6770512687653536,-0.6667067307134857,-0.657281610494465,-0.6486438932179226,-0.6406761835532961,-0.633304929924634,-0.6264386945404112,-0.6200288007976269,-0.6133046870490944,-0.6070715085097618},
{-1.1046349529019608,-0.9658233742438824,-0.8945692979332307,-0.8428130898328163,-0.8036699157191833,-0.7734764689057556,-0.7496087794297637,-0.731873970147717,-0.7161258646774513,-0.7025657160829724,-0.6899652858801346,-0.6785591815232692,-0.6681972800151925,-0.6587562009899557,-0.6501033186214045,-0.6421213475723562,-0.6347369756322223,-0.6278579678664755,-0.621435957864378,-0.6146983239577821,-0.6084515777165507},
{-1.105918459278655,-0.967497670982084,-0.8963063193032212,-0.8445265864738758,-0.8053490921956836,-0.7751165094578027,-0.7512223573839947,-0.7334619387538623,-0.7176977537938001,-0.7041178838017004,-0.691496274012934,-0.6800715376120934,-0.6696922278415514,-0.6602351509618529,-0.6515670451390179,-0.6435707917389664,-0.6361732520026635,-0.6292814327689484,-0.6228472666116431,-0.6160960676597824,-0.6098356912898453},
{-1.1072065086227667,-0.969177102723279,-0.8980485359170416,-0.8462451794694061,-0.8070332476127078,-0.7767614125923501,-0.7528407146801328,-0.7350545598064855,-0.7192743046571195,-0.7056746100888631,-0.6930317811065834,-0.6815883502640645,-0.6711915872865575,-0.6617184735514456,-0.6530350857356098,-0.6450245295527566,-0.6376137711977208,-0.630709101857974,-0.6242627394012743,-0.617497929705678,-0.6112238612804504},
{-1.1084991137736324,-0.9708616848097336,-0.8997959628486569,-0.8479688837942376,-0.8087223964330406,-0.7784111926048354,-0.7544638653889706,-0.7366518468224967,-0.7208555315446574,-0.7072359083813353,-0.6945718213028158,-0.6831096328105559,-0.6726953714687625,-0.6632061815753332,-0.654507453135011,-0.646482574627953,-0.6390585455337714,-0.6321409878601116,-0.6256823880430602,-0.6189039226001114,-0.6126161003194284},
{-1.1097962876629026,-0.972551432659202,-0.9015486151038203,-0.8496977149452505,-0.8104165534996355,-0.7800658639453104,-0.7560918240906176,-0.7382538136471339,-0.7224414487982358,-0.7088017922924337,-0.6961164080084927,-0.6846353987220937,-0.6742035935421882,-0.6646982882148222,-0.6559841605294423,-0.6479449400521844,-0.6405075875318289,-0.6335771030808246,-0.6271062252535557,-0.6203140591023839,-0.6140124211078728},
{-1.1110980431535609,-0.9742463617262729,-0.9033065078128857,-0.8514316879090984,-0.8121157335253884,-0.7817254407409564,-0.757724605009571,-0.7398604737500136,-0.724032070604153,-0.7103722751553505,-0.697665554807827,-0.6861656612409206,-0.6757162668600358,-0.6661948066366676,-0.657465220816448,-0.649411639436039,-0.6419609096419663,-0.6350174602812331,-0.6285342630881132,-0.6217283512942231,-0.6154128361440598},
{-1.112404393286397,-0.9759464874987316,-0.905069656080741,-0.853170818021681,-0.813819951392361,-0.7833899375982583,-0.7593622224922001,-0.7414718410218484,-0.7256274115925407,-0.7119473706188728,-0.6992192756397344,-0.687700434135877,-0.677233404544495,-0.6676957498366392,-0.6589506471536879,-0.650882685943543,-0.6434185241814703,-0.6364620718923106,-0.6299665135438772,-0.6231468122095976,-0.6168173587693673},
{-1.1137153510226199,-0.9776518255553128,-0.9068380751141376,-0.8549151206898387,-0.8155292220344563,-0.7850593688490335,-0.7610046912905091,-0.7430879294852275,-0.7272274861297774,-0.7135270921189658,-0.7007775840174872,-0.6892397306273779,-0.6787550202516286,-0.6692011312352406,-0.6604404530180545,-0.6523580930979733,-0.6448804439696687,-0.6379109509362024,-0.6314029897248474,-0.6245694542312776,-0.6182260016767032},
{-1.1150309294475846,-0.979362391406994,-0.908611780031606,-0.856664611229462,-0.8172435601900361,-0.7867337488187331,-0.7626520252697446,-0.7447087529089913,-0.7288323082848365,-0.7151114531225176,-0.7023404937935993,-0.6907835642559803,-0.6802811270417806,-0.6707109635817687,-0.6619346512707125,-0.653837873653174,-0.646346681119212,-0.6393641095728526,-0.6328437032370857,-0.6259962902631742,-0.6196387780200894},
{-1.1163511416466463,-0.9810782008757997,-0.910390786316384,-0.8584193052165574,-0.8189629808957761,-0.7884130919892414,-0.7643042394356598,-0.7463343255958534,-0.7304418932662884,-0.7167004674010968,-0.7039080189169908,-0.6923319486841137,-0.681811738549186,-0.67222526043588,-0.6634332556250229,-0.6553220413497911,-0.6478172492115846,-0.6408215606261365,-0.6342886672027817,-0.627427333288324,-0.6210557013191647},
{-1.1176760006605946,-0.9827992695154535,-0.9121751090569887,-0.8601792179433687,-0.8206874991465156,-0.7900974129452152,-0.7659613481573615,-0.7479646616293394,-0.7320562551776675,-0.7182941483915783,-0.7054801732165288,-0.6938848975669316,-0.6833468681943486,-0.6737440346150834,-0.6649362789930819,-0.6568106091290247,-0.649292160576806,-0.6422833169090154,-0.6357378935153974,-0.6288625962788501,-0.6224767846151735},
{-1.1190055197453148,-0.9845256131829956,-0.9139647639149189,-0.8619443650750327,-0.82241712997984,-0.7917867263022345,-0.7676233659067293,-0.749599775277602,-0.7336754088637463,-0.7198925098909967,-0.7070569703946603,-0.6954424247796851,-0.6848865298252349,-0.6752672996908586,-0.666443735570283,-0.6583035901385301,-0.6507714282106463,-0.6437493910925696,-0.6371913954244519,-0.6303020926943645,-0.6239020415951018},
{-1.1203397120784757,-0.9862572476608875,-0.915759766166957,-0.8637147621629992,-0.824151888607048,-0.7934810465203554,-0.7692903075430877,-0.7512396810843711,-0.7352993689855793,-0.7214955654089863,-0.708638424430319,-0.6970045436764849,-0.6864307365694913,-0.6767950686034965,-0.6679556382823648,-0.6598009975705281,-0.6522550650443009,-0.6452197955068186,-0.638649185047143,-0.631745835044967,-0.6253314853447591},
{-1.1216785908300153,-0.9879941888511894,-0.917560131267237,-0.8654904248378443,-0.8258917900839151,-0.7951803882178865,-0.7709621875019366,-0.7528843932723248,-0.7369281502433296,-0.7231033289526749,-0.7102245493797454,-0.6985712682726444,-0.6879795027380169,-0.6783273546561759,-0.6694720012455946,-0.6613028442316136,-0.6537430842108733,-0.646694543389458,-0.6401112753537745,-0.6331938372959485,-0.6267651299303907},
{-1.1230221693003841,-0.9897364526559613,-0.9193658746953588,-0.8672713688256408,-0.8276368494889539,-0.7968847659540188,-0.7726390202733455,-0.754533926633485,-0.7385617674444802,-0.7247158138543455,-0.711815359089087,-0.7001426122678822,-0.6895328416967459,-0.6798641709219737,-0.6709928379932535,-0.6628091433667578,-0.6552354987770741,-0.6481736472824196,-0.6415776786006973,-0.634646112336668,-0.6282029886069722},
{-1.1243704608832559,-0.9914840550363806,-0.9211770121974041,-0.8690576098069869,-0.8293870822662939,-0.7985941945544255,-0.7743208209767545,-0.756188295854372,-0.7402002353665011,-0.7263330341147594,-0.7134108674517847,-0.7017185896220326,-0.6910907672518078,-0.6814055309660034,-0.6725181622205127,-0.6643199076088422,-0.656732321722302,-0.6496571199595564,-0.6430484079492089,-0.636102673735877,-0.629645074891414},
{-1.125723478818145,-0.9932370120905034,-0.9229935593421033,-0.8708491635343307,-0.8311425035435605,-0.8003086888402322,-0.7760076041613502,-0.7578475157015419,-0.741843569010598,-0.7279550037537774,-0.7150110886586845,-0.7032992142330841,-0.69265329335758,-0.6829514475039105,-0.6740479879226768,-0.6658351501637298,-0.6582335663806589,-0.6511449737972725,-0.6445234759285086,-0.6375635348786091,-0.6310914025598322},
{-1.1270812364723497,-0.9949953397299396,-0.9248155317272904,-0.8726460459220107,-0.8329031289140403,-0.8020282634097384,-0.7776993847483027,-0.7595116012116705,-0.7434917834179942,-0.7295817364620234,-0.7166160368533383,-0.7048845003009774,-0.694220434134877,-0.6845019344582397,-0.6755823294497532,-0.6673548842554737,-0.6597392463991127,-0.6526372224288934,-0.6460028959854753,-0.6390287095591702,-0.6325419853983476},
{-1.128443747350957,-0.9967590543024016,-0.9266429451954536,-0.8744482727843206,-0.8346689733762105,-0.8037529330867983,-0.7793961773122646,-0.7611805673186609,-0.7451448932833955,-0.7312132460547218,-0.7182257257854872,-0.7064744613626317,-0.6957922031642738,-0.6860570044855194,-0.6771212003486653,-0.6688791218921324,-0.6612493744169115,-0.6541338777878991,-0.6474866802473116,-0.6404982104750161,-0.633996836645565},
{-1.1298110249390447,-0.9985281718390979,-0.9284758154335577,-0.8762558600064949,-0.8364400524660596,-0.8054827125715747,-0.7810979967116509,-0.7628544291228536,-0.7468029139290593,-0.7328495466172171,-0.7198401698296948,-0.708069111838995,-0.6973686146111504,-0.6876166708334495,-0.6786646148730142,-0.6704078766351813,-0.6627639641465066,-0.6556349533302637,-0.6489748418889576,-0.6419720519579641,-0.6354559702249389},
{-1.1311830826762161,-1.000302708723666,-0.930314158328656,-0.878068823747526,-0.8382163818578192,-0.8072176169471277,-0.7828048581504845,-0.7645332019819762,-0.7484658604362266,-0.7344906520593213,-0.7214593829066871,-0.7096684655707577,-0.6989496826017785,-0.6891809469279906,-0.680212587171809,-0.671941161007453,-0.6642830289429185,-0.6571404617152439,-0.650467394098996,-0.6434502468173378,-0.6369193994732996},
{-1.132559934136225,-1.0020826811019106,-0.9321579898132768,-0.8798871796780077,-0.8399979768537378,-0.8089576610145741,-0.7845167763298377,-0.7662169012328377,-0.750133747752443,-0.7361365767519601,-0.7230833794346836,-0.7112725372817295,-0.7005354210905352,-0.6907498460459465,-0.6817651319170182,-0.6734789879319578,-0.6658065823485231,-0.658650415766715,-0.6519643497595098,-0.6449328091721327,-0.6383871383022779},
{-1.1339415928409835,-1.0038681054252265,-0.934007325674429,-0.8817109442743458,-0.8417848531762502,-0.810702859786943,-0.7862337662400023,-0.7679055424378021,-0.7518065912536258,-0.7377873345694752,-0.724712173451735,-0.7128813405333858,-0.7021258445765852,-0.6923233810948659,-0.6833222630602904,-0.6750213703571717,-0.6673346378165661,-0.6601648284358816,-0.6534657217662243,-0.6464197521245296,-0.6398591998076881},
{-1.1353280724442811,-1.005658998022227,-0.9358621820074404,-0.8835401333135451,-0.8435770263258746,-0.8124532281553911,-0.7879558429831377,-0.7695991410528222,-0.7534844060910473,-0.7394429398336797,-0.7263457790550092,-0.7144948899476731,-0.703720966950641,-0.6939015657353593,-0.6848839955036965,-0.6765683209832787,-0.6688672086056613,-0.6616837129440682,-0.6549715234959876,-0.6479110893533289,-0.6413355978575055},
{-1.1367193866690286,-1.0074553753752298,-0.937722574792133,-0.8853747633420426,-0.8453745121287284,-0.8142087811584133,-0.7896830214276633,-0.7712977129194769,-0.7551672076760951,-0.7411034067945366,-0.7279842108391676,-0.7161131998700512,-0.7053208029647067,-0.695484413142367,-0.6864503436027007,-0.6781198529424728,-0.6704043089048355,-0.6632070819978253,-0.6564817680255146,-0.6494068341098682,-0.6428163460996075},
{-1.1381155491017125,-1.0092572539911089,-0.9395885201629426,-0.8872148502287018,-0.8471773261017006,-0.8159695339918471,-0.7914153168512712,-0.7730012738602454,-0.7568550111909644,-0.7427687497656734,-0.7296274828340756,-0.7177362846396136,-0.7069253664594726,-0.6970719365672267,-0.6880213219164943,-0.6796759789158386,-0.6719459518999429,-0.664734948959449,-0.6579964682459831,-0.6509070000493011,-0.6443014574842891},
{-1.1395165735220871,-1.0110646504667784,-0.9414600343734492,-0.8890604104526574,-0.8489854840954649,-0.8177355017287482,-0.7931527442524384,-0.7747098396994261,-0.7585478323198913,-0.7444389833071909,-0.7312756093833741,-0.719364158649114,-0.7085346721023598,-0.6986641493704155,-0.6895969450888515,-0.6812367119709961,-0.6734921511697394,-0.6662673267501305,-0.6595156378452884,-0.6524116010459693,-0.6457909456685229},
{-1.1409224737672048,-1.012877581392786,-0.9433371334480398,-0.8909114603320631,-0.8507990020343641,-0.8195066994403533,-0.794895319079842,-0.7764234265714549,-0.7602456861613973,-0.7461141219137062,-0.7329286048816357,-0.7209968365568784,-0.71014873427157,-0.7002610649860799,-0.6911772282946913,-0.6828020652619671,-0.6750429208523201,-0.6678042284993353,-0.6610392900420266,-0.6539206498473504,-0.6472848237099242},
{-1.1423332635799852,-1.014696063415613,-0.9452198337266964,-0.892768016107766,-0.8526178955689829,-0.8212831423752505,-0.7966430560218214,-0.7781420505816641,-0.761948588336054,-0.7477941799261316,-0.7345864835451721,-0.7226343326974529,-0.7117675673634949,-0.7018626966128068,-0.6927621860713771,-0.6843720515253153,-0.6765982738188541,-0.6693456674865956,-0.6625674375782182,-0.6554341600012776,-0.6487831050981185},
{-1.1437489567983903,-1.0165201132140282,-0.9471081514884645,-0.8946300944126051,-0.8544421806909668,-0.8230648457256393,-0.7983959706371024,-0.7798657280291081,-0.7636565544562472,-0.7494791722992886,-0.7362492600241239,-0.7242766617027883,-0.71339118605556,-0.703469057755683,-0.6943518333682732,-0.6859466843343398,-0.6781582247313054,-0.6708916570642032,-0.6641000945774067,-0.6569521450965112,-0.6502858029944036},
{-1.1451695673463291,-1.0183497476864432,-0.9490021031169817,-0.8964977114810608,-0.8562718734365262,-0.8248518247219181,-0.8001540782333905,-0.7815944751628194,-0.7653696000415948,-0.7511691135023284,-0.7379169486421233,-0.7259238383467164,-0.7150196049788065,-0.7050801620507627,-0.695946185327557,-0.6875259765993178,-0.6797227868682967,-0.6724422101633536,-0.6656372737515994,-0.65847461847261,-0.651792930184456},
{-1.1465951091986426,-1.0201849835575558,-0.9509017050095281,-0.8983708840578402,-0.858106989731823,-0.826644094866424,-0.8019173939637767,-0.783328308551063,-0.7670877404780185,-0.7528640185546465,-0.7395895637509966,-0.7275758771329492,-0.7166528383277182,-0.7066960231049961,-0.6975452567039611,-0.6891099412941912,-0.6812919739240897,-0.6739973403409749,-0.6671789887222985,-0.6600015931171583,-0.6533044997941033},
{-1.148025596304251,-1.0220258377366918,-0.9528069736925318,-0.9002496285820598,-0.8599475457976951,-0.8284416716178384,-0.803685933557972,-0.7850672447029865,-0.7688109918690316,-0.754563902351947,-0.7412671200509067,-0.7292327930053943,-0.7182909015336918,-0.7083166544070991,-0.6991490630880435,-0.6906985925688787,-0.6828657998048584,-0.6755570612422162,-0.668725253489356,-0.6615330830472885,-0.6548205249964667},
{-1.149461042639814,-1.0238723271186245,-0.9547179255450828,-0.9021339616938349,-0.8617935574384319,-0.8302445700501266,-0.8054597119180471,-0.78681130010591,-0.7705393694332088,-0.7562687795862075,-0.7429496315435244,-0.7308946003586243,-0.719933808634778,-0.7099420694603396,-0.7007576189862448,-0.6922919427279339,-0.6844442780857207,-0.6771213855599854,-0.6702760807365848,-0.6630691008494978,-0.6563410178487175},
{-1.150901462321599,-1.0257244687586535,-0.9566345773919238,-0.9040239001569716,-0.8636450410895122,-0.8320528057938645,-0.8072387446309222,-0.7885604915836666,-0.7722728890184953,-0.7579786655396674,-0.7446371134046785,-0.7325613143311784,-0.7215815747431407,-0.7115722822200041,-0.7023709401491942,-0.6938900060940796,-0.6860274226564798,-0.678690327631557,-0.671831484647555,-0.6646096603271872,-0.6578659919487109},
{-1.1523468694040275,-1.027582279649323,-0.9585569455257428,-0.9059194606070378,-0.8655020126780073,-0.8338663943022766,-0.8090230473690099,-0.7903148360692285,-0.7740115664273617,-0.7596935752344507,-0.7463295798561376,-0.7342329496914317,-0.7232342144125141,-0.713207306564982,-0.7039890415617265,-0.6954927960514397,-0.687615247771646,-0.6802639004954472,-0.6733914785809247,-0.6661547747035002,-0.6593954592217415},
{-1.1537972780474774,-1.0294457769159635,-0.9604850469513622,-0.9078206598132965,-0.8673644887112459,-0.8356853512914313,-0.8108126354891283,-0.7920743504246275,-0.7757554175323094,-0.7614135242374687,-0.7480270458008818,-0.7359095215115303,-0.724891742627733,-0.7148471561431506,-0.7056119384778867,-0.6971003259277495,-0.6892077666561818,-0.6818421179832512,-0.6749560759953965,-0.667704457585387,-0.6609294323043287},
{-1.155252702395046,-1.031314977668444,-0.9624188983780186,-0.909727514675069,-0.8692324854328035,-0.8375096922864032,-0.8126075247328117,-0.7938390515437277,-0.7775044579075256,-0.7631385273489286,-0.7497295255980134,-0.7375910443697649,-0.7265541742981441,-0.716491844871598,-0.7072396460844175,-0.6987126098247245,-0.6908049933736038,-0.6834249933081082,-0.6765252908789989,-0.6692587220341011,-0.6624679238575482},
{-1.1567131567267097,-1.0331898991171329,-0.9643585163421449,-0.911640042034378,-0.8711060191408251,-0.8393394329659714,-0.814407730412313,-0.7956089565213915,-0.7792587036437908,-0.7648686003058174,-0.7514370338931258,-0.739277533513814,-0.7282215243085375,-0.7181413872867779,-0.7088721799100313,-0.70032966132203,-0.6924069419619627,-0.685012540759999,-0.6780991368668765,-0.6708175814637798,-0.6640109462914552},
{-1.1581786552251288,-1.0350705585296964,-0.9663039179567932,-0.9135582588796751,-0.8729851062407761,-0.8411745888242876,-0.8162132680417926,-0.7973840824988656,-0.7810181704035131,-0.7666037580720513,-0.753149585662868,-0.7409690037657128,-0.7298938075291517,-0.7197957967327966,-0.710509555155113,-0.7019514945968695,-0.6940136258644998,-0.6866047735957181,-0.6796776275505181,-0.672381049453179,-0.6655585111375331},
{-1.15964921228624,-1.0369569732392847,-0.9682551201121896,-0.9154821821084624,-0.8748697632636322,-0.843015175903929,-0.8180241538075279,-0.7991644467965671,-0.7827828741237681,-0.7683440166356377,-0.7548671955546524,-0.7426654703995155,-0.7315710389384549,-0.7214550879971284,-0.7121517867826697,-0.7035781233407761,-0.6956250593666482,-0.6882017059533609,-0.6812607770834802,-0.6739491393400385,-0.6671106311750918},
{-1.161124842184563,-1.0388491605690433,-0.9702121397085648,-0.9174118287646706,-0.876760006683071,-0.8448612098763988,-0.8198404031227255,-0.8009500665684754,-0.7845528308298526,-0.7700893914416156,-0.7565898783414013,-0.7443669482072437,-0.7332532336758959,-0.723119275060526,-0.7137988902513825,-0.7052095614526479,-0.697241256210873,-0.689803351190676,-0.6828485990672561,-0.6755218647267611,-0.6686673185358813},
{-1.1626055592996636,-1.0407471379112394,-0.9721749937898494,-0.9193472159531666,-0.8786558530955517,-0.8467127067360707,-0.8216620318262358,-0.8027409592186814,-0.7863280563506123,-0.7718398980132406,-0.7583176487087258,-0.746073452553901,-0.7349404069273078,-0.7247883725785869,-0.7154508812454878,-0.7068458239464235,-0.6988622304443197,-0.6914097239459807,-0.6844411075635435,-0.6770992391930122,-0.6702285849478358},
{-1.1640913781088784,-1.0426509228173018,-0.9741436994445394,-0.9212883607960975,-0.8805573190029463,-0.8485696822053796,-0.8234890554149388,-0.8045371421439995,-0.7881085665367209,-0.7735955521102369,-0.7600505216178135,-0.7477849983342821,-0.7366325734064958,-0.7264623946921347,-0.7171077741322733,-0.7084869238560714,-0.7004879957457888,-0.6930208374642461,-0.686038316522172,-0.6786812760019529,-0.671794442441751},
{-1.1655823130167846,-1.044560532761352,-0.9761182738284333,-0.9232352804647235,-0.8824644211381383,-0.8504321522559621,-0.8253214898850274,-0.8063386328485649,-0.7898943775926455,-0.7753563697033314,-0.7617885120289429,-0.7495016008397215,-0.7383297484038849,-0.7281413558494023,-0.7187695848215299,-0.7101328762792036,-0.7021185663415963,-0.6946367059726981,-0.6876402396765116,-0.680267989560889,-0.6733649032603353},
{-1.1670783785734784,-1.0464759853384749,-0.9780987341328,-0.9251879922330772,-0.8843771762221877,-0.8523001330122497,-0.827159351310911,-0.8081454488365125,-0.7916855053354084,-0.7771223663348792,-0.7635316347686967,-0.7512232751605552,-0.7400319470471004,-0.7298252708869768,-0.7204363279433892,-0.7117836954057566,-0.7037539560205914,-0.6962573436985622,-0.6892468911864853,-0.6818593927500842,-0.6749399790696771},
{-1.1685795893486102,-1.0483972981728584,-0.980085097691699,-0.9271465133160746,-0.886295601013444,-0.8541736405131815,-0.8290026552576819,-0.8099576075810546,-0.7934819657029948,-0.7788935581938858,-0.7652799049283203,-0.7529500367190849,-0.741739184414655,-0.7315141543313075,-0.7221080188310225,-0.7134393953729159,-0.7053941788581142,-0.6978827642187753,-0.6908582850046514,-0.6834554997276427,-0.6765196822279904},
{-1.1700859598850002,-1.0503244889978305,-0.9820773817500594,-0.9291108611087111,-0.888219712352111,-0.8560526909232067,-0.8308514180125712,-0.8117751270265217,-0.7952837748416641,-0.7806699608963754,-0.767033337499015,-0.7546819004692225,-0.7434514759015656,-0.7332080210044296,-0.7237846722682661,-0.7150999910936662,-0.7070392489622463,-0.6995129821016235,-0.6924744358857424,-0.6850563236885137,-0.6781040243367897},
{-1.1715975048200562,-1.0522575754575882,-0.9840756035955565,-0.9310810529013906,-0.8901495269574298,-0.8579373003049113,-0.8327056551361238,-0.8135980243841914,-0.7970909486048185,-0.7824515906640954,-0.7687919473482907,-0.7564188818541879,-0.7451688365445079,-0.7349068855492078,-0.7254663034646001,-0.7167654970207877,-0.708689179877183,-0.7011480112632853,-0.6940953571747741,-0.6866618790581924,-0.6796930174587033},
{-1.1731142389144225,-1.054196575450078,-0.9860797808432835,-0.9330571063783282,-0.8920850619961129,-0.8598274848845904,-0.8345653828728246,-0.8154263177648318,-0.7989035032123866,-0.7842384634632253,-0.7705557497110931,-0.7581609960270725,-0.7468912817321325,-0.73661076325061,-0.7271529274867135,-0.71843592768073,-0.7103439864858956,-0.7027878660137503,-0.6957210634072908,-0.688272179580963,-0.6812866743193808},
{-1.174636176788681,-1.0561415067313646,-0.9880899308463995,-0.935039038740797,-0.8940263343047263,-0.8617232611049985,-0.8364306173552905,-0.817260024825373,-0.8007214542531074,-0.786030595545526,-0.7723247599533352,-0.7599082585393262,-0.7486188268094338,-0.7383196688388125,-0.7288445589210824,-0.7201112978455058,-0.7120036822652764,-0.7044325606375423,-0.6973515687741383,-0.6898872388765085,-0.6828850064048311},
{-1.176163333279419,-1.0580923873258143,-0.9901060712491017,-0.9370268676311753,-0.8959733607744056,-0.8636246451678744,-0.8383013744432901,-0.8190991632645819,-0.8025448183070694,-0.7878280029854068,-0.7740989929870921,-0.7616606847213916,-0.7503514869940773,-0.7400336174086988,-0.7305412124824215,-0.7217916223389693,-0.7136682819136695,-0.7060821093991763,-0.6989868874716194,-0.6915070715776892,-0.6844880264334279},
{-1.1776957231313645,-1.0600492351577486,-0.9921282196337415,-0.9390206107400445,-0.8979261587892324,-0.8655316537324325,-0.8401776705686643,-0.8209437509494819,-0.8043736110203099,-0.7896307022056135,-0.7758784641064267,-0.7634182896872517,-0.7520892775164612,-0.741752624304354,-0.7322429030982676,-0.7234769158385461,-0.7153377992544847,-0.7077365265877233,-0.7006270342926655,-0.6931316909976886,-0.6860957468570632},
{-1.1792333612406765,-1.0620120681905973,-0.9941563936117745,-0.9410202854987801,-0.8998847452430709,-0.8674443028121459,-0.8420595215338835,-0.8227938056734274,-0.8062078484235826,-0.7914387089249431,-0.7776631888109478,-0.7651810890756678,-0.7538322140308082,-0.7434767045378976,-0.7339496454642358,-0.7251671931171586,-0.717012248131141,-0.7093958265559195,-0.7022720226668753,-0.6947611112100276,-0.6877081800093947},
{-1.1807762624894167,-1.0639809045978836,-0.9961906109401752,-0.9430259099171963,-0.9018491374672521,-0.8693626092835984,-0.8439469437635125,-0.8246493454225856,-0.8080475467340875,-0.7932520399263012,-0.7794531822619319,-0.7669490983180367,-0.7555803119366828,-0.7452058737480911,-0.7356614544296463,-0.7268624693551828,-0.7186916435002786,-0.7110600239366249,-0.7039218679710757,-0.6963953469658009,-0.6893253392481711},
{-1.1823244417719252,-1.065955762393969,-0.9982308894886955,-0.945037501389379,-0.903819352636674,-0.8712865894949573,-0.8458399534292766,-0.8265103881085452,-0.8098927217870369,-0.7950707112149757,-0.7812484599617164,-0.7687223328557593,-0.7573335864399269,-0.7469401469707009,-0.737378343965247,-0.7285627593146273,-0.7203759996846202,-0.7127291330780281,-0.7055765839377273,-0.6980344117382629,-0.690947236640568},
{-1.1838779141303348,-1.067936659866973,-1.0002772470061245,-0.9470550779687983,-0.9057954078989496,-0.8732162602791504,-0.8477385668329589,-0.8283769515201129,-0.8117433895786235,-0.7968947397594093,-0.7830490371770793,-0.7705008083166831,-0.7590920529910363,-0.7486795401082418,-0.7391003293769245,-0.7302680779002912,-0.722065330794976,-0.7144031681036722,-0.7072361848640867,-0.6996783199183483,-0.6925738860418278},
{-1.1854366945599395,-1.0699236151967852,-1.0023297014895434,-0.9490786573596779,-0.9077773209628504,-0.875151638432726,-0.8496428005655616,-0.8302490538853817,-0.8135995661532434,-0.7987241415430617,-0.7848549297823411,-0.7722845399539437,-0.7608557276553256,-0.750424068569373,-0.7408274249210081,-0.7319784406599865,-0.7237596511831725,-0.7160821443558234,-0.7089006863316172,-0.701327086198944,-0.6942053007096547},
{-1.1870007980910486,-1.0719166466651586,-1.0043882707732337,-0.951108257481792,-0.9097651088723069,-0.8770927403274982,-0.8515526703586147,-0.8321267127821557,-0.8154612674416057,-0.8005589329504801,-0.786666152835096,-0.774073543419945,-0.7626246253084901,-0.7521737480246884,-0.7425596447628777,-0.7336938620137516,-0.7254589749718434,-0.7177660756424302,-0.7105701017853789,-0.7029807242042807,-0.6958414934333632},
{-1.1885702399581533,-1.073915772766668,-1.006452973029809,-0.9531438963831533,-0.9117587892706069,-0.8790395830537818,-0.8534681930796069,-0.8340099464512605,-0.8173285095426763,-0.8023991306617972,-0.7884827223570028,-0.7758678343743668,-0.7643987616729646,-0.7539285944003495,-0.7442970040356158,-0.7354143573929832,-0.7271633176478645,-0.7194549767773424,-0.7122444456554149,-0.7046392487427511,-0.6974824786320823},
{-1.1901450351419953,-1.0759210117466864,-1.008523826207238,-0.9551855919717127,-0.9137583794827151,-0.8809921832953478,-0.8553893850976237,-0.8358987728006468,-0.8192013083898928,-0.8042447511061255,-0.7903046536866896,-0.7776674286296839,-0.7661781525075639,-0.7556886235806815,-0.7460395168345713,-0.7371399415460473,-0.7288726928600227,-0.7211488631428438,-0.713923733835145,-0.7063026742289367,-0.6991282700182637},
{-1.191725198948916,-1.0779323821834623,-1.0106008485890925,-0.9572333623627856,-0.9157638972892528,-0.8829505580588375,-0.8573162628090358,-0.8377932100174803,-0.8210796798302908,-0.806095811330124,-0.7921319628867423,-0.7794723419174261,-0.7679628132382277,-0.757453851459104,-0.7477871976734605,-0.7388706301344428,-0.7305871159605886,-0.7228477487251439,-0.7156079793430763,-0.7079710150446772,-0.7007788816417815},
{-1.1933107466065849,-1.0799499026097692,-1.0126840582806835,-0.9592872256298506,-0.9177753602680241,-0.8849147245955464,-0.8592488429412697,-0.8396932758705589,-0.8229636400128584,-0.8079523272454026,-0.7939646653057935,-0.7812825893752233,-0.7697527594327767,-0.7592242942419034,-0.7495400614579921,-0.7406064380784301,-0.732306600449192,-0.7245516485108965,-0.7172971979971408,-0.7096442863021366,-0.702434327266019},
{-1.194901693369502,-1.0819735915583806,-1.0147734736092389,-0.9613471998227396,-0.9197927860441268,-0.8868846997256696,-0.8611871418379451,-0.8415989887298565,-0.8248532050820359,-0.809814315879521,-0.795802777103745,-0.7830981875658836,-0.7715480070482954,-0.7609999682626949,-0.7512981223208044,-0.7423473807639311,-0.7340311628367999,-0.7262605774994881,-0.7189914042719465,-0.7113225019193123,-0.7040946221759441},
{-1.1964980546085826,-1.0840034676284631,-1.0168691128837963,-0.9634133034005572,-0.9218161922235595,-0.8888605003630801,-0.8631311759645541,-0.8435103662468464,-0.8267483905347035,-0.8116817939098837,-0.7976463139257248,-0.7849191516897918,-0.7733485712178663,-0.7627808894403643,-0.7530613948902101,-0.744093472957502,-0.7357608161710232,-0.7279745502091828,-0.7206906124147281,-0.7130056767327915,-0.7057597800467192},
{-1.1980998456965608,-1.0860395496601996,-1.0189709944288552,-0.9654855544886232,-0.923845596836145,-0.8908421440828533,-0.865080962286811,-0.8454274268433437,-0.8286492126153462,-0.8135547779429544,-0.7994952918434137,-0.7867454980532784,-0.775154467687571,-0.7645670746751421,-0.7548298938454536,-0.7458447299677573,-0.7374955759833028,-0.7296935818012571,-0.722394837441243,-0.7146938259647868,-0.7074298159895989},
{-1.1997070820475528,-1.0880818562982313,-1.0210791367517231,-0.9675639713495912,-0.925881017442407,-0.8928296479407436,-0.8670365174421022,-0.8473501884573125,-0.830555687274682,-0.8154332848534978,-0.8013497266520062,-0.788577242366955,-0.7769657123653815,-0.7663585397049246,-0.756603633868508,-0.7476011672752065,-0.7392354570829411,-0.7314176870677329,-0.7241040941062238,-0.7163869641362908,-0.7091047451440318},
{-1.2013197791034145,-1.0901304064273063,-1.0231935584142775,-0.9696485725726234,-0.9279224722313302,-0.894823029341751,-0.8689978580823663,-0.8492786692540903,-0.832467830546193,-0.8173173314744417,-0.803209634628729,-0.790414400613372,-0.7787823207017937,-0.7681553018637715,-0.758382629515836,-0.7493628003212507,-0.7409804750741387,-0.733146881580069,-0.7258183977273802,-0.7180851064613307,-0.7107845823311436},
{-1.202937952409684,-1.0921852189067067,-1.0253142779001791,-0.9717393763376094,-0.9299699789835358,-0.896822305528076,-0.8709650008167955,-0.8512128872425819,-0.8343856583151137,-0.8192069344913762,-0.8050750317006532,-0.7922569888469297,-0.780604308403781,-0.7699573774934834,-0.7601668961106043,-0.7511296441452942,-0.742730643763025,-0.734881179570948,-0.7275377620544532,-0.7197882681784904,-0.7124693427467719},
{-1.2045616174668794,-1.094246312629366,-1.0274413137867668,-0.9738364011909653,-0.9320235555987892,-0.8988274938819814,-0.8729379624646754,-0.8531528605526546,-0.836309186647668,-0.8211021106744738,-0.806945933735733,-0.7941050231729605,-0.7824316909091067,-0.7717647835188473,-0.7619564481128691,-0.7529017135848335,-0.7444859788438407,-0.7366205965363406,-0.7292622029435734,-0.7214964636368677,-0.7141590409710261},
{-1.206190789962875,-1.0963137066992203,-1.029574684876934,-0.9759396657991601,-0.9340832203051832,-0.9008386120167415,-0.8749167601536101,-0.855098607526088,-0.8382384312162685,-0.8230028772859441,-0.8088223574295625,-0.795958519596752,-0.7842644841484798,-0.7735775367427777,-0.7637512998107923,-0.7546790241867711,-0.7462464954187453,-0.7383651479385662,-0.7309917350776232,-0.7232097085479836,-0.7158536930801347},
{-1.2078254854918669,-1.0983874200637729,-1.0317144098735298,-0.9780491885176161,-0.9361489911707395,-0.9028556773209857,-0.8769014106392206,-0.857050145962603,-0.8401734087201476,-0.8249092509340699,-0.810704318637363,-0.797817494722949,-0.7861027033441133,-0.7753956542674132,-0.7655514671705532,-0.7564615914061505,-0.7480122083534297,-0.7401148482895223,-0.7327263732122447,-0.7249280183486917,-0.7175533147892565},
{-1.2094657197067136,-1.1004674718924434,-1.0338605075712621,-0.9801649881574122,-0.9382208863207779,-0.9048787077981615,-0.8788919307580727,-0.8590074945414017,-0.8421141344360876,-0.82682124852181,-0.8125918340165299,-0.7996819641457478,-0.787946364536765,-0.7772191531275894,-0.7673569646813121,-0.7582494306716399,-0.7497831332648275,-0.7418697131797671,-0.7344661326933419,-0.7266514082639333,-0.719257921071403},
{-1.2111115084285302,-1.1025538814019455,-1.036012996786667,-0.9822870833140769,-0.9402989240770694,-0.9069077206477232,-0.8808883374031211,-0.860970670874849,-0.8440606248623226,-0.828738887329564,-0.814484919475035,-0.8015519445871178,-0.7897954829722948,-0.7790480500461854,-0.769167807760823,-0.7600425567852653,-0.7515592848403685,-0.7436297577114601,-0.7362110279746048,-0.7283798929429395,-0.720967527715402},
{-1.212762867402489,-1.1046466677171338,-1.0381718964899846,-0.9844154928969147,-0.9423831226376933,-0.9089427338121823,-0.8828906476583143,-0.8629396934220495,-0.8460128959368376,-0.8306621842439199,-0.8163835918985569,-0.8034274522542546,-0.791650074565041,-0.7808823629457038,-0.7709840119014189,-0.7618409858241648,-0.7533406790662411,-0.745394997375115,-0.7379610746529579,-0.73011348908949,-0.7226821513850155},
{-1.2144198124865397,-1.106745850185689,-1.0403372256487273,-0.9865502355787612,-0.9444735004490212,-0.9109837651403723,-0.8848988786639893,-0.864914580716686,-0.8479709636085317,-0.8325911563933914,-0.8182878674651874,-0.8053085039891812,-0.793510154597243,-0.7827221088173246,-0.7728055917950769,-0.7636447323211542,-0.7551273298849992,-0.7471654475575633,-0.7397162872348417,-0.7318522105906595,-0.7244018067758589},
{-1.2160823595254442,-1.1088514482680694,-1.0425090034386812,-0.9886913301770619,-0.9465700756372826,-0.9130308323356076,-0.8869130473349287,-0.8668953505766694,-0.849934844184645,-0.8345258208682935,-0.8201977627904853,-0.8071951162228288,-0.7953757391978797,-0.7845673048759636,-0.7746325629223065,-0.7654538120741563,-0.7569192545406622,-0.748941123521945,-0.7414766814245013,-0.7335960745340344,-0.7261265114402704},
{-1.2177505244681015,-1.1109634812528384,-1.0446872487464134,-0.9908387957266314,-0.9486728669680815,-0.9150839536468993,-0.8889331709788166,-0.8688820214065345,-0.8519045538641876,-0.836466195122739,-0.8221132944545388,-0.8090873049413858,-0.7972468434163602,-0.7864179687685464,-0.7764649412756626,-0.7672682404245279,-0.7587164671194842,-0.7507220407842397,-0.7432422720621616,-0.7353450958362373,-0.7278562809033247},
{-1.219424323250223,-1.1130819687068652,-1.0468719808295646,-0.9929926509785219,-0.9507818929005225,-0.9171431466402282,-0.8909592664103911,-0.8708746115262329,-0.8538801083986982,-0.8384122958022999,-0.8240344789292067,-0.8109850871560411,-0.7991234830869871,-0.788274117929177,-0.7783027424165994,-0.769088032473519,-0.7605189833320765,-0.7525082144920816,-0.7450130740808163,-0.737099289987782,-0.7295911314486148},
{-1.2211037719102933,-1.1152069301051597,-1.0490632189621465,-0.9951529152540388,-0.952897171812765,-0.9192084295873428,-0.8929913510464758,-0.8728731391520341,-0.8558615245638066,-0.8403641406694078,-0.8259613334730602,-0.8128884796578859,-0.8010056739931315,-0.7901357701421148,-0.7801459817228533,-0.7709132041782141,-0.7623268190382078,-0.754299660660763,-0.7467891034493732,-0.7388586727811344,-0.731331080010932},
{-1.2227888865213572,-1.1173383850964456,-1.0512609823563253,-0.9973196074552106,-0.9550187225249829,-0.9212798205480794,-0.8950294421656508,-0.8748776228767383,-0.8578488184266462,-0.8423217466061033,-0.8278938742687387,-0.8147974993244134,-0.8028934317226231,-0.7920029424767563,-0.7819946747240465,-0.7727437705761986,-0.7641399897283918,-0.7560963942596572,-0.7485703747661319,-0.740623259669519,-0.7330761423327203},
{-1.2244796831841995,-1.1194763533985679,-1.053465290382519,-0.9994927467387242,-0.9571465634244305,-0.9233573375304331,-0.8970735568727832,-0.8768880806192101,-0.859842006033432,-0.8442851314421205,-0.829832118507511,-0.816712162722979,-0.8047867718096313,-0.7938756529274542,-0.7838488383540607,-0.7745797471488913,-0.765958510530254,-0.7578984309920997,-0.7503569036543922,-0.7423930662971543,-0.7348263361272984},
{-1.2261761780523557,-1.1216208546757116,-1.0556761624120554,-1.0016723523294786,-0.9592807138351418,-0.9254409993382069,-0.8991237127765999,-0.8789045312842063,-0.8618411043189553,-0.8462543122441275,-0.8317760827931124,-0.8186324869893724,-0.806685710340389,-0.7957539189837917,-0.7857084873912754,-0.7764211499188605,-0.7677823981875918,-0.7597057877155748,-0.7521487055782927,-0.7441681091531791,-0.7365816771234677},
{-1.2278783873384782,-1.1237719086639117,-1.0578936178799268,-1.0038584433004871,-0.961421191829686,-0.9275308235210105,-0.9011799266045273,-0.8809269926705383,-0.8638461285445374,-0.848229306412577,-0.8337257837119978,-0.8205584886873112,-0.8085902627899486,-0.7976377581908309,-0.78757363798195,-0.7782679934880434,-0.769611667056779,-0.7615184778624098,-0.7539457947314077,-0.7459484023383993,-0.7383421815193287},
{-1.2295863273548093,-1.125929535414798,-1.0601176764275806,-1.0060510392304423,-0.9635680168103136,-0.9296268288644569,-0.903242216117178,-0.8829554837893738,-0.8658570962415979,-0.8502101316908011,-0.8356812390620689,-0.8224901852918265,-0.8105004449698754,-0.799527188411048,-0.7894443071863861,-0.7801202938990173,-0.7714463337697453,-0.763336518606593,-0.7557481884305162,-0.7477339624165324,-0.7401078671755386},
{-1.2313000142353303,-1.1280937546698624,-1.0623483574372585,-1.008250159158706,-0.96572120723431,-0.9317290335739017,-0.9053105987304662,-0.8849900227060061,-0.867874023362674,-0.8521968053046294,-0.8376424658945325,-0.8244275936458507,-0.8124162724370763,-0.8014222271613107,-0.7913205101003769,-0.7819780669778993,-0.7732864137760771,-0.7651599252894812,-0.757555901142041,-0.7495248052146053,-0.7418787497517769},
{-1.2330194645292067,-1.130264586496196,-1.0645856807113887,-1.0104558227312737,-0.9678807823902389,-0.9338374561766614,-0.9073850918712196,-0.8870306280214209,-0.8698969265979031,-0.8541893454203091,-0.8396094805430039,-0.826370731674615,-0.8143377621727268,-0.803322892335018,-0.7932022635795875,-0.7838413281342582,-0.7751319234193943,-0.7669887136471516,-0.7593689485493087,-0.7513209464741522,-0.7436548480527563},
{-1.2347446945277625,-1.1324420510027267,-1.066829665919613,-1.0126680493831373,-0.9700467613329238,-0.9359521154292452,-0.909465712875317,-0.8890773183038618,-0.8719258224746227,-0.8561877688316599,-0.8415823000714227,-0.8283196154470716,-0.8162649288879038,-0.8052292007632786,-0.7950895838048382,-0.7857100933279071,-0.7769828775944916,-0.7688228995375539,-0.761187345129656,-0.7531224009107973,-0.7454361763066117},
{-1.2364757206810282,-1.1346261681846954,-1.0690803327397589,-1.0148868585465607,-0.9722191630517045,-0.9380730295833928,-0.9115524794087833,-0.8911301123762314,-0.8739607278721451,-0.8581920941678618,-0.8435609427042436,-0.8302742632013178,-0.8181977897866091,-0.8071411707460356,-0.7969824876172424,-0.787584377908388,-0.7788392935308366,-0.7706624996008031,-0.7630111088565172,-0.7549291851446469,-0.7472227530452074},
{-1.238212559452677,-1.1368169582901828,-1.071337700966069,-1.017112269872996,-0.9743980065113647,-0.9402002175420421,-0.9136454084091383,-0.8931890280591688,-0.8760016587775681,-0.86020233846466,-0.845545424721422,-0.8322346912063949,-0.8201363598254829,-0.8090588189088521,-0.7988809907692485,-0.7894641977873107,-0.780701185874932,-0.7725075278231088,-0.7648402525992424,-0.7567413150500215,-0.7490145949614089},
{-1.239955227515111,-1.139014441627296,-1.0736017905765038,-1.0193443030684648,-0.9765833111050597,-0.9423336980935346,-0.9157445182727315,-0.8952540847139971,-0.8780486325995298,-0.8622185197009458,-0.8475357641773371,-0.8342009182551919,-0.8220806559747871,-0.8109821636298875,-0.8007851097236198,-0.7913495689172123,-0.7825685715670261,-0.7743580012138409,-0.7666747944731469,-0.7585588047950296,-0.7508117182114802},
{-1.2417037412969876,-1.141218638455939,-1.0758726214371563,-1.021582977552498,-0.9787750960331323,-0.9444734894113935,-0.9178498262144785,-0.8973253006970481,-0.8801016659699599,-0.8642406559638403,-0.8495319778749035,-0.8361729611569899,-0.8240306944999247,-0.8129112219012313,-0.8026948615442961,-0.7932405070860113,-0.7844414665742079,-0.7762139360384026,-0.7685147491556563,-0.7603816720384202,-0.7526141402813664},
{-1.2434581175684798,-1.1434295691215084,-1.0781502135378105,-1.023828313465856,-0.9809733807887824,-0.9466196112789476,-0.9199613499249608,-0.8994026945010773,-0.8821607758281971,-0.866268765194036,-0.8515340833027949,-0.8381508375223348,-0.8259864914707578,-0.8148460110205633,-0.8046102632451948,-0.7951370284354198,-0.7863198872255452,-0.7780753478145925,-0.7703601325683849,-0.7622099309901387,-0.7544218783223187},
{-1.2452183729333228,-1.1456472541367475,-1.0804345869992176,-1.0260803303754074,-0.9831781845668957,-0.9487720817442096,-0.9220791068682956,-0.9014862852218357,-0.8842259787616058,-0.8683028648902109,-0.853542098529033,-0.8401345651955126,-0.8279480636820153,-0.8167865481318586,-0.8065313305269228,-0.7970391490052862,-0.7882038489060506,-0.7799422523057729,-0.7722109606838785,-0.7640435987468663,-0.75623494897809},
{-1.2469845241503208,-1.1478717139307264,-1.0827257617702344,-1.0283390482209143,-0.9853895266269319,-0.9509309201903307,-0.9242031148760361,-0.9035760912265687,-0.8862972921597247,-0.8703429733686789,-0.8555560402774063,-0.8421241611158621,-0.8299154270580402,-0.8187328504254765,-0.8084580805789301,-0.798946883809549,-0.7900933687087672,-0.7818146662448271,-0.7740672486779658,-0.7658826893166406,-0.7580533698383078},
{-1.248756588033757,-1.1501029692608427,-1.0850237581707916,-1.0306044869812467,-0.9876074268304365,-0.9530961454829594,-0.9263333915787371,-0.9056721317056144,-0.8883747328773097,-0.8723891087356606,-0.8575759263358123,-0.8441196443272929,-0.8318885988310285,-0.820684935344616,-0.8103905300395127,-0.8008602504996816,-0.7919884627353895,-0.7836926052168565,-0.7759290144676925,-0.7677272199744039,-0.7598771580560424},
{-1.2505345814129214,-1.1523410406480252,-1.0873285964235038,-1.0328766663997158,-0.9898319044941672,-0.955267776565961,-0.9284699549280049,-0.9077744248779709,-0.8904583176454253,-0.8744412892874607,-0.8596017746940561,-0.8461210316163488,-0.8338675955583312,-0.8226428192956519,-0.8123286964473664,-0.8027792645661975,-0.7938891471003444,-0.785576085354478,-0.7777962716463662,-0.7695772055376437,-0.7617063302986935},
{-1.2523185211707641,-1.1545859488160204,-1.0896402968137409,-1.0351556069826984,-0.9920629793568878,-0.9574458332490394,-0.9306128227663066,-0.9098829901840872,-0.8925480641082686,-0.8764995327674114,-0.8616336026552744,-0.8481283410910692,-0.8358524340110307,-0.824606519738154,-0.8142725958259689,-0.8047039423854585,-0.7957954384182813,-0.787465123068614,-0.7796690385785041,-0.7714326627556147,-0.7635409051108581},
{-1.2541084241433964,-1.156837714572248,-1.0919588795768504,-1.0374413282434034,-0.9943006709427209,-0.9596303338475991,-0.9327620124286113,-0.9119978459702907,-0.8946439890660258,-0.8785638573635879,-0.8636714279218722,-0.850141590538442,-0.83784313031083,-0.8265760531139676,-0.8162222447026579,-0.8066342996371532,-0.7977073526926688,-0.7893597338716063,-0.7815473291120725,-0.7732936057091138,-0.7653808991653932},
{-1.2559043075539194,-1.159096358763236,-1.094284365245585,-1.0397338509710607,-0.9965449991750575,-0.9618212981322358,-0.9349175423431006,-0.9141190116361031,-0.8967461101201479,-0.8806342817233599,-0.8657152689584109,-0.8521607978127577,-0.8398397029923217,-0.8285514371546014,-0.8181776618421281,-0.8085703534379718,-0.7996249074749358,-0.7912599353821861,-0.783431162006309,-0.7751600525843969,-0.7672263303429645},
{-1.2577061882193448,-1.1613619023555657,-1.0966167741444224,-1.04203319496537,-0.9987959838126699,-0.9640187452223472,-0.9370794300612033,-0.9162465059944225,-0.8988544440935584,-0.8827108242448958,-0.8677651424823125,-0.8541859814822601,-0.8418421676051366,-0.8305326870195131,-0.8201388616271288,-0.8105121198805136,-0.801548117718994,-0.793165741742996,-0.7853205514547881,-0.7770320165709563,-0.7690772156929597},
{-1.2595140833291225,-1.1636343663230946,-1.0989561269998376,-1.0443393805217056,-1.0010536443387537,-0.9662226947484669,-0.9392476937491665,-0.9183803481100767,-0.9009690085240436,-0.8847935027561107,-0.869821067389239,-0.8562171594739993,-0.8438505425965559,-0.832519821356982,-0.8221058628496394,-0.8124596151483274,-0.8034770011818182,-0.7950771711093694,-0.7872155145796569,-0.7789095156040275,-0.7709335743020347},
{-1.2613280100117663,-1.1659137717570047,-1.1013024442836468,-1.0466524281873717,-1.003318001327898,-0.9684331659091185,-0.9414223513658726,-0.9205205570542603,-0.9030898212913598,-0.8868823363682168,-0.8718830614634498,-0.8582543494594574,-0.8458648442774575,-0.83451285564297,-0.824078681969695,-0.8144128564763378,-0.8054115748072945,-0.7969942388626805,-0.7891160672352271,-0.7807925653723942,-0.7727954230012983},
{-1.263147985426258,-1.1682001397466593,-1.1036557466977683,-1.04897235819044,-1.005589074299678,-0.9706501780628969,-0.9436034204709358,-0.9226671515789349,-0.9052168986700053,-0.8889773431837966,-0.8739511425028468,-0.8602975697795046,-0.8478850905721629,-0.836511806353883,-0.826057335600126,-0.8163718597279512,-0.8073518536020856,-0.7989169619941094,-0.7910222256014094,-0.7826811808117782,-0.7746627799460839},
{-1.2649740268407186,-1.170493491536945,-1.106016054905922,-1.0512991912473808,-1.007866883249335,-0.9728737511986765,-0.9457909197199115,-0.924820151244603,-0.9073502593282683,-0.8910785417683655,-0.8760253285263389,-0.8623468390596827,-0.8499112988174602,-0.8385166906355153,-0.828041840941296,-0.8183366420053062,-0.8092978559579933,-0.8008453560778435,-0.7929340076207154,-0.7845753779274673,-0.776535663391769},
{-1.2668061514764304,-1.1727938484127662,-1.1083833897209843,-1.0536329476790343,-1.0101514485968437,-0.975103904504067,-0.9479848669670901,-0.9269795750433332,-0.9094899200899818,-0.8931859506337787,-0.8781056381858434,-0.8644021751952096,-0.8519434867430391,-0.8405275250242994,-0.8300322153118032,-0.8203072200285533,-0.8112495979912637,-0.8027794386562164,-0.7948514281051757,-0.7864751737524784,-0.7784140908479458},
{-1.2686443767702258,-1.1751012316663036,-1.1107577720149493,-1.0559736480354331,-1.0124427900582305,-0.9773406577314745,-0.950185280329606,-0.9291454421136223,-0.9116358982582824,-0.8952995886766075,-0.8801920891037298,-0.8664635958848521,-0.8539816713637265,-0.8425443255437131,-0.8320284759174683,-0.8222836098702828,-0.8132070964475133,-0.804719225214285,-0.7967745043533796,-0.7883805825986201,-0.7802980799042416},
{-1.2704887201152815,-1.177415662779822,-1.1131392226770913,-1.0583213131303637,-1.0147409285009417,-0.9795840312208384,-0.9523921783056721,-0.9313177722633554,-0.9137882127361081,-0.8974194747115689,-0.8822847004967116,-0.8685311209374049,-0.8560258712968789,-0.8445671100234904,-0.8340306396312371,-0.824265829534852,-0.8151703687253757,-0.8066647326522798,-0.7987032526580151,-0.7902916226921661,-0.782187649194384},
{-1.2723391988488402,-1.179737163196478,-1.115527762457532,-1.0606759634147238,-1.017045883562787,-0.9818340437304869,-0.9546055784176133,-0.9334965841135272,-0.915946879807052,-0.8995456264619861,-0.8843834891940787,-0.8706047671439592,-0.858076103935673,-0.8465958938304539,-0.8360387225566228,-0.8262538945618871,-0.8171394304645219,-0.8086159776157729,-0.8006376897756127,-0.7922083074190596,-0.7840828159296507},
{-1.2741958306050947,-1.1820657545904396,-1.1179234128649114,-1.0630376199505918,-1.0193576759393181,-0.9840907158823029,-0.9568254995865573,-0.935681897163704,-0.9181119178547306,-0.9016780638185082,-0.8864884749291377,-0.8726845536111796,-0.8601323866187158,-0.8486306936065375,-0.838052742772561,-0.8282478219571203,-0.8191142996711278,-0.8105729765757133,-0.8025778317878576,-0.7941306539032666,-0.7859835979706986},
{-1.2760586327958663,-1.1844014584085016,-1.1203261945984195,-1.0654063032925478,-1.021676325845874,-0.9863540674632532,-0.9590519600824337,-0.9378737315055332,-0.9202833444387579,-0.9038168058232259,-0.8885996755489032,-0.8747704985180462,-0.8621947388237459,-0.8506715265702951,-0.8400727168227604,-0.8302476300650596,-0.8210949930053175,-0.8125357457556674,-0.804523696002434,-0.7960586784229235,-0.7878900142768543},
{-1.2779276231067342,-1.1867442965312875,-1.122736128937504,-1.0677820346536464,-1.0240018536960633,-0.9886241179865465,-0.9612849781569821,-0.9400721059537318,-0.9224611776498932,-0.9059618704513923,-0.8907171097598621,-0.8768626212495292,-0.8642631778457144,-0.8527184094182303,-0.8420986627770617,-0.832253334523557,-0.8230815278238879,-0.8145043036493007,-0.8064752989630506,-0.7979923965503986,-0.7898020820302918},
{-1.2798028192114543,-1.1890942906402415,-1.1251532371179565,-1.070164834735806,-1.02633428050558,-0.9909008880613328,-0.9635245724039123,-0.9422770401670277,-0.9246454348904081,-0.9081132763794812,-0.8928407960975164,-0.8789609387258679,-0.8663377219945687,-0.8547713583920995,-0.8441305967917287,-0.8342649530986819,-0.8250739208160667,-0.8164786642591935,-0.8084326567040989,-0.7999318239853892,-0.7917198189825285},
{-1.2816842387264842,-1.1914514626678283,-1.127577540414677,-1.0725547245365306,-1.028673626442469,-0.9931843976137316,-0.965770761233216,-0.9444885541079202,-0.9268361343238212,-0.9102710435654444,-0.8949707531974127,-0.8810654706830974,-0.868418390471561,-0.8568303913798445,-0.8461685362944991,-0.8362825022031757,-0.8270721887438413,-0.8184588472577161,-0.8103957869825535,-0.8018769772243104,-0.7936432430924469},
{-1.283571899427443,-1.1938158344191834,-1.1300090601262127,-1.074951725300707,-1.0310199121104233,-0.9954746664952836,-0.9680235629448362,-0.9467066667903055,-0.9290332941154702,-0.9124351906120864,-0.8971069997023733,-0.8831762351692305,-0.8705052009281644,-0.8588955240738869,-0.8482124980218941,-0.8383060001360718,-0.8290763495442661,-0.8204448671331193,-0.8123647061074735,-0.8038278728345176,-0.7955723721388495},
{-1.2854658191827184,-1.1961874280350457,-1.1324478178858044,-1.0773558581777252,-1.033373158390532,-0.9977717152478363,-0.9702829966381614,-0.9489313983067404,-0.9312369315794058,-0.9146057364450826,-0.8992495545971906,-0.8852932505651552,-0.8725981722236611,-0.8609667736418487,-0.850262499985547,-0.8403354628480884,-0.8310864196610055,-0.8224367425627861,-0.8143394302478555,-0.8057845248531521,-0.7975072233348328},
{-1.2873660158620623,-1.1985662656215936,-1.1348938350329263,-1.0797671440541308,-1.0357333861293228,-1.0000755639384806,-0.9725490810205883,-0.9511627684387349,-0.9334470654830511,-0.9167827003511775,-0.9013984365556098,-0.8874165361467021,-0.8746973232991877,-0.8630441572458949,-0.8523185580761492,-0.8423709080507251,-0.8331024167309806,-0.8244344897484552,-0.816319977877356,-0.8077469509698858,-0.7994478163200256},
{-1.289272507278838,-1.200952369141305,-1.1373471330689426,-1.0821856045859022,-1.038100615825897,-1.002386233123616,-0.9748218344620909,-0.9534007965494311,-0.935663713287795,-0.9189661009968404,-0.9035536641404178,-0.8895461096217332,-0.8768026735087915,-0.8651276922373654,-0.854380690596372,-0.8444123535209656,-0.8351243584183976,-0.8264381258231879,-0.8183063652813871,-0.809715166749811,-0.8013941657536634},
{-1.2911853115278973,-1.2033457609322795,-1.1398077338189978,-1.0846112608551266,-1.0404748690089036,-1.0047037428766998,-0.977101276043868,-0.9556455032789017,-0.9378868938911182,-0.9211559583345661,-0.9057152569785103,-0.8916819908627076,-0.8789142414971138,-0.8672173961385852,-0.8564489150321606,-0.8464598165028292,-0.8371522611432738,-0.82844766794733,-0.8202986091728235,-0.8116891887821112,-0.8033462917355791},
{-1.29310444652765,-1.2057464632516712,-1.1422756588517586,-1.0870441343913626,-1.0428561660191917,-1.007028114087916,-0.9793874245906409,-0.9578969077283546,-0.9401166251063842,-0.923352290834373,-0.9078832335108018,-0.8938241972282412,-0.8810320458978822,-0.8693132846583467,-0.8585232474233635,-0.8485133137019147,-0.8391861417312612,-0.830463132720979,-0.822296725715205,-0.8136690314313455,-0.8053042110004753},
{-1.2950299304361579,-1.2081544985785513,-1.1447509299350713,-1.0894842466423142,-1.0452445282326153,-1.0093593667115783,-0.9816802992399971,-0.960155030682472,-0.942352924923398,-0.9255551185779041,-0.910057612669334,-0.8959727488363569,-0.883156106556271,-0.8714153772416466,-0.8606037057343201,-0.8505728640648158,-0.8412260194199916,-0.8324845398274192,-0.8243007333094283,-0.8156547134985885,-0.8072679425131355},
{-1.2969617813687364,-1.2105698893137742,-1.1472335689886677,-1.0919316188446828,-1.0476399766430404,-1.0116975215296407,-0.9839799190249323,-0.9624198915616944,-0.944595812154148,-0.9277644599369523,-0.9122384135898756,-0.8981276631984656,-0.8852864432137721,-0.8735236899228767,-0.8626903072545247,-0.8526384839824459,-0.8432719097854715,-0.8345119028890622,-0.8263106475642417,-0.8176462489100231,-0.8092375023970817},
{-1.298900017457072,-1.2129926578654704,-1.149723597927732,-1.094386273039163,-1.0500425323416493,-1.014042599500499,-0.9862863032158202,-0.9646915108314715,-0.9468453054887505,-0.9299803348640125,-0.914425655731975,-0.9002889598723414,-0.8874230753790471,-0.875638241022898,-0.8647830694699223,-0.8547101912190556,-0.8453238317251817,-0.8365452412599552,-0.8283264875444729,-0.8196436546313635,-0.8112129090604867},
{-1.3008446569247099,-1.2154228269600935,-1.1522210385865037,-1.0968482303660494,-1.052452216711572,-1.0163946205284446,-0.9885994703136021,-0.9669699080614009,-0.9491014225186518,-0.9322027619218716,-0.916619357694799,-0.902456657437142,-0.8895660212874645,-0.8777590476238402,-0.866882009042456,-0.8567880030277593,-0.8473818014135759,-0.8385845718657947,-0.8303482676601561,-0.8216469464150578,-0.813194180609571},
{-1.3027957182071077,-1.2178604192995408,-1.1547259132867111,-1.099317512916059,-1.0548690508130676,-1.0187536062167055,-0.990919440282596,-0.9692551039415775,-0.9513641827015817,-0.9344317620507354,-0.9188195397127856,-0.9046307745829836,-0.8917153027250606,-0.8798861280047277,-0.8689871448696067,-0.8588719385206787,-0.8494458380337164,-0.8406299131256674,-0.8323760076309554,-0.8236561411504226,-0.8151813339482032},
{-1.3047532194941596,-1.2203054574511043,-1.157238243898064,-1.101794142475228,-1.0572930563603222,-1.0211195766269157,-0.9932462326351015,-0.9715471187300864,-0.9536336042074254,-0.9366673533404537,-0.9210262195138057,-0.9068113303783321,-0.8938709378398926,-0.8820194998261286,-0.8710984932076826,-0.860962014477991,-0.8515159565431532,-0.842681280695615,-0.8344097235476511,-0.8256712542333844,-0.8171743865405006},
{-1.3067171792490626,-1.222757964404991,-1.1597580527832179,-1.104278140349379,-1.0597242542271488,-1.0234925529248358,-0.9955798661085282,-0.9738459727186637,-0.9559097055662278,-0.9389095551596256,-0.9232394169612235,-0.9089983436424518,-0.8960329478431959,-0.8841591808395606,-0.8732160715990176,-0.8630582482164755,-0.853592177034443,-0.8447386938714772,-0.8364494315210322,-0.8276923025350698,-0.8191733562052832},
{-1.3086876159791245,-1.2252179630422688,-1.162285362235707,-1.1067695291130804,-1.0621626664069481,-1.025872556185277,-0.997920361100114,-0.9761516860789925,-0.9581925064503594,-0.9411583879245882,-0.9254591519911628,-0.9111918331345805,-0.8982013527111121,-0.8863051895932585,-0.8753398980970815,-0.8651606592247845,-0.8556745149944618,-0.8468021696462529,-0.8384951507850928,-0.8297193025282468,-0.8211782610433147},
{-1.3106645480843326,-1.2276854762867515,-1.1648201946545669,-1.109268330164923,-1.064608314135512,-1.0282596068664134,-1.0002677365564523,-0.9784642792801606,-0.9604820247732277,-0.9434138705728401,-0.9276854433519475,-0.913391818636228,-0.9003761719977774,-0.888457544035191,-0.877469990071404,-0.8672692644340714,-0.8577629901155888,-0.8488717250711488,-0.8405468964429019,-0.831752270252764,-0.8231891182640538},
{-1.3126479942288825,-1.2301605271850349,-1.167362572422462,-1.111774566135864,-1.0670612192789122,-1.0306537265769293,-1.0026220121426377,-0.9807837731423206,-0.962778280092607,-0.9456760228749772,-0.9299183108123543,-0.9155983177461167,-0.9025574268816854,-0.8906162627135927,-0.879606365590007,-0.8693840817177261,-0.8598576194817724,-0.8509473789545154,-0.8426046882323135,-0.8337912218466954,-0.8252059448041109},
{-1.3146379730110311,-1.232643138975618,-1.1699125179957264,-1.1142882586300402,-1.0695214031229625,-1.0330549358732242,-1.0049832083450383,-0.9831101878753543,-0.9650812915042479,-0.9479448645834054,-0.9321577732480364,-0.917811350132979,-0.9047451376845856,-0.892781363631002,-0.8817490423989511,-0.8715051297458558,-0.8619584201260295,-0.8530291475744889,-0.8446685425060423,-0.8358361743321439,-0.8272287588915788},
{-1.3166345030817865,-1.2351333346805404,-1.172470054081714,-1.1168094298800497,-1.0719888874991739,-1.0354632557327932,-1.007351344673225,-0.9854435439701774,-0.9673910777601122,-0.9502204149030149,-0.9344038504732453,-0.9200309348889277,-0.9069393234640302,-0.8949528653192829,-0.883898037545805,-0.8736324256333319,-0.8640654094961064,-0.8551170490391087,-0.8467384759787819,-0.8378871436761983,-0.8292575773975841},
{-1.3186376032358567,-1.2376311378111495,-1.175035203380503,-1.119338102369511,-1.0744636947101753,-1.0378787083045609,-1.009726441428029,-0.9877838629072357,-0.9697076587799529,-0.9525026941646502,-0.9366565618165623,-0.922257090698622,-0.9091400068573421,-0.8971307865231211,-0.8860533701390523,-0.8757659887414775,-0.8661786070060771,-0.8572111029588996,-0.848814506918643,-0.8399441466881399,-0.8312924174351792},
{-1.3206472921801833,-1.2401365714022177,-1.1776079884411956,-1.1218742978662704,-1.0769458456752545,-1.040301313605596,-1.012108517615161,-0.9901311643388908,-0.9720310528391565,-0.9547917207946739,-0.9389159267866489,-0.9244898368342547,-0.9113472072949662,-0.8993151451195445,-0.8882150568642828,-0.8779058363670629,-0.8682980298399343,-0.859311325388262,-0.8508966519184469,-0.842007199426007,-0.8333332965685258},
{-1.3226635888331657,-1.2426496591788236,-1.1801884324104321,-1.1244180391659029,-1.0794353629362377,-1.0427310935901914,-1.0144975945813712,-0.9924854691034852,-0.9743612801266863,-0.9570875158096896,-0.941181965145006,-0.9267291917331022,-0.9135609455133817,-0.90150596085914,-0.8903831162479037,-0.8800519869128038,-0.8704236952507927,-0.8614177343351912,-0.8529849299648049,-0.8440763192265877,-0.835380232809257},
{-1.3246865120245275,-1.2451704245377186,-1.1827765579137122,-1.1269693487029144,-1.0819322685247243,-1.0451680696705807,-1.0168936919835687,-0.9948467988706398,-0.9766983602148684,-0.9593900985255459,-0.9434546959091676,-0.92897517455458,-0.9157812432422361,-0.9037032516916952,-0.8925575663051859,-0.8822044589433062,-0.8725556216722907,-0.8635303486389603,-0.8550793583417544,-0.8461515213712119,-0.8374332418134145},
{-1.3267160808036351,-1.2476988910484579,-1.1853723881376936,-1.1295282484998097,-1.0844365841385297,-1.0476122626696451,-1.0192968303281305,-0.9972151741148991,-0.9790423122321954,-0.9616994886418979,-0.945734139506385,-0.931227804894661,-0.9180081202193833,-0.9059070370894915,-0.8947384259590763,-0.8843632716761931,-0.8746938270815008,-0.8656491852889303,-0.8571799542714871,-0.8482328236968897,-0.8394923421601561},
{-1.328752314169833,-1.250235082378822,-1.187975946021652,-1.1320947615522527,-1.0869483321494045,-1.0500636947090243,-1.0217070300386695,-0.999590615314446,-0.9813931558819604,-0.9640157060402998,-0.9480203148596047,-0.9334871005103196,-0.9202415974250471,-0.908117335418865,-0.896925712166194,-0.886528441849805,-0.8768383288024779,-0.867774263228057,-0.8592867346487765,-0.850320242192538,-0.8415575495946541},
{-1.3307952311379267,-1.252779022305731,-1.1905872549514243,-1.1346689104129837,-1.0894675346771692,-1.0525223870308764,-1.0241243118889543,-1.0019731444172066,-0.9837509117187437,-0.9663387703931221,-0.9503132416339213,-0.9357530811066681,-0.9224816965343052,-0.91033416584105,-0.8991194436057413,-0.8886999887836282,-0.8789891469696158,-0.8699055998586118,-0.8613997189113434,-0.8524137939075445,-0.8436288812954444},
{-1.3328448508500514,-1.2553307345760913,-1.1932063379090323,-1.1372507175910869,-1.0919942137143153,-1.0549883609373865,-1.0265486961270653,-1.0043627811992337,-0.9861155986745871,-0.9686687019438978,-0.9526129403511732,-0.9380257652846922,-0.9247284368084365,-0.9125575475882215,-0.9013196388041251,-0.8908779316352593,-0.8811462973590096,-0.8720432139507466,-0.8635189245505899,-0.8545134961623262,-0.8457063556270441},
{-1.3349011925656669,-1.2578902431350798,-1.1958332184703977,-1.1398402060640365,-1.094528391887252,-1.057461638294626,-1.028980203320316,-1.0067595480741147,-0.9884872371549136,-0.9710055200866918,-0.9549194300088857,-0.9403051723602402,-0.9269818405864498,-0.9147874992086145,-0.9035263162058982,-0.8930622872358072,-0.8833097997867299,-0.8741871223865019,-0.8656443686159037,-0.8566193641909194,-0.8477899874178547},
{-1.3369642754814777,-1.2604575718723936,-1.1984679199485981,-1.1424373982017642,-1.0970700911902895,-1.0599422405239238,-1.0314188549855317,-1.009163465225356,-0.9908658470012597,-0.973349245126883,-0.9572327305813815,-0.9425913210179715,-0.9292419282537594,-0.9170240402690979,-0.9057394940209633,-0.8952530758597277,-0.8854796722534957,-0.8763373452311498,-0.867776070808759,-0.8587314157502988,-0.8498797954616748},
{-1.3390341189115134,-1.263032744944212,-1.2011104657522083,-1.1450423174483149,-1.0996193346582004,-1.0624301900434148,-1.0338646716190851,-1.0115745545062964,-0.9932514487281878,-0.9756998973516602,-0.9595528624340659,-0.9448842303954734,-0.9315087201994174,-0.9192671900509595,-0.9079591905629059,-0.8974503158769949,-0.8876559321506647,-0.8784938991011586,-0.8699140471871942,-0.8608496673823538,-0.8519757943195145},
{-1.341110742174351,-1.265615786327544,-1.2037608795480992,-1.1476549863382388,-1.1021761442461866,-1.064925507690532,-1.0363176739028859,-1.0139928367680113,-0.9956440622736409,-0.9780574955821066,-0.961879844271607,-0.9471839188026934,-0.9337822371235234,-0.9215169671115291,-0.9101854252694466,-0.8996540250227554,-0.8898385994671116,-0.8806568026757304,-0.8720583168487792,-0.8629741359000036,-0.8540780029834423},
{-1.3431941647268104,-1.268206720267699,-1.2064191850458883,-1.1502754280008958,-1.10474054237784,-1.067428215781547,-1.0387778830154275,-1.0164183331544336,-0.9980437072099448,-0.9804220607238676,-0.9642136970469437,-0.9494904048224271,-0.9360624995861144,-0.9237733912013937,-0.912418215386424,-0.9018642226310476,-0.892027691086696,-0.8828260752052302,-0.8742088979961409,-0.8651048380233988,-0.8561864358507592},
{-1.345284406056635,-1.2708055710718327,-1.2090854060224956,-1.1529036656665994,-1.107312552268013,-1.06993833614888,-1.0412453208191437,-1.0188510656043945,-1.0004504046482907,-0.9827936128349393,-0.9665544403742388,-0.9518037085945252,-0.938349529142215,-0.9260364816564106,-0.9146575807590125,-0.9040809278285451,-0.8942232266745123,-0.8850017342556384,-0.8763658087173098,-0.8672417914949619,-0.8583011126738711},
{-1.347381485698861,-1.273412363017087,-1.21175956616662,-1.1555397221336534,-1.1098921959037398,-1.0724558906458697,-1.0437200076994486,-1.0212910551854293,-1.0028641747358051,-0.9851721718387125,-0.9689020937858004,-0.9541238485726353,-0.9406433450149052,-0.9283062572067138,-0.9169035398754204,-0.9063041583976883,-0.8964252238492918,-0.8871837965871237,-0.8785290666619403,-0.8693850114214001,-0.8604220475608599},
{-1.3494854232176294,-1.2760271205606841,-1.214441689555315,-1.158183621063472,-1.1124794964962348,-1.0749809013659615,-1.046201965522414,-1.0237383232270076,-1.005285038078,-0.9875577580423851,-0.9712566784019145,-0.9564508432576986,-0.9429439687974082,-0.9305827380358096,-0.9191561111110786,-0.9085339343328087,-0.898633702625375,-0.8893722838038229,-0.8806986908693943,-0.8715345173513924,-0.8625492578212288},
{-1.3515962382871294,-1.2786498681871308,-1.217131800099196,-1.1608353851543143,-1.1150744766509888,-1.0775133903161986,-1.0486912154119636,-1.0261928910276765,-1.0077130146146374,-0.9899503905435267,-0.9736182135293348,-0.958784711532644,-0.9452514195800177,-0.9328659423299541,-0.9214153131651983,-0.9107702743312984,-0.9008486803031701,-0.8915672119746887,-0.8828746997369308,-0.8736903235967475,-0.8646827615211805},
{-1.3537139506606763,-1.2812806303873003,-1.2198299219098772,-1.1634950386114724,-1.117677159350933,-1.0800533796636955,-1.0511877790268045,-1.028654780893703,-1.010148125787964,-0.9923500906825211,-0.9759867196989944,-0.9611254731862573,-0.9475657186976605,-0.9351558907819708,-0.9236811671999021,-0.9130131974125106,-0.9030701760766533,-0.8937686008430319,-0.8850571115963248,-0.8758524494714948,-0.8668225731635175},
{-1.355838580064301,-1.283919431942195,-1.222536079088968,-1.1661626040631745,-1.1202875674252937,-1.0826008914245904,-1.0536916778182785,-1.031124013619774,-1.0125903914831724,-0.9947568778206914,-0.9783622166632995,-0.9634731462247146,-0.9498868859609502,-0.9374526012234128,-0.9259536888239381,-0.9152627212515654,-0.9052982086996053,-0.8959764667270065,-0.8872459455760691,-0.878020909953193,-0.8689687115602283},
{-1.357970146331354,-1.2865662974691077,-1.2252502961955543,-1.168838105199029,-1.122905723715121,-1.085155947763269,-1.056202934087196,-1.0336006114775955,-1.0150398327969015,-0.9971707733784569,-0.980744725011391,-0.96582775052957,-0.9522149413351144,-0.9397560949000763,-0.9282328995868738,-0.9175188668614283,-0.9075327981790906,-0.8981908319146896,-0.8894412190220464,-0.8801957237410534,-0.8711211929476121},
{-1.3601086693997786,-1.2892212517454027,-1.2279725972621236,-1.1715215658814486,-1.125531651528945,-1.0877185711287893,-1.058721569050249,-1.036084595742068,-1.0174964703983278,-0.9995917962114618,-0.983134265323315,-0.9681893046581536,-0.9545499045125325,-0.942066389372485,-0.9305188171874761,-0.9197816518390027,-0.9097739620665379,-0.9004117112690437,-0.8916429510572925,-0.8823769076570898,-0.8732800338020752},
{-1.3622541691693186,-1.2918843196985108,-1.2307030068996028,-1.1742130091670333,-1.1281653739679314,-1.0902887837855815,-1.0612476047081145,-1.0385759877626697,-1.0199603248820495,-1.0020199673581374,-0.9855308577316464,-0.970557828368328,-0.9568917961605621,-0.944383505233418,-0.932811461350866,-0.9220510956020007,-0.9120217201834748,-0.9026391258285003,-0.8938511605629174,-0.8845644781758892,-0.8754452519624465},
{-1.364406665675233,-1.2945555262167545,-1.2334415496388829,-1.1769124595648464,-1.1308069142514796,-1.0928666081345,-1.063781062630369,-1.0410748097874603,-1.0224314177448832,-1.004455307016542,-0.9879345228837337,-0.9729333403029159,-0.9592406357151049,-0.9467074617696198,-0.935110851922218,-0.92432721825935,-0.9142760912072845,-0.904873093306378,-0.8960658665328083,-0.8867584535400965,-0.8776168639378739},
{-1.3665661789591468,-1.29723489641583,-1.236188250167288,-1.1796199401414924,-1.133456295276119,-1.0954520666018652,-1.0663219658126764,-1.0435810838062025,-1.0249097696523677,-1.0068978362105554,-0.990345281223199,-0.9753158605126373,-0.9615964430104214,-0.9490382785388647,-0.9374170080300246,-0.9266100379900308,-0.916537094166415,-0.9071136333222967,-0.8982870880954579,-0.8889588510646718,-0.8797948876563169},
{-1.3687327291909241,-1.2999224552568194,-1.238943132841996,-1.1823354747893973,-1.1361135404722518,-1.098045181366615,-1.068870335295287,-1.046094830839138,-1.0273954002859682,-1.0093475745034084,-0.9927631534701504,-0.9777054071364546,-0.9639592374478525,-0.9513759735673375,-0.9397299478496279,-0.9288995741680992,-0.9188047485149582,-0.9093607635404624,-0.9005148425003426,-0.8911656873351603,-0.8819793390921404},
{-1.3709063366259215,-1.3026182280154899,-1.2417062228350915,-1.1850590881012977,-1.1387786737514034,-1.1006459758064011,-1.0714261942430312,-1.0486160733726138,-1.029888332628616,-1.0118045427916513,-0.995188160242833,-0.9801020012982917,-0.9663290390544717,-0.9537205679243925,-0.9420496918792196,-0.931195846562332,-0.9210790739161894,-0.9116145030147891,-0.9027491504784848,-0.8933789797738427,-0.884170236535283},
{-1.3730870213539674,-1.3053222396856654,-1.2444775446738277,-1.187790802937343,-1.141451717927339,-1.103254471485343,-1.0739895641308976,-1.0511448331253632,-1.0323885862617317,-1.0142687618099444,-0.9976203219448507,-0.9825056613808556,-0.9687058670897386,-0.9560720806002792,-0.9443762591617997,-0.9334988738373795,-0.9233600885763735,-0.9138748714849498,-0.9049900301306479,-0.8955987468780222,-0.8863675980337575},
{-1.3752748038623395,-1.3080345159423814,-1.2472571235730356,-1.1905306442386063,-1.1441326965104963,-1.1058706919448014,-1.0765604674215865,-1.0536811317215324,-1.034896183273304,-1.0167402508632222,-1.0000596598529228,-0.9849164070637926,-0.9710897409349855,-0.9584305310399941,-0.946709669977281,-0.9358086754000396,-0.9256478122224507,-0.9161418873227376,-0.9072375001233013,-0.8978250057334662,-0.8885714400275901},
{-1.3774697044000277,-1.3107550818613163,-1.2500449844483228,-1.193278635833849,-1.1468216333441887,-1.1084946592891356,-1.0791389270361833,-1.0562249911690742,-1.0374111441251443,-1.0192190319503425,-1.0025061954929697,-0.9873342585979117,-0.9734806803244282,-0.960795938364754,-0.9490499434468802,-0.9381252715356823,-0.9279422647450701,-0.9184155692255445,-0.9094915810674138,-0.9000577741717279,-0.8907817816925672},
{-1.3796717435070605,-1.3134839630629358,-1.2528411524881449,-1.1960348015600175,-1.1495185518142534,-1.1111263963284728,-1.0817249654428451,-1.0587764339034038,-1.039933490088515,-1.021705125196604,-1.004959948852047,-0.9897592360248382,-0.9758787051196123,-0.9631683227216854,-0.9513970993175462,-0.9404486810944945,-0.9302434659275605,-0.9206959372186247,-0.911752290381628,-0.9022970698206336,-0.8929986401617498},
{-1.3818809416270597,-1.3162211849821688,-1.2556456529473508,-1.1987991664145738,-1.1522234758085688,-1.1137659264786635,-1.0843186050078657,-1.0613354817160143,-1.0424632425092568,-1.0241985515876877,-1.007420941883538,-0.9921913584821596,-0.9782838344835909,-0.9655477036230877,-0.9537511575817916,-0.9427789234832744,-0.9325514338997891,-0.922983009913878,-0.9140196487169305,-0.9045429104789946,-0.8952220340852364},
{-1.384097319337343,-1.3189667733449824,-1.2584585110762418,-1.2015717540944024,-1.1549364290749509,-1.1164132722442446,-1.0869198687578319,-1.06390215672036,-1.0450004229496699,-1.026699331789132,-1.0098891942034243,-0.994630646893711,-0.980696088014156,-0.9679341000410204,-0.9561121373426431,-0.945116018086992,-0.9348661891253869,-0.9252768062397081,-0.9162936742086458,-0.9067953145458887,-0.8974519810435595},
{-1.3863208972443317,-1.3217207536854403,-1.261279752061455,-1.2043525891640456,-1.1576574353930482,-1.119068456640889,-1.089528778609747,-1.0664764807243046,-1.04754505204437,-1.0292074862481968,-1.0123647290783993,-0.9970771207590587,-0.9831154846124264,-0.9703275325009599,-0.958480059145586,-0.9474599845343619,-0.9371877510511695,-0.927577346601538,-0.9185743869893486,-0.909054300533171,-0.89968850166224},
{-1.3885516960745008,-1.3244831518522915,-1.264109401652604,-1.2071416964054151,-1.16038651843337,-1.1217315027370205,-1.0921453582905087,-1.069058475750353,-1.0500971515557467,-1.0317230365635623,-1.0148475667392631,-0.9995308008092252,-0.9855420446274366,-0.9727280195093044,-0.960854943115919,-0.9498108427924308,-0.9395161392039881,-0.9298846487599803,-0.9208618051270605,-0.9113198858049145,-0.9019316122085002},
{-1.3907897365843382,-1.3272539936242538,-1.2669474852982603,-1.2099390997545925,-1.163123702404846,-1.124402433004434,-1.0947696309449384,-1.0716481646995817,-1.0526567429023999,-1.0342460033243697,-1.0173377287246694,-1.0019917072895623,-0.9879757874314237,-0.9751355817334115,-0.9632368087713985,-0.9521686124608095,-0.9418513731052371,-0.9321987333423749,-0.9231559495165129,-0.9135920890021225,-0.9041813332423771},
{-1.3930350394421112,-1.3300333048136963,-1.2697940285652294,-1.2127448239480145,-1.1658690111962642,-1.1270812712755287,-1.0974016186592053,-1.0742455688869086,-1.0552238474083424,-1.0367764069615077,-1.0198352365860046,-1.004459860474526,-0.9904167320019042,-0.9775502377797238,-0.9656256760645192,-0.9545333127316553,-0.9441934729566128,-0.9345196189660783,-0.9254568385713355,-0.9158709286002704,-0.9064376827536762},
{-1.3952876257717435,-1.3328211116640887,-1.2726490573049887,-1.215558894107744,-1.1686224689856317,-1.1297680406332802,-1.1000413450547057,-1.0768507107786718,-1.0577984871397348,-1.039314269886745,-1.0223401121220377,-1.0069352815244201,-0.9928648994791729,-0.9799720085720764,-0.9680215661155671,-0.9569049641049787,-0.9465424578793318,-0.9368473261547479,-0.9277644922403852,-0.9181564237114799,-0.9087006811078027},
{-1.3975475163206283,-1.3356174398340954,-1.2755125971489178,-1.2183813347010073,-1.1713840999782406,-1.1324627640897234,-1.1026888330252405,-1.079463612901236,-1.0603806821109174,-1.0418596122308372,-1.0248523765312711,-1.0094179905026976,-0.9953203073073382,-0.9824009132862557,-0.9704244981312513,-0.9592835865041707,-0.9488983480350726,-0.9391818731837702,-0.9300789289118256,-0.9204485924619803,-0.9109703470912791},
{-1.399814732174491,-1.33842231577637,-1.2783846741358502,-1.2212121706306789,-1.174153928346641,-1.1351654654572485,-1.1053441065414518,-1.0820842972279934,-1.0629704555740318,-1.044412456190912,-1.027372052647479,-1.011908009135368,-0.9977829780800676,-0.9848369718911272,-0.9728344929517334,-0.9616691993142013,-0.95126116406027,-0.9415232809242298,-0.932400169520406,-0.922747454538694,-0.913246700714808},
{-1.402089294418147,-1.3412357654733569,-1.2812653143955686,-1.2240514264403828,-1.1769319779523357,-1.1378761672858673,-1.1080071879387106,-1.0847127866545634,-1.0655678282746521,-1.0469728216830845,-1.02989916126171,-1.0144053577132581,-1.0002529292396503,-0.9872802045938442,-0.9752515704367397,-0.9640618224675563,-0.9536309242175776,-0.9438715689066157,-0.9347282324106345,-0.9250530278914084,-0.9155297609904665},
{-1.4043712240836612,-1.3440578152649323,-1.284154543661316,-1.2268991277715031,-1.1797182738155243,-1.140594893900925,-1.110678101724261,-1.0873491028851276,-1.0681728223280516,-1.0495407315811462,-1.0324337248366646,-1.0169100575567427,-1.0027301825630275,-0.9897306308503175,-0.977675751226343,-0.9664614762950805,-0.9560076497564296,-0.9462267569215328,-0.9370631376405072,-0.9273653321179154,-0.917819549133128},
{-1.4066605424686713,-1.3468884913645525,-1.2870523880892506,-1.2297552988911775,-1.18251283972495,-1.1433216678251483,-1.1133568701843615,-1.0899932683241786,-1.0707854587944894,-1.0521162052900763,-1.034975765100171,-1.0194221303936501,-1.0052147576116113,-0.9921882708604244,-0.9801070562207315,-0.9688681805655506,-0.9583913601072709,-0.948588864544945,-0.9394049042184633,-0.9296843872016325,-0.9201160846241692},
{-1.408957270819883,-1.3497278202266898,-1.2899588742247943,-1.2326199655744858,-1.185315700891806,-1.1460565139550454,-1.1160435180208879,-1.0926453059728374,-1.0734057603021938,-1.0546992670570035,-1.0375253042730037,-1.021941596569377,-1.0077066741359886,-0.9946531454297656,-0.982545505539747,-0.9712819563555968,-0.9607820751753025,-0.9509579118202964,-0.9417535524225968,-0.932010211290617,-0.9224193876616482},
{-1.4112614303985538,-1.3525758283531104,-1.2928740279603517,-1.2354931525187567,-1.1881268808592722,-1.148799454447726,-1.1187380681803916,-1.0953052373624814,-1.076033747589463,-1.0572899357885035,-1.0400823645268247,-1.0244684785229765,-1.010205952783508,-0.9971252729756088,-0.9849911193850858,-0.973702822731866,-0.963179814585601,-0.9533339182944474,-0.9441091008939111,-0.9343428238553315,-0.9247294785127451},
{-1.4135730426451119,-1.3554325422919646,-1.2957978760941842,-1.2383748849415497,-1.190946405105933,-1.1515505136630964,-1.1214405447226454,-1.0979730858234689,-1.0786694438647828,-1.0598882346803293,-1.042646968484405,-1.0270027977421705,-1.0127126144943759,-0.9996046755313728,-0.9874439193445141,-0.9761308008273772,-0.9655845995694108,-0.9557169048075593,-0.9464715703452384,-0.9366822459123796,-0.9270463782486331},
{-1.4158921289908903,-1.358297988637787,-1.2987304449361545,-1.241265188727084,-1.1937742976388108,-1.1543097154026327,-1.1241509712745028,-1.1006488731854915,-1.0813128701829555,-1.0624941848946037,-1.0452191381791636,-1.0295445758602,-1.0152266788682027,-1.0020913719454256,-0.9899039248120971,-0.9785659100034536,-0.9679964495517197,-0.9581068913012132,-0.9488409794321342,-0.9390284961482394,-0.9293701062833861},
{-1.4182187109599909,-1.3611721940205825,-1.3016717608843464,-1.244164088706384,-1.196610583772781,-1.1570770831694972,-1.1268693718757277,-1.1033326223350741,-1.0839640492104081,-1.0651078081846208,-1.0477988960101356,-1.032093834332045,-1.0177481672744761,-1.0045853836181777,-0.9923711572064349,-0.9810081721498136,-0.9704153848524584,-0.9605038982244878,-0.9512173482889921,-0.941381595466737,-0.9317006844194111},
{-1.4205528101820164,-1.3640551851831333,-1.3046218510016843,-1.2470716106290638,-1.1994552880987612,-1.1598526412799401,-1.1295957703368913,-1.1060243557531066,-1.0866230027750134,-1.0677291262709332,-1.0503862643727189,-1.034650596217034,-1.0202771000986104,-1.0070867308349989,-0.9948456378388073,-0.9834576067405578,-0.9728414249129855,-0.9629079453879967,-0.9536006965263368,-0.9437415629927273,-0.9340381322290341},
{-1.4228944482174484,-1.3669469890628534,-1.307580741651691,-1.2499877800810282,-1.2023084354004823,-1.1626364132916933,-1.1323301914344484,-1.108724095951402,-1.089289753639605,-1.0703581619964098,-1.0529812664244673,-1.0372148834339896,-1.022813498551841,-1.0095954339140008,-0.9973273871109996,-0.9859142346795124,-0.9752745914993284,-0.9653190532771987,-0.9559910440530075,-0.9461084191898408,-0.9363824722531717},
{-1.4252436468150336,-1.3698476323961586,-1.3105484596389942,-1.2529126225545042,-1.205170050427114,-1.1654284231244674,-1.1350726577711612,-1.111431865261693,-1.0919643231027294,-1.0729949365104403,-1.0555839237422333,-1.039786718240066,-1.0253573833851988,-1.0121115127531084,-0.9998164254302537,-0.9883780767850112,-0.977714903658125,-0.9677372420992469,-0.9583884099065472,-0.9484821846599516,-0.9387337230618868},
{-1.4276004278171968,-1.3727571423050904,-1.3135250321674903,-1.2558461637318032,-1.2080401587209053,-1.1682286952400318,-1.1378231952494389,-1.1141476872817293,-1.0946467345765996,-1.0756394715499482,-1.0581942605767836,-1.042366123316242,-1.0279087757771777,-1.0146349890728743,-1.002312774064194,-0.9908491533005872,-0.98016238238597,-0.9701625331508694,-0.9607928144068865,-0.9508628793555545,-0.9410919065703638},
{-1.4299648129899651,-1.3756755454687664,-1.3165104858244376,-1.2587884292188392,-1.2109187846108398,-1.1710372531324538,-1.1405818275616184,-1.1168715837629861,-1.0973370100200555,-1.0782917895940045,-1.0608122986868693,-1.0449531208887493,-1.0304676970499713,-1.0171658832859976,-1.004816454333195,-0.9933274858740333,-0.9826170483629539,-0.9725949462299468,-0.9632042786397506,-0.9532505234947166,-0.9434570434950729},
{-1.4323368243067307,-1.3786028694867127,-1.3195048481338745,-1.26173944509992,-1.2138059540357062,-1.1738541214908764,-1.1433485781581112,-1.119603577597445,-1.1000351719794708,-1.080951913343597,-1.0634380608844367,-1.0475477346335538,-1.0330341678309196,-1.019704215666934,-1.007327486802751,-0.995813094508776,-0.9850789212305244,-0.9750345019638189,-0.9656228192543495,-0.9556451386652043,-0.9458291544378881},
{-1.4347164837090531,-1.3815391411417295,-1.322508145919528,-1.2646992373429384,-1.2167016915554996,-1.1766793243332359,-1.1461234727248666,-1.1223436918062362,-1.1027412432704295,-1.0836198644065007,-1.0660715706126211,-1.0501499868405517,-1.0356082106955,-1.0222500072486582,-1.0098458929969638,-0.9983060002905404,-0.9875480219252495,-0.9774812210689561,-0.9680484595428425,-0.958046745199681,-0.9482082606446056},
{-1.437103813248541,-1.3844843878787287,-1.3255204064798818,-1.2676678316565813,-1.2196060229434806,-1.179512885879376,-1.1489065355926869,-1.1250919495887501,-1.1054552471505303,-1.0862956655091693,-1.068712851314558,-1.0527599016404565,-1.0381898470877786,-1.0248032797953783,-1.0123716940906888,-1.0008062255947152,-0.9900243718147976,-0.9799351248657331,-0.9704812173040409,-0.9604553647168359,-0.9505943821568508},
{-1.43949883503592,-1.3874386367706393,-1.3285416572516624,-1.2706452542770421,-1.222518973167098,-1.1823548306747398,-1.1516977907049295,-1.1278483729547588,-1.1081772060879302,-1.0889793392070715,-1.0713619253383513,-1.0553775022017362,-1.0407790978733829,-1.027364053443307,-1.014904911033227,-1.0033137893242383,-0.9925079905497114,-0.9823962335121905,-0.9729211144167493,-0.9628710172364663,-0.9529875402567995},
{-1.4419015713410772,-1.3904019154815614,-1.3315719256379452,-1.2736315311722137,-1.2254405676176248,-1.185205183162907,-1.154497263372832,-1.1306129856729967,-1.1109071428072639,-1.0916709069169883,-1.0740188157360535,-1.0580028111216961,-1.0433759850511706,-1.0299323492672556,-1.0174455648248113,-1.005828714070958,-0.9949988989483245,-0.9848645683705399,-0.975368169198191,-0.9652937232440308,-0.9553877538401139},
{-1.4443120442838335,-1.393374251176283,-1.3346112388671827,-1.2766266890084808,-1.2283708319882862,-1.1880639680002787,-1.1573049777580309,-1.133385810035179,-1.1136450814756245,-1.0943703927732713,-1.0766835465346958,-1.060635852676569,-1.045980530572706,-1.0325081893697643,-1.0199936772642104,-1.0083510202985053,-0.9974971186384209,-0.9873401493041456,-0.9778224026795215,-0.9677235062317777,-0.9577950459206477},
{-1.4467302763041516,-1.3963556715234517,-1.3376596247071575,-1.2796307535118103,-1.231309791421154,-1.1909312091665925,-1.1601209594864486,-1.1361668694862601,-1.1163910444975045,-1.0970778181144851,-1.0793561401842453,-1.0632766510043439,-1.0485927565860038,-1.0350915930084739,-1.0225492694444256,-1.0108807296637679,-1.0000026695233828,-0.9898229977170558,-0.9802838348605292,-0.9701603864577919,-0.9602094355905137},
{-1.4491562896755568,-1.3993462040771192,-1.3407171109374758,-1.2826437512194389,-1.2342574720751145,-1.193806931580184,-1.1629452327124454,-1.138956187211079,-1.1191450554470066,-1.0997932068021328,-1.082036620064173,-1.065925230304856,-1.0512126845169405,-1.0376825839521189,-1.0251123629150243,-1.0134178636217257,-1.0025155732037092,-0.99231313535347,-0.9827524858119432,-0.9726043843002117,-0.9626309428495006},
{-1.4515901069835309,-1.402345876515028,-1.3437837253377438,-1.2856657088177599,-1.2372138994105626,-1.1966911599483865,-1.165777822916425,-1.1417537861871097,-1.1219071375871863,-1.1025165805331198,-1.0847250105507555,-1.0685816138829978,-1.0538403370428568,-1.0402811815583846,-1.0276829791419004,-1.015962442927048,-1.0050358503413008,-0.9948105813982693,-0.9852283759973943,-0.9750555218070076,-0.9650595884231734},
{-1.4540317506016436,-1.40535471644489,-1.3468594952373678,-1.2886966525020398,-1.2401790989624715,-1.199583919287761,-1.1686187548639282,-1.1445596898793156,-1.124677315412555,-1.105247962888825,-1.0874213339720882,-1.0712458270263596,-1.056475735953427,-1.042887408455499,-1.0302611389997764,-1.018514489476729,-1.0075635226075974,-0.9973153587270644,-0.9877115255294484,-0.9775138213481114,-0.9674953931480559},
{-1.4564812431508471,-1.4083727516017461,-1.3499444489489179,-1.2917366087731352,-1.2431530966059654,-1.2024852342583472,-1.1714680535351363,-1.147373921214239,-1.1274556114185543,-1.107987376224628,-1.0901256143733917,-1.0739178933381481,-1.0591189035876596,-1.0455012857783004,-1.0328468647476257,-1.021074024727568,-1.0100986103352625,-0.9998274873141781,-0.9902019555884181,-0.9799793046095147,-0.9699383761053468},
{-1.458938607399432,-1.411400009928002,-1.3530386144884687,-1.2947856047012465,-1.246135918652726,-1.2053951294437866,-1.1743257447615179,-1.1501965038187336,-1.1302420508345676,-1.1107348449459096,-1.0928378754524601,-1.0765978383187758,-1.0617698630685481,-1.0481228354419727,-1.035440178182398,-1.023641070965823,-1.0126411358942278,-1.0023469885363738,-0.9926996859958308,-0.9824519925732602,-0.972388557758677},
{-1.46140386600473,-1.414436519433366,-1.3561420197293046,-1.2978436667035567,-1.2491275902284542,-1.2083136301735067,-1.1771918529848335,-1.1530274610140623,-1.1330366558522655,-1.1134903902930091,-1.0955581403923134,-1.0792856865464273,-1.0644286351434857,-1.0507520783157815,-1.0380411001679022,-1.0262156485023297,-1.0151911197317531,-1.0048738831592345,-0.9952047375682014,-0.9849319073273364,-0.9748459574839217},
{-1.4638770417195701,-1.4174823078565169,-1.3592546931258767,-1.3009108219957852,-1.2521281381268636,-1.2112407616368728,-1.180066403989258,-1.155866816505295,-1.1358394520048023,-1.1162540369441558,-1.0982864337202045,-1.081981462521071,-1.0670952431337355,-1.0533890367878485,-1.0406496529321885,-1.0287977801053785,-1.0177485832664388,-1.0074081928287342,-0.9977171304544754,-0.9874190720602201,-0.9773105954027415},
{-1.4663581574750424,-1.420537403407252,-1.3623766625378266,-1.303987096529454,-1.2551375875373196,-1.214176548000978,-1.1829494233879814,-1.158714593941113,-1.138650462626174,-1.119025806458012,-1.101022777667822,-1.0846851916885498,-1.0697697094256,-1.056033732400465,-1.0432658579811687,-1.0313874863550154,-1.0203135485426174,-1.009949938275895,-1.000236886075072,-0.9899135067043972,-0.9797824916877289},
{-1.468847236235888,-1.4236018341680392,-1.3655079565623964,-1.307072518637142,-1.2581559658574406,-1.2171210158267058,-1.1858409360393125,-1.1615708169665595,-1.141469712867547,-1.1218057244386728,-1.10376719713895,-1.087396899045416,-1.0724520567546278,-1.058686187625426,-1.0458897368771432,-1.0339847902614565,-1.0228860369352333,-1.0124991404791217,-1.0027640251719276,-0.9924152342882735,-0.9822616645797098},
{-1.4713443009441107,-1.4266756282522692,-1.3686486034730478,-1.3101671144650027,-1.261183298089236,-1.220074189157458,-1.1887409673345246,-1.164435509377654,-1.1442972252825712,-1.1245938119027414,-1.1065197151092434,-1.0901166095063672,-1.0751423072342732,-1.0613464233701961,-1.0485213123884023,-1.036589712732166,-1.0254660689370212,-1.0150558207260474,-1.005298567490172,-0.9949242775746825,-0.9847481342912943},
{-1.473849374785459,-1.429758814080742,-1.371798631987076,-1.313270911368818,-1.2642196110828081,-1.223036093681003,-1.1916495438836137,-1.1673086951450387,-1.1471330264848802,-1.127390094108705,-1.1092803563205962,-1.0928443487318873,-1.077840483521868,-1.0640144623830565,-1.0511606055224547,-1.0392022766154696,-1.0280536679529177,-1.0176200005917053,-1.0078405346393993,-0.9974406573874148,-0.9872419202583842},
{-1.4763624807383167,-1.4328514197877666,-1.3749580704770779,-1.3163839361950522,-1.2672649313899456,-1.2260067551560496,-1.194566690852298,-1.170190398588602,-1.1499771394846903,-1.1301945935592812,-1.1120491441197373,-1.095580142296967,-1.0805466082547355,-1.0666903268793249,-1.0538076375578385,-1.0418225022986007,-1.0306488548121706,-1.0201917011472688,-1.0103899480800465,-0.9999643963128619,-0.989743041118345},
{-1.478883642144865,-1.4359534737986905,-1.378126947731289,-1.319506216694208,-1.27031928478209,-1.2289861983426817,-1.1974924334044772,-1.1730806432369718,-1.1528295893294853,-1.1330073341159732,-1.114826101980725,-1.0983240152600047,-1.083260704186614,-1.0693740385850106,-1.0564624330399965,-1.044450412655351,-1.033251651639148,-1.0227709440969193,-1.0129468284467293,-1.0024955165445135,-0.9922515165690129},
{-1.4814128822918065,-1.4390650045061193,-1.3813052924624571,-1.3226377802584466,-1.2733826986204804,-1.2319744493543112,-1.2004267974389222,-1.175979453168111,-1.155690401645188,-1.1358283399149514,-1.1176112549110258,-1.101075993528866,-1.0859827938165836,-1.0720656205357955,-1.0591250113775459,-1.0470860306886607,-1.0358620802326186,-1.0253577495641366,-1.0155111971616861,-1.0050340407779004,-0.9947673652659432},
{-1.4839502244876712,-1.4421860406246196,-1.3844931335152069,-1.325778654341775,-1.276455198722033,-1.23497153376411,-1.2033698098930472,-1.1788868541570992,-1.158559599896762,-1.138657634588526,-1.1204046264447243,-1.1038361019545846,-1.08871290017305,-1.074765094634131,-1.0617953963082982,-1.04972937689854,-1.0384801625750697,-1.0279521405609557,-1.0180830753834016,-1.0075799908554472,-0.9972906072216574},
{-1.4864956921810517,-1.4453166104149204,-1.3876904995795485,-1.3289288657670113,-1.279536811851358,-1.2379774765704497,-1.206321494662916,-1.1818028687339392,-1.1614372095264116,-1.1414952414452273,-1.1232062401613803,-1.106604367008913,-1.091451045467693,-1.0774724825987505,-1.064473609194465,-1.052380474324309,-1.041105922035058,-1.030554136768842,-1.0206624841139273,-1.0101333894399431,-0.9998212600767147},
{-1.489049308977883,-1.4484567427880393,-1.3908974201804085,-1.3320884431905142,-1.2826275649131276,-1.2409923044215248,-1.2092818797409564,-1.184727523193942,-1.1643232558471936,-1.1443411841755733,-1.1260161206701014,-1.1093808136956795,-1.094197252736194,-1.0801878082565963,-1.0671596721931564,-1.0550393438788888,-1.0437393785632594,-1.033163760581374,-1.0232494449628575,-1.0126942583046912,-1.0023593439436809},
{-1.4916110983213002,-1.451606466262092,-1.394113923702207,-1.335257413207728,-1.2857274849138776,-1.244016042444855,-1.2122509897926648,-1.187660840783792,-1.1672177635136904,-1.1471954878888937,-1.1288342923871824,-1.112165467809973,-1.0969515440046962,-1.0829110930972092,-1.0698536091185815,-1.0577060093673936,-1.0463805563449569,-1.0357810333989619,-1.0258439793578873,-1.0152626198505459,-1.0049048777582357},
{-1.4941810839400205,-1.4547658099299952,-1.3973400399781895,-1.338435804382243,-1.2888365977341891,-1.2470487166428939,-1.2152288512425002,-1.1906028473877086,-1.1701207573860302,-1.1500581754662562,-1.13166077853748,-1.114958354315604,-1.0997139430892275,-1.085642361027567,-1.0725554404780269,-1.0603804917700472,-1.0490294763822021,-1.0384059766147402,-1.0284461091578123,-1.0178384970658954,-1.0074578803796612},
{-1.4967592894363406,-1.4579348021698024,-1.4005757979311966,-1.3416236443590606,-1.291954931239161,-1.25009035353105,-1.2182154898364388,-1.1935535676984728,-1.1730322637340578,-1.1529292722589162,-1.1344956038283271,-1.1177594989512727,-1.102484472674405,-1.088381633757308,-1.0752651891561982,-1.0630628146918752,-1.0516861616633832,-1.0410386120474868,-1.031055855914019,-1.0204219119950722,-1.0100183705544623},
{-1.4993457388236493,-1.4611134722545103,-1.403821226837863,-1.3448209607468016,-1.295082512375302,-1.2531409784824064,-1.2212109325191705,-1.1965130270109512,-1.1759523065247777,-1.155808802408501,-1.1373387928761076,-1.1205689279940998,-1.1052631552684034,-1.0911289342202508,-1.0779828794766217,-1.0657529996478843,-1.0543506351605174,-1.0436789612285793,-1.0336732415653387,-1.023012887008008,-1.0125863681314513},
{-1.501940455717886,-1.4643018490023678,-1.4070763562294815,-1.3480277821436175,-1.2982193677216856,-1.256200617948707,-1.2242152049802826,-1.1994812499688123,-1.178880912502791,-1.1586967886105413,-1.140190369411357,-1.1233866661368666,-1.1080500139087235,-1.0938842861360172,-1.080708532468634,-1.0684510689261515,-1.0570229190288956,-1.046327046235092,-1.036298287266618,-1.025611445074901,-1.0151618933432474},
{-1.504543464308881,-1.4674999615835986,-1.4103412156209743,-1.3512441358252545,-1.3013655244212714,-1.2592692979687854,-1.2272283339025307,-1.2024582618087152,-1.181818106189894,-1.1615932571185112,-1.1430503577721538,-1.1262127370900998,-1.1108450700248795,-1.0966477111051063,-1.0834421707058937,-1.0711570450202998,-1.0597030349035776,-1.0489828875706735,-1.0389310150148958,-1.0282176071359572,-1.0177449642433203},
{-1.507154788326261,-1.4707078387791626,-1.413615834405391,-1.3544700508409733,-1.304521010051758,-1.262347045196293,-1.2302503451155644,-1.2054440888732643,-1.1847639137176884,-1.1644982317302492,-1.1459187825148547,-1.1290471685661032,-1.1136483483624033,-1.0994192339876463,-1.0861838176806486,-1.0738709510642366,-1.0623910071444698,-1.0516465087548568,-1.0415714479822782,-1.0308313978930528,-1.0203356017173064},
{-1.5097744522190624,-1.4739255102404059,-1.416900242513293,-1.3577055547484633,-1.307685851590577,-1.2654338854808884,-1.2332812649583502,-1.2084387559170864,-1.1877183595734095,-1.1674117366728751,-1.1487956672426662,-1.1318899839970982,-1.1164598706727702,-1.1021988765533024,-1.0889334963812871,-1.0765928088621877,-1.0650868570774037,-1.0543179301566852,-1.0442196066342149,-1.0334528380008123,-1.0229338246663247},
{-1.5124024798315077,-1.477153004883803,-1.4201944693259065,-1.3609506759312353,-1.3108600765081064,-1.2685298454889562,-1.2363211207157292,-1.2114422895210737,-1.1906814699559618,-1.1703337973794987,-1.1516810375687783,-1.1347412096474727,-1.1192796612776874,-1.104986662932788,-1.0916912300726835,-1.0793226424048044,-1.0677906088913005,-1.0569971741351765,-1.0468755141773727,-1.0360819509915018,-1.0255396543016104},
{-1.5150388955116796,-1.480390352185168,-1.4234985453549598,-1.3642054437041224,-1.3140437124202435,-1.2716349520887889,-1.2393699384429055,-1.2144547148345737,-1.1936532714025816,-1.1732644380990678,-1.1545749164124572,-1.1376008694478514,-1.1221077411501028,-1.1077826154451031,-1.0944570406390994,-1.0820604725231533,-1.0705022844722407,-1.0596842630038736,-1.0495391914628271,-1.0387187588348752,-1.0281531098407868},
{-1.5176837235867424,-1.4836375814511484,-1.426812499843436,-1.3674698849408742,-1.3172367865481647,-1.2747492312337272,-1.242427744624365,-1.2174760579655413,-1.1966337884950917,-1.1762036838135828,-1.157477329199537,-1.1404689882638195,-1.1249441340769408,-1.1105867581700295,-1.0972309523331205,-1.0848063240428019,-1.0732219069177518,-1.062379218685237,-1.052210662739526,-1.0413632841373328,-1.0307742123040953},
{-1.520336988463896,-1.486894721907447,-1.430136362925623,-1.3707440294820117,-1.3204393258929485,-1.2778727101103868,-1.2454945651916205,-1.2205063446144777,-1.1996230477870995,-1.1791515596087265,-1.1603882992640138,-1.1433455907153984,-1.1277888637032447,-1.1133991145652544,-1.100012987613809,-1.087560218242288,-1.0759494987360085,-1.065082063249065,-1.054889948130949,-1.0440155495816725,-1.0334029825717153},
{-1.5229987145139603,-1.4901618036274158,-1.4334701647530892,-1.3740279057146836,-1.3236513594165444,-1.281005415108666,-1.2485704283808445,-1.2235456016242097,-1.2026210745407298,-1.1821080903409893,-1.1633078516151727,-1.1462307014226099,-1.1306419516986352,-1.1162197078192548,-1.1028031705118337,-1.090322178986753,-1.0786850831864285,-1.0677928188179067,-1.0575770712312078,-1.0466755774341436,-1.0360394414547045},
{-1.525668926362414,-1.4934388555857367,-1.4368139355556195,-1.3773215416658786,-1.3268729134051682,-1.2841473730259167,-1.2516553600653424,-1.2265938553118758,-1.2056278946456587,-1.1850733013379795,-1.1662360094815085,-1.149124345065502,-1.133503422694048,-1.1190485618517414,-1.10560152382277,-1.0930922293064214,-1.0814286837648979,-1.070511507401534,-1.0602720536062407,-1.0493433897336217,-1.0386836104735266},
{-1.5283476485774372,-1.4967259078603092,-1.4401677056466724,-1.3806249672252306,-1.3301040164824371,-1.287298611494407,-1.2547493873444182,-1.2296511317144905,-1.2086435347173392,-1.1880472178054333,-1.169172798834552,-1.152026546169509,-1.1363732987374533,-1.1218857003277662,-1.1084080714899756,-1.0958703919222899,-1.084180322714019,-1.0732381518009788,-1.0629749185009132,-1.052019009450305,-1.0413355106375093},
{-1.5310349057508574,-1.5000229898078032,-1.4435315048049233,-1.3839382102378295,-1.333344696506174,-1.2904591565111332,-1.2578525370608986,-1.2327174577767437,-1.2116680208746402,-1.191029864748998,-1.1721182429591863,-1.154937328723463,-1.1392516036430607,-1.124731147154307,-1.1112228371021047,-1.0986566901810875,-1.0869400241899712,-1.0759727740969538,-1.0656856882251304,-1.0547024588631757,-1.0439951636981277},
{-1.5337307228692225,-1.5033301314942946,-1.4469053639968479,-1.3872613007843029,-1.3365949811486644,-1.293629036499624,-1.260964836441417,-1.2357928599067236,-1.2147013787762262,-1.1940212684603466,-1.1750723662626115,-1.157856716621609,-1.14213835954979,-1.1275849257217487,-1.1140458439531358,-1.1014511475368636,-1.0897078103389504,-1.0787153971905354,-1.0684043852252216,-1.057393760776904,-1.0466625915705663},
{-1.536435124576201,-1.5066473625456638,-1.4502893133940233,-1.3905942671153753,-1.339854898478734,-1.296808277384116,-1.2640863122524024,-1.2388773652455711,-1.217743633842474,-1.197021453634079,-1.1780351922770933,-1.1607847343202593,-1.145033591239553,-1.1304470599679917,-1.1168771158572781,-1.1042537872908724,-1.0924837039892736,-1.0814660430805816,-1.071131031791083,-1.0600929370593803,-1.0493378158535052},
{-1.5391481358310557,-1.5099747130934702,-1.4536833839429164,-1.3939371381311503,-1.3431244765415613,-1.2999969068714563,-1.2672169922225294,-1.241971000441481,-1.220794813689281,-1.2000304463781504,-1.18100674638481,-1.163721406373952,-1.1479373215279338,-1.1333175741783634,-1.1197166771125922,-1.1070646326952556,-1.095267729337138,-1.0842247352265986,-1.0738656510275177,-1.0628000109463756,-1.0520208593479765},
{-1.5418697816558051,-1.513312213079189,-1.4570876057769055,-1.3972899437485466,-1.3464037434841885,-1.3031949520573107,-1.2703569027999038,-1.2450737922772532,-1.223854943385959,-1.2030482720547298,-1.1839870518997486,-1.166666755645565,-1.150849572961306,-1.1361964919869934,-1.1225645508402522,-1.1098837071640446,-1.0980599088579766,-1.0869914956201683,-1.0766082656518847,-1.0655150043912727,-1.0547117429468926},
{-1.5446000871179422,-1.5166598924288337,-1.4605020099534158,-1.400652713058662,-1.349692727373622,-1.306402440797683,-1.273506072395321,-1.248185768363328,-1.2269240505684138,-1.2060749566462619,-1.1869761337948148,-1.1696208067569387,-1.153770371050996,-1.1390838378938497,-1.1254207616548229,-1.1127110354900651,-1.1008602661568148,-1.0897663475188892,-1.079358897779457,-1.0682379402278457,-1.0574104917559453},
{-1.5473390773013307,-1.520017781338538,-1.4639266272733948,-1.4040254754727357,-1.3529914568371169,-1.3096194006739097,-1.2766645274623443,-1.2513069556098344,-1.2300021610280965,-1.2091105263407371,-1.1899740158314671,-1.172583583591404,-1.156699737008239,-1.1419796359041356,-1.128285333421445,-1.1155466397722194,-1.10366882418748,-1.0925493138693128,-1.0821175709079398,-1.0709688410097442,-1.060117125744},
{-1.550086777474462,-1.5233859101163034,-1.4673614882813126,-1.4074082602091949,-1.3562999602181662,-1.3128458591527306,-1.2798322965154512,-1.2544373814489518,-1.2330893002654193,-1.2121550067367934,-1.1929807220967632,-1.1755551102196478,-1.1596376960278576,-1.144883910095814,-1.131158290349049,-1.1183905448688165,-1.106485606294882,-1.0953404175743344,-1.0848843074945762,-1.0737077285139094,-1.062831668949002},
{-1.5528432129040084,-1.526764308849124,-1.4708066243965732,-1.4108010967847804,-1.3596182652727293,-1.3160818433279928,-1.2830094062264834,-1.2575770733910758,-1.2361854957234755,-1.2152084242952697,-1.1959962762266514,-1.1785354109615582,-1.162584271723972,-1.147796685098001,-1.134039656011737,-1.1212427745085733,-1.1093106358093792,-1.0981396816969209,-1.087659131091641,-1.0764546272203006,-1.0655541445303243},
{-1.555608409049455,-1.530153007917761,-1.4742620663437265,-1.4142040153328708,-1.3629464018013095,-1.3193273815795692,-1.2861958854900877,-1.260726058815635,-1.239290774170513,-1.2182708048221684,-1.1990207035923959,-1.1815245083362242,-1.1655394870522287,-1.150717984779476,-1.1369294553787768,-1.1241033516016614,-1.1121439355702023,-1.10094712942373,-1.090442063019509,-1.079209558383809,-1.0682845747342071},
{-1.5583823912329535,-1.533552037642039,-1.4777278452529572,-1.417617044689905,-1.3662843970487302,-1.3225825016925228,-1.2893917613437225,-1.2638843653494405,-1.2424051619600505,-1.2213421753040166,-1.2020540278917906,-1.1845224278040405,-1.1685033670473786,-1.1536478340549365,-1.1398277125827008,-1.1269723017521756,-1.1149855303156073,-1.103762784428909,-1.0932331290678121,-1.0819725453620777,-1.071022983869625},
{-1.5611651850713315,-1.5369614286837532,-1.4812039924927376,-1.4210402157186763,-1.3696322806372336,-1.3258472313445964,-1.2925970610904187,-1.2670520204064815,-1.2455286852837162,-1.2244225607209955,-1.2050962728280865,-1.187529192709917,-1.1714759347578365,-1.1565862569987075,-1.1427344520579936,-1.1298496484578209,-1.117835442924843,-1.1065866693788848,-1.0960323499093647,-1.084743611050726,-1.0737693944793136},
{-1.563956816135942,-1.5403812115036999,-1.4846905393333145,-1.424473557204692,-1.3729900808084494,-1.3291215985900635,-1.2958118142360036,-1.270229052302966,-1.248661371628259,-1.2275119886271568,-1.2081474636488565,-1.190544827217309,-1.1744572143925325,-1.159533277996161,-1.1456496974587935,-1.1327354156728688,-1.1206936956677964,-1.109418808526243,-1.098839749742183,-1.0875227776941756,-1.076523830261067},
{-1.5667573101700327,-1.5438114164544459,-1.4881875171122374,-1.427917099887054,-1.376357826649837,-1.332405631441361,-1.2990360477633658,-1.2734154888094054,-1.2518032476946246,-1.2306104853105353,-1.2112076240700844,-1.1935693559917127,-1.177447230742473,-1.1624889225167863,-1.148573474971272,-1.1356296289995953,-1.123560313049893,-1.1122592248721048,-1.1016553515946725,-1.090310069233965,-1.0792863154329098},
{-1.5695666928741048,-1.5472520746197915,-1.4916949570833822,-1.4313708733898238,-1.3797355468359456,-1.3356993583238363,-1.3022697915857862,-1.27661135731978,-1.2549543398145033,-1.2337180775048182,-1.2142767790028302,-1.1966028021925013,-1.1804460072562506,-1.1654532144784753,-1.1515058078384754,-1.138532310802475,-1.1264353191891132,-1.1151079425908392,-1.1044791790191084,-1.0931055079145153,-1.0820568725557678},
{-1.5723849901523863,-1.5507032165132841,-1.495212890975381,-1.434834907813638,-1.3831232702887064,-1.3390028070425615,-1.3055130719931185,-1.2798166860029596,-1.258114676180412,-1.2368347908050055,-1.2173549517137872,-1.1996451907816663,-1.1834535687503376,-1.1684261784848786,-1.1544467204203102,-1.1414434866837837,-1.1293187362880417,-1.1179649845125823,-1.1073112541071168,-1.095909117066185,-1.084835526526149},
{-1.5752122278418028,-1.5541648729285953,-1.4987413504750293,-1.4383092338321148,-1.3865210268631927,-1.3423160068014113,-1.3087659185202938,-1.2830315040337155,-1.2612842823600658,-1.2399606532453618,-1.220442168369118,-1.2026965465647663,-1.1864699398774974,-1.171407840161919,-1.1573962387665233,-1.14436318195294,-1.1322105900344468,-1.1208303758048714,-1.1101516021353746,-1.0987209205632098,-1.087622301391093},
{-1.5780484319629977,-1.5576370748922272,-1.5022803668634879,-1.4417938809256157,-1.389928844444512,-1.3456389847706305,-1.312028359654505,-1.2862558383731084,-1.2644631864714029,-1.2430956906464417,-1.2235384520226944,-1.205756893281432,-1.1894951444228354,-1.1743982232492272,-1.1603543865749089,-1.1472914200367086,-1.1351109018869465,-1.1237041390231752,-1.113000245190051,-1.101540940167979,-1.090417220695599},
{-1.5808936287339748,-1.5611198532678827,-1.5058299724914832,-1.4452888799842185,-1.3933467529604968,-1.348971770135904,-1.3153004238884023,-1.2894897171408957,-1.26765141584292,-1.2462399307660235,-1.2266438287388155,-1.2088262564811885,-1.1925292078522034,-1.177397353687411,-1.1633211893149564,-1.1502282266465045,-1.138019697211348,-1.1265862989785091,-1.115857207800218,-1.1043692004896002,-1.093220309005119},
{-1.583747844165373,-1.5646132390484127,-1.5093901985947014,-1.4487942617124645,-1.3967747817441705,-1.352314391588152,-1.3185821414026577,-1.2927331692571897,-1.270848996908171,-1.2493933993282553,-1.229758322077032,-1.2119046596981207,-1.1955721534523036,-1.1804052549832704,-1.1662966710991896,-1.1531736256492877,-1.1409369993016298,-1.1294768791012757,-1.118722512101158,-1.1072057244655298,-1.0960315898028057},
{-1.586611104565236,-1.5681172634040195,-1.5129610776220943,-1.4523100558508304,-1.40021296012128,-1.3556668775945582,-1.3218735393220413,-1.295986222985448,-1.2740559573903738,-1.2525561241654941,-1.2328819577232935,-1.2149921295440436,-1.1986240070782515,-1.1834219538141042,-1.169280857546255,-1.156127643023865,-1.1438628319374402,-1.132375903918728,-1.1215961826746934,-1.1100505347530998,-1.0988510878360103},
{-1.589483436286173,-1.5716319572411521,-1.516542641013075,-1.4558362936149933,-1.4036613169319025,-1.359029256625945,-1.325174646332016,-1.2992489064345136,-1.2772723247380782,-1.2557281317785964,-1.236014760866965,-1.2180886891746923,-1.2016847938084538,-1.186447474790839,-1.172273772484914,-1.1590903032738424,-1.1467972194459435,-1.1352833970086067,-1.1244782432513603,-1.1129036559923406,-1.1016788275283034},
{-1.5923648656898877,-1.5751573523466504,-1.5201349214639777,-1.4593730057586072,-1.4071198829169589,-1.3624015579971456,-1.328485493973858,-1.3025212481734343,-1.2804981268727715,-1.258909449865314,-1.2391567553750065,-1.2211943647125736,-1.204754538151974,-1.1894818422988465,-1.1752754427197942,-1.1620616317504755,-1.14974018511748,-1.1381993828545092,-1.1273687178563705,-1.1157651110079314,-1.1045148320936278},
{-1.5952554193117976,-1.578693479589674,-1.5237379507470905,-1.4629202219293802,-1.4105886865563662,-1.3657838103135873,-1.331806109754325,-1.3058032772460137,-1.2837333908446453,-1.2621001045918092,-1.242307967711895,-1.224309181501667,-1.2078332647743082,-1.1925250822641829,-1.1782858918486454,-1.1650416533466341,-1.1526917538321868,-1.1411238861255697,-1.1302676296654681,-1.1186349231993518,-1.1073591266540461},
{-1.5981551237027816,-1.582240370413274,-1.527351761385944,-1.46647797481819,-1.4140677581908676,-1.3691760426463588,-1.3351365233611432,-1.3090950216119381,-1.2869781447679998,-1.2653001239141304,-1.2454684231124702,-1.2274331645730854,-1.2109209995669517,-1.1955772197125043,-1.1813051452245418,-1.168030393000663,-1.1556519498863054,-1.1440569305832469,-1.1331750024728535,-1.1215131163535261,-1.1102117354566872},
{-1.6010640053755196,-1.58579805640602,-1.5309763851855678,-1.470046293690757,-1.4175571269024658,-1.3725782838973828,-1.3384767647203262,-1.3123965098166082,-1.2902324164042511,-1.2685095347715105,-1.248638146702433,-1.2305663402748905,-1.2140177673427388,-1.1986382798986597,-1.1843332285898214,-1.1710278769442084,-1.158620797083131,-1.1469985411040398,-1.1360908613405627,-1.1243997140991269,-1.11307268251403},
{-1.6039820912792493,-1.5893665690937269,-1.534611855100593,-1.4736252106122265,-1.4210568235266692,-1.375990563288724,-1.3418268629739032,-1.3157077707601275,-1.2934962334365991,-1.2717283646197757,-1.251817164127715,-1.2337087334763055,-1.217123593114593,-1.2017082888560253,-1.1873701665499539,-1.174034129751817,-1.1615983193787542,-1.1499487411638256,-1.139015229200595,-1.127294739764693,-1.1159419919313223},
{-1.6069094080494324,-1.5929459397138999,-1.5382582031215861,-1.477214756238027,-1.424566877016332,-1.379412910066094,-1.3451868481624842,-1.3190288328441966,-1.2967696235700714,-1.2749566403472272,-1.2550055012670782,-1.2368603698541847,-1.2202385027449054,-1.2047872707080387,-1.1904159849746065,-1.1770491765746556,-1.1645845415441727,-1.1529075563685183,-1.1419481307275419,-1.1301982174627483,-1.1188196875082213},
{-1.6098459827544502,-1.5965362003780683,-1.5419154625087685,-1.480814961852957,-1.4280873180250637,-1.3828453539208567,-1.3485567501775222,-1.3223597254855122,-1.3000526153609826,-1.2781943890095135,-1.2582031844794983,-1.240021276540574,-1.2233625221379043,-1.2078752525994787,-1.1934707089185395,-1.1800730441118503,-1.167579488532283,-1.1558750104795763,-1.144889590155799,-1.1331101708510687,-1.1217057936737547},
{-1.612791842223487,-1.6001373826511553,-1.5455836653090955,-1.4844258584125782,-1.4316181763315399,-1.3862879238313326,-1.3519365986103367,-1.3257004764091107,-1.3033452362797107,-1.281441639039258,-1.2614102392417408,-1.243191478693916,-1.2264956762137444,-1.2109722591085301,-1.196534363725732,-1.183105756446821,-1.1705831845574721,-1.158851128684546,-1.1478396317033912,-1.1360306235837925,-1.1246003343494522},
{-1.6157470136031407,-1.6037495184064028,-1.5492628442025307,-1.4880474777455674,-1.4351594819800084,-1.389740649077794,-1.3553264242254954,-1.3290511156246794,-1.306647515264558,-1.2846984172156226,-1.2646266919928166,-1.246371003522654,-1.2296379905765207,-1.2140783165723406,-1.199606975513234,-1.1861473394710629,-1.173595654336168,-1.161835935414274,-1.1507982800630998,-1.138959599295049,-1.127503334377252},
{-1.6187115240954881,-1.6073726392287426,-1.5529530325457017,-1.4916798515750997,-1.4387112659715058,-1.3932035602556425,-1.3587262561595708,-1.3324116714447882,-1.3099594803115906,-1.2879647512672818,-1.2678525695173448,-1.2495598757268453,-1.2327894914651552,-1.2171934501366195,-1.2026885689301707,-1.1891978193089017,-1.1766169219881704,-1.1648294549613638,-1.1537655594383978,-1.1418971228413284,-1.1304148160907062},
{-1.6216854007770962,-1.6110067776198775,-1.5566542628057505,-1.4953230108658317,-1.4422735578973516,-1.3966766861267388,-1.3621361259956757,-1.335782172747713,-1.3132811593750375,-1.2912406694013043,-1.2710878981051792,-1.2527581234589888,-1.2359502048093418,-1.2203176864732086,-1.2057791705101408,-1.1922572211260558,-1.179647013421345,-1.1678317129553761,-1.1567414951259707,-1.1448432171273453,-1.1333348051302892},
{-1.6246686709337155,-1.614651965154735,-1.560366567948222,-1.4989769864987466,-1.4458463882419892,-1.400160056671666,-1.365556062943142,-1.3391626481425192,-1.3166125815278065,-1.2945261977911287,-1.2743327039333963,-1.255965772741547,-1.2391201563259528,-1.223451051313532,-1.2088788061191735,-1.1953255709413497,-1.1826859529846843,-1.170842733601603,-1.1597261115402944,-1.14779790645116,-1.1362633239077695},
{-1.6276613622576406,-1.6183082341276531,-1.5640899810314295,-1.502641811643116,-1.4494297877936333,-1.4036537016691,-1.3689860984850384,-1.342553127269639,-1.3199537750588206,-1.2978213651622355,-1.2775870147925161,-1.2591828502700082,-1.2422993720992963,-1.226593570152545,-1.2119874999680178,-1.198402893018283,-1.1857337656128948,-1.1738625415564456,-1.1627194328157202,-1.1507612152290676,-1.1392003964465403},
{-1.6306635018936504,-1.6219756166165098,-1.567824535386535,-1.5063175172163028,-1.4530237867747928,-1.407157651216039,-1.3724262625819392,-1.3459536388054403,-1.3233047684188932,-1.3011261988358456,-1.280850857077894,-1.262409383247359,-1.2454878783810273,-1.2297452699531277,-1.215105279790805,-1.2014892146653438,-1.1887904771301692,-1.1768911626422778,-1.165721484911046,-1.1537331680465286,-1.1421460478231893},
{-1.633675117654093,-1.6256541449347424,-1.5715702641336975,-1.5100041353725828,-1.4566284163392993,-1.4106719358260307,-1.3758765859456616,-1.349364211286229,-1.3266655904462823,-1.3044407272682292,-1.284124258781958,-1.2656453981162485,-1.248685701228169,-1.2329061770360568,-1.2182321709715325,-1.2045845610100514,-1.1918561122074607,-1.179928621304498,-1.168732292495406,-1.1567137887141143,-1.1451003012298315},
{-1.636696236946591,-1.6293438515212983,-1.5753272004403698,-1.5137016980606859,-1.4602437067496794,-1.4141965843555226,-1.3793370994735596,-1.3527848749017721,-1.330036269771881,-1.307764977822444,-1.2874072463746415,-1.2688909219086781,-1.2518928678382508,-1.2360763167835103,-1.2213681991834164,-1.2076889570707863,-1.1949306963288109,-1.182974942277724,-1.1717518809491594,-1.1597031014425738,-1.1480631803806318},
{-1.639726887652614,-1.6330447686577827,-1.5790953780287964,-1.517410237027434,-1.4638696893780434,-1.4177316287641588,-1.382807834452251,-1.35621565827023,-1.3334168362271157,-1.3110989787928702,-1.2906998483213101,-1.2721459831191169,-1.255109403969982,-1.2392557167622726,-1.2245133913966129,-1.2108024302397098,-1.1980142545544368,-1.1860301515735046,-1.174780275201556,-1.1627011312029936,-1.1510347099228966},
{-1.642767097626347,-1.6367569287895094,-1.582874829933644,-1.5211297845198715,-1.4675063946924638,-1.4212770979956986,-1.3862888210842357,-1.359656590029772,-1.336807317684361,-1.3144427579463809,-1.294002092197843,-1.2754106073025469,-1.258335336120581,-1.2424444031948951,-1.2276677730023948,-1.2139250046948291,-1.201106813554361,-1.1890942739119055,-1.177817500754827,-1.165707902307986,-1.1540149136508262},
{-1.6458168947292506,-1.6404803645991706,-1.5866655897825694,-1.5248603729414754,-1.471153853502983,-1.4248330226910184,-1.3897800906324846,-1.3631077000336518,-1.3402077431637736,-1.3177963430371165,-1.2973140057620185,-1.2786848223677225,-1.2615706912638416,-1.2456424015199445,-1.230831370314263,-1.2170567067842057,-1.2042083972155524,-1.1921673341148562,-1.1808635823836084,-1.168723438935558,-1.157003816226279},
{-1.6488763069446577,-1.6442151087367165,-1.5904676914287847,-1.5286020344774442,-1.4748120977328654,-1.4283994340476056,-1.3932816747656034,-1.366569018076916,-1.3436181427932752,-1.321159763576361,-1.3006356174937537,-1.2819686562415882,-1.264815496337178,-1.2488497408321564,-1.2340042110790819,-1.220197562734029,-1.2073190328810597,-1.195249358559522,-1.1839185460885346,-1.1717477671572851,-1.1600014423402172},
{-1.651945362305014,-1.6479611934591958,-1.5942811682944011,-1.5323548015676351,-1.478481158026625,-1.4319763618877914,-1.3967936039098277,-1.3700405717299873,-1.3470385450509639,-1.3245330465342704,-1.3039669557892921,-1.285262135852463,-1.2680697781033814,-1.2520664462190325,-1.2371863206135458,-1.2233475987104612,-1.2104387456110999,-1.1983403713475127,-1.1869824170662469,-1.174780910327172,-1.1630078164107545},
{-1.6550240890237546,-1.6517186523387863,-1.5981060545382206,-1.536118706140769,-1.482161065498076,-1.4355638373854163,-1.400315909566416,-1.3735223918465636,-1.3504689790242992,-1.3279162206454203,-1.3073080490703433,-1.2885652891000063,-1.2713335634944087,-1.255292545289194,-1.2403777258950868,-1.2265068396045535,-1.213567561486343,-1.2014403986322577,-1.190055221750299,-1.1778228941147972,-1.166022963294381},
{-1.658112515349785,-1.6554875175334018,-1.6019423835768976,-1.5398937813552038,-1.485851851217376,-1.4391618910594843,-1.4038486230565468,-1.3770145069102,-1.353909474271859,-1.3313093145879975,-1.3106589264953072,-1.2918781424086774,-1.2746068792530423,-1.258528064146958,-1.243578453149894,-1.2296753112750594,-1.2167055060508574,-1.2045494654412323,-1.193136983898512,-1.1808737430765177,-1.16904690771662},
{-1.6612106696156843,-1.6592678225388227,-1.6057901898602722,-1.5436800596235116,-1.489553547653486,-1.4427705543330376,-1.4073917759415053,-1.380516947572687,-1.3573600609033747,-1.3347123570765689,-1.3140196171552816,-1.29520072530795,-1.27788975335352,-1.2617730314723303,-1.2467885303194635,-1.2328530413360568,-1.2198526061529265,-1.2076675983989844,-1.1962277307702607,-1.1839334817123017,-1.1720796752942988},
{-1.6643185802222433,-1.6630595998976787,-1.609649506981441,-1.547477573822107,-1.4932661853526952,-1.4463898574940686,-1.410945399395132,-1.3840297420829302,-1.360820767653422,-1.338125376656535,-1.3173901502505032,-1.2985330639894528,-1.2811822128933272,-1.2650274738134613,-1.2500079833716882,-1.2360400548895996,-1.2230088873020577,-1.2107948219418176,-1.1993274869710149,-1.1870021362956322,-1.1751212906747242},
{-1.6674362756994014,-1.6668628829556837,-1.61352036921744,-1.5512863569892943,-1.4969897966348071,-1.4500198324967641,-1.4145095253588806,-1.3875529207816726,-1.364291624573525,-1.3415484019224095,-1.3207705552613334,-1.3018751865838567,-1.284484284447899,-1.2682914179895306,-1.2532368395168305,-1.239236377650741,-1.2261743755097996,-1.2139311622413516,-1.2024362790907617,-1.1900797306807362,-1.1781717788162496},
{-1.6705637846607715,-1.6706777048912045,-1.6174028109071514,-1.555106441010139,-1.5007244124772114,-1.4536605096927815,-1.4180841843099188,-1.391086513236587,-1.3677726611658727,-1.3449814616524236,-1.3241608620373881,-1.3052271212691267,-1.2877959960151202,-1.2715648918074294,-1.2564751265708765,-1.2424420365787228,-1.2293490981301147,-1.217076645252746,-1.205554132189718,-1.1931662900169613,-1.1812311654102814},
{-1.67370113576726,-1.6745040988662367,-1.621296866253033,-1.5589378599943302,-1.5044700652870233,-1.45731192128369,-1.4216694089736848,-1.394630548722489,-1.3712639071072772,-1.3484245854997425,-1.3275611006829422,-1.3085888952500682,-1.2911173756601784,-1.2748479223555478,-1.259722870287078,-1.2456570573613135,-1.2325330801195378,-1.2202312968947808,-1.2086810716555192,-1.1962618397446931,-1.1842994760118017},
{-1.6768483576906874,-1.6783420983065298,-1.6252025697212957,-1.5627806461525324,-1.5082267863926972,-1.4609740979740309,-1.4252652301584021,-1.3981850575892167,-1.374765392878544,-1.3518778020225,-1.330971301849786,-1.31196053673375,-1.2944484506951994,-1.2781405381902005,-1.262980099516426,-1.2488814663029189,-1.2357263493740902,-1.2233951426896965,-1.2118171245056146,-1.1993664047859056,-1.1873767360175407},
{-1.6800054796403856,-1.6821917365396075,-1.629119955790884,-1.566634833921853,-1.511994608279565,-1.4646470714706084,-1.428871680096563,-1.4017500691425084,-1.3782771471560409,-1.355341140546443,-1.3343914950819453,-1.3153420734033716,-1.2977892483577307,-1.2814427662960952,-1.2662468403013918,-1.2521152901226742,-1.2389289310158347,-1.2265682085362641,-1.2149623152872664,-1.2024800104536553,-1.1904629706750711},
{-1.6831725300598919,-1.6860530471585662,-1.6330490586715314,-1.5705004551291495,-1.5157735623197368,-1.4683308730018325,-1.4324887900238537,-1.4053256138431607,-1.3817992007825524,-1.3588146303955,-1.3378217114313884,-1.3187335321345017,-1.3011397971113183,-1.284754633978082,-1.269523121382008,-1.2553585550886055,-1.2421408520694968,-1.2297505212427495,-1.218116670677773,-1.2056026815116638,-1.1935582056175917},
{-1.6863495384004636,-1.689926063791063,-1.6369899135916057,-1.574377543764058,-1.519563681571526,-1.47202553560237,-1.4361165918944607,-1.4089117214280122,-1.3853315839660354,-1.3622983011409815,-1.3412619824321155,-1.3221349428094982,-1.3045001245191088,-1.2880761699816503,-1.2728089697466203,-1.258611287581516,-1.2453621390141052,-1.2329421067624935,-1.2212802162648586,-1.2087344438768923,-1.1966624667093129},
{-1.689536533674982,-1.6938108198355621,-1.6409425546335115,-1.5782661329012626,-1.5233649973815773,-1.4757310896075069,-1.4397551166857738,-1.4125084215011157,-1.3888743259449257,-1.3657921825542871,-1.3447123388759792,-1.3255463313053042,-1.30787025857353,-1.2914074011860066,-1.276104412814675,-1.2618735134601593,-1.2485928185469675,-1.2361429912380117,-1.2244529779491131,-1.2118753220911458,-1.1997757795124926},
{-1.6927335449108796,-1.6977073493235366,-1.6449070168746402,-1.5821662567468593,-1.5271775422770588,-1.4794475675771537,-1.4434043975834356,-1.416115745298157,-1.392427457634767,-1.369296303815645,-1.3481728116566956,-1.3289677266966464,-1.3112502276544546,-1.2947483566640585,-1.2794094792334363,-1.2651452605095983,-1.2518329181348236,-1.23935320149576,-1.2276349820640462,-1.215025342615263,-1.202898170466142},
{-1.6959406017040237,-1.7016156858444447,-1.6488833355397219,-1.5860779483446095,-1.531001348839709,-1.483175001860218,-1.4470644651410112,-1.4197337221685302,-1.395991008839701,-1.372810694940199,-1.3516434332759673,-1.3323991562283481,-1.314640059696103,-1.2980990636278875,-1.282724195967603,-1.2684265548978146,-1.2550824632908189,-1.242572763501812,-1.230826254515705,-1.218184530527651,-1.2060296649960947},
{-1.6991577332037195,-1.7055358636971505,-1.6528715452295728,-1.5900012419479026,-1.5348364495512214,-1.486913424285376,-1.450735352233096,-1.4233623827931297,-1.3995650105407549,-1.376335386379651,-1.3551242353132693,-1.3358406482202554,-1.318039783367567,-1.3014595502554585,-1.2860485917753977,-1.2717174232202524,-1.2583414815671858,-1.2458017047865724,-1.2340268218176789,-1.2213529109249066,-1.209170290389011},
{-1.7023849690622228,-1.709467916360154,-1.656871681148914,-1.5939361703312898,-1.538682876895109,-1.4906628667522455,-1.4544170896315336,-1.4270017574744998,-1.4031494924493018,-1.37987040781627,-1.3586152497027797,-1.3392922309649293,-1.3214494262756489,-1.3048298454141332,-1.2893826946201443,-1.2750178925762157,-1.2616099998995196,-1.249040051110569,-1.2372367105108424,-1.2245305103933788,-1.2123200717323925},
{-1.7056223389599836,-1.71341187840153,-1.6608837785061041,-1.5978827684812131,-1.5425406634112733,-1.494423362062662,-1.4581097095251607,-1.4306518771209085,-1.4067444853026245,-1.3834157892633812,-1.3621165086933615,-1.342753931070547,-1.3248690174204967,-1.3082099763942097,-1.2927265320613515,-1.2783279892246355,-1.2648880446668045,-1.252287830107889,-1.2404559462993348,-1.2277173537077033,-1.2154790354798024},
{-1.708869872237301,-1.7173677836035495,-1.6649078723548882,-1.601841069639704,-1.5464098419724905,-1.4981949424673076,-1.4618132444556977,-1.4343127716656454,-1.4103500199780683,-1.3869715612472646,-1.3656280447303288,-1.3462257778028288,-1.3282985850783007,-1.3115999719866522,-1.296080132960924,-1.2816477408450737,-1.2681756438742013,-1.255545068257561,-1.2436845556585467,-1.230913467508799,-1.2186472097273509},
{-1.7121275987847184,-1.7213356663305603,-1.6689439983056218,-1.605811108076523,-1.5502904454242525,-1.5019776406952587,-1.4655277249366918,-1.437984472295284,-1.4139661259632703,-1.3905377541723283,-1.3691498903899628,-1.3497077988358797,-1.3317381579490757,-1.3149998609042086,-1.2994435256478027,-1.284977174600499,-1.2714728239061515,-1.2588117930718,-1.2469225657405332,-1.2341188771115412,-1.2218246208340133},
{-1.7153955486310224,-1.7253155610942486,-1.6729921913974977,-1.6097929180359642,-1.5541825066429737,-1.5057714890153875,-1.4692531844702899,-1.4416670096325106,-1.4175928351887706,-1.394114399463433,-1.3726820785141172,-1.3532000214054278,-1.3351877640379826,-1.3184096706554556,-1.3028167376633064,-1.2883163168662577,-1.2747796114017547,-1.2620880311533256,-1.2501700031898508,-1.2373336087694042,-1.225011294343858},
{-1.7186737514375636,-1.7293075022207631,-1.6770524876919808,-1.6137865337896073,-1.5580860590216616,-1.5095765208589,-1.4729896536282467,-1.4453604150367028,-1.4212301776042295,-1.3977015268628747,-1.3762246421028976,-1.3567024750645942,-1.338647433274673,-1.32182943094449,-1.306199799024398,-1.2916651959676528,-1.2780960349064117,-1.2653738102526404,-1.253426895098528,-1.2405576881392335,-1.2282072587931907},
{-1.721962237425032,-1.7333115241617634,-1.6811249224792846,-1.6177919895781088,-1.5620011353057635,-1.5133927688602853,-1.4767371653342707,-1.4490647188667936,-1.4248781843016332,-1.401299167313482,-1.379777614651175,-1.3602151866616623,-1.3421171934187441,-1.3252591693762952,-1.3095927367539844,-1.2950238386601995,-1.2814221206535876,-1.2686691576109297,-1.256693267603623,-1.2437911412544054,-1.2314125409830012},
{-1.7252610368177557,-1.7373276616053772,-1.6852095315152837,-1.6218093195166148,-1.5659277682170796,-1.5172202652483975,-1.4804957503274636,-1.4527799521183624,-1.4285368856926652,-1.4049073517762736,-1.383341028360519,-1.3637381846801873,-1.3455970732775313,-1.3286989141379308,-1.3129955797503499,-1.2983922721505223,-1.2847578956170764,-1.2719741000255453,-1.2599691483083006,-1.2470339941155544,-1.2346271677561163},
{-1.728570179477174,-1.7413559492724744,-1.6893063505267492,-1.625838559184558,-1.5698659923255036,-1.5210590445967682,-1.4842654419499013,-1.4565061463345046,-1.4322063134295604,-1.4085261123182136,-1.3869149172332982,-1.3672714978765725,-1.349087102458725,-1.3321486957447632,-1.3164083571755327,-1.3017705246875266,-1.2881033884459612,-1.2752886657744966,-1.263254563929877,-1.2502862736309908,-1.237851167063127},
{-1.731889696046892,-1.7453964217093016,-1.6934154152622796,-1.6298797418712638,-1.5738158400326938,-1.5249091381574544,-1.488046271044368,-1.4602433323962032,-1.435886497665706,-1.4121554785397166,-1.3904993135602126,-1.3708151532991906,-1.3525873092276015,-1.3356085405048361,-1.319831097518545,-1.3051586237052106,-1.29145862520636,-1.278612881545996,-1.2665495422043023,-1.253548004613549,-1.2410845652739226},
{-1.7352196167903458,-1.7494491139750608,-1.697536762265372,-1.6339329028050997,-1.5777773451372923,-1.5287705809005274,-1.4918382703326643,-1.4639915412863047,-1.4395774705208169,-1.4157954835754936,-1.3940942523549893,-1.3743691806685092,-1.3560977233610174,-1.339078479064483,-1.3232638293320633,-1.3085565972069162,-1.2948236351166997,-1.281946775956385,-1.2698541102399759,-1.256819213685958,-1.2443273900080385},
{-1.7385599722938423,-1.753514061203532,-1.7016704273428331,-1.6379980773908756,-1.5817505412669561,-1.5326434055550635,-1.4956414711632533,-1.4677508049990138,-1.4432792612260528,-1.4194461569004488,-1.3976997654372099,-1.3779336065326788,-1.3596183736026433,-1.3425585390559718,-1.3267065804848244,-1.3119644722319208,-1.2981984435045888,-1.2852903751845588,-1.2731682941866893,-1.26009992688887,-1.2475796686940157},
{-1.7419107930390965,-1.7575912981974398,-1.705816446308745,-1.6420752995418297,-1.5857354620129627,-1.5365276454467676,-1.499455905821378,-1.471521155006485,-1.44699190251049,-1.423107532054928,-1.4013158875586669,-1.3815084614434454,-1.3631492887107015,-1.3460487502197793,-1.3301593817595858,-1.3153822777458117,-1.3015830796430237,-1.2886437078796007,-1.2764921229390893,-1.2633901711451472,-1.250841428840431},
{-1.7452721096151436,-1.7616808599268552,-1.7099748553027894,-1.646164604670048,-1.5897321408610878,-1.540423334163279,-1.5032816061175254,-1.475302621956871,-1.4507154249859013,-1.4267796394960897,-1.4049426516703534,-1.3850937721490482,-1.3666904986985173,-1.3495491412941192,-1.3336222602847556,-1.3188100420447881,-1.304977570884148,-1.2920068013299897,-1.2798256238093018,-1.2666899727810232,-1.2541126973374048},
{-1.7486439530221105,-1.765782782173119,-1.7141456913795992,-1.6502660281021235,-1.5937406122993707,-1.5443305058815895,-1.5071186044406204,-1.479095238571972,-1.4544498603045213,-1.4304625111926725,-1.4085800905195356,-1.3886895684499905,-1.3702420326044376,-1.3530597412936913,-1.3370952456280065,-1.3222477922099642,-1.3083819441835658,-1.2953796831770887,-1.2831688237492926,-1.2699993582009483,-1.257393501131446},
{-1.752026354028203,-1.7698970998553705,-1.7183289904678531,-1.654379604226051,-1.5977609098154062,-1.5482491938055318,-1.5109669323719572,-1.4828990355217684,-1.4581952392218227,-1.4341561799883493,-1.4122282384250866,-1.392295878060395,-1.3738039197487524,-1.3565805788730358,-1.3405783666403295,-1.3256955575525353,-1.3117962284632085,-1.298762381382403,-1.286521750722386,-1.273318353763898,-1.2606838673746097},
{-1.7554193435980778,-1.7740238486039743,-1.722524789183808,-1.6585053692942893,-1.6017930677317054,-1.5521794323612994,-1.5148266221913218,-1.4867140448350256,-1.4619515929389308,-1.4378606761383708,-1.4158871282124892,-1.3959127300167893,-1.3773761895517964,-1.360111683683499,-1.3440716514342057,-1.3291533656501997,-1.3152204511516175,-1.3021549234545091,-1.2898844321534852,-1.276646986936612,-1.2639838232062175},
{-1.758822952769151,-1.7781630636163754,-1.7267331243547233,-1.6626433577275748,-1.6058371194849315,-1.5561212553056976,-1.518697705851082,-1.4905402985950786,-1.4657189531044423,-1.4415760337997199,-1.4195567933238635,-1.3995401539086743,-1.380958872150586,-1.3636530848289112,-1.3475751298701653,-1.332621245925111,-1.3186546402521344,-1.3055573379842826,-1.2932568964952225,-1.2799852846910653,-1.2672933959020156},
{-1.762237212807122,-1.7823147808448994,-1.7309540324913542,-1.666793606191277,-1.6098931006090424,-1.560074696843003,-1.5225802153290715,-1.494377827973949,-1.4694973512996512,-1.4453022840934864,-1.4232372662263515,-1.4031781774556293,-1.3845519953647454,-1.3672048120242835,-1.3510888305027038,-1.3360992263187654,-1.322098823651686,-1.3089696512506634,-1.2966391709542222,-1.2833332734135183,-1.2706126112443599},
{-1.7656621548558178,-1.7864790358798928,-1.735187550291812,-1.670956148980622,-1.6139610441496188,-1.5640397906481667,-1.5264741827159014,-1.4982266649967642,-1.4732868197424978,-1.4490394592594384,-1.4269285804948595,-1.4068268298378825,-1.3881555904426932,-1.3707668936585833,-1.3546127825957228,-1.3395873357003438,-1.3255530292208277,-1.3123918926521583,-1.3000312842068524,-1.2866909815038525,-1.273941496730913},
{-1.7690978102737063,-1.7906558646172925,-1.7394337149908097,-1.6751310223862674,-1.61804098522407,-1.5680165718713397,-1.5303796407115442,-1.5020868421470368,-1.4770873879933788,-1.45278759174289,-1.4306307694623683,-1.4104861415362393,-1.3917696867538325,-1.3743393606600876,-1.3581470147400978,-1.3430856028990092,-1.3290172858360165,-1.3158240893062612,-1.3034332638471824,-1.2900584352555597,-1.2772800793045462},
{-1.7725442105029288,-1.794845302863905,-1.7436925632919156,-1.6793182622313907,-1.6221329586060165,-1.5720050745840126,-1.5342966203188553,-1.505958390134765,-1.4808990891942813,-1.456546714529395,-1.4343438651576434,-1.4141561395044846,-1.3953943139968032,-1.3779222413177195,-1.3616915557850007,-1.346594056165486,-1.332491621189547,-1.3192662701894733,-1.3068451378312602,-1.2934356634377764,-1.2806283852114575},
{-1.7760013871111369,-1.7990473866120738,-1.747964132535344,-1.6835179036861518,-1.626236997970409,-1.576005332686691,-1.5382251541850565,-1.5098413421110308,-1.4847219545299595,-1.4603168601261132,-1.43806790034796,-1.4178368546508864,-1.3990295020485064,-1.38151556567027,-1.365246435685549,-1.3501127251456637,-1.3359760647563235,-1.3227184617971943,-1.3102669346826588,-1.2968226925841009,-1.2839864414181648},
{-1.7794693717860355,-1.8032621519687382,-1.7522484598139272,-1.6877299835359736,-1.6303531391804427,-1.5800173816987808,-1.5421652748063934,-1.5137357297280687,-1.4885560153834376,-1.4640980608910468,-1.4418029079024564,-1.4215283158828242,-1.4026752804475109,-1.385119363971171,-1.3688116827615886,-1.3536416386032215,-1.3394706434337422,-1.326180694055438,-1.3136986828067165,-1.3002195515036874,-1.2873542742581776},
{-1.7829481961089186,-1.807489635375532,-1.7565455824442324,-1.691954537836864,-1.634481416314884,-1.5840412558609387,-1.5461170141607,-1.517641585014644,-1.4924013040526916,-1.4678903502499452,-1.4455489200045122,-1.4252305524405529,-1.4063316802967165,-1.3887336658626737,-1.3723873262115376,-1.3571808253218478,-1.34297538730425,-1.3296529942126654,-1.3171404110726144,-1.303626267823347,-1.2907319099504093},
{-1.7864378919975934,-1.8117298727393063,-1.7608555378810706,-1.6961916016134637,-1.6386218646384805,-1.58807698979399,-1.5500804042476375,-1.5215589397466829,-1.4962578521299292,-1.471693760549897,-1.4493059686155902,-1.428943595083183,-1.4099987305889954,-1.3923585010034003,-1.3759733954757394,-1.3607303146782215,-1.3464903242729633,-1.333135390874304,-1.320592146990748,-1.3070428695955343,-1.2941193749811646},
{-1.7899384914717302,-1.8159829006217478,-1.7651783634373714,-1.7004412122769281,-1.6427745185610547,-1.5921246186790086,-1.5540554770504968,-1.5254878269934125,-1.5001256910218217,-1.4755083245436253,-1.453074085593471,-1.4326674716176058,-1.4136764620598115,-1.3959938988664362,-1.3795699198035436,-1.3642901357252413,-1.3500154835783178,-1.3366279123874847,-1.3240539182370412,-1.3104693853001663,-1.2975166950272978},
{-1.7934500263581867,-1.820248755548164,-1.7695140964751772,-1.704703405213877,-1.646939413896689,-1.5961841772423213,-1.5580422655693837,-1.5294282777122135,-1.504004853006336,-1.479334075598672,-1.4568533040564944,-1.4364022131976526,-1.417364904891656,-1.3996398910330754,-1.3831769283642643,-1.367860317677696,-1.3535508944260073,-1.3401305881543522,-1.3275257542700274,-1.3139058432243473,-1.3009238970844308},
{-1.7969725288603513,-1.82452747401112,-1.7738627753133187,-1.708978217879121,-1.651116585599084,-1.6002557006740972,-1.5620408015056455,-1.5333803251360223,-1.5078953698557598,-1.48317104697162,-1.4606436546946497,-1.440147849614732,-1.421064089427091,-1.4032965070528007,-1.3867944510475354,-1.3714408904997981,-1.3570965855396935,-1.3436434463365003,-1.3310076833931817,-1.317352271385971,-1.304341006478353},
{-1.800506031252553,-1.8288190929870325,-1.7782244372920104,-1.7132656861394935,-1.6553060693804582,-1.6043392243846029,-1.5660511175228748,-1.5373440010607737,-1.511797273387856,-1.4870192714079167,-1.4644451693329756,-1.443904409507013,-1.4247740465561947,-1.4069637768661778,-1.3904225160586066,-1.3750318824950227,-1.3606525857176166,-1.3471665148899774,-1.334499733593475,-1.3208086984195688,-1.3077680481910647},
{-1.8040505658709662,-1.8331236490612355,-1.7825991206482286,-1.717565846920479,-1.6595078999725956,-1.6084347835458175,-1.5700732457626145,-1.5413193377407879,-1.5157105963189679,-1.4908787826752814,-1.4682578803949582,-1.4476719255017088,-1.4284948063777847,-1.4106417315924773,-1.3940611536418146,-1.3786333239131636,-1.3642189249949297,-1.3506998241373367,-1.3380019337400881,-1.3242751528341614,-1.3112050491363334},
{-1.8076061649080657,-1.837441179108282,-1.7869868627713004,-1.721878736592771,-1.6637221128148667,-1.6125424134406785,-1.5741072182936477,-1.5453063680433843,-1.5196353696865117,-1.494749613746535,-1.4720818187342957,-1.451450425609437,-1.4322263998692506,-1.4143304015269678,-1.3977103929191799,-1.3822452438344044,-1.3677956326173444,-1.3542434027003765,-1.3415143115580577,-1.3277516629568709,-1.3146520342888834},
{-1.8111728612575462,-1.8417717202191852,-1.7913877022201632,-1.726204391923602,-1.6679487442834215,-1.6166621488155215,-1.5781530680687865,-1.5493051236171596,-1.5235716259885521,-1.4986317973980476,-1.4759170151864964,-1.4552399409240024,-1.435968856974796,-1.4180298164428677,-1.4013702635693335,-1.3858676717045455,-1.3713827375904657,-1.357797278857106,-1.3450368955018348,-1.3312382576114032,-1.3181090288817359},
{-1.8147506871864607,-1.8461153095267946,-1.7958016772263363,-1.730542850542406,-1.672187829592076,-1.6207940265576326,-1.5822108274878701,-1.5533156376714032,-1.5275193979559845,-1.5025253687781515,-1.4797635023041948,-1.4590405022790947,-1.439722210443506,-1.4217400093202741,-1.405040795702007,-1.3895006381262647,-1.3749802702695888,-1.3613614828391292,-1.348569715199119,-1.3347349658833991,-1.3215760586863325},
{-1.818339675612151,-1.85047198414577,-1.8002288253192091,-1.734894149018146,-1.6764394047932,-1.6249380812314485,-1.586280529088981,-1.5573379419402045,-1.5314787170918862,-1.5064303597882827,-1.4836213103299087,-1.462852139300594,-1.4434864896484214,-1.425461009157516,-1.4087220182791498,-1.393144171734093,-1.3785882598058379,-1.3649360432646063,-1.3521127976855496,-1.3382418158798828,-1.3250531481280632},
{-1.8219398592318612,-1.854841781561845,-1.804669186103638,-1.7392583242872206,-1.6807035056626773,-1.6290943490021164,-1.5903622047353565,-1.5613720696401288,-1.535449615728794,-1.5103468040688313,-1.4874904715834418,-1.4666748841009394,-1.447261726778379,-1.4291928472084692,-1.4124139615287277,-1.396798302537718,-1.3822067362762027,-1.3685209899813344,-1.3556661732036446,-1.3417588362244715,-1.3285403225090704},
{-1.8255512709993127,-1.8592247389988188,-1.8091227971690387,-1.743635414099117,-1.6849801685348211,-1.6332628659165493,-1.5944558880783006,-1.5654180528181314,-1.53943212663944,-1.5142747367117408,-1.4913710164146323,-1.470508765503837,-1.451047952299632,-1.4329355554327776,-1.4161166548201436,-1.4004630606796127,-1.3858357292119763,-1.3721163521367998,-1.3592298693074554,-1.345286056279292,-1.3320376081428549},
{-1.829173943961905,-1.8636208942607482,-1.81358969719804,-1.7480254554466228,-1.6892694287653285,-1.637443667417756,-1.5985616110210685,-1.5694759247726324,-1.5434262823127938,-1.518214189698483,-1.495262976270169,-1.4743538163111225,-1.4548451979462698,-1.4366891640711401,-1.4198301282158354,-1.404138475885702,-1.3894752686246647,-1.375722158842109,-1.3628039154609723,-1.3488235042459564,-1.3355450285234838},
{-1.832807911186137,-1.8680302845732513,-1.8180699249860481,-1.752428485544442,-1.6935713236198353,-1.6416367895290023,-1.6026794055633218,-1.5735457172049792,-1.547432113886316,-1.5221651974679844,-1.49916638202194,-1.478210065741223,-1.4586534944501182,-1.44045370497588,-1.4235544113926153,-1.4078245779455756,-1.3931253841365105,-1.3793384401033109,-1.3663883401532075,-1.3523712090172921,-1.3390626100626832},
{-1.8364532059777048,-1.8724529480932688,-1.8225635199414683,-1.7568445423748926,-1.6978858886341186,-1.6458422684172547,-1.6068093059639068,-1.5776274633208232,-1.5514496553805657,-1.5261277940480795,-1.503081265189394,-1.4820775457355921,-1.462472874280138,-1.4442292093499418,-1.4272895349640748,-1.4115213970690093,-1.3967861056771653,-1.3829652255917608,-1.369983172906359,-1.3559291999372363,-1.3425903767747513},
{-1.8401098615950104,-1.876888922553917,-1.8270705199665827,-1.7612736631435837,-1.702213160777319,-1.6500601399602601,-1.6109513438441354,-1.581721195645514,-1.5554789387642813,-1.5301020127899392,-1.50700765743386,-1.4859562877827557,-1.4663033686156268,-1.4480157086927647,-1.4310355291272572,-1.415228963134723,-1.4004574633509037,-1.3866025445786363,-1.3735884421294031,-1.3594975053674716,-1.3461283553697285},
{-1.8437779113810393,-1.8813382458811247,-1.8315909646589716,-1.7657158862530196,-1.7065531764455955,-1.6542904414291115,-1.6151055527461722,-1.5858269473428663,-1.5595199971539841,-1.534087888099748,-1.510945589210678,-1.489846322707308,-1.470145009470798,-1.451813235089503,-1.434792422927785,-1.4189473056067072,-1.4041394870619115,-1.3902504280486028,-1.3772041777920094,-1.3630761547756265,-1.3496765704512654},
{-1.8474573888515806,-1.8858009562682128,-1.8361248926612461,-1.7701712489360943,-1.710905972035107,-1.65853320799215,-1.619271964967993,-1.5899447520096146,-1.5635728632805694,-1.5380854529357748,-1.5148950930706633,-1.4937476826453349,-1.473997828679785,-1.4556218201360025,-1.4385602489564917,-1.422676455895271,-1.407832208002219,-1.3939089055384102,-1.3808304097074142,-1.366665176970855,-1.3532350483183109},
{-1.851148327958981,-1.8902770917811722,-1.8406723437419714,-1.7746397899645672,-1.715271585051596,-1.662788476805872,-1.6234506131859234,-1.5940746409978601,-1.5676375691546127,-1.5420947430702654,-1.5188561989089067,-1.497660398388689,-1.4778618577092857,-1.4594414957264235,-1.442339035391342,-1.4264164436208375,-1.411535654682666,-1.3975780058790406,-1.3844671667357034,-1.3702646009078308,-1.3568038137091207},
{-1.854850761963462,-1.8947666906169616,-1.845233356976678,-1.779121546065653,-1.719650051507415,-1.6670562841263745,-1.627641531327754,-1.598216648621019,-1.571714148600222,-1.5461157904301217,-1.5228289396800392,-1.5015845016987441,-1.4817371292010648,-1.46327229358576,-1.4461288139573298,-1.4301672994588444,-1.4152498579169333,-1.4012577609646542,-1.38811447887565,-1.3738744569418486,-1.3603828933555633},
{-1.8585647250665716,-1.8992697914036398,-1.8498079719993257,-1.7836165565367992,-1.7240414093485015,-1.671336666599018,-1.6318447519515757,-1.6023708076390903,-1.5758026345283724,-1.5501486307930463,-1.5268133460340323,-1.5055200250226335,-1.48562367514387,-1.4671142461302225,-1.4499296154936019,-1.4339290531097504,-1.418974848009384,-1.4049482001100841,-1.3917723759295768,-1.3774947722704383,-1.3639723123560543},
{-1.8622902509778214,-1.9037864325000555,-1.8543962275234662,-1.7881248589146708,-1.7284456943416444,-1.6756296607709373,-1.6360603073408129,-1.6065371504537325,-1.5799030598718673,-1.5541932969299523,-1.5308094502797758,-1.509466999073993,-1.4895215280994307,-1.4709673851502885,-1.453741469696979,-1.4377017354345298,-1.4227106540711247,-1.4086493539034564,-1.3954408871140913,-1.3811255780346983,-1.3675720969695249},
{-1.8660273736659292,-1.908316652805297,-1.8589981644199725,-1.792646492300264,-1.732862945233137,-1.679935303862294,-1.640288231890736,-1.6107157117457973,-1.5840154578108923,-1.5582498232797661,-1.5348172840658663,-1.513425457647827,-1.4934307198400347,-1.474831743620598,-1.457564409054612,-1.4414853767957538,-1.426457308796671,-1.412361252521805,-1.399120042729919,-1.384766902145202,-1.3711822745353857},
{-1.869776127460682,-1.9128604905617976,-1.8636138215879328,-1.797181494488541,-1.737293198460975,-1.6842536322619708,-1.644528557513695,-1.6149065229710686,-1.588139861862146,-1.5623182445397106,-1.5388368799158343,-1.5173954313886497,-1.4973512829128595,-1.4787073532788781,-1.461398463059595,-1.4452800082872272,-1.430214840307599,-1.4160839258656779,-1.4028098732269427,-1.388418774928141,-1.3748028697482368},
{-1.873536546687319,-1.917417985301654,-1.8682432391015027,-1.801729904862441,-1.7417364918910607,-1.6885846832374227,-1.648781318906913,-1.619109619216033,-1.5922763051312359,-1.5663985938663245,-1.5428682688216213,-1.5213769525507814,-1.5012832503889513,-1.4825942468778521,-1.4652436632532044,-1.4490856595402875,-1.433983279588574,-1.4198174050870875,-1.4065104082292237,-1.3920812247633876,-1.3784339108024142},
{-1.877308665358214,-1.9219891753800766,-1.8728864568984136,-1.806291761178727,-1.7461928626998997,-1.6929284934194584,-1.6530465481955616,-1.6233250325913104,-1.5964248217587738,-1.5704909056894394,-1.5469114843963325,-1.5253700553894305,-1.5052266546226747,-1.486492456868291,-1.469100041758793,-1.4529023624345427,-1.4377626578389027,-1.4235617207559699,-1.41022167860865,-1.3957542812495376,-1.3820754234366177},
{-1.8810925183133804,-1.9265741004674055,-1.877543515405705,-1.810867103151395,-1.7506623487788602,-1.6972851007758436,-1.6573242787471827,-1.6275527971247357,-1.6005854441755218,-1.574595214025976,-1.5509665574809333,-1.529374769419519,-1.5091815282939933,-1.4904020158355706,-1.4729676282513537,-1.4567301469578524,-1.4415530044461775,-1.4273169024745584,-1.4139437131743762,-1.3994379744799517,-1.3857274347246857},
{-1.884888139726172,-1.931172799106207,-1.88221445425188,-1.815455968691822,-1.7551449878192216,-1.7016545415499422,-1.6616145453444915,-1.6317929469532828,-1.6047582075152604,-1.5787115527837159,-1.5550335221050773,-1.5333911301022454,-1.5131479041156126,-1.4943229559867177,-1.4768464556836989,-1.4605690445205255,-1.445354351286369,-1.4310829810965515,-1.417676543147536,-1.403132333587564,-1.3893899726390373},
{-1.8886955644857153,-1.9357853109795542,-1.8868993139603845,-1.82005839775411,-1.75964081823804,-1.7060368536476744,-1.6659173796397226,-1.6360455146132153,-1.608943144316072,-1.5828399565343716,-1.559112410126545,-1.5374191688970313,-1.5171258150294307,-1.4982553104528051,-1.4807365546257643,-1.4644190864164557,-1.449166728903947,-1.4348599877594097,-1.4214201982504164,-1.4068373884656467,-1.3930630639624724},
{-1.8925148272592196,-1.9404116756268195,-1.8915981350746733,-1.8246744287062029,-1.7641498769426107,-1.7104320738162642,-1.6702328156225121,-1.640310534156015,-1.613140288669456,-1.586980458767357,-1.5632032543198875,-1.5414589181709744,-1.5211152943302295,-1.5021991118592268,-1.4846379569571582,-1.4682803023897577,-1.452990167454118,-1.438647951476014,-1.4251747098714986,-1.410553167872422,-1.3967467363618198},
{-1.8963459631204387,-1.945051932678325,-1.8963109582800826,-1.8293041016586358,-1.7686722034432023,-1.7148402406583045,-1.674560888146516,-1.6445880397932342,-1.6173496756964596,-1.5911330930630356,-1.5673060881472338,-1.5455104124630452,-1.5251163745997474,-1.5061543931042252,-1.4885506949940464,-1.4721527254005196,-1.4568246983617428,-1.4424469034092908,-1.428940107452945,-1.414279702516069,-1.4004410184461449},
{-1.900189006769324,-1.9497061214024143,-1.9010378236744145,-1.833947455193993,-1.7732078353474208,-1.719261391364853,-1.6789016300317599,-1.6488780651307025,-1.6215713386536663,-1.595297893814859,-1.5714209441121056,-1.5495736830198439,-1.5291290890709206,-1.510121186314791,-1.4924747998993553,-1.4760363856294134,-1.4606703528188518,-1.4462568750859646,-1.4327164214046206,-1.4180170220934087,-1.4041459382897301},
{-1.9040439934897222,-1.9543742818750616,-1.9057787724159425,-1.8386045287243178,-1.777756810259234,-1.723695562379362,-1.6832550741000887,-1.6531806436069019,-1.6258053116707742,-1.599474894510422,-1.5755478564460645,-1.5536487642566499,-1.53315347057287,-1.5140995247311366,-1.496410303418088,-1.4799313144612825,-1.4645271617773687,-1.4500778955116402,-1.4365036822782713,-1.421765156006586,-1.4078615245052788},
{-1.9079109583817626,-1.9590564538248145,-1.9105338451190619,-1.8432753627403144,-1.7823191686875361,-1.7281427930356585,-1.6876212561819557,-1.6574958102428354,-1.6300516297069407,-1.6036641297305323,-1.5796868577890564,-1.557735689340916,-1.537189553346252,-1.5180894419681863,-1.5003572384994186,-1.4838375453728077,-1.4683951568404154,-1.453909996052971,-1.4403019211895298,-1.4255241362552624,-1.411587807138858},
{-1.9117899367984137,-1.9637526776368759,-1.915303083102117,-1.8479599962902284,-1.7868949471485394,-1.7326031202173908,-1.6920002087463217,-1.6618235977348377,-1.63431032688095,-1.6078656320205482,-1.5838379815941153,-1.5618344913345936,-1.541237369630835,-1.5220909702038625,-1.5043156363681192,-1.4877551075878728,-1.472274369043589,-1.4577532076145872,-1.4441111678243033,-1.4292939912738802,-1.4153248145157704},
{-1.9156809640335268,-1.968462993077992,-1.9200865270577196,-1.8526584686005663,-1.7914841858037107,-1.737076582183363,-1.696391966608644,-1.666164041565935,-1.6385814376499184,-1.6120794361704611,-1.5880012625239033,-1.5659452042782505,-1.5452969534890144,-1.5261041421981645,-1.5082855297332571,-1.4916840343248623,-1.4761648301682726,-1.461607560489938,-1.4479314539166808,-1.4330747524181788,-1.4190725768603443},
{-1.919584075806597,-1.9731874405024428,-1.924884218184161,-1.857370820351207,-1.7960869225735223,-1.7415632166339492,-1.7007965633893036,-1.6705171747471468,-1.6428649968984246,-1.6163055755896494,-1.5921767332038144,-1.5700678606553993,-1.549368337400665,-1.5301289910094056,-1.512266950092453,-1.4956243574342807,-1.4800665714865318,-1.4654730855654634,-1.4517628083158343,-1.436866450432717,-1.422831124975346},
{-1.9234993075242528,-1.9779260605846503,-1.929696198374586,-1.8620970909541938,-1.8007031968809315,-1.7460630619971198,-1.7052140329633403,-1.6748830322885624,-1.6471610395237803,-1.6205440838530194,-1.5963644287694478,-1.5742024958199181,-1.5534515559193096,-1.5341655499432818,-1.5162599309405778,-1.4995761084173864,-1.4839796248852508,-1.46934981436425,-1.4556052629232,-1.4406691161857452,-1.426600489015982},
{-1.9274266950424135,-1.9826788934333308,-1.934522508576265,-1.8668373215587053,-1.8053330478014686,-1.7505761565316789,-1.7096444102535315,-1.6792616482835,-1.6514696004524012,-1.624794994288095,-1.6005643820899422,-1.5783491424845124,-1.557546642212401,-1.5382138512286474,-1.5202645034805755,-1.5035393202670093,-1.487904022433213,-1.473237776903261,-1.459458848919894,-1.444482781629631,-1.4303807001815585},
{-1.9313662741424196,-1.9874459802758793,-1.9393631900748005,-1.8715915517223038,-1.809976514583468,-1.7551025381926593,-1.7140877289893979,-1.6836530576420046,-1.6557907146343496,-1.6290583412228443,-1.60477662912308,-1.5825078347734234,-1.5616536295201513,-1.5422739286041178,-1.524280700738018,-1.5075140244953218,-1.4918397951732913,-1.4771370054113504,-1.4633235960536695,-1.448307477585331,-1.434171789791435},
{-1.9353180807283934,-1.9922273613519792,-1.9442182850634708,-1.8763598212171928,-1.8146336366044125,-1.759642245282521,-1.7185440243811172,-1.6880572942263825,-1.6601244177127228,-1.6333341579338594,-1.6090012024724274,-1.5866786071092065,-1.5657725520832173,-1.5463458151134546,-1.528308555323747,-1.5115002534403175,-1.4957869756763102,-1.481047531033255,-1.4671995360185974,-1.4521432354231365,-1.437973789194075},
{-1.9392821510737122,-1.997023077616177,-1.9490878353135486,-1.881142171627289,-1.8193044529889448,-1.7641953166730673,-1.7230133302346076,-1.6924743932395359,-1.6644707447485416,-1.63762247809791,-1.6132381372444797,-1.5908614934087382,-1.5699034429962921,-1.5504295429018384,-1.5323480996121361,-1.5154980398365296,-1.4997455955635814,-1.4849693845535512,-1.4710866990753857,-1.4559900870372076,-1.441786731211323},
{-1.943258520962445,-2.00183317005758,-1.9539718822124996,-1.8859386430976883,-1.8239890035056305,-1.7687617904703075,-1.727495681740038,-1.6969043890458124,-1.6688297307209723,-1.6419233357155463,-1.6174874688476848,-1.5950565281418676,-1.5740463368565543,-1.5545251464354806,-1.536399366614205,-1.5195074164039397,-1.503715687445947,-1.4889025987031346,-1.4749851166561712,-1.4598480658569315,-1.4456106487959914},
{-1.94724722713363,-2.006657680392891,-1.9588704685957055,-1.8907492760699824,-1.8286873286124319,-1.7733417059753265,-1.73199111347094,-1.7013473164151947,-1.6732014123736008,-1.6462367641724995,-1.6217492302057508,-1.5992637446106528,-1.5782012665149523,-1.558632657812268,-1.5404623883077875,-1.5235284150512598,-1.5076972826864221,-1.4928472035826417,-1.4788948201203311,-1.4637172034344985,-1.4494455734457006},
{-1.9512483056359997,-2.011496649000037,-1.9637836360616348,-1.8955741117006255,-1.8333994664171769,-1.777935100852119,-1.736499660726622,-1.7058032100740093,-1.6775858243254334,-1.6505627973965602,-1.6260234575311188,-1.6034831783908885,-1.5823682664704393,-1.562752110305155,-1.544537198729813,-1.5275610688186134,-1.5116904144597356,-1.496803232399543,-1.482815840645344,-1.4675975330974325,-1.4532915387535468},
{-1.9552617930567067,-2.0163501179504237,-1.9687114267126162,-1.9004131900237553,-1.8381254587766307,-1.7825420145163662,-1.741021358226135,-1.710272105408876,-1.6819830030199228,-1.6549014685224392,-1.6303101850571693,-1.6077148637014034,-1.5865473713056417,-1.5668835370815941,-1.548623829468852,-1.5316054101640475,-1.5156951143144397,-1.5007707161275903,-1.4867482087902317,-1.4714890860668675,-1.4571485781198135},
{-1.9592877259292436,-2.021218128311375,-1.9736538831239159,-1.9052665535073174,-1.842865344546226,-1.7871624857743882,-1.7455562406867102,-1.7147540368841874,-1.6863929844512313,-1.659252812853083,-1.6346094472137338,-1.6119588343026408,-1.5907386144099291,-1.5710269716910261,-1.552722313987033,-1.5356614722804807,-1.5197114150541893,-1.5047496876431978,-1.490691956198134,-1.4753918973947293,-1.4610167251739767},
{-1.9633261411991043,-2.0261007220742613,-1.9786110475579335,-1.9101342417507112,-1.8476191638910677,-1.7917965537344571,-1.7501043445699906,-1.719249040381328,-1.6908158039550472,-1.6636168627883308,-1.6389212796202628,-1.6162151253884076,-1.594942029703816,-1.5751824471262807,-1.5568326855609484,-1.5397292870547972,-1.5237393494826392,-1.508740177629079,-1.4946471144539828,-1.4793059986986918,-1.4648960132471984},
{-1.9673770754552606,-2.030997940864836,-1.9835829634102993,-1.9150162976366119,-1.852386957676572,-1.7964442570973915,-1.7546657040147693,-1.7237571500263584,-1.6952514986369351,-1.6679936536456808,-1.6432457172886643,-1.6204837720870273,-1.5991576519008959,-1.5793499962419446,-1.5609549762593815,-1.5438088883202,-1.5277789507817943,-1.5127422193108941,-1.4986137155792676,-1.483231425190752,-1.468786476758396},
{-1.9714405658414762,-2.0359098265198554,-1.9885696727506001,-1.9199127616229816,-1.8571687665535137,-1.8011056359009672,-1.7592403556882346,-1.7282784020535473,-1.6997001044437638,-1.6723832189891255,-1.6475827947324433,-1.624764808697364,-1.6033855156383652,-1.583529653482401,-1.5650892198391375,-1.547900307828968,-1.5318302501909784,-1.5167558440589346,-1.50259179020577,-1.4871682092853007,-1.472688149962778},
{-1.9755166490213014,-2.0408364210870786,-1.9935712182996213,-1.9248236746352632,-1.8619646299503074,-1.8057807281857094,-1.763828335540893,-1.73281283128199,-1.7041616576934757,-1.6767855932121165,-1.6519325476583617,-1.6290582711626485,-1.6076256549604295,-1.587721451291145,-1.5692354498314671,-1.5520035793633724,-1.5358932813214778,-1.5207810851425165,-1.5065813715118566,-1.4911163852993923,-1.47660106553667},
{-1.9796053628697337,-2.0457777671181248,-1.9985876436257968,-1.9297490795215708,-1.8667745896364067,-1.810469574507806,-1.768429678204484,-1.737360473809531,-1.7086361953442974,-1.6812008102679101,-1.6562950101942988,-1.633364191493456,-1.6118781042569026,-1.5919254229738726,-1.573393698061409,-1.556118734584743,-1.5399680764639925,-1.5248179737136525,-1.510582489438093,-1.4950759871935588,-1.4805252597325307},
{-1.9837067439630118,-2.0507339060332015,-2.0036189913571434,-1.9346890168671962,-1.8715986859424447,-1.8151722132643044,-1.7730444210883434,-1.7419213653502084,-1.7131237541834707,-1.6856289061179268,-1.6606702187054907,-1.6376826083942433,-1.6161428982923098,-1.5961416027967061,-1.577563999544509,-1.5602458075154573,-1.544054669135221,-1.5288665428633976,-1.5145951776321454,-1.4990470496777561,-1.4844607659506437},
{-1.9878208298659956,-2.0557048811697314,-2.008665304778333,-1.9396435296530399,-1.876436960130377,-1.819888685058686,-1.777672600113874,-1.7464955408067908,-1.7176243706126115,-1.6900699135294417,-1.665058207428956,-1.6420135551416024,-1.6204200717220374,-1.6003700232176925,-1.581746386407758,-1.5643848305953725,-1.5481530923316313,-1.5329268249406596,-1.5186194673769933,-1.5030296066433948,-1.488407619537611},
{-1.991947658328172,-2.060690734651871,-2.013726627401411,-1.9446126589937194,-1.8812894528564357,-1.8246190283607575,-1.782314250976924,-1.7510830360770342,-1.722138081338926,-1.6945238683620119,-1.6694590120569046,-1.64635706629997,-1.6247096597471682,-1.604610718684853,-1.5859408920478018,-1.5685358369628375,-1.5522633772779955,-1.5369988514758006,-1.5226553908250935,-1.5070236933206616,-1.4923658539919415},
{-1.996087266896211,-2.0656915092349664,-2.0188030028220965,-1.9495964469333558,-1.886156205278894,-1.8293632842651277,-1.7869694110613636,-1.755683887808118,-1.7266649245102599,-1.6989908049254154,-1.6738726677904197,-1.6507131784783269,-1.629011696906673,-1.6088637227294385,-1.5901475501777895,-1.57269885961432,-1.5563855584041448,-1.5410826558654662,-1.5267029814749549,-1.5110293432771869,-1.4963355052786937},
{-2.0002396929648967,-2.070707247559767,-2.023894474354165,-1.9545949362418469,-1.8910372591599298,-1.8341214915781165,-1.7916381179911696,-1.7602981320742401,-1.7312049369247688,-1.7034707597122178,-1.6782992094158544,-1.6550819261101424,-1.6333262183325132,-1.6131290683515545,-1.5943663943726278,-1.576873932073795,-1.5605196678006905,-1.5451782709969848,-1.530762270464038,-1.5150465913611697,-1.500316606641718},
{-2.0044049748748876,-2.0757379927636066,-2.0290010857152083,-1.9596081685594982,-1.895932654833814,-1.8388936901865236,-1.7963204071802465,-1.7649258042583824,-1.7357581547330483,-1.7079637661336164,-1.6827386725271936,-1.6594633445711224,-1.637653259014769,-1.6174067892679886,-1.5985974574905413,-1.5810610865082708,-1.5646657377110387,-1.5492857275858114,-1.534833290206734,-1.519075472246186,-1.5043091944135085},
{-2.008583150276536,-2.0807837882184685,-2.034122880832001,-1.9646361873310525,-1.900842435677987,-1.843679921445073,-1.8010163166254642,-1.7695669422100764,-1.7403246170215425,-1.7124698614061344,-1.6871910925219709,-1.6638574704738858,-1.64199285504219,-1.621696920836257,-1.6028407737976522,-1.5852603576167894,-1.5688238029615604,-1.5534050601236231,-1.538916074878216,-1.523116022330214,-1.5083133030821045},
{-2.012774257334968,-2.085844676284978,-2.039259903922357,-1.9696790341367887,-1.9057666420612804,-1.8484802238453995,-1.8057258839817223,-1.7742215808721085,-1.7449043607521162,-1.7169890802797454,-1.6916565047831682,-1.6682643375024782,-1.6463450405462936,-1.6259994956926676,-1.607096377396374,-1.5894717778755876,-1.5729938941585715,-1.5575363002790255,-1.5430106570274802,-1.5271682743659767,-1.5123289675757405},
{-2.0169783341507355,-2.0909207011773105,-2.0444121987675317,-1.974736751517412,-1.9107053158058989,-1.853294638420266,-1.8104491472731752,-1.7788897577265743,-1.7494974233013636,-1.721521458159259,-1.6961349439734477,-1.672683982844319,-1.6507098516085534,-1.6303145483143453,-1.611364300511923,-1.593695380644931,-1.5771760459028883,-1.5616794800916978,-1.547117069014348,-1.531232264056598,-1.5163562225861824},
{-2.0211954190099277,-2.096011905963678,-2.0495798093343183,-1.9798093832414452,-1.9156584987904353,-1.8581232058841124,-1.81518614271954,-1.783571509149624,-1.754103842551558,-1.7260670319119527,-1.7006264455849305,-1.677116440343525,-1.6550873239539214,-1.634642112239817,-1.615644577308558,-1.597931200027233,-1.581370289390179,-1.5658346339550917,-1.5512353438207356,-1.5353080248314654,-1.520395104205818},
{-2.025425550579712,-2.101118334356215,-2.054762780575402,-1.9848969712566031,-1.92062623334823,-1.8629659660418838,-1.8199369099147589,-1.7882668728925637,-1.7587236564468185,-1.7306258373209857,-1.7051310457063664,-1.6815617478714557,-1.6594774927762046,-1.6389822221208306,-1.6199372430201038,-1.6021792694991746,-1.585576659632352,-1.5700017934323114,-1.5553655151052226,-1.5393955923173053,-1.5244456466825795},
{-2.0296687672207554,-2.106240029903347,-2.0599611565739906,-1.9899995590803883,-1.9256085619363148,-1.867822959780824,-1.8247014865555684,-1.7929758849240898,-1.7633569030185754,-1.7351979109771491,-1.7096487784474448,-1.6860199398724944,-1.6638803945461405,-1.6433349120670755,-1.6242423303665419,-1.6064396230613056,-1.5897951883198402,-1.5741809915562044,-1.5595076169483946,-1.54349500043827,-1.5285078858760244},
{-2.0339251075947686,-2.111377037155762,-2.065174982204553,-1.9951171902703209,-1.9306055262459267,-1.8726942273497116,-1.8294799111426983,-1.797698583217425,-1.7680036206365912,-1.7397832893911982,-1.7141796798459836,-1.6904910526172898,-1.6682960647449363,-1.6477002170322521,-1.6285598732210929,-1.6107122940775298,-1.5940259093549685,-1.578372261417826,-1.5636616826122918,-1.54760628306758,-1.5325818574456207},
{-2.038194610615392,-2.116529399097999,-2.0704043026053114,-2.000249906484896,-1.9356171688723407,-1.8775798095393839,-1.834272222549771,-1.8024350047344342,-1.7726638470121543,-1.7443820094013063,-1.7187237857106084,-1.6949751217252924,-1.6727245393121848,-1.6520781705876288,-1.6328899066320446,-1.61499731706499,-1.5982688558469818,-1.582575635457033,-1.5678277454644558,-1.551729474154854,-1.5366675960831344},
{-2.042477314987991,-2.12169716063363,-2.075649161644833,-2.005397753093348,-1.9406435321398021,-1.8824797477500397,-1.8390784591647389,-1.8071851880486065,-1.7773376210934657,-1.7489941083658778,-1.7232811304347706,-1.6994721833070798,-1.6771658545767423,-1.6564688080761698,-1.6372324635340192,-1.6192947255185572,-1.602524060956057,-1.5867911473178538,-1.5720058391307248,-1.5558646061654144,-1.5407651378409355},
{-2.046773259582551,-2.126880365793113,-2.080909604970657,-2.0105607720925036,-1.9456846592602233,-1.8873940826179023,-1.8438986609253334,-1.8119491701800143,-1.7820249818250886,-1.7536196237269905,-1.7278517503873445,-1.7039822738843213,-1.6816200477151142,-1.6608721643642639,-1.6415875794373278,-1.6236045542573265,-1.6067915591374913,-1.5910188302877941,-1.5761959982737608,-1.5600117143148964,-1.544874518593133},
{-2.0510824840694113,-2.1320790594145365,-2.0861856776682544,-2.0157390085114457,-1.9507405927124637,-1.892322855488601,-1.848732866365026,-1.8167269884470443,-1.786725966790982,-1.7582585926320462,-1.7324356805329444,-1.7085054292656423,-1.6860871534518083,-1.6652882735179446,-1.6459552882988646,-1.6279268372309161,-1.6110713830275927,-1.5952587167412275,-1.580398256512126,-1.5641708303883206,-1.5489957737190707},
{-2.0554050270293374,-2.1372932852827944,-2.0914774247339665,-2.0209325045834703,-1.9558113750899793,-1.8972661066873115,-1.8535811154579278,-1.8215186821471434,-1.7914406157724443,-1.7629110533380299,-1.7370329560617392,-1.713041685470671,-1.690567209803703,-1.6697171707965026,-1.650335624908621,-1.6322616093275428,-1.615363567314489,-1.599510840671428,-1.5846126483338594,-1.5683419879023859,-1.5531289393693442},
{-2.059740928323663,-2.1425230887216458,-2.096784891989955,-2.0261413049483963,-1.9608970495755784,-1.9022238782454224,-1.8584434482254437,-1.8263242884058855,-1.7961689668300096,-1.7675770434580045,-1.7416436139428697,-1.7175910798687255,-1.6950602525976137,-1.674158891375555,-1.6547286231725593,-1.6366089041803207,-1.6196681448018353,-1.6037752350603114,-1.5888392074957665,-1.5725252189404273,-1.5572740507632261},
{-2.0640902271843515,-2.1477685143872804,-2.102108124719962,-2.0313654536184913,-1.965997659299319,-1.9071962112338952,-1.8633199032810808,-1.8311438463206287,-1.8009110598941334,-1.7722566017328063,-1.746267687620275,-1.722153648159292,-1.6995663189591141,-1.6786134705325821,-1.6591343184663856,-1.6409687570667302,-1.6239851500140503,-1.6080519334536802,-1.5930779682639695,-1.5767205563788593,-1.5614311441640893},
{-2.068452963270829,-2.153029607294229,-2.107447168586077,-2.0366049945241684,-1.9711132475749764,-1.9121831476441002,-1.8682105224397674,-1.8359773942502216,-1.8056669334073376,-1.7769497665867675,-1.7509052152599907,-1.7267294272169238,-1.7040854454753571,-1.6830809434468392,-1.6635527462494792,-1.645341202220152,-1.628314617810247,-1.6123409695210285,-1.5973289655339613,-1.5809280329813191,-1.5656002558171167},
{-2.0728291762061417,-2.1583064124661178,-2.1128020696014573,-2.0418599721197097,-1.9762438579437003,-1.9171847283541865,-1.8731153448934492,-1.8408249711101234,-1.8104366272418702,-1.781656577699323,-1.7555562310517416,-1.731318454054417,-1.7086176698030613,-1.6875613452684775,-1.6679839401367644,-1.649726274463319,-1.6326565821509575,-1.6166423768445384,-1.601592233433621,-1.5851476806928986,-1.5697814213453967},
{-2.0772189061208337,-2.1635989753249305,-2.118172873839285,-2.047130430732068,-1.9813895338211296,-1.9222009956447437,-1.8780344113110914,-1.8456866149354028,-1.8152201804077777,-1.7863770733820274,-1.7602207708878268,-1.7359207644476555,-1.7131630283911363,-1.6920547115187219,-1.672427936387976,-1.6541240085025493,-1.6370110762763943,-1.6209561885989388,-1.605867806414608,-1.5893795314295858,-1.5739746772524086},
{-2.081622192696159,-2.1689073410179844,-2.1235596266560606,-2.0524164142643713,-1.9865503186665592,-1.9272319907140627,-1.8829677627763886,-1.8505623659293633,-1.8200176328791713,-1.7911112935798883,-1.764898871206242,-1.7405363966499863,-1.7177215589472326,-1.6965610782608564,-1.6768847700004699,-1.6585344397681183,-1.64137813576599,-1.6252824399925885,-1.6101557199799572,-1.593623617602134,-1.5781800587828911},
{-2.0860390762500174,-2.174231555318329,-2.128962374963521,-2.0577179677839013,-1.991726255917456,-1.9322777559500537,-1.887915439223434,-1.8554522619524505,-1.8248290238698246,-1.7958592779687024,-1.7695905672553636,-1.7451653860553051,-1.7222932980548649,-1.7010804801466293,-1.681354475695116,-1.662957602260576,-1.645757794201927,-1.6296211639746616,-1.6144560071006708,-1.5978799713775516,-1.582397602567653},
{-2.090469596640105,-2.1795716638171143,-2.134381164691149,-2.0630351359905035,-1.9969173899571615,-1.9373383331148943,-1.8928774825690198,-1.860356343586318,-1.8296543938558898,-1.8006210669555003,-1.7742958958260715,-1.7498077721938898,-1.7268782835853926,-1.7056129537304514,-1.6858370903501054,-1.6673935324179183,-1.650150087003567,-1.6339723944984144,-1.6187687038327567,-1.602148625490372,-1.5866273446263222},
{-2.094913794320746,-2.184927711921773,-2.139816042723396,-2.0683679642625066,-2.002123765005308,-1.9424137649402837,-1.8978539338640985,-1.8652746496736654,-1.834493782480422,-1.8053967011073837,-1.7790148931526346,-1.7544635904450843,-1.7314765529918077,-1.7101585349737434,-1.6903326482643024,-1.6718422649464628,-1.6545550486480352,-1.6383361673506442,-1.6230938447697554,-1.6064296114491299,-1.5908693205092277},
{-2.0993717099918285,-2.1902997463294014,-2.145267055264412,-2.073716496619454,-2.007345424244704,-1.9475040924480709,-1.9028448332792323,-1.8702072191845218,-1.8393472296302207,-1.810186220689502,-1.78374759439248,-1.7591328781963966,-1.736088144032692,-1.714717259437748,-1.6948411851662968,-1.6763038344979577,-1.6589727130776737,-1.6427125151094515,-1.6274314639704244,-1.6107229629888025,-1.5951235674547206},
{-2.1038433841076767,-2.1956878126620722,-2.1507342497006903,-2.0790807786870573,-2.0125824130700494,-1.952609359366761,-1.9078502234660846,-1.8751540927514725,-1.8442147768037103,-1.8149896670256567,-1.7884940373478457,-1.7638156744469597,-1.7407130938554474,-1.7192891633349063,-1.6993627374358766,-1.680778277470381,-1.6634031153444084,-1.647101472979557,-1.6317815971269738,-1.6150287116070103,-1.5993901199144602},
{-2.1083288570462173,-2.201091957203971,-2.156217672269122,-2.0844608555944433,-2.017834774696894,-1.95772960728209,-1.9128701452136738,-1.8801153101412638,-1.849096463080059,-1.819807082269108,-1.7932542574344552,-1.7685120151145384,-1.74535144015681,-1.7238742822119093,-1.703897340270487,-1.6852656285773264,-1.6678462908203073,-1.651503076955123,-1.6361442781999358,-1.6193468902965833,-1.6036690148284833},
{-2.1128281699984655,-2.2065122262520163,-2.1617173701852153,-2.089856771974155,-2.023102553688659,-1.9628648790021543,-1.917904640220513,-1.8850909099492128,-1.853992328615277,-1.824638507241616,-1.7980282915159478,-1.7732219378558511,-1.7500032207826735,-1.7284726525540464,-1.7084450296788418,-1.6897659238420601,-1.6723022732476238,-1.655917359446903,-1.6405195428160368,-1.6236775317120191,-1.6079602878744481},
{-2.1173413637225167,-2.211948666290482,-2.1672333911465103,-2.09526857495257,-2.0283857957547298,-1.9680152177134005,-1.9229537510291266,-1.8900809339211264,-1.8589024157481617,-1.829483984180115,-1.802816176070337,-1.7779454824412824,-1.7546684740991623,-1.7330843110757996,-1.7130058418551926,-1.6942791989495163,-1.6767710987005557,-1.6603443575622805,-1.644907425299607,-1.6280206701921998,-1.6122639756504213},
{-2.121868479269324,-2.217401324345701,-2.1727657819083106,-2.100696308507395,-2.033684544812786,-1.9731806649833743,-1.9280175186067936,-1.8950854211761907,-1.8638267644055304,-1.8343435560709622,-1.8076179476993275,-1.782682684573956,-1.7593472364860645,-1.737709293334774,-1.7175798122225387,-1.698805488715152,-1.681252801015944,-1.6647841051672003,-1.6493079613137525,-1.6323763386280916,-1.6165801135502988},
{-2.1264095579444984,-2.2228702468491974,-2.1783145903409604,-2.106140018981023,-2.038998845835522,-1.9783612650826399,-1.9330959854560206,-1.9001044124997861,-1.868765415132657,-1.839217264936451,-1.812433644223347,-1.7874335841588618,-1.764039547269931,-1.7423476364565431,-1.722166977255256,-1.7033448295260314,-1.685747416151571,-1.6692366385905189,-1.653721185419272,-1.6367445705764112,-1.620908737910213},
{-2.130964641008177,-2.2283554805580934,-2.18387986360176,-2.111599751999165,-2.044328743018923,-1.98355705976428,-1.9381891927114339,-1.9051379472221015,-1.87371840832202,-1.8441051539957698,-1.817263300610648,-1.7921982170228148,-1.7687454426159093,-1.7469993754275492,-1.7267673721944448,-1.7078972558774694,-1.6902549772639759,-1.6737019925785717,-1.658147132195154,-1.6411253992046113,-1.625249884549703},
{-2.1355337699260417,-2.2338570730898937,-2.189461649850273,-2.117075553676841,-2.0496742821724183,-1.9887680933534284,-1.9432971834721684,-1.9101860669870803,-1.8786857867089566,-1.84900726725391,-1.8221069559185707,-1.7969766238165903,-1.7734649616213574,-1.7516645484502078,-1.731381033634534,-1.712462804705865,-1.694775521678821,-1.6781802026671357,-1.6625858374682139,-1.6455188597647066,-1.629603589834005},
{-2.1401169859964284,-2.239375070985261,-2.1950599967312883,-2.1225674701981916,-2.0550355088362267,-1.993994408287108,-1.9484200000224519,-1.9152488124454976,-1.8836675904458389,-1.8539236474825884,-1.8269646468179417,-1.8017688422514766,-1.778198142470501,-1.7563431910748477,-1.7360079977152054,-1.7170415108157613,-1.699309083105618,-1.682671305788972,-1.6670373359411315,-1.649924986399128,-1.6339698894480534},
{-2.1447143311670516,-2.244909522265516,-2.200674952515328,-2.128075548040215,-2.060412467602873,-1.9992360481955984,-1.9535576839916757,-1.9203262225564686,-1.8886638613439573,-1.8588543394762382,-1.831836409844982,-1.8065749094530474,-1.7829450221142906,-1.7610353400559688,-1.7406483008235227,-1.7216334097647632,-1.7038556968982448,-1.6871753365194309,-1.671501662749506,-1.6543438135267934,-1.6383488201536238},
{-2.1493258470545697,-2.250460473698695,-2.206306565172781,-2.1335998324429966,-2.0658052045491786,-2.00449305663642,-1.9587102780169516,-1.9254183391676634,-1.8936746403342113,-1.8637993866432225,-1.8367222826163925,-1.8113948656464345,-1.7877056388460915,-1.7657410322135547,-1.7453019785461947,-1.7262385372632707,-1.7084153986543242,-1.6916923314056476,-1.6759788531380764,-1.658775375897676,-1.642740416857123},
{-2.1539515759413916,-2.2560279735971562,-2.2119548832524742,-2.1391403712841566,-2.071213764236745,-2.009765477003384,-1.9638778247026494,-1.930525203115394,-1.898699969315203,-1.8687588334651082,-1.8416223029962566,-1.8162287484483386,-1.7924800305736426,-1.7704603044439864,-1.7499690667318646,-1.730856929163565,-1.7129882229637587,-1.6962223269401875,-1.68046894184954,-1.6632197085345979,-1.6471447163057746},
{-2.158591559447814,-2.2616120694401616,-2.2176199548339355,-2.1446972100075072,-2.0766381932480726,-2.0150533534615533,-1.9690603664639639,-1.9356468550176942,-1.9037398894070066,-1.8737327253984404,-1.8465365086885868,-1.8210765971962246,-1.7972682356376026,-1.7751931933999003,-1.754649602844438,-1.7354886213761347,-1.71757420627182,-1.700765359109937,-1.6849719644851575,-1.667676847504481,-1.6515617545228451},
{-2.1632458402273187,-2.2672128091853665,-2.223301829128104,-2.150270396245105,-2.0820785375108244,-2.020356729179184,-1.9742579457924876,-1.9407833357436175,-1.9087944426864851,-1.878721106735611,-1.8514649370263214,-1.8259384504017362,-1.8020702911817352,-1.7799397356611735,-1.7593436220668082,-1.740133649094787,-1.722173382408073,-1.7053214643892716,-1.6894879565006704,-1.6721468267242017,-1.6559915675534285},
{-2.167914460069369,-2.272830240563053,-2.229000554032609,-2.1558599760919606,-2.0875348421359377,-2.0256756478302123,-1.9794706051980029,-1.9459346861367521,-1.9138636706047691,-1.8837240228858718,-1.8564076257498527,-1.8308143466092588,-1.8068862357795297,-1.7846999680368754,-1.7640511616882577,-1.7447920485683426,-1.7267857886763522,-1.7098906795363291,-1.694016952525999,-1.6766296838213748,-1.6604341915844998},
{-2.1725974618930195,-2.278464411952882,-2.234716179416864,-2.1614659962906444,-2.093007153522194,-2.0310101542454504,-1.9846983878342144,-1.951100947404484,-1.9189476155406737,-1.8887415182034601,-1.8613646134108421,-1.835704326236737,-1.81171610718593,-1.7894739280854992,-1.7687722575683438,-1.749463855416252,-1.7314114590699319,-1.7144730407817406,-1.69855898777314,-1.6811254527929123,-1.664889661842608},
{-2.17729488797886,-2.284115371759981,-2.2404487537442037,-2.1670885049661592,-2.0984955173626076,-2.036360292298923,-1.9899413353232376,-1.9562821603467455,-1.9240463187452406,-1.893773639378196,-1.866335937025724,-1.8406084268463019,-1.8165599427993584,-1.794261652554269,-1.773506946672569,-1.7541491061310808,-1.7360504297212174,-1.719068585698551,-1.7031140980761847,-1.6856341706443345,-1.6693580153369112},
{-2.182006781171367,-2.2897831687059806,-2.2461983263310685,-2.172727548679177,-2.1039999806089327,-2.0417261058501026,-1.9951994917755655,-1.9614783664001152,-1.929159822888323,-1.8988204310517176,-1.8713216357282363,-1.8455266884229786,-1.8214177814625145,-1.7990631781358388,-1.7782552653952735,-1.758847836197674,-1.74070273713005,-1.723677350255457,-1.707682317970466,-1.6901558740028122,-1.6738392876322905},
{-2.1867331841694977,-2.2954678507976496,-2.2519649462938105,-2.1783831751399703,-2.1095205897327105,-2.047107639944443,-2.0004728995227197,-1.9666896065791661,-1.9342881694319658,-1.9038819394736493,-1.876321747990005,-1.850459149798553,-1.8262896609812742,-1.803878542210441,-1.7830172505127848,-1.7635600826506561,-1.7453684163519938,-1.7282993717344652,-1.712263682838966,-1.6946905978293216,-1.678333515272243},
{-2.1914741400196363,-2.30116946742055,-2.257748663485472,-2.1840554315385816,-2.115057390736183,-2.0525049388706975,-2.005761600961705,-1.9719159226224292,-1.939431400031026,-1.9089582094129582,-1.881336311387713,-1.855405850266834,-1.831175619172427,-1.8087077821255662,-1.7877929392088845,-1.768285881204065,-1.7500475039378216,-1.7329346871338203,-1.7168582289814367,-1.6992383800534299,-1.6828407343637082},
{-2.196229691735425,-2.306888067174441,-2.2635495275026187,-2.189744365237857,-2.1206104306584166,-2.0579180462918885,-2.011065640250308,-1.9771573552607151,-1.9445895583776291,-1.9140492877049837,-1.886365365517122,-1.8603668302712322,-1.8360756939800922,-1.8135509352177905,-1.7925823688383389,-1.7730252689325425,-1.7547400356270373,-1.737583333531802,-1.7214659911769559,-1.7037992561236024,-1.687360980289668},
{-2.2009998827234085,-2.3126236989282916,-2.269367587648958,-2.1954500245865347,-2.126179754992336,-2.0633470077445963,-2.0163850587086927,-1.9824139457959973,-1.9497626852717076,-1.919155218591186,-1.8914089471254556,-1.865342127133772,-1.8409899241451058,-1.8184080381251988,-1.797385575111548,-1.7777782817793195,-1.7594460468317266,-1.742245348443248,-1.7260870042046008,-1.7083732629180304,-1.691894290244818},
{-2.2057847562027746,-2.3183764119985426,-2.275202894130416,-2.2011724568546924,-2.1317654120393854,-2.0687918677795096,-2.02171990066563,-1.987685735904961,-1.9549508239433635,-1.9242760490051296,-1.8964670967434358,-1.8703317825529666,-1.845918346542021,-1.8232791289992747,-1.8022025967184163,-1.7825449572010257,-1.7641655750085192,-1.7469207676549559,-1.7307213037856854,-1.7129604375222698,-1.6964406995175523},
{-2.2105843554309104,-2.324146255697997,-2.281055497343914,-2.206911710818531,-2.137367448922305,-2.074252671627619,-2.0270702088455437,-1.9929727675516915,-1.9601540156982082,-1.9294118242542027,-1.9015398535593704,-1.8753358350732015,-1.850861000468285,-1.828164244430809,-1.807033470737224,-1.7873253323668905,-1.7688986569919507,-1.7516096303334052,-1.7353689267110894,-1.7175608170618943,-1.7010002452734625},
{-2.2153987243891606,-2.3299332794103975,-2.286925446967871,-2.212667833930027,-2.1429859116178704,-2.0797294643052737,-2.0324360259510286,-1.9982750813214807,-1.9653723043411446,-1.9345625892710814,-1.9066272551172005,-1.8803543238755083,-1.8558179231913527,-1.8330634230769647,-1.8118782339224708,-1.7921194432856282,-1.773645327804843,-1.7563119724909484,-1.7400299063956481,-1.7221744378366566,-1.7055729643325321},
{-2.2202279065077164,-2.335737533401698,-2.2928127935556404,-2.2184408745961264,-2.148620847987331,-2.085222290159436,-2.037817396045284,-2.003592720004235,-1.9706057314797363,-1.9397283901125775,-1.9117293418348709,-1.8853872897561814,-1.8607891533756629,-1.8379767011683725,-1.816736924716679,-1.796927327850426,-1.778405625216692,-1.7610278312058654,-1.7447042794592562,-1.7268013373213762,-1.7101588916848414},
{-2.2250719457588275,-2.3415590662734758,-2.2987175875987305,-2.2242308815093565,-2.154272305098857,-2.090731195607077,-2.043214361550781,-2.008925724599976,-1.9758543397510948,-1.944909271911456,-1.9168461521003337,-1.8904347718562349,-1.8657747294782894,-1.842904117591388,-1.8216095806856174,-1.8017490229285613,-1.7831795855308883,-1.7657572455646005,-1.7493920817760227,-1.7314415528380778,-1.714758064626949},
{-2.2299308863330225,-2.347397928848295,-2.3046398793085245,-2.2300379029202304,-2.1599403296750097,-2.0962562245331355,-2.0486269658031233,-2.0142741363233654,-1.9811181712830148,-1.950105279320269,-1.9219777262042044,-1.895496809440374,-1.8707746888358088,-1.8478457084092952,-1.8264962385401304,-1.80658456594756,-1.7879672458257119,-1.7705002507827885,-1.754093348121387,-1.7360951207883772,-1.7193705201279954},
{-2.234804772231655,-2.3532541708227654,-2.310579720477108,-2.235861988396209,-2.1656249719635525,-2.101797424027609,-2.0540552531347203,-2.0196379985500243,-1.986397269709414,-1.9553164585049672,-1.9271241035166895,-1.900573444134352,-1.8757890709202911,-1.8528015139854688,-1.831396938436228,-1.8114339947205735,-1.7927686445364088,-1.775256885728595,-1.758808115071588,-1.740762080255081,-1.7239962951280177},
{-2.239693647637978,-2.3591278422245523,-2.31653716112487,-2.2417031853474327,-2.1713262767480046,-2.107354838935862,-2.059499265422346,-2.0250173520398675,-1.9916916772526747,-1.9605428523100272,-1.9322853232188208,-1.9056647141260328,-1.8808179133775411,-1.857771570354089,-1.8363117156659428,-1.816297346696956,-1.7975838178645063,-1.78002718784046,-1.7635364183406637,-1.7454424675197515,-1.7286354254792968},
{-2.2445975570335577,-2.3650189935797243,-2.3225122526946507,-2.2475615434559586,-2.1770442932029255,-2.112928514237865,-2.0649590475004516,-2.0304122389643453,-1.9970014365353563,-1.9657845069814357,-1.9374614255139022,-1.910770660964772,-1.8858612546937366,-1.8627559159576776,-1.8412406106763228,-1.821174658707605,-1.8024128034630849,-1.7848111939019873,-1.7682782928714005,-1.7501363200499327,-1.733287949260557},
{-2.2495165448435728,-2.3709276751596917,-2.3285050459526246,-2.2534371116780676,-2.1827790683273633,-2.1185184963069332,-2.070434641587781,-2.0358227011856798,-2.0023265902200365,-1.971041465512826,-1.942652450328751,-1.9158913232349732,-1.8909191330130852,-1.8677545887840097,-1.8461836598180525,-1.826065968900366,-1.8072556385777716,-1.7896089420937642,-1.7730337757420784,-1.7548436751167173,-1.7379539028916042},
{-2.2544506560134323,-2.3768539378033893,-2.334515592769094,-2.259329939239251,-2.1885306510448572,-2.124124831309018,-2.0759260925478884,-2.041248781635659,-2.007667181391298,-1.976313773124275,-1.947858437855757,-1.921026741980313,-1.8959915878840548,-1.8727676273665566,-1.8511409028651542,-1.830971315230272,-1.812112362091284,-1.79442046927943,-1.7778029021355906,-1.7595645707806398,-1.7426333245675778},
{-2.2593999349355727,-2.3827978320732655,-2.3405439444923104,-2.2652400761326135,-2.1942990898569406,-2.1297475656429015,-2.0814334430797317,-2.046690522609424,-2.0130232534393144,-1.9816014732750773,-1.953079428676574,-1.926176957818825,-1.901078657429025,-1.8777950707371929,-1.856112377885438,-1.8358907355504925,-1.8169830123551947,-1.7992458143489785,-1.7825857087409531,-1.7642990445565374,-1.7473262512467045},
{-2.2643644270083314,-2.388759409164777,-2.3465901529143594,-2.271167571281694,-2.2000844322683406,-2.135386744452262,-2.08695673724651,-2.05214796627115,-2.018394849030301,-1.9869046096719103,-1.9583154625470343,-1.9313420107937418,-1.9061803805016098,-1.8828369563598244,-1.861098123521515,-1.8408242674959183,-1.8218676263350062,-1.8040850136967492,-1.7873822316578298,-1.7690471339919895,-1.7520327209531388},
{-2.2693441768860794,-2.394738719740417,-2.352654269470804,-2.277112474101159,-2.205886726893368,-2.1410424139903625,-2.0924960185839154,-2.0576211548250285,-2.023782011186995,-1.9922232251374226,-1.9635665799978597,-1.9365219412866281,-1.9112967956098146,-1.8878933238484024,-1.8660981779576105,-1.8457719482976245,-1.8267662431317149,-1.8089381052413955,-1.7921925068185374,-1.7738088760561368,-1.7567527711653383},
{-2.274339230016267,-2.4007358150611253,-2.3587363465594535,-2.283074835126172,-2.211706022022554,-2.1467146215363755,-2.0980513308277295,-2.063110131697613,-2.0291847833759675,-1.9975573640040238,-1.9688328218326205,-1.9417167901374341,-1.9164279419128434,-1.8929642114017042,-1.8711125803783943,-1.8507338168201386,-1.8316789012387744,-1.813805127163505,-1.797016571093991,-1.77858430872584,-1.7614864399729413},
{-2.279349631686273,-2.4067507466370444,-2.364836435741381,-2.2890547034367046,-2.217542366903217,-2.1524034130379732,-2.1036227180011338,-2.068614939093095,-2.034603208710905,-2.0029070684431645,-1.9741142293751182,-1.9469265976767929,-1.9215738593775313,-1.8980496582516935,-1.876141370175901,-1.8557099105673842,-1.8366056397026114,-1.8186861172289355,-1.801854459947208,-1.78337346923945,-1.7662337661895435},
{-2.2843754274217645,-2.412783565956488,-2.3709545895817428,-2.2950521301900153,-2.223395810215152,-2.158108835163148,-2.109210224207345,-2.074135620619927,-2.0400373305819812,-2.008272381590359,-1.9794108425812738,-1.9521514048065,-1.9267345855259919,-1.9031497035975917,-1.8811845854434068,-1.8607002674798423,-1.8415464969039022,-1.8235811124359316,-1.806706211194978,-1.7881763950827008,-1.770994787086238},
{-2.2894166626683727,-2.4188343243295094,-2.377090860360113,-2.301067164506094,-2.2292664000378863,-2.16383093418699,-2.114813892643724,-2.079672218831547,-2.045487192684959,-2.0136533459190105,-1.9847227027275949,-1.957391252512025,-1.931910160881671,-1.9082643864348938,-1.8862422663260077,-1.8657049265784735,-1.8465015126967046,-1.8284901510087366,-1.8115718606641167,-1.7929931244143518,-1.7757695421205426},
{-2.2944733834992803,-2.4249030739738373,-2.383245300499766,-2.3070998573202814,-2.2351541863645252,-2.169569757163117,-2.1204337686685903,-2.0852247777220327,-2.0509528383845463,-2.019050003553275,-1.9900498513779894,-1.962646182088065,-1.9371006239889539,-1.9133937466431234,-1.8913144513535372,-1.8707239244358789,-1.8514707256108522,-1.8334132706586388,-1.8164514448435511,-1.7978236934977758,-1.78055806863631},
{-2.299545635469258,-2.4309898660594627,-2.389417962916923,-2.313150259156828,-2.241059217314614,-2.1753253510105424,-2.1260698950536607,-2.0907933397902525,-2.056434311623889,-2.024462397021125,-1.9953923290559032,-1.9679162339562026,-1.9423060145563795,-1.9185378231486538,-1.8964011791358644,-1.8757573004986625,-1.856454174812825,-1.8383505096062436,-1.8213450006878702,-1.8026681401279347,-1.7853604054071184},
{-2.3046334647515323,-2.4370947535826417,-2.3956088998857012,-2.319218420660036,-2.246981542855792,-2.181097762808349,-2.131722317131789,-2.096377949725138,-2.0619316561933374,-2.029890568635892,-2.000750178063754,-1.97320144999685,-1.9475263730164443,-1.923696655758249,-1.9015024903346784,-1.8808050928419107,-1.8614519008115167,-1.843301904416876,-1.8262525652244221,-1.8075265021398081,-1.7901765904971398},
{-2.3097369175447966,-2.4432177878970833,-2.4018181653736974,-2.3253043926852115,-2.2529212127374194,-2.1868870397738647,-2.1373910786642227,-2.101978651193349,-2.0674449156176706,-2.0353345603762136,-2.0061234390996106,-1.9785018711590965,-1.9527617384774203,-1.9288702849189576,-1.9066184229995997,-1.8858673397153325,-1.8664639429043746,-1.8482674942606536,-1.8311741751494992,-1.8123988163315516,-1.795006662279775},
{-2.314856040165978,-2.4493590220135957,-2.408045811447664,-2.331408226167696,-2.2588782752682164,-2.1926932288224634,-2.1430762242998753,-2.1075954877342156,-2.0729741343166097,-2.0407944138278253,-2.011512154047523,-1.9838175387158117,-1.958012150873401,-1.9340587491751648,-1.9117490169664961,-1.890944079383189,-1.8714903404143115,-1.853247316339548,-1.8361098677414702,-1.817285120512679,-1.799850658797368},
{-2.319990879004763,-2.455518507735178,-2.4142918919806107,-2.3375299718427414,-2.264852781314403,-2.198516377244232,-2.1487777991351322,-2.1132285037419933,-2.0785193571427953,-2.046270170547359,-2.016916364984354,-1.9891484955478518,-1.9632776503131026,-1.9392620896178414,-1.9168943114491412,-1.8960353502734506,-1.87653113343913,-1.858241408939648,-1.8410596798494225,-1.8221854520379566,-1.8047086173392017},
{-2.32514148075461,-2.4616962984055135,-2.420556460003354,-2.343669681406027,-2.270844779046456,-2.2043565327403485,-2.154495846305508,-2.118877743363555,-2.084080627097137,-2.0517618726662477,-2.0223361129792465,-1.994494781432877,-1.968558277192642,-1.9444803454825887,-1.9220543448464014,-1.9011411907995353,-1.881586361239897,-1.8632498096048948,-1.8460236485188943,-1.827099847185309,-1.8095805761440715},
{-2.3303078919307154,-2.467892446269616,-2.4268395690251054,-2.3498274060293625,-2.276854319505219,-2.2102137426263653,-2.1602304125954106,-2.1245432519353926,-2.089657989668922,-2.057269562057627,-2.0277714406038285,-1.9998564403394994,-1.9738540714570263,-1.9497135575693392,-1.92722915810009,-1.906261640968296,-1.886656065344141,-1.8682725564212888,-1.8510018105662311,-1.8320283445609675,-1.8144665717736643},
{-2.3354901594411785,-2.4741070044619846,-2.4331412730207376,-2.3560031977758626,-2.2828814528984367,-2.2160880551055016,-2.1659815416023775,-2.1302250740263844,-2.095251488946815,-2.0627932802999567,-2.0332223898185475,-2.005233512874838,-1.9791650739643956,-1.9549617655429756,-1.9324187892707414,-1.911396738145413,-1.8917402849911014,-1.8733096875439514,-1.855994204266608,-1.8369709806902392,-1.8193666418192151},
{-2.3406883304414805,-2.4803400261826027,-2.439461625639524,-2.362197107879183,-2.288926228244236,-2.22197951747512,-2.171749278488278,-2.13592325396894,-2.100861170394637,-2.068333068556967,-2.0386890020454302,-2.010626041166688,-1.9844913243978226,-1.9602250097123033,-1.9376232782014995,-1.916546521919372,-1.8968390602785803,-1.8783612412116781,-1.8610008658979496,-1.8419277930552198,-1.8242808224204055},
{-2.3459024520579987,-2.486591564513219,-2.4458006810818915,-2.36840918807502,-2.2949886963833706,-2.2278881773236208,-2.177533669397235,-2.14163783775075,-2.1064870784175582,-2.0738889685417234,-2.044171320812893,-2.0160340683978575,-1.9898328642229899,-1.965503330440697,-1.9428426644408319,-1.9217110307217808,-1.9019524314062437,-1.8834272543499537,-1.8660218336735852,-1.846898818621412,-1.829209150022507},
{-2.351132571391645,-2.492861672761137,-2.452158493024399,-2.3746394908812363,-2.301068907541776,-2.233814084025653,-2.1833347584797593,-2.1473688704136293,-2.112129258650384,-2.079461022927717,-2.0496693876157224,-2.0214576366524852,-1.9951897339851712,-1.9707967681715672,-1.9480769871624943,-1.9268903043557657,-1.9070804387556564,-1.8885077670638566,-1.871057144831866,-1.851884095234709,-1.8341516598229646},
{-2.356378736161787,-2.499150404597458,-2.458535116042185,-2.3808880675824184,-2.307166911676177,-2.23975728359801,-2.1891525918290426,-2.153116396824771,-2.1177877549489494,-2.085049272671313,-2.0551832445962646,-2.026896788018348,-2.00056197426602,-1.9761053623078624,-1.9533262857257796,-1.932084381540335,-1.9122231229302997,-1.8936028157731926,-1.8761068369894929,-1.8568836593913147,-1.8391083868737041},
{-2.3616409938476863,-2.5054578138206125,-2.464930604701294,-2.387154971824202,-2.313282760715083,-2.245717826670443,-2.194987215971196,-2.1588804641360184,-2.123462614516029,-2.0906537599585135,-2.0607129357413214,-2.032351566314901,-2.005949626716756,-1.9814291552684153,-1.9585906010215695,-1.9372933021622885,-1.9173805248683493,-1.8987124397062871,-1.8811709474684903,-1.8618975488861906,-1.844079367150698},
{-2.3669193917849043,-2.511783953932536,-2.4713450130275305,-2.3934402552986285,-2.319416503956745,-2.2516957594234555,-2.2008386754059757,-2.164661116908974,-2.1291538820805727,-2.0962745262295357,-2.0662585019708786,-2.037822013226105,-2.011352731482475,-1.9867681857795105,-1.9638699718016142,-1.9425171052425867,-1.922552684594848,-1.9038366773093003,-1.8862495153953205,-1.866925801459729,-1.8490646330319578},
{-2.3722139784495084,-2.518128879231881,-2.4777783961944806,-2.3997439703343844,-2.3255681928822014,-2.257691131417232,-2.2067070177654386,-2.1704584024846554,-2.134861603331956,-2.101911613764969,-2.071819987369963,-2.043308173051628,-2.0167713302580523,-1.992122495026706,-1.969164438352891,-1.9477558306825813,-1.9277396424331528,-1.9089755666791461,-1.8913425772552728,-1.871968453622685,-1.8540642198386195},
{-2.377524801551772,-2.5244926434352237,-2.4842308086499543,-2.4060661701842037,-2.331737877761043,-2.263703990742215,-2.212592288131418,-2.176272366239573,-2.140585823883157,-2.10756506501275,-2.077397433844453,-2.048810087831953,-2.0222054644254968,-1.9974921233369969,-1.974474040318455,-1.9530095183035883,-1.9329414385319978,-1.9141291464475216,-1.8964501714472135,-1.8770255428244127,-1.8590781606762903},
{-2.3828519091766793,-2.5308753009303473,-2.4907023059877247,-2.4124069073659484,-2.3379256099760823,-2.2697343864092545,-2.218494533415651,-2.182103054426989,-2.1463265904785658,-2.1132349224790232,-2.0829908848354535,-2.0543278019649733,-2.027655174872052,-2.002877111550333,-1.9797988180762331,-1.9582782083452912,-1.9381581148409168,-1.9192974548022903,-1.901572336380923,-1.882097106292349,-1.8641064872026618},
{-2.3881953494583286,-2.5372769065197645,-2.4971929427028954,-2.4187662355943758,-2.3441314408883045,-2.2757823675492546,-2.2244138007699803,-2.187950514991826,-2.15208394880392,-2.11892122817153,-2.08860038295461,-2.059861358615308,-2.033120503714599,-2.008277500885015,-1.9851388122733624,-1.963561940148793,-1.9433897115886793,-1.9244805312046083,-1.9067091099277604,-1.8871831815704354,-1.8691492333491624},
{-2.3935551713584573,-2.543697514473024,-2.503702774489284,-2.425144207867561,-2.350355422080611,-2.28184798242728,-2.2303501366586715,-2.193814793139609,-2.157857945490832,-2.12462402465826,-2.094225971814012,-2.0654108008166077,-2.038601491913141,-2.0136933314242924,-1.9904940634987724,-1.9688607547759602,-1.948636268669361,-1.9296784139223746,-1.911860530701233,-1.892283805875195,-1.8742064296311582},
{-2.398931423067552,-2.550137179563535,-2.5102318564568122,-2.4315408766415203,-2.3565976045538264,-2.287931279908662,-2.236303588222654,-2.199695936644275,-2.163648626767099,-2.130343354827346,-2.0998676942836028,-2.07097617330146,-2.0440981811298116,-2.0191246447575395,-1.9958646122613573,-1.9741746925428743,-1.9538978277450951,-1.934891141620028,-1.9170266364853887,-1.897399017081625,-1.8792781085358001},
{-2.4043241533054243,-2.5565959567284153,-2.516780244255642,-2.437956296649645,-2.3628580388503906,-2.294032309000613,-2.24227420313764,-2.2055939924466657,-2.1694560395953886,-2.1360792617597326,-2.1055255936553294,-2.0765575194745907,-2.0496106131831766,-2.0245714815428073,-2.0012504982623796,-1.979503794322227,-1.959174429102859,-1.9401187536459474,-1.9222074665158289,-1.9025288514567364,-1.8843643010550295},
{-2.4097334110338124,-2.563073900713789,-2.5233479937378434,-2.4443905208499928,-2.3691367776664265,-2.3001511200382083,-2.248262029112084,-2.2115090078659705,-2.1752802305782097,-2.141831788667332,-2.1111997131702083,-2.0821548836793227,-2.055138829982752,-2.030033882940188,-2.006651763975242,-1.984848101001262,-1.964466113873641,-1.9453612893339596,-1.92740305915504,-1.9076733475776564,-1.8894650379297673},
{-2.4151592455637,-2.569571067344441,-2.529935161001049,-2.450843604390684,-2.375433873523434,-2.3062877613847377,-2.2542671139599406,-2.217441030603368,-2.1811212472857733,-2.147600978369155,-2.1168900968623348,-2.087768309902458,-2.0606828732270515,-2.0355118902225513,-2.0120684497414913,-1.990207653190737,-1.9697729225190415,-1.9506187871920702,-1.9326134530601848,-1.9128325420242618,-1.8945803494025313},
{-2.420601705347508,-2.576087511210062,-2.5365418015790056,-2.457315599443973,-2.3817493767273845,-2.312442282527627,-2.260289506037225,-2.2233901073559537,-2.1869791359749797,-2.1533868746737426,-2.122596787612565,-2.093397842403647,-2.06624278486197,-2.0410055455358815,-2.0175005965138553,-1.9955824927601498,-1.975094896817609,-1.955891286543192,-1.9378386871758266,-1.9180064727588615,-1.899710266465263},
{-2.4260608404565573,-2.5826232882682234,-2.5431679720240936,-2.4638065610088233,-2.388083340214507,-2.3186147328924562,-2.266329253481672,-2.229356286850816,-2.1928539449945674,-2.159189521538792,-2.1283198296368937,-2.0990435262101528,-2.071818607051682,-2.0465148897892504,-2.022948245965381,-2.000972661320702,-1.9804320765433658,-1.96117882677936,-1.94307880053384,-1.9231951767069404,-1.90485481869473},
{-2.4315366997725505,-2.5891784538398497,-2.5498137278555078,-2.4703165433711547,-2.394435814985627,-2.324805162366829,-2.272386404667486,-2.2353396156759118,-2.198745721132582,-2.1650089624963584,-2.134059265586984,-2.104705404552078,-2.077410381356458,-2.052039964532014,-2.028411438812327,-2.0063782001816435,-1.9857845024453127,-1.9664814472525904,-1.9483338310928957,-1.9283986911068496,-1.9100140355621988},
{-2.4370293332667643,-2.595753064359087,-2.5564791267897817,-2.476845600951492,-2.400806854297116,-2.3310136203035654,-2.2784610096132383,-2.241340142161789,-2.2046545118209906,-2.1708452414241037,-2.1398151409011916,-2.110383523726341,-2.0830181505189103,-2.0575808121029695,-2.0338902171606605,-2.0117991514525784,-1.9911522169786622,-1.9717991870566038,-1.9536038196165464,-1.9336170544847846,-1.915187948008679},
{-2.4425387906103424,-2.602347175210525,-2.563164224222419,-2.4833937886432977,-2.4071965107068536,-2.3372401575943513,-2.284553116558527,-2.2473579149518628,-2.210580365437636,-2.176698403447517,-2.1455874984894763,-2.1160779268429906,-2.088641956801439,-2.06313747384047,-2.0393846220104024,-2.017235557494132,-1.9965352597573656,-1.9771320861909771,-1.9588888041289465,-1.9388503032350854,-1.920376584475889},
{-2.448065121732725,-2.6089608429138025,-2.5698690777317097,-2.4899611608852865,-2.413604835732258,-2.3434848230463103,-2.2906627749507606,-2.2533929813071154,-2.216523329665506,-2.1825684917494073,-2.1513763818875304,-2.121788659347658,-2.0942818419534888,-2.0687099922070047,-2.044894695503899,-2.0226874603395117,-2.0019336727600603,-1.982480184360611,-1.9641888244259462,-1.9440984751927317,-1.9255799761413073},
{-2.4536083765051444,-2.615594123099072,-2.576593743688136,-2.4965477725490928,-2.420031882429612,-2.3497476668017043,-2.2967900356634345,-2.259445390689507,-2.222483453264431,-2.1884555517463014,-2.157181836937525,-2.1275157667878375,-2.0999378489505034,-2.0742984104072093,-2.050420479314198,-2.0281549025203276,-2.0073474959681334,-1.9878435208593146,-1.9695039207435912,-1.9493616078034393,-1.930798152647185},
{-2.459168605499144,-2.6222470730226632,-2.583338279131567,-2.5031536785318167,-2.4264777031057747,-2.3560287394357147,-2.3029349466705753,-2.265515189847065,-2.2284607831170433,-2.1943596276796598,-2.1630039056653914,-2.133259292368166,-2.1056100193709426,-2.079902768949978,-2.055962013972021,-2.033637926557276,-2.012776770719938,-1.993222135330143,-1.9748341310114483,-1.954639738683909,-1.9360311438031204},
{-2.464745858696915,-2.6289197485675686,-2.5901027413747215,-2.5097789347964863,-2.4329423508279433,-2.362328090632218,-2.3090975601917307,-2.271602428092592,-2.234455368557974,-2.2002807650242175,-2.1688426338369027,-2.1390192823782854,-2.1112983964703744,-2.085523111582006,-2.061519343063992,-2.0391365759169275,-2.018221537960926,-1.9986160675471183,-1.9801794952763885,-1.9599329050943197,-1.941278980277275},
{-2.470340186608155,-2.6356122070465062,-2.596887188112305,-2.516423596403911,-2.439425879125338,-2.368645771719457,-2.3152779260562966,-2.2777071547425294,-2.2404672573320568,-2.206219009040069,-2.1746980663810973,-2.1447957814853,-2.1170030227040115,-2.0911594803292246,-2.067092507128109,-2.044650893221842,-2.023681839596975,-2.004025358150102,-1.9855400542037387,-1.965241145055188,-1.9465416934945097},
{-2.4759516402373265,-2.642324504922726,-2.6036916760422173,-2.5230877182621043,-2.44592833986826,-2.374981831846526,-2.321476094326499,-2.2838294166249398,-2.2464964987048006,-2.2121744041796774,-2.1805702460005705,-2.1505888337596843,-2.122723940436117,-2.0968119181416114,-2.07268154904159,-2.0501809219495044,-2.0291577160205634,-2.009450046622078,-1.9909158463706262,-1.9705644958921766,-1.9518193136573245},
{-2.481580270165068,-2.6490566996872076,-2.610516263433965,-2.52977135686524,-2.4524497868878825,-2.3813363219123858,-2.3276921172182483,-2.289969264249521,-2.2525431414578634,-2.218146996034193,-2.1864592192869168,-2.1563984855056333,-2.1284611931369,-2.1024804680746456,-2.078286510251928,-2.055726705460984,-2.034649208166229,-2.014890173155436,-1.9963069132099918,-1.975902995585784,-1.9571118734274933},
{-2.487226127354006,-2.6558088482961466,-2.617361007636646,-2.536474567714322,-2.458990273549716,-2.3877092939510476,-2.333926044695545,-2.2961267460304953,-2.2586072339217935,-2.2241368304676143,-2.1923650299322617,-2.162224781455734,-2.1342148226285644,-2.108165173063753,-2.083907432439446,-2.0612882865971187,-2.0401563571685983,-2.0203457780298777,-2.001713293695502,-1.9812566824293754,-1.9624194051320956},
{-2.4928892629013717,-2.662581008113193,-2.624225966173981,-2.543197405662795,-2.4655498520223773,-2.3941007961366267,-2.3401779294254084,-2.302301909905509,-2.2646888249473704,-2.230143953100196,-2.198287723309477,-2.168067765847809,-2.1399848720429873,-2.1138660752912983,-2.0895443580229767,-2.066865709883132,-2.04567920442787,-2.0258169011030986,-2.00713502796134,-1.9866255923298013,-1.9677419419494981},
{-2.498569728424627,-2.669373236845786,-2.6311111981849535,-2.5499399299478682,-2.472128577675903,-2.4005108819801535,-2.3464478230562236,-2.308494806278759,-2.2707879646259244,-2.23616840925024,-2.204227345489926,-2.1739274852225208,-2.1457713849631546,-2.1195832201810845,-2.095197330130759,-2.0724590183053806,-2.051217791860836,-2.0313035834587936,-2.0125721559670637,-1.9920097646790964,-1.9730795180621499},
{-2.504267574799087,-2.6761855922031828,-2.6380167610841454,-2.5567021937567915,-2.478726502820791,-2.406939600361511,-2.352735776810732,-2.314705483338912,-2.2769047018518904,-2.2422102450655075,-2.210183940096613,-2.1798039828572655,-2.1515744037860713,-2.1253166487549606,-2.100866390072042,-2.0780682563963637,-2.056772160121909,-2.0368058651110914,-2.0180247196549317,-1.9974092375014152,-1.9784321674596868},
{-2.5099828538150177,-2.6830181321001874,-2.6449427132138226,-2.5634842547078733,-2.4853436816265457,-2.41338700270353,-2.359041843985324,-2.320933991082711,-2.283039085690689,-2.248269506570068,-2.2161575534919393,-2.185697305489157,-2.1573939719892223,-2.13106640713886,-2.10655158042573,-2.0836934677136014,-2.062342350727704,-2.04232378730012,-2.0234927585406695,-2.0028240480969544,-1.983799927180371},
{-2.5157156173027033,-2.6898709144243185,-2.6518891135056037,-2.5702861691206635,-2.4919801673349866,-2.419853141051135,-2.3653660762502113,-2.3271803779134643,-2.2891911653641728,-2.2543462397297844,-2.222148231248866,-2.1916074972723436,-2.1632301326972083,-2.136832536478323,-2.11225294329779,-2.089334696342121,-2.0679284046236717,-2.047857390207355,-2.0289763132059306,-2.0082542341369845,-1.9891828342733788},
{-2.521465917101523,-2.696743997708836,-2.658856019967061,-2.5771079943078803,-2.498636014333897,-2.42633806518279,-2.3717085270145617,-2.333444693860656,-2.295360990861809,-2.260440490619658,-2.228156018878508,-2.1975346031904337,-2.169082929904107,-2.142615082208067,-2.117970521267125,-2.094991986781679,-2.0735303643305087,-2.053406714458106,-2.0344754242578347,-2.01369983431141,-1.9945809262499097},
{-2.5272338051454426,-2.703637439866725,-2.6658434917662817,-2.583949786854646,-2.5053112767636776,-2.4328418277800665,-2.378069248778047,-2.339726988113398,-2.3015486116782995,-2.2665523050673073,-2.234180962372193,-2.203478669234755,-2.1749524054575886,-2.1484140877364553,-2.1237043572036782,-2.1006653825752437,-2.079148270586302,-2.058971801518055,-2.039990132463572,-2.019160886051395,-1.9999942416106933},
{-2.5330193338231766,-2.7105513000151404,-2.6728515876129677,-2.5908116035570856,-2.5120060083536373,-2.439364479298092,-2.3844482947461074,-2.3460273099808546,-2.3077540773556393,-2.2726817298098467,-2.240223107368365,-2.2094397393229883,-2.1808386043012433,-2.154229597112135,-2.129454493497178,-2.1063549290447554,-2.0847821658680914,-2.0645526922853605,-2.045520479692641,-2.0246374280468444,-2.005422821643151},
{-2.5388225553142547,-2.7174856362453284,-2.6798803665260493,-2.59769350130955,-2.51872026442652,-2.445906070726778,-2.390845718295168,-2.3523457100382075,-2.313977438119764,-2.2788288106348773,-2.2462825009570224,-2.215417860123125,-2.186741569723381,-2.1600616545074445,-2.1352209738106467,-2.1120606691656576,-2.0904320908375666,-2.070149427410797,-2.051066506995994,-2.0301294980599778,-2.0108667088388756},
{-2.5446435224184825,-2.724440507688996,-2.686929888150189,-2.604595538450667,-2.5254540976020508,-2.452466655329772,-2.397261572739808,-2.3586822372271854,-2.320218744011072,-2.284993594203115,-2.25235918823455,-2.2214130754546204,-2.192661345787201,-2.1659103034398868,-2.141003839475161,-2.11778264865643,-2.0960980883974116,-2.0757620495751326,-2.056628255322721,-2.0356371336238226,-2.0163259453511273},
{-2.550482287273553,-2.7314159736106376,-2.6940002109040506,-2.6115177714818856,-2.5322075635522197,-2.4590462829728494,-2.403695912769763,-2.3650369412789587,-2.326478044851683,-2.2911761270261195,-2.2584532171422325,-2.227425431847223,-2.1985979765122465,-2.1717755885656516,-2.1468031348122167,-2.123520911682135,-2.1017801993439207,-2.0813905993200024,-2.0622057653745287,-2.041160374399624,-2.021800577203976},
{-2.556338903334108,-2.738412093323859,-2.701091395403637,-2.618460258872801,-2.538980717137747,-2.4656450070324354,-2.4101487917541817,-2.37140987287421,-2.3327553905983223,-2.297376454960613,-2.264564633533155,-2.2334549726438127,-2.204551506169082,-2.177657553795143,-2.152618902102404,-2.1292755017711897,-2.1074784675438423,-2.087035117630876,-2.0677990804833826,-2.0466992576548364,-2.027290647467453},
{-2.5622134227887727,-2.745428925478336,-2.7082035005369107,-2.6254230581689626,-2.5457736124881194,-2.4722628780291416,-2.4166202639607945,-2.3778010815294692,-2.339050831982604,-2.303594625009282,-2.2706934840571193,-2.239501744919835,-2.2105219788900285,-2.1835562435371685,-2.158451185659942,-2.1350464659444697,-2.1131929343100637,-2.092695646904758,-2.0734082411581767,-2.052253822424973,-2.032796205396153},
{-2.5681058996196953,-2.7524665303699294,-2.7153365863050567,-2.6324062269268325,-2.5525863047478197,-2.4788999482298095,-2.423110383831954,-2.3842106177726237,-2.345364418688405,-2.309830682719621,-2.2768398163789243,-2.2455657930004236,-2.216509439294896,-2.1894717019858945,-2.1643000275289523,-2.1408338468318107,-2.118923641377478,-2.098372228563676,-2.0790332899377972,-2.0578241067414638,-2.0383172979381925},
{-2.574016386453877,-2.7595249670721387,-2.7224907126910693,-2.6394098232012766,-2.559418847624329,-2.4855562694065156,-2.429619205162453,-2.3906385313603096,-2.3516962020585197,-2.3160846753999067,-2.283003676933731,-2.251647161792789,-2.2225139321308234,-2.1954039730007935,-2.170165472172812,-2.1466376894713903,-2.1246706305209955,-2.1040649049646163,-2.084674267563969,-2.0634101495088544,-2.0438539753085934},
{-2.5799449371988885,-2.766604296391961,-2.7296659392741276,-2.6464339054546144,-2.566271297815547,-2.4922318938079115,-2.43614678378799,-2.3970848730568832,-2.3580462317404454,-2.322356649052381,-2.289185113426356,-2.2577458972991735,-2.228535501908482,-2.2013531011834857,-2.1760475626906555,-2.1524580393524957,-2.130433945621917,-2.109773717751523,-2.0903312169648416,-2.0690119892169605,-2.049406286332669},
{-2.5858916052147833,-2.7737045775938896,-2.7368623273032426,-2.6534785328221915,-2.573143709625583,-2.4989268749741314,-2.442693173798034,-2.403549692920933,-2.3644145583821228,-2.3286466500649112,-2.2953841732960427,-2.263862044488633,-2.2345741944009205,-2.207319130531687,-2.181946343574964,-2.158294940920314,-2.136213628520636,-2.1154987082736625,-2.0960041803809872,-2.0746296644574613,-2.0549742821276595},
{-2.5918564444746153,-2.780825871250272,-2.744079936070193,-2.6605437625112245,-2.5800361386936856,-2.5056412634330627,-2.449258430595364,-2.4100330423279956,-2.3708012325150776,-2.334954725629359,-2.3016009033017326,-2.2699956487267627,-2.2406300537550123,-2.213302105275943,-2.187861858670658,-2.1641484391657286,-2.1420097221052856,-2.1212399206124246,-2.1016931997946813,-2.080263214349543,-2.0605580139235826},
{-2.597839508600373,-2.787968237455061,-2.751318827020441,-2.6676296538644237,-2.586948640364426,-2.5123751111932506,-2.4558426095100003,-2.416534971078363,-2.3772063053656893,-2.341280921420548,-2.307835353014525,-2.276146755913942,-2.24670312616945,-2.219302071400307,-2.1937941525757196,-2.1700185778281593,-2.1478222689038375,-2.126997395465878,-2.107398318614287,-2.0859126783579995,-2.0661575341728167},
{-2.6038408521635574,-2.795131737495467,-2.7585790595039725,-2.674736265140382,-2.593881269443955,-2.5191284725660807,-2.462445764478616,-2.4230555304020527,-2.383629827065306,-2.347625284081005,-2.314087568774994,-2.2823154106699803,-2.252793456591462,-2.2253190707087924,-2.199743268854945,-2.1759054031317646,-2.1536513112187095,-2.132771176053211,-2.1131195772177307,-2.0915780946888844,-2.0717728944473492},
{-2.6098605290808337,-2.802316431479994,-2.7658606955483265,-2.6818636559655715,-2.600834082106303,-2.525901398064889,-2.469067952806654,-2.429594771223492,-2.3900718484001118,-2.353987860115012,-2.320357598880946,-2.288501659208123,-2.258901090492145,-2.231353150225914,-2.2057092530048976,-2.181808960165654,-2.159496891712479,-2.1385613044876663,-2.118857019369898,-2.097259503290843,-2.0774041460208537},
{-2.6158985934580414,-2.8095223805958085,-2.7731637957913335,-2.689011885697255,-2.6078071341216855,-2.532693942743208,-2.475709229205677,-2.4361527451037546,-2.3965324205200886,-2.360368696401565,-2.3266454922413686,-2.2947055469740008,-2.2650260745940614,-2.2374043533563963,-2.211692149601731,-2.187729293196753,-2.1653590545247425,-2.144367823148059,-2.124610687733366,-2.1029569430502306,-2.0830513413238805},
{-2.621955100556079,-2.8167496456280787,-2.7804884208417207,-2.6961810123029863,-2.6148004812384897,-2.5395061574199644,-2.48236964908574,-2.442729501868598,-2.40301159333103,-2.366767838910164,-2.332951295578823,-2.30092711929683,-2.2711684535825043,-2.2434727247818955,-2.2176920037127275,-2.1936664471941185,-2.1712378420234018,-2.150190775999363,-2.13038062468695,-2.1086704538138292,-2.08871453077154},
{-2.628030104757272,-2.823998288558869,-2.7878346326760948,-2.703371096511546,-2.621814178972272,-2.5463380948422127,-2.489049268533563,-2.449325094021333,-2.409509418961534,-2.3731853346362186,-2.3392750590646756,-2.307166422604496,-2.277328273943567,-2.2495583106538106,-2.223708860867191,-2.1996204680617666,-2.1771332972966775,-2.1560302044890705,-2.1361668737154105,-2.114400075512094,-2.0943937663214456},
{-2.6341236610496708,-2.8312683698641194,-2.7952024922815326,-2.7105821974982973,-2.62884828380993,-2.5531898093686323,-2.4957481433812063,-2.4559395734468126,-2.416025947295566,-2.379621230687917,-2.345616830727522,-2.3134235025718226,-2.2835055812647624,-2.2556611549152876,-2.229742766234267,-2.2055914000156918,-2.1830454633018235,-2.1618861535316682,-2.1419694768665067,-2.120145848235552,-2.1000890973227797},
{-2.6402358244122297,-2.838559951956995,-2.8025920605541614,-2.717814373801957,-2.6359028511215,-2.5600613522219646,-2.5024663298463565,-2.4625729897052224,-2.422561228657287,-2.38607557254727,-2.351976657701016,-2.319698404335213,-2.2897004223377735,-2.261781303124735,-2.235793766365532,-2.2115792878248612,-2.1889743834653927,-2.1677586642617825,-2.147788477501308,-2.125907811026991,-2.1058005737213534},
{-2.6463666501531407,-2.845873096923242,-2.810003400398273,-2.7250676874100463,-2.642977938590775,-2.5669527789395943,-2.509203884143062,-2.4692253965040436,-2.429115315037052,-2.3925484076244175,-2.3583545913024864,-2.325991175523086,-2.2959128435177263,-2.2679188012589293,-2.2418619067357213,-2.2175841773678258,-2.1949201014867867,-2.17364778117917,-2.1536239178603864,-2.1316860049664683,-2.111528243363864},
{-2.652516193513293,-2.853207865722652,-2.817436572906445,-2.732342196497484,-2.6500736013440473,-2.5738641403295333,-2.5159608613539604,-2.4758968448950327,-2.4356882561660314,-2.3990397829729773,-2.3647506780653202,-2.3323018605078687,-2.3021428903193737,-2.274073694337858,-2.2479472337290645,-2.2236061130352027,-2.2008826611090626,-2.17955354703372,-2.159475841664971,-2.13748047050467,-2.117272155057435},
{-2.658684510475723,-2.8605643212904397,-2.8248916404190823,-2.7396379617966886,-2.6571898966649314,-2.58079549093236,-2.5227373197667475,-2.4825873870540818,-2.442280104260135,-2.405549744842574,-2.371164968564699,-2.338630507554626,-2.308390610080096,-2.2802460287748545,-2.2540497943846276,-2.22964514117848,-2.206862106013432,-2.1854760067035386,-2.1653442919305235,-2.14329124815049,-2.1230323560776014},
{-2.6648716559520835,-2.8679425251139037,-2.8323686639596417,-2.7469550432506367,-2.664326879530563,-2.587746883782529,-2.5295333131143707,-2.4892970745022467,-2.4488909076499112,-2.412078340181324,-2.377597511458589,-2.344977161337738,-2.314656048107281,-2.286435849073314,-2.2601696350648126,-2.2357013059918245,-2.2128584786660213,-2.191415202629287,-2.171229311017669,-2.1491183789003117,-2.128808893259702},
{-2.671077686794888,-2.875342540877682,-2.839867707065423,-2.7542935015808325,-2.671484608465107,-2.594718372052739,-2.536348900586745,-2.496025959870167,-2.455520718729531,-2.4186256164284714,-2.3840483556232357,-2.35134186961659,-2.320939251963864,-2.2926432028507406,-2.2663068028450652,-2.241774652786262,-2.2188718243996846,-2.197371178710455,-2.177130942705844,-2.1549619036813965,-2.134601811729226},
{-2.677302658390545,-2.882764430689349,-2.847388831902208,-2.7616533978798543,-2.6786631396280427,-2.6017100109347666,-2.5431841374884243,-2.50277409571936,-2.462169587270182,-2.425191620073747,-2.3905175502259226,-2.3577246786553587,-2.3272402672555472,-2.298868135054363,-2.272461344506155,-2.247865226250724,-2.224902186640975,-2.203343978868361,-2.183049230268807,-2.160821862911689,-2.1404111567571817},
{-2.6835466273205384,-2.8902082578715635,-2.8549321008613333,-2.76903479221437,-2.685862529753649,-2.6087218525972276,-2.5500390796223655,-2.509541534425807,-2.4688375641562743,-2.4317763986982754,-2.3970051444266574,-2.3641256346199953,-2.3335591410395864,-2.3051106927705405,-2.2786333086987725,-2.253973073362431,-2.230949609511299,-2.209333647690073,-2.1889842170785414,-2.166698299712152,-2.146236973512714},
{-2.689809650037205,-2.8976740846010216,-2.86249757657788,-2.776437744829309,-2.693082836241956,-2.615753950620274,-2.55691378515985,-2.516328328390955,-2.4755246991771855,-2.438379998508026,-2.403511188647826,-2.3705447860666027,-2.3398959205478604,-2.311370922405331,-2.2848227428257815,-2.260098237406055,-2.237014137146616,-2.2153402294570697,-2.1949359459249536,-2.172591254719009,-2.152079307641543},
{-2.696091782670919,-2.905161974733346,-2.870085322017985,-2.7838623180468858,-2.7003241152342525,-2.622806360719551,-2.5638083093326713,-2.523134530918469,-2.4822310435665713,-2.445002468146413,-2.4100357314491703,-2.3769821791283903,-2.3462506517716974,-2.3176488699245965,-2.2910296943337016,-2.266240765038674,-2.243095813875698,-2.221363768399897,-2.200904460874881,-2.1785007702674193,-2.157938201333309},
{-2.7023930822142574,-2.9126719917312585,-2.877695399973163,-2.791308571850095,-2.707586424818146,-2.6298791354092828,-2.570722710537666,-2.5299601939841523,-2.488956646848237,-2.451643854514259,-2.4165788233003695,-2.3834378616265894,-2.3526233821066853,-2.3239445829858596,-2.2972542122151935,-2.2724007020115096,-2.249194684827671,-2.2274043098805123,-2.206889805926039,-2.1844268889835803,-2.1638137002446456},
{-2.70871360590354,-2.9202041992830345,-2.885327873784263,-2.7987765681464225,-2.7148698224882537,-2.636972329721175,-2.5776570444322715,-2.536805371681112,-2.495701559331792,-2.4583042048288917,-2.423140513339604,-2.389911880087311,-2.35901415821354,-2.33025810660547,-2.303496343542065,-2.2785780920967227,-2.2553107930070837,-2.2334618969034636,-2.212892023690074,-2.1903696520203084,-2.1697058449863107},
{-2.7150534098218486,-2.9277586605167016,-2.8929828064210596,-2.8062663677883393,-2.7221743650297867,-2.644085997420916,-2.58461136835831,-2.5436701167855063,-2.502465831254085,-2.4649835673299094,-2.4297208507850883,-2.3964042834486463,-2.3654230277970782,-2.3365894897360704,-2.309756138118246,-2.2847729833447374,-2.261444185020082,-2.2395365753436636,-2.2189111589905224,-2.1963291033425776,-2.1756146827101475},
{-2.721412552300535,-2.935335439968185,-2.9006602620756894,-2.813778032967093,-2.729500110988738,-2.6512201928999275,-2.5915857392101316,-2.550554482761072,-2.509249513164832,-2.4716819893583306,-2.4363198872197245,-2.4029151187860407,-2.371850037932745,-2.342938778543612,-2.3160336441615073,-2.29098542004067,-2.267594905439182,-2.2456283907704346,-2.224947254082508,-2.202305285150942,-2.1815402544707467},
{-2.727791090219398,-2.9429346017459466,-2.908360303059453,-2.821311624793452,-2.736847116237186,-2.658374970953446,-2.5985802138529834,-2.557458522296656,-2.516052654158557,-2.4783995189354755,-2.44293767110139,-2.4094444328802638,-2.378295235637779,-2.3493060195833095,-2.3223289096567896,-2.2972154477574804,-2.273762997778249,-2.251737387065077,-2.231000353800482,-2.2082982405627263,-2.1874826054263394},
{-2.734189081034856,-2.950556210373179,-2.9160829945358273,-2.8288672053786286,-2.7442154403943277,-2.6655503856563882,-2.605594850010675,-2.5643822900128725,-2.5228753047049395,-2.485136204104492,-2.44957425346729,-2.415992275589815,-2.384758668962604,-2.355691260065214,-2.3286419844880584,-2.3034631131704373,-2.2799485083742184,-2.2578636106809427,-2.237070502320421,-2.214308013153641,-2.193441778788838},
{-2.740606582705368,-2.9582003301802615,-2.923828399863851,-2.8364448368520243,-2.7516051403290476,-2.6727464928226254,-2.6126297038208577,-2.571325839006022,-2.52971751424775,-2.491892092861235,-2.456229684063146,-2.4225586945285613,-2.391240385331912,-2.362094547788729,-2.3349729179353744,-2.30972846197983,-2.2861514821634046,-2.264007105943165,-2.2431577433017083,-2.220334645939147,-2.199417817646463},
{-2.747043653294895,-2.965867025857733,-2.9315965824207524,-2.8440445811938844,-2.759016274514579,-2.679963347134617,-2.6196848335239338,-2.5782892231363803,-2.5365793335113267,-2.4986672335835465,-2.462904012467334,-2.4291437375613896,-2.397740433072613,-2.368515929509158,-2.3413217598354095,-2.316011539693136,-2.292371965275379,-2.27016791877395,-2.2492621204655734,-2.2263781825058686,-2.205410765865963},
{-2.7535003504472115,-2.9735563619615277,-2.9393876072390412,-2.851666500180727,-2.7664489015842264,-2.6872010020160815,-2.626760296167049,-2.5852724963551736,-2.5434608121213387,-2.505461674896651,-2.469597291557875,-2.4357474540593103,-2.404258859438414,-2.374955453135044,-2.3476885579111695,-2.3223123928546556,-2.298610001893394,-2.2763460953610775,-2.2553836794795643,-2.232438667477254,-2.2114206696824112},
{-2.7599767327610607,-2.981268403971626,-2.9472015380015364,-2.859310656629532,-2.7739030780758185,-2.694459514488699,-2.633856147811457,-2.5922757126427314,-2.55036199877577,-2.512275465156563,-2.476309569166915,-2.442369890981354,-2.410795712883555,-2.3814131652543438,-2.354073362563213,-2.3286310674011474,-2.304865638336196,-2.282541679804126,-2.261522463097208,-2.238516144148889,-2.2174475720748887},
{-2.766472858513225,-2.9890032175026136,-2.9550384398608003,-2.866977112746099,-2.781378863743157,-2.701738938634662,-2.640972447632521,-2.5992989261176263,-2.5572829446100513,-2.519108652271825,-2.4830408972084115,-2.44901109881539,-2.417351042098744,-2.3878891138992913,-2.3604762235918315,-2.334967610993772,-2.311138919827499,-2.288754719600547,-2.2676785159237625,-2.244610656744044,-2.2234915178923984},
{-2.7729887863624754,-2.996760867350531,-2.962898377201782,-2.874665932104108,-2.7888763172850304,-2.709039331173699,-2.648109252219001,-2.6063421925246075,-2.564223699580907,-2.52596128733785,-2.489791327097919,-2.4556711249242653,-2.423924895381788,-2.394383347032999,-2.3668971909173706,-2.341322068550653,-2.3174298933008686,-2.29498525919189,-2.273851882928284,-2.25072225063559,-2.2295525510016887},
{-2.7795245751312905,-3.004541419300949,-2.970781414584053,-2.882377176418231,-2.7963954961815034,-2.7163607461225183,-2.655266618265159,-2.6134055639595317,-2.571184312724654,-2.5328334162477404,-2.4965609074970416,-2.4623500188536127,-2.430517320859508,-2.4008959114980826,-2.373336313808977,-2.3476944873618777,-2.3237386038381374,-2.301233344729553,-2.2800426085632353,-2.256850969242805,-2.2356307167538034},
{-2.786080283756746,-3.0123449397251534,-2.9786876168836898,-2.89011090933127,-2.803936460026307,-2.723703239684255,-2.6624446048263053,-2.6204890964254446,-2.578164835085772,-2.5397250902278756,-2.5033496923970233,-2.4690478305674333,-2.4371283680884517,-2.407426856269012,-2.3797936419396137,-2.3540849140154023,-2.3300650978308113,-2.3074990228524257,-2.286250736535294,-2.2629968575492967,-2.241726060026849},
{-2.792655971239583,-3.020171493975795,-2.9866170494133257,-2.897867193878483,-2.8114992671180516,-2.731066868349444,-2.669643267930951,-2.6275928444629244,-2.5851653158606496,-2.5466363581181213,-2.510157731412619,-2.475764608094323,-2.4437580854428234,-2.413976228759566,-2.386269226353761,-2.3604933949245606,-2.3364094206190202,-2.3137823398246837,-2.292476312839426,-2.2691599616409803,-2.2478386257353122},
{-2.79925169703165,-3.028021148587868,-2.994569777376455,-2.905646091894596,-2.8190839761591633,-2.7384516859856376,-2.6768626660632435,-2.6347168615720875,-2.5921858049150615,-2.5535672689875355,-2.516985074751574,-2.4825004002268543,-2.45040652217358,-2.4205440758596524,-2.3927631155784184,-2.366919976851932,-2.3427716204132594,-2.3200833405717276,-2.298719381375122,-2.2753403240130865,-2.2539684576622676},
{-2.8058675206157204,-3.035893970154575,-3.0025458660602453,-2.913447669659945,-2.826690646914358,-2.7458577516626974,-2.6841028575181554,-2.6418612044471956,-2.599226354384882,-2.5605178724326834,-2.523831776852603,-2.4892552579622134,-2.457073728310206,-2.4271304473804776,-2.399275361269247,-2.37336470691298,-2.3491517421825847,-2.3264020717651874,-2.3049799870459537,-2.2815379921266867,-2.2601155993324937},
{-2.8125035013945308,-3.0437900249671657,-3.0105453812320775,-2.921271988776425,-2.8343193385480845,-2.753285118877102,-2.6913638980513497,-2.6490259273341508,-2.606287012593384,-2.567488218723156,-2.53069788619905,-2.496029229787382,-2.4637597521759744,-2.4337353901355527,-2.4058060124807525,-2.379827631666558,-2.3555498329151305,-2.332738579625584,-2.311258175253897,-2.2877530113910325,-2.2662800950056408},
{-2.819159699456577,-3.051709379786189,-3.018568388419226,-2.9291191127231286,-2.8419701100574457,-2.7607338448869996,-2.698645847645821,-2.6562110846898577,-2.613367831629148,-2.5744783574446046,-2.5375834569495055,-2.50282236590283,-2.4704646446080005,-2.4403589543326234,-2.4123551206103,-2.386308799876133,-2.361965940475784,-2.339092911930493,-2.3175539907242637,-2.293985425734718,-2.272461988373834},
{-2.825836175126824,-3.0596521023398964,-3.026614953403623,-2.9369891057394852,-2.849643020235817,-2.7682039861065277,-2.705948761693435,-2.6634167324045848,-2.620468860390247,-2.581488337698829,-2.544488539628219,-2.5096347140606667,-2.477188453070994,-2.4470011854791665,-2.418922733893851,-2.392808256128774,-2.368400109040522,-2.3454651118736365,-2.323867477796739,-2.3002352814146434,-2.2786613201642467},
{-2.8325329878134653,-3.0676182587594667,-3.0346851422691543,-2.94488203182118,-2.85733812923354,-2.7756955984805245,-2.713272700286325,-2.670642925382708,-2.6275901510962285,-2.588518211228802,-2.5514131869349512,-2.516466326898808,-2.4839312303593033,-2.4536621351799113,-2.425508904576418,-2.399326050268428,-2.3748523883186863,-2.3518552291461674,-2.3301986833866977,-2.306502625331632,-2.2848781346365286},
{-2.839250197957881,-3.075607916802255,-3.0427790209178056,-2.952797955200367,-2.8650554972300597,-2.783208740351256,-2.720617720769951,-2.6778897197145852,-2.6347317544641555,-2.595568027529225,-2.558357451365737,-2.523317253388086,-2.490693025087239,-2.460341851157864,-2.4321136823054985,-2.40586222784259,-2.3813228255421564,-2.3582633087753493,-2.336547653125308,-2.3127875029094866,-2.2911124714446487},
{-2.8459878667745215,-3.083621144232893,-3.0508966563720605,-2.9607369398399896,-2.8727951833425323,-2.790743466874119,-2.727983880231477,-2.6851571698935004,-2.6418937217458733,-2.6026378375609056,-2.565321384827257,-2.5301875424229365,-2.497473887866363,-2.467040382543928,-2.438737118129211,-2.4124168375747104,-2.3878114668041235,-2.3646893977638683,-2.342914431323152,-2.319089960994461,-2.297364370297146},
{-2.8527460542700283,-3.091658008779632,-3.0590381142683327,-2.968699050019495,-2.8805572478049726,-2.7982998354891606,-2.7353712377807824,-2.692445331991621,-2.6490761041786755,-2.609727691648004,-2.5723050399501517,-2.537077246033732,-2.5042738693700812,-2.473757778396248,-2.4453792623826303,-2.418989926663926,-2.394318360598845,-2.371133543099859,-2.349299063989747,-2.325410047356854,-2.3036338729871204},
{-2.8595248218025517,-3.0997185782980523,-3.0672034614653967,-2.9766843506295118,-2.8883417501238,-2.8058779036473425,-2.7427798503085796,-2.699754262681381,-2.6562789535237243,-2.6168376413006627,-2.5793084700708278,-2.543986412583763,-2.511093019882537,-2.4804940881185757,-2.452040164356731,-2.425581542727741,-2.4008435544674285,-2.3775957908255805,-2.3557015973965463,-2.331747806780186,-2.309921016865701},
{-2.866324229955353,-3.107802920781978,-3.0753927647310775,-2.9846929061532137,-2.8961487510459847,-2.813477727373538,-2.750209777314012,-2.7070840157102793,-2.6635023208145867,-2.6239677365992975,-2.5863317280054616,-2.5509150935868092,-2.5179313900589477,-2.487249361063732,-2.4587198761037143,-2.4321917339802894,-2.4073870955762686,-2.384076189417101,-2.36212207671997,-2.338103287609556,-2.3162258398988342},
{-2.8731443407832558,-3.1159111050437787,-3.0836060914589325,-2.992724781859579,-2.90397831073642,-2.821099365959526,-2.757661076346267,-2.714434648922179,-2.670746258321742,-2.631118029457866,-2.59337486685763,-2.557863338592142,-2.5247890308928618,-2.494023646959249,-2.465418446718104,-2.438820547529758,-2.4139490326851956,-2.3905747836688533,-2.3685605497521465,-2.3444765367239597,-2.3225483776077454},
{-2.879985214838598,-3.1240431994265236,-3.0918435076382593,-3.0007800416788086,-2.9118304897638154,-2.82874287476443,-2.7651338057257817,-2.7218062174943043,-2.6780108189450402,-2.63828857147746,-2.6004379395308206,-2.5648311987461057,-2.5316659940144746,-2.500816995754576,-2.472135928193893,-2.4454680328017275,-2.4205294144812797,-2.397091621605796,-2.3750170618732227,-2.350867602217477,-2.3288886689406354},
{-2.8868469141707465,-3.1321992724842858,-3.100105081604852,-3.0088587512836966,-2.9197053482712363,-2.836408311526611,-2.7726280238821346,-2.729198777811689,-2.685296054871287,-2.6454794139463047,-2.6075210004819382,-2.5718187249003677,-2.538562328340049,-2.507629458206793,-2.478872370054887,-2.4521342375519453,-2.427128288469248,-2.4036267518276873,-2.3814916579103738,-2.3572765316057485,-2.3352467475524463},
{-2.8937295005162014,-3.140379394069896,-3.108390879617218,-3.01696097607055,-2.9276029468710476,-2.844095735828887,-2.780143788397254,-2.7366123858118954,-2.692602017752506,-2.6526906089056865,-2.6146241025053314,-2.5788259667424427,-2.545478087198717,-2.5144610840397945,-2.4856278240513348,-2.458819210252841,-2.43374570359083,-2.4101802197073994,-2.3879843867871386,-2.363703373732278,-2.3416226497720345},
{-2.900633035842475,-3.1485836318715883,-3.1167009705022792,-3.0250867808535986,-2.9355233468049846,-2.851805202997639,-2.7876811590831494,-2.744047097825387,-2.6999287623875716,-2.659922208302305,-2.6217473004908243,-2.585852976379101,-2.552413320110645,-2.5213119245890994,-2.492402339099499,-2.465522998256347,-2.440381708667701,-2.4167520737973973,-2.3944952936253685,-2.370148176771181,-2.3480164080974646},
{-2.9075575823044346,-3.156812056313356,-3.1250354208204953,-3.0332362319568347,-2.9434666086417565,-2.8595367731541046,-2.7952401936418028,-2.7515029707610665,-2.7072763406322338,-2.667174264541245,-2.6288906487643544,-2.5928998036506528,-2.5593680797173874,-2.528182030058815,-2.499195967138803,-2.47224565216311,-2.4470363529908354,-2.4233423600344395,-2.4010244264209177,-2.376610989605979,-2.3544280563728535},
{-2.9145032024334796,-3.1650647369206126,-3.1333942991004733,-3.0414093943982152,-2.951432793484855,-2.8672905034072755,-2.8028209507283464,-2.7589800606692734,-2.7146448066887388,-2.674446829871158,-2.6360541995927633,-2.599966500449227,-2.566342415888357,-2.53507145263211,-2.5060087592864875,-2.4789872196124634,-2.453709685116337,-2.4299511278913997,-2.4075718311905803,-2.383091859497654,-2.360857628773374},
{-2.9214699581934838,-3.17334174302232,-3.1417776732450875,-3.0496063346981828,-2.9594219633181638,-2.8750664510153,-2.8104234898273717,-2.7664784248736396,-2.722034215221356,-2.6817399566207314,-2.643238010328787,-2.607053117459145,-2.573336381028639,-2.541980244375736,-2.5128407652264286,-2.4857477500117966,-2.460401753865881,-2.436578423701576,-2.4141375556137064,-2.389590837959986,-2.367305157989904},
{-2.928457912932572,-3.1816431448678486,-3.1501856107934145,-3.0578271172089444,-2.9674341781319526,-2.882864675975725,-2.8180478677895735,-2.773998118704185,-2.7294446186460846,-2.689053697849886,-2.650442133704928,-2.6141597056885075,-2.5803500241709116,-2.54890845544287,-2.5196920367707207,-2.492527292248269,-2.4671126091343467,-2.443224295777327,-2.4207216463328223,-2.3961079723849252,-2.3737706755127874},
{-2.935467129200333,-3.1899690126956557,-3.1586181807142566,-3.0660718095023185,-2.975469500193867,-2.8906852349209657,-2.825694145358284,-2.781539200550469,-2.7368760725476022,-2.696388106276572,-2.6576666254877637,-2.6212863176260726,-2.5873833990517596,-2.5558561385332723,-2.5265626238870027,-2.499325895361835,-2.473842300238175,-2.449888792292768,-2.4273241511436936,-2.4026433137332788,-2.380254214458546},
{-2.942497669821023,-3.1983194166205067,-3.1670754513324937,-3.07434047804054,-2.9835279912476835,-2.898528188597993,-2.8333623807993717,-2.7891017273577745,-2.7443286316374724,-2.7037432368524605,-2.6649115405489283,-2.6284330031594436,-2.5944365562136227,-2.562823347405356,-2.533452577674325,-2.5061436097166734,-2.4805908774069394,-2.456571959221037,-2.4339451179366733,-2.4091969103938027,-2.3867558060082956},
{-2.9495495986757305,-3.206694427623006,-3.175557491107611,-3.0826331878488418,-2.9916097127643297,-2.9063935941958334,-2.841052632105857,-2.7966857546816755,-2.7518023518132395,-2.7111191401090764,-2.6721769337164005,-2.6355998156905116,-2.6015095474176633,-2.569810133205465,-2.5403619495991734,-2.5129804841271834,-2.487358389695146,-2.4632738470136246,-2.440584593663516,-2.41576881230867,-2.393275482671015},
{-2.956622978679661,-3.21509411639272,-3.1840643689174613,-3.090950006560888,-2.9997147264439263,-2.914281510402361,-2.848764960155677,-2.80429134123915,-2.759297288288508,-2.7185158720276377,-2.679462861171487,-2.6427868061618938,-2.6086024243595602,-2.576816549884825,-2.54729079020035,-2.5198365688775084,-2.49414488696857,-2.46999450281146,-2.447242625821673,-2.4223590706533287,-2.399813277679641},
{-2.9637178737411887,-3.2235185539720987,-3.1925961539236596,-3.0992910003733414,-3.0078430949142785,-2.922191996491165,-2.8564994221051165,-2.811918544146465,-2.766813496597024,-2.7259334856644273,-2.6867693777167005,-2.64999402677131,-2.615715237952827,-2.583842650954466,-2.5542391511262394,-2.526711912956671,-2.5009504189147265,-2.4767339748796076,-2.453919264495198,-2.428967734609614,-2.4063692230338347},
{-2.9708343474558205,-3.2319678112398833,-3.2011529141709616,-3.1076562351736357,-3.0159948793952935,-2.9301251108554425,-2.864256078883045,-2.8195674195994798,-2.7743510332838923,-2.7333720348506176,-2.694096539125894,-2.657221528712398,-2.622848040620738,-2.5908884893469804,-2.56120708351591,-2.533606566470553,-2.5077750356031174,-2.4834923115195124,-2.4606145560901496,-2.435594853690418,-2.41294335101702},
{-2.977972464166669,-3.24044196027171,-3.209734720257984,-3.1160457803889585,-3.0241701431841648,-2.9380809149770357,-2.8720349892500963,-2.8272380260459613,-2.781909956389427,-2.7408315738866804,-2.70144440137301,-2.6644693665002706,-2.6300008844009426,-2.597954120061331,-2.5681946383047034,-2.540520580656448,-2.514618787863583,-2.4902695601012965,-2.4673285491371644,-2.442240479234897,-2.4195356942509534},
{-2.9851322876038466,-3.2489410719608713,-3.2183416408588528,-3.12445970056433,-3.0323689481665497,-2.9460594655174646,-2.8798362114939664,-2.834930420769524,-2.789490322375059,-2.7483121570039657,-2.708813019864465,-2.671737590684643,-2.637173821556644,-2.6050395959900925,-2.5752018670718826,-2.547454004725296,-2.5214817251762724,-2.4970657706981,-2.474061292818078,-2.448904661585402,-2.426146287310985},
{-2.9923138824760827,-3.2574652191651694,-3.2269737455462746,-3.132898064377514,-3.0405913573267753,-2.954060823216423,-2.88765980736207,-2.84264466147215,-2.7970921892192564,-2.755813839889015,-2.7162024514909717,-2.6790262561116833,-2.6443669043219415,-2.612144973300019,-2.582228821927856,-2.554406890016253,-2.5283638986911683,-2.5038809921679785,-2.4808128347067395,-2.4555874518482597,-2.4327751640157658},
{-2.999517312946409,-3.266014472919778,-3.2356311038747663,-3.141360938705475,-3.048837432390428,-2.9620850474821054,-2.895505834108917,-2.850380805783061,-2.804715614129236,-2.7633366761219804,-2.7236127516734996,-2.686335412756307,-2.6515801847963303,-2.619270305523969,-2.589275553200423,-2.561379286536976,-2.5352653574482247,-2.5107152723030595,-2.4875832247853396,-2.46228890036582,-2.439422359013406},
{-3.0067426443620207,-3.2745889062061906,-3.2443137866466714,-3.149848390643456,-3.0571072375169024,-2.9701321971333527,-2.9033743532672815,-2.8581389119026426,-2.812360657208046,-2.7708807213421096,-2.731043976487854,-2.693665117069031,-2.6588137166218075,-2.6264156484066916,-2.5963421133492375,-2.5683712447389553,-2.542186153383227,-2.5175686609800323,-2.4943725113771507,-2.469009057756921,-2.4460879068283248},
{-3.0139899409568898,-3.2831885912928556,-3.253021862677997,-3.15836048896017,-3.065400834999309,-2.9782023342304456,-2.9112654237287643,-2.8659190374564787,-2.8200273773363733,-2.778446030748455,-2.738496182813833,-2.7010154202253034,-2.666067551883316,-2.6335810576019867,-2.603428554797574,-2.575382816212368,-2.5491263365947816,-2.524441205419862,-2.5011807447081083,-2.4757479753388907,-2.4527718427270884},
{-3.0212592685293203,-3.291813600968453,-3.261755402723793,-3.1668973006671877,-3.073718288087548,-2.986295516770042,-2.9191791058401577,-2.8737212404812453,-2.8277158337259607,-2.786032659379998,-2.7459694260032848,-2.7083863767038565,-2.6733417441428173,-2.6407665875085513,-2.6105349295321503,-2.582414052078093,-2.5560859577162773,-2.5313329571326904,-2.508007973585336,-2.4825057043126435,-2.4594742038461845},
{-3.0285506919317413,-3.3004640081635443,-3.270514477204415,-3.175458893609175,-3.0820596604062303,-2.9944118052808335,-2.9271154594280233,-2.8815455791627755,-2.835426087334781,-2.793640663527185,-2.753463763216132,-2.7157780410743726,-2.680636347089603,-2.6479722958210914,-2.6176612882409245,-2.5894650034642837,-2.563065067744901,-2.5382439653549227,-2.5148542475435534,-2.4892822967958637,-2.466195028478978},
{-3.0358642769715516,-3.3091398860124173,-3.2792991564092517,-3.1840453358527157,-3.0904250143612444,-3.002551261026383,-2.9350745437914156,-2.8893921119597508,-2.8431581979602925,-2.8012700979415968,-2.7609792510120315,-2.723190465632797,-2.6879514133979683,-2.655198237080185,-2.62480768424939,-2.596535720698739,-2.570063716451841,-2.5451742780132918,-2.5217196168014198,-2.4960778033273527,-2.472934352590528},
{-3.0432000891087228,-3.3178413082205225,-3.2881095111697505,-3.1926566959118645,-3.0988144153088797,-3.010713942552684,-2.94305642152176,-2.8972608964504616,-2.850912227106164,-2.8089210201105743,-2.7685159450556966,-2.730623706280312,-2.6952869975793874,-2.662444467863679,-2.631974169653404,-2.6036262578090827,-2.5770819562130782,-2.5521239480076474,-2.528604131184693,-2.5028922756100656,-2.479692216787953},
{-3.050558194434416,-3.326568347903958,-3.2969456121318217,-3.201293042526231,-3.1072279256441107,-3.018899912829511,-2.951061151077738,-2.9051519917302357,-2.8586882368726947,-2.8165934848257166,-2.776073902605276,-2.7380778164406365,-2.7026431526464876,-2.6697110447676096,-2.6391607964760624,-2.6107366639953398,-2.5841198376510874,-2.559093021314766,-2.5355078422799124,-2.5097257664019708,-2.486468657683872},
{-3.0579386585122847,-3.3353210792665777,-3.3058075304761587,-3.2099544433331175,-3.1156656095554354,-3.027109230737551,-2.9590887937920343,-2.9130654564360157,-2.8664862889818323,-2.8242875487449055,-2.7836531790198933,-2.745552851491084,-2.7100199332453485,-2.676998023969645,-2.646367617544456,-2.61786699282311,-2.5911774119522306,-2.5660815501541947,-2.5424307994326227,-2.516578327602474,-2.4932637183883344},
{-3.065341548559445,-3.344099576213921,-3.3146953369614494,-3.2186409670430294,-3.1241275320135173,-3.035341957354831,-2.96713940990594,-2.921001348822756,-2.874306447007257,-2.8320032692790846,-2.791253832692746,-2.7530488664779114,-2.717417393647338,-2.6843054638593458,-2.6535946861295088,-2.62501729682117,-2.5982547308085486,-2.5730895850938396,-2.549373052563169,-2.5234500117367133,-2.500077439210145},
{-3.072766929966747,-3.3529039129825833,-3.323609103241324,-3.2273526830031187,-3.132613754718477,-3.0435981549198914,-2.9752130600754754,-2.9289597272545507,-2.8821487730419904,-2.8397407017364458,-2.7988759186955576,-2.7605659143810044,-2.7248355876581627,-2.691633419068239,-2.6608420536540507,-2.6321876267611515,-2.605351843922108,-2.5801171755156247,-2.556334654982493,-2.530340871315275,-2.5069098628373467},
{-3.0802148701604892,-3.3617341638018843,-3.332548900438269,-3.236089659450954,-3.14112434506751,-3.051877882440749,-2.983309806604666,-2.9369406506302767,-2.8900133313873084,-2.847499903953576,-2.806519494199165,-2.7681040527604637,-2.7322745706951537,-2.6989819484551845,-2.6681097732616763,-2.639378035812115,-2.6124688049094402,-2.587164372918778,-2.5633156558542396,-2.5372509593726136,-2.5137610320962267},
{-3.087685435588355,-3.370590404396353,-3.3415148006861273,-3.2448519666031643,-3.1496593655683682,-3.0601812040076766,-2.9914297091127082,-2.9449441787401156,-2.8979001861262077,-2.855280933003087,-2.8141846168109623,-2.775663335003628,-2.739734397033317,-2.7063511085252685,-2.675397899118252,-2.646588577896182,-2.6196056652333937,-2.5942312259139726,-2.570316107594408,-2.54418032936519,-2.5206309906134265},
{-3.095178693627531,-3.3794727086642524,-3.3505068753802334,-3.2536396721225174,-3.1582188817410497,-3.0685081794545113,-2.9995728297108144,-2.9529703692533076,-2.905809401992883,-2.863083845586516,-2.821871340947837,-2.783243818750634,-2.7472151206420676,-2.713740957020491,-2.682706483596121,-2.6538193045707885,-2.6267624753600103,-2.601317788292363,-2.5773360619932646,-2.5511290334616206,-2.52751978446031},
{-3.1026947110422043,-3.388381151969952,-3.3595251962615293,-3.262452846240194,-3.166802958905464,-3.076858870095748,-3.007739229593426,-2.961019281672634,-2.9137410446965077,-2.870908699482243,-2.829579726578231,-2.790845558338333,-2.7547167981247185,-2.721151552104857,-2.6900355794205097,-2.6610702700781985,-2.63393928820733,-2.6084241100834333,-2.584375570710108,-2.5580971266463166,-2.5344274605449755},
{-3.110233555737068,-3.3973158098815475,-3.3685698360168317,-3.2712915579213586,-3.175411659947713,-3.085233338748367,-3.0159289688999706,-2.9690909750934225,-2.9216951785056153,-2.8787555520029855,-2.8373098272058996,-2.798468608660187,-2.7622394828213146,-2.7285829503998684,-2.697385240753647,-2.668341526914446,-2.641136155129061,-2.615550241469464,-2.5914346852950985,-2.5650846613789327,-2.5413540648514754},
{-3.1177952948091843,-3.406276757843443,-3.3776408665289637,-3.2801558772771386,-3.184045051842986,-3.0936316458646616,-3.024142111691617,-2.9771855086582946,-2.929671869980666,-2.8866244606979308,-2.8450617016205797,-2.8061130262758525,-2.769783231055044,-2.736035209381953,-2.704755520397157,-2.6756331289725495,-2.6483531282501644,-2.622696234509931,-2.5985134582952014,-2.5720916927675717,-2.548299646412488},
{-3.1253799965215876,-3.4152640723550576,-3.3867383600445464,-3.2890458741203474,-3.1927031994928257,-3.102053856397106,-3.032378718697146,-2.9853029424484703,-2.937671185391082,-2.8945154841385374,-2.852835406207305,-2.8137788671810995,-2.777348098188668,-2.743508388797636,-2.7121464727679268,-2.6829451303565293,-2.655590260568715,-2.6298621400928823,-2.605611943472468,-2.5791182738612406,-2.5552642536495114},
{-3.1329877287098498,-3.4242778284460655,-3.3958623892431206,-3.297961617099645,-3.201386167998862,-3.110500030510593,-3.040638851671247,-2.993443335082702,-2.945693192057661,-2.9024286801723065,-2.8606309972128656,-2.8214661874335434,-2.784934138835524,-2.751002545344818,-2.719558150944067,-2.6902775853086496,-2.662847602972761,-2.6370480109544587,-2.6127301911838003,-2.5861644587421324,-2.5622479381563608},
{-3.1406185595951683,-3.433318103063357,-3.4050130270225054,-3.3069031778431963,-3.2100940231503046,-3.1189702305782703,-3.048922573623713,-3.001606746118341,-2.9537379557150416,-2.910364106293855,-2.868448532808543,-2.8291750431380933,-2.792541409657133,-2.7585177373330225,-2.726990609182394,-2.6976305477364804,-2.6701252088023466,-2.644253899139585,-2.61986825583881,-2.593230302707525,-2.5692507512503653},
{-3.148272557578821,-3.442384972709988,-3.414190346495161,-3.315870625567186,-3.2188268307472754,-3.1274645215708006,-3.057229945297877,-3.009793236706173,-2.961805544080562,-2.918321821343852,-2.876288069244765,-2.836905490628851,-2.800169965128589,-2.7660540230281185,-2.7344439021035214,-2.7050040712565533,-2.6774231306189904,-2.6514798557327595,-2.6270261914032744,-2.600315858500835,-2.576272745813185},
{-3.155949791373132,-3.4514785139072046,-3.423394420005934,-3.3248640298261307,-3.227584656342515,-3.1359829621433164,-3.065561031267862,-3.018002864308073,-2.9698960241694294,-2.9263018841775192,-2.884149663052085,-2.844657584773813,-2.8078198623479693,-2.773611460652319,-2.7419180826691445,-2.712398211187974,-2.684741420096543,-2.6587259342559264,-2.6342040499075665,-2.607421181637619,-2.583313973947952},
{-3.163650329795928,-3.4605988040857483,-3.432625321478554,-3.333883463143138,-3.2363675662600144,-3.144525619856722,-3.0739158934447914,-3.026235691013426,-2.978009464513889,-2.934304352649633,-2.8920333720561757,-2.85243138455553,-2.8154911567107774,-2.781190108951705,-2.749413206227473,-2.7198130230390234,-2.6920801308442606,-2.665992185815412,-2.641401885608502,-2.614546325188712,-2.5903744909810484},
{-3.1713742412430292,-3.4697459198432625,-3.441883123887237,-3.342928993937676,-3.2451756267691962,-3.1530925550723623,-3.082294593703409,-3.034491775189963,-2.986145932391082,-2.9423292866777047,-2.899939253591583,-2.860226944732858,-2.82318390403816,-2.788790025631897,-2.7569293268752517,-2.7272485602952656,-2.699439315860218,-2.6732786630673218,-2.648619751940714,-2.6216913440730423,-2.5974543524644105},
{-3.179121595896504,-3.478919939032494,-3.4511679009738145,-3.352000693757873,-3.2540089047761285,-3.1616838320333045,-3.0906971968870494,-3.0427711778211233,-2.994305495849403,-2.950376744305686,-2.9078673638832697,-2.8680443235498387,-2.830898161548248,-2.796411270290264,-2.76446650071739,-2.7347048789306427,-2.7068190274803783,-2.6805854216145235,-2.6558577033065376,-2.628856293791614,-2.60455361471395},
{-3.186892462152173,-3.4881209392442543,-3.4604797267893446,-3.36109863420279,-3.2628674656261865,-3.170299515270017,-3.0991237653943244,-3.0510739593519247,-3.0024882227444323,-2.958446786047716,-2.9158177624813106,-2.8758835767948767,-2.838633985404158,-2.8040539014764363,-2.7720247823745012,-2.7421820345916785,-2.714219319408585,-2.6879125118939555,-2.663115795738122,-2.636041228484828,-2.611672336788615},
{-3.194686910353994,-3.4973489981275634,-3.469818674177077,-3.3702228844340425,-3.271751376465545,-3.17893966542033,-3.1075743627188785,-3.0594001800163824,-3.0106941803860536,-2.9665394687253865,-2.923790503744385,-2.883744761631533,-2.846391430888616,-2.8117179757537087,-2.7796042242989643,-2.7496800809021806,-2.721640243617003,-2.695259987798636,-2.6703940812367364,-2.6432462005031994,-2.618810574662348},
{-3.2025050100019143,-3.5066041940699506,-3.4791848178465443,-3.3793735170329455,-3.280660704462207,-3.1876043497613864,-3.1160490525471687,-3.067749900426861,-3.0189234371719067,-2.9746548540351796,-2.931785646807839,-2.8916279359109467,-2.8541705563111464,-2.819403554116434,-2.787204884705716,-2.7571990745855146,-2.7290818550027325,-2.702627902246604,-2.677692615550768,-2.6504712653913884,-2.6259683891330496},
{-3.2103468313871417,-3.5158866052952362,-3.488578231790598,-3.388550602034229,-3.289595516391273,-3.1962936308445933,-3.124547898572928,-3.0761231809483434,-3.0271760610303318,-2.982793000570382,-2.9398032494027575,-2.8995331568148686,-2.8619714175219997,-2.8271106943502673,-2.7948268172403914,-2.7647390715719666,-2.7365442057853215,-2.7100163103241357,-2.685011454806954,-2.6577164780610474,-2.6331458399581606},
{-3.218212444016899,-3.5251963102527952,-3.4979989906350966,-3.397754211076972,-3.2985558795480756,-3.2050075719125743,-3.133070965643128,-3.084520083055395,-3.035452120919217,-2.990953969736438,-2.947843368507165,-2.90746048209985,-2.869794072554214,-2.8348394549902878,-2.8024700798559934,-2.77230012727523,-2.744027350760007,-2.717425265298516,-2.69235065261455,-2.664981894515222,-2.6403429886340746},
{-3.226101918897257,-3.53453338815234,-3.507447168674844,-3.406984416207706,-3.307541860620404,-3.213746240016917,-3.1416183168075804,-3.092940666996583,-3.043751682525908,-2.999137819992029,-2.955906063230941,-2.9154099706356646,-2.87763857858954,-2.8425898956120363,-2.8101347251431434,-2.7798822970944457,-2.7515313441253966,-2.724854821797635,-2.6997102649402223,-2.672267567293602,-2.6475598978213384},
{-3.2340153264558467,-3.5438979175669374,-3.5169228404047317,-3.416241288628953,-3.316553527954966,-3.2225096970687446,-3.150190018430294,-3.1013849952469172,-3.0520748146809638,-3.007344611796725,-2.9639913904757123,-2.9233816786145326,-2.8855049930280074,-2.850362075267185,-2.8178208119861665,-2.7874856377675314,-2.759056237686309,-2.7323050352933933,-2.707090349358623,-2.679573551824433,-2.654796629169141},
{-3.241952737491374,-3.5532899779936997,-3.5264260812873545,-3.4255249006819213,-3.32559094870885,-3.231298010061437,-3.158786134685215,-3.109853128546092,-3.0604215847451997,-3.015574406104861,-2.972099408732902,-2.931375665437372,-2.8933933731532306,-2.858156051079277,-2.825528394881985,-2.795110203936929,-2.7666020879114512,-2.7397759582745493,-2.714490960650437,-2.6868999031867133,-2.6620532454180648},
{-3.249914222769803,-3.5627096490643453,-3.535956965846708,-3.4348353229834174,-3.3346541916289425,-3.2401112427287444,-3.167406730241055,-3.11834512868154,-3.0687920599302743,-3.023827263881685,-2.980230176486657,-2.9393919900539913,-2.901303777223802,-2.8659718839626294,-2.833257531543495,-2.8027560544142034,-2.7741689491740544,-2.747267647413537,-2.7219121547896066,-2.6942466771652107,-2.669329811440548},
{-3.25789985393385,-3.57215701010864,-3.5455155699673924,-3.444172628067463,-3.343743323817762,-3.248949460034055,-3.1760518706469156,-3.1268610560036905,-3.0771863069021492,-3.03210324630345,-2.988383752803202,-2.9474307110285736,-2.9092362646842957,-2.873809632874327,-2.841008276962384,-2.8104232434925507,-2.781756874595885,-2.7547801587861613,-2.729353987786453,-2.7016139289553394,-2.6766263915560558},
{-3.265909702015051,-3.581632140914735,-3.5551019675804127,-3.453536888031522,-3.352858412774367,-3.257812728126737,-3.184721621713834,-3.1354009743554343,-3.085604393239919,-3.0404024135350483,-2.996560195708298,-2.9554918864523643,-2.9171908919888665,-2.8816693551343633,-2.848780689666455,-2.81811182796082,-2.7893659193068743,-2.762313545397774,-2.7368165184452664,-2.7090017130831257,-2.683943050840753},
{-3.2739438386506663,-3.5911351222712256,-3.5647162351560837,-3.462928175289562,-3.361999528857268,-3.2667011110461317,-3.1934160493510717,-3.143964944538311,-3.094046384045214,-3.048724826963735,-3.004759564806591,-2.963575576679432,-2.9251677198917605,-2.8895511118898867,-2.8565748245455325,-2.825821864702448,-2.79699613921548,-2.7698678652668605,-2.744299801714078,-2.7164100865848013,-2.691279854363529},
{-3.2820023359090555,-3.6006660346210992,-3.57435844882275,-3.472346562117309,-3.371166737873864,-3.275614676542318,-3.2021352187002776,-3.1525530296203215,-3.1025123471408733,-3.0570705492646084,-3.012981918276637,-2.971681839640951,-2.9331668071754393,-2.8974549606864457,-2.864390740345698,-2.8335534106518026,-2.804647589153319,-2.7774431727448246,-2.751803895283956,-2.7238391050996142,-2.698636866924062},
{-3.2900852657749056,-3.610224957781611,-3.584028683402721,-3.4817921209578344,-3.3803601111831085,-3.284553489458631,-3.2108791977552755,-3.161165291610814,-3.1110023481815006,-3.0654396417739918,-3.021227315752185,-2.9798107368551427,-2.9411882119093207,-2.9053809638353414,-2.8722284940376994,-2.8413065217173425,-2.8123203237119014,-2.7850395256391494,-2.7593288568459684,-2.731288824681542,-2.706014155810408},
{-3.2981927001801523,-3.619811973265314,-3.5937270161812194,-3.4912649250400136,-3.389579716280423,-3.293517615140445,-3.219648052505363,-3.169801793024817,-3.1195164539531106,-3.0738321663739043,-3.0294958184604184,-2.9879623277374776,-2.9492319955970743,-2.9133291778489365,-2.8800881429051515,-2.8490812563395593,-2.820014398872445,-2.792656980913307,-2.7668747438365244,-2.7387593029634445,-2.713411786760844},
{-3.3063247117479477,-3.6294271615552134,-3.603453521769552,-3.5007650459738215,-3.398825621097785,-3.302507120795781,-3.228441847844806,-3.1784625974469236,-3.1280547278074664,-3.0822481854556827,-3.0377874843397876,-2.996136671412387,-2.9572982167373993,-2.921299663175887,-2.8879697448865045,-2.8568776696702116,-2.827729869481118,-2.800295593602641,-2.7744416138593806,-2.7462505949442857,-2.72082982500433},
{-3.3144813731851173,-3.6390706041165686,-3.613208277954982,-3.5102925572027743,-3.408097895942774,-3.311522071071522,-3.2372606540338893,-3.187147766828275,-3.1366172363996156,-3.090687761672598,-3.0461023745228886,-3.004333828786912,-2.9653869370959,-2.92929247936263,-2.895873357425444,-2.8646958197059575,-2.835466791773797,-2.807955421762017,-2.7820295244673616,-2.753762759384699,-2.728268338556518},
{-3.3226627570657,-3.648742383098579,-3.6229913607239723,-3.5198475321303704,-3.417396610475407,-3.320562535434874,-3.246104536941857,-3.195857366139535,-3.145204045853461,-3.0991509582745493,-3.0544405475448,-3.012553860862681,-2.9734982176378253,-2.9373076867632335,-2.9037990392316715,-2.8725357645816985,-2.843225223426998,-2.815636521241686,-2.7896385352651123,-2.7612958526224247,-2.735727391882392},
{-3.3308689366913313,-3.6584425793480477,-3.632802846859704,-3.529430043516186,-3.426721833388001,-3.329628578008851,-3.254973563387466,-3.204591457211791,-3.1538152195862494,-3.107637837747461,-3.0628020665535587,-3.0207968279792112,-2.9816321176549536,-2.9453453443202307,-2.911746847406903,-2.8803975612463546,-2.851005219388753,-2.823338952199265,-2.797268701819121,-2.7688499322903226,-2.743207052597427},
{-3.3390999852599634,-3.668171275370696,-3.642642812923441,-3.5390401645636302,-3.436073635781213,-3.3387202668745886,-3.263867803303583,-3.213350104753772,-3.162450823430845,-3.1161484639596893,-3.071186990411661,-3.0290627920694533,-2.989788701153884,-2.9534055132899084,-2.9197168424725533,-2.8882812669617124,-2.858806835283758,-2.8310627719329204,-2.8049200843888684,-2.776425056894368,-2.750707386621798},
{-3.347355976131439,-3.67792855289008,-3.652511336906173,-3.5486779691018455,-3.445452085492434,-3.3478376688508433,-3.2727873212788836,-3.2221333724046417,-3.1711109218085767,-3.124682900321204,-3.079595380622777,-3.0373518135093036,-2.997968028881587,-2.9614882523819688,-2.927709082272486,-2.8961869392514927,-2.866630128439283,-2.8388080373842968,-2.812592742156994,-2.784021284423943,-2.7582284606905887},
{-3.3556369830421318,-3.687714494542888,-3.6624084946524817,-3.5583435294356605,-3.454857253109367,-3.356980849926913,-3.2817321898219234,-3.2309413247348857,-3.179795579111669,-3.133241209689004,-3.088027298603265,-3.045663954282645,-3.006170163003844,-2.969593622518005,-2.9357236249779817,-2.9041146360250423,-2.8744751557169366,-2.8465748078306206,-2.8202867332438473,-2.79163867153693,-2.765770337959111},
{-3.363943080368699,-3.6975291832313815,-3.6723343655139615,-3.5680369215806422,-3.46428920897597,-3.3661498799228866,-3.2907024747000833,-3.239774025456427,-3.188504859681416,-3.1418234577722615,-3.096482805820415,-3.053999276329705,-3.0143951675781864,-2.977721683884738,-2.9437605305720353,-2.912064415650093,-2.8823419742984697,-2.8543631413922412,-2.828002115347772,-2.79927727697941,-2.773333085133345},
{-3.3722743410762632,-3.707372701352142,-3.6822890258081316,-3.5777582175069256,-3.4737480236981355,-3.3753448242132436,-3.299698245140462,-3.2486315404130437,-3.1972388289213995,-3.1504297078136005,-3.104961963777896,-3.0623578417653334,-3.0226431047412916,-2.9858724977020756,-2.951819858615636,-2.920036335613986,-2.8902306416857755,-2.8621730959930574,-2.835738949783263,-2.8069371605160995,-2.7809167667801376},
{-3.380630840361846,-3.7172451316764636,-3.6922725534932397,-3.587507491643919,-3.4832337682382786,-3.3845657516903884,-3.3087195712141693,-3.2575139334367123,-3.2059975497977575,-3.159060025078361,-3.113464834073966,-3.0707397126680007,-3.0309140382596524,-2.99404612298531,-2.959901669601095,-2.9280304546118714,-2.8981412152570556,-2.8700047346937936,-2.8434972943141474,-2.814618380689353,-2.7885214477719273},
{-3.3890126523801882,-3.7271465577869094,-3.702285026352911,-3.597284817296895,-3.492746510892175,-3.3938127299697953,-3.317766520267469,-3.266421269829152,-3.21478108647716,-3.167714474067907,-3.121991479922144,-3.0791449507159996,-3.0392080325545976,-3.002242621645564,-2.9680060218670405,-2.9360468304366805,-2.906073751866643,-2.877858112893591,-2.8512772100730217,-2.8223209938805667,-2.796147192006174},
{-3.3974198519608763,-3.7370770637389796,-3.7123265232112317,-3.6070902701758314,-3.5022863248741487,-3.4030858264595736,-3.326839163844852,-3.2753536152813467,-3.2235895040575997,-3.17639311941457,-3.130541962796997,-3.0875736195011996,-3.0475251521420432,-3.0104620543133933,-2.976132976153167,-2.9440855217471835,-2.914028310944559,-2.885733292889199,-2.8590787537032156,-2.83004506083671,-2.803794063234818},
{-3.4058525138862024,-3.747036731954722,-3.722397122066468,-3.6169239237424335,-3.5118532808264717,-3.4123851106523944,-3.3359375695654307,-3.284311036019062,-3.2324228667494026,-3.1850960275842226,-3.139116344973445,-3.096025781269418,-3.0558654610504163,-3.0187044820850133,-2.9842825935556903,-2.952146586518211,-2.922004949185066,-2.8936303333903197,-2.8669019888620824,-2.8377906397217885,-2.8114621236818493},
{-3.4143107134405,-3.7570256478938973,-3.7324969021137804,-3.6267858528735815,-3.521447449376865,-3.421710650327441,-3.3450618086280883,-3.2932935969147366,-3.2412812386537553,-3.193823262794467,-3.1477146900142543,-3.104501498179161,-3.0642290257601417,-3.0269699660493643,-2.9924549341449165,-2.960230084871,-2.930003726753057,-2.9015492948965402,-2.874746972724097,-2.845557787681173,-2.819151437433902},
{-3.4227945257825922,-3.7670438941422617,-3.742625940929429,-3.636676131078275,-3.5310689023863233,-3.4310625134094153,-3.354211950707395,-3.302301364179584,-3.2501646836972213,-3.2025748923697392,-3.1563370609947015,-3.11300083452079,-3.0726159110708977,-3.0352585674918373,-3.0006500599047286,-2.9683360750277643,-2.9380247002700344,-2.9094902394062956,-2.882613766567374,-2.853346565818356,-2.826862065710884},
{-3.4313040269225894,-3.777091555570223,-3.7527843186726386,-3.6465948343175114,-3.5407177099841647,-3.4404407699948933,-3.363388064710307,-3.311334405101661,-3.2590732679745997,-3.2113509804403293,-3.164983520109672,-3.1215238515869714,-3.0810261832521064,-3.043570347574132,-3.008868030628946,-2.9764646141047706,-2.9460679302283097,-2.9174532262040884,-2.890502430345805,-2.861157030063623,-2.8345940724175307},
{-3.4398392921866616,-3.7871687173319515,-3.7629721139783214,-3.6565420369588537,-3.5503939459267713,-3.4498454871027207,-3.3725902239530114,-3.320392785506556,-3.268007053840847,-3.220151595356583,-3.1736541320278775,-3.130070614271972,-3.0894599084422225,-3.0519053686439293,-3.01710890832328,-2.9846157639403827,-2.954133475483104,-2.9254383183579193,-2.898413026196067,-2.8689892398251686,-2.8423475187737495},
{-3.448400398092417,-3.7972754636066384,-3.773189406205347,-3.666517814519466,-3.5600976807072584,-3.4592767362191807,-3.381818495276093,-3.32947657242039,-3.2769661080819787,-3.2289768020418705,-3.1823489592570695,-3.138641183330037,-3.0979171527869767,-3.0602636912226444,-3.0253727544040885,-2.992789581170655,-2.962221395711822,-2.9334455751013593,-2.906345613155281,-2.8768432524520904,-2.850122465417371},
{-3.4569874196095043,-3.8074118795448157,-3.7834362746616534,-3.676522241185012,-3.5698289870379085,-3.468734585410857,-3.391072952079412,-3.338585833829711,-3.2859504955777084,-3.2378266678133514,-3.1910680655855685,-3.147235624943278,-3.1063979849786847,-3.0686453783055185,-3.0336596313863993,-3.0009861276266747,-2.9703317511448404,-2.9414750591749907,-2.914300253833062,-2.884719128582219,-2.857918975147186},
{-3.4656004347871203,-3.8175780501733243,-3.7937127998811775,-3.686555393564049,-3.5795879377183155,-3.478219103824813,-3.4003536637101206,-3.347720636826125,-3.294960280160012,-3.246701259893598,-3.1998115167443757,-3.155854001051921,-3.1149024697369896,-3.0770504918764345,-3.0419696016106172,-3.0092054616470705,-2.9784646003172384,-2.9495268339305767,-2.9222770075211884,-2.8926169249243685,-2.8657371086228522},
{-3.474239519035109,-3.8277740606790758,-3.8040190610954596,-3.6966173460859864,-3.589374603365286,-3.487730362023285,-3.409660701523535,-3.356881047518982,-3.30399552849849,-3.25560064396268,-3.2085793744627154,-3.1644963753424236,-3.1234306774058496,-3.0854790914963814,-3.050302726740483,-3.0174476420506835,-2.986620005001896,-2.957600958805415,-2.9302759368365514,-2.9005366988203605,-2.873576925776433},
{-3.482904749453155,-3.8379999971984944,-3.81435513825636,-3.706708174380765,-3.5991890585355577,-3.49726842826567,-3.4189941374279442,-3.366067135524645,-3.3130563051599893,-3.264524888996675,-3.217371704544348,-3.173162812170631,-3.1319826735852985,-3.093931242787221,-3.058659068425186,-3.0257127306977054,-2.9947980254364666,-2.9656974983226974,-2.93829710240243,-2.908478510726127,-2.881438490774599},
{-3.491596203715744,-3.8482559453623253,-3.82472111286188,-3.7168279548313876,-3.609031374431652,-3.5068333743438416,-3.4283540407486726,-3.375278968247585,-3.3221426767631783,-3.273474061228626,-3.2261885708285263,-3.1818533753757947,-3.1405585286556743,-3.102407006881549,-3.0670386914425762,-3.0340007870618138,-3.00299872343021,-2.973816514459031,-2.9463405673450325,-2.916442416913924,-2.8893218623124994},
{-3.5003139584914607,-3.858541990892263,-3.835117064194492,-3.7269767622747167,-3.618901625290164,-3.516425270026957,-3.4377404846600257,-3.384516614751192,-3.331254709373752,-3.2824482287687715,-3.235030038515106,-3.190568129575695,-3.1491583091265056,-3.1109064471456804,-3.0754416581694386,-3.042311870798585,-3.011222159737372,-2.981958069540269,-2.9544063926587114,-2.924428475824243,-2.8972271022357745},
{-3.5090580910618883,-3.868858220313996,-3.845543074188754,-3.737154674647172,-3.6287998852749297,-3.526044184996863,-3.4471535397678963,-3.393780143254844,-3.3403924701487995,-3.291447460076597,-3.2438961732405005,-3.1993071386095835,-3.157782085312647,-3.119429625759949,-3.083868030771555,-3.050646043404413,-3.0194683948284364,-2.9901222300322843,-2.9624946411931887,-2.9324367468361743,-2.9051542729430366},
{-3.5178286799455236,-3.879204720036796,-3.855999223429535,-3.7473617653595284,-3.638726224155107,-3.535690190805326,-3.4565932762197917,-3.403069622501789,-3.3495560243172804,-3.3004718224110547,-3.2527870379417436,-3.2080704674808658,-3.1664299247131567,-3.1279766057414236,-3.0923178730736254,-3.0590033647822565,-3.0277374911674997,-2.9983090546447784,-2.970605374437582,-2.94046728694957,-2.913103433966171},
{-3.5266258024021226,-3.8895815766009036,-3.866485592956451,-3.7575981130139553,-3.6486807185247017,-3.54536335652665,-3.4660597682304797,-3.4123851214608294,-3.35874543931277,-3.3095213835986215,-3.2617026995285414,-3.2168581804435235,-3.1751018969880533,-3.1365474497360992,-3.1007912477798527,-3.0673838953807717,-3.036029511713423,-3.0065186094871024,-2.9787386551251984,-2.9485201549177873,-2.921074647041678},
{-3.535449536564556,-3.8999888775688305,-3.87700226441666,-3.767863793182187,-3.6586634418672475,-3.5550637559317693,-3.4755530849361094,-3.4217267105923383,-3.367960783180024,-3.3185962129427935,-3.27064322221122,-3.2256703439634293,-3.1837980719355983,-3.1451422230893513,-3.1092882210796233,-3.0757876971983933,-3.044344518588332,-3.0147509580419865,-2.9868945455164067,-2.956595410112641,-2.9290679755213205},
{-3.544299961107754,-3.9104267086477194,-3.8875493193918373,-3.7781588819671015,-3.668674467229721,-3.5647914581059013,-3.4850732998384046,-3.4310944579701754,-3.377202122093877,-3.3276963782627718,-3.2796086721864413,-3.2345070223527728,-3.192518517818826,-3.1537609875231283,-3.1178088531523827,-3.0842148313313373,-3.052682574823848,-3.0230061631955323,-2.9950731095304945,-2.9646931073220912,-2.9370834784349427},
{-3.553177154437435,-3.920895158295025,-3.898126839529141,-3.7884834581709583,-3.678713870318461,-3.57454653448076,-3.494620484416373,-3.440488435298903,-3.38646952581621,-3.336821949305886,-3.2885991160947015,-3.243368282550364,-3.201263306538749,-3.1624038080117316,-3.1263532097436837,-3.09266535921779,-3.0610437419163645,-3.0312842914063367,-3.0032744096242823,-2.972813308777404,-2.9451212206331547},
{-3.5620811955814133,-3.9313943137822207,-3.908734907709004,-3.7988375962886494,-3.688781723019929,-3.5843290586017247,-3.504194709654257,-3.4499087109506945,-3.3957630614968366,-3.3459729937821976,-3.297614617891668,-3.252254189203086,-3.2100325056744623,-3.171070747601334,-3.134921355267579,-3.1011393426379072,-3.0694280852912925,-3.039585405771504,-3.0114985091786366,-2.9809560709181824,-2.953181262491853},
{-3.5710121628908382,-3.941924262428074,-3.9193736049637664,-3.8092213737800193,-3.6988781023101183,-3.594139099426684,-3.513796048682707,-3.459355356542801,-3.4050827979663154,-3.355149581191654,-3.3066552449017763,-3.261164809395268,-3.218826186384831,-3.179761871797382,-3.1435133528357255,-3.1096368421713123,-3.0778356673472445,-3.0479095705450163,-3.019745471625356,-2.9891214534654864,-2.961263666024024},
{-3.579970136692282,-3.9524850929046806,-3.930043015159754,-3.8196348694182234,-3.7090030815779755,-3.6039767315014615,-3.523424571598298,-3.4688284422445577,-3.4144288035167847,-3.364351780845027,-3.3157210625431617,-3.270100210349483,-3.2276444194067153,-3.1884772435150808,-3.1521292678880855,-3.118157922908722,-3.0862665521053714,-3.056256851130456,-3.028015360039717,-2.997309513259097,-2.969368493933871},
{-3.588955195245944,-3.963076892792742,-3.9407432203406643,-3.8300781596226443,-3.7191567363988725,-3.613842025784834,-3.5330803516990272,-3.478328040371707,-3.4238011483030277,-3.3735796619585017,-3.3248121376382187,-3.2790604579495266,-3.236487274429237,-3.19721692946041,-3.1607691629906185,-3.1267026452478603,-3.0947208053185022,-3.0646273114543874,-3.03630823855201,-3.00552030937979,-2.9774958086709375},
{-3.5979674188347417,-3.973699750724336,-3.9514743041290785,-3.840551321853127,-3.7293391425228037,-3.6237350554583827,-3.542763461577124,-3.487854220875306,-3.4331999010173604,-3.3828332951452467,-3.3339285364345415,-3.2880456196144223,-3.2453548224584665,-3.2059809927013703,-3.1694331059406977,-3.135271072096657,-3.1031984893925255,-3.0730210201145383,-3.0446241704848944,-3.0137539042843855,-2.9856456738634733},
{-3.607006887003081,-3.9843537550659676,-3.962236348874285,-3.8510544337768806,-3.739550373298698,-3.63365589226305,-3.552473971285508,-3.497407055758231,-3.442625130970555,-3.3921127488065395,-3.343070326416637,-3.29705576266133,-3.254247133532772,-3.214769498576061,-3.178121157841815,-3.143863265438995,-3.111699670283997,-3.081438037879707,-3.0529632207835675,-3.02201035318285,-2.9938181523175444},
{-3.6160736805177294,-3.9950389950099634,-3.97302943860268,-3.8615875737159513,-3.7497905068339605,-3.643604608849273,-3.562211955526436,-3.5069866167759756,-3.4520769092123373,-3.4014180934318574,-3.35223757395579,-3.3060909548730706,-3.2631642777996603,-3.2235825134412153,-3.1868333860766143,-3.152479288415634,-3.1202244139203685,-3.0898784328674083,-3.0613254537820467,-3.03028971672029,-3.0020133057332714},
{-3.6251678793196334,-4.005755559155659,-3.983853657009604,-3.872150819897797,-3.760059617601655,-3.6535812793663354,-3.571977483574301,-3.5165929757858976,-3.461555304900685,-3.4107493995907134,-3.361430345234112,-3.315151263246662,-3.2721063276185305,-3.232420102067408,-3.195569854360656,-3.1611192057971493,-3.1287727842354798,-3.0983422706340207,-3.069710932140879,-3.0385920558401267,-3.010231200038106},
{-3.6342895638299524,-4.016503537095559,-3.9947090877649316,-3.8827442495203286,-3.7703577819120255,-3.663585976937611,-3.5817706298912526,-3.526226206267893,-3.471060390038474,-3.4201067371614045,-3.3706487083109096,-3.324236756445316,-3.2810733533478924,-3.241282330614922,-3.2043306286941515,-3.1697830799384974,-3.137344849121291,-3.106829615899187,-3.0781197210308164,-3.0469174272730015,-3.0184718974269344},
{-3.643438814957335,-4.027283017971058,-4.005595815699053,-3.893367941658653,-3.7806850763045077,-3.6736187743008486,-3.5915914649667684,-3.5358863794681383,-3.4805922337109223,-3.4294901771791046,-3.3798927314783214,-3.333347503117693,-3.2900654256882262,-3.250169265003933,-3.213115774495236,-3.1784709746571025,-3.1459406731810304,-3.115340537697193,-3.086551885440713,-3.0552658952510683,-3.0267354627503664},
{-3.6526157137013797,-4.038094092047686,-4.016513924376341,-3.904021974893112,-3.791041576754651,-3.6836797465366544,-3.601440060934692,-3.5455735702853417,-3.490150907979114,-3.4388997902569827,-3.389162480722007,-3.3424835714467918,-3.2990826161185396,-3.2590809707908193,-3.2219253565272084,-3.1871829536758014,-3.1545603235426825,-3.1238750991760753,-3.095007489697309,-3.0636375170433894,-3.03502196057525},
{-3.661820341130806,-4.048936848939775,-4.027463499249279,-3.9147064277021855,-3.8014273602057074,-3.6937689663027413,-3.611316491769685,-3.5552878513917676,-3.4997364838709473,-3.4483356481869123,-3.39845802544005,-3.3516450303141028,-3.3081249951719656,-3.2680175155983306,-3.230759440062684,-3.1959190816196497,-3.163203866890399,-3.1324333693628432,-3.103486599349708,-3.072032354430121,-3.0433314543261076},
{-3.671052779071033,-4.059811378570885,-4.038444624573458,-3.9254213795538817,-3.8118425036118424,-3.7038865084177814,-3.6212208268625545,-3.565029295939894,-3.5093490323924925,-3.4577978208326385,-3.4077794330660254,-3.36083194702951,-3.317192634145613,-3.276978965353919,-3.239618091698503,-3.204679422924528,-3.1718713703085086,-3.1410154135810444,-3.1119892789356527,-3.08045046801999,-3.051664009959495},
{-3.6803131084343477,-4.070717771854106,-4.049457385448477,-3.936166909039457,-3.8222870851604966,-3.7140324475622037,-3.6311531409883173,-3.5747979788429802,-3.518988626135979,-3.467286381390295,-3.417126772365009,-3.370044393770513,-3.326285605748126,-3.285965387811302,-3.248501377274806,-3.213464042652049,-3.1805629034060985,-3.1496212988568004,-3.1205155935604125,-3.088891920320748,-3.0600196934319683},
{-3.689601411973854,-4.081656118934916,-4.060501867825224,-3.9469430960052705,-3.8327611813620024,-3.724206858263642,-3.6411135039743385,-3.5845939741193433,-3.5286553354235366,-3.4768014002620475,-3.4265001132080215,-3.379282437694201,-3.3354039793121046,-3.294976849319937,-3.2574093623334193,-3.2222730061548646,-3.1892785303643905,-3.1582510946682305,-3.129065607827215,-3.097356773178035,-3.068398568968405},
{-3.698917771303968,-4.092626510995615,-4.071578156748728,-3.957750018525985,-3.843264868886763,-3.7344098148387275,-3.6511019891986507,-3.5944173560783383,-3.538349233858753,-3.4863429504766827,-3.4358995224174578,-3.388546147667512,-3.3445478280846146,-3.30401341583638,-3.266342113012797,-3.231106376806565,-3.198018321112613,-3.1669048650583136,-3.13763938970078,-3.1058450871205423,-3.0768007022343227},
{-3.7082622689194977,-4.103629038938379,-4.082686338253552,-3.9685877575539052,-3.8537982273737725,-3.744641393182974,-3.661118669449934,-3.6042681998878834,-3.548070392032969,-3.4959111036368995,-3.4453250709120766,-3.397835594652861,-3.3537172219221247,-3.3130751576973125,-3.275299695233116,-3.2399642208838486,-3.2067823441466317,-3.1755826793742017,-3.1462370025983546,-3.114356927231711,-3.0852261617037584},
{-3.7176349874789594,-4.114663794422086,-4.09382649932013,-3.979456392939028,-3.864361333886336,-3.754901667853119,-3.671163614402758,-3.6141465817272547,-3.557818883404252,-3.505505932836968,-3.4547768271513632,-3.4071508486304083,-3.3629122343845665,-3.322162142205343,-3.2842821765807457,-3.24884660589305,-3.215570669461158,-3.184284606060828,-3.15485851419362,-3.1228923554808716,-3.093675013151369},
{-3.7270360095935757,-4.1257308687709155,-4.104998724520556,-3.990356003803754,-3.8749542674340773,-3.7651907157778624,-3.6812368983446504,-3.6240525755274575,-3.5675947787894984,-3.5151275108582922,-3.4642548616975546,-3.4164919792310684,-3.372132935335685,-3.331274436779495,-3.293289623405144,-3.257753597390547,-3.224383363245579,-3.193010711169336,-3.163503988987941,-3.131451434986957,-3.102147323945246},
{-3.736465417998261,-4.136830353669211,-4.116203101748397,-4.001286671787966,-3.885577106892015,-3.775508611994155,-3.691338592856482,-3.633986259039375,-3.577398153283866,-3.5247759112899075,-3.473759245920519,-3.425859056529589,-3.3813793978915783,-3.3404121102939826,-3.302322101990285,-3.2666852614929667,-3.23322049628041,-3.2017610663097003,-3.1721734951643157,-3.1400342321794597,-3.1106431614243775},
{-3.74592329654115,-4.147962341306993,-4.127439717725792,-4.01224847488993,-3.8962299288541544,-3.7858554330086918,-3.7014687685805256,-3.643947707329062,-3.587229077180382,-3.534451206032827,-3.483290048163326,-3.4352521520122536,-3.390651691777748,-3.3495752303570043,-3.3113796783218277,-3.2756416654156055,-3.242082136501267,-3.2105357372493017,-3.1808670971222455,-3.148640810046345,-3.1191625939754886},
{-3.755409728433733,-4.159126924230804,-4.138708659476833,-4.023241496535775,-3.9069128154369537,-3.796231254011218,-3.7116275004009367,-3.6539369962411,-3.5970876239734935,-3.544153469854791,-3.4928473409672733,-3.4446713345096214,-3.399949891201686,-3.358763866533991,-3.3204624201753177,-3.2846228755734046,-3.250968356638623,-3.219334791858273,-3.18958486354677,-3.1572712341076112,-3.1277056899343734},
{-3.7649247971239674,-4.170324195132707,-4.150010014102008,-4.03426581554595,-3.9176258440493257,-3.8066361535165925,-3.7218148577740067,-3.6639542039411026,-3.606973866299086,-3.5538827773780213,-3.5024311940796906,-3.4541166760755004,-3.4092740675623645,-3.3679780891470728,-3.3295703964904533,-3.2936289598510484,-3.259879225261102,-3.228158301586518,-3.1983268608455546,-3.165925571382104,-3.1362725183862494},
{-3.774468586900184,-4.181554246108135,-4.161343869101984,-4.045321513003728,-3.928369095068774,-3.817070207456709,-3.73203091443429,-3.6739994068193482,-3.6168878768003196,-3.5636392017040635,-3.512041679030517,-3.463588248123415,-3.418624291472952,-3.377217965971795,-3.3387036702988553,-3.3026599866716424,-3.268814811715856,-3.2370063328489778,-3.2070931554117124,-3.174603884392127,-3.144863146037096},
{-3.7840411818287976,-4.1928171709041635,-4.1727103128541785,-4.056408671527606,-3.9391426487854915,-3.827533493087685,-3.742275742806669,-3.6840726825757883,-3.62682972841867,-3.5734228187648114,-3.5216788681063917,-3.4730861227435526,-3.4280006370318006,-3.3864835682543344,-3.347862312424695,-3.311716023243207,-3.27777518700168,-3.245878957975947,-3.2158838158356957,-3.183306245082349,-3.1534776448024786},
{-3.7936426662236045,-4.204113062598481,-4.1841094329392945,-4.067527370909374,-3.9499465834669536,-3.8380260876583634,-3.7525494131696178,-3.6941741073460435,-3.6367994956453913,-3.583233702403959,-3.5313428332301555,-3.4826103694795165,-3.437403175790678,-3.3957749660039553,-3.35704638925381,-3.3207971395240747,-3.2867604228958953,-3.2547762439062353,-3.2246989095147,-3.1920327182670007,-3.162116083803994},
{-3.803273124485713,-4.215442014687142,-4.195541317840252,-4.07867769301447,-3.9607809811423067,-3.8485480683666538,-3.7628520012221998,-3.704303760910989,-3.646797249020892,-3.5930719288808177,-3.541033646077267,-3.4921610606397735,-3.446831979767012,-3.405092228393187,-3.366255968059704,-3.3299034019946703,-3.295770589240419,-3.2636982598196482,-3.23353850433341,-3.200783371241414,-3.1707785312028136},
{-3.8129326421330916,-4.2268041214192635,-4.2070060563855805,-4.089859721119865,-3.971645921788877,-3.8590995146951173,-3.7731835758313537,-3.7144617196026957,-3.6568230635966756,-3.602937572468363,-3.550751378359564,-3.5017382698570145,-3.456287122280628,-3.414435426799173,-3.3754911191063,-3.339034882825217,-3.304805757565191,-3.272645077391644,-3.2424026691296604,-3.2095582737165387,-3.179465057932248},
{-3.822621303566848,-4.238199476789305,-4.218503737483843,-4.1010735356285295,-3.9825414868391817,-3.8696805034123827,-3.7835442111245357,-3.7246480635440093,-3.6668770116957603,-3.6128307105900603,-3.560496102880279,-3.511342069366947,-3.46576867573458,-3.4238046330356156,-3.384751907622558,-3.348191649361979,-3.3138660004769918,-3.2816167642376968,-3.251291472413868,-3.2183574909504387,-3.1881757334340364},
{-3.832339194166707,-4.249628174682584,-4.230034449810773,-4.112319219355413,-3.9934677571000066,-3.88029111380456,-3.7939339810909587,-3.734862869598146,-3.6769591670890804,-3.62275141968712,-3.5702678938396275,-3.5209725305830943,-3.4752767135432805,-3.433199916864396,-3.3940384050947614,-3.357373772691062,-3.3229513877013233,-3.2906133934666286,-3.260204981859715,-3.227181099180598,-3.196910627950274},
{-3.8420863999162975,-4.261090310577856,-4.24159828289703,-4.123596853882191,-4.004424812810612,-3.890931424270093,-3.80435295625648,-3.745106217174907,-3.6870696031837724,-3.632699774832872,-3.5800668232914177,-3.530629727538326,-3.4848113076513982,-3.4426213512560935,-3.4033506768973893,-3.3665813222542056,-3.332061992448871,-3.299635033872619,-3.269143270175846,-3.2360291627046536,-3.205669811621192},
{-3.851863006126223,-4.272585978913412,-4.253195326873538,-4.134906523278914,-4.015412737178849,-3.901601513491187,-3.8148012116289465,-3.755378185567679,-3.6972083932269015,-3.6426758541201707,-3.5898929640534334,-3.5403137326356955,-3.4943725318662473,-3.452069007085811,-3.4126887932943646,-3.3758143677550834,-3.341197886307782,-3.3086817548028193,-3.2781064027221873,-3.244901753743761,-3.214453352811688},
{-3.8616690986746107,-4.284115274920623,-4.26482567081257,-4.146248309847579,-4.026431611411681,-3.912301461052266,-3.8252788178724586,-3.7656788536842214,-3.707375609767041,-3.652679734674166,-3.5997463880339637,-3.550024620068143,-3.5039604594858247,-3.461542956007179,-3.422052822978003,-3.3850729820187553,-3.350359142081288,-3.3177536274888553,-3.287094450512086,-3.2537989430857124,-3.223261324237683},
{-3.8715047643127036,-4.295678294260142,-4.2764894053580065,-4.157622295893816,-4.037481518113054,-3.923031347170763,-3.8357858503513853,-3.7760083007160574,-3.7175713285105303,-3.66271149336535,-3.6096271720089135,-3.559762464275991,-3.513575163327914,-3.4710432713036425,-3.431442835222697,-3.3943572343996493,-3.3595458320414764,-3.326850722260133,-3.296107484762615,-3.2627208014164353,-3.2320937934491667},
{-3.8813700889331813,-4.307275132283394,-4.288186620899069,-4.16902856562956,-4.048562539108389,-3.9337912511909963,-3.846322382429207,-3.78636660684424,-3.727795621918631,-3.6727712098072516,-3.619535388352233,-3.569527338935586,-3.523216717490868,-3.480570026251371,-3.440858900132298,-3.4036671988578746,-3.36875802805298,-3.3359731102755177,-3.3051455749373417,-3.2716674055409385,-3.2409508334385464},
{-3.8912651597456716,-4.318905885633285,-4.299917407719477,-4.180467201702413,-4.059674757045286,-3.944581253315846,-3.8568884864944266,-3.796753851333051,-3.738048564417113,-3.682858960790327,-3.629471109750739,-3.5793193195495405,-3.5328851963640773,-3.49012329269317,-3.450301085758838,-3.413002945781045,-3.377995804483362,-3.3451208625047,-3.314208793497528,-3.280638823096524,-3.249832513211004},
{-3.9011900634868653,-4.3305706506289425,-4.3116818572925695,-4.191938289612153,-4.07081825586647,-3.955401434097439,-3.8674842391119455,-3.807170114450855,-3.748330229645944,-3.692974825462443,-3.6394344113068655,-3.5891384819042287,-3.542580672976328,-3.4997031441162108,-3.459769462911936,-3.4223645466408925,-3.387259233786608,-3.35429404937895,-3.3232972094556317,-3.289635128916416,-3.258738901677134},
{-3.911144887584669,-4.342269523229334,-4.323480060062138,-4.203441911649861,-4.081993117455568,-3.9662518736586208,-3.8781097119717742,-3.8176154763204977,-3.7586406910340884,-3.7031188816326903,-3.6494253676573862,-3.598984899246716,-3.55230322155694,-3.509309654153185,-3.469264102219313,-3.4317520752956625,-3.3965483897482045,-3.363492745134863,-3.3324108953238465,-3.298656397193554,-3.2676700714655453},
{-3.9211297184047,-4.354002601121465,-4.335312108323706,-4.214978151911055,-4.093199426723004,-3.9771326535919798,-3.888764981638815,-3.828090017857903,-3.7689800248481333,-3.713291211068281,-3.659444053308107,-3.608858650739421,-3.562052916327957,-3.5189428957455675,-3.4787850732682273,-3.4411656062002294,-3.4058633470267523,-3.372717016231036,-3.34154992258118,-3.307702701262315,-3.2766260920616332},
{-3.9311446446699847,-4.365769980693585,-4.3471780931868125,-4.22654709584458,-4.1044372667965945,-3.988043855140859,-3.89945012213866,-3.838593819149537,-3.7793483033019584,-3.7234918905523955,-3.669490543376014,-3.6187598113538115,-3.571829830550996,-3.528602943595615,-3.48833244627167,-3.4506052112265024,-3.415204177326814,-3.381966940527491,-3.350714363892621,-3.3167741161669255,-3.285607031881227},
{-3.9411897537756886,-4.377571760294813,-4.359078106364905,-4.238148827418627,-4.115706720484013,-3.9989855602179887,-3.9101652085082605,-3.8491269609876326,-3.7897456032587797,-3.7337210007826798,-3.6795649112245883,-3.6286884577712044,-3.5816340405872324,-3.5382898697280325,-3.4979062917045667,-3.4600709624864976,-3.424570955830859,-3.391242584264546,-3.3599042909190757,-3.3258707161803613,-3.294612962330575},
{-3.9512651341428864,-4.389408037022804,-4.371012240808341,-4.2497834315217915,-4.127007873968978,-4.009957850204955,-3.920910318825918,-3.8596895241644233,-3.800171996874269,-3.7439786208196892,-3.689667234371882,-3.63864466855739,-3.5914656201857724,-3.5480037508532405,-3.5075066824283567,-3.4695629367633956,-3.4339637578377733,-3.400544021897076,-3.3691197765801917,-3.334992576215882,-3.30364395257493},
{-3.9613708736214903,-4.401278909343091,-4.382980588303326,-4.261450993923063,-4.138340810866794,-4.020960806949006,-3.931685524985369,-3.8702815916767577,-3.8106275612371974,-3.754264832001354,-3.6997975861886516,-3.648628521608771,-3.6013246458605863,-3.557744659454329,-3.517133688663307,-3.47908120827924,-3.443382657118491,-3.409871326504799,-3.378360895032529,-3.3441397727292497,-3.3127000723106903},
{-3.9715070614147407,-4.413184475459275,-4.394983241611044,-4.273151599110861,-4.149705616146093,-4.03199451425462,-3.9424909074878087,-3.880903242235945,-3.8211123712171684,-3.7645797144723474,-3.7099560452843434,-3.658640095331066,-3.6112111889160587,-3.567512671907025,-3.5267873813500046,-3.488625851459801,-3.452827729364799,-3.4192245678495965,-3.387627717551368,-3.3533123798915767,-3.321781390273827},
{-3.981673785503517,-4.425124834004237,-4.407020294387621,-4.284885333938291,-4.161102376012423,-4.043059053437901,-3.953326542265131,-3.891554559842916,-3.8316265024259337,-3.7749233480353723,-3.7201426861283835,-3.66867946821003,-3.6211253283690894,-3.5773078617130523,-3.536467833611823,-3.4981969419823145,-3.4622990473508253,-3.4286038226055098,-3.396920321712969,-3.3625104753737105,-3.3308879758842522},
{-3.9918711356913263,-4.43710008389462,-4.419091839034081,-4.296652281824208,-4.172531173135212,-4.0541545094238245,-3.9641925054675085,-3.902235624867899,-3.8421700293110916,-3.785295813533594,-3.730357584434387,-3.678746721074276,-3.6310671368264593,-3.5871303037638427,-3.546175115654478,-3.507794555363944,-3.4717966882817564,-3.4380091609127703,-3.4062387776357355,-3.3717341338051483,-3.3400198974995874},
{-4.00209920090856,-4.449110324505455,-4.431197969151981,-4.308452531106013,-4.183992095771828,-4.0652809630701086,-3.975088877021335,-3.9129465195001103,-3.8527430282338173,-3.795697192203079,-3.740600819372048,-3.68884193192207,-3.6410366912168683,-3.5969800719831255,-3.5559092999028508,-3.517418765797629,-3.4813207268016413,-3.44744065519626,-3.4155831613752525,-3.380983432791254,-3.3491772234119708},
{-4.012358070533082,-4.461155655753828,-4.443338779368787,-4.320286168062012,-4.195485229181941,-4.076438500916993,-3.9860157321891165,-3.9236873278350686,-3.8633455761519144,-3.806127566334908,-3.750872465214343,-3.6989651836192934,-3.6510340674285544,-3.606857245620631,-3.5656704628345324,-3.5270696537627373,-3.490871240159322,-3.4568983817080152,-3.424953549299971,-3.390258448504028,-3.358360023761634},
{-4.022647834710369,-4.473236176469072,-4.455514362489339,-4.332153277100588,-4.207010659549269,-4.087627205772151,-3.9969731529490673,-3.934458130141138,-3.8739777483642683,-3.8165870147931855,-3.761172602236911,-3.709116557096422,-3.661059340745851,-3.6167618952094926,-3.5754586707407725,-3.5367472917641862,-3.5004483023658395,-3.4663824112794828,-3.4343500136601506,-3.39955925510003,-3.3675683640831267},
{-4.03296858327667,-4.485351988147158,-4.467724813763198,-4.344053947577777,-4.218568473050254,-4.09884716187662,-4.007961218434502,-3.945259010666632,-3.884639622090617,-3.827075620800315,-3.7715013062406797,-3.7192961332548293,-3.6711125881411135,-3.6266940994755714,-3.585274002303777,-3.5464517582804547,-3.510051989054773,-3.475892820926674,-3.443772633523622,-3.408885931581608,-3.376802315884561},
{-4.043320406330167,-4.497503190148564,-4.479970227275771,-4.355988265066117,-4.2301587563197245,-4.110098453711544,-4.01898000647634,-3.9560900518044946,-3.89533127409959,-3.837593464551901,-3.7818586559442338,-3.7295039935197565,-3.6811938852406456,-3.63665393285919,-3.5951165277365362,-3.5561831326558604,-3.5196823786609457,-3.48542968230322,-3.453221482617664,-3.418238555350399,-3.3860619479892193},
{-4.0537033944856375,-4.509689883503597,-4.492250697094278,-4.367956316185882,-4.24178159677831,-4.12138116609276,-4.030029600224225,-3.966951337213686,-3.90605278097064,-3.8481406288265134,-3.7922447299424675,-3.739740222139517,-3.6913033082382753,-3.646641471917974,-3.6049863222724525,-3.5659414898618707,-3.5293395470216637,-3.4949930702132406,-3.4626966377691133,-3.4276172013996984,-3.395347325800685},
{-4.064117638685275,-4.521912169959251,-4.504566319996229,-4.379958190875186,-4.25343708179571,-4.1326953854368185,-4.0411100775090745,-3.9778429507059627,-3.91680422132049,-3.8587171947801835,-3.802659606706584,-3.750004900706699,-3.701440935539722,-3.6566567924819537,-3.6148834599152906,-3.5757269093810464,-3.5390235704471706,-3.5045830606177333,-3.472198175782978,-3.4370219444463146,-3.4046585220785346},
{-4.074563229161868,-4.534170150127466,-4.516917190045206,-4.3919939747065655,-4.2651252989744535,-4.144041196756007,-4.052221522062609,-3.9887649763186346,-3.9275856718522846,-3.869323244514817,-3.8131033649187884,-3.760298114400939,-3.7116068433606415,-3.666699970548507,-3.6248080141231185,-3.5855394692043774,-3.548734526455519,-3.5141997281170916,-3.4817261741991388,-3.446452861899161,-3.4139956049257307},
{-4.085040258029039,-4.546463925944408,-4.529303403185622,-4.404063756701362,-4.276846337066672,-4.155418686103076,-4.063364015928528,-3.999717498132668,-3.938397211721167,-3.8799588606561883,-3.8235760853713145,-3.770619946299121,-3.7218011083095917,-3.676771081831248,-3.6347600607623463,-3.595379247875826,-3.5584724917280255,-3.523843148977903,-3.491280710331921,-3.4559100314218085,-3.4233586438786006},
{-4.095548815686925,-4.5587935991279664,-4.541725054568815,-4.416167624462105,-4.288600281302934,-4.166827939297946,-4.074537640372,-4.010700599515985,-3.9492389187144,-3.8906241246513673,-3.8340778464480536,-3.7809704807732487,-3.732023808734084,-3.6868702041829238,-3.644739673953154,-3.605246325234475,-3.5682375433680136,-3.5335133974731434,-3.5008618619467597,-3.465393526661501,-3.4327477112819906},
{-4.106088995049504,-4.571159272480145,-4.554182241328817,-4.428305667199311,-4.300387222923746,-4.178269042626198,-4.085742480805493,-4.0217143669651705,-3.9601108705755905,-3.9013191188132623,-3.8446087293268647,-3.7913498034176882,-3.7422750220284797,-3.6969974139719852,-3.6547469289871515,-3.615140777998022,-3.578029759679339,-3.543210551099037,-3.5104697079368634,-3.474903424466902,-3.4421628763739136},
{-4.116660887018952,-4.5835610483336495,-4.566675059380941,-4.4404779738906655,-4.3122072500991635,-4.189742083974124,-4.096978617133573,-4.032758884663053,-3.971013147762278,-3.912043926298793,-3.8551688133302378,-3.8017579990337254,-3.75255482695502,-3.7071527881198563,-3.664781903127732,-3.625062688588514,-3.587849217619805,-3.5529346865805564,-3.5201043247361667,-3.4844398007553536,-3.451604213230894},
{-4.127264584454679,-4.595999029810628,-4.579203604698705,-4.452684632618912,-4.324060451843252,-4.201247150725976,-4.108246137322567,-4.043834238604177,-3.981945829029428,-3.9227986286132364,-3.86575818030542,-3.8121951533539686,-3.762863300893514,-3.7173364032496465,-3.674844670582388,-3.635012134698627,-3.5976959945910494,-3.5626858778414316,-3.529765793005936,-3.494002728490159,-3.461071792546136},
{-4.1379001792374766,-4.60847331979312,-4.591767975347466,-4.464925733554992,-4.335946917402907,-4.2127843296620995,-4.119545123983698,-4.05494051407004,-3.992908993852325,-3.933583308797097,-3.8763769122306257,-3.8226613531296607,-3.773200522722618,-3.727548336799373,-3.6849353096986306,-3.6449891979209497,-3.6075701695808675,-3.5724642065979424,-3.5394541929126717,-3.5035922870665672,-3.4705656899386668},
{-4.148567764153995,-4.620984022065386,-4.6043682678027835,-4.477201365763904,-4.347866734904528,-4.22435370907624,-4.130875662260223,-4.066077796866011,-4.003902722390194,-3.9443980490395916,-3.887025088930386,-3.833156683984271,-3.7835665709280875,-3.7377886654794565,-3.695053895273304,-3.6549939579199417,-3.6174718198235496,-3.5822697465555393,-3.549169601959875,-3.5132085501536494,-3.4800859796014265},
{-4.159267432427441,-4.633531240688171,-4.617004579864442,-4.489511619794939,-4.3598199961707,-4.235955376396305,-4.1422378403221956,-4.077246174150787,-4.014927094685845,-3.9552429334216868,-3.8977027935834485,-3.8436812333820853,-3.79396152577101,-3.7480574683868326,-3.7052005052901222,-3.665026494541962,-3.6274010248162085,-3.5921025773714064,-3.5589121016382705,-3.5228515929120476,-3.489632737771899},
{-4.169999277084571,-4.646115079151059,-4.629677008306317,-4.501856584523921,-4.37180678974255,-4.247589420694567,-4.153631739987759,-4.088445731875254,-4.0259821915242355,-3.9661180434632115,-3.908410107360396,-3.854235087230336,-3.8043854647985427,-3.7583548217298812,-3.7153752187732607,-3.675086888251826,-3.6373578621423803,-3.60196277758223,-3.5686817706446163,-3.5325214926342596,-3.4992060397853493},
{-4.180763391079381,-4.658735642959073,-4.642385651848599,-4.514236351344152,-4.383827208075672,-4.259255931858206,-4.165057452773908,-4.099676558456849,-4.037068095291033,-3.9770234633397195,-3.9191471142403316,-3.8648183344630525,-3.814838469515962,-3.768680803499592,-3.725578112229414,-3.6851752233487787,-3.6473424117502873,-3.6118504245605436,-3.5784786909862305,-3.5422183229238726,-3.5088059673071257},
{-4.191559868708282,-4.6713930357545905,-4.655130608465697,-4.52665101018647,-4.395881339842163,-4.270954997169611,-4.176515062259568,-4.110938740137499,-4.048184885366936,-3.987959275538742,-3.9299138975693495,-3.87543106279918,-3.825320617223042,-3.7790354915487114,-3.7358092644717544,-3.6952915769870742,-3.657354749375372,-3.6217655995860696,-3.5883029432297917,-3.551942162499472,-3.5184325959562557},
{-4.202388803136273,-4.684087363239087,-4.6679119762229675,-4.539100652233174,-4.40796927606425,-4.282686707221728,-4.18800465798995,-4.122232364912634,-4.05933264514897,-3.9989255631662672,-3.9407105381178553,-3.8860733587134746,-3.8358319891485735,-3.7894189639846445,-3.7460687533093733,-3.7054360324764275,-3.6673949564938084,-3.6317083777539665,-3.5981546083494322,-3.5616930845862953,-3.528086007798265},
{-4.213250289296411,-4.696818730739324,-4.680729854288074,-4.551585368491942,-4.420091109532223,-4.294451151705289,-4.199526328869979,-4.133557521010516,-4.0705114552765735,-4.009922409735736,-3.9515371209490695,-3.8967453121294966,-3.8463726668269373,-3.7998313001953647,-3.7563566590470145,-3.7156086722025066,-3.6774631128719193,-3.6416788428250584,-3.6080337672901805,-3.571471167022537,-3.5377662824103027},
{-4.22414442068839,-4.709587243825808,-4.693584341752285,-4.5641052510545705,-4.432246930227848,-4.30624842022371,-4.211080160377605,-4.144914297787182,-4.08172139985254,-4.020949899815605,-3.962393728819734,-3.9074470111518167,-3.8569427301627,-3.8102725771314,-3.7666730621931492,-3.7258095778379356,-3.687559296435211,-3.6516770747693954,-3.617940500662371,-3.5812764866423095,-3.547473500810156},
{-4.235071292714565,-4.722393008905783,-4.706475537223014,-4.576660390215693,-4.444436830468476,-4.318078604526818,-4.222666245092114,-4.1563027835290995,-4.092962560593151,-4.032008115689678,-3.9732804470841074,-3.9181785452965414,-3.8675422593805706,-3.8207428738096496,-3.77701804053504,-3.7360388323650113,-3.6976835871173535,-3.6617031503046746,-3.6278748912154697,-3.591109118424356,-3.5572077447286574},
{-4.246030999795039,-4.73523613197176,-4.719403540890198,-4.589250879638712,-4.4566609033354325,-4.329941794065235,-4.234284671023488,-4.16772306815983,-4.104235022430657,-4.043097142326587,-3.9841973595539457,-3.9289400025372743,-3.8781713358985144,-3.831242269727227,-3.7873916776225087,-3.7462965171944234,-3.707836064611911,-3.67175715661142,-3.6378370230158907,-3.6009691408398794,-3.5669690969225485},
{-4.257023636975646,-4.748116719827522,-4.732368451768707,-4.6018768097346765,-4.468919238548551,-4.341838081221795,-4.245935527687834,-4.179175240416953,-4.115538867292344,-4.0542170629050815,-3.995144548920507,-3.9397314721063594,-3.8888300412509125,-3.8417708428460173,-3.7977940507917083,-3.7565827157595777,-3.7180168088088976,-3.681839169963496,-3.647826974040072,-3.610856631225033,-3.5767576366706635},
{-4.268049300160783,-4.761034879535146,-4.745370370328601,-4.614538274916413,-4.48121193121915,-4.353767555207014,-4.257618907220603,-4.190659390325891,-4.126874180190498,-4.065367961578886,-4.006122100683569,-3.9505530433743843,-3.8995184570594574,-3.8523286724011996,-3.8082252416934352,-3.766897510497074,-3.728225900544203,-3.6919492725501186,-3.6578448283471516,-3.620771665191569,-3.5865734468243318},
{-4.279108084076142,-4.773990718167624,-4.758409397247306,-4.6272353661988745,-4.493539073053398,-4.3657303106665495,-4.2693348974280525,-4.202175610764243,-4.138241045322502,-4.076549923578568,-4.017130099789938,-3.961404807654617,-3.9102366663355497,-3.862915839512425,-3.818685335376358,-3.7772409858516767,-3.7384634203335736,-3.7020875484668068,-3.6678906685410766,-3.6307143265221384,-3.596416609696462},
{-4.290200085561082,-4.786984342841606,-4.771485631841642,-4.639968177434639,-4.505900758289499,-4.377726437895035,-4.281083592301002,-4.213723990171275,-4.1496395477443,-4.087763032766816,-4.028168630364235,-3.9722868531316635,-3.9209847501770128,-3.8735324200533796,-3.8291744084417587,-3.7876132238379796,-3.748729447746882,-3.7122540780328563,-3.6779645763890585,-3.640684685771703,-3.6062872011680156},
{-4.301325400138012,-4.800015862532746,-4.784599176236952,-4.652736802308937,-4.518297078931937,-4.389756029893761,-4.292865083152719,-4.225304620544193,-4.161069772941119,-4.099007374315988,-4.039237778393726,-3.983199270609475,-3.931762791093206,-3.8841784965770785,-3.8396925487031695,-3.79801430941734,-3.7590240631761844,-3.7224489470245317,-3.6880666356591973,-3.650682827188575,-3.6161853085213806},
{-4.312484124169714,-4.813085385125305,-4.797750131023349,-4.665541333597503,-4.530728129488125,-4.4018191802097135,-4.304679460365151,-4.2369175943531445,-4.172531808180793,-4.110283033274754,-4.050337629625574,-3.9941421495896066,-3.9425708744238364,-3.8948541497811675,-3.850239836370747,-3.808444328518817,-3.769347350935277,-3.7326722368088667,-3.6981969283806393,-3.6607088298915187,-3.6261110134219052},
{-4.323676354444615,-4.826193018900085,-4.810938596820051,-4.678381865516712,-4.543194003832468,-4.41391597972688,-4.316526818918646,-4.248563003362506,-4.184025736612966,-4.121590093986015,-4.061468268759199,-4.0051155815745005,-3.9534090800589183,-3.9055594576566364,-3.8608163543394767,-3.8189033624512376,-3.7796993895608466,-3.742924031059374,-3.708355537557509,-3.670762772911985,-3.636064393504057},
{-4.334902188158594,-4.839338872316148,-4.824164676676446,-4.691258492799534,-4.555694795955787,-4.4260465234547155,-4.328407248518488,-4.26024094006425,-4.195551647033426,-4.132928643251944,-4.072629781752767,-4.016119655505463,-3.964277494371345,-3.916294502087112,-3.8714221887858002,-3.8293914965033764,-3.7900802622025367,-3.7532044156760094,-3.7185425470161135,-3.680844738635642,-3.6460455372944125},
{-4.346161721630779,-4.852523055458732,-4.837428471058956,-4.7041713089784025,-4.568230601696996,-4.4382109057260095,-4.340320844385133,-4.271951498143608,-4.207109625385783,-4.144298765546409,-4.083822254135157,-4.027154463110492,-3.9751762002706528,-3.9270593635519617,-3.8820574207638856,-3.8399088172300253,-3.8004900508385617,-3.7635134721640497,-3.7287580369156785,-3.690954802768829,-3.656054524544743},
{-4.357455052813748,-4.865745677485393,-4.850730082995142,-4.717120409295603,-4.580801514959603,-4.450409219200083,-4.352267699810909,-4.283694770289003,-4.218699760145682,-4.155700548901223,-4.095045775233302,-4.038220094225835,-3.9861052824926446,-3.9378541219848557,-3.892722138640238,-3.8504554081955575,-3.8109288368432317,-3.7738512892465224,-3.7390020952298073,-3.701093054303783,-3.666091447470535},
{-4.368782279092557,-4.879006847928395,-4.8640696144721005,-4.730105888462276,-4.593407629901776,-4.462641559090116,-4.364247908335528,-4.295470850389393,-4.230322139490454,-4.1671340774337295,-4.106300430074043,-4.049316640441248,-3.997064826085989,-3.9486788609356154,-3.903416424327588,-3.861031356427702,-3.821396706669475,-3.7842179513536394,-3.749274804365996,-3.7112595696453354,-3.676156388777599},
{-4.3801434984998195,-4.89230667708398,-4.877447168415529,-4.743127842382819,-4.606049043315579,-4.474908019677969,-4.376261565470486,-4.307279834458313,-4.24197684986575,-4.178599437895173,-4.1175863048410974,-4.060444191512943,-4.00805491504434,-3.9595336586862686,-3.9141403648245614,-3.871636745381693,-3.831893738672079,-3.794613541729632,-3.759576244832715,-3.721454432052269,-3.686249437821971},
{-4.391538809068152,-4.9056452755176,-4.890862847365497,-4.75618636674335,-4.618725851054478,-4.487208695863956,-4.388308762339875,-4.319121814922255,-4.253663981384307,-4.190096718855784,-4.128903487660864,-4.071602838383114,-4.019075634925684,-3.9704185987866367,-3.9248940463221516,-3.8822716617723927,-3.842420017506811,-3.805038150305336,-3.7699065015403903,-3.731677724434121,-3.6963706837632344},
{-4.402968309306743,-4.919022753503668,-4.904316755040782,-4.7692815562477335,-4.631438148622692,-4.499543684447417,-4.400389597649337,-4.330996887903893,-4.265383622689114,-4.201626005407888,-4.140252067329129,-4.082792673063523,-4.030127072306641,-3.981333762247232,-3.9356775527776335,-3.8929361902482924,-3.8529756277639535,-3.8154918596264906,-3.7802656574058346,-3.74192952629528,-3.706520218780497},
{-4.414432097615645,-4.932439222884568,-4.917808994810912,-4.782413508488389,-4.644186031800928,-4.5119130797320395,-4.412504165869905,-4.342905149751459,-4.277135863725562,-4.213187386267236,-4.151632132015948,-4.094013786256255,-4.041209312439605,-3.992279231810244,-3.9464909756425186,-3.9036304191613453,-3.863560652913293,-3.8259747604679433,-3.7906537995077088,-3.7522099262059783,-3.7166981356203905},
{-4.425930272991536,-4.9458947942948726,-4.931339670001762,-4.795582318714878,-4.656969597388525,-4.524316978466231,-4.424652560286631,-4.3548466946595,-4.288920794264413,-4.224780948701664,-4.163043769047363,-4.105266267804836,-4.052322442432342,-4.00325509061804,-3.957334397091472,-3.9143544348262367,-3.8741751788766123,-3.8364869378856383,-3.8010710084199673,-3.7625190028120414,-3.7269045236316742},
{-4.437462934805808,-4.959389579704293,-4.944908884986944,-4.808788085123524,-4.669788942919695,-4.536755476605322,-4.436834880580136,-4.36682162143552,-4.300738504345645,-4.2364067809976405,-4.174487067684822,-4.116550212260336,-4.063466550171142,-4.0142614195356146,-3.968207907550095,-3.925108321964217,-3.8848192888399353,-3.8470284789145808,-3.8115173697151477,-3.7728568403763347,-3.737139478289464},
{-4.449030182364368,-4.972923691228061,-4.958516744307417,-4.822030903909763,-4.682644164393423,-4.549228670439334,-4.44905121964257,-4.378830024790659,-4.312589085660875,-4.2480649706412805,-4.185962118070165,-4.1278657062212005,-4.074641720500949,-4.025298304775788,-3.9791115958141745,-3.9358921680177446,-3.895493069991062,-3.857599475493771,-3.8219929676124593,-3.7832235250170925,-3.747403090877924},
{-4.460632114751206,-4.9864972416144155,-4.972163352118514,-4.83531087305164,-4.695535361221118,-4.561736659190501,-4.461301677300071,-4.3908720038234605,-4.324472629006777,-4.259755609498825,-4.197469009362976,-4.139212846734154,-4.0858480441820575,-4.036365826577821,-3.990045549297065,-3.9467060643437435,-3.906196606316371,-3.8682000126718776,-3.8324978858727263,-3.7936191373082693,-3.7576954572214163},
{-4.472268832621921,-5.000110342338303,-4.985848813230405,-4.848628089654085,-4.708462628841517,-4.574279537824623,-4.473586347339733,-4.402947654903983,-4.33638922512182,-4.271478782648046,-4.20900783372781,-4.1505917208342,-4.097085604291351,-4.0474640676766285,-4.001009855986922,-3.95755009016284,-3.9169299834466074,-3.8788301799359033,-3.8430322081476334,-3.804043761883804,-3.768016664267634},
{-4.483940435926343,-5.013763107581326,-4.999573233239062,-4.861982651702419,-4.72142606601119,-4.586857406080526,-4.485905329856905,-4.415057075115328,-4.348338967429299,-4.283234580463613,-4.220578678025049,-4.162002421981015,-4.108354491865612,-4.058593114517862,-4.01200460542168,-3.968424338643672,-3.9276932895882055,-3.8894900655577658,-3.8535960221342975,-3.8144974832903245,-3.7783668086485704},
{-4.4956470250144775,-5.027455649633339,-5.013336716932827,-4.875374658222427,-4.734425771952374,-4.599470360612031,-4.498258721650927,-4.427200364225428,-4.3603219470824115,-4.295023093101918,-4.232181634717563,-4.173445042113599,-4.119654796370014,-4.069753050469444,-4.023029886790027,-3.979328896239167,-3.9384866095060715,-3.9001797585369786,-3.8641894094762392,-3.8249803867656738,-3.788745976948121},
{-4.507388700563752,-5.041188082501321,-5.027139370176883,-4.888804208007059,-4.747461843951896,-4.612118499877397,-4.510646619855834,-4.43937762164569,-4.3723382573371055,-4.306844410479243,-4.2438167944710585,-4.184919672268734,-4.130986605618091,-4.080943960427248,-4.0340857918636175,-3.990263849213079,-3.9493100343534024,-3.9108993497502524,-3.8748124567064224,-3.835492557955149,-3.7991542633535573},
{-4.519165563859133,-5.054960520206805,-5.040981298821862,-4.902271398590528,-4.76053438217059,-4.624801924437634,-4.523069123912137,-4.451588943535171,-4.384387990874529,-4.318698622271768,-4.255484249923029,-4.196426406415412,-4.14235000579356,-4.092165927671886,-4.045172408710641,-4.001229286339367,-3.9601636466177297,-3.921648926108901,-3.885465245868545,-3.8460340761957923,-3.80959175460157},
{-4.530977715447079,-5.068773076909565,-5.054862609584234,-4.915776331930829,-4.773643485539651,-4.637520732205303,-4.535526333143935,-4.463834433568991,-4.396471242420375,-4.330585819436237,-4.267184091819217,-4.207965336056077,-4.153745091338351,-4.103419038263382,-4.05628983254428,-4.012225297170517,-3.9710475383981247,-3.9324285840266384,-3.89614787055325,-3.8566050304216333,-3.8200585389713524},
{-4.542825257482036,-5.082625866860326,-5.068783408511081,-4.9293191049437155,-4.786789252095332,-4.650275022962887,-4.548018345412856,-4.476114187455096,-4.408588104306546,-4.342506092405529,-4.278916412135004,-4.219536551820056,-4.165171947694034,-4.114703378028935,-4.067438148602378,-4.023251968465047,-3.981961798177508,-3.943238405852753,-3.9068604075800977,-3.867205502872821,-3.830554709325952},
{-4.554708291478164,-5.096519005252048,-5.082743802398909,-4.942899819587183,-4.799971782857028,-4.663064895539719,-4.56054526042135,-4.488428306947753,-4.420738670312858,-4.354459531590692,-4.290681301521545,-4.231140146948746,-4.176630664303957,-4.126019030067255,-4.0786174480454065,-4.034309386712266,-3.9929065111791715,-3.954078482958721,-3.9176029458176345,-3.8778355759131955,-3.8410803444348858},
{-4.566626919011469,-5.110452607088519,-5.096743898560817,-4.956518575454538,-4.81319117849489,-4.67589045096247,-4.573107177195197,-4.500776892644353,-4.432923037893488,-4.366446229440044,-4.302478854660876,-4.242776216073253,-4.188121334758762,-4.1373660841200035,-4.089827828785928,-4.045397643531032,-4.003881769385771,-3.9649489096773323,-3.9283755698415916,-3.8884953414963093,-3.8516355368410586},
{-4.578581242993096,-5.124426787777338,-5.11078380348772,-4.970175472575647,-4.826447539031506,-4.68875179119641,-4.585704196964798,-4.513160043890821,-4.445141298310773,-4.378466275986284,-4.314309163433791,-4.254444849997526,-4.1996440447474015,-4.148744624289975,-4.1010693749267375,-4.05651682640746,-4.0148876627281425,-3.9758497724760673,-3.939178368236753,-3.89918487380055,-3.862220370239811},
{-4.590571365453798,-5.13844166319177,-5.124863625977014,-4.983870612872124,-4.839740964205703,-4.70164901487442,-4.598336420465785,-4.525577862295904,-4.457393548560503,-4.390519764565397,-4.3261723210525815,-4.266146142515936,-4.211198887285718,-4.160154737532139,-4.112342183878354,-4.067667022289243,-4.025924279514584,-3.986781164268905,-3.95001142664114,-3.9099042628513416,-3.8728349318771507},
{-4.602597389202856,-5.152497349441546,-5.138983472948894,-4.99760409747978,-4.853071556055511,-4.714582225555205,-4.611003947589779,-4.538030449752114,-4.469679884787183,-4.402606785544776,-4.338068421886419,-4.277880185552931,-4.222785954625579,-4.171596512802353,-4.123646347252361,-4.078848325414583,-4.036991714507167,-3.9977431738952873,-3.9608748305836343,-3.9206535916091525,-3.8834793104688288},
{-4.614659417300572,-5.166593962756451,-5.153143452604127,-5.011376027847291,-4.866439415309287,-4.727551522511931,-4.623706879894598,-4.550517906718596,-4.482000401025289,-4.414727431918436,-4.349997557001188,-4.289647074627283,-4.234405333416362,-4.183070036684512,-4.13498195570719,-4.0900608207521145,-4.048090055432112,-4.008735894938582,-3.9717686666117515,-3.9314329442640883,-3.8941535863268655},
{-4.626757553702191,-5.180731620203005,-5.167343674496806,-5.02518650690763,-4.879844644339755,-4.740557009310578,-4.636445318581536,-4.563040334993275,-4.49435519506369,-4.426881798099203,-4.361959822046629,-4.301446900914016,-4.246057117867167,-4.1945753958571,-4.146349105249101,-4.101304599069408,-4.059219394388492,-4.019759416609304,-3.98269302323024,-3.9422424081494682,-3.904857850364351},
{-4.638891901042371,-5.194910438702209,-5.1815842462092405,-5.039035635913024,-4.893287345803401,-4.753598788498493,-4.64921936544124,-4.575597836752422,-4.506744362450263,-4.439069973399455,-4.3739553090927075,-4.313279759859142,-4.257741396300844,-4.206112680381921,-4.157747885925346,-4.11257975071203,-4.0703798253816785,-4.030813829151157,-3.9936479835159844,-3.95308205717447,-3.9155921817582566},
{-4.651062563658343,-5.20913053509139,-5.195865276728,-5.052923518240277,-4.906767620217579,-4.7666769620918785,-4.66202912251174,-4.588190514099551,-4.519167999576894,-4.451292052937788,-4.385984115884639,-4.325145743561734,-4.269458262817352,-4.217681978967448,-4.169178394309711,-4.12388636553078,-4.081571438291576,-4.041899224765075,-4.00463363918243,-3.9639519853299134,-3.9263566698282375},
{-4.663269645214314,-5.2233920274084085,-5.210186875665386,-5.066850255905592,-4.9202855705225375,-4.77979163305281,-4.6748746930170455,-4.600818468803482,-4.531626205323846,-4.463548129788251,-4.398046334026731,-4.337044948457333,-4.281207808809995,-4.229283381624555,-4.1806407242766,-4.135224534271401,-4.092794332224003,-4.053015698715171,-4.0156500772354775,-3.9748522727459203,-3.9371513967125793},
{-4.675513250862423,-5.237695033967611,-5.224549152211694,-5.080815954337595,-4.933841300771746,-4.792942905754899,-4.687756179366261,-4.61348180341156,-4.544119074867922,-4.475838296537404,-4.410142060078215,-4.348977465298958,-4.292990123627533,-4.240916975439177,-4.192134967277525,-4.146594345533231,-4.104048589404556,-4.064163334405748,-4.02669738138502,-3.985783001357049,-3.9479764500865713},
{-4.687793484470603,-5.252039672537649,-5.2389522167504765,-5.094820716403774,-4.947434913709003,-4.806130882418074,-4.700673683670175,-4.626180621904496,-4.556646706550964,-4.488162647423451,-4.422271386581997,-4.3609433906312915,-4.304805301624583,-4.252582854838693,-4.203661220279173,-4.157995893307088,-4.115334314701613,-4.075342229181842,-4.037775643155328,-3.9967442563574878,-3.9588319116446655},
{-4.700110451143701,-5.266426061392849,-5.25339617922873,-5.10886464631767,-4.9610665135332965,-4.819355669606011,-4.713627310862648,-4.638915025701863,-4.5692091986275045,-4.500521277775988,-4.4344344100609305,-4.372942817564763,-4.316653434012551,-4.264281105068221,-4.215219577439711,-4.169429264169594,-4.126651595906878,-4.086552471853793,-4.048884944917518,-4.007736116131127,-3.9697178628412075},
{-4.712464256277599,-5.280854319960781,-5.267881149855384,-5.122947848023614,-4.974736202828353,-4.832617370157095,-4.726617163942137,-4.6516851184060215,-4.581806649628561,-4.512914278951939,-4.446631227889156,-4.3849758430878865,-4.328534612817748,-4.276011820125859,-4.226810132684477,-4.180894556215208,-4.13800053291925,-4.097794158937177,-4.060025381353626,-4.018758671452815,-3.9806343889940763},
{-4.724855005122663,-5.295324567639909,-5.282407239174063,-5.13707042777969,-4.988444086404343,-4.845916089958337,-4.739643345725199,-4.66449100158934,-4.594439156840963,-4.5253417467320105,-4.45886193348997,-4.3970425577426795,-4.340448929215199,-4.287775091288495,-4.2384329831184,-4.192391854187008,-4.149381215116591,-4.109067374054575,-4.071197032164491,-4.029812000444508,-3.9915815721906256},
{-4.737282803253038,-5.309836923370312,-5.296974558783404,-5.151232490396069,-5.002190269595303,-4.8592519336234545,-4.7527059637141065,-4.677332781793666,-4.607106819588807,-4.537803775448992,-4.471126623509917,-4.409143060343922,-4.352396479880554,-4.299571011637454,-4.250088223074272,-4.2039212534582475,-4.160793745089904,-4.120372214194504,-4.0823999931890285,-4.04089618971193,-4.002559490909334},
{-4.749747757297882,-5.324391507310793,-5.311583218921442,-5.165434141177684,-5.015974856243702,-4.872625005111331,-4.765805118782737,-4.69021055950725,-4.61980973691243,-4.5503004609490745,-4.4834253957960755,-4.421277444394946,-4.3643773522853735,-4.311399672093103,-4.261775949889852,-4.215482846222585,-4.1722382122898125,-4.131708771776175,-4.093634347082116,-4.052011318111909,-4.013568227033829},
{-4.762249972325662,-5.3389884396056,-5.326233331950789,-5.179675487204804,-5.029797953902744,-4.886035414907383,-4.778940918855369,-4.70312444044248,-4.632548009161837,-4.562831898751028,-4.495758345430659,-4.433445806440432,-4.376391644480464,-4.323261166617158,-4.273496258880186,-4.227076726885571,-4.183714717255498,-4.143077138913213,-4.104900185186125,-4.063157475065964,-4.02460785923904},
{-4.7747895558677556,-5.353627840195259,-5.34092500909901,-5.193956634029746,-5.043659665083396,-4.899483265435265,-4.79211346644297,-4.7160745255459915,-4.645321732823504,-4.575398181375931,-4.508125571141136,-4.445648241104209,-4.388439445399854,-4.335155585598841,-4.285249246044259,-4.238702984875999,-4.1952233560950845,-4.154477406817023,-4.116197595249105,-4.07433473807032,-4.035678470732819},
{-4.787366614011262,-5.368309829984355,-5.35565836270689,-5.2082776885072235,-5.057560097280657,-4.9129686648302595,-4.805322869193333,-4.729060919649783,-4.658131011376099,-4.5879994060233,-4.520527169712295,-4.457884843708598,-4.400520851377223,-4.347083026936161,-4.297035006689839,-4.250361717335181,-4.206764226524683,-4.165909666175139,-4.127526665972255,-4.085543195462378,-4.046780135024164},
{-4.799981254305749,-5.383034529942961,-5.370433504438552,-5.222638759252732,-5.071499356985441,-4.926491720165359,-4.818569231989386,-4.7420837265235605,-4.67097594273946,-4.6006356696088915,-4.5329632387074525,-4.470155710798281,-4.412635952961864,-4.35904358150583,-4.308853641072346,-4.262053016696882,-4.218337427075312,-4.177374013095687,-4.1388874857802875,-4.096782927525055,-4.057912932890758},
{-4.812633583955176,-5.3978020615941205,-5.38525054857746,-5.23703995244432,-5.085477550463111,-4.940052536709118,-4.831852661074663,-4.75514304972603,-4.683856628536887,-4.6133070665746345,-4.545433876526658,-4.48246093941998,-4.4247848471059115,-4.371037347606034,-4.32070524484152,-4.27377697625343,-4.229943054429896,-4.188870537858747,-4.150280146255682,-4.108054024305602,-4.069076943662367},
{-4.825323710378143,-5.412612546424498,-5.400109606045589,-5.2514813769375905,-5.099494785317802,-4.953651226700458,-4.845173261586751,-4.768238992350234,-4.696773167721403,-4.626013695058646,-4.557939181904658,-4.494800625565404,-4.436967625209945,-4.383064417117566,-4.332589915866265,-4.285533693240723,-4.241581205184048,-4.200399335859402,-4.1617047304680455,-4.119356565846829,-4.080272242499632},
{-4.838051741513482,-5.427466106746579,-5.4150107915265835,-5.265963141711836,-5.113551168426056,-4.96728789491317,-4.858531142337597,-4.781371659519209,-4.709725664280995,-4.638755649750237,-4.5704792569740675,-4.507174865619163,-4.449184380864608,-4.395124888600549,-4.344507752517529,-4.297323262340797,-4.253251981615904,-4.211960499029374,-4.17316133602435,-4.130690641737601,-4.091498906956986},
{-4.850817785714753,-5.44236286382511,-5.429954217783234,-5.28048535400012,-5.127646806147823,-4.9809626506394125,-4.871926406143757,-4.794541151924932,-4.722714216775785,-4.651533027870755,-4.583054196278681,-4.519583757370128,-4.461435209203046,-4.407218856293184,-4.356458850234048,-4.3091457754562725,-4.264955479222408,-4.223554119897017,-4.184650044349837,-4.142056331853382,-4.1027570166261285},
{-4.863621951139066,-5.457302940827503,-5.4449399983132025,-5.2950481249863515,-5.141781808481028,-4.9946756015051506,-4.885359164378315,-4.807747574101086,-4.735738927571219,-4.664345927871182,-4.595664103428135,-4.532027395885962,-4.473720203211997,-4.419346416994813,-4.368443308143469,-4.3210013316056575,-4.276691800034314,-4.235180292002042,-4.196170951858221,-4.153453724517021,-4.114046645190683},
{-4.876464346340072,-5.472286460790201,-5.459968248353107,-5.309651563358784,-5.15595628459414,-5.008426859159954,-4.898829520614527,-4.820991031410813,-4.748799900546146,-4.677194446856447,-4.608309079332685,-4.544505882608064,-4.486039459443418,-4.431507670182327,-4.380461228152853,-4.3328900288033765,-4.288461041673145,-4.246839108520362,-4.207724145853717,-4.16488291179121,-4.125367875727534},
{-4.889345080413477,-5.487313545971119,-5.475039080352872,-5.324295779122622,-5.170170340978075,-5.022216531106096,-4.912337584391935,-4.834271624720714,-4.761897235563083,-4.690078682622698,-4.620989222603384,-4.557019312524062,-4.49839306902868,-4.443702711752849,-4.392512704573164,-4.344811960560037,-4.300263302931853,-4.258530665378203,-4.219309718391742,-4.176343977844226,-4.136720783812052},
{-4.902264262731478,-5.5023843203453,-5.4901526104149525,-5.338980884065677,-5.1844240872815135,-5.036044727057742,-4.925883462346974,-4.847589458047878,-4.775031036391738,-4.702998733642744,-4.633704637097253,-4.569567782760714,-4.510781128054077,-4.455931639568007,-4.404597838780319,-4.356767224562645,-4.312098684349621,-4.270255055489542,-4.230927755474113,-4.1878370066406205,-4.148105443404347},
{-4.915222002797236,-5.517498907975096,-5.505308952771884,-5.353706987771147,-5.198717633233173,-5.049911558744498,-4.939467263109691,-4.860944634245243,-4.788201406656299,-4.715954697414418,-4.646455426103785,-4.582151393209642,-4.523203732976981,-4.468194555083755,-4.416716727057064,-4.3687559218888055,-4.323967284581158,-4.282012373696489,-4.242578353114368,-4.199362094142998,-4.159521940629929},
{-4.928218410237605,-5.53265743162774,-5.520508222281933,-5.368474201648496,-5.213051088772772,-5.063817135014688,-4.953089094997267,-4.874337255925639,-4.801408449522569,-4.728946675393672,-4.659241691675561,-4.594770244162646,-4.535660977679072,-4.480491556445486,-4.428869471332291,-4.380778147104138,-4.335869207337964,-4.29380271192349,-4.2542616024948074,-4.210919328448654,-4.170970354163728},
{-4.941253595330636,-5.547860016864433,-5.535750535025727,-5.383282638751552,-5.227424565520778,-5.077761565735273,-4.96674906345288,-4.8877674273826415,-4.814652267188649,-4.7419747640014975,-4.67206353716756,-4.607424431167601,-4.548152956711419,-4.492822742126009,-4.441056171126547,-4.392834000696894,-4.347804550168803,-4.305626167995797,-4.265977593058778,-4.2225088027407764,-4.182450763306406},
{-4.954327668092446,-5.56310678783484,-5.551036006036156,-5.398132409485697,-5.2418381724346546,-5.091744965196995,-4.980447279500368,-4.901235248238663,-4.827932965170476,-4.755039064708399,-4.684921065469098,-4.6201140558114275,-4.560679765621899,-4.505188212686335,-4.453276921529323,-4.404923579357273,-4.359773410462367,-4.317482831473171,-4.277726418018574,-4.234130600460048,-4.193963243793405},
{-4.967440739590529,-5.578397869299806,-5.566364751881338,-5.413023629414965,-5.256292019636021,-5.105767442662909,-4.994183852810238,-4.914740825530316,-4.8412506499298615,-4.768139681822504,-4.6978143866872415,-4.632839217221772,-4.5732415014572325,-4.517588071059436,-4.465531829824613,-4.417046987953654,-4.371775893800077,-4.32937280312035,-4.289508170229965,-4.245784822982387,-4.2055078839475755},
{-4.980592920390336,-5.593733386202075,-5.581736888678279,-5.427956408064347,-5.270786220738955,-5.119829110692081,-5.007958890091686,-4.928284258588974,-4.854605423897738,-4.781276709480153,-4.71074360331113,-4.645600014584488,-4.585838258317381,-4.530022415994608,-4.477820990541659,-4.429204321582802,-4.383812098785711,-4.341296172133298,-4.301322942767001,-4.257471560296835,-4.2170847631423385},
{-4.993784321934072,-5.6091134642701945,-5.597152532507607,-5.442930861237983,-5.285320885282999,-5.133930079326092,-5.02177250085515,-4.941865650922409,-4.867997391935205,-4.794450251494709,-4.723708821053151,-4.65839654863521,-4.598470132150396,-4.542491350854107,-4.490144502968178,-4.441395682602888,-4.395882123812044,-4.353253036068054,-4.3131708278742735,-4.269190903338313,-4.228693961333192},
{-5.007015054943622,-5.624538229407335,-5.6126118002066505,-5.457947102266189,-5.299896127551619,-5.1480704631176195,-5.035624795345939,-4.955485103462706,-4.881426661078876,-4.8076604119632975,-4.736710149598366,-4.671228918974521,-4.611137222716934,-4.5549949795386055,-4.502502476025256,-4.453621175067383,-4.40798607677425,-4.365243491418369,-4.325051922824059,-4.280942956720537,-4.240335567796137},
{-5.020285232280003,-5.640007807072834,-5.628114808940154,-5.473005245177774,-5.314512058575929,-5.162250374596624,-5.0495158827034174,-4.969142721056414,-4.894893337121175,-4.820907290559262,-4.749747693014797,-4.684097227167513,-4.623839623447566,-4.567533400258981,-4.514894998181262,-4.465880893854774,-4.420124047348509,-4.37726763288083,-4.336966315902828,-4.292727802770969,-4.2520096581065445},
{-5.0335949650689145,-5.6555223240939085,-5.643661676294869,-5.488105405245733,-5.329168790856784,-5.176469925616402,-5.063445871921431,-4.9828386033841525,-4.9083975280227605,-4.834190990863135,-4.7628215643635485,-4.697001575201284,-4.636577431490878,-4.580106719884498,-4.5273221778916195,-4.478174950862012,-4.432296146384033,-4.389325555181131,-4.348914107205928,-4.30454554935568,-4.263716323286644},
{-5.046944366022217,-5.671081906853942,-5.659252519457368,-5.503247697168263,-5.343866437804536,-5.190729230998841,-5.077414873798261,-4.996572853568068,-4.921939337495132,-4.847511616528209,-4.775931868796761,-4.709942061155743,-4.649350744366529,-4.592715041602787,-4.539784113396308,-4.490503439548775,-4.44450247061468,-4.401417350527481,-4.360895388344943,-4.316396285954397,-4.275455642120505},
{-5.060333547855407,-5.686686682623986,-5.674887457527802,-5.518432237586239,-5.358605113971862,-5.205028402197058,-5.091423000128998,-5.010345574955863,-4.935518875317939,-4.860869269352406,-4.789078717025404,-4.722918790750555,-4.662159659746976,-4.60535846822313,-4.552280906216765,-4.502866469105356,-4.456743120397732,-4.413543117967492,-4.372910257516196,-4.328280114859808,-4.287227705717669},
{-5.07376262345133,-5.7023367780129774,-5.690566606011998,-5.533659141852695,-5.373384932863701,-5.219367553574557,-5.105470357601007,-5.024156867228157,-4.949136247545539,-4.8742640541895526,-4.802262221863202,-4.735931863462611,-4.675004273871309,-4.618037104264658,-4.564812656048161,-4.515264138863131,-4.469018196978141,-4.425702951251878,-4.384958807146177,-4.3401971268394846,-4.299032594215532},
{-5.08723170525991,-5.71803232095408,-5.706290086112858,-5.5489285267249215,-5.388206009331043,-5.233746801895904,-5.1195570607014815,-5.038006836635759,-4.962791565856605,-4.887696077057626,-4.815482493497257,-4.748981382370403,-4.6878846840627375,-4.630751056552981,-4.577379467169521,-4.527696557866875,-4.4813278048313805,-4.4378969490499,-4.397041136879125,-4.352147428537137,-4.310870397624967},
{-5.100740907488216,-5.733773439111246,-5.722058015257062,-5.564240508574585,-5.403068456987967,-5.248166259065329,-5.13368321757298,-5.051895582742873,-4.9764849337079795,-4.90116543903423,-4.828739641190623,-4.762067449672031,-4.70080099079496,-4.643500426966057,-4.5899814387230435,-4.540163825826312,-4.493672040596721,-4.450125204282813,-4.409157342000981,-4.364131114125485,-4.3227412052074214},
{-5.114290343517496,-5.749560260301223,-5.7378705123774125,-5.57959520498116,-5.417972390590876,-5.262626040581381,-5.147848940345284,-5.065823207318317,-4.990216462254466,-4.914672247265116,-4.8420337809293414,-4.775190167827532,-4.713753290605382,-4.656285321252653,-4.602618670433003,-4.552666052382847,-4.506051008764189,-4.462387810788641,-4.421307520089613,-4.37614828923688,-4.33464510061458},
{-5.127880127376557,-5.765392913192045,-5.7537276965304045,-5.594992734360858,-5.432917927275412,-5.277126262219099,-5.162054341475596,-5.079789815201366,-5.003986262330727,-4.928216610649542,-4.855365022471233,-4.788349642934918,-4.726741681872227,-4.669105847642641,-4.615291271416936,-4.565203339989239,-4.5184648109498085,-4.474684870765486,-4.433491770309047,-4.388199044849898,-4.346582174992363},
{-5.141510373581696,-5.781271526393539,-5.769629688184068,-5.610433215420926,-5.447905182787508,-5.291667037316074,-5.176299530859978,-5.0937955097761005,-5.017794442115701,-4.941798629683035,-4.868733481198433,-4.801545977352362,-4.73976626656804,-4.681962114853377,-4.627999336124049,-4.577775797602953,-4.530913547918317,-4.487016476785357,-4.4457101923107984,-4.4002834933344275,-4.358552520723606},
{-5.155181196914782,-5.797196228522807,-5.785576605805545,-5.625916764816793,-5.4629342729531345,-5.3062484841866535,-5.190584621457674,-5.1078403919163975,-5.03164111134538,-4.95541841317754,-4.882139272587665,-4.814779276166519,-4.752827138661814,-4.694854223431321,-4.640742973409942,-4.590383530841791,-4.543397319954238,-4.499382728594355,-4.4579628800056526,-4.412401728310215,-4.370556226458575},
{-5.168892711364606,-5.813167149222863,-5.8015685707723605,-5.641443504013296,-5.478005314747861,-5.320870718140213,-5.204909725478501,-5.121924566949019,-5.045526382004027,-4.969076069886796,-4.895582510063832,-4.828049642310361,-4.765924401785014,-4.7077822847277275,-4.653522280714242,-4.603026647637307,-4.5559162324498175,-4.511783716872742,-4.470249937723565,-4.424553853430552,-4.38259338127682},
{-5.182645032960863,-5.829184417401848,-5.817605702512083,-5.657013550924603,-5.493118424179556,-5.335533856014081,-5.21927495476848,-5.136048137232137,-5.0594503643369535,-4.982771703194885,-4.9090633078158135,-4.841357180594059,-4.779058152584184,-4.720746403807425,-4.666337365422805,-4.615705255608191,-4.56847038421256,-4.524219543513027,-4.482571462860506,-4.436739974844386,-4.394664081133669},
{-5.196438276518165,-5.845248163350334,-5.833688121936575,-5.672627026317059,-5.508273719671706,-5.350238011225883,-5.233680421806639,-5.150211207270331,-5.073413166166574,-4.996505421724578,-4.92258178198972,-4.854701998308883,-4.79222849423968,-4.73374669036275,-4.679188326765143,-4.628419461238082,-4.5810598808311624,-4.536690305663797,-4.494927556159382,-4.4489601953901,-4.406768418812135},
{-5.2102725586846645,-5.861358517591725,-5.8498159501396,-5.688284051248047,-5.523471321233956,-5.364983305000351,-5.248126239006524,-5.164413883263478,-5.087414905916376,-5.010277334105922,-4.936138048840803,-4.8680842014582595,-4.80543552483141,-4.746783251059242,-4.692075272134389,-4.641169376263861,-4.593684818726615,-4.5491960965737235,-4.507318315416342,-4.46121461592702,-4.41890648642584},
{-5.224147994435043,-5.877515608910471,-5.865989307385462,-5.703984744883201,-5.538711343564501,-5.379769852850586,-5.262612520105904,-5.178656268049963,-5.101455688942224,-5.02408754692442,-4.949732226777996,-4.881503896249342,-4.818679345786222,-4.759856195509201,-4.704998301604064,-4.653955107401998,-4.606345307496667,-4.561737020500004,-4.519743847791688,-4.473503345994686,-4.431078386412992},
{-5.238064700890391,-5.893719569248788,-5.8822083166087396,-5.719729230579105,-5.553993907735276,-5.394597771490226,-5.27713937896624,-5.19293846662913,-5.115535630568047,-5.037936169224849,-4.963364429335343,-4.894961186044384,-4.8319600560716935,-4.772965629854298,-4.71795752345497,-4.666776763071539,-4.619041444988397,-4.5743131685158005,-4.5322042503685225,-4.485826483876735,-4.443284208289697},
{-5.25202279428413,-5.909970529850398,-5.898473098131944,-5.7355176287164795,-5.569319131805969,-5.409467181947548,-5.291706928037456,-5.207260585091717,-5.1296548456084565,-5.0518233102120575,-4.977034777271911,-4.908456181110523,-4.845277762397018,-4.786111666879151,-4.730953040721943,-4.679634456806525,-4.631773334564059,-4.586924643110251,-4.544699627738737,-4.49818414026231,-4.455524053730187},
{-5.266022391238948,-5.92626862006,-5.914783773499948,-5.751350061902485,-5.584687134462001,-5.424378197894839,-5.306315282534342,-5.221622730437957,-5.143813440576196,-5.065749077621149,-4.990743386493705,-4.921988989612146,-4.858632560775732,-4.79929441423883,-4.743984956985514,-4.692528293664509,-4.644541080087947,-4.599571543592901,-4.557230077232816,-4.510576420863799,-4.467798018697067},
{-5.280063610160141,-5.942613973675179,-5.931140467379009,-5.767226653377293,-5.600098040013108,-5.439330941335356,-5.320964554397506,-5.23602500987181,-5.158011535524565,-5.0797135837201495,-5.004490376850299,-4.935559716832358,-4.872024559081183,-4.812513978838979,-4.757053381654259,-4.705458388016268,-4.657344786464819,-4.612253967592551,-4.569795707851881,-4.523003430527751,-4.480106207287463},
{-5.29414656690642,-5.959006721372134,-5.9475432995241135,-5.783147524300148,-5.6155519639578415,-5.454325530947244,-5.335654858201451,-5.250467527359433,-5.172249238450604,-5.093716933311953,-5.018275862472365,-4.9491684721870115,-4.885453852744831,-4.8257704755233135,-4.7701584138776525,-4.7184248446064885,-4.670184552996943,-4.624972012497892,-4.582396617515769,-4.535465270739223,-4.492448708922893},
{-5.30827138038876,-5.975446994845697,-5.963992394397792,-5.799112801309093,-5.6310490297255456,-5.469362085670582,-5.350386311169132,-5.264950395212509,-5.1865266677123145,-5.107759244121553,-5.032099970878335,-4.96281536774768,-4.898920552805066,-4.8390640123107005,-4.7833001685430645,-4.731427784201514,-4.683060487659532,-4.637725783373753,-4.595032917932258,-4.547962055781682,-4.504825636759051},
{-5.322438168281224,-5.991934926918475,-5.98048787368316,-5.815122604588396,-5.646589357522316,-5.484440722975705,-5.365159023232991,-5.279473718459485,-5.200843936007004,-5.1218406183688785,-5.04596281391423,-4.976500506403681,-4.912424755639222,-4.852394699664728,-4.796478746298817,-4.7444673083446105,-4.695972687681206,-4.65051537832187,-4.607704703877971,-4.560493890872749,-4.517237082720385},
{-5.336647049229214,-6.008470651060634,-5.997029862010095,-5.831177061838389,-5.662173069205892,-5.499561565411568,-5.379973114148015,-5.294037608728104,-5.215201156337571,-5.135961173138639,-5.059864511778869,-4.990223999833688,-4.925966569338925,-4.86576264687028,-4.809694251365727,-4.757543532148702,-4.7089212597420556,-4.6633408948619035,-4.620412080665119,-4.5730608795784065,-4.52968314710597},
{-5.3508981416489405,-6.0250542993380805,-6.0136184829243575,-5.847276297077769,-5.677800288467552,-5.514724731656315,-5.3948286966915475,-5.308642174197303,-5.229598446530872,-5.150121019367361,-5.07380518901482,-5.003985960778664,-4.939546097302809,-4.879167969411355,-4.82294680148334,-4.770656568100094,-4.72190631122794,-4.676202439186454,-4.633155156516295,-4.585663132696936,-4.542163939593593},
{-5.365191564713314,-6.0416860043260385,-6.030253859418735,-5.863420434361615,-5.693471136335575,-5.529930343822343,-5.409725886027445,-5.323287525287014,-5.244035918971349,-5.164320267023868,-5.087784960487625,-5.017786497883208,-4.9531634454469895,-4.892610773909837,-4.836236497772916,-4.783806525694672,-4.734927941179194,-4.689100112052984,-4.645934035615937,-4.598300756624667,-4.554679555410985},
{-5.37952743736605,-6.058365901109937,-6.04693611611583,-5.879609600044205,-5.709185735460778,-5.54517852106801,-5.424664798629237,-5.337973774934653,-5.258513691602275,-5.178559027946903,-5.101803952078626,-5.0316257197919185,-4.966818717075512,-4.906091177806957,-4.849563449140987,-4.796993519317766,-4.7479862538020825,-4.702034012712829,-4.658748821246263,-4.610973860093509,-4.567230097447464},
{-5.393905879995145,-6.075094122730661,-6.063665377099824,-5.895843920494372,-5.724944209068781,-5.560469387688499,-5.439645549922716,-5.352701033159974,-5.273031877237372,-5.192837418348063,-5.115862277096312,-5.045503737565014,-4.980512018213631,-4.919609289150685,-4.862927765760105,-4.810217655962333,-4.761081354175985,-4.715004244833835,-4.671599615714513,-4.623682551973616,-4.57981566953822},
{-5.408327011657093,-6.091870803495112,-6.0804417679901235,-5.91212352259754,-5.740746681796736,-5.575803059749887,-5.454668254598801,-5.367469413860817,-5.2875905945693376,-5.207155548254377,-5.129960059588484,-5.059420664096251,-4.994243456785625,-4.933165221103991,-4.876329556151177,-4.823479052080074,-4.774213345364842,-4.728010913662729,-4.684486532591109,-4.636426939352532,-4.592436374121462},
{-5.4227909531546175,-6.108696077848435,-6.0972654127690475,-5.9284485323150875,-5.756593278580112,-5.591179662791546,-5.4697330309063545,-5.3822790291233105,-5.30218995953328,-5.221513533229881,-5.144097420197795,-5.073376606822421,-5.008013138358365,-4.9467590858839685,-4.889768930188438,-4.836777817072289,-4.787382330017863,-4.741054120553599,-4.697409666863678,-4.649207131500589,-4.605092312180204},
{-5.4372978240207885,-6.125570080374018,-6.114136437303387,-5.944819077645661,-5.772484124019684,-5.6065993221636745,-5.484839995100629,-5.39712999623589,-5.316830088515417,-5.235911490148283,-5.15827448238997,-5.087371682595403,-5.021821168571478,-4.9603909982251935,-4.903245999979845,-4.850114065462549,-4.800588416212122,-4.754133971138799,-4.7103691336815245,-4.662023239245173,-4.6177835859998595},
{-5.451847745698615,-6.142492946302809,-6.131054966863303,-5.961235286551528,-5.788419341042754,-5.622062154507148,-5.499989261224982,-5.4120224285143195,-5.33151109902974,-5.250349528214429,-5.172491363649897,-5.1014059978188016,-5.035667657764861,-4.974061068358424,-4.916760874366446,-4.8634879071541945,-4.813831705003395,-4.767250569588214,-4.723365031328285,-4.674875371885719,-4.630510302929906},
{-5.466440839543793,-6.159464810771169,-6.148021127060929,-5.97769728689309,-5.8043990559745,-5.6375682867874275,-5.515180948670604,-5.426956442010123,-5.346233107688022,-5.264827764163783,-5.186748184445605,-5.115479668464104,-5.049552713018784,-4.987769412546186,-4.930313664066489,-4.876899456241517,-4.8271123008889845,-4.7804040208720835,-4.736397471904638,-4.687763641690253,-4.643272564324434},
{-5.481077226504567,-6.1764858092865325,-6.1650350440177135,-5.994205207753112,-5.820423396420665,-5.653117840229243,-5.530415175024245,-5.441932154972164,-5.360996234398044,-5.279346316361625,-5.201045068344683,-5.12959280639916,-5.063476444018306,-5.001516142816399,-4.943904484753148,-4.8903488242285675,-4.8404303109273314,-4.793594430651865,-4.7494665593258105,-4.700688154771342,-4.656070468845428},
{-5.495757028471417,-6.193556077967514,-6.1820968446772895,-6.0107591785126715,-5.836492488379008,-5.668710938509321,-5.545692055398831,-5.45694968704629,-5.37580059535685,-5.29390529885859,-5.21538213679014,-5.143745521156234,-5.077438960310246,-5.015301373801776,-4.957533448585309,-4.903836125806265,-4.853785836719908,-4.8068219063279685,-4.762572403647937,-4.713649028301006,-4.668904130012379},
{-5.510480367647688,-6.210675753180112,-6.199206655437592,-6.027359327425074,-5.85260645771632,-5.684347707981942,-5.561011707868602,-5.472009154516854,-5.390646309504518,-5.308504828935838,-5.229759510795702,-5.157937928663159,-5.0914403687856975,-5.029125221532013,-4.971200664127537,-4.917361469371826,-4.867178984510247,-4.82008655257232,-4.775715103329276,-4.726646370298113,-4.681773640040774},
{-5.525247365643736,-6.22784497167595,-6.216364603620605,-6.044005786134221,-5.868765432947839,-5.7000282713052,-5.576374251482775,-5.4871106801438145,-5.405533498356817,-5.3231450225866865,-5.244177311302337,-5.172170139609079,-5.105480783051462,-5.042987797693058,-4.984906251811481,-4.9309249713260215,-4.880609859406832,-4.833388478582492,-4.788894775178051,-4.739680292463163,-4.694679109365097},
{-5.540058145794319,-6.2450638690643245,-6.23357081557333,-6.060698683919327,-5.884969539794838,-5.715752753589186,-5.591779802009114,-5.502254383805848,-5.420462279435014,-5.337826000482892,-5.258635659229185,-5.18644226804463,-5.119560313745751,-5.056889217623393,-4.998650320107117,-4.944526742510789,-4.894078562996583,-4.846727791140438,-4.802111520984909,-4.752750910978648,-4.707620638888329},
{-5.5549128308666695,-6.262332583617535,-6.25082541978918,-6.0774381524461205,-5.901218908416922,-5.7315212801258895,-5.607228481363563,-5.517440388772229,-5.435432772268541,-5.352547879178019,-5.2731346782893525,-5.200754427467473,-5.133679070386279,-5.070829594034876,-5.012432985604391,-4.958166895157774,-4.907585203953204,-4.860104599836632,-4.815365449976525,-4.7658583352167625,-4.72059833505773},
{-5.569811543544347,-6.279651253040356,-6.268128543881176,-6.094224322223454,-5.917513668020547,-5.747333975712536,-5.622720402556297,-5.532668820160325,-5.450445099137141,-5.3673107756258105,-5.287674488143239,-5.215106730109255,-5.147837167671241,-5.0848090450963355,-5.026254366683133,-4.971845543332165,-4.921129886482959,-4.873519011714961,-4.828656669458724,-4.779002676674281,-4.733612303374684},
{-5.58475440796974,-6.297020013407746,-6.285480315244058,-6.111057324538706,-5.933853945680312,-5.763190967729315,-5.638255687445053,-5.547939799304004,-5.465499376710795,-5.382114810825442,-5.302255212147429,-5.229499292188848,-5.162034717061033,-5.098827685033029,-5.040114574112522,-4.985562800458865,-4.93471271636372,-4.886971137049841,-4.841985289924196,-4.792184053629171,-4.746662648321944},
{-5.599741547914164,-6.314439004199812,-6.302880863244354,-6.1279372929930105,-5.950239871213853,-5.779092379882059,-5.653834455370088,-5.5632534553078585,-5.480595729561173,-5.396960104131722,-5.31687697081361,-5.243932224846503,-5.176271829906909,-5.112885630383971,-5.054013730346924,-4.999318778660381,-4.948333801177796,-4.900461088225711,-4.855351417485508,-4.8054025769088184,-4.759749475386343},
{-5.614773087629146,-6.331908364249102,-6.320330317226762,-6.144864359186613,-5.966671575632063,-5.795038343232591,-5.669456823321525,-5.5786099130200455,-5.495734279109456,-5.41184677342244,-5.331539887316467,-5.258405640859564,-5.190548623431823,-5.126982991758268,-5.067951946213725,-5.013113590524881,-4.961993239383446,-4.913988967469777,-4.868755162053276,-4.8186583594215335,-4.772872884946992},
{-5.629849151129747,-6.349428230263584,-6.337828804615128,-6.16183865590574,-5.983149187806703,-5.811028979376715,-5.685122914372187,-5.594009303938947,-5.510915147293417,-5.426774942679913,-5.346244083644706,-5.27291965821496,-5.204865210376738,-5.141119889871334,-5.081929346139077,-5.026947350444971,-4.9756911465810845,-4.927554891866748,-4.882196629376267,-4.831951516971458,-4.786032993230037},
{-5.644969863951701,-6.366998743164004,-6.355376456333033,-6.178860316780629,-5.999672841622669,-5.827064418466762,-5.700832844981051,-5.609451754280599,-5.526138455839828,-5.441744729905622,-5.360989680659259,-5.2874743878346635,-5.219221704763186,-5.155296438708319,-5.095946045257733,-5.040820169742801,-4.9894276258855825,-4.941158973961137,-4.895675936029875,-4.84528216032777,-4.799229902331717},
{-5.660135350193741,-6.38462004106259,-6.372973400648334,-6.195929475339653,-6.016242665027676,-5.843144789047074,-5.716586734029988,-5.624937395870802,-5.541404326846532,-5.456756257386587,-5.375776800829044,-5.302069944591494,-5.2336182240906055,-5.169512752283481,-5.110002161498414,-5.054732162941946,-5.003202782390872,-4.954801318919635,-4.9091931869479595,-4.858650404770742,-4.812463717345963},
{-5.675345736293821,-6.402292263766867,-6.390619768586475,-6.213046266610036,-6.032858791651961,-5.85927021758107,-5.732384706250741,-5.6404663633366,-5.556712886507739,-5.471809644324821,-5.390605569409672,-5.316706445795717,-5.248054884839803,-5.183768949791556,-5.124097816180438,-5.068683446312207,-5.017016725323629,-4.968482045660494,-4.92274849183741,-4.872056365333265,-4.825734549347544},
{-5.690601147038251,-6.420015551484539,-6.408315690103336,-6.230210823574453,-6.049521352666488,-5.875440834017354,-5.748226879593858,-5.656038786401041,-5.572064258012688,-5.486905015692173,-5.4054761066581705,-5.33138400316966,-5.262531802953163,-5.198065147647867,-5.138233130899607,-5.082674129924271,-5.030869564856403,-4.982201260805596,-4.936341966371401,-4.885500156698981,-4.839042508567218},
{-5.705901709647151,-6.43779004424141,-6.426061296209809,-6.247423282817181,-6.066230481133971,-5.891656764797517,-5.764113375415036,-5.671654802084959,-5.5874585646160995,-5.502042491403699,-5.420388532584184,-5.346102732088184,-5.277049094380345,-5.212401457654778,-5.152408223584644,-5.096704327064799,-5.044761400480638,-4.995959076462896,-4.949973713301006,-4.898981889360584,-4.8523876998369815},
{-5.72124754912511,-6.4556158829291235,-6.443856717960443,-6.264683780500491,-6.082986311652348,-5.907918141449045,-5.7800443148298655,-5.687314544717083,-5.602895934302069,-5.517222195230715,-5.4353429752227385,-5.360862748821091,-5.29160688284901,-5.226778003008803,-5.166623218625318,-5.1107741578889545,-5.058692353020888,-5.009755610721186,-4.963643852650421,-4.91250168235274,-4.865770238218829},
{-5.736638793176098,-6.473493207769934,-6.461702085362049,-6.28199245032738,-6.099788975297997,-5.924225093251152,-5.796019819754292,-5.703018150517892,-5.618376488673675,-5.532444247415697,-5.450339555318351,-5.375664166807837,-5.306205279004644,-5.241194895745139,-5.180878232917166,-5.124883727199631,-5.072662521983148,-5.023590971759404,-4.97735248914978,-4.926059647026705,-4.879190228646621},
{-5.752075568500004,-6.491422160412185,-6.479597532379557,-6.299349430235452,-6.116638608138601,-5.9405777501669945,-5.812040013086516,-5.718765759571397,-5.633900356500817,-5.547708771766338,-5.46537839659868,-5.390507101488765,-5.3208444072224665,-5.255652256513713,-5.195173393949517,-5.139033157072845,-5.08667201983917,-5.037465274886927,-4.991099737555487,-4.939655901223887,-4.892647787695751},
{-5.767558002469741,-6.50940288221318,-6.497543188241252,-6.316754856394255,-6.133535340937669,-5.956976241614029,-5.8281050154037075,-5.734557508782018,-5.649467663366522,-5.563015890911629,-5.480459618360328,-5.405391665757634,-5.335524384863675,-5.270150197291514,-5.209508822590578,-5.153222555949469,-5.100720956630539,-5.051378632284468,-5.004885709742666,-4.953290558696608,-4.906143021362368},
{-5.783086222523707,-6.527435515490652,-6.515539187901595,-6.334208866908739,-6.150479312658717,-5.973420699941926,-5.844214952900074,-5.750393539965444,-5.665078536767396,-5.578365729881625,-5.495583348158107,-5.420317981624976,-5.350245335546788,-5.284688841056777,-5.223884642240591,-5.167452044202946,-5.114809443126433,-5.0653311606438365,-5.018710518925218,-4.966963732600561,-4.9196760456688935},
{-5.798660356740584,-6.545520200976171,-6.533585661461984,-6.351711597664689,-6.167470657521335,-5.989911251803278,-5.860369944355625,-5.7662739927036455,-5.6807331051677465,-5.593758406823326,-5.510749706438219,-5.435286155130598,-5.365007377011352,-5.299268302071141,-5.238300975121092,-5.1817217295465525,-5.128937589601264,-5.079322968857014,-5.032574275377556,-4.980675539598451,-4.933246969871107},
{-5.814280533617421,-6.563657083148428,-6.551682744713617,-6.3692631885714945,-6.1845095112221316,-6.006448036823713,-5.876570118613017,-5.782199011329794,-5.696431496202422,-5.609194051838131,-5.525958819620428,-5.450296312526916,-5.379810632090084,-5.313888699747622,-5.252757947688224,-5.196031731087714,-5.143105508454028,-5.093354177879519,-5.04647709481651,-4.994426096440293,-4.946855909802252},
{-5.82994688144754,-6.58184630364849,-6.569830569009355,-6.386863777479448,-6.201596007711487,-6.023031179865939,-5.892815595143475,-5.7981687375795445,-5.712173837251612,-5.624672782920243,-5.541210811548808,-5.465348559198901,-5.394655221971334,-5.328550150996307,-5.26725568297843,-5.2103821601194795,-5.157313307514414,-5.107424896807061,-5.060419086861657,-5.008215516791097,-4.960502978850855},
{-5.845659529473778,-6.600088005354337,-6.588029267615639,-6.404513502347982,-6.21873028477421,-6.03966081651015,-5.909106501967472,-5.814183314192633,-5.727960258729581,-5.640194727675407,-5.556505803018808,-5.480443017688231,-5.409541268381872,-5.343252776510781,-5.281794306720258,-5.224773135589203,-5.1715611077524954,-5.121535242316895,-5.074400371697266,-5.022043918201234,-4.974188293912448},
{-5.861418606953521,-6.618382332329929,-6.606278975887108,-6.42221250385046,-6.235912480275147,-6.056337079455261,-5.925442964566173,-5.830242888951034,-5.743790892745892,-5.655760012836254,-5.5718439198390115,-5.495579802940483,-5.424468899145722,-5.357996694932808,-5.29637394339079,-5.239204768658965,-5.185849013621919,-5.135685330576962,-5.088421060310793,-5.035911416969611,-4.987911966454703},
{-5.877224242696684,-6.6367294283845695,-6.6245798288000515,-6.439960922696628,-6.25314273389813,-6.073060099348368,-5.941825107947807,-5.846347605889605,-5.759665866564319,-5.671368756848096,-5.587225287090405,-5.510759029290057,-5.4394382316677365,-5.372782024205662,-5.310994720101007,-5.253677174376207,-5.200177143051405,-5.149875273506041,-5.102481264984817,-5.049818126135506,-5.001674118364463},
{-5.8930765679397155,-6.65512943729118,-6.642931958915142,-6.457758895674488,-6.270421179215191,-6.08983001447632,-5.9582530566476635,-5.8624976108185365,-5.775585310533643,-5.687021089572227,-5.6026500295702135,-5.5259808139526285,-5.454449392200331,-5.387608884382644,-5.325656759159756,-5.268190468123066,-5.214545610971982,-5.164105191171984,-5.116581100737676,-5.063764163729502,-5.015474861633265},
{-5.908975711779931,-6.673582504074147,-6.661335503777082,-6.475606566731585,-6.287747956994281,-6.106646954132884,-5.974726941240078,-5.878693051505252,-5.791549358793418,-5.702717134074192,-5.61811827083875,-5.541245271961088,-5.469502506311983,-5.402477393756271,-5.340360189075,-5.282744765558164,-5.228954527454334,-5.178375195726403,-5.130720684188418,-5.0777496456721565,-5.029314316183445},
{-5.924921805621125,-6.692088772288116,-6.679790597583633,-6.493504076148383,-6.305123204183474,-6.123511055811832,-5.991246886507724,-5.894934073097829,-5.8075581407756545,-5.718457017930632,-5.63363013228809,-5.556552523194114,-5.484597697548452,-5.417387676789076,-5.355105136011844,-5.297340178978629,-5.24340401252266,-5.192685404486838,-5.144900130704627,-5.091774690619786,-5.043192603785428},
{-5.94091498009584,-6.7106483884344925,-6.6982973761842,-6.511451565704192,-6.322547060495708,-6.140422451047925,-6.007813020594767,-5.911220825946657,-5.823611788007838,-5.734240865975153,-5.6491857437067665,-5.5719026816950645,-5.499735092249466,-5.432339849838172,-5.369891723748879,-5.311976824887097,-5.257894180176663,-5.20703593431972,-5.159119555246434,-5.105839413212379,-5.057109840156045},
{-5.956955366054899,-6.72926149777777,-6.7168559768251725,-6.529449176763592,-6.340019669216417,-6.15738127813529,-6.024425472554867,-5.927553458997863,-5.839710436157475,-5.750068804278271,-5.664785229906556,-5.587295865829219,-5.514914815226803,-5.447334037089604,-5.384720084024593,-5.3266548197716475,-5.272425147282775,-5.221426899443031,-5.173379073414253,-5.119943928497378,-5.071066151736886},
{-5.97304309548781,-6.747928245436924,-6.73546653403173,-6.547497050923994,-6.3575411667407025,-6.174387672595913,-6.041084371187026,-5.943932117901568,-5.855854217188607,-5.765940963799949,-5.680428716324968,-5.602732195562567,-5.530136996312649,-5.462370361288777,-5.399590338463895,-5.341374278083094,-5.286997035043896,-5.235858422573074,-5.187678803078597,-5.134088359365705,-5.085061657926417},
{-5.989178300020285,-6.766648777833325,-6.754129187022045,-6.56559533309337,-6.375111692410428,-6.191441766881326,-6.057789845879597,-5.960356954128656,-5.872043260038481,-5.781857465932262,-5.696116325256298,-5.61821178131504,-5.545401756287902,-5.477448938821908,-5.414502617481048,-5.3561353119876,-5.301609954127343,-5.250330615075654,-5.202018858995871,-5.148272814432858,-5.099096477541025},
{-6.005361112464016,-6.785423242305114,-6.772844072562293,-6.583744166069664,-6.392731389976689,-6.208543701235612,-6.074542025933624,-5.976828112354269,-5.888277703896165,-5.797818440492847,-5.711848182691028,-5.63373474367836,-5.560709224635502,-5.492569896465284,-5.42945704307931,-5.370938036619918,-5.3162640234368155,-5.264843594093691,-5.216399359007482,-5.162497415294638,-5.113170733005973},
{-6.021591664546577,-6.804251784364169,-6.791611327731516,-6.601943693385692,-6.410400398861384,-6.225693610540475,-6.0913410443026805,-5.993345747170679,-5.904557679947175,-5.813824017866864,-5.727624417690095,-5.649301205718075,-5.576059529048507,-5.507733357953839,-5.444453747782973,-5.385782572135213,-5.330959365266608,-5.279397481339402,-5.230820418975782,-5.176762276736554,-5.127284554328071},
{-6.037870090105571,-6.823134551872499,-6.810431093043007,-6.620194059920323,-6.428118864329008,-6.242891632275132,-6.108187029931287,-6.009910004293488,-5.920883324528404,-5.829874326445861,-5.743445155443624,-5.664911278232466,-5.591452798733371,-5.522939447750105,-5.459492855719873,-5.40066903072875,-5.345696099931956,-5.293992395090754,-5.245282159259659,-5.191067517953343,-5.141438062099041},
{-6.0541965213669755,-6.842071693157777,-6.829303503676783,-6.638495409330062,-6.445886924389924,-6.260137907040189,-6.125080114659795,-6.026521031744778,-5.937254768490675,-5.845969491332653,-5.759310520865256,-5.680565083122929,-5.606889160044375,-5.53818828400108,-5.47457449400099,-5.4155975262547145,-5.36047434246575,-5.308628451719414,-5.259784697773284,-5.205413252202561,-5.15563137891877},
{-6.070571092899627,-6.861063355085207,-6.848228701062908,-6.656847888225457,-6.463704723675619,-6.277432567534561,-6.142020430990669,-6.04317898183217,-5.953672148607438,-5.862109644978773,-5.775220644165529,-5.6962627397006145,-5.622368743293919,-5.553479994792724,-5.489698790057446,-5.430568179086549,-5.375294214798487,-5.323305772675667,-5.274328148312634,-5.219799596176017,-5.16986463246576},
{-6.0869939377844275,-6.880109686120704,-6.86720682453597,-6.675251640255738,-6.481572405748011,-6.294775758149626,-6.159008114875178,-6.059884001384489,-5.970135603245581,-5.878294917332823,-5.791175649719662,-5.712004364570021,-5.637891676844447,-5.568814708545688,-5.504865874609095,-5.44558110149228,-5.390155838642386,-5.338024473137921,-5.28891263405967,-5.234226671178476,-5.1841379491379485},
{-6.103465191037685,-6.899210835174017,-6.886238013255934,-6.693706813792232,-6.499490112328203,-6.312167613396014,-6.176043293242401,-6.076636237099592,-5.986645261305966,-5.894525436277036,-5.807175663547241,-5.727790076940437,-5.653458087617764,-5.584192545109545,-5.520075868305867,-5.460636409494327,-5.405059332362725,-5.352784675051225,-5.30353827305953,-5.248694585607154,-5.198451448130072},
{-6.119984986456984,-6.918366950987547,-6.905322407626954,-6.71221355455782,-6.517457990616094,-6.329608273263148,-6.193126103658869,-6.093435840652091,-6.003201263039955,-5.910801334408461,-5.8232208158297,-5.743619998116628,-5.669068110684748,-5.599613635728019,-5.535328906669747,-5.475734219144215,-5.420004822852206,-5.367586500447942,-5.318205185903935,-5.26320346207649,-5.212805265982752},
{-6.13655345972802,-6.9375781827184255,-6.924460147813079,-6.730772008901113,-6.535476180943078,-6.347097880738147,-6.210256678394217,-6.110282956309675,-6.019803738949122,-5.927122739958577,-5.83931123430375,-5.759494244848611,-5.684721872152295,-5.615078102448024,-5.550625107687665,-5.490874651397462,-5.434992427704856,-5.382430067678797,-5.332913491132786,-5.277753414135077,-5.227199519475107},
{-6.153170745859825,-6.956844680702488,-6.943651376743219,-6.749382325091574,-6.553544830050669,-6.364636571684969,-6.227435155022249,-6.127177734786528,-6.0364528294157935,-5.943489784229314,-5.855447045469191,-5.775412939416128,-5.700419502551085,-5.630586077371845,-5.565964606648777,-5.5060578192496905,-5.450022266144515,-5.397315498470562,-5.347663307591574,-5.2923445542983245,-5.241634338919539},
{-6.169836980694527,-6.976166594526148,-6.962896233890206,-6.768044650874799,-6.571664082548523,-6.382224491280795,-6.244661666009051,-6.144120322620438,-6.053148668710492,-5.959902601491194,-5.871628377251909,-5.791376199951628,-5.716161135031143,-5.646137684787391,-5.5813475275208475,-5.52128383978561,-5.46509446692653,-5.4122429111012025,-5.362454757487285,-5.306977004089276,-5.256109847992775},
{-6.186552299568575,-6.995544074365171,-6.982194862110191,-6.786759134847671,-6.589834084814356,-6.3998617777760956,-6.261936347313167,-6.161110867615207,-6.069891390725388,-5.976361320135766,-5.887855360007961,-5.807384150408325,-5.731946899890318,-5.66173305643315,-5.596773999786819,-5.536552833989845,-5.480209152083262,-5.4272124319541035,-5.377287960640388,-5.321650876998319,-5.270626176439691},
{-6.203316839721083,-7.014977271661337,-7.001547405023302,-6.805525927033159,-6.608054983851616,-6.417548570687359,-6.279259334332892,-6.178149514686083,-6.086681134009268,-5.992866072730976,-5.904128122594557,-5.823436905673589,-5.747776927688392,-5.677372319711139,-5.612244147603633,-5.551864916007617,-5.495366440824,-5.442224176673335,-5.392163039461593,-5.336366285482654,-5.285183445783332},
{-6.220130736852298,-7.03446633709973,-7.020954003666702,-6.824345174492919,-6.626326924575551,-6.43528501909168,-6.296630763936264,-6.195236412080703,-6.103518032468855,-6.009416993372724,-5.920446794101736,-5.839534591941629,-5.7636513548350194,-5.693055604075198,-5.627758100279607,-5.567220205208287,-5.510566460725386,-5.457278275251156,-5.407080113291158,-5.351123349479167,-5.299781779831392},
{-6.236994128576043,-7.054011423475458,-7.040414802446321,-6.8432170296873664,-6.644650053749501,-6.453071258154523,-6.314050773144118,-6.212371705129044,-6.120402222324628,-6.026014210685389,-5.936811505496735,-5.855677327635931,-5.779570305821835,-5.708783041263814,-5.643315987865208,-5.582618822620134,-5.525809331273194,-5.472374843884609,-5.422039302997291,-5.365922179931658,-5.314421308459714},
{-6.253907152273314,-7.073612680520455,-7.059929943759926,-6.862141639467154,-6.663024517794838,-6.470907434500987,-6.331519497805857,-6.229555537909619,-6.1373338403354865,-6.042657859274186,-5.953222384094261,-5.871865236447775,-5.795533920187154,-5.72455476297182,-5.658917934561032,-5.59806088503683,-5.541095181746641,-5.487514005828416,-5.437040733551839,-5.380762900604168,-5.3291021546465345},
{-6.270869945612503,-7.093270261779253,-7.079499573614157,-6.881119159537775,-6.6814504674403,-6.488793690594321,-6.349037078718538,-6.246788058881066,-6.154313024308067,-6.05934807707672,-5.969679561138037,-5.888098439405439,-5.811542329684016,-5.740370899293339,-5.674564071538043,-5.613546513370238,-5.556424131282256,-5.502695886490983,-5.452084526521503,-5.3956456184678245,-5.343824437717558},
{-6.287882646338403,-7.112984320054238,-7.099123836320359,-6.900149737884931,-6.699928050511517,-6.506730169792718,-6.36660364967247,-6.264069415396079,-6.171339907188667,-6.076084990054369,-5.986183165980037,-5.904377057697275,-5.827595665527042,-5.7562315874383785,-5.69025452308415,-5.629075827993802,-5.5717963102360955,-5.5179206060565775,-5.467170799456653,-5.410570451407693,-5.3585882903280435},
{-6.304945393174421,-7.132755008271488,-7.1188028762699105,-6.919233526517928,-6.718457412775024,-6.524717019223317,-6.3842193494638195,-6.281399743951624,-6.188414624964935,-6.0928687356063165,-6.002733334855293,-5.920701215844019,-5.843694063441944,-5.772136955260066,-5.705989421810955,-5.644648950023111,-5.587211839738302,-5.533188294997672,-5.482299678973504,-5.425537520713988,-5.373393828704138},
{-6.322058325094986,-7.1525824806522,-7.1385368399569415,-6.938370679228683,-6.737038706174644,-6.542754378308018,-6.401884319813689,-6.298779197095428,-6.205537315443507,-6.109699446198647,-6.019330192779307,-5.937071038439171,-5.859837654134026,-5.788087138018454,-5.721768891584361,-5.660265999089461,-5.602670843014494,-5.548499070981052,-5.497471283946652,-5.440546935671591,-5.38824117812328},
{-6.339221581063612,-7.172466888849158,-7.158325872384012,-6.957561347153387,-6.755672077553754,-6.5608423978919745,-6.419598696767935,-6.316207915879204,-6.222708116634749,-6.1265772570623085,-6.03597387301852,-5.953486645870726,-5.876026575351716,-5.804082272516098,-5.73759306363354,-5.67592709933524,-5.618173449402093,-5.563853059473331,-5.512685740774032,-5.455598817396094,-5.403130460210377},
{-6.35643530021116,-7.192408389062621,-7.178170121194853,-6.976805685677391,-6.774357678179513,-6.578981218728586,-6.43736262107268,-6.333686046607909,-6.239927161732339,-6.143502304708818,-6.052664509625174,-5.969948165977257,-5.892260961642023,-5.820122493154486,-5.7534620643855305,-5.691632373578614,-5.63371978320356,-5.579250388924265,-5.527943168752245,-5.470693286784808,-5.418061801392469},
{-6.3736996231200465,-7.21240713615407,-7.198069733472948,-6.996103846955521,-6.793095660592371,-6.597170988097787,-6.455176231102087,-6.3512137325597,-6.257194585909019,-6.16047471841739,-6.069402233086294,-5.986455722697428,-5.908540944263223,-5.83620793686714,-5.769376024152734,-5.707381941159838,-5.649309969114256,-5.594691179110669,-5.543243692198303,-5.485830450037611,-5.433035317546455},
{-6.391014689179428,-7.232463282511162,-7.218024854963005,-7.0154559863804025,-6.811886171621154,-6.615411855622369,-6.473039665899705,-6.36879111971939,-6.274510530027328,-6.177494639734505,-6.086187178691034,-6.0030094393587206,-5.924866663379362,-5.852338739830884,-5.785335069274879,-5.723175929058925,-5.664944136005943,-5.610175564230303,-5.558587433828507,-5.501010435691569,-5.448051138140727},
{-6.408380639826646,-7.2525769863132155,-7.238035635287815,-7.034862257736677,-6.830729364301078,-6.6337039644495235,-6.490953067972441,-6.386418349837186,-6.291875124690705,-6.194562200878863,-6.1030194766499335,-6.019609443406807,-5.941238251092727,-5.868515038950136,-5.801339331708732,-5.739014461170882,-5.680622408282943,-5.625703660931322,-5.573974516388262,-5.516233355854638,-5.46310937848466},
{-6.425797615273041,-7.27274840271275,-7.258102223473543,-7.0543228168317,-6.8496253896009875,-6.652047462739574,-6.508916576509364,-6.40409556812665,-6.309288509728503,-6.211677537226933,-6.1198992606659885,-6.036255858081859,-5.957655841732048,-5.884736972977407,-5.817388932744507,-5.7548976624239,-5.6963449125760235,-5.641275599205983,-5.589405058795819,-5.53149933271925,-5.47821016087255},
{-6.44326575670857,-7.292977686491213,-7.278224765876075,-7.073837819174514,-6.868574399341014,-6.670442499074852,-6.526930334381177,-6.421822919684928,-6.326750822176109,-6.228840786934597,-6.13682666583918,-6.052948815457057,-5.974119573511416,-5.901004678977188,-5.833484006914659,-5.770825657993555,-5.712111779037514,-5.656891507780529,-5.604879186896142,-5.546808481391054,-5.493353609694168},
{-6.460785206902074,-7.313264996169892,-7.298403415494249,-7.093407421576558,-6.887576548491779,-6.6888892187562305,-6.544994479467277,-6.439600548023009,-6.344262195198098,-6.246052085494739,-6.153801823602407,-6.06968843593495,-5.990629579551751,-5.917318300213083,-5.849624683658476,-5.786798573608394,-5.727923133817967,-5.672551511219353,-5.620397024569684,-5.562160926972865,-5.508539844115148},
{-6.4783561064177775,-7.333610487621627,-7.318638319025922,-7.113031780412712,-6.906631986210414,-6.707387775488314,-6.563109154449194,-6.457428598558181,-6.361822766935802,-6.263311571237864,-6.170824873726815,-6.086474854571861,-6.0071859982126625,-5.933677974186139,-5.865811086347094,-5.802816536583123,-5.7437791038973955,-5.688255739136366,-5.635958693921566,-5.577556784104672,-5.523768987914082},
{-6.495978599086811,-7.354014319120324,-7.338929628509504,-7.1327110543934396,-6.925740868166031,-6.725938315750682,-6.581274503143504,-6.475307217406225,-6.379432675938006,-6.280619379787822,-6.187895948532969,-6.1033081969217164,-6.023788966500433,-5.9500838429812575,-5.882043347068247,-5.818879675556673,-5.759679816605058,-5.704004317871295,-5.651564316067379,-5.5929961783695035,-5.539041160867782},
{-6.513652826259204,-7.374476646677067,-7.359277495081187,-7.152445398358395,-6.9449033478304045,-6.744540987208893,-6.599490665961639,-6.493236547525157,-6.39709205662075,-6.297975652341847,-6.205015182000352,-6.120188589702593,-6.040438618219923,-5.966536048959824,-5.898321592947468,-5.834988117901958,-5.775625405920437,-5.719797374782502,-5.667214014014462,-5.608479230577359,-5.554356489301426},
{-6.531378932086227,-7.394997630704893,-7.379682069476985,-7.17223497320083,-6.964119577452948,-6.763195942003222,-6.617757783009438,-6.511216732891626,-6.41480104465154,-6.315380524669308,-6.222182713085203,-6.137116165016778,-6.057135089140502,-5.98303472828411,-5.914645952609135,-5.851141991326585,-5.791615994618041,-5.735635039993213,-5.682907912749215,-5.62400606108713,-5.569715089062811},
{-6.549157060042489,-7.415577428997494,-7.40014350463025,-7.1920799387589796,-6.983389716573583,-6.781903329429042,-6.636076003764174,-6.529247925253003,-6.432559783133911,-6.332834138243925,-6.2393986779643456,-6.154091051997966,-6.073878520022845,-5.999580028976197,-5.931016555608949,-5.86734142737987,-5.807651717681438,-5.75151744451432,-5.698646133867442,-5.639576793531887,-5.585117092370638},
{-6.566987352860451,-7.4362162003453705,-7.420661952201044,-7.211980451575073,-7.002713914771448,-6.800663302317844,-6.654445465552271,-6.547330264947959,-6.4503684020310175,-6.350336631046957,-6.256663212014246,-6.171113385382341,-6.090669045748655,-6.016172093295609,-5.94743352959631,-5.8835865548753645,-5.823732700897381,-5.767444716679165,-5.714428800842143,-5.655191553581972,-5.600562618317781},
{-6.584869956001057,-7.456914104630414,-7.441237565093616,-7.231936673306336,-7.022092329527368,-6.819476009128266,-6.672866313543636,-6.565463901250041,-6.468227044431842,-6.367888146094629,-6.27397645493329,-6.188183290869347,-6.1075068029313115,-6.03281106344366,-5.963897005378385,-5.899877505202312,-5.839859074651031,-5.783416982158087,-5.730256036898936,-5.670850465103285,-5.61605179401522},
{-6.602805013368197,-7.477671301341616,-7.461870497056225,-7.251948764656845,-7.041525116583216,-6.838341602953733,-6.691338690376142,-6.583648977815756,-6.48613584501436,-6.38548882122268,-6.291338540933793,-6.205300903617172,-6.124391927922261,-6.049497080777655,-5.980407106748316,-5.91621440956078,-5.856030973169254,-5.799434374348493,-5.746127963808249,-5.686553651758004,-5.631584745628061},
{-6.6207926706265425,-7.498487951728748,-7.48256090299401,-7.272016885581252,-7.06101243289595,-6.857260236196453,-6.7098627438244876,-6.601885646392475,-6.504094942982192,-6.4031388030416565,-6.308749612609972,-6.222466355859069,-6.141324561598594,-6.0662302937416825,-5.996963966317708,-5.932597398379585,-5.87224852637155,-5.815497024625074,-5.762044707124005,-5.70230124387308,-5.647161601373227},
{-6.638833073018759,-7.51936421575374,-7.503308935694804,-7.292141197802266,-7.080554434993246,-6.8762320585374255,-6.728438614780316,-6.620174051640788,-6.522104477407993,-6.420838227670174,-6.326209805221879,-6.239679780701408,-6.1583048368338495,-6.083010843402008,-6.013567711008363,-5.949026604968822,-5.888511863318854,-5.831605061117443,-5.778006387263304,-5.718093361356296,-5.662782488070661},
{-6.6569263649580535,-7.540300254353497,-7.524114751882735,-7.312321863901161,-7.100151280203136,-6.895257228228729,-6.747066449112026,-6.638514342557755,-6.540164584177546,-6.43858724423626,-6.3437192603887524,-6.256941315092263,-6.175332895392785,-6.099838875772548,-6.030218468411476,-5.965502159233438,-5.904821117568645,-5.847758616742794,-5.794013131977408,-5.7339301371976035,-5.678447537778993},
{-6.675072694451956,-7.561296230305743,-7.544978505298786,-7.332559045818925,-7.119803123685415,-6.914335892914096,-6.76574639264436,-6.656906667267322,-6.558275403091102,-6.456385992249125,-6.361278117488837,-6.274251089242171,-6.192408873030217,-6.116714534829953,-6.046916368213715,-5.98202419950394,-5.921176417876268,-5.863957817942719,-5.8100650642154505,-5.749811694142409,-5.694156881450908},
{-6.693272206699476,-7.582352304212691,-7.565900353452889,-7.352852906602493,-7.13951012546022,-6.933468208662816,-6.784478593195672,-6.675351176032564,-6.576437077470473,-6.474234620080097,-6.378886516962666,-6.291609241132392,-6.209532910244889,-6.133637967635877,-6.063661539563327,-5.998592856092728,-5.937577903445344,-5.8802028022910235,-5.826162305136677,-5.765738168294774,-5.709910650955862},
{-6.711525048805925,-7.60346863992163,-7.586880451795878,-7.373203611881763,-7.159272445875104,-6.952654330161749,-6.803263194247847,-6.693848016730044,-6.594649743812624,-6.492133273583022,-6.396544598377659,-6.309015908249421,-6.22670514244237,-6.150609317512135,-6.0804541108664125,-6.015208264769171,-5.954025701561477,-5.896493696622201,-5.842304982797941,-5.781709680901258,-5.725708980200579},
{-6.729831368589657,-7.62464539987559,-7.607918959882227,-7.393611323765072,-7.179090241443191,-6.971894411850371,-6.82210034475429,-6.712397344541387,-6.612913543212926,-6.510082097840495,-6.414252502814634,-6.326471227512229,-6.243925711823977,-6.167628733368474,-6.097294214487192,-6.031870558013907,-5.970519949682057,-5.912830635905266,-5.858493220584933,-5.797726367323776,-5.7415520070208},
{-6.748191313286952,-7.6458827472743,-7.629016032507934,-7.414076206434402,-7.198963671944512,-6.991188607906224,-6.840990188691649,-6.730999303486897,-6.631228612750419,-6.528081240074243,-6.432010373478988,-6.343975332783884,-6.2611947542463895,-6.184696357260691,-6.114181973040104,-6.048579871785478,-5.987060777217266,-5.929213750976487,-5.874727142450865,-5.813788355240831,-5.757439865585184},
{-6.766605030563369,-7.667180846307019,-7.6501718306026305,-7.434598428211757,-7.218892897013575,-7.010537075082539,-6.859932878636755,-6.7496540479769465,-6.649595099195722,-6.546130848102621,-6.449818348424742,-6.361528366338462,-6.278512410062831,-6.201812335915747,-6.13111751973338,-6.06533633977233,-6.003648318088381,-5.9456431680882815,-5.891006872829166,-5.829895774702891,-5.773372693976853},
{-6.785072669452347,-7.688539860777382,-7.6713865104393335,-7.455178152224107,-7.238878075608227,-7.02993996735313,-6.878928558289772,-6.768361731243203,-6.668013140326366,-6.564231074153213,-6.467676572065102,-6.379130465167691,-6.295878819815698,-6.21897681694827,-6.148100982885808,-6.082140103986603,-6.020282710320316,-5.962119025789434,-5.907332538743503,-5.846048758729012,-5.7893506358377635},
{-6.803594378703565,-7.709959955587692,-7.692660232620256,-7.475815545411024,-7.258919371415686,-7.0493974414421245,-6.897977380387601,-6.787122504319996,-6.686482878430979,-6.582382067426806,-6.4855851890315535,-6.396781773364637,-6.313294124789536,-6.236189948118408,-6.165132495079888,-6.098991291582934,-6.036964085345971,-5.978641455600155,-5.9237042669410584,-5.862247439610655,-5.805373826209689},
{-6.822170307030319,-7.731441297139099,-7.713993157929508,-7.496510775970819,-7.279016945481999,-7.068909655790776,-6.917079490973265,-6.805936520482646,-6.705004456511233,-6.600583975116024,-6.50354433778557,-6.4144824260729365,-6.3307584617869,-6.253451871118159,-6.182212181593059,-6.115890043292893,-6.053692580302595,-5.9952105861739255,-5.940122180560138,-5.878491945084534,-5.821442407206632},
{-6.840800604324613,-7.7529840484276065,-7.735385444750136,-7.517264009373321,-7.299170956343005,-7.088476764634834,-6.936235042070621,-6.824803932860959,-6.723578017670661,-6.61883695499273,-6.521554166058195,-6.432232568200561,-6.348271975381067,-6.270762736719917,-6.199340176870464,-6.132836495191441,-6.0704683296062285,-6.011826550602564,-5.956586407512077,-5.894782413772191,-5.837556528291316},
{-6.859485420281999,-7.774588377840701,-7.756837255394203,-7.538075416137872,-7.319381567431265,-7.10809892891848,-6.955444183637155,-6.843724897466018,-6.742203701782273,-6.63714115935727,-6.53961481283477,-6.450032341206679,-6.365834804571932,-6.288122688914882,-6.216516613101703,-6.1498307857400505,-6.087291470859782,-6.0284894823271316,-5.973097075650003,-5.911118973774137,-5.853716322846594},
{-6.878224905725801,-7.79625445142301,-7.778348750965961,-7.558945163094904,-7.339648940513143,-7.127776301596896,-6.9747070679295575,-6.862699564459035,-6.760881658046856,-6.65549673649366,-6.557726421902771,-6.467881886230316,-6.383447089800029,-6.3055318734113825,-6.233741612799349,-6.1668730476812925,-6.104162135568913,-6.045199508604128,-5.989654308577883,-5.927501757541904,-5.869921938414336},
{-6.897019210497092,-7.817982435357408,-7.799920092787943,-7.579873419228534,-7.359973239712417,-7.147509045724291,-6.994023844687035,-6.881728091393597,-6.779612025493407,-6.67390384603641,-6.575889139669016,-6.485781349736499,-6.40110897514387,-6.322990437824046,-6.251015314730466,-6.183963422648958,-6.1210804646107135,-6.061956766643561,-6.006258235473069,-5.943930898632971,-5.886173519655131},
{-6.915868487376429,-7.839772498686216,-7.821551445114892,-7.600860357269994,-7.380354630411603,-7.167297317442717,-7.013394669294939,-6.900810635605012,-6.798394952216768,-6.692362644898822,-6.59410310984822,-6.503730874290341,-6.41882060279022,-6.340498531455523,-6.268337853209232,-6.201102045204607,-6.1380465950933285,-6.078761387383565,-6.022908986269613,-5.960406532554771,-5.902471212364617},
{-6.934772886066639,-7.861624808007036,-7.843242969502171,-7.6219061419251375,-7.400793271677685,-7.187141276241164,-7.032819688785821,-6.919947348214919,-6.81723058008356,-6.71087328507565,-6.6123684750346,-6.521730604625191,-6.436582115216879,-6.358056295561255,-6.285709352086997,-6.21828905462462,-6.155060659570154,-6.0956134995794855,-6.039606684164028,-5.97692878433736,-5.918815156444907},
{-6.9537325597630115,-7.88353953211481,-7.864994831550575,-7.643010950741882,-7.421289329227875,-7.20704108173959,-7.052299064263934,-6.939138391884626,-6.8361190566647565,-6.729435927089071,-6.630685381998774,-6.539780689810868,-6.454393658699701,-6.375663880520733,-6.303129948995775,-6.235524589079432,-6.172122800984653,-6.112513239699183,-6.056351460865699,-5.993497791496338,-5.93520549677487},
{-6.972747660547611,-7.905516840888595,-7.886807195238362,-7.664174951816676,-7.441842971515143,-7.22699689467845,-7.071832944726339,-6.95838391855068,-6.855060528891045,-6.748050727706868,-6.649053971748799,-6.55788127190317,-6.472255372296786,-6.393321430543438,-6.320599777289317,-6.252808787554386,-6.189233154829708,-6.129460733223823,-6.073143441361026,-6.0101136865559965,-5.951642377025564},
{-6.991818340939062,-7.927556902250217,-7.908680223132251,-7.685398315916245,-7.462454358232208,-7.247008872567676,-7.091421485893079,-6.977684085373767,-6.874055137770483,-6.766717845777748,-6.667474392728764,-6.576032500961446,-6.49016740101797,-6.411029092210811,-6.338118970263167,-6.2701417894422775,-6.206391857893323,-6.146456117130583,-6.089982758334372,-6.026776601138408,-5.968125941886683},
{-7.010944753797958,-7.949659887337475,-7.930614083270484,-7.706681217896403,-7.483123660102137,-7.267077178621548,-7.111064843847998,-6.997039053560002,-6.893103037189576,-6.785437443249975,-6.685946788318688,-6.594234523494379,-6.508129895300954,-6.428787014709087,-6.355687664574361,-6.287523733335547,-6.223599056451349,-6.163499526286614,-6.106869539114996,-6.0434866653668,-5.984656337546767},
{-7.030127053134493,-7.971825965214521,-7.9526089397477335,-7.728023829768063,-7.503851038170978,-7.287201973507763,-7.130763175533502,-7.016448976894026,-6.9122043701208895,-6.804209677444305,-6.704471304095932,-6.6124874899105635,-6.526142997885472,-6.446595342451474,-6.37330599235429,-6.304954757462838,-6.240854884323198,-6.180591086027562,-6.123803917216719,-6.060244011270697,-6.001233704315382},
{-7.049365392573236,-7.9940553080887184,-7.974664961140661,-7.749426325477543,-7.524636662463308,-7.307383417835808,-7.150516635243548,-7.035914015577873,-6.931359285095823,-6.823034711604123,-6.72304808604531,-6.630791547519038,-6.544206854974618,-6.464454222601489,-6.390974089386873,-6.322435005422449,-6.258159477583831,-6.197730930100079,-6.140786018353538,-6.077048771781847,-6.017858183637145},
{-7.068659926582768,-8.016348086421203,-7.996782313872245,-7.770888879924314,-7.5454806989000645,-7.3276216745289275,-7.170325383340241,-7.055434328591218,-6.950567930369289,-6.841912707386655,-6.741677278128918,-6.649146845462383,-6.562321614954271,-6.482363801202155,-6.408692094366415,-6.339964614802739,-6.27551298410981,-6.214919192439993,-6.157815972692333,-6.093901076703332,-6.0345299184991745},
{-7.088010810584819,-8.038704472397512,-8.018961165194924,-7.792411667680426,-7.566383314071572,-7.347916904749582,-7.190189575558179,-7.075010073851445,-6.96983045473462,-6.860843828966608,-6.760359026651713,-6.667553538762149,-6.580487422004808,-6.500324225125951,-6.426460144110024,-6.357543728852761,-6.292915542027913,-6.232156003505224,-6.174893911273102,-6.110801055066986,-6.051249052150524},
{-7.10741819877876,-8.061124637861212,-8.041201683154213,-7.8139948630778235,-7.5873446776822675,-7.368269267943106,-7.21010937000392,-7.094641411022167,-6.989147005559062,-6.879828235687455,-6.779093476361595,-6.686011768309982,-6.598704426563927,-6.518335640139412,-6.444278374212445,-6.375172484782524,-6.3103672891593305,-6.249441498293891,-6.192019967013039,-6.1277488382474985,-6.0680157230526675},
{-7.126882247081085,-8.08360875723156,-8.063504038924293,-7.835638645898143,-7.608364957966842,-7.388678936025826,-7.230084927403368,-7.114328497016686,-7.008517736016074,-6.89886609534733,-6.7978807760518976,-6.704521697552991,-6.616972779331263,-6.536398196141818,-6.462146922494867,-6.392851027441793,-6.32786836764717,-6.266775806550868,-6.209194269991713,-6.144744552584598,-6.084830068954034},
{-7.146403111815744,-8.106157002192049,-8.085868399997707,-7.857343188552477,-7.629444321457413,-7.409146064470406,-7.250116406488814,-7.134071495514945,-7.0279427919886075,-6.917957570869476,-6.816721069088089,-6.723083471850259,-6.635292627412127,-6.554512034563231,-6.48006592944148,-6.41057949748938,-6.345418920143857,-6.2841590615717,-6.226416953999433,-6.161788331490243,-6.1016922334820265},
{-7.165980948477227,-8.128769547212869,-8.108294936952007,-7.879108670531423,-7.650582938877051,-7.429670818703016,-7.270203968437272,-7.153870562615339,-7.047422327683307,-6.93710282977554,-6.835614503652323,-6.741697245932301,-6.65366412421281,-6.572677308038692,-6.498035540120327,-6.4283580395858735,-6.36301909154281,-6.301591397073935,-6.243688149188529,-6.178880303559708,-6.11860235084896},
{-7.185615915397648,-8.15144656666962,-8.130783821754449,-7.90093526950659,-7.671780981137999,-7.450253366390825,-7.290347773654503,-7.173725861081039,-7.066956490307348,-6.956302035614499,-6.854561223721248,-6.760363172652433,-6.672087416693103,-6.590894159686286,-6.516055884654634,-6.446186795990798,-6.3806690173223615,-6.319072945276275,-6.261007986264303,-6.196020590999979,-6.135560562703176},
{-7.205308168311603,-8.174188236152986,-8.153335225491901,-7.922823163724388,-7.693038619516301,-7.470893867808627,-7.3105479833175195,-7.193637551914435,-7.086545435260632,-6.975555354743847,-6.873561375861755,-6.779081405693432,-6.690562657677219,-6.609162736131111,-6.534127113991417,-6.4640659082942875,-6.398368843525532,-6.3366038416425,-6.278376601811033,-6.213209327557706,-6.152567000826821},
{-7.225057865944109,-8.196994728998106,-8.17594931757776,-7.944772531394847,-7.714356021766434,-7.491592491627671,-7.330804758428712,-7.213605792960152,-7.106189308149624,-6.994862954947166,-6.892615107324673,-6.79785210051341,-6.70909000368556,-6.627483185700839,-6.552249363507144,-6.4819955169950845,-6.416118711116724,-6.354184217547299,-6.295794128760463,-6.2304466364730615,-6.169621799563174},
{-7.244865165142983,-8.219866224142606,-8.198626275014249,-7.966783553099958,-7.7357333600957645,-7.512349398020888,-7.3511182644433575,-7.233630742804962,-7.12588826668798,-7.014225002072635,-6.911722562726936,-6.816675410736934,-6.7276696019252995,-6.645855651106103,-6.570422777440399,-6.4999757724726805,-6.433918760943925,-6.3718142041616375,-6.313260699491366,-6.247732644289499,-6.186725089282845},
{-7.2647302257682895,-8.242802895525529,-8.221366267855046,-7.9888564090797445,-7.757170804645284,-7.533164758715429,-7.371488660661271,-7.253712566496688,-7.145642460382078,-7.033641665650066,-6.930883887165692,-6.835551489479258,-6.7463016117108054,-6.664280283934204,-6.588647499695071,-6.518006817132118,-6.451769141247496,-6.389493939394015,-6.330776449845871,-6.265067481188453,-6.2038770058134105},
{-7.2846532060502796,-8.265804921131348,-8.244169471341593,-8.010991279661539,-7.77866853235173,-7.55403873596515,-7.391916114705964,-7.273851424353779,-7.16545204295835,-7.0531131134484895,-6.950099234411027,-6.854480498092016,-6.764986187510658,-6.682757229995332,-6.606923675877624,-6.5360887954739155,-6.469669987083762,-6.407223559028353,-6.348341513890773,-6.282451271166792,-6.22107767581474},
{-7.30463426544884,-8.288872479453858,-8.267036060671671,-8.03318834627862,-7.800226713196025,-7.574971498033847,-7.412400785106001,-7.2940474773495225,-7.185317167488392,-7.072639511621674,-6.969368741789367,-6.873462587478571,-6.783723482192727,-6.701286632131087,-6.625251448567724,-6.554221851634793,-6.487621449341532,-6.425003194308374,-6.365956026726053,-6.299884141160874,-6.238327226557885},
{-7.324673563394754,-8.312005745829083,-8.289966209435079,-8.055447790713515,-7.821845519443741,-7.595963213199866,-7.4329428429482505,-7.31430088786874,-7.2052379912056495,-7.092221034530667,-6.988692563434597,-6.892497920867754,-6.802513655857183,-6.719868639411288,-6.643630962818861,-6.572406131774187,-6.505623664372251,-6.442832982342225,-6.383620124266599,-6.317366215909715,-6.255625787802273},
{-7.3447712605047855,-8.33520490177034,-8.312960094510345,-8.077769795476343,-7.843525125674205,-7.617014045928954,-7.453542449264205,-7.334611814789241,-7.225214662918006,-7.111857847354258,-7.008070839045104,-6.911586651505786,-6.821356865111738,-6.738503398490138,-6.662062369417981,-6.590641784190666,-6.523676779033849,-6.460713056658278,-6.40133394622535,-6.334897623964935,-6.272973477534833},
{-7.364927517563046,-8.358470125225722,-8.336017892383097,-8.100154543906683,-7.865265705317142,-7.63812416397559,-7.4741997681121575,-7.354980420466745,-7.245247340717469,-7.131550117308507,-7.027503720091772,-6.930728934283252,-6.8402532648760825,-6.757191053155111,-6.680545806622831,-6.608928949674009,-6.541780932820984,-6.478643551468849,-6.4190976222162135,-6.352478490531212,-6.290370417031227},
{-7.385142494713364,-8.381801594383433,-8.359139778498502,-8.122602219053078,-7.88706743401417,-7.659293737844564,-7.494914971743128,-7.375406870036386,-7.265336175027187,-7.151298020107788,-7.046991352151963,-6.949924933258444,-6.859203017447726,-6.775931747833965,-6.6990814277669415,-6.627267780859256,-6.559936270699836,-6.496624604580575,-6.436911293145386,-6.370108940434875,-6.307816732703941},
{-7.405416355009947,-8.405199492663087,-8.382325934551773,-8.145113006292377,-7.908930488556507,-7.680522934781038,-7.515688220766606,-7.395891322390526,-7.28548132943979,-7.171101722386084,-7.066533880337374,-6.969174803351052,-6.878206282053725,-6.7947256357292645,-6.717669380363077,-6.645658421621192,-6.578142935410142,-6.514656355851912,-6.454775096819503,-6.387789106549462,-6.3253125398478005},
{-7.425749258523865,-8.428663997889089,-8.405576534350985,-8.167687088556704,-7.930855041442555,-7.701811926992377,-7.536519683082588,-7.416433941398282,-7.305682953854557,-7.190961394298938,-7.08613145405252,-6.98847870460304,-6.897263221719186,-6.813572855477105,-6.736309808329679,-6.6641010189196095,-6.596401069167769,-6.532738935798989,-6.472689172194805,-6.4055191090737935,-6.342857957599335},
{-7.446141368964163,-8.452195293313707,-8.428891761679552,-8.190324654031429,-7.952841268226621,-7.723160877882037,-7.557409529821598,-7.4370348905649735,-7.325941207862343,-7.210877208679449,-7.1057842172449455,-7.0078367982496275,-6.916373993706657,-6.832473558199126,-6.7550028639961965,-6.682595722231781,-6.614710816662409,-6.550872485458967,-6.4906536559719825,-6.423299079193384,-6.360453102883184},
{-7.466592848482833,-8.47579356037022,-8.452271792943066,-8.213025886245305,-7.974889349468867,-7.744569964022958,-7.57835792475089,-7.457694330092636,-7.34625624740147,-7.230849333209335,-7.125492320556077,-7.027249243852566,-6.93553876412625,-6.851427884190343,-6.773748693638481,-6.701142679696204,-6.633072316995822,-6.5690571367013035,-6.508668684225995,-6.4411291450378485,-6.378098091765423},
{-7.487103860337811,-8.49945898016449,-8.475716809407459,-8.23579097079346,-7.99699945973407,-7.766039351685322,-7.5993650363670895,-7.478412426717114,-7.366628229923663,-7.250877940052305,-7.145255908442778,-7.046716200362425,-6.954757694489672,-6.870435982185882,-6.792547449891572,-6.719742040600977,-6.651485714974115,-6.58729303367727,-6.52673439924547,-6.459009438258363,-6.3957930452306755},
{-7.5076745683763875,-8.523191737869638,-8.499226995030767,-8.25862009935372,-8.019171778491,-7.7875692127563525,-7.620431038158131,-7.499189344001934,-7.387057314277627,-7.270963201837731,-7.1650751302804565,-7.066237829887541,-6.974030949888402,-6.889497999363812,-6.8113992819417035,-6.738393951614853,-6.6699511560145766,-6.605580313174869,-6.544850941078039,-6.476940087391995,-6.413538078893907},
{-7.528305137027928,-8.546992014882562,-8.522802527950262,-8.281513454625383,-8.041406482690945,-7.8091597209713655,-7.6415560942550655,-7.5200252436770825,-7.407543659981457,-7.29110528662568,-7.184950132141239,-7.085814293008298,-6.993358694773633,-6.9086140761646675,-6.830304339047871,-6.757098566493369,-6.688468778957031,-6.623919111676514,-6.563018448126968,-6.4949212220235495,-6.431333313448704},
{-7.54899572989234,-8.570859997234948,-8.54644359309168,-8.30447122908663,-8.06370375023107,-7.830811044928851,-7.6627403792663245,-7.540920289087808,-7.428087424777914,-7.311304369111895,-7.204881063924404,-7.105445753375534,-7.012741094673402,-6.927784365907428,-6.849262773423106,-6.775856029562419,-6.707038726715837,-6.642309568575001,-6.581237061589491,-6.51295297240722,-6.44917886708572},
{-7.56974651269411,-8.594795868571964,-8.570150372841454,-8.327493607328506,-8.086063760478282,-7.8525233591062715,-7.683984058981878,-7.561874645776697,-7.44868877044064,-7.331560618564254,-7.224868067147327,-7.125132370885694,-7.032178315785131,-6.947009004550637,-6.86827473458834,-6.794666495465208,-6.7256611439806875,-6.660751823190367,-6.599506918049883,-6.531035476800753,-6.467074859756394},
{-7.590557650975825,-8.618799814066733,-8.593923051732418,-8.35058078255679,-8.108486695593456,-7.874296835099813,-7.705287307340768,-7.582888480334077,-7.469347857069806,-7.351874207350193,-7.244911297631916,-7.144874307807186,-7.051670523869689,-6.966288145078579,-6.887340374523774,-6.8135301162838005,-6.744336172254407,-6.679246014886303,-6.617828160262434,-6.54916886499268,-6.485021419546683},
{-7.611429310381936,-8.642872019539936,-8.617761814763071,-8.37373294151621,-8.130972734710667,-7.896131643647095,-7.726650292883278,-7.6039619546500035,-7.490064843557775,-7.3722453063383,-7.265010899791378,-7.164671726844972,-7.071217885139049,-6.985621928412002,-6.9064598478144035,-6.832447037537349,-6.763063954029349,-6.697792284496245,-6.636200930661289,-6.567353271137108,-6.503018663992407},
{-7.632361656622379,-8.66701267236931,-8.641666847543092,-8.396950275579002,-8.153522057938972,-7.918027967054513,-7.748073188326089,-7.6250952344125835,-7.510839892915101,-7.392674087677733,-7.28516702070192,-7.184524792668526,-7.0908205699088285,-7.005010500753997,-6.925633299848414,-6.8514174149458995,-6.7818446306628175,-6.716390771034639,-6.654625368522829,-6.5855888314399635,-6.52106672503578},
{-7.653354857233353,-8.69122195894306,-8.665638335573021,-8.420232977921842,-8.176134844761691,-7.939985971010174,-7.769556168132112,-7.646288487390848,-7.531673168035923,-7.413160724623594,-7.3053798109758645,-7.204433668113779,-7.110478747083107,-7.024454010068439,-6.944860888499534,-6.870441401610151,-6.80067834824149,-6.735041613996145,-6.673101616965141,-6.603875683562364,-6.539165732770925},
{-7.674409079285397,-8.715500066391542,-8.689676465910452,-8.44358123683196,-8.198811278358335,-7.962005835186574,-7.791099402791588,-7.667541877628537,-7.55256483348785,-7.433705387462396,-7.325649416961824,-7.224398515885696,-7.130192584474571,-7.0439526023110375,-6.9641427693131845,-6.8895191487972625,-6.819565250523738,-6.75374495977303,-6.691629816079512,-6.622213968512369,-6.557315815080074},
{-7.6955244904820574,-8.739847182951053,-8.713781425794878,-8.466995247275918,-8.221551543829264,-7.984087732198532,-7.812703065879759,-7.688855571032036,-7.573515052266885,-7.454308249914902,-7.345975991527666,-7.244419500319054,-7.149962251540273,-7.063506422098726,-6.983479089656612,-6.908650809113169,-6.838505475388956,-6.772500945691718,-6.710210110395565,-6.640603819512762,-6.575517112010857},
{-7.71670125858509,-8.764263498189393,-8.737953406533052,-8.490475201484514,-8.24435582132719,-8.006231839506654,-7.8343673333583865,-7.710229737742338,-7.594523987703724,-7.47496948549815,-7.366359676991124,-7.264496784628136,-7.169787917242502,-7.083115615852876,-7.002870006283047,-6.927836537317489,-6.857499170771916,-6.791309716136311,-6.728842640470248,-6.6590453818498645,-6.59376975808118},
{-7.7379395528842,-8.788749200612074,-8.762192594491353,-8.514021290291566,-8.26722429509391,-8.028438336594263,-7.856092374320724,-7.73166453972226,-7.61559180180484,-7.495689263305394,-7.38680062747153,-7.284630532027222,-7.18966975233343,-7.102780329878442,-7.022315670954413,-6.947076485055732,-6.876546476923977,-6.810171413177159,-6.747527550527593,-6.677538790419931,-6.612073894124478},
{-7.759239542065188,-8.813304480754596,-8.786499181624094,-8.537633709813235,-8.290157147770515,-8.050707394315396,-7.877878369443351,-7.753160146618029,-7.636718666180968,-7.5164677558641415,-7.407298991543939,-7.304820912802825,-7.209607925309683,-7.122500710262102,-7.041816240234766,-6.966370808397187,-6.895647538025514,-6.829086176381679,-6.766264985213638,-6.696084188908571,-6.630429657932837},
{-7.7806013957670075,-8.837929528315726,-8.810873356705997,-8.56131265409931,-8.313154564020806,-8.07303919410333,-7.899725489638513,-7.7747167254419765,-7.6579047417180846,-7.537305139601813,-7.427854916270007,-7.32506808382459,-7.229602609673748,-7.142276906830375,-7.061371864576358,-6.98571966176678,-6.914802499435609,-6.848054153291741,-6.785055084939813,-6.714681724042748,-6.648837199434638},
{-7.802025283868716,-8.862624534471252,-8.83531531204062,-8.5850583188585,-8.336216731535387,-8.09543391490297,-7.921633914273116,-7.796334446727997,-7.679150199939613,-7.558201586245559,-7.448468558024615,-7.345372215466341,-7.249653976134141,-7.162109068362042,-7.080982706218492,-7.005123201015522,-6.934011504548835,-6.867075488131377,-6.803898000434856,-6.733331538984203,-6.667296662009903},
{-7.823511376402166,-8.88738969215774,-8.859825241459475,-8.608870896248845,-8.359343833493767,-8.11789173266152,-7.943603818974225,-7.818013476906344,-7.7004552037251415,-7.579157267420669,-7.469140060944483,-7.365733469865518,-7.269762194366194,-7.181997338673682,-7.100648916879436,-7.0245815821690485,-6.953274696556036,-6.886150327758514,-6.822793872415787,-6.7520337753376225,-6.685808198613813},
{-7.845059844876232,-8.912225191779726,-8.884403336203832,-8.632750585660688,-8.382536057193647,-8.140412830674904,-7.965635380081949,-7.839753985332209,-7.721819923026487,-7.600172356367693,-7.4898695775918895,-7.386152015358675,-7.289927436548169,-7.201941870385781,-7.120370652759448,-7.044094959012,-6.972592221660307,-6.905278811318567,-6.841742847129353,-6.770788581576198,-6.704371958971024},
{-7.866670860305021,-8.93713122740155,-8.909049790134304,-8.656697583239293,-8.405793585683568,-8.162997384235496,-7.98772877502779,-7.8615561399492435,-7.743244524128386,-7.621247027287609,-7.510657259292202,-7.406628016658942,-7.3101498750038445,-7.2219428112584865,-7.140148070568102,-7.0636634874972515,-6.991964223445393,-6.924461088550743,-6.860745074678562,-6.789596103204531,-6.7229880948143546},
{-7.8883445949686575,-8.962107992665551,-8.933764799607161,-8.68071208409674,-8.429116609404446,-8.185645575489616,-8.009884180792142,-7.8834201093704905,-7.764729176531546,-7.642381451674737,-7.531503255362622,-7.427161634463118,-7.330429679248482,-7.242000309852301,-7.159981327349669,-7.08328732274822,-7.011390849293093,-6.943697301612701,-6.879800693539437,-6.808456484795897,-6.741656756566954},
{-7.9100812206670525,-8.987155680413707,-8.958548557813629,-8.704794286662946,-8.45250531466445,-8.208357587020146,-8.032101782067912,-7.905346066778293,-7.786274047481129,-7.663575803802814,-7.552407717521419,-7.447753038839437,-7.350767021969659,-7.262114516677684,-7.179870577485417,-7.102966624239343,-7.030872239236487,-6.962987601727946,-6.898909856550745,-6.827369875070872,-6.760378105609561},
{-7.931880910582549,-9.012274486362003,-8.983401264529675,-8.728944390866673,-8.475959892966785,-8.231133598266752,-8.054381752328482,-7.927334181498736,-7.807879312545992,-7.684830259313458,-7.573370801474084,-7.468402394617442,-7.371162073264713,-7.282285585984937,-7.1998159871582175,-7.122701546715689,-7.050408544964739,-6.9823321381700225,-6.918072711690911,-6.846336430768133,-6.779152295770473},
{-7.953743837540969,-9.037464605411515,-9.008323112066137,-8.753162591252476,-8.49948052871332,-8.253973795071943,-8.076724272861611,-7.9493846215627855,-7.829545132670319,-7.706144985786523,-7.594392655912088,-7.489109866655781,-7.391615009561065,-7.302513664399157,-7.219817704899469,-7.142492245460744,-7.069999908460886,-7.001731050040689,-6.937289407884236,-6.865356296446407,-6.797979485083488},
{-7.97567017593974,-9.06272623391851,-9.033314301937935,-8.777449091605376,-8.523067411486409,-8.276878355449298,-8.099129526221077,-7.971497561928118,-7.851271683030063,-7.727520164160524,-7.615473433324951,-7.509875624557026,-7.412125998613192,-7.322798910696292,-7.239875894665602,-7.162338877504226,-7.089646478314535,-7.021184488738072,-6.956560089558479,-6.884429618046852,-6.816859829297755},
{-7.997660098873894,-9.088059566536685,-9.058375031658215,-8.801804088856443,-8.546720733938855,-8.299847467933432,-8.121597694203956,-7.993673171513365,-7.873059134857613,-7.74895596447459,-7.636613287919317,-7.530699832102982,-7.432695212031831,-7.343141471865238,-7.259990715130698,-7.182241602102295,-7.109348399870214,-7.040692602604395,-6.975884908970329,-6.9035565537487855,-6.835793487698538},
{-8.019713782079634,-9.113464802212548,-9.083505500209867,-8.826227783662034,-8.570440683382913,-8.322881310523371,-8.144128955405904,-8.015911622031126,-7.89490765487426,-7.770452560274862,-7.657812374964124,-7.551582655258244,-7.453322822402697,-7.363541504193563,-7.280162324968842,-7.202200573316077,-7.129105820480618,-7.06025554263033,-6.995264014956774,-6.922737252010847,-6.854780621797545},
{-8.041831400536466,-9.138942138735729,-9.108705909951823,-8.850720378090045,-8.59422745462507,-8.345980071477243,-8.166723495276528,-8.03821308798797,-7.916817419099971,-7.79201012836711,-7.679070845406386,-7.572524261238868,-7.474009003650281,-7.383999163546832,-7.300390885939123,-7.222215948524536,-7.148918888589833,-7.079873455761117,-7.014697558013722,-6.941971867956454,-6.873821387940552},
{-8.064013129471277,-9.164491773044574,-9.133976459008409,-8.875282070963294,-8.618081235079444,-8.369143938980415,-8.189381497140857,-8.060577739248401,-7.938788594387006,-7.813628838252043,-7.700388855591882,-7.593524817988509,-7.494753923863755,-7.40451460427721,-7.320676557865227,-7.242287884204416,-7.1687877515360015,-7.099546491794172,-7.034185689495644,-6.9612605506699765,-6.892915950724273},
{-8.086259145624354,-9.190113904951431,-9.159317351834034,-8.899913067172747,-8.642002219465212,-8.39237309404416,-8.212103145458968,-8.083005752137979,-7.960821355809458,-7.835308866851847,-7.721766564063728,-7.614584492737777,-7.515557757506031,-7.425087983196136,-7.341019501167466,-7.262416536657838,-7.188712555391248,-7.119274797325488,-7.05372855947644,-6.980603453805088,-6.912064466785523},
{-8.108569625226664,-9.215808733126323,-9.184728789536166,-8.924613566574408,-8.665990597219206,-8.41566772267106,-8.234888621518621,-8.105497297772672,-7.9829158760549035,-7.857050390521181,-7.743204121172312,-7.635703451538575,-7.536420677861315,-7.44571945547068,-7.361419877095614,-7.282602063758532,-7.208693452630541,-7.139058525848668,-7.073326319499756,-7.000000733823981,-6.931267094536452},
{-8.130944745411398,-9.241576458902273,-9.210210976976668,-8.949383773535374,-8.690046564137447,-8.439028018547106,-8.257738115120446,-8.128052550688153,-8.00507232597738,-7.878853581452859,-7.7647016870905645,-7.656881864415482,-7.557342852145666,-7.466409182656207,-7.381877849678858,-7.302844623569399,-7.22873059057747,-7.158897827393957,-7.092979120890959,-7.019452544322121,-6.950524001775193},
{-8.153384683799231,-9.267417281771486,-9.235764117111103,-8.974223889483255,-8.714170312683564,-8.462454159744084,-8.280651808498078,-8.150671684721601,-8.027290878162603,-7.900718612436322,-7.786259415894165,-7.678119894801057,-7.578324453366804,-7.487157318813843,-7.402393581054639,-7.323144367168425,-7.248824114576564,-7.178792849343154,-7.112687118933536,-7.038959035053267,-6.969835341064027},
{-8.175889618498331,-9.293331403358025,-9.261388417347916,-8.999134120720555,-8.738362038944615,-8.485946343615069,-8.303629890375305,-8.173354875165387,-8.049571708397707,-7.922645661383285,-7.80787746871647,-7.699417717798497,-7.599365654721623,-7.5079640283220215,-7.422967230173526,-7.343501455092337,-7.26897417861619,-7.198743747518165,-7.13245046310476,-7.058520362799754,-6.989201279444387},
{-8.198459728257149,-9.31931902582437,-9.287084081021021,-9.024114670231938,-8.762621934467461,-8.509504754008958,-8.326672548035276,-8.196102299058111,-8.071914989035577,-7.944634901010431,-7.829556002514437,-7.720775497553404,-7.620466627296992,-7.528829468370532,-7.443598964557168,-7.363916041678749,-7.289180932275485,-7.218750667525455,-7.152269308688119,-7.078136681331671,-7.008621974629932},
{-8.22109519168589,-9.345380351114727,-9.312851316833985,-9.049165743490448,-8.786950195339159,-8.533129579547676,-8.349779968004441,-8.218914127966855,-8.09432089497568,-7.9666865075269016,-7.851295176849817,-7.742193403551937,-7.641627543242066,-7.549753801795305,-7.464288947492605,-7.384388285572641,-7.309444527272717,-7.2388137676462065,-7.172143806936219,-7.097808144768351,-7.028097584581701},
{-8.243796188718989,-9.371515582490247,-9.338690332704573,-9.074287545503466,-8.811347018534434,-8.556821012331056,-8.372952341014752,-8.241790542539093,-8.116789601219352,-7.988800657403772,-7.8730951507313875,-7.763671607594006,-7.662848572945222,-7.570737190602813,-7.485037341495627,-7.404918340587756,-7.329765110800508,-7.258933195378631,-7.192074113379931,-7.117534908247762,-7.047628274885938},
{-8.2665628996765,-9.397724926013325,-9.364601337336353,-9.09948028330109,-8.835812601653743,-8.580579244939145,-8.396189856124693,-8.264731718460098,-8.139321283786558,-8.010977524740156,-7.894956084273872,-7.785210278991144,-7.684129888613825,-7.591779798240168,-7.505844312967383,-7.4255063646123745,-7.350142837763997,-7.279109105526004,-7.212060383695643,-7.137317124681431,-7.06721420341637},
{-8.289395504660206,-9.424008581903763,-9.390584539214615,-9.124744159998954,-8.860347137437202,-8.604404467638233,-8.419492700515548,-8.287737831124105,-8.161916116048815,-8.033217283475096,-7.916878141040797,-7.806809586909367,-7.705471663168282,-7.6128817865101155,-7.526710027523222,-7.4461525096267,-7.370577857625904,-7.299341651290888,-7.232102770838537,-7.157154947170056,-7.086855531932088},
{-8.312294185168867,-9.450366758748714,-9.416640149211162,-9.150079387560254,-8.884950827981811,-8.628296869646874,-8.442861068091588,-8.310809057176812,-8.184574276485364,-8.055520112538943,-7.9388614810450235,-7.828469706611941,-7.726874064726871,-7.634043319951161,-7.547634648231906,-7.4668569360655965,-7.391070323908934,-7.319630981713999,-7.252201429364504,-7.177048527839361,-7.1065524160221685},
{-8.335259122352,-9.476799659321841,-9.442768377572065,-9.175486169289798,-8.909623865853064,-8.652256645014859,-8.466295146427,-8.333945576683618,-8.20729594034492,-8.077886184983072,-7.9609062671952415,-7.850190802695579,-7.748337267126772,-7.65526456302905,-7.568618339209934,-7.487619797742809,-7.4116203884914285,-7.339977255833219,-7.272356514411513,-7.196998028943199,-7.126305015844991},
{-8.358290498654242,-9.503307491235319,-9.468969436478801,-9.200964714982547,-8.934366454239353,-8.676283986540511,-8.489795131798019,-8.35714756984089,-8.230081286877976,-8.100315680436324,-7.983012666620198,-7.87197305499285,-7.769861442706315,-7.676545688693295,-7.589661273945239,-7.508441255558864,-7.432228206307627,-7.360380628859275,-7.29256818680733,-7.217003597164876,-7.146113489143318},
{-8.381388496345608,-9.529890462828916,-9.495243541532545,-9.226515234287945,-8.959178790275473,-8.700379089583294,-8.513361213335884,-8.380415212974185,-8.252930491624284,-8.122808772313874,-8.005180837921216,-7.893816631330992,-7.7914467596274335,-7.6978868526930455,-7.61076361531741,-7.529321457288461,-7.452893929192214,-7.38084125664318,-7.3128365979209775,-7.23706539007253,-7.165977993878187},
{-8.40455329859833,-9.556548778069555,-9.521590902644675,-9.252137932839105,-8.984061074923375,-8.724542148411274,-8.536993584653828,-8.403748684708262,-8.275843735420494,-8.145365638818475,-8.027410953131039,-7.915721705823671,-7.813093391232542,-7.719288228152436,-7.63192553143017,-7.550260564676137,-7.473617713272688,-7.401359290233813,-7.333161904272856,-7.257183557361714,-7.18589868779236},
{-8.42778508939955,-9.583282647596207,-9.54801173506712,-9.277833023967105,-9.009013505550683,-8.748773357045138,-8.560692440441926,-8.427148168411804,-8.298821196032804,-8.167986458094674,-8.049703175289324,-7.937688458536286,-7.8348015090450644,-7.740749983378919,-7.653147192060715,-7.5712587326270295,-7.494399714079918,-7.42193488839257,-7.3535442676220555,-7.2773582582885865,-7.205875719999312},
{-8.4510840530711,-9.610092279668606,-9.574506254779408,-9.303600716186338,-9.034036283846945,-8.773072909607436,-8.584457972887321,-8.450613839770085,-8.321863049583044,-8.190671404227032,-8.072057669836795,-7.959717054487555,-7.856571282696677,-7.762272284468054,-7.674428761485615,-7.592316116933944,-7.515240084263496,-7.442568207814475,-7.373983838348067,-7.297589641297236,-7.225909244894865},
{-8.474450372712454,-9.636977882182691,-9.60107467857597,-9.329441218302236,-9.059129612549441,-8.79744100345124,-8.608290379648679,-8.474145884320023,-8.344969481026055,-8.21342065652425,-8.094474606754375,-7.981807675663731,-7.878402880989597,-7.783855299145216,-7.69577041323646,-7.613432875703438,-7.5361389806785155,-7.463259406926227,-7.394480782371829,-7.317877863635658,-7.245999413644313},
{-8.497884235839592,-9.663939666803344,-9.627717223323998,-9.355354743122007,-9.084293692751089,-8.82187783603149,-8.632189854353783,-8.497744481428526,-8.36814066885563,-8.23623439365474,-8.116954154407722,-8.003960497822845,-7.900296478474047,-7.805499199545011,-7.717172317657969,-7.634609165004804,-7.557096560602076,-7.484008644911228,-7.415035254831309,-7.338223083876073,-7.266146374779055},
{-8.52138582598127,-9.690977842612483,-9.65443410523585,-9.381341501604766,-9.109528726301505,-8.84638360500685,-8.656156592085608,-8.521409812776255,-8.391376793180825,-8.259112791842199,-8.139496484873234,-8.026175696533755,-7.922252245232812,-7.827204152592458,-7.738634638633812,-7.655845140121528,-7.57811298200977,-7.50481607785332,-7.435647416132269,-7.358625450899126,-7.286350277470774},
{-8.544955330318771,-9.718092622286349,-9.68122554468573,-9.40740170769277,-9.134834915734245,-8.870958506246097,-8.680190792962094,-8.545142060378566,-8.414678037850535,-8.282056030118838,-8.162101768815774,-8.048453450770467,-7.9442703474196605,-7.848970334060141,-7.760157551878365,-7.677140959611279,-7.599188399704872,-7.525681864790386,-7.45631741991383,-7.379085118722287,-7.3066112608939875},
{-8.568592936404457,-9.745284217133303,-9.70809176073817,-9.433535571399261,-9.160212465154473,-8.895602740172762,-8.704292651789729,-8.56894140834629,-8.438044583090232,-8.305064288710128,-8.184770177540486,-8.070793939230498,-7.9663509599195095,-7.8707979079772485,-7.781741228100145,-7.698496779805282,-7.620322974893497,-7.546606167554273,-7.477045432286104,-7.399602247867733,-7.326929471659241},
{-8.592298829811625,-9.772552838214324,-9.735032972792396,-9.459743305531447,-9.18566157881287,-8.92031650415447,-8.728462363869767,-8.592808037123177,-8.461476611846592,-8.328137744116248,-8.207501882003271,-8.093197340684128,-7.98849424844957,-7.892687049024971,-7.803385834951769,-7.719912758315331,-7.641516861374839,-7.5675891447172035,-7.49783161203959,-7.420176990141044,-7.347305049057468},
{-8.616073199082166,-9.799898699922778,-9.762049403347191,-9.48602512787329,-9.211182460945565,-8.945099999094964,-8.752700132652535,-8.616742136422545,-8.48497431112628,-8.351276576417149,-8.230297059300938,-8.11566383606987,-8.010700385231758,-7.914637927693548,-7.825091551494552,-7.7413890544412425,-7.662770222304971,-7.588630958343856,-7.5186761198419845,-7.440809506122605,-7.36773812994943},
{-8.639916232903488,-9.8273220148767,-9.789141273926361,-9.512381246691803,-9.23677531607973,-8.969953427906148,-8.777006154152332,-8.640743883472169,-8.508537861343939,-8.374480965328985,-8.253155882892315,-8.138193607548601,-8.032969541061902,-7.936650714240386,-7.846858544362476,-7.762925823946716,-7.68408321464085,-7.609731767850462,-7.539579114381922,-7.461499953758903,-7.38822885202535},
{-8.663828119788377,-9.854822998808231,-9.81630880710145,-9.538811881488073,-9.262440349004464,-8.994876985932933,-8.8013806289091,-8.664813467068598,-8.532167446843232,-8.397751090305974,-8.276078529044753,-8.160786835520412,-8.055301882093772,-7.9587255868682405,-7.868686986272223,-7.784523225520388,-7.705455998249818,-7.630891738925129,-7.560540762453456,-7.482248485539458,-7.408777347460273},
{-8.687809048708004,-9.882401864822896,-9.843552226098836,-9.565317245243932,-9.288177768874448,-9.019870878531947,-8.825823754596058,-8.68895107107528,-8.55586325385957,-8.42108713221387,-8.29906517334166,-8.183443704547244,-8.077697577449726,-7.980862713317038,-7.89057705149753,-7.80618141607556,-7.726888732941006,-7.652111025367049,-7.581561219427385,-7.503055264271097,-7.429383751688874},
{-8.711859209957765,-9.910058829489572,-9.870871756371344,-9.591897553749732,-9.313987779940362,-9.044935308469576,-8.850335733353859,-8.713156882949988,-8.57962546707131,-8.44448927231133,-8.322115999209927,-8.206164397386601,-8.100156798624084,-8.003062268137,-7.912528915476287,-7.827900561125716,-7.7483815800223965,-7.673389800096629,-7.602640652665286,-7.523920455627376,-7.4500481955037685},
{-8.735978794495168,-9.937794108991511,-9.898267623095307,-9.618553022650303,-9.339870589203201,-9.070070474830572,-8.874916764892987,-8.73743108472263,-8.603454272262752,-8.4679576887429,-8.345231180253904,-8.22894910305331,-8.122679714346305,-8.02532442296797,-7.934542750692344,-7.849680814280873,-7.769934696771088,-7.694728219372337,-7.623779223649763,-7.544844208154245,-7.470770809391979},
{-8.76016799241188,-9.965607920246839,-9.925740051141474,-9.645283868347178,-9.365826405686676,-9.095276584324893,-8.899567052314524,-8.761773865582654,-8.627349854752538,-8.491492563916836,-8.368410897091962,-8.25179800252954,-8.14526649081381,-8.047649356201873,-7.956618726384477,-7.871522331741289,-7.791548248278559,-7.716126447892748,-7.644977095071226,-7.565826692909468,-7.491551718339906},
{-8.784426994912792,-9.993500479737122,-9.953289267781656,-9.672090308828047,-9.391855434791069,-9.120553838845808,-8.924286796696833,-8.786185413046042,-8.65131240435585,-8.515094082351425,-8.391655332801747,-8.274711285412195,-8.167917299128021,-8.070037242127,-7.978757021744968,-7.893425283487886,-7.8132223951251945,-7.73758465044375,-7.666234431162593,-7.586868063779548,-7.512391061070957},
{-8.808755995305546,-10.021472005260875,-9.980915501757408,-9.698972562211566,-9.417957887824741,-9.14590244217834,-8.949076200762647,-8.81066591135459,-8.675342102811555,-8.538762421128922,-8.414964668278117,-8.297689140104922,-8.190632306155749,-8.092488249851158,-8.000957806332735,-7.915389822170255,-7.834957297993242,-7.759102993106353,-7.687551391296438,-7.607968490876374,-7.533288957609329},
{-8.833155186206568,-10.049522716908541,-10.008618979700259,-9.725930846703704,-9.444133976794546,-9.171322601207066,-8.973935467685806,-8.835215550265275,-8.699439140575123,-8.562497766295564,-8.438339085740154,-8.320731757048634,-8.213411680597346,-8.115002561491565,-8.023221259572892,-7.937416108339676,-7.856753118947381,-7.780681639080285,-7.708928146603284,-7.629128127868171,-7.5542455440881895},
{-8.857624759781174,-10.077652832609601,-10.036399934338988,-9.752965379753732,-9.470383907246287,-9.19681452246732,-8.998864801760647,-8.85983452067012,-8.723603705060668,-8.586300300565199,-8.461778770419187,-8.34383932298806,-8.236255590818473,-8.137580350929056,-8.045547553192591,-7.959504307233146,-7.878610022497014,-7.802320754650282,-7.730364856572123,-7.650347142480314,-7.575260950878146},
{-8.882164910108258,-10.105862573000195,-10.064258592115948,-9.7800763813284,-9.496707891550614,-9.222378412741818,-9.0238644038036,-8.88452300557401,-8.747835979433148,-8.610170205283794,-8.485283906193217,-8.367012033777428,-8.259164209463052,-8.16022179297579,-8.067936863284558,-7.981654574658023,-7.90052816979005,-7.824020503976499,-7.751861689263023,-7.671625699076685,-7.596335307898698},
{-8.906775830910192,-10.134152158636425,-10.092195185745368,-9.807264069648227,-9.523106139007723,-9.248014474360389,-9.048934481354081,-8.909281195621588,-8.77213615780056,-8.634107668185607,-8.508854679545038,-8.390250078955432,-8.282137696121936,-8.182927066285629,-8.090389359364053,-8.003867075720336,-7.9225077272130875,-7.845781052441453,-7.7734188076719875,-7.69296395542915,-7.617468753858702},
{-8.931457718281308,-10.16252180961601,-10.12020994622435,-9.834528668303392,-9.54957886315242,-9.273722917845589,-9.074075236610952,-8.9341092826362,-8.796504423342412,-8.65811287026736,-8.532491277364898,-8.413553650971153,-8.30517623090418,-8.20569634581625,-8.112905219415552,-8.026141972310143,-7.944548855637549,-7.8676025663735345,-7.795036372976028,-7.714362077807891,-7.638661421398865},
{-8.95621076671523,-10.190971748677839,-10.148303106820094,-9.861870396518498,-9.576126277213916,-9.299503950969665,-9.099286879369174,-8.959007455414394,-8.820940969220828,-8.682186000063666,-8.556193887954578,-8.436922949331347,-8.328279974666657,-8.228529817322851,-8.135484616286703,-8.048479426070116,-7.966651718947105,-7.889485217892798,-7.816714559143293,-7.735820232133847,-7.659913449722808},
{-8.981035172284464,-10.21950219887367,-10.176474900290486,-9.889289472921519,-9.602748590157717,-9.325357782916399,-9.124569612176856,-8.98397590253444,-8.845445978193311,-8.706327238847734,-8.579962693620473,-8.460358165742946,-8.351449097084696,-8.251427649243851,-8.158127723625512,-8.070879598904867,-7.988816486889846,-7.9114291729347315,-7.838453526652302,-7.757338577808696,-7.681224983040011},
{-9.005931131148827,-10.248113380817813,-10.204725560353836,-9.916786122805206,-9.6294460202771,-9.351284624164691,-9.149923641758505,-9.009014816416311,-8.870019647307345,-8.730536774193752,-8.603797891628346,-8.483859497500816,-8.374683771966374,-8.274390024569584,-8.180834719125414,-8.093342659092741,-8.01104332007526,-7.933434595252038,-7.860253443621332,-7.778917283911142,-7.702596163871931},
{-9.030898841083399,-10.276805520945345,-10.233055321790744,-9.94436056750419,-9.6562187737145,-9.377284684131155,-9.17534917712328,-9.034124386293115,-8.894662160630105,-8.754814792991965,-8.627699670847505,-8.507427143747918,-8.397984166731476,-8.29741712663963,-8.203605773494928,-8.115868761364254,-8.03333239047788,-7.955501657052082,-7.882114474923583,-7.8005565142666455,-7.724027138858219},
{-9.05593849876459,-10.30557884251175,-10.261464421884739,-9.972013030841481,-9.683067071557161,-9.40335816955485,-9.200846420266316,-9.059304802955012,-8.919373707467457,-8.779161482743802,-8.651668215708924,-8.53106129943626,-8.421350451011676,-8.320509129960556,-8.226441055972828,-8.138458077984978,-8.055683860351564,-7.9776305236591725,-7.904036787440418,-7.822256428509718,-7.745518055453431},
{-9.081050302906078,-10.334433568401437,-10.289953094019438,-9.999743732449133,-9.70999112642312,-9.42950529405789,-9.226415583412745,-9.084556259389501,-8.944154478886048,-8.803577028709697,-8.675703722983599,-8.554762166677392,-8.444782794133062,-8.343666216896963,-8.249340746740927,-8.161110769302468,-8.078097895922838,-7.999821367120603,-7.92602054811141,-7.8440171982801985,-7.767069067267585},
{-9.106234452905483,-10.363369928963948,-10.31852157972753,-10.027552902087336,-9.73699115497584,-9.455726271058666,-9.252056876808638,-9.109878950243,-8.969004669808783,-8.828061622130917,-8.699806383272517,-8.578529945458286,-8.468281368695898,-8.36688856726687,-8.272305019389023,-8.183827006039792,-8.100574669690104,-8.022074358988903,-7.948065924880211,-7.865838989266194,-7.788680332741933},
{-9.13149114618136,-10.392388145439327,-10.347170110588195,-10.05544075742364,-9.764067371259443,-9.482021311618155,-9.27777050343866,-9.135273063438945,-8.99392446478305,-8.852615448253346,-8.723976392808254,-8.602364838894573,-8.491846348188119,-8.390176366418018,-8.295334040769376,-8.206606946216198,-8.123114349480602,-8.044389666552888,-7.97017308609793,-7.88772196546779,-7.8103520042059245},
{-9.15682058443781,-10.421488446707372,-10.37589893063705,-10.083407530735712,-9.791219991268008,-9.50839062788873,-9.303556676051812,-9.160738794744248,-9.01891406244249,-8.877238697255962,-8.74821394160972,-8.626267046216526,-8.515477902663406,-8.41352979534713,-8.318427989070187,-8.229450759637984,-8.145717103645438,-8.066767459895345,-7.992342195400852,-7.909666292282054,-7.832084239897085},
{-9.182222967305279,-10.450671061043977,-10.40470827781246,-10.11145344284887,-9.818449233978754,-9.53483443389996,-9.329415603540838,-9.186276335080038,-9.043973648702377,-8.90193156148598,-8.772519225007272,-8.650236770801712,-8.539176203179522,-8.436949032751727,-8.341587034839904,-8.252358612633543,-8.168383103417,-8.089207913624705,-8.014573421140085,-7.931672140548471,-7.853877207700862},
{-9.207698496051307,-10.479936214687768,-10.433598391871783,-10.13957871918683,-9.845755318077863,-9.561352943695965,-9.35534749290673,-9.211885881915805,-9.069103417466977,-8.926694225301617,-8.796892439291696,-8.674274215023615,-8.562941422511358,-8.460434263499337,-8.364811351129902,-8.275330674645375,-8.191112513217377,-8.111711196237593,-8.03686693412601,-7.953739670483628,-7.875731069187168},
{-9.233247372016194,-10.509284138359362,-10.462569514129427,-10.167783590310137,-9.873138458497124,-9.587946369705605,-9.381352560885716,-9.237567626783857,-9.094303564736038,-8.95152688291273,-8.821333780288114,-8.698379586290685,-8.586773738468764,-8.483985673621646,-8.388101115633617,-8.298367114999564,-8.213905513897771,-8.13427748423419,-8.059222903626505,-7.97586905733624,-7.897645991688478},
{-9.258869797369698,-10.538715060654795,-10.491621885928907,-10.196068280230975,-9.90059887561074,-9.61461493220122,-9.40743101334374,-9.263321763501153,-9.119574280513916,-8.976429720190936,-8.845843443006743,-8.722553086496191,-8.610673322153161,-8.507603445119457,-8.411456490226556,-8.321468095644377,-8.236762269560131,-8.156906945296214,-8.081641490512993,-7.998060463301954,-7.919622137953411},
{-9.284565975089208,-10.568229211028665,-10.520755751102115,-10.22443301952444,-9.928136789661949,-9.641358843116905,-9.433583064455888,-9.289148491632659,-9.144915763405152,-9.001402935289661,-8.870421627056203,-8.746794921215042,-8.63464035265497,-8.531287762787542,-8.434877656531171,-8.344633789762156,-8.259682955904282,-8.179599752242211,-8.10412287102372,-8.020314059074735,-7.941659683812759},
{-9.310336108239426,-10.597826821016497,-10.549971351400018,-10.252878034094465,-9.955752418434713,-9.668178318039281,-9.459808922299999,-9.315048002681579,-9.170328202730161,-9.026446713498444,-8.895068528028787,-8.771105296807946,-8.658675001497613,-8.555038808641257,-8.45836478259298,-8.367864366955473,-8.282667744730134,-8.202356083333143,-8.126667210934102,-8.042630007883417,-7.963758797530318},
{-9.336180401107413,-10.627508120902348,-10.579268930508988,-10.28140355386131,-9.98344598581025,-9.695073576789582,-9.48610880060005,-9.341020495616249,-9.195811796947964,-9.051561250598752,-8.919784347541281,-8.795484421774745,-8.68277744842635,-8.578856775086024,-8.481918041507015,-8.39116000093054,-8.305716810456943,-8.225176111329347,-8.14927467731468,-8.065008481193217,-7.985919657978229},
{-9.362099058293097,-10.657273343385896,-10.608648733177688,-10.31000980627141,-10.011217708990443,-9.722044834226836,-9.51248291398224,-9.367066166349105,-9.221366738420329,-9.076746736027417,-8.944569282757584,-8.819932497834088,-8.706947872124147,-8.60274183913134,-8.505537609715248,-8.414520853883005,-8.328830324680894,-8.248060005862499,-8.17194544323138,-8.087449643440777,-8.008142426915583},
{-9.388092284163577,-10.687122720657499,-10.638111007414409,-10.338697022540146,-10.039067812816938,-9.749092311554705,-9.538931471004616,-9.393185210908996,-9.246993224267499,-9.102003361433162,-8.969423532180372,-8.84444973396603,-8.731186446399079,-8.62669419478334,-8.529223650024505,-8.437947101760074,-8.352008462446975,-8.271007947347243,-8.19467967262608,-8.109953665727517,-8.030427287187194},
{-9.414160284781246,-10.71705648623174,-10.667655995915993,-10.367465434770565,-10.066996513924096,-9.776216224767268,-9.565454687384772,-9.419377828628058,-9.272691454723827,-9.12733132269932,-8.994347298983485,-8.869036339252489,-8.755493357908563,-8.650714027578942,-8.552976343940827,-8.461438916099723,-8.375251404751907,-8.294020104134688,-8.217477538695675,-8.132520709652454,-8.052774413459701},
{-9.440303266586852,-10.747074873826932,-10.697283948364202,-10.396315273450455,-10.095004041286302,-9.803416793292854,-9.592052777195931,-9.44564421880932,-9.298461620492162,-9.152730809728382,-9.019340784667293,-8.893692520112381,-8.779868783531128,-8.674801520974142,-8.576795860135462,-8.484996472951025,-8.39855931821512,-8.31709665840026,-8.240339211726678,-8.155150945924106,-8.075183983222814},
{-9.46652143621759,-10.777178118281881,-10.726995110104326,-10.425246769504156,-10.123090618129936,-9.830694234216935,-9.618725952735986,-9.471984579198761,-9.324303923960542,-9.178202017123112,-9.044404186250176,-8.918418484405265,-8.80431290132401,-8.698956868320238,-8.600682370044524,-8.508619936037576,-8.42193238096661,-8.340237779557356,-8.26326485745085,-8.177844540696242,-8.097656169135007},
{-9.492815001089184,-10.807366454042494,-10.756789731807658,-10.454260154103395,-10.151256461293087,-9.858048771508038,-9.64547442755429,-9.498399110671016,-9.350218558349297,-9.203745137274382,-9.069537708419375,-8.9432144373568,-8.828825900724041,-8.723180258297361,-8.624636052671121,-8.532309483285644,-8.445370771936723,-8.363443651527632,-8.286254649909097,-8.200601659307722,-8.120191156849614},
{-9.519184170181688,-10.837640117955743,-10.7866680608131,-10.483355660777306,-10.17950180223852,-9.885480627519428,-9.672298416873673,-9.5248880150466,-9.376205725056934,-9.229360360957799,-9.09474155663338,-8.968080590173486,-8.85340796111268,-8.747471873735776,-8.648657071549678,-8.55606528588396,-8.468874667378259,-8.386714444233803,-8.309308758965926,-8.223422471535741,-8.142789119112422},
{-9.545629150998138,-10.867999346010038,-10.816630349800107,-10.51253352528147,-10.207826862708316,-9.912990017721313,-9.699198135887855,-9.55145148820884,-9.402265621145489,-9.255047885220847,-9.12001592766319,-8.993017150773085,-8.878059266266064,-8.771831907652086,-8.672745604373631,-8.579887519066688,-8.49244424617791,-8.410050330479862,-8.332427354005631,-8.246307135923416,-8.165450238142512},
{-9.572150153282564,-10.898444374892279,-10.846676846515038,-10.54179397864209,-10.236231867398601,-9.940577165529248,-9.72617379714211,-9.578089736227412,-9.428398443284095,-9.280807905059191,-9.145361027767649,-9.01802432576369,-8.90278000215767,-8.796260551724117,-8.6969018222444,-8.603776358024334,-8.516079680717667,-8.43345149612287,-8.355610603306559,-8.269255826162407,-8.188174693728797},
{-9.598747387441108,-10.928975441740477,-10.876807803389966,-10.5711372566293,-10.264717048237799,-9.968242293936783,-9.753225618434954,-9.604802961825044,-9.454604395548813,-9.306640609909664,-9.170777066756273,-9.043102326104417,-8.927570356143406,-8.820757999521447,-8.721125902957283,-8.627731975066126,-8.539781153813237,-8.456918114272412,-8.37885868405283,-8.29226870254206,-8.210962669618311},
{-9.625421063057729,-10.959592788931332,-10.907023473584559,-10.600563594372943,-10.293282622675179,-9.995985624904279,-9.780353813854163,-9.631591365658096,-9.48088367098535,-9.332546197838383,-9.19626423936279,-9.068251355973189,-8.952430514415028,-8.845324435795192,-8.74541801707528,-8.651754544916912,-8.563548844482284,-8.480450362883857,-8.402171766021638,-8.315345932001946,-8.233814345498104},
{-9.652171391426236,-10.990296649019001,-10.937324109341716,-10.630073227061075,-10.321928827645024,-10.02380738343345,-9.80755860087811,-9.65845515205001,-9.507236477831611,-9.358524857758312,-9.221822758423514,-9.093471627507824,-8.977360664139269,-8.869960057447315,-8.769778337256867,-8.675844244789914,-8.587382930942113,-8.50404841962154,-8.42555001868459,-8.338487683126004,-8.256729902670486},
{-9.678998584655346,-11.021087266970426,-10.967709963166271,-10.659666392064537,-10.350655882022693,-10.051707790931687,-9.834840193478158,-9.685394529005862,-9.533663011025055,-9.38457678949635,-9.247452824667562,-9.11876334673434,-9.002360995087656,-8.894665057203383,-8.794207040293259,-8.700001247736509,-8.611283592123073,-8.527712460461771,-8.448993613783387,-8.36169412106392,-8.279709525057115},
{-9.705902855253953,-11.051964881145977,-10.998181291244691,-10.689343327045208,-10.379464020152227,-10.079687070159707,-9.86219880921999,-9.712409696163377,-9.560163473244756,-9.410702182969544,-9.273154642854934,-9.144126723040245,-9.027431695256382,-8.919439623176004,-8.818704296383657,-8.724225734258653,-8.63525100624247,-8.55144266365096,-8.472502725519007,-8.384965402379748,-8.302753395648324},
{-9.732884414945147,-11.082929732976481,-11.028738347114995,-10.719104266318027,-10.408353471168084,-10.107745445871842,-9.889634663719335,-9.73950086327386,-9.586738060417701,-9.436901232591481,-9.298928421616438,-9.169561963324668,-9.052572953500203,-8.944283954391722,-8.843270281795412,-8.748517872882076,-8.65928535797866,-8.575239211626467,-8.496077526724548,-8.408301698902505,-8.325861695382628},
{-9.759943479199137,-11.113982063965523,-11.059381388142356,-10.748949450833607,-10.437324461468961,-10.135883145660046,-9.917147977132117,-9.766668236770784,-9.61338698284817,-9.463174137548776,-9.324774366410566,-9.195069276349386,-9.077784966895706,-8.969198239094112,-8.867905176914064,-8.77287785380031,-8.683386829157826,-8.599102279069484,-8.519718191149877,-8.431703178430325,-8.349034612881951},
{-9.787080260575749,-11.145122115616687,-11.090110669712885,-10.778879116813187,-10.466377222212031,-10.164100394787965,-9.94473896312411,-9.79391202199622,-9.640110436666873,-9.489521086754394,-9.35069268393272,-9.220648869973957,-9.103067922464106,-8.994182676600758,-8.892609148548217,-8.7973058445059,-8.707555597226019,-8.623032047806191,-8.543424889983726,-8.455170000044745,-8.372272319771582},
{-9.814294974668883,-11.176350132998778,-11.120926450792467,-10.808893508045003,-10.495511983550387,-10.192397415739833,-9.972407839319203,-9.821232427450013,-9.666908627797966,-9.515942275160342,-9.37668358256633,-9.246300952421734,-9.128422015055548,-9.019237462896854,-8.917382376646856,-8.821802026242949,-8.73179185090703,-8.647028692023014,-8.567197798460256,-8.478702328546206,-8.395575003654812},
{-9.8415878369633,-11.207666358022834,-11.151828989372007,-10.838992862729356,-10.524728980395594,-10.220774436893407,-10.000154827735969,-9.848629663596512,-9.693781756592216,-9.54243790259352,-9.402747266474762,-9.272025731115718,-9.153847438181401,-9.044362788874423,-8.942225036589662,-8.846366580110043,-8.756095768403611,-8.671092399599729,-8.591037090911414,-8.502300330001162,-8.418942842152319},
{-9.868959062710928,-11.239071035641246,-11.182818542438326,-10.869177416985622,-10.55402844317723,-10.249231682842947,-10.027980140817817,-9.876103936665459,-9.720730027271202,-9.569008153921459,-9.428883942237007,-9.297823412853177,-9.17934438122029,-9.069558847972075,-8.967137303363415,-8.870999679566012,-8.780467532007606,-8.69522334098292,-8.61494294089789,-8.525964164873585,-8.442376010207226},
{-9.896408869833976,-11.270564411926898,-11.213895370849059,-10.899447418923955,-10.583410599458148,-10.277769382766564,-10.055884002125822,-9.903655461515882,-9.747753644856857,-9.595653231066535,-9.455093817057787,-9.323694206032087,-9.204913042805856,-9.09482584016223,-8.99211935600033,-8.89570151620137,-8.804907328289119,-8.719421698624501,-8.638915523188189,-8.549694000335876,-8.465874692905345},
{-9.923937474894046,-11.302146729867673,-11.245059733919334,-10.929803104809253,-10.612875687991618,-10.306387763441307,-10.083866628439864,-9.931284443169716,-9.774852810165612,-9.62237332186487,-9.481377100048121,-9.349638316882192,-9.230553615358076,-9.12016395945102,-9.017171367857372,-8.920472259414964,-8.829415337575483,-8.74368765471445,-8.662955012463499,-8.573490000329912,-8.489439058466814},
{-9.95154509677377,-11.3338182381558,-11.276311894733226,-10.960244720423361,-10.642423939701985,-10.33508705123677,-10.111928239421104,-9.958991096282261,-9.802027734767762,-9.649168624760932,-9.507734000566415,-9.375655953612295,-9.256266295909882,-9.145573401299771,-9.042293515332858,-8.94531209570414,-8.85399175225757,-8.768021383948508,-8.687061586024356,-8.59735232674575,-8.513069287466351},
{-9.97923195243493,-11.365579182238434,-11.307652114657685,-10.990772508041118,-10.672055591232493,-10.363867474836297,-10.14006905327551,-9.986775633020443,-9.829278618984972,-9.676039333236986,-9.534164722354035,-9.401747326424811,-9.282051281319582,-9.17105436208658,-9.067485980092897,-8.970221209383453,-8.8786367510329,-8.792423070161021,-8.711235418537399,-8.621281145140529,-8.536765552082215},
{-10.006998262542766,-11.397429811317124,-11.339080654724967,-11.021386712032836,-10.701770877582021,-10.39272926709964,-10.168289294073475,-10.014638264387031,-9.856605674547609,-9.702985642157728,-9.560669477839838,-9.42791263734398,-9.30790876802348,-9.19660703887348,-9.092748940631282,-8.995199783777934,-8.903350521446555,-8.816892896589707,-8.735476688219933,-8.645276623559766,-8.560528027490363},
{-10.034844246372813,-11.429370371814002,-11.370597779445234,-11.052087572796154,-10.731570030460716,-10.421672649754328,-10.19658917922061,-10.042579205692164,-9.884009100758703,-9.730007742138696,-9.587248470532359,-9.454152094287565,-9.333838948106859,-9.222231626568828,-9.118082574786968,-9.020247999680578,-8.928133251669351,-8.841431037086295,-8.759785567744984,-8.669338923806208,-8.584356881066924},
{-10.062770124488452,-11.461401115433546,-11.402203753823414,-11.082875342763145,-10.761453290295321,-10.450697861320805,-10.224968929993338,-10.070598667123704,-9.91148911343771,-9.757105827273335,-9.613901911565335,-9.480465905144229,-9.359842025180114,-9.247928319848143,-9.14348705743032,-9.045366039616056,-8.952985125099076,-8.86603767631459,-8.784162236333941,-8.693468214347376,-8.608252286081552},
{-10.090776118420763,-11.493522288132226,-11.433898839895846,-11.11375026058522,-10.79142089013476,-10.479805125447456,-10.25342877053481,-10.098696866407408,-9.93904591705359,-9.78428009543859,-9.640630010107998,-9.506854276143713,-9.38591819665453,-9.273697317228653,-9.168962573472527,-9.070554092773818,-8.977906334112049,-8.890712992317276,-8.808606874459656,-8.71766465397377,-8.632214412689791},
{-10.118862449307926,-11.525734143404406,-11.46568330633454,-11.144712577675818,-10.821473070405773,-10.50899467447016,-10.28196892075357,-10.126874018693343,-9.966679725199356,-9.811530737031717,-9.667432972360984,-9.533317413108307,-9.412067657118314,-9.299538811217644,-9.194509302687948,-9.095812348925392,-9.002897063503042,-8.915457171417074,-8.833119654271286,-8.741928418676252,-8.656243428209564},
{-10.147029340565496,-11.558036931004608,-11.497557418653741,-11.175762538478011,-10.851610069614253,-10.538266739065875,-10.3105896012421,-10.15513033705065,-9.994390743318945,-9.83885794863454,-9.694311007740907,-9.559855521671125,-9.438290608741227,-9.32545300143829,-9.220127421504003,-9.121140983799705,-9.0279574971064,-8.940270386257907,-8.857700759806903,-8.766259670126601,-8.680339496146189},
{-10.175277014473977,-11.590430903510423,-11.529521443662816,-11.206900389879593,-10.88183212171134,-10.567621552720084,-10.339291038661031,-10.183466037677135,-10.022179186053108,-9.866261921051773,-9.72126432452933,-9.586468805515324,-9.464587249909528,-9.351440081882174,-9.245817120885476,-9.146540190966334,-9.053087829204742,-8.965152827324346,-8.88235036698461,-8.790658578116563,-8.704502787237288},
{-10.203605696187878,-11.622916311549488,-11.561575649160659,-11.238126380078029,-10.912139471343835,-10.597059347332106,-10.368073452991666,-10.2118813394045,-10.050045264695655,-9.893742847794783,-9.748293132608524,-9.613157470870647,-9.49095778237097,-9.37750024649722,-9.271578572675935,-9.172010155132739,-9.078288245364092,-8.990104673081078,-8.907068656524643,-8.815125313820317,-8.728733459720388},
{-10.232015607856738,-11.655493409693008,-11.593720304314047,-11.269440759861027,-10.942532352200942,-10.626580354073667,-10.396937070647255,-10.240376454778016,-10.077989197190618,-9.921300923699164,-9.775397642151802,-9.639921724505257,-9.51740240525396,-9.403633687223191,-9.297411960636964,-9.19755106921366,-9.103558938804781,-9.01512609970814,-8.931855804054067,-8.839660039782757,-8.753031681553693},
{-10.260506976519537,-11.688162450736854,-11.625955678158789,-11.300843779943534,-10.973011008783942,-10.65618480592093,-10.425882112729596,-10.268951604055474,-10.106011190859135,-9.948936344182584,-9.802578059607185,-9.666761766638956,-9.543921317977947,-9.429840604076162,-9.323317474074429,-9.223163117421791,-9.128900089563103,-9.040217298010248,-8.956711992417695,-8.864262934308499,-8.777397616300732},
{-10.289080027076125,-11.720923689063056,-11.6582820405456,-11.33233568634023,-11.00357568639447,-10.68587293800374,-10.454908804764273,-10.297607006839826,-10.13411146926228,-9.976649301679572,-9.829834599193418,-9.693677804534673,-9.570514725419343,-9.456121194161824,-9.349295291118324,-9.248846488262643,-9.154311897800653,-9.065378445957322,-8.981637405639049,-8.888934161019279,-8.801831424643751},
{-10.317734986936557,-11.753777381585678,-11.690699664497515,-11.363916734117083,-11.034226615374791,-10.715644982963568,-10.484017373251845,-10.32634287775727,-10.162290242864401,-10.004439991083927,-9.8571674649138,-9.72067004215205,-9.597182828947552,-9.48247564441408,-9.375345601336448,-9.274601379642263,-9.17979454730812,-9.090609728067648,-9.006632223405177,-8.913673898583511,-8.826333270582836},
{-10.3464720816919,-11.7867237823084,-11.723208819967113,-11.395587170612998,-11.06496405004873,-10.745501178127597,-10.51320804480929,-10.355159434853704,-10.190547736201552,-10.03230860248732,-9.884576874028426,-9.747738679856411,-9.62392583025212,-9.508904150876333,-9.401468585041584,-9.30042797238275,-9.205348230389063,-9.115911324799526,-9.031696625141194,-8.938482314842986,-8.850903316459153},
{-10.375291539967293,-11.819763147039339,-11.75580978054495,-11.42734725162154,-11.0957882245566,-10.775441761143156,-10.542481041920837,-10.38405689963838,-10.2188841682364,-10.060255335702095,-9.912063034906168,-9.774883923382731,-9.650743937745574,-9.53540691229864,-9.42766443103028,-9.326326463662554,-9.230973141995491,-9.141283422213746,-9.056830792222172,-8.963359586836305,-8.87554172342061},
{-10.404193590366049,-11.852895734715275,-11.78850281846826,-11.459197231059079,-11.12669938900217,-10.805466960009653,-10.57183659367729,-10.413035488731111,-10.24729975889204,-10.088280380601645,-9.939626152510755,-9.802105971917626,-9.677637345390394,-9.561984113504877,-9.45393332184176,-9.352297045377782,-9.256669463822618,-9.166726202500286,-9.082034910679795,-8.988305878971005,-8.900248653895687},
{-10.43317846149148,-11.886121801726404,-11.82128820764774,-11.491137356992112,-11.157697782749892,-10.83557701446989,-10.60127492423635,-10.442095423277351,-10.275794727349421,-10.116383931148448,-9.96726644487353,-9.829405028765905,-9.704606263665482,-9.588635954045458,-9.480275443245773,-9.378339899587445,-9.282437393354485,-9.192239847470773,-9.107309162587626,-9.013321370788617,-8.925024271244183},
{-10.462246384129685,-11.919441608159104,-11.854166224613436,-11.523167888924945,-11.188783652658458,-10.86577216720616,-10.63079626551189,-10.47123692331661,-10.304369304256397,-10.144566184593714,-9.994984124947223,-9.85678129644657,-9.731650899047963,-9.615362622702378,-9.50669099172228,-9.40445523627568,-9.308277124306187,-9.217824547871714,-9.132653735665372,-9.038406242529163,-8.949868738476653},
{-10.491397587014944,-11.952855411698692,-11.887137143159634,-11.555289077557973,-11.21995724302542,-10.896052652256913,-10.66040084195265,-10.50046020980517,-10.333023712679278,-10.17282733535103,-10.02277939945634,-9.884234976241714,-9.758771457956755,-9.64216431658133,-9.533180147176608,-9.43064323568251,-9.334188840322895,-9.24348048667889,-9.158068805671064,-9.06356066747685,-8.974782215693267},
{-10.52063230296335,-11.986363473624806,-11.920201242552139,-11.587501182133565,-11.251218800898641,-10.92641870751686,-10.690088883740827,-10.529765499319183,-10.361758180821198,-10.201167574210558,-10.05065248644678,-9.911766265548067,-9.78596814321645,-9.669041226850823,-9.55974309235171,-9.456904093560297,-9.360172740765847,-9.269207839970477,-9.183554563962389,-9.088784815568943,-8.999764868145576},
{-10.549950762695516,-12.019966053281678,-11.953358796949033,-11.619804457790451,-11.282568574257311,-10.956870572423213,-10.71986061935604,-10.559153015492484,-10.390572932257783,-10.229587100577191,-10.078603595800814,-9.939375367961475,-9.813241162555641,-9.695993543355144,-9.586380028864369,-9.483238005341263,-9.386229014809942,-9.295006803964498,-9.209111194708385,-9.114078867220087,-9.024816857039696},
{-10.579353199726029,-12.053663412909373,-11.98661008712952,-11.652199158736039,-11.314006810294813,-10.987408487329958,-10.749716275531682,-10.588622978088097,-10.419468203021097,-10.258086103727692,-10.106632942188298,-9.967062481911853,-9.84059072198579,-9.723021458412404,-9.613091136881849,-9.509645165118854,-9.412357853318099,-9.320877561112866,-9.23473888222361,-9.13944300301955,-9.049938344891416},
{-10.608839846448973,-12.087455814471468,-12.01995539109339,-11.684685548418202,-11.345533755476936,-11.0180326935224,-10.779656090802746,-10.618175611452898,-10.44844422256574,-10.286664785380708,-10.134740742112626,-9.994827808288392,-9.868017034372315,-9.750125169361127,-9.639876609842759,-9.536125773185631,-9.438559455418726,-9.346820296748774,-9.260437817021739,-9.164877402363345,-9.07512949674856},
{-10.638410937172011,-12.121343520091614,-12.053394986593048,-11.717263877450023,-11.377149659238057,-11.048743432751507,-10.809680286765797,-10.647811132032075,-10.477501224391744,-10.315323334754794,-10.162927206678432,-10.022671546015772,-9.895520306221442,-9.777304865245242,-9.666736633313121,-9.562680017901585,-9.464834005309967,-9.37283519693301,-9.286208176461514,-9.190382242493797,-9.100390471779974},
{-10.668066706610261,-12.15532679381431,-12.086929156896076,-11.749934411491267,-11.408854770095786,-11.079540945313056,-10.839789096877212,-10.677529765162035,-10.506639442013693,-10.344061952811899,-10.19119255784608,-10.050593893654877,-9.923100745363627,-9.804560735967243,-9.693671400164021,-9.58930810081074,-9.491181701101596,-9.398922448744997,-9.312050154956523,-9.215957700798754,-9.125721438147593},
{-10.697807389886293,-12.189405899858684,-12.120558182432433,-11.782697407077649,-11.440649339536321,-11.110425472288625,-10.869982754287776,-10.70733173332701,-10.535859112031176,-10.372880830735085,-10.21953700616723,-10.078595052051242,-9.950758560677059,-9.831892974325456,-9.720681101898663,-9.616010217927396,-9.517602734005777,-9.425082239991752,-9.337963937374298,-9.241603961592773,-9.15112255627173},
{-10.727633222624718,-12.223581102429307,-12.154282345451065,-11.815553125430597,-11.472533621810726,-11.141397260449594,-10.900261491929996,-10.737217258632882,-10.565160475118319,-10.401780168584082,-10.24796077751671,-10.106675220726174,-9.978493965711095,-9.859301775781205,-9.747765929379966,-9.642786566575523,-9.54409730003681,-9.451314760139212,-9.363949716062052,-9.267321207444184,-9.176593995769508},
{-10.75754444195627,-12.257852667258703,-12.188101927211392,-11.848501825763378,-11.504507857869612,-11.172456551750656,-10.93062553863274,-10.767186563403811,-10.59454376292706,-10.430760159535566,-10.276464079957805,-10.134834594937274,-10.006307169271167,-9.886787328548962,-9.774926078389399,-9.669637346174568,-9.570665588893462,-9.477620193647454,-9.390007670532214,-9.293109621823533,-9.20213591682841},
{-10.787541284800682,-12.29222086093796,-12.22201721399324,-11.88154377003957,-11.536572311320924,-11.203603593079606,-10.961075131650432,-10.797239871069905,-10.62400922528468,-10.459821000695229,-10.305047138943337,-10.163073375879321,-10.034198382141767,-9.914349826984107,-9.802161731640808,-9.696562752418686,-9.59730779522215,-9.503998734755442,-9.416137995140161,-9.318969385843957,-9.227748488570796},
{-10.817623989882122,-12.326685950742103,-12.256028488525772,-11.914679222172708,-11.568727224701433,-11.234838627526187,-10.9916105040611,-10.827377404973959,-10.653557095225551,-10.48896289098775,-10.333710173814325,-10.191391763757565,-10.06216782136471,-9.941989461571211,-9.829473090561805,-9.723562987404875,-9.624024115124485,-9.530450561171165,-9.442340875510126,-9.344900685100583,-9.253431879624259},
{-10.847792795575515,-12.361248203436844,-12.290136037336197,-11.947908445843495,-11.600972860309412,-11.266161902080057,-11.022231889801333,-10.857599390015821,-10.683187621543766,-10.518186027009506,-10.362453403606196,-10.21978995866084,-10.090215695090592,-9.969706424453761,-9.856860344792949,-9.750638256140519,-9.650814744789386,-9.556975877872901,-9.468616501486395,-9.370903707836987,-9.279186257423135},
{-10.87804794141266,-12.39590788797068,-12.324340145161841,-11.981231702113291,-11.633309468670632,-11.297573660500348,-11.052939521483495,-10.887906047617435,-10.712901046936167,-10.547490607612417,-10.391277050919598,-10.248268157869461,-10.118342213594588,-9.99750091083115,-9.88432368816575,-9.777788745879661,-9.677679868851556,-9.583574859425426,-9.494965064979624,-9.396978638455039,-9.305011795135215},
{-10.908389667951269,-12.430665273685008,-12.358641103317495,-12.014649257238489,-11.665737302100752,-11.329074154113187,-11.08373363991268,-10.918297605210682,-10.742697619687533,-10.576876831793925,-10.42018134072714,-10.27682655872195,-10.146547599229962,-10.025373110285727,-9.911863324407022,-9.805014671204844,-9.704619692463893,-9.610247706441442,-9.521386755484855,-9.423125668196008,-9.330908661999274},
{-10.938818215610809,-12.465520630037645,-12.393039194023004,-12.048161373852054,-11.698256621326436,-11.360663634011871,-11.114614475285634,-10.94877428925247,-10.772577582843951,-10.606344893516507,-10.449166492733639,-10.305465366109274,-10.174832061544294,-10.053323219151935,-9.939479438471608,-9.83231622632593,-9.731634399737231,-9.636994609754765,-9.547881760110613,-9.449344987806398,-9.356877029669704},
{-10.96933382692805,-12.500474227563245,-12.427534708898747,-12.081768318719696,-11.730867674006731,-11.392342341074254,-11.145582267796271,-10.97933632117929,-10.802541187484167,-10.635894997321884,-10.4782327364519,-10.334184779901989,-10.203195813053753,-10.08135142386891,-9.967172227712581,-9.859693614969729,-9.758724193379749,-9.663815751759103,-9.574450266285567,-9.475636783317896,-9.38291707483586},
{-10.999936743144644,-12.535526337771444,-12.462127937586047,-12.115470361648477,-11.763570723487646,-11.424110528445453,-11.176637254844536,-11.009983926735003,-10.832588680103072,-10.665527341363486,-10.507380295428447,-10.362984996754676,-10.231639071251266,-10.109457922779256,-9.994941894139629,-9.887147042987635,-9.785889265273,-9.690711334638763,-9.601092471566517,-9.50200125403353,-9.409028975613182},
{-11.030627207997895,-12.570677233132301,-12.496819171181414,-12.149267765518744,-11.796366028225748,-11.455968448950443,-11.207779675838538,-11.040717338735703,-10.86272031403496,-10.695242129266262,-10.536609398564906,-10.391866223828401,-10.260162054357352,-10.13764291224652,-10.022788633039454,-9.914676708896877,-9.813129813177511,-9.717681543668732,-9.627808567864122,-9.528438588458812,-9.435212903888896},
{-11.061405465239659,-12.605927185737528,-12.5316086991661,-12.183160798274912,-11.829253840784077,-11.487916350059095,-11.239009769677068,-11.071536777541041,-10.892936341289897,-10.725039559300058,-10.565920271590585,-10.420828657515813,-10.288764976896346,-10.165906578913564,-10.050712644937448,-9.942282816919032,-9.840446025773417,-9.744726574921515,-9.65459874246153,-9.554948985722149,-9.461469047499122},
{-11.092271758614515,-12.641276469192235,-12.566496816056315,-12.217149730422534,-11.862234426109353,-11.51995448624075,-11.270327770820586,-11.102442473827978,-10.923237013761536,-10.754919833358144,-10.595313147379784,-10.449872503901133,-10.317448058689479,-10.194249121268513,-10.078714126575505,-9.969965576339746,-9.867838105885312,-9.77184662289801,-9.681463194428943,-9.581532641605008,-9.487797574111028},
{-11.12322633452277,-12.676725357901887,-12.601483813545201,-12.251234831710462,-11.895308034261689,-11.552083108836086,-11.301733926637098,-11.133434656439931,-10.95362258508976,-10.784883157393779,-10.624788260960486,-10.47899796787533,-10.34621151938336,-10.222670735209249,-10.106793278187979,-9.997725188091863,-9.895306245278334,-9.799041879974538,-9.708402106974972,-9.608189755643252,-9.514198676741216},
{-11.154269438971824,-12.712274126897682,-12.63656998485385,-12.2854163688462,-11.928474935470149,-11.584302468283568,-11.333228473420604,-11.164513549636467,-10.984093308376032,-10.814929730579024,-10.65434583518072,-10.508205246616853,-10.375055568409152,-10.251171608979348,-10.134950303268852,-10.025561854447005,-9.922850640810793,-9.826312536926707,-9.735415683244355,-9.634920517913997,-9.540672533825273},
{-11.185401317510696,-12.747923050206737,-12.671755624367506,-12.319694612771855,-11.961735384407802,-11.616612820551381,-11.364811654682853,-11.195679384487448,-11.014649438933702,-10.845059760831646,-10.683986107527744,-10.537494551332202,-10.403980432252865,-10.279751942609437,-10.163185397163033,-10.05347578015062,-9.950471486663446,-9.853658794047078,-9.762504110694863,-9.66172514038044,-9.567219329503132},
{-11.216622219064448,-12.783672407676931,-12.707041031535482,-12.354069836816052,-11.99508964396955,-11.649014421229367,-11.396483711650944,-11.226932397388737,-11.045291238246136,-10.875273448997177,-10.713709317758912,-10.566866087232484,-10.432986333791632,-10.308411929989234,-10.191498769650934,-10.081467180105392,-9.978168986912351,-9.881080849532736,-9.789667589910096,-9.688603821094148,-9.593839252978796},
{-11.247932390877395,-12.819522473713732,-12.74242649890948,-12.38854231062578,-12.028537977996166,-11.681507525907364,-11.428244889335474,-11.258272811144707,-11.076018956533517,-10.905571007780964,-10.743515698210103,-10.596320058772108,-10.4620734861237,-10.337151770916535,-10.219890622334788,-10.109536254953127,-10.005943328083958,-9.90857889628387,-9.816906315099914,-9.715556765877409,-9.620532484783325},
{-11.279332082543988,-12.855473527029972,-12.777912325967918,-12.423112308300915,-12.06208064405655,-11.714092388356221,-11.4600954305497,-11.28970085727633,-11.106832856603432,-10.935952637693845,-10.77340548945358,-10.62585667410167,-10.491242114367196,-10.365971656196052,-10.248361152305733,-10.137683210050454,-10.033794714981923,-9.936153125192504,-9.844220479018986,-9.742584175954107,-9.647299220669083},
{-11.310821543513157,-12.891525848594029,-12.813498811534373,-12.457780103519326,-12.095717910124222,-11.746769264893373,-11.492035579460207,-11.321216769050807,-11.137733190509607,-10.966418547934154,-10.803378924872959,-10.655476139421808,-10.520492438023211,-10.394871778902598,-10.276910572283668,-10.165908246126492,-10.061723340448225,-9.963803741062293,-9.871610278234584,-9.769686258747242,-9.674139640381327},
{-11.34240102343756,-12.927679712345707,-12.84918625242426,-12.492545966510079,-12.129450042019016,-11.77953841019189,-11.52406557937502,-11.35282077906595,-11.168720222791308,-10.996968949446455,-10.833436251676176,-10.685178668238223,-10.549824681249447,-10.423852346022613,-10.30553908267757,-10.194211578200338,-10.089729409344727,-9.99153094177018,-9.899075914203422,-9.796863224444678,-9.70105394217535},
{-11.37407077478565,-12.96393540360441,-12.884974949847674,-12.527410175796831,-12.163277297600871,-11.81240008745226,-11.556185683220974,-11.384513123746729,-11.199794213738642,-11.02760405279696,-10.863577709591482,-10.714964470476843,-10.579239068814786,-10.452913552115206,-10.334246894868556,-10.222593418089673,-10.11781311503728,-10.01933492536773,-9.92661758203758,-9.82411528925877,-9.72804231607006},
{-11.405831048490654,-13.000293199555017,-12.920865205218433,-12.562373003704124,-12.197199947186164,-11.845354555378435,-11.58839613274904,-11.41629403384286,-11.23095541827206,-11.058324064302724,-10.893803543120157,-10.744833756500157,-10.60873581978376,-10.482055593864061,-10.363034209964098,-10.251053966232575,-10.145974656916223,-10.047215887898346,-9.954235481854994,-9.851442657673033,-9.755104950920213},
{-11.437682097799552,-13.036753384920303,-12.956857319935807,-12.597434726456413,-12.231218254222767,-11.878402067217394,-11.620697175516398,-11.448163743378245,-11.262204098893562,-11.089129197003786,-10.924113995890366,-10.774786739930278,-10.638315157819306,-10.511278668156592,-10.391901235096157,-10.279593428276712,-10.174214232043596,-10.075174023397267,-9.981929808389395,-9.878845545026707,-9.78224203796708},
{-11.46962417531904,-13.073316239519045,-12.992951597290812,-12.632595623930683,-12.265332487528212,-11.911542885223753,-11.65308906174323,-11.480122491135262,-11.293540519836824,-11.120019666937878,-10.954509314411553,-10.804823635233333,-10.667977310426068,-10.540582977817394,-10.42084818179137,-10.308212020201609,-10.202532043302199,-10.103209542838158,-10.009700767608592,-9.90632416633889,-9.809453778521856},
{-11.501657536937273,-13.109982048539678,-13.029148340647225,-12.66785597067792,-12.299542916647624,-11.944777272932697,-11.685572039423278,-11.512170507689007,-11.324964937084587,-11.150995684962254,-10.984989746910287,-10.834944657224696,-10.697722496464849,-10.569968722498743,-10.449875255784718,-10.336909942998318,-10.230928290722659,-10.131322638015263,-10.037548555061221,-9.933878739946522,-9.836740360304248},
{-11.533782435886678,-13.146751093765488,-13.065447854809463,-12.703216042893473,-12.333849802569603,-11.978105485162814,-11.718146357030491,-11.544308034150163,-11.35647761222208,-11.182057465950493,-11.015555542631773,-10.865150019672,-10.727550942829112,-10.599436097516445,-10.478982670843834,-10.365687409008387,-10.259403173433384,-10.159513513906859,-10.065473367983941,-9.961509483400732,-9.864101979677798},
{-11.56599912886304,-13.183623661665479,-13.101850444159936,-12.738676120818127,-12.368253419772373,-12.011527789174579,-11.750812268714071,-11.576535306259757,-11.388078809366561,-11.21320522663882,-11.046206948783947,-10.895439942163648,-10.757462874345947,-10.628985312243458,-10.508170628541848,-10.394544627488358,-10.287956889689667,-10.187782368215267,-10.093475414556451,-9.989216612506425,-9.891538832103834},
{-11.598307871623547,-13.220600037137046,-13.138356415278395,-12.7742364849546,-12.402754034716054,-12.045044445840176,-11.783570022773347,-11.60885256313486,-11.419768789695809,-11.244439185218653,-11.076944220083533,-10.925814642483601,-10.787458517937921,-10.658616562082898,-10.53743934672093,-10.42348180746194,-10.316589644353371,-10.216129396518227,-10.121554891695268,-10.017000351945171,-9.919051118718926},
{-11.630708922391932,-13.257680506270844,-13.174966078877333,-12.809897417086177,-12.437351920685614,-12.078655714387423,-11.816419873925042,-11.64126004226273,-11.451547813921934,-11.275759561685845,-11.107767606154084,-10.956274341442622,-10.81753809255315,-10.68833005183842,-10.566789031930966,-10.452499160688603,-10.345301640219986,-10.244554814504227,-10.149712001148146,-10.044860919268103,-9.946639034547843},
{-11.663202538788028,-13.294865355375805,-13.211679737229133,-12.845659191603772,-12.472047345640021,-12.112361858788063,-11.849362073611701,-11.673757984593976,-11.48341614549281,-11.307166572165443,-11.138677361101145,-10.986819257144816,-10.84770182496868,-10.718125983519712,-10.59621989930747,-10.481596884754254,-10.374093074147822,-10.273058808787027,-10.177946948388126,-10.07279853709042,-9.974302780348808},
{-11.695788979552162,-13.332154873700347,-13.248497705571936,-12.881522094816319,-12.506840580215794,-12.146163146637264,-11.882396875618724,-11.706346626917366,-11.515374046895886,-11.338660438690567,-11.169673739932477,-11.017449612845667,-10.87794994621072,-10.748004561755806,-10.625732161104679,-10.510775204835227,-10.402964154753136,-10.301641590544023,-10.206259936996503,-10.100813432916766,-10.002042555657681},
{-11.728468504385091,-13.369549348019063,-13.285420290063485,-12.917486404912779,-12.541731898425496,-12.1800598413829,-11.915524533600546,-11.739026213152101,-11.547421778988792,-11.370241384516703,-11.200756995473057,-11.048165628715651,-10.908282673131907,-10.77796599076828,-10.655326029343996,-10.540034321777057,-10.431915075081633,-10.330303360911785,-10.234651166800177,-10.128905823803507,-10.029858558817068},
{-11.761241373453231,-13.407049068133347,-13.322447801576345,-12.953552407940151,-12.576721572244423,-12.2140522042464,-11.94874530438392,-11.77179698436521,-11.579559605102986,-11.401909631706076,-11.231927387154428,-11.078967533743707,-10.938700234837597,-10.808010473032482,-10.685001714358805,-10.569374448386952,-10.460946049512131,-10.359044318058295,-10.263120838528266,-10.157075934694149,-10.057751001935685},
{-11.794107847708801,-13.444654323582654,-13.35958055422816,-12.98972038795182,-12.611809874913888,-12.24814050324494,-11.982059443325852,-11.804659178247675,-11.611787786678178,-11.43366541035357,-11.26318517155596,-11.109855545597384,-10.969202850974398,-10.838138217281085,-10.714759436348686,-10.598795794561738,-10.490057275106665,-10.387864671793068,-10.291669166879728,-10.185323993035126,-10.085720085102366},
{-11.827068190024875,-13.482365406802273,-13.396818858600454,-13.02599062435911,-12.646997081508744,-12.282325001331628,-12.01546720789338,-11.83761304320069,-11.644106587598799,-11.465508941124426,-11.294530604965985,-11.140829892159672,-10.999790748406667,-10.86834942776477,-10.74459940532688,-10.628298569557955,-10.519248959200922,-10.416764623019844,-10.320296351419529,-10.213650216610404,-10.113766011869302},
{-11.86012266218313,-13.520182608204777,-13.434163029465708,-13.062363405973883,-12.68228346350952,-12.316605970510864,-12.048968856179272,-11.870658815896604,-11.676516269362764,-11.497440454026219,-11.325963942450471,-11.171890800644178,-11.030464152892819,-10.898644313536352,-10.774521841231035,-10.657882981497096,-10.548521305667236,-10.445744376978837,-10.349002598173684,-10.242054838541662,-10.141888993850444},
{-11.893271527333127,-13.558106219788897,-13.471613382484065,-13.09883901529247,-12.717669302699505,-12.350983672658913,-12.082564643438673,-11.903796742786653,-11.709017095214222,-11.52946017490467,-11.35748544940725,-11.203038496605586,-11.061223283584695,-10.929023078962928,-10.804526958090719,-10.68754924464156,-10.577874520851765,-10.47480413885205,-10.377788113604765,-10.270538072567433,-10.170089232327882},
{-11.926515051338356,-13.59613653588167,-13.509170231409371,-13.135417742319987,-12.75315486760519,-12.385458380245836,-12.116254832857521,-11.937027067615418,-11.741609329881612,-11.561568341770908,-11.389095385035034,-11.234273211244727,-11.092068371392088,-10.959485934203258,-10.834614974242868,-10.7172975713911,-10.607308810926042,-10.503944114869228,-10.406653105397709,-10.299100151722087,-10.198366944183363},
{-11.959853498075972,-13.634273847957957,-13.546833892018185,-13.172099871808314,-12.78874043788528,-12.420030351684545,-12.150039683576324,-11.97035003072233,-11.774293231486809,-11.59376517709461,-11.420794003177434,-11.265595166536514,-11.122999626357341,-10.990033080161083,-10.864786105055828,-10.7471281659964,-10.636824379122118,-10.53316450843704,-10.435597777366638,-10.3277412908501,-10.226722337392857},
{-11.993287133285776,-13.672518451727228,-13.584604684045189,-13.208885689338786,-12.824426292791031,-12.454699862093548,-12.183919453833369,-12.003765879606362,-11.807069063972449,-11.626050920545822,-11.452581567980815,-11.297004595893668,-11.154017279535765,-11.020664734794991,-10.895040567324031,-10.777041240595281,-10.666421434521908,-10.562465525639709,-10.464622336323373,-10.356461719202343,-10.255155621882295},
{-12.026816224926733,-13.71087064484891,-13.622482924518408,-13.245775484261685,-12.86021270841593,-12.489467181585496,-12.217894408706343,-12.03727486077696,-11.839937092998298,-11.658425800735131,-11.484458343766164,-11.328501730051357,-11.185121555783553,-11.051381104887696,-10.925378589163302,-10.807037013932131,-10.69610018961248,-10.591847383155255,-10.49372700470849,-10.385261657531373,-10.283667010371573},
{-12.06044103847671,-13.749330720398575,-13.660468932939693,-13.28276954597095,-12.896099965801113,-12.524332575732842,-12.251964808645425,-12.070877219521208,-11.872897577501135,-11.69089006082504,-11.51642458641436,-11.360086799424607,-11.21631267038174,-11.082182399579324,-10.955800381751033,-10.837115691771032,-10.725860846199794,-10.621310282644117,-10.522911974665476,-10.414141327724792,-10.31225670920685},
{-12.094161843902839,-13.78789897770912,-13.698563029029174,-13.319868165592197,-12.932088338915491,-12.559296313251252,-12.286130915948888,-12.104573194112163,-11.905950782966102,-11.72344393125968,-11.548480558383744,-11.391760032507591,-11.24759084507241,-11.113068826816743,-10.986306164064445,-10.86727748339763,-10.755703615373932,-10.65085442995769,-10.552177462377585,-10.44310095248511,-10.340924939810066},
{-12.127978910561069,-13.82657571278105,-13.73676553167752,-13.357071627789992,-12.968178111725138,-12.594358661590377,-12.320392994763097,-12.138363036327064,-11.939096967922524,-11.756087649788242,-11.580626521259546,-11.423521658784011,-11.278956301772268,-11.144040597457206,-11.016896164073842,-10.89752260223031,-10.785628706624266,-10.680480039765825,-10.581523675558856,-10.472140743222553,-10.369671911292244},
{-12.161892506177537,-13.865361224292428,-13.775076766192797,-13.394380229205126,-13.004369567614049,-12.629519896829152,-12.354751310427673,-12.172246993373847,-11.9723363982921,-11.788821461726911,-11.612862737645628,-11.4553719185933,-11.310409262630856,-11.17509792704368,-11.047570598952007,-10.927851259533782,-10.815636332379654,-10.710187325108564,-10.61095082529937,-10.50126093334984,-10.398497836082242},
{-12.19590290391352,-13.904255814370117,-13.813497051538434,-13.43179425993003,-13.040662982457434,-12.664780285747838,-12.389206131221727,-12.206225310539594,-12.005669335834682,-11.821645604330115,-11.645189469360048,-11.487311040895293,-11.341949947673129,-11.206241027277429,-11.078329693700653,-10.958263674285263,-10.845726700790692,-10.739976487326203,-10.640459126589121,-10.530461739981547,-10.427402926317882},
{-12.230010373546975,-13.943259779654909,-13.852026716354885,-13.469314009911614,-13.077058643044438,-12.700140101616853,-12.423757717158878,-12.240298235439695,-12.039096043998143,-11.854560321487952,-11.677606974059017,-11.51933926017955,-11.373578575876309,-11.237470107298577,-11.109173666482093,-10.988760049454868,-10.87590002414072,-10.769847744581057,-10.670048785337713,-10.559743370104115,-10.456387397862272},
{-12.264215189003153,-13.982373423481476,-13.890666081133531,-13.506939775004867,-13.113556826108834,-12.735599614403327,-12.45840634018532,-12.274466014176141,-12.072616782767,-11.887565853772685,-11.710115519614192,-11.5514568084036,-11.405295368196676,-11.268785381835187,-11.140102740522707,-11.019340606260812,-10.906156512734015,-10.799801307613961,-10.699720012256876,-10.589106057712343,-10.485451469372492},
{-12.298517621791689,-14.021597044673399,-13.929415472463006,-13.54467184888199,-13.150157822456094,-12.771159090771107,-12.493152264156379,-12.308728896430694,-12.106231813289924,-11.92066244475427,-11.742715361702722,-11.58366391994059,-11.437100539013045,-11.30018706311239,-11.171117144083837,-11.050005549535854,-10.936496376612922,-10.829837385419523,-10.72947302038665,-10.61855000659125,-10.5145953471947},
{-12.33291794724937,-14.060930949737667,-13.96827521630621,-13.582510524793179,-13.186861913680332,-12.806818810495315,-12.527995758748148,-12.343087128101615,-12.1399413991021,-11.953850348276319,-11.775406768778339,-11.61596083722543,-11.46899431454949,-11.331675368943252,-11.202217099285917,-11.08075509799528,-10.966919836821035,-10.85995619968162,-10.759308020118624,-10.648075442615664,-10.543819260667078},
{-12.367416439155932,-14.100375439826166,-14.007245640197652,-13.620456095450209,-13.223669378799968,-12.842579038071563,-12.562937090493506,-12.377540958841564,-12.173745800741017,-11.987129799555987,-11.808189997827867,-11.648347789945547,-11.500976910116151,-11.363250513531966,-11.233402830810519,-11.111589460721007,-10.99742709932616,-10.89015795616433,-10.789225224085385,-10.677682580426335,-10.573123411042616},
{-12.402013373808586,-14.139930818317225,-14.046327071511769,-13.658508859472931,-13.260580509828287,-12.878440050320933,-12.597976532037137,-12.41209063999122,-12.207645282847807,-12.020501052611507,-11.841065309388796,-11.680825014569564,-11.533048542245524,-11.394912716030376,-11.26467455967213,-11.142508859746158,-11.028018379234709,-10.920442870585248,-10.819224843202392,-10.707371635071468,-10.602508019772358},
{-12.436709026951576,-14.179597392780124,-14.085519838772598,-13.696669112832751,-13.297595589188859,-12.91440211769077,-12.633114348602248,-12.446736416139174,-12.24164010482491,-12.053964358201483,-11.874032966094092,-11.713392752368236,-11.565209434658755,-11.426662187586771,-11.296032521757297,-11.173513501416892,-11.058693889004644,-10.950811155344127,-10.849307092896197,-10.737142825761111,-10.631973308714805},
{-12.471503676613793,-14.2193754658947,-14.12482427235227,-13.734937154571526,-13.3347149064939,-12.950465512723895,-12.66835081615136,-12.481478538305964,-12.275730527180713,-12.087519962136867,-11.9070932266186,-11.746051238995278,-11.597459798154887,-11.458499149302952,-11.327476925624069,-11.204603608115576,-11.089453847613186,-10.98126303643221,-10.87947218347108,-10.766996360966004,-10.661519489338389},
{-12.506397601260687,-14.259265347514884,-14.164240704194526,-13.773313279947615,-13.37193875068624,-12.986630507744849,-12.703686199936783,-12.51631725858897,-12.309916814905591,-12.121168119832873,-11.940246356796706,-11.77880071249092,-11.629799858637853,-11.490423819748685,-11.359008013736457,-11.235779381502653,-11.120298468129477,-11.011798717838246,-10.909720326249953,-10.796932460565586,-10.691146778146503},
{-12.541391078804736,-14.299267342241365,-14.203769465442747,-13.81179778664955,-13.40926740244322,-13.022897377319168,-12.73912077708519,-12.551252824428957,-12.344199226121418,-12.154909076081822,-11.973492614604766,-11.811641416454222,-11.662229832611047,-11.52243641539826,-11.39062600795296,-11.26704105277895,-11.151227961672703,-11.04241842275951,-10.94005173642654,-10.82695133809466,-10.720855394087266},
{-12.576484389981488,-14.339381761223194,-14.24341088545043,-13.850390976440394,-13.446701156921335,-13.059266398398904,-12.774654812790686,-12.58628549115383,-12.378578022238798,-12.188743091450306,-12.00683225793182,-11.844573585956823,-11.69474993541371,-11.55453716503689,-11.422331136884168,-11.29838883021148,-11.182242545270128,-11.073122367088217,-10.970466623955872,-10.85705320953275,-10.750645544787403},
{-12.611677815380972,-14.379608910196112,-14.283165298606036,-13.889093146543019,-13.484240299119847,-13.095737838448258,-12.810288582928479,-12.621415506815538,-12.413053463300457,-12.222670416755136,-12.040265548537718,-11.877597464917926,-11.727360386576038,-11.586726278299466,-11.454123621049803,-11.32982293140958,-11.213342441566056,-11.103910765610635,-11.000965203507803,-10.887238284834893,-10.780517457285896},
{-12.646971635476802,-14.419949101516977,-14.323033041131566,-13.927904602634953,-13.521885122303502,-13.132311973982723,-12.846022361278301,-12.656643122609239,-12.44762581033865,-12.256691311107716,-12.07379274899722,-11.910713290446438,-11.760061402397696,-11.619003983243601,-11.486003698169952,-11.361343568889424,-11.244527858449146,-11.134783839574084,-11.031547684629913,-10.917506785481237,-10.810471334407339},
{-12.682366133783944,-14.460402645680006,-14.363014444941655,-13.966825640163734,-13.559635919591528,-13.168989079073071,-12.881856419931864,-12.691968595026992,-12.48229532915866,-12.290806027274812,-12.107414117112057,-11.94392131161294,-11.792853205202846,-11.651370502426289,-11.517971586348722,-11.392950963490875,-11.275799020804698,-11.165741809469182,-11.0622142846114,-10.94785891432548,-10.840507397457259},
{-12.717861592944246,-14.50096985467826,-14.403109848499298,-14.005856568037416,-13.597492975619389,-13.205769429187058,-12.91779103333829,-12.727392172935652,-12.517062272614567,-12.325014821690274,-12.141129908413859,-11.97722176645766,-11.825736009690445,-11.68382606000523,-11.550027523335302,-11.424645334860543,-11.30715613940265,-11.196784890576964,-11.092965215590084,-10.978294897213345,-10.870625862211455},
{-12.75345829660364,-14.541651038554846,-14.443319586178404,-14.044997680786764,-13.63545658858493,-13.242653299617814,-12.953826469893102,-12.762914113729494,-12.551926907064626,-12.35931795410579,-12.174940383643843,-12.010614898259519,-11.85871003268403,-11.716370877955342,-11.582171732006827,-11.456426895805635,-11.338599434035132,-11.227913303649984,-11.123800689994823,-11.00881494017085,-10.900826927332673},
{-12.789156531609478,-14.582446513930336,-14.483643994914019,-14.084249286737759,-13.67352704393852,-13.279640963184647,-12.989963011350483,-12.798534669651417,-12.5868894951127,-12.393715683341725,-12.208845807879698,-12.044100955012254,-11.891775499505457,-11.74900518739014,-11.614404448337154,-11.488295870105503,-11.3701291262405,-11.259127272118349,-11.154720922873821,-11.03941926229163,-10.931110825826181},
{-12.824956580850994,-14.623356593365315,-14.524083414376946,-14.123611694245483,-13.711704642366385,-13.316732692124788,-13.026200928143226,-12.83425409294432,-12.621950290747918,-12.428208267694572,-12.24284642652492,-12.077680175076239,-11.924932618974708,-11.781729206384625,-11.646725892554969,-11.5202524701308,-11.401745433016913,-11.290427012281725,-11.18572612371645,-11.070108073152369,-10.961477759119589},
{-12.860858732979978,-14.664381591355777,-14.564638183364877,-14.163085198175395,-13.749989675940014,-13.35392876737751,-13.062540491373511,-12.870072640274884,-12.657109552877955,-12.462795968400314,-12.276942505384795,-12.11135280795861,-11.958181613503257,-11.814543167245574,-11.679136293329066,-11.552296916866908,-11.433448571682675,-11.321812748996308,-11.216816504718736,-11.100881591439247,-10.99192794400733},
{-12.896863275746,-14.705521826646873,-14.605308639496798,-14.202670115031651,-13.788382437938708,-13.391229467408266,-13.098981986782746,-12.90599057439249,-12.692367552983342,-12.497479047742672,-12.31113430383266,-12.145119102933677,-11.991522709198762,-11.847447298059706,-11.711635890911566,-11.584429436683422,-11.465238769567804,-11.353284710174194,-11.247992291639093,-11.131740031560184,-11.02246160179493},
{-12.93297049519606,-14.746777611479047,-14.646095125193824,-14.2423667426483,-13.826883221699973,-13.42863506093272,-13.135525678429985,-12.942008146055741,-12.727724544296507,-12.532257769285934,-12.345422070793575,-12.17897930261097,-12.024956114590168,-11.880441826273454,-11.74422491027508,-11.616650245472556,-11.497116234706482,-11.384843106818153,-11.279253682965646,-11.162683607632061,-11.053078947617905},
{-12.969180683154264,-14.788149266212713,-14.68699798140733,-14.282175393935177,-13.865492326964159,-13.4661458277551,-13.172171846526908,-12.978125610010466,-12.76318078787881,-12.567132393829525,-12.379806067765458,-12.212933655857341,-12.058482052903855,-11.91352697898401,-11.776903572957963,-11.64895956456894,-11.529081203712849,-11.416488170303637,-11.310600903845625,-11.193712535197847,-11.08378020033706},
{-13.005494129567523,-14.829637112852652,-14.728017552057281,-14.32209637775668,-13.904210051114205,-13.503762042557355,-13.208920767967356,-13.014343229064252,-12.7987365462468,-12.602103185578017,-12.414286546118092,-12.246982406300958,-12.092100742971525,-11.946702990622725,-11.809672126430087,-11.681357615540037,-11.561133889481425,-11.448220125137595,-11.342034162080381,-11.224827030382585,-11.114565583033254},
{-13.041911123291356,-14.871241464003106,-14.769154174835421,-14.362129993867711,-13.943036689510336,-13.541483985551167,-13.245772710448364,-13.050661262794165,-12.834392077231314,-12.637170408503152,-12.448863759462256,-12.281125808745855,-12.125812405953184,-11.979970088024857,-11.842530783556867,-11.713844616955612,-11.59327452085563,-11.48003918901668,-11.37355367586133,-11.256027306459146,-11.145435317535885},
{-13.078431958128931,-14.912962644608342,-14.810408197226934,-14.40227656144998,-13.981972537963884,-13.579311928304378,-13.282727961108321,-13.087079966266174,-12.870147641777294,-12.672334331204183,-12.48353796871379,-12.315364110079827,-12.159617260971572,-12.01332850806648,-11.875479783600895,-11.746420797950123,-11.62550331602688,-11.511945592268603,-11.405159659305355,-11.287313585344236,-11.176389634696534},
{-13.11505692526407,-14.954800974344835,-14.851779962627916,-14.442536385642597,-14.021017896622652,-13.617246158013586,-13.319786789768841,-13.12359960534377,-12.90600350513705,-12.707595211890293,-12.518309420906007,-12.349697560013738,-12.193515525927069,-12.046778476360487,-11.908519356773468,-11.77908638207009,-11.657820501975948,-11.543939553463133,-11.436852326209191,-11.318686078826431,-11.20742875841097},
{-13.151786319547682,-14.996756775712129,-14.893269816908287,-14.482909777550958,-14.060173065809067,-13.65528694211389,-13.356949472858105,-13.160220437508542,-12.941959921619855,-12.742953323147958,-12.553178369125817,-12.384126410383033,-12.227507428004174,-12.080320229259087,-11.941649730521021,-11.811841585702496,-11.690226301521761,-11.576021301967558,-11.468631892756093,-11.350145005999366,-11.23855292002554},
{-13.188620434797485,-15.038830372592201,-14.934878104744712,-14.523397054275847,-14.099438343429938,-13.693434560613241,-13.39421628540731,-13.19694272550987,-12.978017157380236,-12.7784089295601,-12.588145069486927,-12.41865091145155,-12.261593177041505,-12.11395399903995,-11.97487113653915,-11.844686639582505,-11.72272094109212,-11.608191063132836,-11.500498575740494,-11.38169058089261,-11.269762351177633},
{-13.225559567901655,-15.081022090045735,-14.976605172108975,-14.563998521931353,-14.138814035337418,-13.731689300737344,-13.43158750780276,-13.233766733261291,-13.014175471151248,-12.81396230313112,-12.623209768964443,-12.453271321428474,-12.295773004414514,-12.147680028690957,-12.008183805039153,-11.87762176952674,-11.755304653837811,-11.640449064027052,-11.532452585961437,-11.413323024549754,-11.301057288364973},
{-13.262604012765223,-15.123332249990199,-15.018451368028764,-14.604714494766085,-14.178300436353311,-13.770051431609318,-13.469063413795084,-13.270692722027889,-13.05043512233533,-12.849613707716344,-12.658372719975887,-12.4879878826614,-12.330047131777974,-12.18149854161311,-12.04158797301352,-11.910647194948979,-11.787977661850164,-11.672795529448194,-11.564494148595259,-11.445042552251834,-11.332437960314564},
{-13.299754068400944,-15.165761181444395,-15.060417041313485,-14.645545288352878,-14.21789785209694,-13.808521239610855,-13.506644280831097,-13.307720957091078,-13.086796376504935,-12.885363409412093,-12.693634171126178,-12.522800855804235,-12.36441577511141,-12.215409782336792,-12.075083861360326,-11.943763151939493,-11.820740187278716,-11.70523068093462,-11.596623475285014,-11.476849381288048,-11.363904594036285},
{-13.337010031478712,-15.208309209163417,-15.102502537803957,-14.686491216358263,-14.257606578845298,-13.847099000529852,-13.544330383534543,-13.344851701258449,-13.123259490035707,-12.921211684326408,-12.728994370787404,-12.55771049586474,-12.398879165528342,-12.249413981568068,-12.108671706053428,-11.976969865703722,-11.853592465544352,-11.737754751025932,-11.628840783523628,-11.508743730402784,-11.395457438571611},
{-13.374372202466475,-15.25097666333022,-15.144708210675162,-14.727552599375485,-14.297426930541405,-13.885784993763082,-13.582122003514087,-13.38208522676723,-13.159824728791136,-12.957158794946736,-12.764453569776379,-12.592717058054404,-12.43343751973589,-12.283511381334392,-12.142351740098093,-12.010267559118802,-11.886534723336808,-11.770367958961288,-11.661146295780782,-11.540725818398641,-11.42709672084311},
{-13.41184088002774,-15.293763871173724,-15.187034405287704,-14.768729746807367,-14.337359205295797,-13.924579501064727,-13.620019414054696,-13.419421792583307,-13.19649235237739,-12.993205014849082,-12.800012014602544,-12.627820792840794,-12.468091064190958,-12.317702216823818,-12.176124189281836,-12.043656459223712,-11.919567191216629,-11.803070540947374,-11.693540223757736,-11.572795857588062,-11.458822668384528},
{-13.449416365852812,-15.336671163095161,-15.229481479647802,-14.810022977631888,-14.37740370442043,-13.963482804159867,-13.658022895338945,-13.45686166654923,-13.233262625406496,-13.029350613302086,-12.835669954569312,-12.663021966262022,-12.502840028784703,-12.351986732886871,-12.20998929219786,-12.07713679864537,-11.95269009846379,-11.8358627166308,-11.726022792019648,-11.604954072856344,-11.490635517053306},
{-13.48709896201035,-15.37969887041254,-15.27204977949441,-14.851432610637858,-14.41756073810393,-14.002495187189197,-13.696132719313027,-13.494405119359726,-13.27013580253697,-13.065595857449807,-12.871427631442202,-12.698320827097632,-12.537684633862227,-12.38636516421684,-12.243947277602274,-12.110708806547336,-11.985903674736619,-11.868744711275212,-11.758594218350481,-11.63720067893155,-11.522535498574143},
{-13.524888969375752,-15.422847323599854,-15.31473965884652,-14.892958964424906,-14.457830606785137,-14.041616926522693,-13.734349170699716,-13.53205241530668,-13.307112151407637,-13.101941021857783,-12.90728529196349,-12.733717638649978,-12.572625106113264,-12.420837749232305,-12.277998373872833,-12.144372715323698,-12.019208159996197,-11.90171675386955,-11.79125472420128,-11.669535894674482,-11.554522838821867},
{-13.562786692389636,-15.466116858209716,-15.35755147135933,-14.934602361638099,-14.498213622020558,-14.080848305718973,-13.772672522231005,-13.569803825521376,-13.344191935204435,-13.13838637698791,-12.943243187270127,-12.769212659302866,-12.607661672111135,-12.455404734384501,-12.312142818671418,-12.178128746250877,-12.052603772142902,-11.93477906860062,-11.824004530732054,-11.701959938829532,-11.586597770510707},
{-13.600792436307529,-15.509507806709735,-15.400485571008176,-14.976363116729772,-14.538710091175744,-14.120189609879162,-13.811103055631975,-13.607659617555328,-13.381375416036462,-13.174932189373067,-12.97930155848735,-12.804806149739306,-12.642794560495531,-12.4900663587905,-12.346380838454934,-12.211977139115334,-12.086090758122737,-11.96793188911397,-11.856843861343805,-11.734473028889624,-11.61876051343279},
{-13.638906505118939,-15.553020505292807,-15.443542311768397,-15.018241555182613,-14.579320315446239,-14.159641123143956,-13.849641047912883,-13.645620064984541,-13.418662855197908,-13.211578736867523,-13.015460646885913,-12.84049836845952,-12.678024002729217,-12.524822866456816,-12.380712674959796,-12.245918118715053,-12.119669342617271,-12.001175438228529,-11.889772934344364,-11.767075384152122,-11.651011302164989},
{-13.677129205985693,-15.596655287939939,-15.486722049157834,-15.06023799610557,-14.620044611248886,-14.19920312918839,-13.888286776724271,-13.68368543087854,-13.456054518494057,-13.248326286004158,-13.051720702671446,-12.876289579289733,-12.713350219943095,-12.559674502001144,-12.415138549782569,-12.279951916367281,-12.153339759272058,-12.034509939490817,-11.92279197910102,-11.799767217802582,-11.683350350154797},
{-13.715460845909547,-15.640412493637996,-15.530025139945792,-15.102352763628005,-14.660883279750124,-14.238875910436036,-13.927040524431504,-13.721855994459474,-13.493550669285469,-13.285175111232093,-13.08808197005419,-12.912180042621912,-12.748773451690795,-12.59462151239859,-12.449658707220806,-12.314078777417308,-12.187102254974889,-12.067935625003884,-11.955901220819214,-11.832548754115123,-11.715777887206059},
{-13.753901732663508,-15.68429245929292,-15.573451937860227,-15.144586182417697,-14.701836638589157,-14.278659750387305,-13.965902568015736,-13.760132021910977,-13.531151567352936,-13.322125478618545,-13.124544686608715,-12.94817001814954,-12.784293914679438,-12.62966413461254,-12.484273372974712,-12.348298913624603,-12.220957048790297,-12.101452716393396,-11.98910087699187,-11.865420200745575,-11.748294131975854},
{-13.792452174588107,-15.72829552438634,-15.617002801620401,-15.186938573780935,-14.742904993268894,-14.318554938217858,-14.004873184254393,-13.7985137841315,-13.568857479112921,-13.359177667298354,-13.16110910254065,-12.984259773016674,-12.81991184852086,-12.664802618848626,-12.518982778914506,-12.38261257155682,-12.254904386179987,-12.135061446984764,-12.022391169302864,-11.898381776642054,-11.780899296485586},
{-13.831112483880133,-15.772422032081522,-15.660678090236615,-15.229410266852938,-14.784088655171217,-14.35856176292873,-14.043952662323136,-13.83700155664701,-13.606668677995913,-13.39633194511407,-13.197775462671416,-13.020449570583878,-12.855627487850143,-12.700037215399789,-12.553787170065334,-12.417019982036436,-12.288944503001403,-12.168762041081209,-12.055772343126591,-11.931433700490743,-11.813593606289942},
{-13.86988297040807,-15.816672319546342,-15.704478161482257,-15.272001582168741,-14.825387936056359,-14.39868050912628,-14.083141274284571,-13.875595612218603,-13.644585419970099,-13.433588585612597,-13.2345440016652,-13.056739671330433,-12.891441051877337,-12.73536816498381,-12.588686771603534,-12.45152138028061,-12.323077630571788,-12.202554725285154,-12.089244602771942,-11.964576185157057,-11.846377267764183},
{-13.908763944869861,-15.861046731690294,-15.748403374120244,-15.314712851977674,-14.86680314692785,-14.438911460572854,-14.122439302969724,-13.914296217350056,-13.682607971975813,-13.470947861147579,-13.27141497444245,-13.093130343477242,-12.927352788014105,-12.77079571824288,-12.623681821365608,-12.486117001157254,-12.357304015837144,-12.236439728731057,-12.122808189073112,-11.997809435182717,-11.879250498110196},
{-13.947755722416332,-15.9055456128699,-15.792454087888473,-15.35754440157325,-14.908334602427203,-14.479254904057598,-14.161847029521596,-13.953103648556862,-13.720736601651879,-13.508410038310103,-13.308388618926983,-13.129621843516361,-12.963362911948934,-12.806320121773751,-12.658772552473238,-12.520807068591239,-12.391623887087917,-12.270417277264642,-12.156463319493923,-12.031133669283008,-11.912213506671833},
{-13.98685861346894,-15.950169306597672,-15.836630662277457,-15.400496555521386,-14.9499826215324,-14.519711137050763,-14.201364742417354,-13.992018186254427,-13.75897157905274,-13.545975398272276,-13.345465183956549,-13.166214444121579,-12.99947167429491,-12.841941628197674,-12.693959205236752,-12.555591831100173,-12.426037495664787,-12.304487602843437,-12.190210223721806,-12.064549094502581,-11.945266491122311},
{-14.026072936496348,-15.994918160344241,-15.880933462816756,-15.443569653230952,-14.991747507709078,-14.560280442616204,-14.240992719540372,-14.031040096655488,-13.797313168324763,-13.583644212922081,-13.382644913624972,-13.202908407576615,-13.035679299617186,-12.877660486556124,-12.729242012748728,-12.590471523930319,-12.460545071051456,-12.338650924968533,-12.224049132870277,-12.098055915703299,-11.978409668372478},
{-14.065399003811763,-16.039792520328774,-15.92536284646485,-15.486764015367953,-15.03362958386424,-14.600963117496576,-14.28073124482762,-14.070169657759834,-13.835761638882104,-13.621416750684148,-13.419928050367162,-13.23970399814425,-13.071986021386692,-12.913476944639115,-12.76462121217628,-12.625446378980996,-12.495146854198538,-12.37290747766383,-12.257980268797837,-12.131654344382696,-12.011643225763692},
{-14.104837134291301,-16.084792734036455,-15.969919179100543,-15.530079976510024,-15.075629162427504,-14.641759444552008,-14.320580601895927,-14.109407140989788,-13.874317259149393,-13.659293286240427,-13.457314845494693,-13.27660147738061,-13.108392079389887,-12.949391253641807,-12.800097036291845,-12.660516636329703,-12.52984308989835,-12.407257492624922,-12.292003860813566,-12.165344584180275,-12.044967369234655},
{-14.144387643304071,-16.129919151760987,-16.01460282005428,-15.573517870798241,-15.117746561067179,-14.682669715752127,-14.360541072470369,-14.148752823733957,-13.912980296910973,-13.697274093225133,-13.494805544120027,-13.3136011150782,-13.144897704187315,-12.985403663449688,-12.835669728025096,-12.695682536315871,-12.564634013193427,-12.441701195493806,-12.326120133249788,-12.199126829364104,-12.078382295614574},
{-14.184050852345536,-16.175172125833342,-16.059414137343992,-15.617078028590186,-15.1599820999254,-14.723694232670823,-14.40061294886982,-14.188206981751136,-13.951751027692808,-13.735359449754469,-13.532400390453404,-13.350703172996873,-13.18150313734077,-13.02151443209732,-12.871339521545451,-12.730944316484965,-12.599519875046099,-12.476238817936974,-12.36032931538648,-12.233001296670409,-12.11188819995732},
{-14.223827078094473,-16.220552005106583,-16.10435349108593,-15.660760777682299,-15.202336089976598,-14.764833277789876,-14.440796510403743,-14.22776988815167,-13.990629710024223,-13.773549624020234,-13.570099639036926,-13.387907911033835,-13.218208612379385,-13.057723801321117,-12.907106655358803,-12.7663022132474,-12.634500907646725,-12.510870584577788,-12.39463163309847,-12.266968174866633,-12.145485267887125},
{-14.263716642337386,-16.266059146248153,-16.14942125113157,-15.704566463507945,-15.24480885406956,-14.806087152828695,-14.481092045432888,-14.267441819625674,-14.02961662679445,-13.811844895681133,-13.607903534808429,-13.425215599447256,-13.255014364985982,-13.094032031687675,-12.942971370677697,-12.801756472676061,-12.669577353168279,-12.545596732961712,-12.429027313919505,-12.301027663779678,-12.179173691867618},
{-14.30371986659884,-16.31169389974093,-16.19461777646211,-15.748495411447948,-15.287400707456982,-14.847456145798787,-14.52149984339485,-14.307223051146138,-14.06871204104391,-13.850245539477328,-13.645812326081796,-13.462626493303105,-13.29192063777009,-13.130439372151159,-12.97893389937235,-12.83730733388802,-12.704749456461286,-12.580417484947247,-12.463516584975878,-12.335179964487907,-12.212953659851337},
{-14.3438370723743,-16.35745662402769,-16.239943440901698,-15.792547966149868,-15.33011197700398,-14.88894055451965,-14.562020190001931,-14.347113864525454,-14.107916229200782,-13.888751826656517,-13.683826268475968,-13.500140864751302,-13.32892766603618,-13.16694608060061,-13.014994489320088,-12.872955039638327,-12.74001745856367,-12.61533308113576,-12.498099674849072,-12.369425269658677,-12.246825368114514},
{-14.384068582687178,-16.403347673869575,-16.28539860523597,-15.836724457156379,-15.372942980902735,-14.930540673842188,-14.602653375797672,-14.387114531738916,-14.14722946297843,-13.927364042028785,-13.721945612458512,-13.53775896973093,-13.366035694081802,-13.203552402934292,-13.051153376989532,-12.90869983000448,-12.775381604355061,-12.650343752233312,-12.532776809617644,-12.403763777663698,-12.280788996518822},
{-14.424414724708186,-16.449367409644765,-16.33098364120815,-15.881025226932252,-15.415894035686506,-14.972256802400807,-14.643399690918159,-14.427225328690838,-14.186652012867853,-13.96608245576499,-13.760170613473747,-13.575481070904061,-13.40324496125686,-13.240258598758373,-13.087410799693316,-12.944541949604172,-12.810842131846584,-12.685449724667706,-12.56754821605864,-12.43819567374885,-12.314844740030821},
{-14.464875820136513,-16.495516188035253,-16.376698913692962,-15.925450608570827,-15.458965466998052,-15.014089239848545,-14.684259421715979,-14.467446534952614,-14.226184154831572,-14.004907343594823,-13.79850152003928,-13.613307426508982,-13.440555706503801,-13.277064922702266,-13.123767010081792,-12.980481641599908,-12.846399284811923,-12.720651236653794,-12.60241412706091,-12.472721157304477,-12.348992770595942},
{-14.505452196710394,-16.541794370263233,-16.422544791246764,-15.970000945904758,-15.502157595474273,-15.056038276408799,-14.725232865224825,-14.507778425555443,-14.265826156712137,-14.043838988465723,-13.836938589520287,-13.651238303660648,-13.477968174993293,-13.313971621188102,-13.160222236154368,-13.016519158700248,-12.882053309032926,-12.755948518984951,-12.637374767713482,-12.507340420997934,-12.383233290252974},
{-14.546144181702402,-16.58820232033031,-16.468521647067973,-16.014676583261462,-15.545470747252693,-15.098104217555374,-14.766320308990544,-14.548221279896097,-14.305578298895853,-14.082877674343763,-13.875482084142277,-13.6892739571922,-13.515482606977457,-13.350978963630041,-13.196776730415877,-13.052654730709037,-12.917804443801288,-12.791341813455801,-12.672430368926143,-12.542053651151946,-12.417566480842652},
{-14.58695210357837,-16.634740398425492,-16.51462984655518,-16.059477851900738,-15.58890524841263,-15.140287359274225,-14.807522049290128,-14.588775381678715,-14.345440853503533,-14.122023671283387,-13.914132255595177,-13.727414651511936,-13.55309925484471,-13.388087188563077,-13.233430730353575,-13.08888861889136,-12.953652934142156,-12.82683135138359,-12.707581160764676,-12.576861042762175,-12.451992540882202},
{-14.627876290716813,-16.6814089709369,-16.560869763154187,-16.104405102756573,-15.632461416593287,-15.182588005351136,-14.84883837911184,-14.629441002383828,-14.385414090880658,-14.161277269391576,-13.95288936237921,-13.765660637931433,-13.590818355907686,-13.425296561181312,-13.27018448515446,-13.125221062626224,-12.989599021297181,-12.862417365889996,-12.742827369685983,-12.61176278773928,-12.486511649563909},
{-14.668917074304773,-16.728208401807933,-16.607241768593667,-16.14945867174538,-15.676139583985787,-15.225006456137635,-14.890269594965503,-14.67021842088434,-14.425498291151598,-14.200638745707693,-13.99175367114367,-13.80401218048064,-13.628640155307949,-13.462607332621701,-13.30703823568183,-13.161652311187936,-13.025642946537118,-12.89810010229121,-12.77816923276987,-12.646759069582913,-12.521124007704202},
{-14.710074785456527,-16.77513905975502,-16.65374623250682,-16.194638904504245,-15.719940073788166,-15.267543015943374,-14.93181598893716,-14.711107924726093,-14.465693727892358,-14.240108386788052,-14.030725439806702,-13.842469535535201,-13.666564915183699,-13.500019763829187,-13.343992230365984,-13.198182620835723,-13.061784959194483,-12.93387979074032,-12.813606979412725,-12.681850095279515,-12.555829806020483},
{-14.751349754660623,-16.82220131154463,-16.70038352854317,-16.239946151705226,-15.763863216241589,-15.310197978891665,-14.973477861582069,-14.75210978690302,-14.506000675493851,-14.279686469293665,-14.06980492643197,-13.88103295781184,-13.704592864291044,-13.537534107192187,-13.381046711001545,-13.234812224487541,-13.098025295621483,-12.969756674050586,-12.849140838923631,-12.717036046640715,-12.590629244106822},
{-14.792742316465592,-16.869395526620792,-16.747154026903445,-16.28538074833341,-15.807909335504519,-15.352971653919667,-15.015255503094522,-14.793224286026089,-14.54641940415604,-14.319373286649352,-14.108992398454575,-13.919702705403324,-13.74272426115931,-13.57515060986043,-13.418201926135225,-13.271541383874137,-13.134364201163407,-13.005730989971198,-12.884771037352039,-12.752317121921806,-12.625522513088072},
{-14.834252805507276,-16.916722078356543,-16.79405810512253,-16.330943048669724,-15.852078764146427,-15.39586435048841,-15.057149223459419,-14.834451713191811,-14.58695020081359,-14.359169125382323,-14.148288127034903,-13.958479034161428,-13.780959360679844,-13.61286954060779,-13.4554581217526,-13.308370348095195,-13.170801920670783,-13.041802973864833,-12.920497823826736,-12.787693519378081,-12.660509815235855},
{-14.875881555723026,-16.96418133660336,-16.841096137519344,-16.376633398293052,-15.896371828275733,-15.438876368192723,-15.099159313074779,-14.875792347505921,-14.62759333269787,-14.399074266810203,-14.187692364881514,-13.997362200694624,-13.819298408023315,-13.650691149116028,-13.492815552279353,-13.34529936639592,-13.207338692067424,-13.077972869185032,-12.956321416859282,-12.823165443522157,-12.69559134868905},
{-14.917628904266167,-17.011773675112636,-16.88826849675388,-16.422452142520342,-15.940788856503787,-15.48200801020721,-15.141286074678646,-14.917246462107869,-14.668349079845939,-14.439089007966686,-14.2272053900233,-14.036352454771986,-13.857741659041494,-13.688615689490689,-13.530274458491476,-13.382328693580348,-13.243974762939615,-13.114240919501754,-12.992242056498071,-12.858733087196015,-12.730767319764709},
{-14.959495188144501,-17.059499469891307,-16.93557555838197,-16.46839963286766,-15.985330185620114,-15.525259588495828,-15.183529808506137,-14.958814351994079,-14.709217715339037,-14.479213630140293,-14.26682746480219,-14.075450055854162,-13.896289360825904,-13.726643424248323,-13.567835091293091,-13.41945857796236,-13.280710373277543,-13.15060735467705,-13.028259968734346,-12.894396663585212,-12.76603792674723},
{-15.001480746475863,-17.107359096538858,-16.983017701699282,-16.514476216310868,-16.029996144061442,-15.568631407804787,-15.225890815985622,-15.000496293359902,-14.750199514528504,-14.519448429637123,-14.306558862241218,-14.114655254525132,-13.934941774699837,-13.764774599578232,-13.605497705430025,-13.456689275306417,-13.317545768717537,-13.187072425149381,-13.064375397807453,-12.930156379734399,-12.801403378078248},
{-15.043585916413576,-17.15535293398716,-17.03059529887105,-16.560682245559292,-16.07478706506663,-15.612123778031673,-15.268369406985585,-15.04229257410043,-14.791294757305877,-14.559793703840114,-14.346399852976901,-14.15396830625832,-13.973699153633788,-13.803009478171589,-13.643262543046148,-13.494021040853113,-13.354481195652625,-13.22363636069349,-13.100588571629487,-12.966012448101537,-12.83686388132628},
{-15.085811039578402,-17.20348135943641,-17.07830873108469,-16.60701806997531,-16.11970327832387,-15.655737009714358,-15.310965876851697,-15.084203477599658,-14.832503716053907,-14.600249739276478,-14.38635070392047,-14.193389464955544,-14.012561751063913,-13.841348317451775,-13.681129861826776,-13.531454127485631,-13.39151688615675,-13.260299413203029,-13.136899726028787,-13.00196508676163,-12.872419642604655},
{-15.128156457547448,-17.25174475359381,-17.126158375060186,-16.653484043548815,-16.164745119342115,-15.699471404688666,-15.353680531261489,-15.126229289948242,-14.873826672002906,-14.640816837840248,-14.426411687483778,-14.232918977621011,-14.051529829681385,-13.879791366314748,-13.7190999094164,-13.568988795101177,-13.428653097042115,-13.297061813704204,-13.173309096921002,-13.038014520076104,-12.908070866658818},
{-15.170622511592228,-17.30014350071724,-17.174144609074574,-16.700080521724885,-16.209912927472033,-15.743327281525126,-15.39651367708575,-15.168370297004003,-14.915263895120006,-14.681495293974876,-14.466583083703881,-14.27255710324971,-14.090603640477639,-13.918338888615835,-13.757172937534051,-13.606625296815764,-13.46589005892747,-13.333923809259431,-13.209816913469695,-13.074160969961667,-12.943817774445051},
{-15.213209546142025,-17.34867798120831,-17.222267812874634,-16.74680785369128,-16.255207036389038,-15.787304951430997,-15.439465624192962,-15.210626789368689,-14.956815666664625,-14.722285412601195,-14.506865160103189,-14.312304092309205,-14.12978345103329,-13.956991139246384,-13.795349201915087,-13.644363889558008,-13.503228029352613,-13.370885638374602,-13.246423421922373,-13.110404678765917,-12.97966056712903},
{-15.255917903690715,-17.39734857925214,-17.270528366381768,-16.793666395009495,-16.300627775781322,-15.83140472220839,-15.482536673283903,-15.252999048505444,-14.99848225529422,-14.763187489821576,-14.547258196165785,-14.352160192705924,-14.169069514377043,-13.995748369110515,-13.833628948195837,-13.682204828597605,-13.54066724452423,-13.40794753524824,-13.283128844253952,-13.146745875506895,-13.01559946659836},
{-15.298747932349215,-17.44615568383597,-17.318926648498746,-16.840656502521597,-16.346175489830784,-15.87562691126368,-15.52572713745758,-15.295487368450267,-15.040263947710628,-14.804201828781515,-14.587762464390835,-14.392125659651356,-14.208462091191905,-14.034610846603755,-13.872012435953366,-13.720148373977281,-13.578207950369688,-13.445109749707626,-13.319933423685143,-13.183184808935039,-13.051634683797602},
{-15.341699975921074,-17.49509967934864,-17.36746304424014,-16.887778532109223,-16.391850511805387,-15.919971827912377,-15.569037322857184,-15.338092032936402,-15.082161007390823,-14.845328738621902,-14.62837823558948,-14.432200742245186,-14.247961444896646,-14.073578813520726,-13.910499913385138,-13.758194788097171,-13.615850390051492,-13.482372511760332,-13.356837401923258,-13.219721723988187,-13.087766434793593},
{-15.384774383855984,-17.544180956974742,-17.416137932275888,-16.93503284911276,-16.43765318582882,-15.964439790113829,-15.612467540922808,-15.380813337891595,-15.124173718155362,-14.886568520159926,-14.669105801789556,-14.472385698201833,-14.287567838531686,-14.112652538198745,-13.949091641610721,-13.796344327856787,-13.653594812116353,-13.519736069138162,-13.39384100137977,-13.256356885336572,-13.123994941735873},
{-15.42797150289698,-17.5933999051922,-17.464951696339995,-16.982419796666363,-16.483583846653346,-16.009031110617798,-15.656018098787172,-15.42365156323649,-15.166302355239168,-14.92792148963781,-14.709945430367952,-14.512680768006248,-14.32728153426433,-14.151832272240426,-13.987787868652958,-13.834597250126535,-13.691441460890928,-13.557200668990845,-13.430944470805116,-13.293090548162581,-13.16032042214647},
{-15.471291684923926,-17.642756915985956,-17.51390471958439,-17.029939744767034,-16.52964283534675,-16.053746107703773,-15.699689314846182,-15.466607004636899,-15.20854719055933,-14.969387946766801,-14.750897405407159,-14.55308620998403,-14.367102797928965,-14.191118271817686,-14.026588851644192,-13.872953819372924,-13.729390584892826,-13.594766536232783,-13.468148035404738,-13.329922978271497,-13.196743108826922},
{-15.514735278105945,-17.69225238407671,-17.562997385772178,-17.077593047899427,-16.575830492947716,-16.098585101310164,-15.743481494340813,-15.509679954237072,-15.250908500718651,-15.010968209302519,-14.791962003568187,-14.593602272419957,-14.407031893235398,-14.230510800494812,-14.065494850219693,-13.911414291244,-13.767442427837523,-13.632433928520186,-13.505451940145576,-13.366854454769054,-13.233263210364385},
{-15.558302635836299,-17.74188669952855,-17.612230078142602,-17.12538007067633,-16.622147158777807,-16.143548400548752,-15.787394950486487,-15.552870702231303,-15.293386559962528,-15.052662595495349,-14.833139507012675,-14.634229209070327,-14.447069089510478,-14.270010110922158,-14.104506115283584,-13.949978934746468,-13.80559723690385,-13.67020307976054,-13.542856424086494,-13.40388525245362,-13.269880971580278},
{-15.6019941100094,-17.791660262839287,-17.661603183834814,-17.17330117552774,-16.66859317664057,-16.188636329665314,-15.831429995538201,-15.596179533575196,-15.335981641721446,-15.094471414369764,-14.87443019656348,-14.674967266415479,-14.487214646156644,-14.309616464190185,-14.143622907344252,-13.988647997757653,-13.843855263199657,-13.708074232999934,-13.580361715808976,-13.441015651158523,-13.306596609414555},
{-15.64581005430955,-17.8415734689479,-17.71111708911485,-17.221356720518088,-16.715168894996168,-16.233849208569154,-15.875586950947763,-15.639606749406084,-15.37869402335491,-15.136394991219277,-14.91583435825305,-14.715816701587755,-14.527468837826746,-14.349330118653597,-14.182845486444421,-14.02742175696767,-13.882216759258881,-13.746047641674522,-13.617968062811997,-13.478245940292254,-13.343410369590856},
{-15.689750824021758,-17.89162671788654,-17.76077217812417,-17.26954707110417,-16.76187464784016,-16.279187354579335,-15.919866125448607,-15.683152635407168,-15.421523974975571,-15.178433640685398,-14.957352269964758,-14.756777754810173,-14.5678319313447,-14.389151328650769,-14.222174103750149,-14.066300462320214,-13.920681963150855,-13.784123533638194,-13.655675701360451,-13.51557640871033,-13.380322487239027},
{-15.733816772932187,-17.94182040762098,-17.81056883992278,-17.31787259216071,-16.8087107858737,-16.324651089205872,-15.964267832314363,-15.726817488321103,-15.464471773535479,-15.22058768235729,-14.998984219681006,-14.79785068507772,-14.608304192021023,-14.429080356960185,-14.261609029228566,-14.105284378980286,-13.959251134598162,-13.822302164277062,-13.693484874878777,-13.553007345151855,-13.417333202960435},
{-15.778008262335788,-17.992154943116475,-17.860507462144597,-17.36633365022135,-16.855677653336897,-16.370240739604924,-16.008792396256467,-15.770601600932423,-15.507537696626969,-15.262857450230513,-15.040730492357397,-14.839035748154856,-14.648885907314252,-14.469117462693248,-14.301150518789655,-14.144373778341105,-13.997924532159232,-13.860583772824612,-13.73139582676231,-13.590539052063832,-13.454442760325037},
{-15.822325646673562,-18.04263072446338,-17.910588431957876,-17.414930608996656,-16.902775596216088,-16.41595661675092,-16.053440123214386,-15.81450525636319,-15.550722006883007,-15.305243260867428,-15.082591371494345,-14.880333183071343,-14.689577326440485,-14.509262909297831,-14.340798831748543,-14.183568907435983,-14.0367023946892,-13.898968607827555,-13.769408790103626,-13.628171816293616,-13.491651412943611},
{-15.866769285566988,-18.093248156219488,-17.96081213944126,-17.46366383181885,-16.950004960526712,-16.461799052223796,-16.098211331263883,-15.858528764656512,-15.594024980819086,-15.347745445120381,-15.124567143502645,-14.92174325036467,-14.730378731386736,-14.549516945990035,-14.380554229195695,-14.222870035038795,-14.075584977166727,-13.937456913728965,-13.807524013594957,-13.665905934700277,-13.528959406889044},
{-15.911339539830806,-18.14400764614402,-18.01117897676886,-17.5125336938072,-16.997366096882615,-16.507768371899147,-16.14310634692083,-15.902672412688844,-15.63744689815212,-15.390364330785815,-15.166658102476504,-14.9632661989599,-14.771290402975865,-14.589879844221286,-14.420416974666296,-14.262277423054911,-14.114572540158406,-13.976048934739083,-13.84574174421141,-13.703741706180153,-13.566367003484629},
{-15.956036771080107,-18.194909600366373,-18.061689331254456,-17.56154055846855,-17.044859348447062,-16.55386489428929,-16.188125475047855,-15.946936489228392,-15.680988025327679,-15.433100251189899,-15.208864526124671,-15.004902282205876,-14.81231260576169,-14.630351861240342,-14.460387342580361,-14.301791335397866,-14.153665325400652,-14.014744917250937,-13.884062223194633,-13.741679422179004,-13.603874462743988},
{-16.00086134095909,-18.245954427984543,-18.112343597371364,-17.610684798302827,-17.092485066212248,-16.60008894733619,-16.233269041607855,-15.991321297449758,-15.724648642877582,-15.475953535613371,-15.251186715671793,-15.046651751938043,-14.853445625281893,-14.670933250308735,-14.500465578312287,-14.341412037145346,-14.192863607197069,-14.053545115602901,-13.922485702263657,-13.779719371115789,-13.641482049482875},
{-16.04581361405144,-18.297142542141955,-18.16314216700266,-17.65996678202646,-17.140243605099386,-16.646440858545247,-16.278537362028146,-16.035827129293466,-15.76842901139753,-15.518924517964479,-15.293624955229461,-15.088514858856797,-14.894689724344062,-14.711624286981532,-14.540651963790879,-14.381139780802187,-14.232167621492408,-14.092449770629173,-13.961012425512308,-13.817861847783206,-13.679190030612517},
{-16.09089395236515,-18.34847434797848,-18.21408542917925,-17.709386877104407,-17.188135309901554,-16.692920952104032,-16.323930753249442,-16.080454280192498,-15.812329408712685,-15.562013534101425,-15.336179535166593,-15.130491860647453,-14.9360451909306,-14.752425221551675,-14.580946755042532,-14.420974838110851,-14.27157763481955,-14.131459124881076,-13.999642647599103,-13.856107136292849,-13.716998673189664},
{-16.136102722695796,-18.39995026390534,-18.265173780702753,-17.758945461042458,-17.236160530912457,-16.73952955804998,-16.369449535530293,-16.12520304613281,-15.856350106827449,-15.605220923724119,-15.378850750421407,-15.172583006875357,-14.977512298268266,-14.793336324888514,-14.621350221335888,-14.460917466756655,-14.311093901313143,-14.170573430688819,-14.038376608717954,-13.894455525529338,-13.754908255854389},
{-16.181440292304615,-18.451570700650336,-18.316407614183845,-17.808642902906286,-17.284319621772738,-16.786267004412366,-16.41509402412339,-16.17007372752414,-15.900491375621641,-15.64854701978038,-15.421638891246403,-15.214788553596009,-15.019091327267233,-14.834357854822883,-14.661862633394776,-14.500967927131569,-14.350716669112444,-14.209792940615444,-14.077214569202624,-13.932907294714823,-13.79291905037826},
{-16.226907029020367,-18.50333607761422,-18.36778732656967,-17.858479578077095,-17.332612935773795,-16.833133618172724,-16.46086454059696,-16.21506661683088,-15.94475348960259,-15.691992163250688,-15.464544257032685,-15.257108754391083,-15.060782558401115,-14.875490074948175,-14.702484255918534,-14.541126487805741,-14.390446207631612,-14.249117894098163,-14.116156786127249,-13.971462723246077,-13.831031338952016},
{-16.272503300308017,-18.555246810545214,-18.419313311605947,-17.908455860015238,-17.381040825595846,-16.88012973300647,-16.50676139976713,-16.260182017926127,-15.989136716874782,-15.735556694271509,-15.507567139342427,-15.299543873639777,-15.102586267195875,-14.916733252437552,-14.743215361988405,-14.581393407308497,-14.430282762012212,-14.288548545300728,-14.155203503993107,-14.010122091334779,-13.86924540961627},
{-16.31822947738692,-18.60730331898958,-18.470985968684545,-17.958572125964565,-17.42960364726605,-16.92725567679736,-16.55278492407524,-16.305420224292902,-16.033641330199316,-15.779240956704598,-15.550707830494503,-15.342094153253129,-15.144502737239236,-14.958087652747054,-14.784056223317748,-14.621768949349644,-14.470226596866269,-14.328085145389196,-14.19435498828534,-14.048885668133153,-13.907561545696808},
{-16.364085930865258,-18.659506022784626,-18.52280569137656,-18.008828746387735,-17.478301752416883,-16.974511782405898,-16.59893543252838,-16.350781538145384,-16.07826759899035,-15.82304528763052,-15.593966637097765,-15.384759855543962,-15.186532257590443,-14.999553535686573,-14.825007100735093,-14.662253373797284,-14.510277963330736,-14.367727931879926,-14.233611482894048,-14.0877537294582,-13.945980024000164},
{-16.41007303200604,-18.71185534421238,-18.57477287965594,-18.05922610621201,-17.527135499898577,-17.021898386301473,-16.645213238458382,-16.396266261435812,-16.12301579877385,-15.866970033908729,-15.637343849375611,-15.427541243989253,-15.228675099118846,-15.041131177044008,-14.866068279719912,-14.702846939384472,-14.550437114783563,-14.407477167143952,-14.27297325906693,-14.12672653872869,-13.98450114170555},
{-16.456191156365094,-18.764351705482113,-18.62688793311827,-18.109764576045563,-17.576105238782475,-17.069415812235093,-16.691618661337998,-16.441874686308438,-16.167886193783488,-15.911015539022628,-15.680839768378064,-15.470438572141575,-15.270931547507644,-15.082820829818957,-14.907240023399936,-14.743549920909572,-14.590704314003233,-14.44733309163712,-14.312440573005006,-14.165804362070048,-14.023125185573008},
{-16.502440675758407,-18.816995532353758,-18.6791512510099,-18.160444542212645,-17.62521133883274,-17.117064403835684,-16.73815202564583,-16.487607126386138,-16.212879060098203,-15.95518214214826,-15.724454696493922,-15.513452097540721,-15.313301890710136,-15.12462277719169,-14.948522612568922,-14.78436256898567,-14.631079813552788,-14.487295956671005,-14.352013674739283,-14.204987476987299,-14.061852453945903},
{-16.548821967066033,-18.869787249917863,-18.731563232431654,-18.21126637540874,-17.674454149062512,-17.16484448753181,-16.78481364430627,-16.53346387282363,-16.25799466666649,-15.999470196664333,-15.768188923888374,-15.556582080520457,-15.355786410073051,-15.166537275916198,-14.989916316379094,-14.82528515564627,-14.671563868701924,-14.527366017689928,-14.39169283665251,-14.244276131765218,-14.100683232303709},
{-16.59533540670236,-18.922727287514135,-18.784124282188714,-18.262230461783474,-17.72383402689593,-17.21275640348904,-16.83160383978975,-16.579445234063314,-16.303233284445014,-16.04388004145585,-15.812042768782703,-15.59982878190931,-15.398385395179503,-15.208564595057396,-15.031421405845322,-14.866317931591766,-14.712156742287334,-14.567543515207944,-14.431478314392734,-14.283670595876174,-14.139617820095737},
{-16.641981372929877,-18.97581607371103,-18.836834798072232,-18.31333718120004,-17.7733513348212,-17.260800492571434,-16.878522929066094,-16.62555151374545,-16.348595184099395,-16.08841202277108,-15.856016518722754,-15.643192458577687,-15.441099126037443,-15.250705010199454,-15.073038172762608,-14.907461170863826,-14.752858686406398,-14.607828709529713,-14.47137036654749,-14.323171124677174,-14.178656507981941},
{-16.688760244243895,-19.029054035650915,-18.88969518331578,-18.364586911571678,-17.82300642694463,-17.308977077220334,-16.92557122753351,-16.67178301504464,-16.39408063419978,-16.133066485403106,-15.900110487244092,-15.6866733757779,-15.483927892579231,-15.292958787904354,-15.114766878570663,-14.9487151367357,-14.7936699577549,-14.64822184323566,-14.511369261483196,-14.362777977919905,-14.217799584963359},
{-16.735672399343457,-19.082441607912187,-18.942705842287978,-18.41598004315165,-17.872799669683445,-17.35728650915553,-16.97274905568338,-16.71814004110638,-16.439689910708694,-16.177843778539682,-15.94432497274829,-15.730271795619046,-15.526871967012994,-15.335326205153251,-15.156607803306542,-14.990080081479391,-14.834590812970418,-14.688723173370818,-14.551475256099366,-14.402491418441059,-14.257047354039969},
{-16.78271822039096,-19.135979225917254,-18.99586717991042,-18.46751695452258,-17.922731428057887,-17.4057291202771,-17.020056738256244,-16.764622905146098,-16.485423281410476,-16.222744246275397,-15.98866028644261,-15.773987981374376,-15.569931654725224,-15.37780752661638,-15.198561235389207,-15.031556282629026,-14.875621518091066,-14.72933296096744,-14.59168861884973,-14.442311700695427,-14.296400098624872},
{-16.829898089941707,-19.18966732005356,-19.049179601774085,-18.51919803066994,-17.972802054689964,-17.454305251478218,-17.06749458744889,-16.811231907835463,-16.531281015486456,-16.267768238583812,-16.033116725826403,-15.817822186363628,-15.613107230630703,-15.420403026073473,-15.240627439256059,-15.073143995687133,-14.916762319509871,-14.770051438681548,-14.632009608234512,-14.482239083736204,-14.335858112637652},
{-16.877212391264038,-19.24350632846472,-19.102643513469957,-18.571023656317266,-18.02301191506558,-17.503015241003595,-17.115062924451195,-16.85796735645272,-16.577263389888685,-16.312916095426772,-16.077694608597085,-15.86177468317328,-15.6563989892893,-15.463112979545258,-15.282806712610181,-15.114843484712765,-14.958013480878435,-14.810878881660756,-14.672438489826163,-14.522273824783042,-14.37542167972424},
{-16.924661508965073,-19.297496689396212,-19.15625932023977,-18.622994218952954,-18.073361373215448,-17.55185943574179,-17.162762071326142,-16.90482956857886,-16.623370675340993,-16.358188172074733,-16.12239424136351,-15.905845737754134,-15.69980721961474,-15.505937658279436,-15.32509932454559,-15.156655031518312,-14.999375271348981,-14.851815533300396,-14.712975532165729,-14.56241617820342,-14.415091091097565},
{-16.972245827462757,-19.351638841428212,-19.21002743212739,-18.675110108277295,-18.12385079418891,-17.600838168727932,-17.21059234367567,-16.95181884523481,-16.669603142188862,-16.40358480051509,-16.167215926223435,-15.950035608693724,-15.7433321941935,-15.548877341672778,-15.367505557223922,-15.198578879208071,-15.040847936674254,-14.892861658358015,-14.753620991774369,-14.602666408551158,-14.454866628540913},
{-17.019965732833953,-19.405933221496525,-19.26394825358875,-18.727371703454992,-18.174480538873468,-17.649951784231234,-17.258554063009797,-16.998935498151695,-16.715961060486734,-16.4491063413152,-16.212159979972057,-15.994344559294404,-15.786974212765926,-15.591932292591082,-15.410025697085075,-15.240615307237022,-15.08243174283416,-14.9340175097459,-14.79437513454468,-14.64302475459408,-14.494748572265962},
{-17.06782161774754,-19.460380277683726,-19.31802219900419,-18.779779399977997,-18.225250979565317,-17.699200630304404,-17.306647554243682,-17.04617984345532,-16.762444706750102,-16.49475313772564,-16.257226717367303,-16.038772863626946,-15.830733567214338,-15.635102804255439,-15.45266002000426,-15.282764579751529,-15.124126949522179,-14.975283344043419,-14.835238227678929,-14.683491491770837,-14.534737198555376},
{-17.115813865879318,-19.514980449690484,-19.37224967626389,-18.83233358472353,-18.27616247528931,-17.748585052409908,-17.35487313469639,-17.093552191159688,-16.809054356184788,-16.5405255263031,-16.302416439633816,-16.08332078580861,-15.874610534752719,-15.678389137901831,-15.495408823073376,-15.325026962265838,-15.165933818352642,-15.016659428045386,-14.876210533315316,-14.724066866736393,-14.574832778103882},
{-17.163942870451137,-19.56973418148118,-19.426631095062476,-18.88503464779933,-18.32721539362683,-17.79810538009042,-17.403231122647412,-17.141052852297435,-16.855790281755617,-16.58642386063002,-16.34772947570309,-16.127988588035805,-15.918605410843156,-15.721791575429961,-15.538272376346868,-15.367402731644688,-15.20785260933917,-15.058146020659478,-14.917292313708458,-14.764751126203919,-14.615035593975335},
{-17.212209021439776,-19.624641919508576,-19.481166868499713,-18.937882982369047,-18.378410107950913,-17.84776197897736,-17.45172184833791,-17.18868214727263,-16.902652759250486,-16.632448485674104,-16.39316612755647,-16.172776547871763,-15.962718484719517,-15.765310404327465,-15.581250971881673,-15.409892156225396,-15.249883589247474,-15.099743389815558,-14.95848383900011,-14.80554453530931,-14.655345908686286},
{-17.260612712590955,-19.679704112597392,-19.535857409908203,-18.990878975659143,-18.429746980546042,-17.89755518140737,-17.50034562658402,-17.23644038135535,-16.949642062012572,-16.67859973956365,-16.43872671254212,-16.21768492515548,-16.006950039125513,-15.8089458841132,-15.624344895390095,-15.45249550009612,-15.292027013376355,-15.141451787145343,-14.99978537420975,-14.846447338204598,-14.69576397916535},
{-17.309154336719075,-19.73492121003801,-19.59070313043776,-19.044023022870533,-18.481226380128646,-17.947485335636884,-17.54910278765601,-17.284327875473537,-16.996758461988065,-16.72487797748181,-16.48441155254841,-16.262713993462967,-16.05130037086201,-15.85269830992911,-15.667554425541312,-15.4952130355814,-15.334283148229588,-15.183271489397157,-15.041197169106454,-14.887459777819458,-14.73629007281852},
{-17.357834288282902,-19.790293659971212,-19.645704447902972,-19.097315517399693,-18.532848678849405,-17.997552793414798,-17.59799365067738,-17.332344942580676,-17.044002243259456,-16.771283531037625,-16.530220959335566,-16.307864024915034,-16.095769760664552,-15.896567947987933,-15.710879856836982,-15.538045032852096,-15.37665225454839,-15.225202761066612,-15.082719505211571,-14.92858211530256,-14.776924447069177},
{-17.406652966456022,-19.845821916504065,-19.700861773628276,-19.15075685008196,-18.584614240331575,-18.047757899708813,-17.647018541785656,-17.380491906340467,-17.091373678063974,-16.817816749418853,-16.576155251153978,-16.353135286743054,-16.140358502947493,-15.940555081062485,-15.75432146777166,-15.580991770111723,-15.419134602503618,-15.267245872499188,-15.124352633632952,-14.969814571959432,-14.817667351773707},
{-17.455610764576704,-19.901506429741858,-19.75617552609765,-19.204347420629347,-18.636523443943588,-18.098101009847596,-17.69617778583779,-17.42876907659229,-17.138873049785616,-16.864477974100737,-16.62221474936814,-16.398528061428806,-16.18506688447087,-15.984659994050162,-15.79787955363281,-15.624053528241348,-15.461730442126282,-15.309401092701592,-15.16609682541457,-15.011157415137859,-14.858519044326385},
{-17.50470808224054,-19.95734765805537,-19.811646122601815,-19.25808762406814,-18.68857665878022,-18.148582466004882,-17.74547171461745,-17.477176777931163,-17.186500638490543,-16.911267554096412,-16.668399771442637,-16.444042615796207,-16.229895196622238,-16.028882969956612,-15.841554398095468,-15.667230567429215,-15.504440053773578,-15.351668696734123,-15.207952348893741,-15.052610873623053,-14.89947977400152},
{-17.553945319581544,-20.013346052903216,-19.867273979034508,-19.31197785108816,-18.74077425757423,-18.199202620919095,-17.794900649721967,-17.525715326075442,-17.23425672049052,-16.958185820723884,-16.714710641244892,-16.489679221383994,-16.274843728460837,-16.073224282998126,-15.885346280265367,-15.710523164045298,-15.547263690124964,-15.394048947171541,-15.249919456313364,-15.094175177189754,-14.940549772465602},
{-17.60332287744677,-20.069502073456533,-19.92305951565504,-19.36601850646548,-18.793116608110722,-18.249961833207635,-17.844464923487976,-17.57438504396123,-17.282141576200956,-17.005233117670286,-16.761147672048537,-16.53543816364254,-16.319912765844492,-16.117684222845128,-15.929255494469544,-15.75393159763189,-15.590201614162652,-15.436542129289592,-15.291998416185379,-15.135850564809516,-14.981729286868358},
{-17.652841155446367,-20.125816180021502,-19.979003148851916,-19.42020998056978,-18.845604084286606,-18.300860442774137,-17.894164859812008,-17.623186250741128,-17.330155492702033,-17.052409788710065,-16.807711191504495,-16.581319717224687,-16.36510259786155,-16.162263064470608,-15.973282328341156,-15.7974561440642,-15.633254100364866,-15.479148510319646,-15.334189495100873,-15.177637258166214,-15.023018566367682},
{-17.70250055989891,-20.182288831972983,-20.035105304355966,-19.474552682659123,-18.898237067187438,-18.351898815337336,-17.94400080034393,-17.67211927298922,-17.378298750612885,-17.099716165481368,-16.854401516058715,-16.627324153116206,-16.41041351761669,-16.20696109891287,-16.01742706503137,-15.841097075433936,-15.6764214108116,-15.521868367563002,-15.376492951792898,-15.219535500829807,-15.06441783873015},
{-17.752301493674167,-20.23892048903508,-20.091366399108665,-19.529047000512946,-18.951015928876586,-18.40307729251799,-17.993973067437764,-17.721184428664856,-17.4265716385853,-17.14715259236982,-16.90121896797791,-16.673451764218044,-16.455845811986364,-16.25177860810072,-16.06168999779038,-15.884854670701316,-15.719703797949478,-15.564701981609687,-15.418909053289099,-15.26154549754574,-15.105927347554825},
{-17.80224436224671,-20.295711615210166,-20.147786859452026,-19.583693343156483,-19.003941043367377,-18.454396237269975,-18.04408199962927,-17.77038204247947,-17.474974435579497,-17.194719399121823,-16.94816387319588,-16.71970282107941,-16.50139977253275,-16.296715874952497,-16.10607140394859,-15.928729194914922,-15.76310154152452,-15.607649620622396,-15.461438059370266,-15.303667480417062,-15.147547318396391},
{-17.85232957234257,-20.352662674093153,-20.20436710352078,-19.6384921069548,-19.05701278327615,-18.505856005096575,-18.09432793324231,-17.81971244030865,-17.523507440229878,-17.24241692639771,-16.995236547023524,-16.766077611624496,-16.547075689566555,-16.341773195104906,-16.1505715844105,-15.972720939142164,-15.806614901666762,-15.650711572758155,-15.504080231126864,-15.34590165806003,-15.18927798079676},
{-17.90255753234669,-20.409774131752783,-20.261107556463685,-19.693443694151938,-19.110231529921293,-18.557456942711724,-18.14471119910013,-17.869175953936065,-17.57217092748033,-17.290245505573694,-17.042437313415576,-16.812576413038187,-16.592873849527678,-16.386950842133956,-16.195190811908105,-16.016830168518936,-15.850244140194263,-15.693888105277438,-15.54683583448059,-15.388248246745206,-15.231119569565635},
{-17.952928649174282,-20.467046454985393,-20.31800864386605,-19.748548512521666,-19.163597659266088,-18.60919941854081,-18.195232138590654,-17.918772903067293,-17.6209651955578,-17.33820547364303,-17.089766493212664,-16.859199516678927,-16.638794537924696,-16.432249118515756,-16.239929380913964,-16.06105716075399,-15.893989527481608,-15.737179508520057,-15.589705133839743,-15.430707454273943,-15.273072316369507},
{-18.003443336550845,-20.524480112595484,-20.375070792622864,-19.803806958225323,-19.217111557198223,-18.661083783576032,-18.245891094236868,-17.968503622338176,-17.669890540157212,-17.386297156917863,-17.13722441374557,-16.905947209568694,-16.684838054556167,-16.477668306150008,-16.28478757836274,-16.105402194312774,-15.937851330527337,-15.780586060864152,-15.632688392011914,-15.473279491212452,-15.315136441378854},
{-18.054102003370645,-20.582075574813643,-20.43229442971642,-19.859219441539608,-19.270773589320015,-18.713110396289267,-18.296688402595464,-18.01836843712954,-17.71894724262529,-17.434520893235458,-17.184811385552166,-16.952819769794587,-16.731004681583727,-16.523208692204207,-16.32976568758022,-16.14986554297502,-15.981829807016766,-15.824108023691224,-15.675785859581083,-15.515964563179296,-15.357312170584919},
{-18.104905062369653,-20.639833308348898,-20.489679977676133,-19.91478636377724,-19.32458414498251,-18.76527961838292,-18.347624408634147,-18.068367679428775,-17.768135604070267,-17.482876997906715,-17.232527731976006,-16.99981749188737,-16.777294713567244,-16.568870573159074,-16.374864004261326,-16.1944474724296,-16.0259252388787,-15.867745703319088,-15.71899781387765,-15.55876287072897,-15.399599731928902},
{-18.155852929732646,-20.697753790562274,-20.54722786997445,-19.970508135447744,-19.378543602098944,-18.817591808154248,-18.398699461395154,-18.118501690245466,-17.817455927230185,-17.531365817645565,-17.28037377964938,-17.046940671047196,-16.823708444513613,-16.61465424322523,-16.420082810509484,-16.239148276596097,-16.07013789084158,-15.91149936261354,-15.762324513751082,-15.60167461266974,-15.441999356640736},
{-18.206946017220616,-20.7558374935179,-20.604938532807864,-20.026385159726487,-19.432652340066852,-18.870047325937776,-18.449913903459674,-18.168770786607638,-17.86690849720617,-17.57998766019591,-17.328349840041483,-17.094189588271547,-16.870246153441258,-16.660559985088184,-16.465422384935664,-16.283968228264712,-16.114468028506963,-15.955369292525575,-15.805766221572412,-15.644699993223185,-15.484511252812808},
{-18.25818474314292,-20.81408489079331,-20.66281239798991,-20.082417841418646,-19.486910743027693,-18.922646530234488,-18.50126808290952,-18.219175318750786,-17.91649362182943,-17.628742860630155,-17.376456235913793,-17.141564539982937,-16.91690813587047,-16.706588100612862,-16.510883021255722,-16.328907588671427,-16.15891591773834,-15.999355756357545,-15.84932318990468,-15.687839198450092,-15.527135648822878},
{-18.309569524906692,-20.87249646021519,-20.720849895384163,-20.13860659499187,-19.5413191934349,-18.97538978990633,-18.552762361068744,-18.26971561429673,-17.966211599792587,-17.677631743135862,-17.424693283857778,-17.189065818180097,-16.96369468930061,-16.75273888860829,-16.556465002620826,-16.373966650658986,-16.2034818410757,-16.043459054693813,-15.892995693779085,-15.731092442263616,-15.56987277159351},
{-18.36110078112688,-20.931072679231875,-20.779051457357127,-20.194951829267666,-19.595878071442712,-19.028277469507884,-18.604397082177456,-18.320392012421507,-18.01606273636571,-17.726654621743364,-17.473061292548664,-17.23669371739379,-17.010606098920107,-16.799012641480658,-16.602168629149674,-16.41914567159256,-16.248166062141536,-16.087679457617924,-15.936783992423443,-15.774459907232085,-15.612722837016918},
{-18.41277893142251,-20.989814026281238,-20.837417515402194,-20.251453949545976,-19.650587765296223,-19.081309914879967,-18.656172606133623,-18.371204850875074,-18.066047336324118,-17.775811821426032,-17.521560592664173,-17.284448537160642,-17.05764266726328,-16.845409645466134,-16.64799416443566,-16.464444957702653,-16.29296886661905,-16.132017245108727,-15.980688349285629,-15.817941783665447,-15.65568607460591},
{-18.464604398337542,-21.048720982274972,-20.89594850319554,-20.308113369479543,-19.705448653694475,-19.13448750815587,-18.708089289313648,-18.42215446429327,-18.116165696730604,-17.825103659764864,-17.57019148377003,-17.3323305681115,-17.104804654663894,-16.891930205281824,-16.693941908568377,-16.509864761930658,-16.337890510621946,-16.176472696039127,-16.024709016579436,-15.861538278084481,-15.69876269789529},
{-18.516577602000325,-21.107794028619537,-20.954644858604297,-20.364930500014452,-19.760461128607858,-19.187810610921588,-18.760147496999707,-18.473241206578678,-18.16641813790193,-17.87453045687289,-17.618954294070136,-17.380340116855223,-17.152092389005702,-16.93857462858432,-16.74001215311,-16.555405368912034,-16.382931286090752,-16.221046100341482,-16.06884626977262,-15.905249582225224,-15.741952942713397},
{-18.568698968971148,-21.16703365041758,-21.013507012976333,-20.421905756287742,-19.815625575836748,-19.241279584297445,-18.812347597646294,-18.524465407215757,-18.21680496877525,-17.924092532572104,-17.667849330056924,-17.428477470879443,-17.199506147269858,-16.985343209526036,-16.786205178243108,-16.60106706302031,-16.428091471723747,-16.265737730864203,-16.113100372604094,-15.949075895710848,-15.785257035779068},
{-18.620968922259635,-21.2264403271256,-21.072535408398835,-20.47903955291258,-19.87094237713609,-19.294894799910253,-18.86468995246105,-18.575827416585525,-18.267326497938484,-17.973790191987064,-17.716876900900388,-17.47674294488388,-17.247046223463258,-17.03223625049577,-16.832521275879117,-16.646850118529983,-16.473371339263394,-16.310547872737516,-16.157471590820933,-15.9930174179608,-15.828675183351152},
{-18.673387888629804,-21.286014548066305,-21.131730473629432,-20.53633229646948,-19.926411924214335,-19.34865662199445,-18.917174928967142,-18.62732757383492,-18.31798304230324,-18.02362375552184,-17.766037322988268,-17.52513683156576,-17.2947129161912,-17.0792540483817,-16.878960726142395,-16.6927548131207,-16.518771180475596,-16.35547679910087,-16.20196017512353,-16.037074326595757,-15.872207634936785},
{-18.72595629436546,-21.345756799681112,-21.19109265273437,-20.59378441082663,-19.982034604850924,-19.40256542232237,-18.96980290254578,-18.678966224222677,-18.368774914299138,-18.073593532230007,-17.815330904559232,-17.57365943293553,-17.342506512475666,-17.126396906911395,-16.92552382100257,-16.73878143238835,-16.564291266346117,-16.400524794386,-16.246566404850455,-16.081246849062154,-15.91585461347131},
{-18.778674570276053,-21.405667569488287,-21.250622381980065,-20.65139630905469,-20.037810808076756,-19.45662156806793,-19.02257425271091,-18.730743717576843,-18.41970243238029,-18.123699844174553,-17.864757954957895,-17.622311058657942,-17.390427312639076,-17.173665133159375,-16.972210856096353,-16.784930255264044,-16.60993188933935,-16.445692150620744,-16.29129054333316,-16.125535166356713,-15.95961636249558},
{-18.83154314447893,-21.465747347130673,-21.310320101852994,-20.709168401750503,-20.09374092138023,-19.510825420788024,-19.075489352748264,-18.78266039394657,-18.470765917823883,-18.173942991590593,-17.9143187784357,-17.6710920020123,-17.438475603732513,-17.22105902421754,-17.01902209990658,-16.831201554916333,-16.65569332888117,-16.49097911635181,-16.336132850323338,-16.169939484534552,-16.00349309365265},
{-18.884562447914504,-21.525996622629464,-21.370186253858265,-20.767101116944104,-20.14982534054434,-19.565177369717276,-19.128548586944817,-18.83471660714713,-18.52196569085936,-18.224323283327976,-17.96401368259103,-17.72000258375192,-17.48665169373271,-17.268578899092972,-17.065957867947873,-16.877595617464976,-16.701575882179895,-16.536386003455846,-16.381093592877733,-16.21446002050652,-16.047485077404417},
{-18.93773291488469,-21.586415888159536,-21.430221278744284,-20.82519486331148,-20.206064446247183,-19.61967776567326,-19.18175233443617,-18.886912702495465,-18.57330207596533,-18.274841040198226,-18.013842976506567,-17.769043104402954,-17.53495586189092,-17.316225051123183,-17.113018427829957,-16.92411272463505,-16.7475798324449,-16.58191306804656,-16.426173041341826,-16.259096962952754,-16.091592533746734},
{-18.991054977479507,-21.647005638835253,-21.49042561944225,-20.883450073335553,-20.262458645389415,-19.674326994805597,-19.235100992867956,-18.93924903377774,-18.624775399279315,-18.32549656528863,-18.063806962018134,-17.81821387456148,-17.583388419938274,-17.363997797918273,-17.160204092331696,-16.970753157162108,-16.793705464544473,-16.627560610097134,-16.47137146772002,-16.30385053975624,-16.135815722256666},
{-19.04452907157247,-21.707766365230782,-21.550799720251234,-20.94186715516844,-20.319008323654998,-19.72912542373524,-19.288594941812335,-18.991725950094406,-18.67638598062331,-18.376290161977522,-18.113905945210718,-17.86751520249527,-17.631949652917683,-17.41189743959694,-17.207515134679852,-17.017517197848065,-16.83995307859732,-16.673328884731745,-16.51668912457535,-16.348720943991793,-16.18015487806406},
{-19.098155632149428,-21.76869856598205,-21.61134402200696,-21.000446534133516,-20.37571386914351,-19.784073423972586,-19.342234585492406,-19.04434379452141,-18.728134156845044,-18.427222148427973,-18.16414022957906,-17.91694739452214,-17.680639874539338,-17.45992428919999,-17.254951850161888,-17.064405121811433,-16.88632296770811,-16.719218185840873,-16.56212630547816,-16.393708413874265,-16.22461027224199},
{-19.151935098518152,-21.82980273826979,-21.672058975178516,-21.059188634419115,-20.43257568316767,-19.83917138489778,-19.396020317450166,-19.097102932806592,-18.780020256672287,-18.478292825515382,-18.214510110381525,-17.96651077424758,-17.72945937133045,-17.508078659011517,-17.302514547336614,-17.11141722506727,-16.932815424486762,-16.76522879433469,-16.607683265174273,-16.43881315778708,-16.269182151561836},
{-19.205867908123764,-21.89107937697554,-21.732945019815816,-21.118093874509213,-20.489594160899287,-19.894419658667175,-19.449952528986614,-19.150003713177284,-18.83204460973502,-18.529502498393413,-18.265015898476122,-18.016205646825256,-17.778408445592504,-17.556360858347034,-17.35020350164268,-17.158553775050677,-16.979430739273084,-16.81136097444687,-16.65336027313606,-16.484035389119526,-16.313870759797283},
{-19.25995450031769,-21.952528985741083,-21.794002606213326,-21.177162686013617,-20.54676969148568,-19.949818641878664,-19.504031630291138,-19.20304648723686,-18.884207549359417,-18.580851479811827,-18.315657886705594,-18.066032331291353,-17.827487392147304,-17.604771197482478,-17.398019016807666,-17.205815068416996,-17.02616920764558,-16.857615020649973,-16.699157605529763,-16.529375352081843,-16.358676377421943},
{-19.314195317710983,-22.01415206407546,-21.85523218396702,-21.236395487649133,-20.604102684592362,-20.005368695390644,-19.55825802561594,-19.256231614592252,-18.936509416409535,-18.632340076117544,-18.366436380922096,-18.115991145576118,-17.876696523599094,-17.653309992485447,-17.445961384742986,-17.253201379615348,-17.073031136387726,-16.903991205210332,-16.74507552679279,-16.574833264312474,-16.40359924986842},
{-19.36859080287104,-22.075949111400405,-21.916634197870735,-21.29579270706745,-20.6615935243899,-20.061070206487784,-19.61263212605263,-19.30955944309244,-18.988950548140565,-18.683968600438675,-18.417351673007943,-18.16608239832567,-17.926036127697444,-17.701977550052106,-17.49403090175474,-17.300712983153062,-17.120016807311913,-16.950489791459404,-16.791114317195024,-16.620409370574635,-16.44863964727847},
{-19.423141398860025,-22.137920631910674,-21.978209100518143,-21.355354769766564,-20.719242614053655,-20.1169235536654,-19.667154332477367,-19.363030333595816,-19.041531271621352,-18.7357373535051,-18.46840406116098,-18.21630641593947,-17.975506515271263,-17.75077419623267,-17.54222787200706,-17.348350175045198,-17.16712652426213,-16.997111082659103,-16.837274246296147,-16.66610391312861,-16.493797844974324},
{-19.47784755282919,-22.20006713256589,-22.039957343949936,-21.415082107589114,-20.777050354954554,-20.172929115768056,-19.72182506878744,-19.416644656390417,-19.09425195073709,-18.78764665251947,-18.519593857199652,-18.266663518821588,-18.025108000205364,-17.799700238771038,-17.590552595444024,-17.39611324330326,-17.214360602927627,-17.043855336640263,-16.883555599488318,-16.711917127657216,-16.53907410224201},
{-19.53270970705489,-22.26238911386463,-22.101879374065902,-21.474975144665223,-20.835017145931488,-20.229087271232856,-19.77664474589983,-19.470402750303037,-19.147112906503025,-18.839696801296668,-18.570921337930486,-18.317154025367927,-18.07484086675686,-17.848755993909435,-17.639005353470566,-17.444002454867586,-17.261719320347765,-17.090722849039594,-16.92995863503893,-16.757849280256778,-16.584468686254695},
{-19.587728312486433,-22.32488708430901,-22.163975643576123,-21.535034311091295,-20.89314338332042,-20.285398396721575,-19.831613776565064,-19.52430498789181,-19.200114490406122,-18.891888114158064,-18.622386812930927,-18.36777825129684,-18.12470541987568,-17.897941769479075,-17.687586454238044,-17.49201810557861,-17.309202970500337,-17.137713873002212,-16.976483625592664,-16.803900591214187,-16.629981876001693},
{-19.642903818603372,-22.38756155371084,-22.226246613106923,-21.595260038069682,-20.95142947920249,-20.34186288053752,-19.88673259256757,-19.578351723903324,-19.253257054515416,-18.94422090385342,-18.67399057612056,-18.41853652530699,-18.174701983836712,-17.94725789761287,-17.736296201386722,-17.54016047526966,-17.356811883248156,-17.184828703815583,-17.02313085953938,-16.850071360298898,-16.67561395006487},
{-19.698236673357314,-22.450413028680487,-22.28869273062446,-21.655652762245154,-21.009875822783215,-20.398481110314606,-19.942001602379605,-19.63254332463839,-19.30654094167403,-18.996695476176683,-18.72573291824665,-18.469429171818774,-18.224830841383664,-17.996704691526247,-17.785134889156325,-17.588429847644875,-17.404546335950727,-17.23206762195332,-17.069900614966173,-16.896361836232245,-16.721365175093524},
{-19.753727329021785,-22.513442018738715,-22.351314452680526,-21.716212906176224,-21.068482825066894,-20.455253456777427,-19.997421235602815,-19.686880151362857,-19.359966498654103,-19.04931215016404,-18.77761413960252,-18.52045651600929,-18.27509231856675,-18.04628245445201,-17.834102808323223,-17.636826514615677,-17.452406627126038,-17.279430893191602,-17.116793150547892,-16.942772267619148,-16.76723583327839},
{-19.809376243676525,-22.57664904172998,-22.414112238329835,-21.77694091279409,-21.127250890334835,-20.512180315708974,-20.052991921344073,-19.74136257005739,-19.413534082239494,-19.102071244938998,-18.82963453180855,-18.57161888346309,-18.32548671020777,-18.095991517941002,-17.88320027309237,-17.685350757761626,-17.500393067952245,-17.32691880117636,-17.16380875761388,-16.989302953879815,-16.81322622706648},
{-19.86518386262469,-22.64003459661035,-22.477086538623553,-21.837837206287077,-21.18618042342132,-20.569262064032955,-20.1087140799209,-19.7959909447236,-19.46724403440021,-19.154973063064972,-18.881794387911214,-18.62291659080074,-18.37601432777592,-18.14583219270571,-17.932427570369327,-17.734002861659974,-17.54850595392054,-17.374531620240305,-17.210947702871636,-17.035954148392193,-16.85933661699528},
{-19.921150645939633,-22.70359920815099,-22.5402378118888,-21.898902228014776,-21.24527182150632,-20.626499092322774,-20.16458814201178,-19.8507656424772,-19.521096722892253,-19.20801793859573,-18.93409400858218,-18.67434997324017,-18.426675478200195,-18.195804792514537,-17.981785007868893,-17.782783124916023,-17.59674558416009,-17.422269633272663,-17.258210278872866,-17.082726157910656,-16.90556730690878},
{-19.977277051701094,-22.767343385639833,-22.60356652145856,-21.960136413457803,-21.304525499697775,-20.6838917939167,-20.220614532852778,-19.90568703066674,-19.57509249242139,-19.26120618294226,-18.986533676012186,-18.72591936282697,-18.47747047827579,-18.245909654477146,-18.031272882508347,-17.83169182483107,-17.64511225721799,-17.470133122056723,-17.30559674813412,-17.129619255953003,-16.9519185986137},
{-20.033563534438144,-22.831267643079627,-22.667073122313013,-22.021540197369177,-21.36394186297548,-20.741440538171446,-20.276793684490258,-19.960755481326487,-19.629231706814608,-19.314538108563283,-19.039113689010264,-18.777625074784737,-18.52839962451253,-18.296147072222084,-18.080891486490145,-17.880729256372433,-17.693606278684456,-17.518122352019418,-17.353107389586512,-17.17663371609524,-16.99839078099467},
{-20.090010557178175,-22.89537250107969,-22.73075807886198,-22.08311402145773,-21.42352131687221,-20.799145735159982,-20.33312602600199,-20.015971367625752,-19.683514720993116,-19.368014054052765,-19.09183434949955,-18.829467454866972,-18.57946323780925,-18.346517376805423,-18.13064112662687,-17.929895717068575,-17.742227944545448,-17.566237621940672,-17.40074249380268,-17.223769866279326,-17.04498418222647},
{-20.14661857917963,-22.95965847664047,-22.79462184853037,-22.144858321698848,-21.48326427928987,-20.857007762941066,-20.389611999504268,-20.071335062908474,-19.73794189657201,-19.421634336176794,-19.144695938302903,-18.881446819461416,-18.630661628121743,-18.397020890872227,-18.180522104143165,-17.979191491031088,-17.79097755998373,-17.614479198586196,-17.44850233150646,-17.27102796989493,-17.091699102369603},
{-20.203388061388978,-23.024126086209435,-22.858664895786205,-22.20677353432984,-21.543171150551643,-20.91502701412537,-20.446252020279644,-20.126846935716458,-19.792513590859016,-19.475399279792327,-19.1976987553644,-18.93356349755777,-18.68199509877013,-18.447657918615732,-18.230534703703597,-18.028616876050364,-17.83985540823778,-17.662847361934837,-17.496387179300655,-17.318408347957302,-17.138535861915443},
{-20.260319469554815,-23.088775849959347,-22.92288768425351,-22.26886011249735,-21.603242342098383,-20.973203884641407,-20.50304653091007,-20.18250736722257,-19.847230170998955,-19.5293092065549,-19.250843087938847,-18.985817830689484,-18.733463966287673,-18.498428787424928,-18.280679238785524,-18.078172171546612,-17.888861812942196,-17.71134240052197,-17.544397329271305,-17.3659113018075,-17.185494802542962},
{-20.317413266879157,-23.153608290915145,-22.987290677265264,-22.33111848452245,-21.663478267146274,-21.031538753391942,-20.55999595593312,-20.238316738483263,-19.902091998024844,-19.583364451886155,-19.304129236668814,-19.03821014732239,-18.785068547556875,-18.549333815841237,-18.33095600438537,-18.127857664891053,-17.937997053551953,-17.759964588447474,-17.592533050104976,-17.413537124055438,-17.23257624800317},
{-20.37466992205009,-23.21862392948242,-23.051874341472285,-22.393549099127995,-21.72387933798018,-21.09003203647444,-20.617100737581495,-20.29427542933263,-19.95709944536793,-19.637565348821227,-19.357557492679916,-19.090740771964192,-18.83680915669538,-18.600373313878663,-18.38136530801421,-18.177673671219964,-17.987261443398893,-17.808714217098895,-17.640794641978573,-17.46128614578629,-17.279780552431475},
{-20.43208989908453,-23.283823286532424,-23.116639139218023,-22.456152397353435,-21.784445973898983,-21.14868410176132,-20.674361300625606,-20.350383821234573,-20.01225287115085,-19.69191222282825,-19.41112814587541,-19.143410042859614,-18.888686098944163,-18.651547601737548,-18.43190743861487,-18.22762048279401,-18.0366552657797,-17.85759156459244,-17.68918236711761,-17.509158661123365,-17.32710806047544},
{-20.489673668911564,-23.34920688829152,-23.181585541489767,-22.518928827659693,-21.845178576855687,-21.207495361799374,-20.731778082146775,-20.406642300920794,-20.067552647698903,-19.74640541471308,-19.464841498236638,-19.196218286000658,-18.940699703933205,-18.702857003954705,-18.48258269717917,-18.277698403398972,-18.086178827972617,-17.906596909859218,-17.737696526630316,-17.55715500190854,-17.374559144023806},
{-20.54742170040845,-23.414775258948794,-23.2467140124063,-22.581878832017537,-21.90607756827376,-21.266466212749947,-20.789351510466076,-20.463051253726007,-20.122999138897285,-19.80104525553179,-19.518697830470046,-19.2491658385552,-18.992850279377308,-18.75430183269782,-18.53339139703894,-18.327907739963848,-18.135832436266355,-17.955730543239042,-17.786337398341857,-17.60527547937818,-17.422134167863987},
{-20.60533446590125,-23.480528919986682,-23.312025021616137,-22.645002854143968,-21.96714336241712,-21.325597035203828,-20.847082017717184,-20.519611068884842,-20.178592720709275,-19.85583207590389,-19.572697452735156,-19.30225302663166,-19.045138131652493,-18.80588239739882,-18.58433383179363,-18.37824879278196,-18.185616366157774,-18.00499274005415,-17.835105259960983,-17.65352039108984,-17.469833500450477},
{-20.663412438108935,-23.546468404092593,-23.377519041416235,-22.70830134951393,-22.028376375004882,-21.384888245404,-20.90497003844939,-20.576322138454998,-20.234333763393806,-19.910766223591054,-19.626840650540544,-19.355480193189578,-19.097563595161773,-18.8575990278041,-18.63541029993212,-18.428721883276012,-18.235530932666734,-18.054383804788813,-17.884000419289805,-17.701890082855243,-17.517657531425357},
{-20.721656091773184,-23.61259423784213,-23.443196540581994,-22.771774757275125,-22.0897770288866,-21.444340224639745,-20.963016002177028,-20.63318486267235,-20.290222636482213,-19.96584803223959,-19.68112772179302,-19.408847666549264,-19.150126983760856,-18.9094520372455,-18.68662110774312,-18.479327307315543,-18.28557643154636,-18.10390401101904,-17.933023154211696,-17.75038485910045,-17.56560664117569},
{-20.780065900238696,-23.67890694757807,-23.50905799146858,-22.83542353316443,-22.151345734659117,-21.503953381441534,-21.021220340422587,-20.690199627482798,-20.34625971195055,-20.021077855781186,-19.735558963846415,-19.462355771887815,-19.2028286162531,-18.961441738414578,-18.737966555228923,-18.53006537660258,-18.335753146384377,-18.153553635522258,-17.982173758617137,-17.799005053762812,-17.61368121986743},
{-20.838642343966058,-23.74540706211701,-23.575103865092387,-22.899248120113043,-22.213082913309336,-21.563728114881087,-21.07958347912063,-20.74736683437368,-20.402445367275504,-20.07645602436969,-19.79013466698234,-19.5160048478283,-19.25566881679697,-19.013568448543083,-18.789446951530408,-18.580936416692566,-18.386061392026022,-18.20333299000049,-18.03145251708338,-17.847750985529274,-17.661881666339468},
{-20.897385898511857,-23.81209511353518,-23.641334636806278,-22.963248977583135,-22.274988989927806,-21.62366482440848,-21.138105856371112,-20.80468689533882,-20.458779984212015,-20.131982886552578,-19.844855140545405,-19.5697952384362,-19.30864790547639,-19.06583249825053,-18.841062600375153,-18.631940736086108,-18.436501457879785,-18.253242337377742,-18.08085973287234,-17.89662298129406,-17.7102083718637},
{-20.956297042837832,-23.878971632919274,-23.707750779984053,-23.027426550892415,-22.337064376304625,-21.683763911394635,-21.19678789746831,-20.862160195421893,-20.515263921086444,-20.187658785202075,-19.899720675573917,-19.623727259109728,-19.361766205111053,-19.118234184395988,-18.892813786223996,-18.68307864642702,-18.48707362927962,-18.303281988599338,-18.130395699467044,-17.94562137342291,-17.758661726024002},
{-21.015376261231722,-23.946037149551557,-23.77435276695178,-23.091781293362146,-22.39930950140115,-21.7440257682465,-21.255630026513245,-20.91978715235018,-20.57189756265143,-20.2434840677015,-19.95473157192464,-19.677801251062192,-19.415024027810432,-19.170773820602335,-18.944700837309938,-18.734350463957526,-18.537778205936775,-18.353452215960715,-18.180060699407477,-17.994746463256888,-17.807242120266892},
{-21.07462403360114,-24.013292201037984,-23.841141079261433,-23.15631365979789,-22.461724785913248,-21.804450812924188,-21.314632684952812,-20.977568171918392,-20.62868128917762,-20.29945909284288,-20.009888129337924,-19.7320175524801,-19.468421727360692,-19.22345175157534,-18.99672405095771,-18.785756510624196,-18.58861549786525,-18.40375332062831,-18.2298550477135,-18.043998619541526,-17.85594995354768},
{-21.134040844073752,-24.080737318348838,-23.908116192149464,-23.221024107391713,-22.524310651177075,-21.865039442491252,-21.37379629095085,-21.035503665392753,-20.685615474765655,-20.355584192991955,-20.065190632652957,-19.786376485193614,-19.52195960719837,-19.27626827324275,-19.04888372682035,-18.83729710272746,-18.639585784461815,-18.45418558496749,-18.279779026517645,-18.093378139776178,-17.9047855954268},
{-21.193627176326117,-24.148373035597615,-23.975278581958264,-23.28591308556497,-22.58706752071157,-21.925792050227756,-21.433121272275457,-21.093594036385184,-20.742700493574375,-20.411859724321403,-20.12063941330416,-19.840878387039993,-19.575638006266672,-19.329223706328776,-19.101180172292516,-18.888972559943795,-18.69068936316762,-18.504749297280796,-18.329832932155114,-18.142885360866785,-17.953749423206318},
{-21.25338351742539,-24.21619988803286,-24.04262872930849,-23.350981051422423,-22.64999581873417,-21.986709060205612,-21.492608066822868,-21.151839715137612,-20.79993672805722,-20.468286050338065,-20.176234745245893,-19.89552360161906,-19.629457244765945,-19.38231838052161,-19.15361369360471,-18.940783213824034,-18.741926539805718,-18.55544477107469,-18.380017086979933,-18.192520622862503,-18.00284182484029},
{-21.313310358920717,-24.284218411979964,-24.110167116683442,-23.41622846570681,-22.71309597644722,-22.047790856915526,-21.552257092116633,-21.210241106222384,-20.857324555079686,-20.52486350852996,-20.23197694052942,-19.950312440749258,-19.683417655003723,-19.435552587441634,-19.20618459506659,-18.99272936489433,-18.79329759266693,-18.60627226019278,-18.43033176654717,-18.242284232983366,-18.052063130948227},
{-21.373408187864698,-24.352429150079843,-24.177894223714247,-23.48165578604676,-22.77636841792264,-22.109037859889213,-21.612068778340472,-21.268798632750986,-20.914864351798315,-20.58159246420837,-20.28786630189279,-20.00524525094079,-19.73751956835622,-19.488926670863293,-19.25889317842666,-19.044811344821937,-18.8448028214043,-18.65723208419513,-18.480777282151394,-18.292176530929282,-18.10141371365171},
{-21.433677494133008,-24.42083263283712,-24.24581053177826,-23.547263466462027,-22.83981356775621,-22.17045047256397,-21.67204356304137,-21.327512713178294,-20.972556501365034,-20.63847326397081,-20.34390312305186,-20.060322368517518,-19.791763321089093,-19.54244094126625,-19.311739748867694,-19.097029476368334,-18.896442532306537,-18.708324527658988,-18.53135392634431,-18.342197837366257,-18.15089390479261},
{-21.494118770133355,-24.489429401612142,-24.31391652431921,-23.613051969965454,-22.903431853832444,-22.232029095524922,-21.732181850617053,-21.38638376785093,-21.030401374940993,-20.6955062650959,-20.400087718619034,-20.115544107800815,-19.846149243123364,-19.596095713670366,-19.364724618382752,-19.149384079733863,-18.948217006400228,-18.759549880342092,-18.582062008033972,-18.3923484752886,-18.20050404034555},
{-21.55473250777868,-24.55821999613545,-24.382212685624836,-23.679021757561713,-22.967223709536484,-22.293774148478406,-21.792484089848585,-21.44541223073611,-21.08839935946162,-20.752691834466532,-20.456420386675745,-20.17091082734987,-19.90067766304128,-19.649891317123547,-19.417848085577134,-19.20187547558453,-19.00012654508464,-18.810908442887012,-18.632901829085313,-18.442628780030645,-18.25024444423616},
{-21.615519206796307,-24.627204957039794,-24.450699503155192,-23.745173291303217,-23.03118956752587,-22.355686028429773,-21.852950703643728,-21.504598521307344,-21.146550832520006,-20.810030327003915,-20.51290143613005,-20.226422845444176,-19.95534892944852,-19.703828070079908,-19.471110461861826,-19.25450400117552,-19.052171443181578,-18.862400505226105,-18.6838736901409,-18.493039061431773,-18.300115427642595},
{-21.67647935617424,-24.69638482289156,-24.519377459742827,-23.811507025704486,-23.095329849777045,-22.41776514722733,-21.913582111505093,-21.56394306960283,-21.20485617412487,-20.867522098124027,-20.5695311712916,-20.282080492936075,-20.0101633691811,-19.75790629297262,-19.52451204380486,-19.307269953365903,-19.104351986316033,-18.9140263608424,-18.73497789009707,-18.54357965500094,-18.350117287773173},
{-21.737613459685235,-24.76576013705926,-24.588247042614967,-23.87802343585645,-23.159644994797418,-22.480011919134995,-21.974378749728203,-21.623446309764404,-21.263315763877472,-20.925167513720226,-20.626309893850703,-20.33788410341367,-20.06512132147327,-19.812126317992806,-19.578053147881292,-19.36017369030742,-19.156668496667407,-18.96578630671138,-18.78621475060936,-18.594250857655425,-18.4002503301017},
{-21.798922011919785,-24.835331440961454,-24.657308743306203,-23.944722977437777,-23.224135426804423,-22.542426738596987,-22.035341032460565,-21.68310866394313,-21.321929983445443,-20.982966934272554,-20.683237914869096,-20.393834015005268,-20.12022312823683,-19.866488454164937,-19.631734075315762,-19.41321549913846,-19.20912124653114,-19.01768064039061,-18.83758453372866,-18.64505299978191,-18.45051481918199},
{-21.86040551777114,-24.90509928035317,-24.726563049538527,-24.01160612012609,-23.288801590155344,-22.605010040628258,-22.09646940769744,-21.74293057405157,-21.380699212662876,-21.04092073260108,-20.740315546281636,-20.449930564849637,-20.17546913237311,-19.92099303402938,-19.685555135889445,-19.46639572834829,-19.261710546677932,-19.069709665083792,-18.88908759120386,-18.695986402162816,-18.500911056995392},
{-21.922064476049854,-24.975064195110463,-24.796010449208552,-24.07867332090973,-23.35364391640178,-22.667762209224747,-22.157764287665486,-21.80291247263085,-21.43962383334292,-21.099029259057716,-20.7975430857623,-20.50617407547543,-20.230859667120967,-19.97564037691336,-19.73951663490152,-19.519714687368833,-19.31443668261636,-19.121873666357715,-18.940724185667932,-18.747051374753937,-18.551439285627566},
{-21.983899390266743,-25.04522673250176,-24.86565144074848,-24.14592505636392,-23.418662837182637,-22.73068367812084,-22.219226109446026,-21.86305479274597,-21.4987042316352,-21.157292889547534,-20.85492085776059,-20.562564882216975,-20.28639508440392,-20.030430824728683,-19.79361887689447,-19.573172708100174,-19.367299959412776,-19.17417296062922,-18.99249465682078,-18.798248238454107,-18.602099799958523},
{-22.04591076694487,-25.11558743866044,-24.935486506612506,-24.21336178726051,-23.48385878300178,-22.793774853809737,-22.280855295801302,-21.92335797296255,-21.557940783910453,-21.215711987926625,-20.91244915977586,-20.61910332349362,-20.342075722350273,-20.08536468684906,-19.84786217502551,-19.626770116272382,-19.420300677767955,-19.22660783858737,-19.044399280508514,-18.84957729902817,-18.652892839629203},
{-22.108099110773765,-25.186146853287937,-25.005516149976756,-24.280983981268946,-23.549232197983656,-22.857036128087202,-22.342652275809087,-21.983822454465553,-21.617333867237903,-21.27428692020476,-20.970128316723276,-20.675789725559298,-20.397901919845026,-20.140442305244505,-19.902246838028077,-19.6805072191637,-19.473439130815677,-19.279178596334532,-19.0964383733226,-18.901038850017358,-18.703818646201398},
{-22.170464927796274,-25.256905530346557,-25.07574085757369,-24.3487921138003,-23.614783521246864,-22.92046794630005,-22.40461748058442,-22.044448670494603,-21.67688387754606,-21.333018069446553,-21.027958632912487,-20.732624424272217,-20.45387403620407,-20.1956639898126,-19.956773178942967,-19.734384351002518,-19.52671562397154,-19.331885555118788,-19.14861224917695,-18.952633225359023,-18.75487747445004},
{-22.233008729599533,-25.327864013670478,-25.146161132171983,-24.41678664923529,-23.68051319089136,-22.9840706960822,-22.46675134054385,-22.10523706843378,-21.736591193592176,-21.391905787633732,-21.08594042342156,-20.789607757877093,-20.50999240652891,-20.251030085084494,-20.011441501090303,-19.788401829835493,-19.58013045747066,-19.384729015175253,-19.20092119666515,-19.004360723367427,-18.80606957327109},
{-22.295731025311397,-25.3990228525945,-25.216777465480845,-24.4849680577463,-23.746421639283653,-23.04784480051603,-22.529054288985208,-22.16618808460771,-21.796456191164907,-21.450950464932248,-21.144074008974712,-20.846740047913045,-20.56625738600269,-20.30654090840835,-20.06625212961808,-19.842559977376368,-19.63368392031407,-19.43770927801961,-19.253365533950273,-19.05622165184468,-18.85739516961621},
{-22.358632326868246,-25.470382591505768,-25.28759035791154,-24.553336811892223,-23.812509307375876,-23.111790678754915,-22.591526748496108,-22.227302164159482,-21.856479267647956,-21.510152458562516,-21.20235969760688,-20.90402164455736,-20.622669327887706,-20.362196801637765,-20.12120536447037,-19.896859113534447,-19.687376333924476,-19.490826647437643,-19.305945565283764,-19.10821631003637,-18.908854495442938},
{-22.421713149436982,-25.541943785501644,-25.358600308041787,-24.621893386851298,-23.878776646073675,-23.175908741453895,-22.654169158195145,-22.288579751213547,-21.91666080954019,-21.569512160727754,-21.260797823488247,-20.96145287656691,-20.679228581895586,-20.417998077871744,-20.176301540399436,-19.95129957073368,-19.741207998653408,-19.544081438041758,-19.358661613136064,-19.16034501825925,-18.960447794990614},
{-22.48497400477936,-25.613706979958806,-25.429807815729873,-24.690638253145153,-23.945224083872745,-23.24019940555445,-22.716981943813153,-22.350021277205087,-21.97700118838111,-21.629029941395856,-21.31938870169688,-21.01903407217469,-20.73593549011275,-20.473945079138502,-20.23154096509097,-20.005881656019483,-19.79517920257058,-19.597473972826265,-19.411513971630484,-19.212608070170972,-19.012175267969724},
{-22.548415410492453,-25.685672727238853,-25.501213380281115,-24.75957187806489,-24.011852070892928,-23.30466307187453,-22.779965530731715,-22.411627202876844,-22.037500800390262,-21.68870616197819,-21.37813263660064,-21.07676556071965,-20.792790407373104,-20.530038103461266,-20.286923946870957,-20.06060568592511,-19.84929025103338,-19.651004538522102,-19.464502949966118,-19.265005744236987,-19.064037139178254},
{-22.612037882965524,-25.75784157923772,-25.57281751121627,-24.828694746276597,-24.078661053063115,-23.36930017825216,-22.843120371806435,-22.47339796234155,-22.09816003841115,-21.748541222244967,-21.437029983382672,-21.134647694474552,-20.849793698522262,-20.586277525755577,-20.34245083242422,-20.11547199380584,-19.903541464183945,-19.704673469241243,-19.51762887975201,-19.31753839418525,-19.116033645521384},
{-22.67584194338997,-25.830214085232,-25.64462070146692,-24.89800732844742,-24.14565146397217,-23.434111135924468,-22.90644687670283,-22.535333997453563,-22.158979281783104,-21.80853549647145,-21.49608103663195,-21.192680802196264,-20.90694570663618,-20.642663645965513,-20.398121923964936,-20.17048088723095,-19.957933137600776,-19.75848107074853,-19.5708920591278,-19.37020629190374,-19.16816497372929},
{-22.739828110061353,-25.902790798485512,-25.716623463726137,-24.967510102753295,-24.212823754700366,-23.49909634576761,-22.96994548596558,-22.597435754491016,-22.219958928821143,-21.86868935485836,-21.555286148330197,-21.250865217414685,-20.964246786374133,-20.699196788016707,-20.453937547979876,-20.2256326903007,-20.012465578329284,-19.812427650264,-19.624292788037565,-19.42300973192323,-19.220431322522927},
{-22.803996906397515,-25.975572273047874,-25.788826302043162,-25.03720354117104,-24.280178370070644,-23.564256245386787,-23.03361663548276,-22.659703683224507,-22.28109936544206,-21.929003192170057,-21.614645619003568,-21.309201269526966,-21.02169729938032,-20.75587729254039,-20.509898045042064,-20.28092771646334,-20.06713908392703,-19.866513539513107,-19.677831405366305,-19.475949042767752,-19.272832908900455},
{-22.86834885526332,-26.048559060844127,-25.86122972256271,-25.107088125369046,-24.347715761570726,-23.629591239092406,-23.09746075468138,-22.72213822475169,-22.34240098349983,-21.98947738163406,-21.6741598045337,-21.367689309525304,-21.079297600139398,-20.812705481192097,-20.566003735293634,-20.336366286035627,-20.121953970752656,-19.920739038847387,-19.731508210592438,-19.529024514136836,-19.325369915226474},
{-22.932884482841473,-26.121751718223095,-25.933834231604123,-25.177164333610563,-24.41543636942515,-23.6951017541287,-23.161478281137533,-22.784739821683615,-22.403864183987025,-22.05011231545359,-21.7338290286134,-21.426329666224774,-21.13704803667497,-20.869681693904568,-20.6222549493541,-20.39194871892687,-20.1769105453277,-19.975104479817674,-19.78532353724586,-19.58223647577688,-19.378042545111384},
{-22.9976043132192,-26.19515079734265,-26.006640341860475,-25.247432644537184,-24.483340643462725,-23.760788206855068,-23.225669642008143,-22.847508921578992,-22.4654893593397,-22.11090837995289,-21.79365361353848,-21.485122684098314,-21.19494898035191,-20.926806245581247,-20.67865202878602,-20.44767533126287,-20.232009117433336,-20.029610169993248,-19.839277678227518,-19.63558521948289,-19.430850969743915},
{-23.06250887569331,-26.26875685469713,-26.079648562154034,-25.317893541388912,-24.55142903039814,-23.826651008508634,-23.290035265497863,-22.91044595959829,-22.52727690077154,-22.171865949756466,-21.853633906459436,-21.544068689690903,-21.25300077762222,-20.98407946433872,-20.735195299610496,-20.503546432068106,-20.287249980610795,-20.08425642742077,-19.893370960722677,-19.68907104677055,-19.483795364620164},
{-23.127598698381917,-26.342570446402533,-26.152859404915944,-25.38854750036262,-24.619701980700484,-23.8926905944827,-23.354575593199115,-22.973551390052307,-22.589227215677965,-22.232985426846426,-21.913770245504566,-21.603168040688615,-21.31120378919877,-21.041501687199343,-20.791885103739332,-20.55956233746838,-20.34263346181251,-20.13904358103173,-19.947603701555636,-19.742694301123265,-19.536875895864796},
{-23.192874314132496,-26.416592129011406,-26.22627338502207,-25.45939500653185,-24.68815995269688,-23.958907369786175,-23.419291059835814,-23.036825654795393,-22.651340699580032,-22.294267194112763,-21.9740629591397,-21.662421061308123,-21.369558382430114,-21.099073244724423,-20.848721777438186,-20.615723379945848,-20.398159860866144,-20.19397194002522,-20.00197621359257,-19.796455270436127,-19.59009274787968},
{-23.258336251383298,-26.490822460473282,-26.299891009257408,-25.530436537141213,-24.75680338923121,-24.025301759917056,-23.48418209241936,-23.1002691910835,-22.713617754750885,-22.355711643758696,-22.034512390499003,-21.721828099456616,-21.42806489870418,-21.156794454087503,-20.90570566052338,-20.672029853973072,-20.45382947602775,-20.249041832983494,-20.056488813075703,-19.8503542773542,-19.64344605972292},
{-23.323985047536553,-26.56526199754444,-26.37371279936633,-25.601672584132757,-24.825632740132278,-24.091874195204582,-23.549249120638706,-23.163882448803633,-22.77605878264876,-22.417319166765083,-22.095118878525682,-21.78138949739514,-21.486723706650082,-21.214665662439074,-20.962837092287373,-20.72848209150834,-20.509642642748076,-20.304253561946098,-20.111141812696587,-19.904391628107987,-19.69693600712344},
{-23.38982123619644,-26.639911297650542,-26.447739270312013,-25.67310362312128,-24.894648461136967,-24.15862507960992,-23.61449257354252,-23.227665860496927,-22.838664190203417,-22.479090151493438,-22.155882766994182,-21.841105593077373,-21.545535153651144,-21.272687176708132,-21.020116422034334,-20.785080386849586,-20.5655996488058,-20.35960745648481,-20.16593552462291,-19.958567633118946,-19.750562706962228},
{-23.455845355201745,-26.714770924212644,-26.52197094130679,-25.744730146514485,-24.96385100937914,-24.225554853619542,-23.679912896594033,-23.291619877621997,-22.901434395927936,-22.541025001031812,-22.216804411436897,-21.900976734235883,-21.60449961957056,-21.330859345092904,-21.077543991268612,-20.8418250711984,-20.6217008184758,-20.415103850653395,-20.220870282209944,-20.012882626033388,-19.80432633770397},
{-23.52205793967005,-26.789841430378146,-26.596408327895915,-25.816552632226376,-25.033240840071812,-24.29266392198042,-23.745510507258587,-23.355744934175164,-22.964369791792706,-22.603124105196912,-22.277884136128705,-21.961003268545028,-21.663617437472567,-21.38918248587288,-21.13512014882872,-20.89871645491803,-20.677946456416976,-20.470743041834794,-20.275946381152608,-20.06733688566601,-19.85822701518191},
{-23.588459532533307,-26.865123380935984,-26.671051953104325,-25.88857157318853,-25.1028184008901,-24.35995272229775,-23.811285847448744,-23.42004148074193,-23.027470807603095,-22.665387868124526,-22.339122304925695,-22.02118552965112,-21.722888984018937,-21.447656948002987,-21.192845247045625,-20.95575485250447,-20.734336880675983,-20.52652537537506,-20.331164148112293,-20.121930761728436,-19.912264903541654},
{-23.655050674715312,-26.940617335698335,-26.745902336202562,-25.96078745473642,-25.17258414963726,-24.427421674714424,-23.877239334280603,-23.48450994375162,-23.0907378505799,-22.727816675091162,-22.40051925490843,-22.08152387442533,-21.782314609386958,-21.50628304289421,-21.250719605130143,-21.012940581480507,-20.790872409008443,-20.582451147318352,-20.386523890774697,-20.176664530939888,-19.966440112621058},
{-23.72183190623764,-27.016323853546055,-26.82095999928424,-26.03320076307864,-25.242538542253897,-24.495071193989133,-23.943371398025192,-23.54915077111218,-23.15417133149458,-22.790410926856566,-22.462075349292718,-22.142018635815475,-21.841894659854006,-21.56506111304043,-21.308743604051415,-21.070273938239552,-20.847553342289757,-20.638520681823138,-20.442025903787,-20.23153850453673,-20.02075276907999},
{-23.788803773146356,-27.092243499995675,-26.89622546796454,-26.105811990972143,-25.31268203741638,-24.56290171618457,-24.009682472329587,-23.613964402349666,-23.217771684750915,-22.853171028662473,-22.523790927021764,-22.20267017860897,-21.901629513595253,-21.623991483298596,-21.366917575418483,-21.127755271969363,-20.90438001608709,-20.694734332035296,-20.497670530341566,-20.286552999692503,-20.075203012500424},
{-23.855966821633046,-27.1683768373332,-26.97169926838251,-26.178621625585947,-25.383015102503123,-24.630913659057114,-24.07617298484547,-23.678951275825966,-23.281539326591883,-22.916097378358245,-22.585666351020336,-22.263478841108736,-21.961519517702982,-21.683074494590983,-21.425241872435436,-21.185384877724573,-20.961352742568124,-20.75109239423182,-20.55345806531841,-20.34170831053052,-20.129790966631845},
{-23.92332159698708,-27.244724428543122,-27.047381923446665,-26.251630155020393,-25.4535381810565,-24.699107446416747,-24.14284336019773,-23.744111822918057,-23.34547467844095,-22.97919038357213,-22.647701969894115,-22.324444970523473,-22.02156502509024,-21.742310469096992,-21.483716851682402,-21.243163065984845,-21.01847183040809,-20.807595205667894,-20.609388812619727,-20.39700474520214,-20.184516745095607},
{-23.99086864865967,-27.32128683431074,-27.123273962904932,-26.3248380763398,-25.524251735798316,-24.76748351531569,-24.20969402132323,-23.80944648012519,-23.40957817126764,-23.042450437205844,-22.709898131375667,-22.385568916331977,-22.08176639478188,-21.801699740812182,-21.542342852102593,-21.30109016771894,-21.075737613253295,-20.86424308322603,-20.665463094657753,-20.45244259556057,-20.23938046582043},
{-24.05860852848855,-27.398064626351697,-27.199375915748533,-26.398245882126503,-25.595156237162882,-24.836042283161078,-24.276725393894594,-23.874955699429847,-23.47385024878895,-23.105877952068113,-22.77225522423396,-22.44685104326345,-22.14212399185635,-21.86124266544357,-21.60112023615511,-21.359166498761624,-21.133150425797794,-20.92103635944659,-20.7216812283732,-20.508022186229937,-20.29438226361526},
{-24.12654178534285,-27.47505836264463,-27.275688310619444,-26.47185405853088,-25.666252136637922,-24.904784178885166,-24.34393790428294,-23.94063989300048,-23.53829132433748,-23.169473323621787,-22.834773581533227,-22.50829167768825,-22.20263816229999,-21.920939540548716,-21.660049345577136,-21.417392359755468,-21.190710561349988,-20.977975367801264,-20.77804351702798,-20.56374378030887,-20.34952222352149},
{-24.194668973213993,-27.552268610714236,-27.352211675985018,-26.54566310282098,-25.737539900728734,-24.97370962111745,-24.411331966752186,-24.006499508570414,-23.602901846927125,-23.233236953557935,-22.89745356491767,-22.56989118392812,-22.26330925471848,-21.980790702800732,-21.719130530080292,-21.475768083008006,-21.248418358387426,-21.035060413123574,-20.8345502706361,-20.619607685657684,-20.404800488671754},
{-24.262990648363484,-27.629695942188846,-27.4289465508773,-26.61967351238127,-25.80901999134221,-25.0428190533421,-24.478908016288187,-24.072534989390988,-23.66768226545537,-23.297169264988042,-22.960295557626523,-22.631649919669144,-22.324137648858596,-22.040796516113915,-21.778364161786158,-21.534293989709113,-21.30627416417701,-21.092291878769174,-20.89120182604529,-20.675614224921446,-20.460217182640918},
{-24.331507365772268,-27.707340918306727,-27.505893465480767,-26.693885784130543,-25.88069286791142,-25.112112899660133,-24.54666646232363,-24.138746751414146,-23.73263300798135,-23.36127064813627,-23.02329989831196,-22.693568227812648,-22.38512367848307,-22.10095728992019,-21.837750563398004,-21.59297039185185,-21.364278280409053,-21.149670043610968,-20.94799848383991,-20.731763676565606,-20.515772425220348},
{-24.40021968210931,-27.785204109561164,-27.583052954025334,-26.768300407973584,-25.95255899761105,-25.181591575732455,-24.61460772238206,-24.205135227181017,-23.797754525381606,-23.425541501725093,-23.086466973938514,-22.755646474135574,-22.446267707215156,-22.161273355188314,-21.897290103079285,-21.65179760887986,-21.422431045386475,-21.20719524542801,-21.004940552520566,-20.788056322315242,-20.571466327412054},
{-24.469128158525564,-27.863286081526894,-27.660425552428933,-26.842917884292547,-26.024618843541248,-25.25125552568352,-24.682732226443477,-24.27170086168917,-23.863047272141557,-23.489982247294392,-23.14979713590583,-22.81788499938557,-22.507570082205348,-22.22174504940631,-21.956983122974634,-21.710775965475477,-21.480732797528617,-21.26486784289591,-21.062028371961787,-20.84449250070611,-20.627299039741047},
{-24.538233355648117,-27.941587408538908,-27.738011801498942,-26.917738710384583,-26.096872879366856,-25.32110517070396,-24.751040379574988,-24.33844407624565,-23.92851169826463,-23.554593281063717,-23.21329077251721,-22.880284167651553,-22.569031166029163,-22.28237270034151,-22.016829972621053,-21.76990578189725,-21.53918385715224,-21.322688146319706,-21.11926225561183,-20.9010724737891,-20.683270695561077},
{-24.607535834860755,-28.020108658762183,-27.8158122364257,-26.99276338823256,-26.169321563793346,-25.39114094816614,-24.81953261292074,-24.40536530711688,-23.994148262951057,-23.61937501031207,-23.276948241109494,-22.942844327364583,-22.630651318177115,-22.343156659626402,-22.076831026177388,-21.829187380324584,-21.59778456413187,-21.38065650576027,-21.17664253700059,-20.957796571427025,-20.73938146571163},
{-24.67703616133076,-28.09885040053632,-27.89382740142173,-27.06799241848057,-26.24196536335512,-25.461363291949965,-24.888209325959906,-24.472464979917277,-24.059957419056445,-23.68432784214383,-23.34076991979964,-23.0055658473284,-22.692430885508657,-22.404097239661496,-22.13698659511283,-21.88862109114416,-21.656535258865915,-21.438773249275982,-21.23416953458218,-21.014665090478957,-20.795631511427928},
{-24.746734899963485,-28.177813207905274,-27.97205783420941,-27.143426296272082,-26.3148047447321,-25.53177261276869,-24.957070932316128,-24.539743523462676,-24.125939625315368,-23.74945217021741,-23.404756179312244,-23.068449068523478,-22.754370221111458,-22.46519478096161,-22.197297049569897,-21.948207212786656,-21.715436263300944,-21.49703868769575,-21.291843550396152,-21.071678313310258,-20.85202098474838},
{-24.81663261691574,-28.25699765110039,-28.05050407772069,-27.219065528566716,-26.387840182724176,-25.602369372965768,-25.026117854227778,-24.607201372040436,-24.192095354024787,-23.814748412463814,-23.468907394679263,-23.131494365865365,-22.816469694429543,-22.526449625904206,-22.257762749912217,-22.007946082449052, -21.774487921444234,-21.555453195178416,-21.349664952256717,-21.128836586896796,-20.908550107094925},
{-24.88672988206963,-28.336404305009637,-28.129166676750174,-27.294910618278664,-26.46107214744552,-25.673153977957554,-25.09535050415434,-24.67483894585166,-24.258425071486272,-23.880216964054853,-23.53322395379655,-23.194702105713077,-22.878729653835762,-22.587862102489453,-22.31838402309222,-22.06783805345185,-21.833690583822317,-21.614017086976673,-21.407634040690027,-21.1861402001814,-20.965219124918804},
{-24.95702726318268,-28.41603374108672,-28.208046173589537,-27.370962059532758,-26.53450110432459,-25.74412687594304,-25.16476929106284,-24.74265667324653,-24.324929237249307,-23.945858225924894,-23.597706217726227,-23.258072621247265,-22.94115044485079,-22.649432538542897,-22.379161227901932,-22.12788341025589,-21.893044561729766,-21.672730688005686,-21.465751135896426,-21.24358945764834,-21.022028209641576}};
double wreg[]= {0.04, 0.088, 0.136, 0.18400000000000002, 0.232, 0.27999999999999997,
- 0.328, 0.376, 0.424, 0.472, 0.52, 0.5680000000000001,
- 0.6160000000000001, 0.664, 0.7120000000000001, 0.76, 0.808,
- 0.8560000000000001, 0.904, 0.9520000000000001, 1.0};
+ 0.328, 0.376, 0.424, 0.472, 0.52, 0.5680000000000001,
+ 0.6160000000000001, 0.664, 0.7120000000000001, 0.76, 0.808,
+ 0.8560000000000001, 0.904, 0.9520000000000001, 1.0};
-double ularge[]={0., 0.000999525142261537, 0.0019980512340131984, 0.002995579273830762,
- 0.0039921102592925806, 0.00498764518697925, 0.00598218505247583,
- 0.006975730850371842, 0.007968283574262824, 0.008959844216751223,
- 0.009950413769447386, 0.010939993222970568, 0.011928583566949591,
- 0.012916185790024404, 0.013902800879846744, 0.014888429823081029,
- 0.015873073605405685, 0.016856733211513708, 0.01783940962511399,
- 0.018821103828932206, 0.019801816804711603, 0.020781549533214427,
- 0.02176030299422238, 0.022738078166538056, 0.0237148760279855,
- 0.024690697555411423, 0.025665543724686435, 0.026639415510705367,
- 0.02761231388738883, 0.028584239827683988, 0.029555194303565346,
- 0.03052517828603607, 0.03149419274512877, 0.03246223864990638,
- 0.033429316968463296, 0.03439542866792622, 0.035360574714455306,
- 0.036324756073245035, 0.03728797370852488, 0.03825022858356075,
- 0.03921152166065589, 0.0401718539011513, 0.04113122626542742,
- 0.04208963971290469, 0.043047095202044416, 0.04400359369035023,
- 0.044959136134368416, 0.04591372348968936, 0.046867356710948216,
- 0.04782003675182578, 0.04877176456505006, 0.04972254110239649,
- 0.05067236731468905, 0.05162124415180169, 0.052569172562658695,
- 0.053516153495236085, 0.05446218789656199, 0.05540727671271839,
- 0.056351420888841375, 0.057294621369122334, 0.05823687909680919,
- 0.059178195014206625, 0.060118570062677845, 0.061058005182645037,
- 0.061996501313590135, 0.06293405939405661, 0.06387068036164922,
- 0.06480636515303595, 0.0657411147039485, 0.06667492994918323,
- 0.067607811822602, 0.06853976125713368, 0.06947077918477418,
- 0.07040086653658806, 0.07133002424270929, 0.07225825323234214,
- 0.07318555443376207, 0.07411192877431683, 0.07503737718042691,
- 0.07596190057758734, 0.07688549989036764, 0.07780817604241341,
- 0.07872992995644712, 0.07965076255426873, 0.08057067475675705,
- 0.08148966748387021, 0.08240774165464715, 0.0833248981872079,
- 0.08424113799875499, 0.08515646200557414, 0.08607087112303513,
- 0.0869843662655928, 0.0878969483467883, 0.08880861827924913,
- 0.08971937697469112, 0.09062922534391848, 0.09153816429682515,
- 0.09244619474239557, 0.09335331758870569, 0.09425953374292384,
- 0.09516484411131154, 0.09606924959922447, 0.09697275111111336,
- 0.09787534955052513, 0.09877704582010327, 0.09967784082158937,
- 0.10057773545582349, 0.1014767306227452, 0.10237482722139479,
- 0.10327202614991393, 0.10416832830554645, 0.10506373458463925,
- 0.10595824588264358, 0.10685186309411554, 0.10774458711271706,
- 0.10863641883121689, 0.10952735914149136, 0.11041740893452556,
- 0.1113065691004137, 0.11219484052836048, 0.113082224106682,
- 0.11396872072280606, 0.11485433126327382, 0.11573905661374018,
- 0.1166228976589746, 0.11750585528286273, 0.11838793036840611,
- 0.11926912379772414, 0.12014943645205434, 0.1210288692117536,
- 0.12190742295629853, 0.12278509856428699, 0.12366189691343843,
- 0.12453781888059534, 0.12541286534172336, 0.1262870371719128,
- 0.12716033524537929, 0.12803276043546474, 0.12890431361463794,
- 0.12977499565449568, 0.1306448074257638, 0.13151374979829733,
- 0.13238182364108242, 0.1332490298222363, 0.13411536920900857,
- 0.1349808426677821, 0.13584545106407353, 0.13670919526253478,
- 0.1375720761269531, 0.13843409452025268, 0.13929525130449505,
- 0.1401555473408801, 0.14101498348974706, 0.141873560610575,
- 0.14273127956198417, 0.14358814120173635, 0.1444441463867362,
- 0.1452992959730317, 0.14615359081581536, 0.14700703176942476,
- 0.1478596196873435, 0.14871135542220237, 0.14956223982577965,
- 0.15041227374900246, 0.15126145804194713, 0.1521097935538407,
- 0.15295728113306095, 0.15380392162713807, 0.1546497158827549,
- 0.15549466474574802, 0.15633876906110877, 0.15718202967298356,
- 0.15802444742467525, 0.15886602315864384, 0.15970675771650733,
- 0.16054665193904216, 0.16138570666618468, 0.1622239227370318,
- 0.1630613009898414, 0.16389784226203374, 0.16473354739019208,
- 0.1655684172100632, 0.16640245255655883, 0.1672356542637562,
- 0.16806802316489855, 0.1688995600923966, 0.1697302658778289,
- 0.17056014135194286, 0.17138918734465547, 0.1722174046850543,
- 0.17304479420139818, 0.17387135672111798, 0.1746970930708177,
- 0.17552200407627494, 0.1763460905624421, 0.17716935335344708,
- 0.17799179327259362, 0.17881341114236304, 0.1796342077844143,
- 0.18045418401958513, 0.1812733406678928, 0.18209167854853503,
- 0.18290919847989073, 0.18372590127952082, 0.18454178776416885,
- 0.18535685874976227, 0.18617111505141282, 0.18698455748341758,
- 0.18779718685925983, 0.18860900399160963, 0.18942000969232464,
- 0.19023020477245134, 0.19103959004222526, 0.19184816631107227,
- 0.1926559343876092, 0.19346289507964443, 0.1942690491941792,
- 0.19507439753740796, 0.19587894091471936, 0.19668268013069712,
- 0.19748561598912073, 0.1982877492929661, 0.1990890808444069,
- 0.19988961144481487, 0.2006893418947604, 0.20148827299401428,
- 0.20228640554154742, 0.20308374033553256, 0.2038802781733442,
- 0.20467601985156025, 0.20547096616596217, 0.20626511791153612,
- 0.2070584758824735, 0.2078510408721722, 0.20864281367323678,
- 0.20943379507747983, 0.21022398587592217, 0.21101338685879434,
- 0.21180199881553674, 0.21258982253480097, 0.21337685880445012,
- 0.21416310841155983, 0.21494857214241914, 0.21573325078253125,
- 0.2165171451166138, 0.2173002559286007, 0.2180825840016417,
- 0.21886413011810424, 0.21964489505957363, 0.22042487960685375,
- 0.22120408453996832, 0.2219825106381612, 0.22276015867989762,
- 0.22353702944286447, 0.22431312370397138, 0.22508844223935165,
- 0.22586298582436248, 0.2266367552335864, 0.2274097512408314,
- 0.22818197461913237, 0.2289534261407512, 0.22972410657717812,
- 0.23049401669913228, 0.23126315727656221, 0.2320315290786471,
- 0.23279913287379717, 0.23356596942965469, 0.23433203951309467,
- 0.2350973438902254, 0.2358618833263898, 0.23662565858616547,
- 0.23738867043336598, 0.2381509196310414, 0.23891240694147908,
- 0.23967313312620442, 0.24043309894598175, 0.2411923051608149,
- 0.24195075252994824, 0.24270844181186702, 0.24346537376429855,
- 0.24422154914421257, 0.24497696870782248, 0.24573163321058555,
- 0.24648554340720408, 0.24723870005162618, 0.24799110389704615,
- 0.24874275569590532, 0.2494936561998935, 0.25024380615994857,
- 0.250993206326258, 0.2517418574482596, 0.2524897602746421,
- 0.2532369155533455, 0.25398332403156276, 0.2547289864557396,
- 0.25547390357157584, 0.25621807612402603, 0.25696150485729974,
- 0.25770419051486304, 0.2584461338394388, 0.25918733557300766,
- 0.2599277964568082, 0.2606675172313385, 0.26140649863635645,
- 0.2621447414108805, 0.26288224629319024, 0.26361901402082755,
- 0.26435504533059706, 0.2650903409585671, 0.2658249016400699,
- 0.26655872810970294, 0.26729182110132965, 0.2680241813480796,
- 0.2687558095823497, 0.26948670653580487, 0.27021687293937857,
- 0.2709463095232739, 0.27167501701696406, 0.27240299614919283,
- 0.2731302476479759, 0.27385677224060123, 0.2745825706536297,
- 0.27530764361289617, 0.2760319918435099, 0.2767556160698553,
- 0.277478517015593, 0.27820069540366, 0.278922151956271,
- 0.2796428873949186, 0.2803629024403743, 0.2810821978126893,
- 0.281800774231195, 0.2825186324145037, 0.2832357730805096,
- 0.2839521969463893, 0.2846679047286026, 0.285382897142893,
- 0.2860971749042889, 0.2868107387271036, 0.2875235893249368,
- 0.2882357274106748, 0.2889471536964914, 0.28965786889384837,
- 0.2903678737134967, 0.2910771688654765, 0.29178575505911875,
- 0.292493633003045, 0.29320080340516863, 0.2939072669726954,
- 0.29461302441212445, 0.29531807642924834, 0.29602242372915455,
- 0.2967260670162256, 0.2974290069941401, 0.2981312443658731,
- 0.29883277983369727, 0.2995336140991832, 0.30023374786320023,
- 0.3009331818259171, 0.3016319166868029, 0.3023299531446274,
- 0.30302729189746225, 0.3037239336426808, 0.30441987907696,
- 0.3051151288962799, 0.3058096837959252, 0.3065035444704858,
- 0.30719671161385675, 0.3078891859192402, 0.30858096807914515,
- 0.3092720587853881, 0.3099624587290948, 0.31065216860069933,
- 0.31134118908994646, 0.3120295208858911, 0.31271716467689936,
- 0.31340412115064964, 0.3140903909941327, 0.31477597489365294,
- 0.3154608735348283, 0.3161450876025921, 0.3168286177811924,
- 0.3175114647541937, 0.31819362920447714, 0.31887511181424144,
- 0.3195559132650032, 0.32023603423759806, 0.3209154754121809,
- 0.32159423746822724, 0.32227232108453296, 0.32294972693921553,
- 0.3236264557097148, 0.3243025080727936, 0.3249778847045379,
- 0.3256525862803583, 0.32632661347499015, 0.32699996696249445,
- 0.32767264741625823, 0.32834465550899594, 0.329015991912749,
- 0.3296866572988876, 0.33035665233811085, 0.33102597770044706,
- 0.33169463405525534, 0.33236262207122547, 0.33302994241637884,
- 0.3336965957580693, 0.3343625827629836, 0.3350279040971421,
- 0.33569256042589946, 0.33635655241394513, 0.33701988072530453,
- 0.33768254602333925, 0.3383445489707475, 0.3390058902295656,
- 0.3396665704611681, 0.340326590326268, 0.3409859504849183,
- 0.34164465159651225, 0.3423026943197839, 0.3429600793128089,
- 0.34361680723300536, 0.34427287873713386, 0.3449282944812989,
- 0.3455830551209491, 0.3462371613108777, 0.3468906137052238,
- 0.3475434129574725, 0.34819555972045557, 0.3488470546463528,
- 0.34949789838669143, 0.35014809159234794, 0.350797634913548,
- 0.3514465289998677, 0.3520947745002333, 0.3527423720629229,
- 0.35338932233556664, 0.35403562596514704, 0.3546812835980001,
- 0.3553262958798159, 0.355970663455639, 0.35661438696986913,
- 0.35725746706626205, 0.3578999043879303, 0.35854169957734305,
- 0.35918285327632793, 0.3598233661260706, 0.36046323876711595,
- 0.3611024718393687, 0.3617410659820941, 0.362379021833918,
- 0.36301634003282846, 0.3636530212161755, 0.3642890660206721,
- 0.364924475082395, 0.36555924903678516, 0.36619338851864824,
- 0.3668268941621554, 0.36745976660084423, 0.36809200646761864,
- 0.3687236143947503, 0.3693545910138788, 0.3699849369560123,
- 0.3706146528515283, 0.3712437393301742, 0.3718721970210681,
- 0.3725000265526991, 0.3731272285529281, 0.3737538036489887,
- 0.3743797524674871, 0.3750050756344038, 0.3756297737750931,
- 0.3762538475142845, 0.3768772974760829, 0.3775001242839695,
- 0.3781223285608024, 0.3787439109288169, 0.37936487200962665,
- 0.3799852124242238, 0.3806049327929798, 0.38122403373564595,
- 0.3818425158713544, 0.38246037981861813, 0.38307762619533214,
- 0.38369425561877357, 0.3843102687056029, 0.38492566607186385,
- 0.38554044833298484, 0.38615461610377877, 0.3867681699984443,
- 0.387381110630566, 0.3879934386131151, 0.38860515455845035,
- 0.38921625907831825, 0.38982675278385404, 0.390436636285582,
- 0.39104591019341606, 0.3916545751166608, 0.39226263166401154,
- 0.3928700804435552, 0.3934769220627712, 0.39408315712853126,
- 0.39468878624710113, 0.39529381002414, 0.39589822906470207,
- 0.39650204397323663, 0.39710525535358887, 0.39770786380900036,
- 0.3983098699421097, 0.3989112743549532, 0.39951207764896535,
- 0.4001122804249797, 0.4007118832832288, 0.4013108868233458,
- 0.4019092916443642, 0.40250709834471876, 0.403104307522246,
- 0.4037009197741851, 0.4042969356971783, 0.40489235588727124,
- 0.405487180939914, 0.40608141144996135, 0.40667504801167365,
- 0.4072680912187171, 0.40786054166416463, 0.40845239994049654,
- 0.40904366663960046, 0.40963434235277296, 0.4102244276707191,
- 0.4108139231835539, 0.4114028294808024, 0.4119911471514004,
- 0.412578876783695, 0.41316601896544525, 0.4137525742838227,
- 0.4143385433254122, 0.4149239266762119, 0.4155087249216347,
- 0.4160929386465081, 0.41667656843507506, 0.4172596148709945,
- 0.4178420785373421, 0.41842396001661075, 0.41900525989071113,
- 0.41958597874097203, 0.42016611714814156, 0.4207456756923872,
- 0.4213246549532964, 0.4219030555098775, 0.42248087794056,
- 0.4230581228231952, 0.42363479073505705, 0.4242108822528422,
- 0.42478639795267104, 0.4253613384100883, 0.4259357042000629,
- 0.4265094958969896, 0.4270827140746889, 0.4276553593064074,
- 0.4282274321648194, 0.4287989332220261, 0.4293698630495574,
- 0.42994022221837147, 0.43051001129885624, 0.43107923086082933,
- 0.4316478814735387, 0.4322159637056635, 0.4327834781253145,
- 0.4333504253000344, 0.4339168057967989, 0.43448262018201667,
- 0.4350478690215307, 0.43561255288061784, 0.4361766723239906,
- 0.43674022791579636, 0.437303220219619, 0.4378656497984792,
- 0.4384275172148344, 0.4389888230305805, 0.4395495678070511,
- 0.44010975210501935, 0.4406693764846975, 0.4412284415057379,
- 0.4417869477272336, 0.44234489570771884, 0.44290228600516945,
- 0.44345911917700376, 0.44401539578008276, 0.4445711163707109,
- 0.4451262815046366, 0.44568089173705294, 0.44623494762259774,
- 0.4467884497153548, 0.4473413985688538, 0.4478937947360714,
- 0.44844563876943133, 0.4489969312208053, 0.4495476726415134,
- 0.4500978635823246, 0.45064750459345737, 0.4511965962245804,
- 0.4517451390248126, 0.4522931335427245, 0.4528405803263378,
- 0.4533874799231269, 0.45393383288001865, 0.45447963974339356,
- 0.45502490105908566, 0.45556961737238355, 0.4561137892280309,
- 0.4566574171702269, 0.4572005017426266, 0.4577430434883418,
- 0.45828504294994143, 0.4588265006694522, 0.4593674171883587,
- 0.45990779304760476, 0.46044762878759327, 0.46098692494818694,
- 0.4615256820687089, 0.46206390068794345, 0.462601581344136,
- 0.46313872457499405, 0.463675330917688, 0.46421140090885094,
- 0.46474693508457965, 0.46528193398043516, 0.46581639813144315,
- 0.46635032807209464, 0.4668837243363463, 0.46741658745762094,
- 0.46794891796880855, 0.4684807164022662, 0.46901198328981897,
- 0.46954271916276036, 0.4700729245518529, 0.47060259998732845,
- 0.4711317459988891, 0.47166036311570714, 0.47218845186642633,
- 0.47271601277916186, 0.47324304638150105, 0.47376955320050385,
- 0.4742955337627035, 0.47482098859410693, 0.4753459182201951,
- 0.47587032316592426, 0.4763942039557253, 0.4769175611135055,
- 0.477440395162648, 0.47796270662601326, 0.4784844960259388,
- 0.47900576388424, 0.4795265107222111, 0.48004673706062484,
- 0.48056644341973376, 0.4810856303192701, 0.48160429827844675,
- 0.4821224478159578, 0.48264007944997867, 0.4831571936981668,
- 0.4836737910776625, 0.484189872105089, 0.48470543729655313,
- 0.485220487167646, 0.485735022233443, 0.48624904300850535,
- 0.4867625500068793, 0.4872755437420976, 0.48778802472717975,
- 0.4882999934746325, 0.4888114504964499, 0.489322396304115,
- 0.4898328314085989, 0.4903427563203624, 0.490852171549356,
- 0.49136107760502024, 0.49186947499628686, 0.49237736423157863,
- 0.49288474581881025, 0.49339162026538874, 0.49389798807821395,
- 0.4944038497636789, 0.49490920582767084, 0.49541405677557093,
- 0.49591840311225555, 0.4964222453420961, 0.49692558396896036,
- 0.49742841949621197, 0.4979307524267116, 0.4984325832628175,
- 0.4989339125063855, 0.4994347406587699, 0.49993506822082423,
- 0.5004348956929009, 0.5009342235748524, 0.5014330523660315,
- 0.5019313825652923, 0.5024292146709898, 0.502926549180981,
- 0.5034233865926253, 0.5039197274027851, 0.5044155721078261,
- 0.5049109212036176, 0.5054057751855336, 0.5059001345484531,
- 0.5063939997867599, 0.5068873713943443, 0.5073802498646023,
- 0.5078726356904373, 0.5083645293642596, 0.5088559313779877,
- 0.509346842223048, 0.5098372623903762, 0.5103271923704167,
- 0.5108166326531243, 0.5113055837279636, 0.5117940460839104,
- 0.5122820202094513, 0.512769506592585, 0.5132565057208223,
- 0.5137430180811866, 0.5142290441602146, 0.5147145844439569,
- 0.5151996394179781, 0.5156842095673573, 0.5161682953766891,
- 0.5166518973300833, 0.5171350159111663, 0.5176176516030808,
- 0.5180998048884866, 0.5185814762495615, 0.5190626661680005,
- 0.5195433751250178, 0.5200236036013465, 0.5205033520772391,
- 0.520982621032468, 0.5214614109463263, 0.5219397222976279,
- 0.5224175555647079, 0.5228949112254238, 0.5233717897571548,
- 0.5238481916368037, 0.524324117340796, 0.5247995673450814,
- 0.5252745421251336, 0.5257490421559512, 0.5262230679120579,
- 0.5266966198675034, 0.5271696984958631, 0.5276423042702396,
- 0.5281144376632623, 0.5285860991470881, 0.5290572891934022,
- 0.5295280082734183, 0.5299982568578788, 0.5304680354170561,
- 0.5309373444207524, 0.5314061843382998, 0.5318745556385619,
- 0.5323424587899335, 0.5328098942603412, 0.5332768625172439,
- 0.5337433640276331, 0.5342093992580338, 0.5346749686745045,
- 0.5351400727426381, 0.5356047119275616, 0.5360688866939378,
- 0.5365325975059647, 0.5369958448273762, 0.5374586291214427,
- 0.5379209508509719, 0.5383828104783088, 0.5388442084653358,
- 0.5393051452734743, 0.539765621363684, 0.5402256371964641,
- 0.5406851932318535, 0.5411442899294313, 0.5416029277483172,
- 0.5420611071471718, 0.5425188285841976, 0.542976092517139,
- 0.5434328994032828, 0.5438892496994587, 0.5443451438620399,
- 0.5448005823469433, 0.5452555656096303, 0.545710094105107,
- 0.5461641682879246, 0.5466177886121801, 0.5470709555315163,
- 0.5475236694991231, 0.547975930967737, 0.5484277403896421,
- 0.5488790982166706, 0.5493300049002028, 0.5497804608911678,
- 0.5502304666400446, 0.5506800225968611, 0.551129129211196,
- 0.5515777869321782, 0.5520259962084881, 0.5524737574883574,
- 0.5529210712195696, 0.5533679378494609, 0.5538143578249206,
- 0.5542603315923906, 0.5547058595978674, 0.5551509422869012,
- 0.5555955801045968, 0.5560397734956144, 0.5564835229041696,
- 0.5569268287740341, 0.5573696915485361, 0.5578121116705604,
- 0.5582540895825492, 0.5586956257265027, 0.559136720543979,
- 0.5595773744760952, 0.5600175879635272, 0.5604573614465106,
- 0.5608966953648409, 0.5613355901578738, 0.5617740462645263,
- 0.5622120641232764, 0.562649644172164, 0.563086786848791,
- 0.563523492590322, 0.5639597618334845, 0.5643955950145696,
- 0.5648309925694325, 0.5652659549334924, 0.5657004825417333,
- 0.5661345758287051, 0.5665682352285222, 0.567001461174866,
- 0.5674342541009842, 0.5678666144396916, 0.5682985426233697,
- 0.5687300390839687, 0.5691611042530064, 0.5695917385615696,
- 0.5700219424403146, 0.5704517163194662, 0.5708810606288202,
- 0.5713099757977423, 0.5717384622551692, 0.5721665204296088,
- 0.5725941507491406, 0.5730213536414165, 0.5734481295336606,
- 0.5738744788526705, 0.5743004020248167, 0.5747258994760436,
- 0.5751509716318699, 0.5755756189173893, 0.57599984175727,
- 0.5764236405757566, 0.5768470157966687, 0.577269967843403,
- 0.5776924971389326, 0.5781146041058078, 0.5785362891661572,
- 0.5789575527416864, 0.5793783952536805, 0.5797988171230029,
- 0.5802188187700965, 0.5806384006149841, 0.5810575630772683,
- 0.581476306576133, 0.5818946315303423, 0.5823125383582423,
- 0.5827300274777606, 0.5831470993064074, 0.5835637542612753,
- 0.5839799927590401, 0.5843958152159614, 0.5848112220478823,
- 0.5852262136702302, 0.5856407904980179, 0.5860549529458426,
- 0.586468701427888, 0.5868820363579228, 0.587294958149303,
- 0.5877074672149709, 0.5881195639674562, 0.5885312488188764,
- 0.5889425221809369, 0.5893533844649317, 0.5897638360817437,
- 0.590173877441845, 0.5905835089552973, 0.5909927310317531,
- 0.5914015440804545, 0.5918099485102354, 0.5922179447295205,
- 0.5926255331463264, 0.5930327141682621, 0.5934394882025289,
- 0.5938458556559212, 0.5942518169348268, 0.5946573724452273,
- 0.5950625225926989, 0.5954672677824113, 0.5958716084191307,
- 0.5962755449072175, 0.5966790776506286, 0.5970822070529168,
- 0.597484933517232, 0.5978872574463205, 0.5982891792425268,
- 0.5986906993077923, 0.5990918180436576, 0.5994925358512614,
- 0.5998928531313414, 0.6002927702842353, 0.6006922877098799,
- 0.6010914058078128, 0.6014901249771722, 0.6018884456166971,
- 0.6022863681247279, 0.6026838928992075, 0.6030810203376802,
- 0.6034777508372935, 0.6038740847947976, 0.6042700226065467,
- 0.604665564668498, 0.6050607113762136, 0.6054554631248601,
- 0.6058498203092088, 0.6062437833236366, 0.6066373525621265,
- 0.6070305284182671, 0.6074233112852543, 0.6078157015558905,
- 0.6082076996225856, 0.6085993058773573, 0.6089905207118316,
- 0.6093813445172427, 0.6097717776844341, 0.6101618206038586,
- 0.6105514736655786, 0.6109407372592666, 0.6113296117742056,
- 0.6117180975992899, 0.6121061951230246, 0.6124939047335266,
- 0.6128812268185251, 0.6132681617653614, 0.6136547099609899,
- 0.6140408717919783, 0.6144266476445075, 0.6148120379043729,
- 0.6151970429569841, 0.6155816631873652, 0.6159658989801557,
- 0.616349750719611, 0.6167332187896015, 0.617116303573615,
- 0.6174990054547553, 0.6178813248157433, 0.6182632620389177,
- 0.6186448175062347, 0.6190259915992689, 0.6194067846992136,
- 0.6197871971868809, 0.6201672294427024, 0.6205468818467292,
- 0.6209261547786331, 0.6213050486177056, 0.6216835637428597,
- 0.6220617005326295, 0.6224394593651708, 0.6228168406182611,
- 0.6231938446693008, 0.6235704718953128, 0.623946722672943,
- 0.6243225973784614, 0.6246980963877612, 0.6250732200763602,
- 0.625447968819401, 0.6258223429916512, 0.6261963429675036,
- 0.626569969120977, 0.626943221825716, 0.6273161014549923,
- 0.6276886083817041, 0.6280607429783769, 0.6284325056171641,
- 0.6288038966698469, 0.6291749165078349, 0.6295455655021667,
- 0.6299158440235095, 0.6302857524421607, 0.6306552911280471,
- 0.6310244604507258, 0.6313932607793848, 0.631761692482843,
- 0.6321297559295502, 0.6324974514875885, 0.6328647795246719,
- 0.6332317404081467, 0.6335983345049923, 0.6339645621818211,
- 0.634330423804879, 0.6346959197400462, 0.6350610503528369,
- 0.6354258160083996, 0.6357902170715188, 0.6361542539066134,
- 0.6365179268777388, 0.6368812363485858, 0.6372441826824823,
- 0.6376067662423928, 0.637968987390919, 0.6383308464903001,
- 0.6386923439024137, 0.6390534799887748, 0.6394142551105377,
- 0.6397746696284959, 0.6401347239030817, 0.6404944182943675,
- 0.6408537531620657, 0.6412127288655292, 0.6415713457637514,
- 0.6419296042153675, 0.6422875045786538, 0.6426450472115286,
- 0.6430022324715523, 0.6433590607159283, 0.6437155323015025,
- 0.6440716475847644, 0.6444274069218472, 0.644782810668528,
- 0.6451378591802283, 0.6454925528120143, 0.6458468919185978,
- 0.6462008768543352, 0.6465545079732293, 0.6469077856289291,
- 0.6472607101747299, 0.6476132819635738, 0.6479655013480502,
- 0.6483173686803962, 0.6486688843124969, 0.6490200485958855,
- 0.6493708618817435, 0.6497213245209023, 0.6500714368638417,
- 0.6504211992606918, 0.6507706120612324, 0.6511196756148938,
- 0.6514683902707571, 0.6518167563775543, 0.6521647742836691,
- 0.6525124443371368, 0.652859766885645, 0.6532067422765333,
- 0.6535533708567947, 0.6538996529730751, 0.654245588971674,
- 0.6545911791985446, 0.6549364239992945, 0.655281323719186,
- 0.6556258787031358, 0.6559700892957163, 0.6563139558411553,
- 0.6566574786833363, 0.6570006581657999, 0.6573434946317424,
- 0.6576859884240174, 0.658028139885136, 0.6583699493572668,
- 0.6587114171822364, 0.6590525437015295, 0.6593933292562899,
- 0.6597337741873203, 0.6600738788350825, 0.6604136435396983,
- 0.6607530686409493, 0.6610921544782778, 0.6614309013907864,
- 0.6617693097172392, 0.6621073797960614, 0.6624451119653398,
- 0.6627825065628238, 0.6631195639259246, 0.6634562843917167,
- 0.6637926682969373, 0.6641287159779872, 0.664464427770931,
- 0.6647998040114971, 0.6651348450350785, 0.6654695511767332,
- 0.6658039227711843, 0.6661379601528197, 0.6664716636556935,
- 0.6668050336135264, 0.6671380703597047, 0.6674707742272818,
- 0.6678031455489785, 0.6681351846571825, 0.6684668918839496,
- 0.6687982675610038, 0.6691293120197371, 0.6694600255912108,
- 0.6697904086061548, 0.670120461394969, 0.6704501842877223,
- 0.6707795776141544, 0.671108641703675, 0.6714373768853648,
- 0.6717657834879753, 0.6720938618399296, 0.6724216122693225,
- 0.6727490351039208, 0.6730761306711638, 0.6734028992981633,
- 0.6737293413117047, 0.6740554570382458, 0.674381246803919,
- 0.6747067109345304, 0.6750318497555603, 0.6753566635921638,
- 0.6756811527691712, 0.6760053176110876, 0.6763291584420945,
- 0.6766526755860485, 0.6769758693664834, 0.6772987401066086,
- 0.6776212881293115, 0.6779435137571563, 0.6782654173123844,
- 0.6785869991169158, 0.6789082594923481, 0.6792291987599581,
- 0.6795498172407008, 0.6798701152552111, 0.6801900931238029,
- 0.68050975116647, 0.6808290897028865, 0.681148109052407,
- 0.6814668095340666, 0.6817851914665822, 0.6821032551683512,
- 0.6824210009574536, 0.682738429151651, 0.6830555400683873,
- 0.6833723340247895, 0.6836888113376672, 0.684004972323514,
- 0.6843208172985062, 0.6846363465785049, 0.6849515604790553,
- 0.6852664593153867, 0.6855810434024139, 0.6858953130547369,
- 0.6862092685866409, 0.6865229103120971, 0.6868362385447633,
- 0.687149253597983, 0.687461955784787, 0.6877743454178934,
- 0.6880864228097073, 0.6883981882723218, 0.6887096421175178,
- 0.689020784656765, 0.6893316162012213, 0.689642137061734,
- 0.6899523475488394, 0.6902622479727635, 0.6905718386434223,
- 0.6908811198704219, 0.6911900919630591, 0.6914987552303216,
- 0.6918071099808879, 0.6921151565231283, 0.6924228951651047,
- 0.6927303262145712, 0.6930374499789742, 0.6933442667654529,
- 0.6936507768808395, 0.6939569806316594, 0.6942628783241318,
- 0.6945684702641695, 0.6948737567573798, 0.6951787381090646,
- 0.6954834146242206, 0.6957877866075393, 0.6960918543634081,
- 0.69639561819591, 0.696699078408824, 0.6970022353056254,
- 0.6973050891894865, 0.6976076403632763, 0.697909889129561,
- 0.6982118357906046, 0.6985134806483688, 0.6988148240045138,
- 0.6991158661603977, 0.699416607417078, 0.6997170480753109,
- 0.7000171884355522, 0.7003170287979572, 0.7006165694623812,
- 0.70091581072838, 0.70121475289521, 0.7015133962618281,
- 0.7018117411268927, 0.7021097877887635, 0.7024075365455023,
- 0.7027049876948726, 0.7030021415343406, 0.7032989983610749,
- 0.7035955584719471, 0.7038918221635324, 0.7041877897321093,
- 0.7044834614736599, 0.7047788376838712, 0.7050739186581338,
- 0.7053687046915438, 0.7056631960789016, 0.7059573931147136,
- 0.7062512960931917, 0.7065449053082533, 0.7068382210535225,
- 0.7071312436223296, 0.7074239733077119, 0.7077164104024138,
- 0.7080085551988871, 0.7083004079892912, 0.7085919690654933,
- 0.7088832387190692, 0.7091742172413034, 0.7094649049231885,
- 0.7097553020554271, 0.7100454089284309, 0.710335225832321,
- 0.7106247530569292, 0.710913990891797, 0.7112029396261766,
- 0.7114915995490315, 0.711779970949036, 0.7120680541145756,
- 0.7123558493337485, 0.712643356894364, 0.7129305770839439,
- 0.713217510189723, 0.7135041564986487, 0.7137905162973818,
- 0.7140765898722963, 0.7143623775094801, 0.7146478794947352,
- 0.7149330961135778, 0.715218027651239, 0.7155026743926645,
- 0.7157870366225152, 0.7160711146251676, 0.7163549086847141,
- 0.7166384190849628, 0.7169216461094383, 0.7172045900413819,
- 0.7174872511637518, 0.7177696297592231, 0.7180517261101884,
- 0.7183335404987586, 0.718615073206762, 0.7188963245157451,
- 0.7191772947069739, 0.7194579840614321, 0.7197383928598236,
- 0.7200185213825707, 0.7202983699098164, 0.7205779387214231,
- 0.7208572280969736, 0.7211362383157713, 0.7214149696568404,
- 0.721693422398926, 0.721971596820495, 0.7222494931997359,
- 0.7225271118145585, 0.7228044529425958, 0.7230815168612027,
- 0.7233583038474569, 0.7236348141781592, 0.7239110481298339,
- 0.7241870059787288, 0.7244626880008155, 0.7247380944717898,
- 0.7250132256670722, 0.7252880818618073, 0.7255626633308654,
- 0.7258369703488414, 0.7261110031900564, 0.7263847621285567,
- 0.7266582474381151, 0.7269314593922306, 0.7272043982641287,
- 0.7274770643267621, 0.7277494578528104, 0.7280215791146809,
- 0.7282934283845084, 0.7285650059341557, 0.7288363120352142,
- 0.7291073469590034, 0.7293781109765718, 0.7296486043586969,
- 0.7299188273758861, 0.7301887802983753, 0.7304584633961313,
- 0.7307278769388508, 0.7309970211959604, 0.7312658964366184,
- 0.7315345029297131, 0.7318028409438646, 0.7320709107474244,
- 0.7323387126084755, 0.7326062467948335, 0.7328735135740458,
- 0.7331405132133925, 0.7334072459798867, 0.7336737121402745,
- 0.7339399119610356, 0.7342058457083829, 0.7344715136482635,
- 0.7347369160463587, 0.7350020531680842, 0.7352669252785904,
- 0.7355315326427627, 0.7357958755252216, 0.7360599541903234,
- 0.7363237689021598, 0.736587319924559, 0.7368506075210848,
- 0.7371136319550383, 0.737376393489457, 0.7376388923871158,
- 0.7379011289105265, 0.7381631033219388, 0.7384248158833402,
- 0.7386862668564566, 0.7389474565027518, 0.7392083850834286,
- 0.7394690528594288, 0.7397294600914328, 0.7399896070398615,
- 0.7402494939648745, 0.7405091211263718, 0.7407684887839936,
- 0.7410275971971204, 0.7412864466248739, 0.7415450373261161,
- 0.7418033695594508, 0.7420614435832235, 0.7423192596555206,
- 0.7425768180341715, 0.7428341189767473, 0.7430911627405619,
- 0.743347949582672, 0.7436044797598771, 0.7438607535287203,
- 0.7441167711454884, 0.7443725328662114, 0.7446280389466643,
- 0.7448832896423658, 0.7451382852085793, 0.7453930259003132,
- 0.7456475119723209, 0.7459017436791014, 0.746155721274899,
- 0.746409445013704, 0.7466629151492529, 0.7469161319350285,
- 0.7471690956242603, 0.7474218064699245, 0.7476742647247447,
- 0.7479264706411921, 0.7481784244714849, 0.7484301264675894,
- 0.7486815768812207, 0.7489327759638414, 0.7491837239666634,
- 0.7494344211406472, 0.7496848677365024, 0.7499350640046882,
- 0.7501850101954137, 0.7504347065586372, 0.7506841533440677,
- 0.7509333508011645, 0.7511822991791376, 0.7514309987269479,
- 0.751679449693307, 0.7519276523266788, 0.7521756068752782,
- 0.752423313587072, 0.7526707727097796, 0.7529179844908723,
- 0.7531649491775743, 0.7534116670168628, 0.7536581382554678,
- 0.753904363139873, 0.7541503419163156, 0.7543960748307865,
- 0.7546415621290313, 0.7548868040565494, 0.755131800858595,
- 0.7553765527801771, 0.75562106006606, 0.7558653229607633,
- 0.7561093417085618, 0.7563531165534869, 0.7565966477393253,
- 0.7568399355096207, 0.7570829801076727, 0.7573257817765384,
- 0.7575683407590315, 0.757810657297723, 0.7580527316349417,
- 0.7582945640127741, 0.7585361546730646, 0.7587775038574159,
- 0.7590186118071897, 0.7592594787635054, 0.7595001049672425,
- 0.759740490659039, 0.7599806360792927, 0.7602205414681611,
- 0.7604602070655615, 0.7606996331111716, 0.7609388198444295,
- 0.7611777675045337, 0.761416476330444, 0.7616549465608811,
- 0.7618931784343271, 0.762131172189026, 0.7623689280629833,
- 0.762606446293967, 0.762843727119507, 0.7630807707768961,
- 0.7633175775031897, 0.7635541475352068, 0.7637904811095287,
- 0.7640265784625013, 0.7642624398302336, 0.7644980654485987,
- 0.7647334555532339, 0.7649686103795416, 0.7652035301626878,
- 0.7654382151376045, 0.7656726655389883, 0.7659068816013012,
- 0.7661408635587711, 0.7663746116453917, 0.7666081260949227,
- 0.7668414071408904, 0.7670744550165873, 0.7673072699550733,
- 0.7675398521891746, 0.7677722019514854, 0.768004319474367,
- 0.7682362049899485, 0.7684678587301269, 0.7686992809265678,
- 0.768930471810705, 0.7691614316137406, 0.7693921605666464,
- 0.7696226589001627, 0.7698529268447993, 0.7700829646308358,
- 0.7703127724883215, 0.7705423506470759, 0.7707716993366883,
- 0.7710008187865192, 0.7712297092256994, 0.7714583708831309,
- 0.7716868039874866, 0.7719150087672111, 0.7721429854505208,
- 0.7723707342654037, 0.77259825543962, 0.7728255492007022,
- 0.7730526157759556, 0.773279455392458, 0.7735060682770605,
- 0.7737324546563873, 0.773958614756836, 0.7741845488045782,
- 0.7744102570255591, 0.7746357396454984, 0.77486099688989,
- 0.7750860289840023, 0.7753108361528785, 0.7755354186213375,
- 0.7757597766139727, 0.7759839103551534, 0.7762078200690246,
- 0.776431505979507, 0.7766549683102981, 0.7768782072848712,
- 0.7771012231264764, 0.7773240160581409, 0.7775465863026686,
- 0.777768934082641, 0.7779910596204169, 0.7782129631381333,
- 0.7784346448577044, 0.7786561050008232, 0.778877343788961,
- 0.7790983614433675, 0.7793191581850717, 0.7795397342348812,
- 0.7797600898133831, 0.779980225140944, 0.7802001404377104,
- 0.7804198359236085, 0.7806393118183448, 0.7808585683414061,
- 0.7810776057120601, 0.781296424149355, 0.7815150238721202,
- 0.7817334050989665, 0.7819515680482858, 0.7821695129382523,
- 0.7823872399868217, 0.7826047494117317, 0.7828220414305029,
- 0.7830391162604382, 0.7832559741186232, 0.7834726152219267,
- 0.7836890397870004, 0.7839052480302802, 0.7841212401679847,
- 0.784337016416117, 0.7845525769904642, 0.7847679221065977,
- 0.7849830519798734, 0.7851979668254319, 0.7854126668581988,
- 0.7856271522928848, 0.7858414233439863, 0.786055480225785,
- 0.7862693231523483, 0.7864829523375302, 0.7866963679949702,
- 0.786909570338095, 0.7871225595801175, 0.7873353359340374,
- 0.7875478996126419, 0.7877602508285053, 0.7879723897939895,
- 0.7881843167212441, 0.7883960318222065, 0.7886075353086026,
- 0.7888188273919463, 0.7890299082835402, 0.7892407781944761,
- 0.7894514373356343, 0.7896618859176843, 0.7898721241510854,
- 0.7900821522460864, 0.7902919704127259, 0.7905015788608325,
- 0.7907109778000253, 0.7909201674397135, 0.7911291479890974,
- 0.7913379196571678, 0.7915464826527071, 0.7917548371842886,
- 0.7919629834602773, 0.7921709216888297, 0.7923786520778948,
- 0.7925861748352132, 0.792793490168318, 0.7930005982845352,
- 0.7932074993909828, 0.7934141936945727, 0.7936206814020093,
- 0.7938269627197908, 0.7940330378542089, 0.7942389070113488,
- 0.7944445703970903, 0.7946500282171067, 0.7948552806768664,
- 0.7950603279816321, 0.7952651703364613, 0.7954698079462066,
- 0.795674241015516, 0.7958784697488326, 0.7960824943503956,
- 0.7962863150242396, 0.7964899319741956, 0.7966933454038909,
- 0.7968965555167487, 0.7970995625159897, 0.7973023666046308,
- 0.7975049679854864, 0.7977073668611679, 0.7979095634340845,
- 0.7981115579064427, 0.7983133504802473, 0.7985149413573007,
- 0.7987163307392042, 0.798917518827357, 0.7991185058229575,
- 0.7993192919270025, 0.7995198773402883, 0.7997202622634103,
- 0.7999204468967637, 0.8001204314405428, 0.8003202160947424,
- 0.800519801059157, 0.8007191865333817, 0.800918372716812,
- 0.8011173598086438, 0.8013161480078745, 0.8015147375133019,
- 0.8017131285235258, 0.8019113212369471, 0.802109315851768,
- 0.8023071125659935, 0.8025047115774301, 0.8027021130836867,
- 0.8028993172821746, 0.803096324370108, 0.8032931345445038,
- 0.8034897480021821, 0.803686164939766, 0.8038823855536825,
- 0.8040784100401619, 0.8042742385952387, 0.8044698714147511,
- 0.8046653086943416, 0.8048605506294575, 0.8050555974153505,
- 0.805250449247077, 0.8054451063194986, 0.8056395688272824,
- 0.8058338369649003, 0.8060279109266304, 0.8062217909065561,
- 0.8064154770985675, 0.8066089696963602, 0.8068022688934365,
- 0.8069953748831056, 0.8071882878584826, 0.8073810080124906,
- 0.8075735355378592, 0.8077658706271256, 0.8079580134726345,
- 0.8081499642665384, 0.8083417232007978, 0.8085332904671811,
- 0.8087246662572652, 0.8089158507624357, 0.8091068441738862,
- 0.8092976466826202, 0.8094882584794493, 0.8096786797549951,
- 0.8098689106996885, 0.8100589515037697, 0.8102488023572891,
- 0.8104384634501073, 0.8106279349718947, 0.8108172171121322,
- 0.8110063100601117, 0.8111952140049353, 0.8113839291355168,
- 0.8115724556405804, 0.8117607937086623, 0.8119489435281099,
- 0.8121369052870824, 0.812324679173551, 0.812512265375299,
- 0.8126996640799221, 0.8128868754748282, 0.8130738997472382,
- 0.8132607370841858, 0.8134473876725176, 0.8136338516988935,
- 0.8138201293497869, 0.8140062208114848, 0.814192126270088,
- 0.8143778459115112, 0.8145633799214833, 0.8147487284855478,
- 0.8149338917890624, 0.8151188700171998, 0.8153036633549473,
- 0.8154882719871077, 0.8156726960982986, 0.8158569358729537,
- 0.8160409914953217, 0.8162248631494677, 0.8164085510192725,
- 0.8165920552884329, 0.8167753761404626, 0.8169585137586917,
- 0.8171414683262668, 0.8173242400261517, 0.8175068290411273,
- 0.8176892355537917, 0.8178714597465606, 0.8180535018016672,
- 0.8182353619011631, 0.8184170402269169, 0.8185985369606164,
- 0.8187798522837673, 0.818960986377694, 0.8191419394235397,
- 0.8193227116022666, 0.8195033030946558, 0.8196837140813078,
- 0.8198639447426428, 0.8200439952589003, 0.82022386581014,
- 0.8204035565762413, 0.8205830677369041, 0.8207623994716485,
- 0.8209415519598153, 0.8211205253805658, 0.8212993199128824,
- 0.8214779357355688, 0.8216563730272495, 0.821834631966371,
- 0.8220127127312008, 0.8221906154998289, 0.8223683404501668,
- 0.8225458877599486, 0.8227232576067303, 0.8229004501678905,
- 0.823077465620631, 0.8232543041419758, 0.8234309659087724,
- 0.8236074510976914, 0.8237837598852269, 0.8239598924476964,
- 0.8241358489612414, 0.824311629601827, 0.824487234545243,
- 0.8246626639671029, 0.8248379180428449, 0.825012996947732,
- 0.8251879008568518, 0.8253626299451169, 0.8255371843872652,
- 0.8257115643578599, 0.8258857700312896, 0.8260598015817688,
- 0.8262336591833378, 0.8264073430098628, 0.8265808532350365,
- 0.8267541900323776, 0.8269273535752317, 0.827100344036771,
- 0.8272731615899946, 0.8274458064077288, 0.827618278662627,
- 0.82779057852717, 0.8279627061736664, 0.8281346617742524,
- 0.8283064455008924, 0.8284780575253785, 0.8286494980193315,
- 0.8288207671542003, 0.8289918651012627, 0.8291627920316252,
- 0.8293335481162234, 0.8295041335258218, 0.8296745484310144,
- 0.8298447930022248, 0.8300148674097056, 0.8301847718235403,
- 0.8303545064136416, 0.8305240713497526, 0.8306934668014466,
- 0.8308626929381278, 0.8310317499290305, 0.8312006379432204,
- 0.8313693571495938, 0.8315379077168785, 0.8317062898136335,
- 0.8318745036082493, 0.832042549268948, 0.8322104269637839,
- 0.8323781368606429, 0.8325456791272434, 0.832713053931136,
- 0.8328802614397041, 0.8330473018201633, 0.8332141752395624,
- 0.8333808818647833, 0.8335474218625409, 0.8337137953993836,
- 0.8338800026416932, 0.8340460437556851, 0.8342119189074092,
- 0.8343776282627485, 0.8345431719874209, 0.8347085502469783,
- 0.8348737632068073, 0.8350388110321292, 0.8352036938879999,
- 0.8353684119393107, 0.8355329653507878, 0.8356973542869929,
- 0.8358615789123232, 0.8360256393910115, 0.8361895358871263,
- 0.8363532685645727, 0.8365168375870914, 0.8366802431182595,
- 0.8368434853214908, 0.8370065643600357, 0.8371694803969815,
- 0.8373322335952522, 0.8374948241176092, 0.8376572521266514,
- 0.8378195177848147, 0.8379816212543728, 0.8381435626974376,
- 0.8383053422759583, 0.838466960151723, 0.8386284164863572,
- 0.8387897114413256, 0.8389508451779313, 0.8391118178573159,
- 0.8392726296404602, 0.8394332806881842, 0.8395937711611469,
- 0.8397541012198466, 0.8399142710246217, 0.8400742807356499,
- 0.8402341305129489, 0.8403938205163765, 0.8405533509056307,
- 0.8407127218402499, 0.840871933479613, 0.8410309859829395,
- 0.8411898795092901, 0.8413486142175661, 0.8415071902665103,
- 0.8416656078147067, 0.8418238670205807, 0.8419819680423992,
- 0.8421399110382716, 0.8422976961661485, 0.842455323583823,
- 0.8426127934489304, 0.8427701059189485, 0.8429272611511976,
- 0.8430842593028409, 0.8432411005308843, 0.8433977849921769,
- 0.8435543128434111, 0.8437106842411225, 0.8438668993416903,
- 0.8440229583013376, 0.844178861276131, 0.8443346084219814,
- 0.8444901998946436, 0.844645635849717, 0.8448009164426452,
- 0.8449560418287168, 0.8451110121630647, 0.8452658276006672,
- 0.8454204882963473, 0.8455749944047737, 0.8457293460804599,
- 0.8458835434777657, 0.8460375867508959, 0.8461914760539017,
- 0.84634521154068, 0.8464987933649739, 0.8466522216803731,
- 0.8468054966403136, 0.8469586183980778, 0.8471115871067953,
- 0.8472644029194426, 0.8474170659888429, 0.8475695764676672,
- 0.8477219345084333, 0.847874140263507, 0.8480261938851019,
- 0.8481780955252789, 0.8483298453359475, 0.8484814434688648,
- 0.8486328900756369, 0.8487841853077177, 0.8489353293164102,
- 0.849086322252866, 0.8492371642680854, 0.8493878555129181,
- 0.8495383961380629, 0.8496887862940679, 0.8498390261313309,
- 0.8499891158000991, 0.8501390554504697, 0.85028884523239,
- 0.8504384852956572, 0.8505879757899191, 0.8507373168646731,
- 0.8508865086692684, 0.8510355513529038, 0.8511844450646298,
- 0.8513331899533472, 0.8514817861678088, 0.8516302338566177,
- 0.8517785331682296, 0.8519266842509509, 0.85207468725294,
- 0.8522225423222076, 0.8523702496066161, 0.8525178092538801,
- 0.8526652214115666, 0.8528124862270953, 0.8529596038477383,
- 0.8531065744206205, 0.85325339809272, 0.8534000750108679,
- 0.8535466053217482, 0.8536929891718986, 0.8538392267077105,
- 0.8539853180754285, 0.8541312634211514, 0.8542770628908319,
- 0.8544227166302768, 0.8545682247851469, 0.8547135875009579,
- 0.8548588049230796, 0.855003877196737, 0.8551488044670092,
- 0.8552935868788312, 0.8554382245769923, 0.8555827177061375,
- 0.8557270664107673, 0.8558712708352376, 0.8560153311237599,
- 0.856159247420402, 0.8563030198690871, 0.856446648613595,
- 0.8565901337975617, 0.8567334755644793, 0.8568766740576972,
- 0.8570197294204205, 0.8571626417957122, 0.8573054113264916,
- 0.8574480381555355, 0.8575905224254777, 0.8577328642788098,
- 0.8578750638578807, 0.858017121304897, 0.8581590367619234,
- 0.8583008103708825, 0.8584424422735549, 0.8585839326115796,
- 0.8587252815264541, 0.8588664891595343, 0.859007555652035,
- 0.8591484811450298, 0.8592892657794511, 0.8594299096960906,
- 0.8595704130355993, 0.8597107759384877, 0.8598509985451255,
- 0.8599910809957425, 0.860131023430428, 0.8602708259891318,
- 0.860410488811663, 0.8605500120376919, 0.8606893958067482,
- 0.860828640258223, 0.8609677455313677, 0.8611067117652944,
- 0.8612455390989764, 0.8613842276712479, 0.8615227776208045,
- 0.861661189086203, 0.861799462205862, 0.8619375971180612,
- 0.8620755939609428, 0.8622134528725103, 0.8623511739906297,
- 0.8624887574530288, 0.8626262033972982, 0.8627635119608905,
- 0.8629006832811212, 0.8630377174951687, 0.8631746147400738,
- 0.8633113751527407, 0.8634479988699366, 0.8635844860282923,
- 0.8637208367643016, 0.863857051214322, 0.863993129514575,
- 0.8641290718011454, 0.8642648782099827, 0.8644005488768997,
- 0.8645360839375741, 0.8646714835275477, 0.8648067477822269,
- 0.8649418768368826, 0.8650768708266509, 0.8652117298865323,
- 0.8653464541513926, 0.8654810437559629, 0.8656154988348397,
- 0.8657498195224845, 0.8658840059532249, 0.8660180582612541,
- 0.8661519765806309, 0.8662857610452807, 0.8664194117889943,
- 0.8665529289454292, 0.8666863126481095, 0.8668195630304253,
- 0.8669526802256338, 0.8670856643668587, 0.8672185155870911,
- 0.8673512340191886, 0.8674838197958764, 0.8676162730497469,
- 0.86774859391326, 0.8678807825187431, 0.8680128389983915,
- 0.8681447634842684, 0.8682765561083047, 0.8684082170022998,
- 0.868539746297921, 0.8686711441267043, 0.868802410620054,
- 0.8689335459092434, 0.8690645501254142, 0.8691954233995772,
- 0.8693261658626122, 0.8694567776452683, 0.8695872588781637,
- 0.8697176096917862, 0.8698478302164931, 0.8699779205825117,
- 0.8701078809199386, 0.8702377113587407, 0.8703674120287551,
- 0.8704969830596888, 0.8706264245811194, 0.8707557367224948,
- 0.8708849196131337, 0.8710139733822255, 0.8711428981588305,
- 0.8712716940718797, 0.8714003612501755, 0.8715288998223918,
- 0.8716573099170732, 0.8717855916626367, 0.87191374518737,
- 0.8720417706194334, 0.8721696680868585, 0.8722974377175494,
- 0.8724250796392818, 0.8725525939797045, 0.8726799808663378,
- 0.8728072404265751, 0.8729343727876824, 0.8730613780767983,
- 0.8731882564209346, 0.8733150079469759, 0.8734416327816801,
- 0.8735681310516784, 0.8736945028834754, 0.8738207484034491,
- 0.8739468677378517, 0.8740728610128086, 0.8741987283543193,
- 0.8743244698882576, 0.8744500857403713, 0.8745755760362827,
- 0.8747009409014881, 0.8748261804613587, 0.8749512948411405,
- 0.8750762841659541, 0.8752011485607949, 0.8753258881505338,
- 0.8754505030599165, 0.8755749934135642, 0.8756993593359733,
- 0.8758236009515162, 0.8759477183844406, 0.8760717117588703,
- 0.8761955811988048, 0.8763193268281196, 0.8764429487705668,
- 0.8765664471497743, 0.8766898220892468, 0.8768130737123654,
- 0.8769362021423878, 0.8770592075024486, 0.8771820899155596,
- 0.877304849504609, 0.8774274863923627, 0.8775500007014637,
- 0.8776723925544325, 0.8777946620736671, 0.877916809381443,
- 0.8780388345999137, 0.8781607378511106, 0.878282519256943,
- 0.8784041789391985, 0.8785257170195427, 0.8786471336195198,
- 0.8787684288605526, 0.8788896028639424, 0.8790106557508692,
- 0.879131587642392, 0.8792523986594486, 0.8793730889228563,
- 0.8794936585533112, 0.8796141076713891, 0.8797344363975452,
- 0.8798546448521141, 0.8799747331553104, 0.8800947014272282,
- 0.8802145497878422, 0.8803342783570063, 0.8804538872544554,
- 0.8805733765998042, 0.880692746512548, 0.8808119971120629,
- 0.8809311285176054, 0.8810501408483128, 0.8811690342232034,
- 0.8812878087611765, 0.8814064645810127, 0.8815250018013736,
- 0.8816434205408026, 0.8817617209177241, 0.8818799030504446,
- 0.881997967057152, 0.8821159130559164, 0.8822337411646896,
- 0.8823514515013056, 0.8824690441834806, 0.8825865193288132,
- 0.8827038770547845, 0.882821117478758, 0.8829382407179801,
- 0.8830552468895799, 0.8831721361105693, 0.8832889084978436,
- 0.8834055641681807, 0.8835221032382424, 0.8836385258245736,
- 0.8837548320436025, 0.8838710220116414, 0.8839870958448859,
- 0.8841030536594157, 0.8842188955711945, 0.8843346216960699,
- 0.8844502321497738, 0.8845657270479226, 0.884681106506017,
- 0.8847963706394419, 0.8849115195634676, 0.8850265533932485,
- 0.8851414722438244, 0.8852562762301199, 0.8853709654669446,
- 0.8854855400689936, 0.8856000001508472, 0.8857143458269712,
- 0.8858285772117169, 0.8859426944193215, 0.886056697563908,
- 0.8861705867594852, 0.886284362119948, 0.8863980237590774,
- 0.8865115717905409, 0.886625006327892, 0.8867383274845709,
- 0.8868515353739047, 0.8869646301091068, 0.8870776118032776,
- 0.8871904805694044, 0.8873032365203618, 0.8874158797689111,
- 0.8875284104277016, 0.8876408286092692, 0.8877531344260379,
- 0.8878653279903191, 0.887977409414312, 0.8880893788101037,
- 0.8882012362896692, 0.8883129819648714, 0.8884246159474617,
- 0.8885361383490797, 0.8886475492812533, 0.8887588488553992,
- 0.8888700371828224, 0.8889811143747167, 0.889092080542165,
- 0.8892029357961391, 0.8893136802474997, 0.8894243140069966,
- 0.8895348371852695, 0.8896452498928469, 0.8897555522401469,
- 0.8898657443374777, 0.8899758262950366, 0.8900857982229112,
- 0.8901956602310791, 0.8903054124294075, 0.8904150549276544,
- 0.8905245878354675, 0.8906340112623854, 0.890743325317837,
- 0.8908525301111416, 0.8909616257515098, 0.8910706123480425,
- 0.8911794900097318, 0.8912882588454608, 0.8913969189640039,
- 0.8915054704740264, 0.8916139134840855, 0.8917222481026295,
- 0.8918304744379983, 0.8919385925984241, 0.8920466026920302,
- 0.892154504826832, 0.8922622991107373, 0.8923699856515456,
- 0.8924775645569488, 0.8925850359345313, 0.8926923998917698,
- 0.8927996565360339, 0.8929068059745852, 0.8930138483145786,
- 0.893120783663062, 0.893227612126976, 0.8933343338131544,
- 0.8934409488283243, 0.8935474572791059, 0.8936538592720131,
- 0.8937601549134532, 0.8938663443097271, 0.8939724275670298,
- 0.8940784047914494, 0.8941842760889689, 0.8942900415654645,
- 0.8943957013267073, 0.8945012554783621, 0.8946067041259885,
- 0.8947120473750404, 0.8948172853308664, 0.8949224180987094,
- 0.8950274457837079, 0.8951323684908944, 0.8952371863251972,
- 0.8953418993914393, 0.8954465077943389, 0.8955510116385097,
- 0.8956554110284607, 0.8957597060685968, 0.8958638968632179,
- 0.8959679835165203, 0.8960719661325957, 0.896175844815432,
- 0.896279619668913, 0.8963832907968189, 0.8964868583028258,
- 0.8965903222905067, 0.8966936828633305, 0.896796940124663,
- 0.8969000941777667, 0.8970031451258009, 0.8971060930718215,
- 0.8972089381187818, 0.8973116803695318, 0.8974143199268191,
- 0.8975168568932882, 0.8976192913714813, 0.8977216234638381,
- 0.8978238532726956, 0.8979259809002891, 0.8980280064487509,
- 0.8981299300201119, 0.8982317517163008, 0.8983334716391442,
- 0.8984350898903674, 0.8985366065715934, 0.8986380217843444,
- 0.8987393356300403, 0.8988405482100001, 0.8989416596254416,
- 0.8990426699774813, 0.8991435793671343, 0.8992443878953154,
- 0.8993450956628379, 0.8994457027704149, 0.8995462093186584,
- 0.8996466154080798, 0.8997469211390905, 0.8998471266120011,
- 0.8999472319270221, 0.9000472371842639, 0.9001471424837368,
- 0.900246947925351, 0.9003466536089169, 0.9004462596341453,
- 0.9005457661006472, 0.9006451731079339, 0.9007444807554176,
- 0.9008436891424108, 0.9009427983681269, 0.9010418085316799,
- 0.9011407197320853, 0.9012395320682589, 0.9013382456390182,
- 0.9014368605430817, 0.9015353768790692, 0.9016337947455018,
- 0.9017321142408026, 0.9018303354632957, 0.9019284585112075,
- 0.9020264834826659, 0.9021244104757008, 0.902222239588244,
- 0.9023199709181295, 0.9024176045630937, 0.9025151406207751,
- 0.9026125791887144, 0.9027099203643554, 0.9028071642450438,
- 0.9029043109280286, 0.9030013605104612, 0.9030983130893961,
- 0.9031951687617908, 0.9032919276245058, 0.9033885897743048,
- 0.9034851553078548, 0.9035816243217261, 0.9036779969123925,
- 0.9037742731762315, 0.9038704532095243, 0.9039665371084555,
- 0.9040625249691141, 0.9041584168874925, 0.9042542129594877,
- 0.9043499132809003, 0.9044455179474356, 0.9045410270547029,
- 0.9046364406982161, 0.9047317589733939, 0.904826981975559,
- 0.9049221097999394, 0.9050171425416674, 0.9051120802957809,
- 0.9052069231572222, 0.9053016712208388, 0.9053963245813839,
- 0.905490883333515, 0.9055853475717961, 0.9056797173906961,
- 0.9057739928845893, 0.905868174147756, 0.9059622612743823,
- 0.90605625435856, 0.9061501534942868, 0.9062439587754667,
- 0.9063376702959095, 0.9064312881493316, 0.9065248124293553,
- 0.9066182432295098, 0.9067115806432304, 0.9068048247638594,
- 0.9068979756846454, 0.9069910334987441, 0.9070839982992178,
- 0.9071768701790361, 0.9072696492310757, 0.90736233554812,
- 0.90745492922286, 0.9075474303478941, 0.9076398390157281,
- 0.9077321553187752, 0.9078243793493563, 0.9079165111997002,
- 0.9080085509619433, 0.9081004987281299, 0.9081923545902124,
- 0.9082841186400513, 0.9083757909694153, 0.9084673716699811,
- 0.9085588608333344, 0.9086502585509685, 0.9087415649142858,
- 0.9088327800145974, 0.908923903943123, 0.9090149367909909,
- 0.9091058786492385, 0.9091967296088124, 0.909287489760568,
- 0.9093781591952699, 0.9094687380035923, 0.9095592262761184,
- 0.9096496241033409, 0.9097399315756625, 0.9098301487833949,
- 0.9099202758167598, 0.910010312765889, 0.9101002597208238,
- 0.9101901167715155, 0.910279884007826, 0.9103695615195267,
- 0.9104591493962999, 0.9105486477277378, 0.9106380566033433,
- 0.9107273761125296, 0.9108166063446208, 0.9109057473888515,
- 0.9109947993343673, 0.9110837622702247, 0.9111726362853909,
- 0.9112614214687444, 0.911350117909075, 0.9114387256950834,
- 0.911527244915382, 0.9116156756584941, 0.9117040180128553,
- 0.9117922720668121, 0.9118804379086232, 0.9119685156264585,
- 0.9120565053084004, 0.9121444070424432, 0.9122322209164925,
- 0.9123199470183669, 0.9124075854357969, 0.9124951362564252,
- 0.9125825995678071, 0.9126699754574101, 0.9127572640126148,
- 0.912844465320714, 0.9129315794689131, 0.913018606544331,
- 0.9131055466339988, 0.9131923998248612, 0.9132791662037757,
- 0.9133658458575129, 0.9134524388727568, 0.9135389453361049,
- 0.913625365334068, 0.9137116989530703, 0.9137979462794497,
- 0.9138841073994579, 0.9139701823992605, 0.9140561713649367,
- 0.9141420743824795, 0.9142278915377967, 0.9143136229167095,
- 0.9143992686049536, 0.9144848286881788, 0.9145703032519499,
- 0.9146556923817453, 0.9147409961629587, 0.914826214680898,
- 0.914911348020786, 0.9149963962677603, 0.9150813595068735,
- 0.9151662378230931, 0.9152510313013016, 0.9153357400262967,
- 0.9154203640827914, 0.9155049035554139, 0.9155893585287082,
- 0.9156737290871331, 0.9157580153150636, 0.9158422172967903,
- 0.9159263351165191, 0.9160103688583723, 0.9160943186063876,
- 0.916178184444519, 0.9162619664566368, 0.9163456647265269,
- 0.916429279337892, 0.9165128103743506, 0.9165962579194382,
- 0.9166796220566065, 0.9167629028692236, 0.9168461004405747,
- 0.9169292148538615, 0.9170122461922025, 0.9170951945386331,
- 0.917178059976106, 0.9172608425874909, 0.9173435424555741,
- 0.9174261596630601, 0.91750869429257, 0.9175911464266425,
- 0.9176735161477341, 0.9177558035382184, 0.917838008680387,
- 0.9179201316564493, 0.9180021725485321, 0.9180841314386807,
- 0.9181660084088579, 0.9182478035409449, 0.9183295169167409,
- 0.9184111486179632, 0.9184926987262478, 0.9185741673231488,
- 0.9186555544901389, 0.9187368603086093, 0.91881808485987,
- 0.9188992282251496, 0.9189802904855953, 0.9190612717222737,
- 0.91914217201617, 0.9192229914481884, 0.9193037300991527,
- 0.9193843880498053, 0.9194649653808084, 0.9195454621727431,
- 0.9196258785061104, 0.9197062144613308, 0.919786470118744,
- 0.91986664555861, 0.9199467408611078, 0.9200267561063371,
- 0.9201066913743171, 0.9201865467449869, 0.920266322298206,
- 0.9203460181137539, 0.9204256342713305, 0.9205051708505558,
- 0.9205846279309705, 0.9206640055920355, 0.9207433039131326,
- 0.920822522973564, 0.9209016628525528, 0.9209807236292428,
- 0.9210597053826987, 0.9211386081919062, 0.9212174321357721,
- 0.9212961772931243, 0.921374843742712, 0.9214534315632054,
- 0.9215319408331963, 0.921610371631198, 0.9216887240356452,
- 0.9217669981248942, 0.9218451939772229, 0.9219233116708312,
- 0.9220013512838408, 0.922079312894295, 0.9221571965801594,
- 0.9222350024193217, 0.9223127304895915, 0.9223903808687008,
- 0.9224679536343039, 0.9225454488639774, 0.9226228666352204,
- 0.9227002070254546, 0.9227774701120243, 0.9228546559721964,
- 0.9229317646831606, 0.9230087963220295, 0.9230857509658387,
- 0.9231626286915464, 0.9232394295760346, 0.9233161536961076,
- 0.9233928011284936, 0.923469371949844, 0.9235458662367332,
- 0.9236222840656594, 0.9236986255130443, 0.9237748906552331,
- 0.9238510795684949, 0.9239271923290222, 0.9240032290129317,
- 0.924079189696264, 0.9241550744549836, 0.9242308833649787,
- 0.9243066165020624, 0.9243822739419714, 0.9244578557603671,
- 0.9245333620328349, 0.9246087928348851, 0.924684148241952,
- 0.9247594283293951, 0.9248346331724979, 0.9249097628464693,
- 0.9249848174264427, 0.9250597969874763, 0.9251347016045535,
- 0.9252095313525827, 0.9252842863063973, 0.9253589665407561,
- 0.9254335721303429, 0.9255081031497674, 0.9255825596735638,
- 0.925656941776193, 0.9257312495320402, 0.9258054830154173,
- 0.9258796423005613, 0.9259537274616354, 0.9260277385727282,
- 0.9261016757078547, 0.9261755389409557, 0.9262493283458981,
- 0.9263230439964751, 0.9263966859664059, 0.9264702543293363,
- 0.9265437491588382, 0.9266171705284102, 0.9266905185114773,
- 0.9267637931813913, 0.9268369946114303, 0.9269101228747997,
- 0.9269831780446312, 0.9270561601939835, 0.9271290693958427,
- 0.9272019057231216, 0.9272746692486601, 0.9273473600452253,
- 0.9274199781855118, 0.9274925237421413, 0.9275649967876629,
- 0.9276373973945535, 0.9277097256352171, 0.9277819815819857,
- 0.9278541653071188, 0.9279262768828038, 0.9279983163811558,
- 0.9280702838742181, 0.9281421794339615, 0.9282140031322854,
- 0.928285755041017, 0.9283574352319117, 0.9284290437766536,
- 0.9285005807468545, 0.9285720462140551, 0.9286434402497245,
- 0.9287147629252601, 0.9287860143119884, 0.9288571944811643,
- 0.9289283035039714, 0.9289993414515223, 0.9290703083948587,
- 0.9291412044049508, 0.9292120295526985, 0.9292827839089303,
- 0.9293534675444041, 0.929424080529807, 0.9294946229357557,
- 0.929565094832796, 0.9296354962914034, 0.9297058273819829,
- 0.9297760881748691, 0.9298462787403263, 0.9299163991485486,
- 0.9299864494696598, 0.9300564297737139, 0.9301263401306946,
- 0.9301961806105158, 0.9302659512830215, 0.9303356522179858,
- 0.9304052834851132, 0.9304748451540383, 0.9305443372943265,
- 0.9306137599754734, 0.9306831132669048, 0.9307523972379779,
- 0.9308216119579799, 0.9308907574961289, 0.9309598339215742,
- 0.9310288413033956, 0.9310977797106037, 0.9311666492121407,
- 0.9312354498768791, 0.9313041817736235, 0.931372844971109,
- 0.9314414395380023, 0.9315099655429013, 0.9315784230543356,
- 0.931646812140766, 0.9317151328705849, 0.9317833853121168,
- 0.9318515695336174, 0.9319196856032741, 0.9319877335892067,
- 0.9320557135594665, 0.9321236255820369, 0.9321914697248331,
- 0.932259246055703, 0.9323269546424261, 0.9323945955527144,
- 0.9324621688542122, 0.9325296746144962, 0.9325971129010756,
- 0.932664483781392, 0.9327317873228197, 0.9327990235926655,
- 0.9328661926581692, 0.9329332945865031, 0.9330003294447725,
- 0.9330672973000157, 0.9331341982192038, 0.9332010322692412,
- 0.9332677995169653, 0.9333345000291465, 0.9334011338724888,
- 0.9334677011136294, 0.9335342018191388, 0.933600636055521,
- 0.9336670038892136, 0.9337333053865879, 0.9337995406139487,
- 0.9338657096375342, 0.9339318125235172, 0.9339978493380036,
- 0.9340638201470336, 0.9341297250165813, 0.9341955640125549,
- 0.9342613372007967, 0.9343270446470832, 0.934392686417125,
- 0.9344582625765674, 0.9345237731909896, 0.9345892183259056,
- 0.9346545980467639, 0.9347199124189474, 0.9347851615077736,
- 0.9348503453784951, 0.934915464096299, 0.9349805177263071,
- 0.9350455063335765, 0.935110429983099, 0.9351752887398014,
- 0.9352400826685459, 0.9353048118341294, 0.9353694763012845,
- 0.9354340761346789, 0.9354986113989157, 0.9355630821585332,
- 0.9356274884780056, 0.9356918304217424, 0.9357561080540887,
- 0.9358203214393254, 0.935884470641669, 0.935948555725272,
- 0.9360125767542229, 0.9360765337925455, 0.9361404269042004,
- 0.9362042561530837, 0.936268021603028, 0.9363317233178019,
- 0.9363953613611101, 0.9364589357965942, 0.9365224466878316,
- 0.9365858940983364, 0.9366492780915591, 0.936712598730887,
- 0.9367758560796439, 0.9368390502010903, 0.9369021811584234,
- 0.9369652490147774, 0.9370282538332233, 0.9370911956767691,
- 0.9371540746083598, 0.9372168906908774, 0.9372796439871413,
- 0.9373423345599077, 0.9374049624718706, 0.9374675277856607,
- 0.9375300305638467, 0.9375924708689344, 0.9376548487633674,
- 0.9377171643095265, 0.9377794175697305, 0.9378416086062357,
- 0.9379037374812362, 0.9379658042568643, 0.9380278089951894,
- 0.9380897517582198, 0.9381516326079011, 0.9382134516061174,
- 0.9382752088146906, 0.9383369042953812, 0.9383985381098876,
- 0.9384601103198469, 0.9385216209868342, 0.9385830701723633,
- 0.9386444579378865, 0.9387057843447948, 0.9387670494544174,
- 0.9388282533280224, 0.9388893960268172, 0.9389504776119472,
- 0.9390114981444971, 0.9390724576854905, 0.9391333562958901,
- 0.9391941940365974, 0.9392549709684533, 0.9393156871522378,
- 0.93937634264867, 0.9394369375184085, 0.9394974718220512,
- 0.9395579456201354, 0.9396183589731381, 0.9396787119414755,
- 0.9397390045855035, 0.939799236965518, 0.9398594091417544,
- 0.9399195211743876, 0.9399795731235329, 0.9400395650492452,
- 0.9400994970115194, 0.9401593690702905, 0.9402191812854336,
- 0.9402789337167637, 0.9403386264240365, 0.9403982594669476,
- 0.940457832905133, 0.940517346798169, 0.9405768012055726,
- 0.9406361961868013, 0.9406955318012529, 0.940754808108266,
- 0.9408140251671199, 0.9408731830370346, 0.9409322817771709,
- 0.9409913214466307, 0.9410503021044564, 0.9411092238096317,
- 0.9411680866210813, 0.9412268905976708, 0.9412856357982075,
- 0.941344322281439, 0.9414029501060551, 0.9414615193306864,
- 0.9415200300139053, 0.941578482214225, 0.941636875990101,
- 0.9416952113999298, 0.9417534885020499, 0.9418117073547411,
- 0.9418698680162253, 0.941927970544666, 0.9419860149981688,
- 0.942044001434781, 0.9421019299124918, 0.9421598004892326,
- 0.942217613222877, 0.9422753681712407, 0.9423330653920813,
- 0.9423907049430991, 0.9424482868819364, 0.9425058112661782,
- 0.9425632781533515, 0.9426206876009263, 0.9426780396663149,
- 0.9427353344068722, 0.9427925718798956, 0.9428497521426258,
- 0.9429068752522458, 0.9429639412658815, 0.9430209502406017,
- 0.9430779022334184, 0.9431347973012864, 0.9431916355011035,
- 0.943248416889711, 0.9433051415238928, 0.9433618094603766,
- 0.9434184207558332, 0.9434749754668766, 0.9435314736500644,
- 0.9435879153618977, 0.9436443006588208, 0.943700629597222,
- 0.9437569022334331, 0.9438131186237295, 0.9438692788243304,
- 0.9439253828913987, 0.9439814308810415, 0.9440374228493094,
- 0.9440933588521973, 0.9441492389456438, 0.9442050631855321,
- 0.944260831627689, 0.9443165443278859, 0.9443722013418382,
- 0.9444278027252058, 0.9444833485335926, 0.9445388388225474,
- 0.9445942736475633, 0.9446496530640779, 0.9447049771274733,
- 0.9447602458930763, 0.9448154594161584, 0.9448706177519361,
- 0.9449257209555705, 0.9449807690821673, 0.9450357621867775,
- 0.9450907003243971, 0.9451455835499669, 0.9452004119183728,
- 0.9452551854844459, 0.9453099043029627, 0.9453645684286445,
- 0.9454191779161585, 0.9454737328201165, 0.9455282331950765,
- 0.9455826790955414, 0.9456370705759599, 0.9456914076907262,
- 0.9457456904941802, 0.9457999190406073, 0.9458540933842389,
- 0.9459082135792518, 0.9459622796797692, 0.9460162917398598,
- 0.9460702498135383, 0.9461241539547656, 0.9461780042174485,
- 0.9462318006554398, 0.9462855433225388, 0.9463392322724908,
- 0.9463928675589875, 0.9464464492356669, 0.9464999773561132,
- 0.9465534519738573, 0.9466068731423766, 0.9466602409150947,
- 0.9467135553453823, 0.9467668164865563, 0.9468200243918806,
- 0.9468731791145658, 0.9469262807077692, 0.9469793292245952,
- 0.9470323247180947, 0.9470852672412661, 0.9471381568470545,
- 0.9471909935883521, 0.9472437775179985, 0.94729650868878,
- 0.9473491871534305, 0.9474018129646311, 0.9474543861750104,
- 0.947506906837144, 0.9475593750035554, 0.9476117907267152,
- 0.9476641540590419, 0.9477164650529015, 0.9477687237606074,
- 0.947820930234421, 0.9478730845265516, 0.9479251866891558,
- 0.9479772367743386, 0.9480292348341526, 0.9480811809205985,
- 0.9481330750856248, 0.9481849173811285, 0.9482367078589544,
- 0.9482884465708956, 0.9483401335686935, 0.9483917689040374,
- 0.9484433526285655, 0.9484948847938639, 0.9485463654514675,
- 0.9485977946528595, 0.9486491724494717, 0.9487004988926844,
- 0.9487517740338266, 0.9488029979241761, 0.9488541706149594,
- 0.9489052921573515, 0.9489563626024767, 0.9490073820014081,
- 0.9490583504051674, 0.9491092678647257, 0.949160134431003,
- 0.9492109501548684, 0.9492617150871402, 0.9493124292785858,
- 0.949363092779922, 0.9494137056418149, 0.9494642679148797,
- 0.9495147796496815, 0.9495652408967342, 0.9496156517065018,
- 0.9496660121293976, 0.9497163222157846, 0.9497665820159753,
- 0.949816791580232, 0.9498669509587669, 0.9499170602017419,
- 0.9499671193592686, 0.9500171284814088, 0.950067087618174,
- 0.9501169968195261, 0.9501668561353764, 0.950216665615587,
- 0.95026642530997, 0.9503161352682872, 0.9503657955402512,
- 0.9504154061755249, 0.9504649672237213, 0.950514478734404,
- 0.9505639407570868, 0.9506133533412344, 0.9506627165362619,
- 0.9507120303915347, 0.9507612949563694, 0.9508105102800329,
- 0.9508596764117431, 0.9509087934006684, 0.9509578612959284,
- 0.9510068801465934, 0.9510558500016847, 0.9511047709101746,
- 0.9511536429209866, 0.951202466082995, 0.9512512404450253,
- 0.9512999660558547, 0.9513486429642107, 0.9513972712187732,
- 0.9514458508681726, 0.9514943819609909, 0.9515428645457619,
- 0.9515912986709704, 0.951639684385053, 0.9516880217363978,
- 0.9517363107733446, 0.951784551544185, 0.951832744097162,
- 0.9518808884804706, 0.9519289847422577, 0.9519770329306219,
- 0.9520250330936136, 0.9520729852792358, 0.9521208895354427,
- 0.9521687459101411, 0.9522165544511899, 0.9522643152063998,
- 0.9523120282235341, 0.9523596935503081, 0.9524073112343896,
- 0.9524548813233987, 0.9525024038649078, 0.9525498789064418,
- 0.9525973064954781, 0.9526446866794468, 0.9526920195057305,
- 0.952739305021664, 0.9527865432745356, 0.9528337343115858,
- 0.952880878180008, 0.9529279749269484, 0.952975024599506,
- 0.9530220272447331, 0.9530689829096344, 0.9531158916411682,
- 0.9531627534862454, 0.9532095684917301, 0.9532563367044399,
- 0.9533030581711452, 0.95334973293857, 0.953396361053391,
- 0.953442942562239, 0.9534894775116978, 0.9535359659483046,
- 0.9535824079185502, 0.9536288034688788, 0.9536751526456884,
- 0.9537214554953305, 0.9537677120641102, 0.9538139223982863,
- 0.9538600865440717, 0.9539062045476328, 0.9539522764550896,
- 0.9539983023125167, 0.9540442821659421, 0.9540902160613478,
- 0.9541361040446703, 0.9541819461617997, 0.9542277424585806,
- 0.9542734929808112, 0.9543191977742447, 0.954364856884588,
- 0.9544104703575026, 0.9544560382386041, 0.9545015605734628,
- 0.9545470374076034, 0.9545924687865047, 0.9546378547556006,
- 0.9546831953602793, 0.9547284906458837, 0.9547737406577113,
- 0.9548189454410143, 0.9548641050409999, 0.9549092195028299,
- 0.954954288871621, 0.9549993131924449, 0.9550442925103281,
- 0.9550892268702522, 0.9551341163171537, 0.9551789608959246,
- 0.9552237606514113, 0.9552685156284162, 0.9553132258716963,
- 0.9553578914259641, 0.9554025123358874, 0.9554470886460894,
- 0.9554916204011485, 0.9555361076455989, 0.95558055042393,
- 0.9556249487805867, 0.9556693027599696, 0.955713612406435,
- 0.9557578777642948, 0.9558020988778163, 0.9558462757912232,
- 0.9558904085486943, 0.9559344971943647, 0.9559785417723254,
- 0.956022542326623, 0.9560664989012603, 0.956110411540196,
- 0.9561542802873452, 0.9561981051865784, 0.9562418862817232,
- 0.9562856236165626, 0.956329317234836, 0.9563729671802396,
- 0.9564165734964252, 0.9564601362270014, 0.9565036554155332,
- 0.9565471311055419, 0.9565905633405053, 0.9566339521638578,
- 0.9566772976189906, 0.9567205997492512, 0.9567638585979438,
- 0.9568070742083294, 0.956850246623626, 0.9568933758870082,
- 0.9569364620416071, 0.9569795051305112, 0.9570225051967658,
- 0.9570654622833731, 0.9571083764332923, 0.9571512476894396,
- 0.9571940760946885, 0.9572368616918696, 0.9572796045237706,
- 0.9573223046331365, 0.9573649620626694, 0.9574075768550291,
- 0.9574501490528323, 0.9574926786986535, 0.9575351658350244,
- 0.9575776105044342, 0.9576200127493298, 0.9576623726121156,
- 0.9577046901351536, 0.9577469653607632, 0.9577891983312219,
- 0.9578313890887649, 0.9578735376755849, 0.9579156441338328,
- 0.9579577085056168, 0.9579997308330038, 0.958041711158018,
- 0.9580836495226418, 0.9581255459688157, 0.9581674005384384,
- 0.9582092132733664, 0.9582509842154145, 0.9582927134063559,
- 0.9583344008879218, 0.9583760467018017, 0.9584176508896436,
- 0.9584592134930536, 0.9585007345535966, 0.9585422141127957,
- 0.9585836522121325, 0.9586250488930471, 0.9586664041969384,
- 0.9587077181651635, 0.9587489908390389, 0.9587902222598389,
- 0.9588314124687972, 0.958872561507106, 0.9589136694159165,
- 0.9589547362363385, 0.9589957620094411, 0.959036746776252,
- 0.9590776905777579, 0.9591185934549049, 0.9591594554485977,
- 0.9592002765997005, 0.9592410569490364, 0.9592817965373879,
- 0.9593224954054964, 0.9593631535940631, 0.9594037711437481,
- 0.9594443480951709, 0.9594848844889106, 0.9595253803655055,
- 0.9595658357654537, 0.9596062507292125, 0.9596466252971988,
- 0.9596869595097893, 0.9597272534073203, 0.9597675070300876,
- 0.9598077204183469, 0.9598478936123136, 0.9598880266521629,
- 0.9599281195780297, 0.9599681724300092, 0.9600081852481561,
- 0.9600481580724852, 0.9600880909429714, 0.9601279838995496,
- 0.9601678369821147, 0.9602076502305217, 0.960247423684586,
- 0.9602871573840829, 0.9603268513687482, 0.9603665056782777,
- 0.9604061203523281, 0.9604456954305156, 0.9604852309524174,
- 0.9605247269575712, 0.9605641834854747, 0.9606036005755866,
- 0.9606429782673258, 0.9606823166000722, 0.9607216156131659,
- 0.960760875345908, 0.9608000958375601, 0.9608392771273447,
- 0.9608784192544451, 0.9609175222580052, 0.9609565861771302,
- 0.9609956110508859, 0.9610345969182992, 0.9610735438183576,
- 0.9611124517900103, 0.9611513208721671, 0.9611901511036991,
- 0.9612289425234383, 0.9612676951701782, 0.9613064090826733,
- 0.9613450842996396, 0.9613837208597541, 0.9614223188016553,
- 0.9614608781639432, 0.9614993989851791, 0.9615378813038855,
- 0.961576325158547, 0.961614730587609, 0.9616530976294793,
- 0.9616914263225265, 0.9617297167050812, 0.961767968815436,
- 0.9618061826918447, 0.9618443583725231, 0.9618824958956489,
- 0.9619205952993615, 0.9619586566217622, 0.9619966799009141,
- 0.9620346651748426, 0.9620726124815346, 0.9621105218589396,
- 0.9621483933449688, 0.9621862269774956, 0.9622240227943553,
- 0.9622617808333459, 0.9622995011322271, 0.9623371837287212,
- 0.9623748286605127, 0.9624124359652485, 0.9624500056805375,
- 0.9624875378439517, 0.9625250324930248, 0.9625624896652534,
- 0.9625999093980967, 0.9626372917289762, 0.962674636695276,
- 0.9627119443343432, 0.9627492146834871, 0.9627864477799798,
- 0.9628236436610567, 0.962860802363915, 0.9628979239257157,
- 0.9629350083835821, 0.9629720557746004, 0.9630090661358199,
- 0.9630460395042529, 0.9630829759168746, 0.9631198754106232,
- 0.9631567380224, 0.9631935637890695, 0.9632303527474594,
- 0.9632671049343604, 0.9633038203865266, 0.9633404991406752,
- 0.9633771412334868, 0.9634137467016054, 0.9634503155816384,
- 0.9634868479101563, 0.9635233437236933, 0.963559803058747,
- 0.9635962259517787, 0.9636326124392132, 0.9636689625574386,
- 0.9637052763428069, 0.9637415538316336, 0.9637777950601983,
- 0.9638140000647438, 0.9638501688814769, 0.9638863015465684,
- 0.9639223980961527, 0.9639584585663281, 0.9639944829931569,
- 0.9640304714126654, 0.9640664238608437, 0.9641023403736462,
- 0.9641382209869911, 0.9641740657367608, 0.9642098746588019,
- 0.9642456477889251, 0.9642813851629054, 0.9643170868164818,
- 0.9643527527853578, 0.9643883831052014, 0.9644239778116442,
- 0.9644595369402832, 0.964495060526679, 0.964530548606357,
- 0.9645660012148072, 0.9646014183874839, 0.964636800159806,
- 0.964672146567157, 0.9647074576448853, 0.9647427334283036,
- 0.9647779739526894, 0.9648131792532851, 0.9648483493652977,
- 0.964883484323899, 0.9649185841642259, 0.96495364892138,
- 0.9649886786304276, 0.9650236733264003, 0.9650586330442945,
- 0.9650935578190717, 0.9651284476856584, 0.9651633026789463,
- 0.965198122833792, 0.9652329081850176, 0.9652676587674099,
- 0.9653023746157215, 0.9653370557646699, 0.965371702248938,
- 0.9654063141031739, 0.9654408913619912, 0.965475434059969,
- 0.9655099422316518, 0.9655444159115493, 0.965578855134137,
- 0.9656132599338558, 0.9656476303451124, 0.9656819664022788,
- 0.9657162681396926, 0.9657505355916576, 0.9657847687924427,
- 0.965818967776283, 0.965853132577379, 0.9658872632298974,
- 0.9659213597679704, 0.9659554222256964, 0.9659894506371396,
- 0.9660234450363299, 0.9660574054572635, 0.9660913319339025,
- 0.9661252245001752, 0.9661590831899757, 0.9661929080371645,
- 0.9662266990755681, 0.9662604563389793, 0.966294179861157,
- 0.9663278696758262, 0.9663615258166788, 0.9663951483173723,
- 0.966428737211531, 0.9664622925327455, 0.9664958143145729,
- 0.9665293025905365, 0.9665627573941263, 0.9665961787587988,
- 0.966629566717977, 0.9666629213050505, 0.9666962425533756,
- 0.9667295304962753, 0.9667627851670392, 0.9667960065989235,
- 0.9668291948251513, 0.9668623498789126, 0.9668954717933641,
- 0.9669285606016293, 0.9669616163367988, 0.9669946390319298,
- 0.9670276287200469, 0.9670605854341412, 0.9670935092071712,
- 0.9671264000720622, 0.9671592580617068, 0.9671920832089647,
- 0.9672248755466625, 0.9672576351075943, 0.9672903619245214,
- 0.9673230560301721, 0.9673557174572422, 0.9673883462383949,
- 0.9674209424062603, 0.9674535059934364, 0.9674860370324885,
- 0.967518535555949, 0.9675510015963183, 0.967583435186064,
- 0.9676158363576213, 0.967648205143393, 0.9676805415757495,
- 0.9677128456870288, 0.9677451175095366, 0.9677773570755466,
- 0.9678095644172997, 0.9678417395670049, 0.9678738825568391,
- 0.9679059934189468, 0.9679380721854405, 0.9679701188884005,
- 0.9680021335598752, 0.9680341162318808, 0.9680660669364016,
- 0.9680979857053901, 0.9681298725707663, 0.9681617275644189,
- 0.9681935507182045, 0.9682253420639476, 0.9682571016334415,
- 0.9682888294584471, 0.9683205255706939, 0.9683521900018797,
- 0.9683838227836703, 0.9684154239477002, 0.9684469935255722,
- 0.9684785315488573, 0.9685100380490952, 0.968541513057794,
- 0.9685729566064303, 0.9686043687264491, 0.9686357494492642,
- 0.9686670988062578, 0.968698416828781, 0.9687297035481532,
- 0.9687609589956628, 0.9687921832025668, 0.9688233762000908,
- 0.9688545380194298, 0.9688856686917466, 0.968916768248174,
- 0.9689478367198127, 0.9689788741377328, 0.9690098805329734,
- 0.9690408559365423, 0.9690718003794166, 0.9691027138925423,
- 0.9691335965068344, 0.969164448253177, 0.9691952691624235,
- 0.9692260592653962, 0.9692568185928869, 0.9692875471756565,
- 0.9693182450444349, 0.9693489122299217, 0.9693795487627855,
- 0.9694101546736645, 0.9694407299931661, 0.9694712747518671,
- 0.9695017889803138, 0.969532272709022, 0.9695627259684769,
- 0.9695931487891333, 0.9696235412014156, 0.9696539032357177,
- 0.9696842349224031, 0.9697145362918049, 0.9697448073742264,
- 0.9697750481999398, 0.9698052587991876, 0.9698354392021818,
- 0.9698655894391046, 0.9698957095401075, 0.969925799535312,
- 0.9699558594548099, 0.9699858893286625, 0.9700158891869011,
- 0.9700458590595271, 0.970075798976512, 0.970105708967797,
- 0.9701355890632939, 0.9701654392928839, 0.970195259686419,
- 0.970225050273721, 0.970254811084582, 0.9702845421487643,
- 0.9703142434960004, 0.9703439151559932, 0.9703735571584158,
- 0.9704031695329117, 0.9704327523090949, 0.9704623055165494,
- 0.97049182918483, 0.970521323343462, 0.9705507880219407,
- 0.9705802232497326, 0.9706096290562742, 0.9706390054709729,
- 0.9706683525232065, 0.9706976702423235, 0.9707269586576431,
- 0.9707562177984552, 0.9707854476940205, 0.9708146483735702,
- 0.9708438198663066, 0.9708729622014026, 0.9709020754080019,
- 0.9709311595152192, 0.9709602145521401, 0.9709892405478212,
- 0.9710182375312897, 0.9710472055315442, 0.9710761445775542,
- 0.97110505469826, 0.9711339359225735, 0.971162788279377,
- 0.9711916117975244, 0.9712204065058408, 0.9712491724331224,
- 0.9712779096081362, 0.9713066180596213, 0.9713352978162871,
- 0.9713639489068152, 0.9713925713598579, 0.9714211652040392,
- 0.9714497304679544, 0.9714782671801699, 0.9715067753692243,
- 0.9715352550636268, 0.9715637062918587, 0.9715921290823728,
- 0.9716205234635931, 0.9716488894639155, 0.9716772271117072,
- 0.9717055364353077, 0.9717338174630274, 0.9717620702231489,
- 0.9717902947439263, 0.9718184910535854, 0.9718466591803243,
- 0.9718747991523122, 0.9719029109976907, 0.9719309947445728,
- 0.9719590504210439, 0.9719870780551609, 0.972015077674953,
- 0.9720430493084211, 0.9720709929835383, 0.9720989087282497,
- 0.9721267965704723, 0.9721546565380955, 0.9721824886589806,
- 0.9722102929609611, 0.9722380694718427, 0.9722658182194033,
- 0.9722935392313931, 0.9723212325355344, 0.972348898159522,
- 0.9723765361310227, 0.9724041464776761, 0.9724317292270939,
- 0.97245928440686, 0.9724868120445312, 0.9725143121676365,
- 0.9725417848036774, 0.9725692299801277, 0.9725966477244341,
- 0.9726240380640159, 0.9726514010262645, 0.9726787366385443,
- 0.9727060449281925, 0.9727333259225185, 0.9727605796488048,
- 0.9727878061343064, 0.9728150054062513, 0.97284217749184,
- 0.972869322418246, 0.9728964402126155, 0.9729235309020677,
- 0.9729505945136948, 0.9729776310745616, 0.9730046406117061,
- 0.9730316231521391, 0.9730585787228445, 0.9730855073507793,
- 0.9731124090628733, 0.9731392838860299, 0.973166131847125,
- 0.9731929529730079, 0.9732197472905011, 0.9732465148264003,
- 0.9732732556074746, 0.9732999696604656, 0.9733266570120892,
- 0.9733533176890338, 0.9733799517179614, 0.9734065591255076,
- 0.9734331399382808, 0.9734596941828635, 0.973486221885811,
- 0.9735127230736524, 0.9735391977728904, 0.9735656460100008,
- 0.9735920678114333, 0.9736184632036109, 0.9736448322129304,
- 0.973671174865762, 0.97369749118845, 0.9737237812073116,
- 0.9737500449486385, 0.9737762824386956, 0.9738024937037217,
- 0.9738286787699294, 0.973854837663505, 0.9738809704106088,
- 0.9739070770373749, 0.9739331575699112, 0.9739592120342994,
- 0.9739852404565954, 0.9740112428628289, 0.9740372192790037,
- 0.9740631697310973, 0.9740890942450617, 0.9741149928468226,
- 0.9741408655622797, 0.9741667124173073, 0.9741925334377536,
- 0.9742183286494406, 0.974244098078165, 0.9742698417496974,
- 0.974295559689783, 0.9743212519241409, 0.9743469184784644,
- 0.9743725593784217, 0.9743981746496548, 0.9744237643177803,
- 0.974449328408389, 0.9744748669470465, 0.9745003799592925,
- 0.9745258674706414, 0.9745513295065817, 0.974576766092577,
- 0.9746021772540651, 0.9746275630164584, 0.9746529234051439,
- 0.9746782584454833, 0.9747035681628129, 0.9747288525824436,
- 0.9747541117296613, 0.9747793456297262, 0.9748045543078736,
- 0.9748297377893134, 0.9748548960992303, 0.9748800292627838,
- 0.9749051373051085, 0.9749302202513137, 0.9749552781264835,
- 0.974980310955677, 0.9750053187639284, 0.9750303015762467,
- 0.9750552594176158, 0.9750801923129951, 0.9751051002873187,
- 0.9751299833654956, 0.9751548415724102, 0.975179674932922,
- 0.9752044834718657, 0.9752292672140509, 0.9752540261842627,
- 0.9752787604072614, 0.9753034699077822, 0.9753281547105359,
- 0.9753528148402087, 0.975377450321462, 0.9754020611789322,
- 0.9754266474372317, 0.9754512091209478, 0.9754757462546435,
- 0.9755002588628573, 0.9755247469701027, 0.9755492106008693,
- 0.9755736497796219, 0.9755980645308009, 0.9756224548788222,
- 0.9756468208480774, 0.9756711624629337, 0.9756954797477341,
- 0.9757197727267968, 0.9757440414244162, 0.9757682858648621,
- 0.9757925060723803, 0.9758167020711921, 0.9758408738854948,
- 0.9758650215394612, 0.9758891450572404, 0.9759132444629572,
- 0.975937319780712, 0.9759613710345814, 0.9759853982486177,
- 0.9760094014468497, 0.9760333806532815, 0.9760573358918936,
- 0.9760812671866423, 0.9761051745614603, 0.9761290580402561,
- 0.9761529176469144, 0.9761767534052959, 0.9762005653392375,
- 0.9762243534725525, 0.9762481178290303, 0.9762718584324361,
- 0.9762955753065121, 0.9763192684749761, 0.9763429379615225,
- 0.976366583789822, 0.9763902059835216, 0.9764138045662447,
- 0.976437379561591, 0.9764609309931368, 0.9764844588844346,
- 0.9765079632590135, 0.976531444140379, 0.9765549015520133,
- 0.9765783355173748, 0.9766017460598988, 0.9766251332029969,
- 0.9766484969700576, 0.9766718373844456, 0.9766951544695026,
- 0.9767184482485469, 0.9767417187448734, 0.9767649659817537,
- 0.9767881899824362, 0.9768113907701461, 0.9768345683680855,
- 0.9768577227994328, 0.976880854087344, 0.9769039622549514,
- 0.9769270473253642, 0.9769501093216687, 0.976973148266928,
- 0.9769961641841823, 0.9770191570964487, 0.9770421270267212,
- 0.9770650739979708, 0.9770879980331457, 0.9771108991551711,
- 0.9771337773869494, 0.9771566327513597, 0.9771794652712585,
- 0.9772022749694799, 0.9772250618688342, 0.9772478259921098,
- 0.9772705673620717, 0.9772932860014627, 0.9773159819330024,
- 0.9773386551793879, 0.9773613057632935, 0.9773839337073711,
- 0.9774065390342496, 0.9774291217665356, 0.9774516819268129,
- 0.9774742195376427, 0.977496734621564, 0.9775192272010926,
- 0.9775416972987226, 0.9775641449369251, 0.9775865701381488,
- 0.97760897292482, 0.9776313533193427, 0.9776537113440984,
- 0.9776760470214462, 0.9776983603737229, 0.977720651423243,
- 0.9777429201922987, 0.9777651667031598, 0.977787390978074,
- 0.9778095930392666, 0.977831772908941, 0.9778539306092778,
- 0.977876066162436, 0.9778981795905525, 0.9779202709157415,
- 0.9779423401600955, 0.9779643873456849, 0.9779864124945581,
- 0.9780084156287411, 0.9780303967702384, 0.978052355941032,
- 0.9780742931630824, 0.9780962084583277, 0.9781181018486845,
- 0.9781399733560472, 0.9781618230022883, 0.9781836508092586,
- 0.9782054567987871, 0.9782272409926809, 0.9782490034127251,
- 0.9782707440806833, 0.9782924630182973, 0.9783141602472871,
- 0.978335835789351, 0.9783574896661656, 0.9783791218993859,
- 0.9784007325106453, 0.9784223215215553, 0.9784438889537062,
- 0.9784654348286663, 0.9784869591679828, 0.9785084619931809,
- 0.9785299433257645, 0.9785514031872162, 0.9785728415989968,
- 0.9785942585825458, 0.9786156541592813, 0.9786370283506,
- 0.978658381177877, 0.9786797126624662, 0.9787010228257004,
- 0.9787223116888905, 0.9787435792733267, 0.9787648256002774,
- 0.9787860506909902, 0.9788072545666913, 0.9788284372485855,
- 0.9788495987578565, 0.9788707391156669, 0.9788918583431582,
- 0.9789129564614506, 0.9789340334916433, 0.9789550894548145,
- 0.9789761243720211, 0.978997138264299, 0.9790181311526632,
- 0.9790391030581078, 0.9790600540016056, 0.9790809840041086,
- 0.9791018930865478, 0.9791227812698335, 0.9791436485748548,
- 0.9791644950224802, 0.9791853206335569, 0.9792061254289117,
- 0.9792269094293505, 0.9792476726556584, 0.9792684151285995,
- 0.9792891368689174, 0.9793098378973348, 0.979330518234554,
- 0.979351177901256, 0.9793718169181018, 0.9793924353057314,
- 0.979413033084764, 0.9794336102757988, 0.9794541668994137,
- 0.9794747029761663, 0.979495218526594, 0.9795157135712134,
- 0.9795361881305202, 0.9795566422249903, 0.9795770758750786,
- 0.97959748910122, 0.9796178819238286, 0.9796382543632982,
- 0.9796586064400025, 0.9796789381742943, 0.9796992495865066,
- 0.9797195406969517, 0.9797398115259216, 0.9797600620936885,
- 0.9797802924205036, 0.9798005025265984, 0.9798206924321842,
- 0.9798408621574517, 0.9798610117225717, 0.9798811411476946,
- 0.9799012504529511, 0.9799213396584514, 0.9799414087842857,
- 0.9799614578505241, 0.9799814868772169, 0.9800014958843938,
- 0.980021484892065, 0.9800414539202204, 0.98006140298883,
- 0.9800813321178442, 0.9801012413271928, 0.980121130636786,
- 0.9801410000665143, 0.9801608496362479, 0.9801806793658376,
- 0.980200489275114, 0.980220279383888, 0.9802400497119508,
- 0.9802598002790734, 0.9802795311050079, 0.9802992422094856,
- 0.9803189336122188, 0.9803386053328998, 0.9803582573912015,
- 0.9803778898067769, 0.9803975025992593, 0.9804170957882624,
- 0.9804366693933806, 0.9804562234341883, 0.9804757579302406,
- 0.9804952729010729, 0.9805147683662011, 0.9805342443451219,
- 0.9805537008573121, 0.9805731379222291, 0.9805925555593111,
- 0.9806119537879766, 0.9806313326276249, 0.9806506920976357,
- 0.9806700322173695, 0.9806893530061673, 0.980708654483351,
- 0.9807279366682229, 0.9807471995800663, 0.980766443238145,
- 0.9807856676617036, 0.9808048728699674, 0.9808240588821429,
- 0.9808432257174167, 0.9808623733949567, 0.9808815019339117,
- 0.980900611353411, 0.9809197016725651, 0.9809387729104653,
- 0.9809578250861836, 0.9809768582187732, 0.9809958723272685,
- 0.9810148674306841, 0.9810338435480163, 0.9810528006982421,
- 0.9810717389003196, 0.9810906581731881, 0.9811095585357675,
- 0.9811284400069595, 0.9811473026056462, 0.9811661463506913,
- 0.9811849712609395, 0.9812037773552166, 0.9812225646523296,
- 0.9812413331710668, 0.9812600829301976, 0.9812788139484727,
- 0.9812975262446242, 0.9813162198373652, 0.9813348947453903,
- 0.9813535509873752, 0.9813721885819772, 0.9813908075478348,
- 0.981409407903568, 0.9814279896677779, 0.9814465528590472,
- 0.9814650974959402, 0.9814836235970025, 0.9815021311807608,
- 0.981520620265724, 0.9815390908703817, 0.9815575430132057,
- 0.9815759767126492, 0.9815943919871465, 0.9816127888551139,
- 0.9816311673349494, 0.981649527445032, 0.9816678692037231,
- 0.9816861926293652, 0.9817044977402827, 0.9817227845547816,
- 0.9817410530911496, 0.9817593033676563, 0.9817775354025526,
- 0.9817957492140718, 0.9818139448204283, 0.9818321222398189,
- 0.9818502814904216, 0.981868422590397, 0.9818865455578868,
- 0.9819046504110148, 0.981922737167887, 0.981940805846591,
- 0.9819588564651963, 0.9819768890417545, 0.9819949035942991,
- 0.9820129001408454, 0.982030878699391, 0.9820488392879153,
- 0.9820667819243798, 0.9820847066267281, 0.9821026134128856,
- 0.9821205023007602, 0.9821383733082416, 0.9821562264532018,
- 0.9821740617534945, 0.9821918792269564, 0.9822096788914054,
- 0.9822274607646424, 0.98224522486445, 0.9822629712085932,
- 0.9822806998148191, 0.9822984107008575, 0.98231610388442,
- 0.9823337793832007, 0.9823514372148759, 0.9823690773971044,
- 0.9823866999475273, 0.982404304883768, 0.9824218922234321,
- 0.9824394619841083, 0.9824570141833667, 0.9824745488387608,
- 0.982492065967826, 0.9825095655880802, 0.9825270477170239,
- 0.9825445123721404, 0.9825619595708949, 0.9825793893307355,
- 0.9825968016690929, 0.9826141966033805, 0.9826315741509938,
- 0.9826489343293114, 0.9826662771556943, 0.9826836026474861,
- 0.9827009108220134, 0.982718201696585, 0.9827354752884928,
- 0.9827527316150111, 0.9827699706933972, 0.9827871925408911,
- 0.9828043971747153, 0.9828215846120756, 0.98283875487016,
- 0.9828559079661399, 0.9828730439171689, 0.9828901627403841,
- 0.9829072644529051, 0.9829243490718345, 0.9829414166142576,
- 0.9829584670972431, 0.982975500537842, 0.9829925169530889,
- 0.9830095163600009, 0.9830264987755782, 0.9830434642168042,
- 0.9830604127006453, 0.9830773442440505, 0.9830942588639524,
- 0.9831111565772664, 0.9831280374008912, 0.9831449013517083,
- 0.9831617484465826, 0.9831785787023619, 0.9831953921358775,
- 0.9832121887639435, 0.9832289686033575, 0.9832457316709001,
- 0.9832624779833352, 0.98327920755741, 0.9832959204098549,
- 0.9833126165573836, 0.983329296016693, 0.9833459588044636,
- 0.9833626049373588, 0.9833792344320257, 0.9833958473050944,
- 0.9834124435731789, 0.9834290232528763, 0.9834455863607668,
- 0.9834621329134147, 0.9834786629273671, 0.983495176419155,
- 0.9835116734052926, 0.9835281539022778, 0.983544617926592,
- 0.9835610654946999, 0.9835774966230499, 0.983593911328074,
- 0.9836103096261878, 0.9836266915337903, 0.9836430570672643,
- 0.9836594062429761, 0.9836757390772757, 0.9836920555864969,
- 0.9837083557869567, 0.9837246396949564, 0.9837409073267807,
- 0.983757158698698, 0.9837733938269604, 0.9837896127278039,
- 0.9838058154174483, 0.9838220019120969, 0.9838381722279372,
- 0.9838543263811403, 0.9838704643878611, 0.9838865862642384,
- 0.983902692026395, 0.9839187816904373, 0.9839348552724559,
- 0.9839509127885252, 0.9839669542547035, 0.9839829796870329,
- 0.9839989891015398, 0.9840149825142345, 0.9840309599411109,
- 0.9840469213981475, 0.9840628669013066, 0.9840787964665343,
- 0.9840947101097611, 0.9841106078469013, 0.9841264896938536,
- 0.9841423556665005, 0.9841582057807089, 0.9841740400523297,
- 0.9841898584971978, 0.9842056611311325, 0.9842214479699374,
- 0.9842372190293999, 0.984252974325292, 0.9842687138733697,
- 0.9842844376893733, 0.9843001457890276, 0.9843158381880414,
- 0.9843315149021077, 0.9843471759469041, 0.9843628213380926,
- 0.9843784510913193, 0.9843940652222145, 0.9844096637463934,
- 0.9844252466794552, 0.9844408140369836, 0.9844563658345468,
- 0.9844719020876973, 0.9844874228119721, 0.9845029280228929,
- 0.9845184177359654, 0.9845338919666803, 0.9845493507305125,
- 0.9845647940429216, 0.9845802219193517, 0.9845956343752315,
- 0.984611031425974, 0.9846264130869772, 0.9846417793736235,
- 0.98465713030128, 0.9846724658852982, 0.9846877861410148,
- 0.9847030910837505, 0.9847183807288112, 0.9847336550914872,
- 0.9847489141870537, 0.9847641580307706, 0.9847793866378823,
- 0.9847946000236184, 0.9848097982031929, 0.9848249811918048,
- 0.9848401490046379, 0.9848553016568607, 0.9848704391636267,
- 0.984885561540074, 0.9849006688013259, 0.9849157609624903,
- 0.9849308380386602, 0.9849459000449133, 0.9849609469963125,
- 0.9849759789079056, 0.9849909957947249, 0.9850059976717884,
- 0.9850209845540986, 0.9850359564566431, 0.9850509133943947,
- 0.9850658553823107, 0.9850807824353344, 0.9850956945683931,
- 0.9851105917963999, 0.9851254741342528, 0.9851403415968348,
- 0.9851551941990142, 0.9851700319556443, 0.9851848548815636,
- 0.9851996629915957, 0.9852144563005495, 0.9852292348232191,
- 0.9852439985743838, 0.9852587475688079, 0.9852734818212413,
- 0.9852882013464189, 0.9853029061590611, 0.9853175962738733,
- 0.9853322717055464, 0.9853469324687566, 0.9853615785781653,
- 0.9853762100484195, 0.9853908268941513, 0.9854054291299782,
- 0.9854200167705033, 0.985434589830315, 0.9854491483239869,
- 0.9854636922660783, 0.9854782216711341, 0.9854927365536841,
- 0.9855072369282442, 0.9855217228093152, 0.9855361942113839,
- 0.9855506511489224, 0.9855650936363883, 0.9855795216882249,
- 0.9855939353188611, 0.9856083345427109, 0.9856227193741744,
- 0.9856370898276373, 0.9856514459174707, 0.9856657876580313,
- 0.9856801150636616, 0.9856944281486897, 0.9857087269274295,
- 0.9857230114141805, 0.9857372816232278, 0.9857515375688424,
- 0.9857657792652809, 0.9857800067267858, 0.9857942199675851,
- 0.985808419001893, 0.985822603843909, 0.9858367745078188,
- 0.9858509310077938, 0.9858650733579911, 0.9858792015725538,
- 0.9858933156656108, 0.985907415651277, 0.985921501543653,
- 0.9859355733568254, 0.9859496311048668, 0.9859636748018354,
- 0.985977704461776, 0.9859917200987187, 0.9860057217266799,
- 0.9860197093596619, 0.986033683011653, 0.9860476426966276,
- 0.9860615884285462, 0.986075520221355, 0.9860894380889866,
- 0.9861033420453598, 0.9861172321043788, 0.9861311082799347,
- 0.9861449705859042, 0.9861588190361503, 0.9861726536445223,
- 0.9861864744248554, 0.9862002813909709, 0.9862140745566769,
- 0.9862278539357668, 0.9862416195420209, 0.9862553713892055,
- 0.9862691094910729, 0.9862828338613623, 0.9862965445137984,
- 0.9863102414620928, 0.9863239247199429, 0.9863375943010327,
- 0.9863512502190327, 0.9863648924875992, 0.9863785211203753,
- 0.9863921361309902, 0.9864057375330597, 0.986419325340186,
- 0.9864328995659574, 0.9864464602239488, 0.9864600073277215,
- 0.9864735408908235, 0.986487060926789, 0.9865005674491385,
- 0.9865140604713794, 0.9865275400070052, 0.9865410060694964,
- 0.9865544586723194, 0.9865678978289277, 0.9865813235527612,
- 0.986594735857246, 0.9866081347557953, 0.9866215202618087,
- 0.9866348923886723, 0.9866482511497588, 0.9866615965584278,
- 0.9866749286280253, 0.986688247371884, 0.9867015528033234,
- 0.9867148449356495, 0.9867281237821551, 0.9867413893561199,
- 0.98675464167081, 0.9867678807394782, 0.9867811065753644,
- 0.9867943191916952, 0.9868075186016838, 0.9868207048185303,
- 0.9868338778554214, 0.9868470377255311, 0.9868601844420196,
- 0.9868733180180345, 0.98688643846671, 0.986899545801167,
- 0.9869126400345138, 0.9869257211798451, 0.9869387892502428,
- 0.9869518442587756, 0.9869648862184991, 0.9869779151424559,
- 0.9869909310436757, 0.987003933935175, 0.9870169238299573,
- 0.9870299007410132, 0.9870428646813201, 0.9870558156638428,
- 0.9870687537015329, 0.987081678807329, 0.9870945909941569,
- 0.9871074902749294, 0.9871203766625465, 0.9871332501698951,
- 0.9871461108098495, 0.9871589585952708, 0.9871717935390077,
- 0.9871846156538956, 0.9871974249527573, 0.9872102214484026,
- 0.9872230051536289, 0.9872357760812205, 0.9872485342439488,
- 0.9872612796545726, 0.9872740123258381, 0.9872867322704785,
- 0.9872994395012145, 0.9873121340307538, 0.9873248158717918,
- 0.9873374850370107, 0.9873501415390804, 0.9873627853906581,
- 0.9873754166043884, 0.9873880351929029, 0.9874006411688209,
- 0.987413234544749, 0.9874258153332813, 0.9874383835469991,
- 0.9874509391984714, 0.9874634823002543, 0.9874760128648915,
- 0.9874885309049144, 0.9875010364328416, 0.9875135294611792,
- 0.9875260100024209, 0.9875384780690477, 0.9875509336735286,
- 0.9875633768283196, 0.9875758075458645, 0.9875882258385947,
- 0.9876006317189291, 0.9876130251992742, 0.9876254062920241,
- 0.9876377750095605, 0.9876501313642527, 0.9876624753684577,
- 0.9876748070345203, 0.9876871263747725, 0.9876994334015344,
- 0.9877117281271136, 0.9877240105638055, 0.9877362807238932,
- 0.9877485386196473, 0.9877607842633264, 0.9877730176671767,
- 0.9877852388434324, 0.9877974478043151, 0.9878096445620345,
- 0.9878218291287878, 0.9878340015167603, 0.987846161738125,
- 0.9878583098050427, 0.9878704457296622, 0.9878825695241198,
- 0.98789468120054, 0.9879067807710352, 0.9879188682477055,
- 0.9879309436426388, 0.9879430069679114, 0.987955058235587,
- 0.9879670974577176, 0.987979124646343, 0.987991139813491,
- 0.9880031429711773, 0.9880151341314057, 0.988027113306168,
- 0.9880390805074439, 0.9880510357472013, 0.988062979037396,
- 0.9880749103899719, 0.9880868298168608, 0.9880987373299829,
- 0.9881106329412462, 0.988122516662547, 0.9881343885057696,
- 0.9881462484827863, 0.988158096605458, 0.988169932885633,
- 0.9881817573351485, 0.9881935699658293, 0.9882053707894889,
- 0.9882171598179285, 0.9882289370629377, 0.9882407025362944,
- 0.9882524562497647, 0.9882641982151028, 0.9882759284440514,
- 0.9882876469483413, 0.9882993537396915, 0.9883110488298094,
- 0.9883227322303907, 0.9883344039531193, 0.9883460640096676,
- 0.9883577124116962, 0.9883693491708542, 0.9883809742987788,
- 0.9883925878070957, 0.9884041897074192, 0.9884157800113514,
- 0.9884273587304836, 0.9884389258763949, 0.988450481460653,
- 0.9884620254948141, 0.9884735579904228, 0.9884850789590122,
- 0.9884965884121037, 0.9885080863612077, 0.9885195728178223,
- 0.9885310477934348, 0.9885425112995208, 0.988553963347544,
- 0.9885654039489574, 0.9885768331152021, 0.9885882508577076,
- 0.9885996571878926, 0.9886110521171636, 0.9886224356569164,
- 0.988633807818535, 0.9886451686133921, 0.9886565180528493,
- 0.9886678561482563, 0.9886791829109518, 0.9886904983522632,
- 0.9887018024835066, 0.9887130953159865, 0.9887243768609966,
- 0.9887356471298187, 0.9887469061337236, 0.9887581538839713,
- 0.9887693903918097, 0.988780615668476, 0.988791829725196,
- 0.9888030325731845, 0.9888142242236446, 0.9888254046877688,
- 0.988836573976738, 0.9888477321017219, 0.9888588790738796,
- 0.9888700149043582, 0.9888811396042942, 0.9888922531848131,
- 0.9889033556570287, 0.9889144470320442, 0.9889255273209516,
- 0.9889365965348316, 0.988947654684754, 0.9889587017817776,
- 0.9889697378369499, 0.9889807628613076, 0.9889917768658762,
- 0.9890027798616704, 0.9890137718596937, 0.9890247528709386,
- 0.9890357229063866, 0.9890466819770084, 0.9890576300937636,
- 0.9890685672676007, 0.9890794935094577, 0.9890904088302612,
- 0.9891013132409272, 0.9891122067523606, 0.9891230893754552,
- 0.9891339611210946, 0.9891448220001509, 0.9891556720234855,
- 0.989166511201949, 0.989177339546381, 0.9891881570676105,
- 0.9891989637764557, 0.9892097596837236, 0.9892205448002107,
- 0.9892313191367028, 0.9892420827039746, 0.9892528355127904,
- 0.9892635775739034, 0.9892743088980562, 0.9892850294959807,
- 0.9892957393783981, 0.9893064385560187, 0.9893171270395423,
- 0.9893278048396579, 0.9893384719670437, 0.9893491284323677,
- 0.9893597742462864, 0.9893704094194467, 0.9893810339624839,
- 0.9893916478860232, 0.989402251200679, 0.9894128439170553,
- 0.9894234260457453, 0.9894339975973315, 0.9894445585823862,
- 0.9894551090114708, 0.9894656488951362, 0.989476178243923,
- 0.9894866970683608, 0.9894972053789692, 0.9895077031862569,
- 0.9895181905007223, 0.9895286673328533, 0.9895391336931271,
- 0.9895495895920107, 0.9895600350399604, 0.9895704700474223,
- 0.9895808946248319, 0.9895913087826141, 0.989601712531184,
- 0.9896121058809455, 0.9896224888422926, 0.9896328614256089,
- 0.9896432236412673, 0.9896535754996306, 0.9896639170110513,
- 0.9896742481858712, 0.9896845690344223, 0.9896948795670256,
- 0.9897051797939924, 0.9897154697256234, 0.9897257493722089,
- 0.9897360187440293, 0.9897462778513544, 0.9897565267044437,
- 0.9897667653135467, 0.9897769936889025, 0.9897872118407399,
- 0.9897974197792777, 0.9898076175147242, 0.9898178050572778,
- 0.9898279824171264, 0.989838149604448, 0.9898483066294104,
- 0.9898584535021707, 0.9898685902328768, 0.9898787168316655,
- 0.9898888333086643, 0.9898989396739899, 0.9899090359377491,
- 0.9899191221100391, 0.9899291982009462, 0.989939264220547,
- 0.9899493201789082, 0.9899593660860863, 0.9899694019521275,
- 0.9899794277870683, 0.9899894436009349, 0.9899994494037438,
- 0.9900094452055012, 0.9900194310162035, 0.9900294068458368,
- 0.9900393727043777, 0.9900493286017924, 0.9900592745480372,
- 0.9900692105530589, 0.9900791366267935, 0.990089052779168,
- 0.9900989590200988, 0.9901088553594928, 0.9901187418072468,
- 0.9901286183732476, 0.9901384850673723, 0.9901483418994883,
- 0.9901581888794527, 0.9901680260171132, 0.9901778533223071,
- 0.9901876708048625, 0.9901974784745972, 0.9902072763413193,
- 0.9902170644148274, 0.9902268427049099, 0.9902366112213457,
- 0.9902463699739036, 0.990256118972343, 0.9902658582264133,
- 0.9902755877458543, 0.9902853075403961, 0.9902950176197588,
- 0.990304717993653, 0.9903144086717797, 0.9903240896638299,
- 0.9903337609794852, 0.9903434226284173, 0.9903530746202884,
- 0.990362716964751, 0.9903723496714477, 0.990381972750012,
- 0.9903915862100674, 0.9904011900612276, 0.9904107843130973,
- 0.9904203689752709, 0.9904299440573336, 0.9904395095688613,
- 0.9904490655194195, 0.990458611918565, 0.9904681487758444,
- 0.9904776761007953, 0.9904871939029453, 0.9904967021918127,
- 0.9905062009769064, 0.9905156902677256, 0.99052517007376,
- 0.9905346404044899, 0.9905441012693862, 0.9905535526779101,
- 0.9905629946395136, 0.990572427163639, 0.9905818502597195,
- 0.9905912639371784, 0.9906006682054301, 0.9906100630738793,
- 0.9906194485519212, 0.9906288246489419, 0.9906381913743177,
- 0.9906475487374162, 0.9906568967475949, 0.9906662354142024,
- 0.9906755647465779, 0.990684884754051, 0.9906941954459425,
- 0.9907034968315632, 0.9907127889202152, 0.990722071721191,
- 0.9907313452437737, 0.9907406094972375, 0.990749864490847,
- 0.9907591102338578, 0.9907683467355158, 0.9907775740050584,
- 0.9907867920517129, 0.9907960008846981, 0.9908052005132233,
- 0.9908143909464884, 0.9908235721936843, 0.9908327442639928,
- 0.9908419071665866, 0.9908510609106287, 0.9908602055052735,
- 0.9908693409596662, 0.9908784672829424, 0.990887584484229,
- 0.9908966925726438, 0.9909057915572952, 0.9909148814472826,
- 0.9909239622516964, 0.9909330339796181, 0.9909420966401195,
- 0.9909511502422638, 0.9909601947951052, 0.9909692303076887,
- 0.99097825678905, 0.9909872742482164, 0.9909962826942057,
- 0.9910052821360267, 0.9910142725826793, 0.9910232540431544,
- 0.9910322265264339, 0.9910411900414908, 0.9910501445972891,
- 0.9910590902027837, 0.9910680268669207, 0.9910769545986372,
- 0.9910858734068615, 0.9910947833005126, 0.991103684288501,
- 0.9911125763797282, 0.9911214595830866, 0.9911303339074599,
- 0.9911391993617228, 0.9911480559547413, 0.9911569036953725,
- 0.9911657425924644, 0.9911745726548564, 0.9911833938913791,
- 0.991192206310854, 0.9912010099220943, 0.9912098047339036,
- 0.9912185907550775, 0.9912273679944023, 0.9912361364606557,
- 0.9912448961626066, 0.9912536471090152, 0.9912623893086328,
- 0.9912711227702021, 0.991279847502457, 0.9912885635141226,
- 0.9912972708139155, 0.9913059694105433, 0.991314659312705,
- 0.9913233405290911, 0.9913320130683831, 0.9913406769392541,
- 0.9913493321503682, 0.9913579787103813, 0.9913666166279402,
- 0.9913752459116834, 0.9913838665702405, 0.9913924786122327,
- 0.9914010820462722, 0.9914096768809633, 0.9914182631249009,
- 0.9914268407866718, 0.9914354098748541, 0.9914439703980173,
- 0.9914525223647225, 0.9914610657835219, 0.9914696006629594,
- 0.9914781270115702, 0.9914866448378814, 0.9914951541504109,
- 0.9915036549576687, 0.9915121472681557, 0.991520631090365,
- 0.9915291064327808, 0.9915375733038786, 0.991546031712126,
- 0.9915544816659816, 0.9915629231738958, 0.9915713562443107,
- 0.9915797808856597, 0.9915881971063678, 0.9915966049148518,
- 0.9916050043195197, 0.9916133953287716, 0.9916217779509986,
- 0.9916301521945841, 0.9916385180679025, 0.9916468755793202,
- 0.9916552247371951, 0.9916635655498768, 0.9916718980257065,
- 0.9916802221730171, 0.9916885380001332, 0.9916968455153711,
- 0.9917051447270385, 0.9917134356434353, 0.9917217182728526,
- 0.9917299926235736, 0.991738258703873, 0.9917465165220174,
- 0.9917547660862649, 0.9917630074048654, 0.9917712404860609,
- 0.9917794653380847, 0.9917876819691621, 0.9917958903875103,
- 0.9918040906013378, 0.9918122826188455, 0.9918204664482256,
- 0.9918286420976626, 0.9918368095753324, 0.991844968889403,
- 0.9918531200480339, 0.9918612630593768, 0.9918693979315752,
- 0.9918775246727644, 0.9918856432910714, 0.9918937537946152,
- 0.9919018561915068, 0.9919099504898491, 0.9919180366977367,
- 0.9919261148232561, 0.991934184874486, 0.9919422468594967,
- 0.9919503007863508, 0.9919583466631026, 0.9919663844977981,
- 0.9919744142984758, 0.9919824360731658, 0.9919904498298904,
- 0.9919984555766637, 0.9920064533214917, 0.9920144430723727,
- 0.9920224248372969, 0.9920303986242462, 0.9920383644411951,
- 0.9920463222961097, 0.9920542721969482, 0.9920622141516608,
- 0.9920701481681902, 0.9920780742544705, 0.9920859924184282,
- 0.992093902667982, 0.9921018050110426, 0.9921096994555125,
- 0.9921175860092868, 0.9921254646802522, 0.9921333354762879,
- 0.9921411984052652, 0.9921490534750471, 0.9921569006934893,
- 0.9921647400684395, 0.9921725716077372, 0.9921803953192145,
- 0.9921882112106954, 0.9921960192899965, 0.9922038195649258,
- 0.9922116120432842, 0.9922193967328647, 0.9922271736414522,
- 0.992234942776824, 0.9922427041467496, 0.9922504577589909,
- 0.9922582036213018, 0.9922659417414286, 0.9922736721271098,
- 0.9922813947860761, 0.9922891097260506, 0.9922968169547486,
- 0.9923045164798778, 0.992312208309138, 0.9923198924502215,
- 0.9923275689108128, 0.9923352376985887, 0.9923428988212184,
- 0.9923505522863635, 0.9923581981016776, 0.9923658362748072,
- 0.9923734668133907, 0.992381089725059, 0.9923887050174354,
- 0.9923963126981357, 0.9924039127747678, 0.9924115052549322,
- 0.9924190901462218, 0.9924266674562219, 0.9924342371925101,
- 0.9924417993626565, 0.9924493539742238, 0.9924569010347669,
- 0.9924644405518332, 0.9924719725329627, 0.9924794969856876,
- 0.9924870139175329, 0.9924945233360157, 0.9925020252486461,
- 0.9925095196629261, 0.9925170065863507, 0.992524486026407,
- 0.9925319579905749, 0.9925394224863268, 0.9925468795211275,
- 0.9925543291024345, 0.9925617712376975, 0.9925692059343594,
- 0.9925766331998549, 0.9925840530416119, 0.9925914654670505,
- 0.9925988704835835, 0.9926062680986163, 0.9926136583195468,
- 0.9926210411537658, 0.9926284166086563, 0.9926357846915943,
- 0.992643145409948, 0.9926504987710788, 0.9926578447823401,
- 0.9926651834510786, 0.9926725147846331, 0.9926798387903354,
- 0.9926871554755099, 0.9926944648474736, 0.9927017669135362,
- 0.9927090616810001, 0.9927163491571607, 0.9927236293493056,
- 0.9927309022647154, 0.9927381679106634, 0.9927454262944155,
- 0.9927526774232306, 0.9927599213043602, 0.9927671579450484,
- 0.9927743873525323, 0.9927816095340417, 0.9927888244967992,
- 0.9927960322480198, 0.992803232794912, 0.9928104261446765,
- 0.992817612304507, 0.9928247912815902, 0.9928319630831052,
- 0.9928391277162243, 0.9928462851881125, 0.9928534355059275,
- 0.9928605786768201, 0.9928677147079338, 0.992874843606405,
- 0.9928819653793629, 0.9928890800339297, 0.9928961875772204,
- 0.992903288016343, 0.992910381358398, 0.9929174676104794,
- 0.9929245467796736, 0.9929316188730601, 0.9929386838977117,
- 0.9929457418606933, 0.9929527927690636, 0.9929598366298736,
- 0.9929668734501677, 0.992973903236983, 0.9929809259973496,
- 0.9929879417382905, 0.9929949504668222, 0.9930019521899534,
- 0.9930089469146862, 0.9930159346480159, 0.9930229153969304,
- 0.9930298891684108, 0.9930368559694314, 0.9930438158069591,
- 0.9930507686879543, 0.9930577146193701, 0.9930646536081528,
- 0.9930715856612417, 0.9930785107855693, 0.993085428988061,
- 0.9930923402756354, 0.993099244655204, 0.9931061421336718,
- 0.9931130327179364, 0.9931199164148887, 0.993126793231413,
- 0.9931336631743861, 0.9931405262506785, 0.9931473824671536,
- 0.993154231830668, 0.9931610743480713, 0.9931679100262065,
- 0.9931747388719095, 0.9931815608920096, 0.993188376093329,
- 0.9931951844826833, 0.9932019860668814, 0.9932087808527249,
- 0.9932155688470092, 0.9932223500565226, 0.9932291244880466,
- 0.9932358921483558, 0.9932426530442185, 0.9932494071823958,
- 0.9932561545696422, 0.9932628952127054, 0.9932696291183263,
- 0.9932763562932393, 0.9932830767441718, 0.9932897904778447,
- 0.9932964975009719, 0.9933031978202609, 0.9933098914424123,
- 0.99331657837412, 0.9933232586220715, 0.9933299321929471,
- 0.9933365990934209, 0.9933432593301599, 0.9933499129098249,
- 0.9933565598390698, 0.9933632001245417, 0.9933698337728815,
- 0.9933764607907228, 0.9933830811846932, 0.9933896949614135,
- 0.9933963021274975, 0.993402902689553, 0.9934094966541808,
- 0.993416084027975, 0.9934226648175236, 0.9934292390294076,
- 0.9934358066702015, 0.9934423677464733, 0.9934489222647844,
- 0.9934554702316897, 0.9934620116537374, 0.9934685465374693,
- 0.9934750748894206, 0.9934815967161199, 0.9934881120240896,
- 0.9934946208198451, 0.9935011231098956, 0.9935076189007438,
- 0.9935141081988856, 0.9935205910108108, 0.9935270673430024,
- 0.9935335372019374, 0.9935400005940855, 0.9935464575259106,
- 0.9935529080038702, 0.9935593520344148, 0.9935657896239889,
- 0.9935722207790303, 0.9935786455059705, 0.9935850638112347,
- 0.9935914757012414, 0.9935978811824028, 0.9936042802611247,
- 0.9936106729438066, 0.9936170592368414, 0.9936234391466158,
- 0.9936298126795099, 0.9936361798418976, 0.9936425406401465,
- 0.9936488950806175, 0.9936552431696656, 0.9936615849136391,
- 0.99366792031888, 0.993674249391724, 0.9936805721385007,
- 0.993686888565533, 0.9936931986791376, 0.9936995024856251,
- 0.9937057999912995, 0.9937120912024585, 0.9937183761253939,
- 0.9937246547663908, 0.9937309271317282, 0.9937371932276787,
- 0.9937434530605088, 0.9937497066364785, 0.9937559539618419,
- 0.9937621950428465, 0.9937684298857337, 0.9937746584967386,
- 0.9937808808820903, 0.9937870970480114, 0.9937933070007183,
- 0.9937995107464214, 0.9938057082913246, 0.993811899641626,
- 0.9938180848035171, 0.9938242637831832, 0.9938304365868039,
- 0.9938366032205522, 0.993842763690595, 0.993848918003093,
- 0.9938550661642012, 0.9938612081800675, 0.9938673440568346,
- 0.9938734738006387, 0.9938795974176097, 0.9938857149138716,
- 0.9938918262955421, 0.993897931568733, 0.9939040307395498,
- 0.9939101238140922, 0.9939162107984532, 0.9939222916987204,
- 0.9939283665209748, 0.9939344352712917, 0.99394049795574,
- 0.9939465545803828, 0.9939526051512771, 0.9939586496744736,
- 0.9939646881560171, 0.9939707206019466, 0.9939767470182946,
- 0.993982767411088, 0.9939887817863475, 0.9939947901500877,
- 0.9940007925083173, 0.9940067888670389, 0.9940127792322491,
- 0.9940187636099388, 0.9940247420060925, 0.9940307144266889,
- 0.9940366808777007, 0.9940426413650948, 0.9940485958948319,
- 0.9940545444728667, 0.9940604871051483, 0.9940664237976194,
- 0.9940723545562172, 0.9940782793868728, 0.994084198295511,
- 0.9940901112880512, 0.9940960183704068, 0.994101919548485,
- 0.9941078148281874, 0.9941137042154096, 0.994119587716041,
- 0.9941254653359657, 0.9941313370810615, 0.9941372029572004,
- 0.9941430629702487, 0.9941489171260666, 0.9941547654305085,
- 0.9941606078894232, 0.9941664445086532, 0.9941722752940355,
- 0.9941781002514013, 0.9941839193865758, 0.9941897327053784,
- 0.9941955402136226, 0.9942013419171163, 0.9942071378216615,
- 0.9942129279330544, 0.9942187122570855, 0.9942244907995391,
- 0.9942302635661944, 0.9942360305628242, 0.9942417917951958,
- 0.9942475472690709, 0.9942532969902051, 0.9942590409643486,
- 0.9942647791972453, 0.9942705116946341, 0.9942762384622477,
- 0.994281959505813, 0.9942876748310514, 0.9942933844436785,
- 0.9942990883494043, 0.9943047865539328, 0.9943104790629628,
- 0.9943161658821867, 0.9943218470172919, 0.9943275224739597,
- 0.994333192257866, 0.9943388563746806, 0.994344514830068,
- 0.9943501676296871, 0.9943558147791908, 0.9943614562842266,
- 0.9943670921504362, 0.9943727223834559, 0.9943783469889161,
- 0.9943839659724417, 0.9943895793396521, 0.9943951870961607,
- 0.9944007892475758, 0.9944063857994997, 0.9944119767575292,
- 0.9944175621272556, 0.9944231419142645, 0.9944287161241361,
- 0.9944342847624447, 0.9944398478347592, 0.9944454053466432,
- 0.9944509573036543, 0.9944565037113448, 0.9944620445752613,
- 0.994467579900945, 0.9944731096939317, 0.9944786339597511,
- 0.9944841527039279, 0.9944896659319812, 0.9944951736494245,
- 0.9945006758617656, 0.9945061725745072, 0.9945116637931463,
- 0.9945171495231743, 0.9945226297700771, 0.9945281045393354,
- 0.9945335738364242, 0.994539037666813, 0.9945444960359658,
- 0.9945499489493417, 0.9945553964123934, 0.9945608384305689,
- 0.9945662750093103, 0.9945717061540547, 0.9945771318702332,
- 0.9945825521632722, 0.9945879670385919, 0.9945933765016075,
- 0.9945987805577289, 0.9946041792123603, 0.9946095724709006,
- 0.9946149603387435, 0.9946203428212771, 0.9946257199238839,
- 0.9946310916519416, 0.994636458010822, 0.9946418190058918,
- 0.9946471746425122, 0.9946525249260391, 0.9946578698618231,
- 0.9946632094552095, 0.994668543711538, 0.9946738726361432,
- 0.9946791962343542, 0.994684514511495, 0.9946898274728841,
- 0.9946951351238347, 0.9947004374696548, 0.9947057345156468,
- 0.9947110262671082, 0.994716312729331, 0.9947215939076018,
- 0.9947268698072023, 0.9947321404334084, 0.9947374057914912,
- 0.994742665886716, 0.9947479207243436, 0.9947531703096287,
- 0.9947584146478214, 0.9947636537441662, 0.9947688876039025,
- 0.9947741162322644, 0.9947793396344808, 0.9947845578157753,
- 0.9947897707813665, 0.9947949785364675, 0.9948001810862863,
- 0.9948053784360258, 0.9948105705908835, 0.9948157575560519,
- 0.9948209393367182, 0.9948261159380645, 0.9948312873652675,
- 0.994836453623499, 0.9948416147179255, 0.9948467706537084,
- 0.9948519214360039, 0.994857067069963, 0.9948622075607315,
- 0.9948673429134502, 0.9948724731332549, 0.9948775982252759,
- 0.9948827181946385, 0.9948878330464629, 0.9948929427858644,
- 0.994898047417953, 0.9949031469478333, 0.9949082413806054,
- 0.9949133307213638, 0.9949184149751982, 0.9949234941471929,
- 0.9949285682424277, 0.9949336372659766, 0.9949387012229092,
- 0.9949437601182893, 0.9949488139571764, 0.9949538627446244,
- 0.9949589064856825, 0.9949639451853945, 0.9949689788487995,
- 0.9949740074809315, 0.9949790310868191, 0.9949840496714862,
- 0.994989063239952, 0.9949940717972299, 0.994999075348329,
- 0.9950040738982528, 0.9950090674520005, 0.9950140560145655,
- 0.9950190395909368, 0.9950240181860983, 0.9950289918050287,
- 0.995033960452702, 0.995038924134087, 0.9950438828541476,
- 0.9950488366178429, 0.9950537854301268, 0.9950587292959484,
- 0.9950636682202518, 0.9950686022079762, 0.9950735312640558,
- 0.99507845539342, 0.995083374600993, 0.9950882888916944,
- 0.9950931982704387, 0.9950981027421355, 0.9951030023116895,
- 0.9951078969840006, 0.9951127867639636, 0.9951176716564686,
- 0.9951225516664007, 0.9951274267986403, 0.9951322970580625,
- 0.9951371624495381, 0.9951420229779325, 0.9951468786481066,
- 0.9951517294649163, 0.9951565754332126, 0.9951614165578417,
- 0.995166252843645, 0.9951710842954592, 0.9951759109181157,
- 0.9951807327164416, 0.9951855496952587, 0.9951903618593845,
- 0.9951951692136313, 0.9951999717628065, 0.9952047695117132,
- 0.9952095624651491, 0.9952143506279076, 0.9952191340047771,
- 0.9952239126005411, 0.9952286864199785, 0.9952334554678633,
- 0.995238219748965, 0.9952429792680478, 0.9952477340298717,
- 0.9952524840391915, 0.9952572293007577, 0.9952619698193155,
- 0.9952667055996058, 0.9952714366463649, 0.9952761629643235,
- 0.9952808845582086, 0.9952856014327419, 0.9952903135926405,
- 0.9952950210426169, 0.9952997237873786, 0.9953044218316287,
- 0.9953091151800655, 0.9953138038373824, 0.9953184878082685,
- 0.995323167097408, 0.9953278417094803, 0.9953325116491603,
- 0.9953371769211181, 0.9953418375300194, 0.9953464934805248,
- 0.9953511447772908, 0.9953557914249686, 0.9953604334282052,
- 0.9953650707916429, 0.9953697035199193, 0.9953743316176673,
- 0.9953789550895152, 0.9953835739400867, 0.995388188174001,
- 0.9953927977958725, 0.995397402810311, 0.9954020032219217,
- 0.9954065990353055, 0.9954111902550582, 0.9954157768857713,
- 0.9954203589320317, 0.9954249363984217, 0.9954295092895189,
- 0.9954340776098966, 0.9954386413641231, 0.9954432005567625,
- 0.9954477551923743, 0.9954523052755132, 0.9954568508107297,
- 0.9954613918025694, 0.9954659282555736, 0.995470460174279,
- 0.9954749875632176, 0.9954795104269173, 0.9954840287699008,
- 0.9954885425966871, 0.9954930519117899, 0.995497556719719,
- 0.9955020570249792, 0.9955065528320712, 0.995511044145491,
- 0.9955155309697301, 0.9955200133092755, 0.9955244911686099,
- 0.9955289645522113, 0.9955334334645533, 0.995537897910105,
- 0.9955423578933312, 0.9955468134186921, 0.9955512644906432,
- 0.9955557111136362, 0.9955601532921176, 0.9955645910305299,
- 0.9955690243333111, 0.9955734532048947, 0.9955778776497097,
- 0.995582297672181, 0.9955867132767287, 0.9955911244677687,
- 0.9955955312497122, 0.9955999336269664, 0.9956043316039339,
- 0.9956087251850128, 0.995613114374597, 0.9956174991770758,
- 0.9956218795968342, 0.995626255638253, 0.9956306273057085,
- 0.9956349946035723, 0.9956393575362121, 0.9956437161079911,
- 0.995648070323268, 0.9956524201863972, 0.9956567657017289,
- 0.9956611068736088, 0.9956654437063782, 0.9956697762043742,
- 0.9956741043719296, 0.9956784282133726, 0.9956827477330275,
- 0.9956870629352138, 0.995691373824247, 0.9956956804044383,
- 0.9956999826800944, 0.9957042806555179, 0.9957085743350067,
- 0.9957128637228551, 0.9957171488233524, 0.9957214296407839,
- 0.9957257061794309, 0.99572997844357, 0.9957342464374737,
- 0.99573851016541, 0.9957427696316432, 0.9957470248404329,
- 0.9957512757960342, 0.9957555225026986, 0.9957597649646729,
- 0.9957640031861998, 0.9957682371715177, 0.995772466924861,
- 0.9957766924504593, 0.9957809137525385, 0.9957851308353203,
- 0.9957893437030217, 0.995793552359856, 0.9957977568100319,
- 0.9958019570577542, 0.9958061531072232, 0.9958103449626353,
- 0.9958145326281826, 0.9958187161080528, 0.9958228954064298,
- 0.9958270705274929, 0.9958312414754176, 0.9958354082543749,
- 0.9958395708685319, 0.9958437293220515, 0.995847883619092,
- 0.9958520337638084, 0.9958561797603507, 0.9958603216128652,
- 0.9958644593254941, 0.9958685929023751, 0.9958727223476421,
- 0.9958768476654247, 0.9958809688598484, 0.9958850859350348,
- 0.995889198895101, 0.9958933077441602, 0.9958974124863215,
- 0.9959015131256896, 0.9959056096663658, 0.9959097021124464,
- 0.9959137904680244, 0.9959178747371882, 0.9959219549240222,
- 0.9959260310326069, 0.9959301030670187, 0.9959341710313295,
- 0.9959382349296079, 0.9959422947659177, 0.995946350544319,
- 0.9959504022688679, 0.9959544499436163, 0.9959584935726119,
- 0.9959625331598987, 0.9959665687095164, 0.9959706002255008,
- 0.9959746277118836, 0.9959786511726926, 0.9959826706119512,
- 0.9959866860336793, 0.9959906974418925, 0.9959947048406023,
- 0.9959987082338163, 0.9960027076255381, 0.9960067030197673,
- 0.9960106944204996, 0.9960146818317265, 0.9960186652574355,
- 0.9960226447016105, 0.996026620168231, 0.9960305916612726,
- 0.9960345591847071, 0.996038522742502, 0.9960424823386215,
- 0.996046437977025, 0.9960503896616684, 0.9960543373965037,
- 0.9960582811854788, 0.9960622210325376, 0.9960661569416203,
- 0.9960700889166628, 0.9960740169615975, 0.9960779410803524,
- 0.996081861276852, 0.9960857775550167, 0.9960896899187629,
- 0.9960935983720031, 0.9960975029186461, 0.9961014035625965,
- 0.9961053003077552, 0.9961091931580192, 0.9961130821172814,
- 0.9961169671894311, 0.9961208483783535, 0.99612472568793,
- 0.996128599122038, 0.9961324686845513, 0.9961363343793396,
- 0.9961401962102687, 0.9961440541812008, 0.9961479082959939,
- 0.9961517585585024, 0.9961556049725766, 0.9961594475420633,
- 0.9961632862708052, 0.9961671211626412, 0.9961709522214064,
- 0.9961747794509319, 0.9961786028550454, 0.9961824224375704,
- 0.9961862382023265, 0.99619005015313, 0.9961938582937927,
- 0.996197662628123, 0.9962014631599255, 0.996205259893001,
- 0.9962090528311464, 0.9962128419781546, 0.9962166273378151,
- 0.9962204089139135, 0.9962241867102315, 0.9962279607305472,
- 0.9962317309786346, 0.9962354974582642, 0.9962392601732029,
- 0.9962430191272131, 0.9962467743240545, 0.9962505257674822,
- 0.9962542734612478, 0.9962580174090994, 0.996261757614781,
- 0.9962654940820328, 0.9962692268145917, 0.9962729558161907,
- 0.9962766810905587, 0.9962804026414214, 0.9962841204725003,
- 0.9962878345875137, 0.9962915449901757, 0.996295251684197,
- 0.9962989546732843, 0.996302653961141, 0.9963063495514665,
- 0.9963100414479565, 0.9963137296543032, 0.996317414174195,
- 0.9963210950113164, 0.9963247721693486, 0.9963284456519688,
- 0.9963321154628508, 0.9963357816056646, 0.9963394440840765,
- 0.9963431029017491, 0.9963467580623415, 0.9963504095695089,
- 0.9963540574269032, 0.9963577016381723, 0.9963613422069605,
- 0.9963649791369087, 0.9963686124316541, 0.9963722420948299,
- 0.9963758681300662, 0.9963794905409891, 0.9963831093312211,
- 0.9963867245043814, 0.9963903360640851, 0.9963939440139442,
- 0.9963975483575667, 0.996401149098557, 0.9964047462405163,
- 0.9964083397870417, 0.996411929741727, 0.9964155161081624,
- 0.9964190988899343, 0.9964226780906258, 0.9964262537138161,
- 0.9964298257630813, 0.9964333942419933, 0.996436959154121,
- 0.9964405205030293, 0.9964440782922799, 0.9964476325254307,
- 0.9964511832060361, 0.996454730337647, 0.9964582739238106,
- 0.9964618139680707, 0.9964653504739676, 0.9964688834450379,
- 0.9964724128848149, 0.996475938796828, 0.9964794611846035,
- 0.9964829800516638, 0.996486495401528, 0.9964900072377116,
- 0.9964935155637267, 0.9964970203830816, 0.9965005216992816,
- 0.996504019515828, 0.9965075138362187, 0.9965110046639485,
- 0.9965144920025081, 0.9965179758553852, 0.9965214562260636,
- 0.9965249331180241, 0.9965284065347437, 0.996531876479696,
- 0.9965353429563509, 0.9965388059681755, 0.9965422655186325,
- 0.9965457216111818, 0.9965491742492798, 0.9965526234363793,
- 0.9965560691759294, 0.9965595114713763, 0.9965629503261624,
- 0.9965663857437266, 0.9965698177275045, 0.9965732462809284,
- 0.996576671407427, 0.9965800931104255, 0.9965835113933458,
- 0.9965869262596064, 0.9965903377126223, 0.9965937457558052,
- 0.9965971503925631, 0.9966005516263011, 0.9966039494604204,
- 0.9966073438983192, 0.9966107349433918, 0.9966141225990297,
- 0.9966175068686206, 0.9966208877555489, 0.9966242652631958,
- 0.9966276393949388, 0.9966310101541523, 0.9966343775442073,
- 0.9966377415684712, 0.9966411022303083, 0.9966444595330795,
- 0.996647813480142, 0.9966511640748501, 0.9966545113205546,
- 0.9966578552206029, 0.996661195778339, 0.9966645329971036,
- 0.9966678668802342, 0.9966711974310648, 0.996674524652926,
- 0.9966778485491454, 0.9966811691230469, 0.9966844863779514,
- 0.9966878003171761, 0.9966911109440353, 0.9966944182618397,
- 0.9966977222738967, 0.9967010229835107, 0.9967043203939825,
- 0.9967076145086096, 0.9967109053306862, 0.9967141928635034,
- 0.996717477110349, 0.9967207580745072, 0.9967240357592593,
- 0.9967273101678831, 0.9967305813036531, 0.9967338491698406,
- 0.9967371137697139, 0.9967403751065373, 0.9967436331835727,
- 0.9967468880040782, 0.9967501395713086, 0.996753387888516,
- 0.9967566329589486, 0.9967598747858517, 0.9967631133724674,
- 0.9967663487220342, 0.9967695808377879, 0.9967728097229606,
- 0.9967760353807813, 0.996779257814476, 0.9967824770272671,
- 0.9967856930223742, 0.9967889058030133, 0.9967921153723973,
- 0.9967953217337361, 0.9967985248902361, 0.9968017248451007,
- 0.9968049216015298, 0.9968081151627206, 0.9968113055318666,
- 0.9968144927121585, 0.9968176767067836, 0.9968208575189259,
- 0.9968240351517667, 0.9968272096084834, 0.9968303808922508,
- 0.9968335490062404, 0.9968367139536204, 0.996839875737556,
- 0.9968430343612089, 0.9968461898277381, 0.9968493421402992,
- 0.9968524913020447, 0.9968556373161237, 0.9968587801856826,
- 0.9968619199138644, 0.996865056503809, 0.996868189958653,
- 0.9968713202815301, 0.9968744474755709, 0.9968775715439024,
- 0.9968806924896492, 0.9968838103159322, 0.9968869250258695,
- 0.9968900366225759, 0.9968931451091632, 0.9968962504887399,
- 0.9968993527644117, 0.996902451939281, 0.996905548016447,
- 0.9969086409990061, 0.9969117308900514, 0.9969148176926728,
- 0.9969179014099574, 0.9969209820449891, 0.9969240596008486,
- 0.9969271340806137, 0.9969302054873589, 0.9969332738241559,
- 0.9969363390940731, 0.9969394013001759, 0.9969424604455267,
- 0.9969455165331849, 0.9969485695662066, 0.996951619547645,
- 0.9969546664805503, 0.9969577103679697, 0.9969607512129469,
- 0.9969637890185231, 0.9969668237877363, 0.9969698555236214,
- 0.9969728842292102, 0.9969759099075316, 0.9969789325616115,
- 0.9969819521944727, 0.9969849688091348, 0.9969879824086149,
- 0.9969909929959263, 0.9969940005740802, 0.996997005146084,
- 0.9970000067149426, 0.9970030052836576, 0.9970060008552278,
- 0.9970089934326489, 0.9970119830189136, 0.9970149696170117,
- 0.9970179532299299, 0.997020933860652, 0.9970239115121587,
- 0.997026886187428, 0.9970298578894344, 0.99703282662115,
- 0.9970357923855436, 0.9970387551855812, 0.9970417150242256,
- 0.9970446719044368, 0.997047625829172, 0.9970505768013851,
- 0.9970535248240273, 0.9970564699000467, 0.9970594120323886,
- 0.9970623512239953, 0.997065287477806, 0.9970682207967573,
- 0.9970711511837824, 0.9970740786418122, 0.9970770031737739,
- 0.9970799247825926, 0.9970828434711896, 0.9970857592424841,
- 0.9970886720993918, 0.9970915820448258, 0.9970944890816963,
- 0.9970973932129102, 0.997100294441372, 0.997103192769983,
- 0.9971060882016417, 0.9971089807392436, 0.9971118703856815,
- 0.9971147571438451, 0.9971176410166214, 0.9971205220068943,
- 0.997123400117545, 0.9971262753514517, 0.9971291477114899,
- 0.997132017200532, 0.9971348838214477, 0.9971377475771036,
- 0.9971406084703638, 0.9971434665040892, 0.9971463216811381,
- 0.9971491740043658, 0.9971520234766246, 0.9971548701007643,
- 0.9971577138796316, 0.9971605548160704, 0.9971633929129218,
- 0.997166228173024, 0.9971690605992125, 0.9971718901943198,
- 0.9971747169611757, 0.997177540902607, 0.9971803620214379,
- 0.9971831803204895, 0.9971859958025804, 0.9971888084705262,
- 0.9971916183271395, 0.9971944253752306, 0.9971972296176066,
- 0.9972000310570718, 0.9972028296964278, 0.9972056255384734,
- 0.9972084185860046, 0.9972112088418146, 0.9972139963086937,
- 0.9972167809894296, 0.997219562886807, 0.9972223420036082,
- 0.9972251183426122, 0.9972278919065956, 0.9972306626983319,
- 0.9972334307205923, 0.9972361959761449, 0.997238958467755,
- 0.9972417181981854, 0.9972444751701958, 0.9972472293865432,
- 0.9972499808499823, 0.9972527295632644, 0.9972554755291385,
- 0.9972582187503507, 0.9972609592296443, 0.9972636969697599,
- 0.9972664319734356, 0.9972691642434062, 0.9972718937824042,
- 0.9972746205931595, 0.9972773446783989, 0.9972800660408465,
- 0.997282784683224, 0.99728550060825, 0.9972882138186407,
- 0.9972909243171094, 0.9972936321063668, 0.9972963371891207,
- 0.9972990395680763, 0.9973017392459363, 0.9973044362254003,
- 0.9973071305091656, 0.9973098220999266, 0.9973125110003749,
- 0.9973151972131995, 0.997317880741087, 0.9973205615867208,
- 0.997323239752782, 0.9973259152419489, 0.9973285880568971,
- 0.9973312582002996, 0.9973339256748266, 0.9973365904831457,
- 0.997339252627922, 0.9973419121118176, 0.9973445689374921,
- 0.9973472231076026, 0.9973498746248034, 0.9973525234917461,
- 0.9973551697110796, 0.9973578132854504, 0.9973604542175022,
- 0.9973630925098759, 0.9973657281652101, 0.9973683611861405,
- 0.9973709915753003, 0.99737361933532, 0.9973762444688276,
- 0.9973788669784481, 0.9973814868668044, 0.9973841041365163,
- 0.9973867187902014, 0.9973893308304744, 0.9973919402599475,
- 0.9973945470812302, 0.9973971512969294, 0.9973997529096497,
- 0.9974023519219926, 0.9974049483365572, 0.9974075421559404,
- 0.9974101333827358, 0.9974127220195348, 0.9974153080689263,
- 0.9974178915334965, 0.9974204724158288, 0.9974230507185042,
- 0.9974256264441015, 0.9974281995951961, 0.9974307701743617,
- 0.9974333381841686, 0.9974359036271853, 0.997438466505977,
- 0.9974410268231071, 0.9974435845811357, 0.997446139782621,
- 0.997448692430118, 0.9974512425261798, 0.9974537900733564,
- 0.9974563350741955, 0.9974588775312424, 0.9974614174470394,
- 0.9974639548241269, 0.997466489665042, 0.99746902197232,
- 0.9974715517484932, 0.9974740789960915, 0.9974766037176422,
- 0.9974791259156703, 0.9974816455926981, 0.9974841627512454,
- 0.9974866773938293, 0.9974891895229648, 0.9974916991411641,
- 0.9974942062509368, 0.9974967108547903, 0.9974992129552294,
- 0.9975017125547561, 0.9975042096558702, 0.9975067042610689,
- 0.9975091963728471, 0.9975116859936968, 0.997514173126108,
- 0.9975166577725677, 0.9975191399355609, 0.9975216196175697,
- 0.997524096821074, 0.9975265715485512, 0.997529043802476,
- 0.9975315135853209, 0.9975339808995557, 0.9975364457476479,
- 0.9975389081320624, 0.9975413680552618, 0.9975438255197061,
- 0.997546280527853, 0.9975487330821574, 0.9975511831850722,
- 0.9975536308390476, 0.9975560760465312, 0.9975585188099685,
- 0.9975609591318022, 0.997563397014473, 0.9975658324604187,
- 0.997568265472075, 0.997570696051875, 0.9975731242022493,
- 0.9975755499256264, 0.9975779732244319, 0.9975803941010892,
- 0.9975828125580196, 0.9975852285976414, 0.9975876422223708,
- 0.9975900534346217, 0.9975924622368053, 0.9975948686313306,
- 0.997597272620604, 0.9975996742070298, 0.9976020733930094,
- 0.9976044701809424, 0.9976068645732256, 0.9976092565722535,
- 0.9976116461804182, 0.9976140334001096, 0.9976164182337147,
- 0.9976188006836187, 0.9976211807522042, 0.9976235584418512,
- 0.9976259337549378, 0.9976283066938391, 0.9976306772609284,
- 0.9976330454585761, 0.9976354112891509, 0.9976377747550185,
- 0.9976401358585425, 0.9976424946020842, 0.9976448509880025,
- 0.9976472050186538, 0.9976495566963922, 0.9976519060235696,
- 0.9976542530025354, 0.9976565976356369, 0.9976589399252184,
- 0.9976612798736227, 0.9976636174831898, 0.9976659527562572,
- 0.9976682856951605, 0.9976706163022329, 0.9976729445798047,
- 0.9976752705302047, 0.9976775941557586, 0.9976799154587905,
- 0.9976822344416216, 0.9976845511065711, 0.9976868654559558,
- 0.9976891774920899, 0.9976914872172858, 0.9976937946338534,
- 0.9976960997441001, 0.9976984025503312, 0.9977007030548495,
- 0.9977030012599557, 0.9977052971679481, 0.9977075907811227,
- 0.9977098821017734, 0.9977121711321913, 0.997714457874666,
- 0.9977167423314839, 0.9977190245049299, 0.997721304397286,
- 0.9977235820108326, 0.997725857347847, 0.9977281304106049,
- 0.9977304012013795, 0.9977326697224416, 0.9977349359760598,
- 0.9977371999645005, 0.9977394616900279, 0.9977417211549038,
- 0.9977439783613876, 0.997746233311737, 0.9977484860082066,
- 0.9977507364530496, 0.9977529846485164, 0.9977552305968552,
- 0.9977574743003123, 0.9977597157611312, 0.9977619549815538,
- 0.9977641919638193, 0.9977664267101647, 0.997768659222825,
- 0.9977708895040327, 0.9977731175560183, 0.9977753433810099,
- 0.9977775669812335, 0.9977797883589128, 0.9977820075162691,
- 0.997784224455522, 0.9977864391788883, 0.9977886516885829,
- 0.9977908619868185, 0.9977930700758054, 0.9977952759577519,
- 0.9977974796348638, 0.9977996811093451, 0.9978018803833973,
- 0.9978040774592198, 0.9978062723390098, 0.9978084650249622,
- 0.99781065551927, 0.9978128438241235, 0.9978150299417113,
- 0.9978172138742196, 0.9978193956238326, 0.9978215751927318,
- 0.9978237525830973, 0.9978259277971062, 0.9978281008369341,
- 0.997830271704754, 0.997832440402737, 0.9978346069330518,
- 0.9978367712978652, 0.9978389334993414, 0.9978410935396429,
- 0.9978432514209298, 0.9978454071453601, 0.9978475607150896,
- 0.9978497121322721, 0.997851861399059, 0.9978540085175998,
- 0.9978561534900414, 0.9978582963185293, 0.9978604370052062,
- 0.997862575552213, 0.9978647119616882, 0.9978668462357685,
- 0.9978689783765882, 0.9978711083862795, 0.9978732362669726,
- 0.9978753620207953, 0.9978774856498738, 0.9978796071563315,
- 0.9978817265422902, 0.9978838438098694, 0.9978859589611864,
- 0.9978880719983565, 0.9978901829234927, 0.9978922917387063,
- 0.997894398446106, 0.9978965030477986, 0.997898605545889,
- 0.9979007059424798, 0.9979028042396713, 0.9979049004395619,
- 0.9979069945442481, 0.9979090865558241, 0.9979111764763818,
- 0.9979132643080114, 0.9979153500528009, 0.9979174337128359,
- 0.9979195152902003, 0.9979215947869758, 0.997923672205242,
- 0.9979257475470765, 0.9979278208145546, 0.9979298920097497,
- 0.9979319611347331, 0.9979340281915742, 0.9979360931823399,
- 0.9979381561090954, 0.9979402169739038, 0.997942275778826,
- 0.997944332525921, 0.9979463872172454, 0.9979484398548543,
- 0.9979504904408002, 0.9979525389771339, 0.997954585465904,
- 0.9979566299091572, 0.997958672308938, 0.9979607126672888,
- 0.9979627509862501, 0.9979647872678604, 0.997966821514156,
- 0.9979688537271714, 0.9979708839089386, 0.9979729120614882,
- 0.9979749381868483, 0.9979769622870452, 0.997978984364103,
- 0.997981004420044, 0.9979830224568883, 0.997985038476654,
- 0.9979870524813573, 0.9979890644730123, 0.9979910744536309,
- 0.9979930824252234, 0.9979950883897979, 0.9979970923493603,
- 0.9979990943059147, 0.9980010942614633, 0.998003092218006,
- 0.9980050881775409, 0.998007082142064, 0.9980090741135694,
- 0.9980110640940493, 0.9980130520854936, 0.9980150380898906,
- 0.9980170221092262, 0.9980190041454845, 0.9980209842006479,
- 0.9980229622766963, 0.9980249383756079, 0.9980269124993589,
- 0.9980288846499238, 0.9980308548292744, 0.9980328230393813,
- 0.9980347892822128, 0.998036753559735, 0.9980387158739126,
- 0.9980406762267077, 0.9980426346200809, 0.9980445910559907,
- 0.9980465455363937, 0.9980484980632444, 0.9980504486384952,
- 0.9980523972640972, 0.9980543439419989, 0.9980562886741471,
- 0.9980582314624865, 0.9980601723089603, 0.9980621112155091,
- 0.9980640481840721, 0.9980659832165863, 0.9980679163149869,
- 0.9980698474812071, 0.998071776717178, 0.9980737040248291,
- 0.9980756294060876, 0.9980775528628794, 0.9980794743971275,
- 0.9980813940107539, 0.9980833117056783, 0.9980852274838183,
- 0.99808714134709, 0.9980890532974072, 0.9980909633366819,
- 0.9980928714668245, 0.9980947776897429, 0.9980966820073436,
- 0.9980985844215309, 0.9981004849342074, 0.9981023835472739,
- 0.9981042802626288, 0.9981061750821689, 0.9981080680077893,
- 0.998109959041383, 0.998111848184841, 0.9981137354400527,
- 0.9981156208089054, 0.9981175042932844, 0.9981193858950734,
- 0.9981212656161542, 0.9981231434584065, 0.9981250194237082,
+double ularge[]={0., 0.000999525142261537, 0.0019980512340131984, 0.002995579273830762,
+ 0.0039921102592925806, 0.00498764518697925, 0.00598218505247583,
+ 0.006975730850371842, 0.007968283574262824, 0.008959844216751223,
+ 0.009950413769447386, 0.010939993222970568, 0.011928583566949591,
+ 0.012916185790024404, 0.013902800879846744, 0.014888429823081029,
+ 0.015873073605405685, 0.016856733211513708, 0.01783940962511399,
+ 0.018821103828932206, 0.019801816804711603, 0.020781549533214427,
+ 0.02176030299422238, 0.022738078166538056, 0.0237148760279855,
+ 0.024690697555411423, 0.025665543724686435, 0.026639415510705367,
+ 0.02761231388738883, 0.028584239827683988, 0.029555194303565346,
+ 0.03052517828603607, 0.03149419274512877, 0.03246223864990638,
+ 0.033429316968463296, 0.03439542866792622, 0.035360574714455306,
+ 0.036324756073245035, 0.03728797370852488, 0.03825022858356075,
+ 0.03921152166065589, 0.0401718539011513, 0.04113122626542742,
+ 0.04208963971290469, 0.043047095202044416, 0.04400359369035023,
+ 0.044959136134368416, 0.04591372348968936, 0.046867356710948216,
+ 0.04782003675182578, 0.04877176456505006, 0.04972254110239649,
+ 0.05067236731468905, 0.05162124415180169, 0.052569172562658695,
+ 0.053516153495236085, 0.05446218789656199, 0.05540727671271839,
+ 0.056351420888841375, 0.057294621369122334, 0.05823687909680919,
+ 0.059178195014206625, 0.060118570062677845, 0.061058005182645037,
+ 0.061996501313590135, 0.06293405939405661, 0.06387068036164922,
+ 0.06480636515303595, 0.0657411147039485, 0.06667492994918323,
+ 0.067607811822602, 0.06853976125713368, 0.06947077918477418,
+ 0.07040086653658806, 0.07133002424270929, 0.07225825323234214,
+ 0.07318555443376207, 0.07411192877431683, 0.07503737718042691,
+ 0.07596190057758734, 0.07688549989036764, 0.07780817604241341,
+ 0.07872992995644712, 0.07965076255426873, 0.08057067475675705,
+ 0.08148966748387021, 0.08240774165464715, 0.0833248981872079,
+ 0.08424113799875499, 0.08515646200557414, 0.08607087112303513,
+ 0.0869843662655928, 0.0878969483467883, 0.08880861827924913,
+ 0.08971937697469112, 0.09062922534391848, 0.09153816429682515,
+ 0.09244619474239557, 0.09335331758870569, 0.09425953374292384,
+ 0.09516484411131154, 0.09606924959922447, 0.09697275111111336,
+ 0.09787534955052513, 0.09877704582010327, 0.09967784082158937,
+ 0.10057773545582349, 0.1014767306227452, 0.10237482722139479,
+ 0.10327202614991393, 0.10416832830554645, 0.10506373458463925,
+ 0.10595824588264358, 0.10685186309411554, 0.10774458711271706,
+ 0.10863641883121689, 0.10952735914149136, 0.11041740893452556,
+ 0.1113065691004137, 0.11219484052836048, 0.113082224106682,
+ 0.11396872072280606, 0.11485433126327382, 0.11573905661374018,
+ 0.1166228976589746, 0.11750585528286273, 0.11838793036840611,
+ 0.11926912379772414, 0.12014943645205434, 0.1210288692117536,
+ 0.12190742295629853, 0.12278509856428699, 0.12366189691343843,
+ 0.12453781888059534, 0.12541286534172336, 0.1262870371719128,
+ 0.12716033524537929, 0.12803276043546474, 0.12890431361463794,
+ 0.12977499565449568, 0.1306448074257638, 0.13151374979829733,
+ 0.13238182364108242, 0.1332490298222363, 0.13411536920900857,
+ 0.1349808426677821, 0.13584545106407353, 0.13670919526253478,
+ 0.1375720761269531, 0.13843409452025268, 0.13929525130449505,
+ 0.1401555473408801, 0.14101498348974706, 0.141873560610575,
+ 0.14273127956198417, 0.14358814120173635, 0.1444441463867362,
+ 0.1452992959730317, 0.14615359081581536, 0.14700703176942476,
+ 0.1478596196873435, 0.14871135542220237, 0.14956223982577965,
+ 0.15041227374900246, 0.15126145804194713, 0.1521097935538407,
+ 0.15295728113306095, 0.15380392162713807, 0.1546497158827549,
+ 0.15549466474574802, 0.15633876906110877, 0.15718202967298356,
+ 0.15802444742467525, 0.15886602315864384, 0.15970675771650733,
+ 0.16054665193904216, 0.16138570666618468, 0.1622239227370318,
+ 0.1630613009898414, 0.16389784226203374, 0.16473354739019208,
+ 0.1655684172100632, 0.16640245255655883, 0.1672356542637562,
+ 0.16806802316489855, 0.1688995600923966, 0.1697302658778289,
+ 0.17056014135194286, 0.17138918734465547, 0.1722174046850543,
+ 0.17304479420139818, 0.17387135672111798, 0.1746970930708177,
+ 0.17552200407627494, 0.1763460905624421, 0.17716935335344708,
+ 0.17799179327259362, 0.17881341114236304, 0.1796342077844143,
+ 0.18045418401958513, 0.1812733406678928, 0.18209167854853503,
+ 0.18290919847989073, 0.18372590127952082, 0.18454178776416885,
+ 0.18535685874976227, 0.18617111505141282, 0.18698455748341758,
+ 0.18779718685925983, 0.18860900399160963, 0.18942000969232464,
+ 0.19023020477245134, 0.19103959004222526, 0.19184816631107227,
+ 0.1926559343876092, 0.19346289507964443, 0.1942690491941792,
+ 0.19507439753740796, 0.19587894091471936, 0.19668268013069712,
+ 0.19748561598912073, 0.1982877492929661, 0.1990890808444069,
+ 0.19988961144481487, 0.2006893418947604, 0.20148827299401428,
+ 0.20228640554154742, 0.20308374033553256, 0.2038802781733442,
+ 0.20467601985156025, 0.20547096616596217, 0.20626511791153612,
+ 0.2070584758824735, 0.2078510408721722, 0.20864281367323678,
+ 0.20943379507747983, 0.21022398587592217, 0.21101338685879434,
+ 0.21180199881553674, 0.21258982253480097, 0.21337685880445012,
+ 0.21416310841155983, 0.21494857214241914, 0.21573325078253125,
+ 0.2165171451166138, 0.2173002559286007, 0.2180825840016417,
+ 0.21886413011810424, 0.21964489505957363, 0.22042487960685375,
+ 0.22120408453996832, 0.2219825106381612, 0.22276015867989762,
+ 0.22353702944286447, 0.22431312370397138, 0.22508844223935165,
+ 0.22586298582436248, 0.2266367552335864, 0.2274097512408314,
+ 0.22818197461913237, 0.2289534261407512, 0.22972410657717812,
+ 0.23049401669913228, 0.23126315727656221, 0.2320315290786471,
+ 0.23279913287379717, 0.23356596942965469, 0.23433203951309467,
+ 0.2350973438902254, 0.2358618833263898, 0.23662565858616547,
+ 0.23738867043336598, 0.2381509196310414, 0.23891240694147908,
+ 0.23967313312620442, 0.24043309894598175, 0.2411923051608149,
+ 0.24195075252994824, 0.24270844181186702, 0.24346537376429855,
+ 0.24422154914421257, 0.24497696870782248, 0.24573163321058555,
+ 0.24648554340720408, 0.24723870005162618, 0.24799110389704615,
+ 0.24874275569590532, 0.2494936561998935, 0.25024380615994857,
+ 0.250993206326258, 0.2517418574482596, 0.2524897602746421,
+ 0.2532369155533455, 0.25398332403156276, 0.2547289864557396,
+ 0.25547390357157584, 0.25621807612402603, 0.25696150485729974,
+ 0.25770419051486304, 0.2584461338394388, 0.25918733557300766,
+ 0.2599277964568082, 0.2606675172313385, 0.26140649863635645,
+ 0.2621447414108805, 0.26288224629319024, 0.26361901402082755,
+ 0.26435504533059706, 0.2650903409585671, 0.2658249016400699,
+ 0.26655872810970294, 0.26729182110132965, 0.2680241813480796,
+ 0.2687558095823497, 0.26948670653580487, 0.27021687293937857,
+ 0.2709463095232739, 0.27167501701696406, 0.27240299614919283,
+ 0.2731302476479759, 0.27385677224060123, 0.2745825706536297,
+ 0.27530764361289617, 0.2760319918435099, 0.2767556160698553,
+ 0.277478517015593, 0.27820069540366, 0.278922151956271,
+ 0.2796428873949186, 0.2803629024403743, 0.2810821978126893,
+ 0.281800774231195, 0.2825186324145037, 0.2832357730805096,
+ 0.2839521969463893, 0.2846679047286026, 0.285382897142893,
+ 0.2860971749042889, 0.2868107387271036, 0.2875235893249368,
+ 0.2882357274106748, 0.2889471536964914, 0.28965786889384837,
+ 0.2903678737134967, 0.2910771688654765, 0.29178575505911875,
+ 0.292493633003045, 0.29320080340516863, 0.2939072669726954,
+ 0.29461302441212445, 0.29531807642924834, 0.29602242372915455,
+ 0.2967260670162256, 0.2974290069941401, 0.2981312443658731,
+ 0.29883277983369727, 0.2995336140991832, 0.30023374786320023,
+ 0.3009331818259171, 0.3016319166868029, 0.3023299531446274,
+ 0.30302729189746225, 0.3037239336426808, 0.30441987907696,
+ 0.3051151288962799, 0.3058096837959252, 0.3065035444704858,
+ 0.30719671161385675, 0.3078891859192402, 0.30858096807914515,
+ 0.3092720587853881, 0.3099624587290948, 0.31065216860069933,
+ 0.31134118908994646, 0.3120295208858911, 0.31271716467689936,
+ 0.31340412115064964, 0.3140903909941327, 0.31477597489365294,
+ 0.3154608735348283, 0.3161450876025921, 0.3168286177811924,
+ 0.3175114647541937, 0.31819362920447714, 0.31887511181424144,
+ 0.3195559132650032, 0.32023603423759806, 0.3209154754121809,
+ 0.32159423746822724, 0.32227232108453296, 0.32294972693921553,
+ 0.3236264557097148, 0.3243025080727936, 0.3249778847045379,
+ 0.3256525862803583, 0.32632661347499015, 0.32699996696249445,
+ 0.32767264741625823, 0.32834465550899594, 0.329015991912749,
+ 0.3296866572988876, 0.33035665233811085, 0.33102597770044706,
+ 0.33169463405525534, 0.33236262207122547, 0.33302994241637884,
+ 0.3336965957580693, 0.3343625827629836, 0.3350279040971421,
+ 0.33569256042589946, 0.33635655241394513, 0.33701988072530453,
+ 0.33768254602333925, 0.3383445489707475, 0.3390058902295656,
+ 0.3396665704611681, 0.340326590326268, 0.3409859504849183,
+ 0.34164465159651225, 0.3423026943197839, 0.3429600793128089,
+ 0.34361680723300536, 0.34427287873713386, 0.3449282944812989,
+ 0.3455830551209491, 0.3462371613108777, 0.3468906137052238,
+ 0.3475434129574725, 0.34819555972045557, 0.3488470546463528,
+ 0.34949789838669143, 0.35014809159234794, 0.350797634913548,
+ 0.3514465289998677, 0.3520947745002333, 0.3527423720629229,
+ 0.35338932233556664, 0.35403562596514704, 0.3546812835980001,
+ 0.3553262958798159, 0.355970663455639, 0.35661438696986913,
+ 0.35725746706626205, 0.3578999043879303, 0.35854169957734305,
+ 0.35918285327632793, 0.3598233661260706, 0.36046323876711595,
+ 0.3611024718393687, 0.3617410659820941, 0.362379021833918,
+ 0.36301634003282846, 0.3636530212161755, 0.3642890660206721,
+ 0.364924475082395, 0.36555924903678516, 0.36619338851864824,
+ 0.3668268941621554, 0.36745976660084423, 0.36809200646761864,
+ 0.3687236143947503, 0.3693545910138788, 0.3699849369560123,
+ 0.3706146528515283, 0.3712437393301742, 0.3718721970210681,
+ 0.3725000265526991, 0.3731272285529281, 0.3737538036489887,
+ 0.3743797524674871, 0.3750050756344038, 0.3756297737750931,
+ 0.3762538475142845, 0.3768772974760829, 0.3775001242839695,
+ 0.3781223285608024, 0.3787439109288169, 0.37936487200962665,
+ 0.3799852124242238, 0.3806049327929798, 0.38122403373564595,
+ 0.3818425158713544, 0.38246037981861813, 0.38307762619533214,
+ 0.38369425561877357, 0.3843102687056029, 0.38492566607186385,
+ 0.38554044833298484, 0.38615461610377877, 0.3867681699984443,
+ 0.387381110630566, 0.3879934386131151, 0.38860515455845035,
+ 0.38921625907831825, 0.38982675278385404, 0.390436636285582,
+ 0.39104591019341606, 0.3916545751166608, 0.39226263166401154,
+ 0.3928700804435552, 0.3934769220627712, 0.39408315712853126,
+ 0.39468878624710113, 0.39529381002414, 0.39589822906470207,
+ 0.39650204397323663, 0.39710525535358887, 0.39770786380900036,
+ 0.3983098699421097, 0.3989112743549532, 0.39951207764896535,
+ 0.4001122804249797, 0.4007118832832288, 0.4013108868233458,
+ 0.4019092916443642, 0.40250709834471876, 0.403104307522246,
+ 0.4037009197741851, 0.4042969356971783, 0.40489235588727124,
+ 0.405487180939914, 0.40608141144996135, 0.40667504801167365,
+ 0.4072680912187171, 0.40786054166416463, 0.40845239994049654,
+ 0.40904366663960046, 0.40963434235277296, 0.4102244276707191,
+ 0.4108139231835539, 0.4114028294808024, 0.4119911471514004,
+ 0.412578876783695, 0.41316601896544525, 0.4137525742838227,
+ 0.4143385433254122, 0.4149239266762119, 0.4155087249216347,
+ 0.4160929386465081, 0.41667656843507506, 0.4172596148709945,
+ 0.4178420785373421, 0.41842396001661075, 0.41900525989071113,
+ 0.41958597874097203, 0.42016611714814156, 0.4207456756923872,
+ 0.4213246549532964, 0.4219030555098775, 0.42248087794056,
+ 0.4230581228231952, 0.42363479073505705, 0.4242108822528422,
+ 0.42478639795267104, 0.4253613384100883, 0.4259357042000629,
+ 0.4265094958969896, 0.4270827140746889, 0.4276553593064074,
+ 0.4282274321648194, 0.4287989332220261, 0.4293698630495574,
+ 0.42994022221837147, 0.43051001129885624, 0.43107923086082933,
+ 0.4316478814735387, 0.4322159637056635, 0.4327834781253145,
+ 0.4333504253000344, 0.4339168057967989, 0.43448262018201667,
+ 0.4350478690215307, 0.43561255288061784, 0.4361766723239906,
+ 0.43674022791579636, 0.437303220219619, 0.4378656497984792,
+ 0.4384275172148344, 0.4389888230305805, 0.4395495678070511,
+ 0.44010975210501935, 0.4406693764846975, 0.4412284415057379,
+ 0.4417869477272336, 0.44234489570771884, 0.44290228600516945,
+ 0.44345911917700376, 0.44401539578008276, 0.4445711163707109,
+ 0.4451262815046366, 0.44568089173705294, 0.44623494762259774,
+ 0.4467884497153548, 0.4473413985688538, 0.4478937947360714,
+ 0.44844563876943133, 0.4489969312208053, 0.4495476726415134,
+ 0.4500978635823246, 0.45064750459345737, 0.4511965962245804,
+ 0.4517451390248126, 0.4522931335427245, 0.4528405803263378,
+ 0.4533874799231269, 0.45393383288001865, 0.45447963974339356,
+ 0.45502490105908566, 0.45556961737238355, 0.4561137892280309,
+ 0.4566574171702269, 0.4572005017426266, 0.4577430434883418,
+ 0.45828504294994143, 0.4588265006694522, 0.4593674171883587,
+ 0.45990779304760476, 0.46044762878759327, 0.46098692494818694,
+ 0.4615256820687089, 0.46206390068794345, 0.462601581344136,
+ 0.46313872457499405, 0.463675330917688, 0.46421140090885094,
+ 0.46474693508457965, 0.46528193398043516, 0.46581639813144315,
+ 0.46635032807209464, 0.4668837243363463, 0.46741658745762094,
+ 0.46794891796880855, 0.4684807164022662, 0.46901198328981897,
+ 0.46954271916276036, 0.4700729245518529, 0.47060259998732845,
+ 0.4711317459988891, 0.47166036311570714, 0.47218845186642633,
+ 0.47271601277916186, 0.47324304638150105, 0.47376955320050385,
+ 0.4742955337627035, 0.47482098859410693, 0.4753459182201951,
+ 0.47587032316592426, 0.4763942039557253, 0.4769175611135055,
+ 0.477440395162648, 0.47796270662601326, 0.4784844960259388,
+ 0.47900576388424, 0.4795265107222111, 0.48004673706062484,
+ 0.48056644341973376, 0.4810856303192701, 0.48160429827844675,
+ 0.4821224478159578, 0.48264007944997867, 0.4831571936981668,
+ 0.4836737910776625, 0.484189872105089, 0.48470543729655313,
+ 0.485220487167646, 0.485735022233443, 0.48624904300850535,
+ 0.4867625500068793, 0.4872755437420976, 0.48778802472717975,
+ 0.4882999934746325, 0.4888114504964499, 0.489322396304115,
+ 0.4898328314085989, 0.4903427563203624, 0.490852171549356,
+ 0.49136107760502024, 0.49186947499628686, 0.49237736423157863,
+ 0.49288474581881025, 0.49339162026538874, 0.49389798807821395,
+ 0.4944038497636789, 0.49490920582767084, 0.49541405677557093,
+ 0.49591840311225555, 0.4964222453420961, 0.49692558396896036,
+ 0.49742841949621197, 0.4979307524267116, 0.4984325832628175,
+ 0.4989339125063855, 0.4994347406587699, 0.49993506822082423,
+ 0.5004348956929009, 0.5009342235748524, 0.5014330523660315,
+ 0.5019313825652923, 0.5024292146709898, 0.502926549180981,
+ 0.5034233865926253, 0.5039197274027851, 0.5044155721078261,
+ 0.5049109212036176, 0.5054057751855336, 0.5059001345484531,
+ 0.5063939997867599, 0.5068873713943443, 0.5073802498646023,
+ 0.5078726356904373, 0.5083645293642596, 0.5088559313779877,
+ 0.509346842223048, 0.5098372623903762, 0.5103271923704167,
+ 0.5108166326531243, 0.5113055837279636, 0.5117940460839104,
+ 0.5122820202094513, 0.512769506592585, 0.5132565057208223,
+ 0.5137430180811866, 0.5142290441602146, 0.5147145844439569,
+ 0.5151996394179781, 0.5156842095673573, 0.5161682953766891,
+ 0.5166518973300833, 0.5171350159111663, 0.5176176516030808,
+ 0.5180998048884866, 0.5185814762495615, 0.5190626661680005,
+ 0.5195433751250178, 0.5200236036013465, 0.5205033520772391,
+ 0.520982621032468, 0.5214614109463263, 0.5219397222976279,
+ 0.5224175555647079, 0.5228949112254238, 0.5233717897571548,
+ 0.5238481916368037, 0.524324117340796, 0.5247995673450814,
+ 0.5252745421251336, 0.5257490421559512, 0.5262230679120579,
+ 0.5266966198675034, 0.5271696984958631, 0.5276423042702396,
+ 0.5281144376632623, 0.5285860991470881, 0.5290572891934022,
+ 0.5295280082734183, 0.5299982568578788, 0.5304680354170561,
+ 0.5309373444207524, 0.5314061843382998, 0.5318745556385619,
+ 0.5323424587899335, 0.5328098942603412, 0.5332768625172439,
+ 0.5337433640276331, 0.5342093992580338, 0.5346749686745045,
+ 0.5351400727426381, 0.5356047119275616, 0.5360688866939378,
+ 0.5365325975059647, 0.5369958448273762, 0.5374586291214427,
+ 0.5379209508509719, 0.5383828104783088, 0.5388442084653358,
+ 0.5393051452734743, 0.539765621363684, 0.5402256371964641,
+ 0.5406851932318535, 0.5411442899294313, 0.5416029277483172,
+ 0.5420611071471718, 0.5425188285841976, 0.542976092517139,
+ 0.5434328994032828, 0.5438892496994587, 0.5443451438620399,
+ 0.5448005823469433, 0.5452555656096303, 0.545710094105107,
+ 0.5461641682879246, 0.5466177886121801, 0.5470709555315163,
+ 0.5475236694991231, 0.547975930967737, 0.5484277403896421,
+ 0.5488790982166706, 0.5493300049002028, 0.5497804608911678,
+ 0.5502304666400446, 0.5506800225968611, 0.551129129211196,
+ 0.5515777869321782, 0.5520259962084881, 0.5524737574883574,
+ 0.5529210712195696, 0.5533679378494609, 0.5538143578249206,
+ 0.5542603315923906, 0.5547058595978674, 0.5551509422869012,
+ 0.5555955801045968, 0.5560397734956144, 0.5564835229041696,
+ 0.5569268287740341, 0.5573696915485361, 0.5578121116705604,
+ 0.5582540895825492, 0.5586956257265027, 0.559136720543979,
+ 0.5595773744760952, 0.5600175879635272, 0.5604573614465106,
+ 0.5608966953648409, 0.5613355901578738, 0.5617740462645263,
+ 0.5622120641232764, 0.562649644172164, 0.563086786848791,
+ 0.563523492590322, 0.5639597618334845, 0.5643955950145696,
+ 0.5648309925694325, 0.5652659549334924, 0.5657004825417333,
+ 0.5661345758287051, 0.5665682352285222, 0.567001461174866,
+ 0.5674342541009842, 0.5678666144396916, 0.5682985426233697,
+ 0.5687300390839687, 0.5691611042530064, 0.5695917385615696,
+ 0.5700219424403146, 0.5704517163194662, 0.5708810606288202,
+ 0.5713099757977423, 0.5717384622551692, 0.5721665204296088,
+ 0.5725941507491406, 0.5730213536414165, 0.5734481295336606,
+ 0.5738744788526705, 0.5743004020248167, 0.5747258994760436,
+ 0.5751509716318699, 0.5755756189173893, 0.57599984175727,
+ 0.5764236405757566, 0.5768470157966687, 0.577269967843403,
+ 0.5776924971389326, 0.5781146041058078, 0.5785362891661572,
+ 0.5789575527416864, 0.5793783952536805, 0.5797988171230029,
+ 0.5802188187700965, 0.5806384006149841, 0.5810575630772683,
+ 0.581476306576133, 0.5818946315303423, 0.5823125383582423,
+ 0.5827300274777606, 0.5831470993064074, 0.5835637542612753,
+ 0.5839799927590401, 0.5843958152159614, 0.5848112220478823,
+ 0.5852262136702302, 0.5856407904980179, 0.5860549529458426,
+ 0.586468701427888, 0.5868820363579228, 0.587294958149303,
+ 0.5877074672149709, 0.5881195639674562, 0.5885312488188764,
+ 0.5889425221809369, 0.5893533844649317, 0.5897638360817437,
+ 0.590173877441845, 0.5905835089552973, 0.5909927310317531,
+ 0.5914015440804545, 0.5918099485102354, 0.5922179447295205,
+ 0.5926255331463264, 0.5930327141682621, 0.5934394882025289,
+ 0.5938458556559212, 0.5942518169348268, 0.5946573724452273,
+ 0.5950625225926989, 0.5954672677824113, 0.5958716084191307,
+ 0.5962755449072175, 0.5966790776506286, 0.5970822070529168,
+ 0.597484933517232, 0.5978872574463205, 0.5982891792425268,
+ 0.5986906993077923, 0.5990918180436576, 0.5994925358512614,
+ 0.5998928531313414, 0.6002927702842353, 0.6006922877098799,
+ 0.6010914058078128, 0.6014901249771722, 0.6018884456166971,
+ 0.6022863681247279, 0.6026838928992075, 0.6030810203376802,
+ 0.6034777508372935, 0.6038740847947976, 0.6042700226065467,
+ 0.604665564668498, 0.6050607113762136, 0.6054554631248601,
+ 0.6058498203092088, 0.6062437833236366, 0.6066373525621265,
+ 0.6070305284182671, 0.6074233112852543, 0.6078157015558905,
+ 0.6082076996225856, 0.6085993058773573, 0.6089905207118316,
+ 0.6093813445172427, 0.6097717776844341, 0.6101618206038586,
+ 0.6105514736655786, 0.6109407372592666, 0.6113296117742056,
+ 0.6117180975992899, 0.6121061951230246, 0.6124939047335266,
+ 0.6128812268185251, 0.6132681617653614, 0.6136547099609899,
+ 0.6140408717919783, 0.6144266476445075, 0.6148120379043729,
+ 0.6151970429569841, 0.6155816631873652, 0.6159658989801557,
+ 0.616349750719611, 0.6167332187896015, 0.617116303573615,
+ 0.6174990054547553, 0.6178813248157433, 0.6182632620389177,
+ 0.6186448175062347, 0.6190259915992689, 0.6194067846992136,
+ 0.6197871971868809, 0.6201672294427024, 0.6205468818467292,
+ 0.6209261547786331, 0.6213050486177056, 0.6216835637428597,
+ 0.6220617005326295, 0.6224394593651708, 0.6228168406182611,
+ 0.6231938446693008, 0.6235704718953128, 0.623946722672943,
+ 0.6243225973784614, 0.6246980963877612, 0.6250732200763602,
+ 0.625447968819401, 0.6258223429916512, 0.6261963429675036,
+ 0.626569969120977, 0.626943221825716, 0.6273161014549923,
+ 0.6276886083817041, 0.6280607429783769, 0.6284325056171641,
+ 0.6288038966698469, 0.6291749165078349, 0.6295455655021667,
+ 0.6299158440235095, 0.6302857524421607, 0.6306552911280471,
+ 0.6310244604507258, 0.6313932607793848, 0.631761692482843,
+ 0.6321297559295502, 0.6324974514875885, 0.6328647795246719,
+ 0.6332317404081467, 0.6335983345049923, 0.6339645621818211,
+ 0.634330423804879, 0.6346959197400462, 0.6350610503528369,
+ 0.6354258160083996, 0.6357902170715188, 0.6361542539066134,
+ 0.6365179268777388, 0.6368812363485858, 0.6372441826824823,
+ 0.6376067662423928, 0.637968987390919, 0.6383308464903001,
+ 0.6386923439024137, 0.6390534799887748, 0.6394142551105377,
+ 0.6397746696284959, 0.6401347239030817, 0.6404944182943675,
+ 0.6408537531620657, 0.6412127288655292, 0.6415713457637514,
+ 0.6419296042153675, 0.6422875045786538, 0.6426450472115286,
+ 0.6430022324715523, 0.6433590607159283, 0.6437155323015025,
+ 0.6440716475847644, 0.6444274069218472, 0.644782810668528,
+ 0.6451378591802283, 0.6454925528120143, 0.6458468919185978,
+ 0.6462008768543352, 0.6465545079732293, 0.6469077856289291,
+ 0.6472607101747299, 0.6476132819635738, 0.6479655013480502,
+ 0.6483173686803962, 0.6486688843124969, 0.6490200485958855,
+ 0.6493708618817435, 0.6497213245209023, 0.6500714368638417,
+ 0.6504211992606918, 0.6507706120612324, 0.6511196756148938,
+ 0.6514683902707571, 0.6518167563775543, 0.6521647742836691,
+ 0.6525124443371368, 0.652859766885645, 0.6532067422765333,
+ 0.6535533708567947, 0.6538996529730751, 0.654245588971674,
+ 0.6545911791985446, 0.6549364239992945, 0.655281323719186,
+ 0.6556258787031358, 0.6559700892957163, 0.6563139558411553,
+ 0.6566574786833363, 0.6570006581657999, 0.6573434946317424,
+ 0.6576859884240174, 0.658028139885136, 0.6583699493572668,
+ 0.6587114171822364, 0.6590525437015295, 0.6593933292562899,
+ 0.6597337741873203, 0.6600738788350825, 0.6604136435396983,
+ 0.6607530686409493, 0.6610921544782778, 0.6614309013907864,
+ 0.6617693097172392, 0.6621073797960614, 0.6624451119653398,
+ 0.6627825065628238, 0.6631195639259246, 0.6634562843917167,
+ 0.6637926682969373, 0.6641287159779872, 0.664464427770931,
+ 0.6647998040114971, 0.6651348450350785, 0.6654695511767332,
+ 0.6658039227711843, 0.6661379601528197, 0.6664716636556935,
+ 0.6668050336135264, 0.6671380703597047, 0.6674707742272818,
+ 0.6678031455489785, 0.6681351846571825, 0.6684668918839496,
+ 0.6687982675610038, 0.6691293120197371, 0.6694600255912108,
+ 0.6697904086061548, 0.670120461394969, 0.6704501842877223,
+ 0.6707795776141544, 0.671108641703675, 0.6714373768853648,
+ 0.6717657834879753, 0.6720938618399296, 0.6724216122693225,
+ 0.6727490351039208, 0.6730761306711638, 0.6734028992981633,
+ 0.6737293413117047, 0.6740554570382458, 0.674381246803919,
+ 0.6747067109345304, 0.6750318497555603, 0.6753566635921638,
+ 0.6756811527691712, 0.6760053176110876, 0.6763291584420945,
+ 0.6766526755860485, 0.6769758693664834, 0.6772987401066086,
+ 0.6776212881293115, 0.6779435137571563, 0.6782654173123844,
+ 0.6785869991169158, 0.6789082594923481, 0.6792291987599581,
+ 0.6795498172407008, 0.6798701152552111, 0.6801900931238029,
+ 0.68050975116647, 0.6808290897028865, 0.681148109052407,
+ 0.6814668095340666, 0.6817851914665822, 0.6821032551683512,
+ 0.6824210009574536, 0.682738429151651, 0.6830555400683873,
+ 0.6833723340247895, 0.6836888113376672, 0.684004972323514,
+ 0.6843208172985062, 0.6846363465785049, 0.6849515604790553,
+ 0.6852664593153867, 0.6855810434024139, 0.6858953130547369,
+ 0.6862092685866409, 0.6865229103120971, 0.6868362385447633,
+ 0.687149253597983, 0.687461955784787, 0.6877743454178934,
+ 0.6880864228097073, 0.6883981882723218, 0.6887096421175178,
+ 0.689020784656765, 0.6893316162012213, 0.689642137061734,
+ 0.6899523475488394, 0.6902622479727635, 0.6905718386434223,
+ 0.6908811198704219, 0.6911900919630591, 0.6914987552303216,
+ 0.6918071099808879, 0.6921151565231283, 0.6924228951651047,
+ 0.6927303262145712, 0.6930374499789742, 0.6933442667654529,
+ 0.6936507768808395, 0.6939569806316594, 0.6942628783241318,
+ 0.6945684702641695, 0.6948737567573798, 0.6951787381090646,
+ 0.6954834146242206, 0.6957877866075393, 0.6960918543634081,
+ 0.69639561819591, 0.696699078408824, 0.6970022353056254,
+ 0.6973050891894865, 0.6976076403632763, 0.697909889129561,
+ 0.6982118357906046, 0.6985134806483688, 0.6988148240045138,
+ 0.6991158661603977, 0.699416607417078, 0.6997170480753109,
+ 0.7000171884355522, 0.7003170287979572, 0.7006165694623812,
+ 0.70091581072838, 0.70121475289521, 0.7015133962618281,
+ 0.7018117411268927, 0.7021097877887635, 0.7024075365455023,
+ 0.7027049876948726, 0.7030021415343406, 0.7032989983610749,
+ 0.7035955584719471, 0.7038918221635324, 0.7041877897321093,
+ 0.7044834614736599, 0.7047788376838712, 0.7050739186581338,
+ 0.7053687046915438, 0.7056631960789016, 0.7059573931147136,
+ 0.7062512960931917, 0.7065449053082533, 0.7068382210535225,
+ 0.7071312436223296, 0.7074239733077119, 0.7077164104024138,
+ 0.7080085551988871, 0.7083004079892912, 0.7085919690654933,
+ 0.7088832387190692, 0.7091742172413034, 0.7094649049231885,
+ 0.7097553020554271, 0.7100454089284309, 0.710335225832321,
+ 0.7106247530569292, 0.710913990891797, 0.7112029396261766,
+ 0.7114915995490315, 0.711779970949036, 0.7120680541145756,
+ 0.7123558493337485, 0.712643356894364, 0.7129305770839439,
+ 0.713217510189723, 0.7135041564986487, 0.7137905162973818,
+ 0.7140765898722963, 0.7143623775094801, 0.7146478794947352,
+ 0.7149330961135778, 0.715218027651239, 0.7155026743926645,
+ 0.7157870366225152, 0.7160711146251676, 0.7163549086847141,
+ 0.7166384190849628, 0.7169216461094383, 0.7172045900413819,
+ 0.7174872511637518, 0.7177696297592231, 0.7180517261101884,
+ 0.7183335404987586, 0.718615073206762, 0.7188963245157451,
+ 0.7191772947069739, 0.7194579840614321, 0.7197383928598236,
+ 0.7200185213825707, 0.7202983699098164, 0.7205779387214231,
+ 0.7208572280969736, 0.7211362383157713, 0.7214149696568404,
+ 0.721693422398926, 0.721971596820495, 0.7222494931997359,
+ 0.7225271118145585, 0.7228044529425958, 0.7230815168612027,
+ 0.7233583038474569, 0.7236348141781592, 0.7239110481298339,
+ 0.7241870059787288, 0.7244626880008155, 0.7247380944717898,
+ 0.7250132256670722, 0.7252880818618073, 0.7255626633308654,
+ 0.7258369703488414, 0.7261110031900564, 0.7263847621285567,
+ 0.7266582474381151, 0.7269314593922306, 0.7272043982641287,
+ 0.7274770643267621, 0.7277494578528104, 0.7280215791146809,
+ 0.7282934283845084, 0.7285650059341557, 0.7288363120352142,
+ 0.7291073469590034, 0.7293781109765718, 0.7296486043586969,
+ 0.7299188273758861, 0.7301887802983753, 0.7304584633961313,
+ 0.7307278769388508, 0.7309970211959604, 0.7312658964366184,
+ 0.7315345029297131, 0.7318028409438646, 0.7320709107474244,
+ 0.7323387126084755, 0.7326062467948335, 0.7328735135740458,
+ 0.7331405132133925, 0.7334072459798867, 0.7336737121402745,
+ 0.7339399119610356, 0.7342058457083829, 0.7344715136482635,
+ 0.7347369160463587, 0.7350020531680842, 0.7352669252785904,
+ 0.7355315326427627, 0.7357958755252216, 0.7360599541903234,
+ 0.7363237689021598, 0.736587319924559, 0.7368506075210848,
+ 0.7371136319550383, 0.737376393489457, 0.7376388923871158,
+ 0.7379011289105265, 0.7381631033219388, 0.7384248158833402,
+ 0.7386862668564566, 0.7389474565027518, 0.7392083850834286,
+ 0.7394690528594288, 0.7397294600914328, 0.7399896070398615,
+ 0.7402494939648745, 0.7405091211263718, 0.7407684887839936,
+ 0.7410275971971204, 0.7412864466248739, 0.7415450373261161,
+ 0.7418033695594508, 0.7420614435832235, 0.7423192596555206,
+ 0.7425768180341715, 0.7428341189767473, 0.7430911627405619,
+ 0.743347949582672, 0.7436044797598771, 0.7438607535287203,
+ 0.7441167711454884, 0.7443725328662114, 0.7446280389466643,
+ 0.7448832896423658, 0.7451382852085793, 0.7453930259003132,
+ 0.7456475119723209, 0.7459017436791014, 0.746155721274899,
+ 0.746409445013704, 0.7466629151492529, 0.7469161319350285,
+ 0.7471690956242603, 0.7474218064699245, 0.7476742647247447,
+ 0.7479264706411921, 0.7481784244714849, 0.7484301264675894,
+ 0.7486815768812207, 0.7489327759638414, 0.7491837239666634,
+ 0.7494344211406472, 0.7496848677365024, 0.7499350640046882,
+ 0.7501850101954137, 0.7504347065586372, 0.7506841533440677,
+ 0.7509333508011645, 0.7511822991791376, 0.7514309987269479,
+ 0.751679449693307, 0.7519276523266788, 0.7521756068752782,
+ 0.752423313587072, 0.7526707727097796, 0.7529179844908723,
+ 0.7531649491775743, 0.7534116670168628, 0.7536581382554678,
+ 0.753904363139873, 0.7541503419163156, 0.7543960748307865,
+ 0.7546415621290313, 0.7548868040565494, 0.755131800858595,
+ 0.7553765527801771, 0.75562106006606, 0.7558653229607633,
+ 0.7561093417085618, 0.7563531165534869, 0.7565966477393253,
+ 0.7568399355096207, 0.7570829801076727, 0.7573257817765384,
+ 0.7575683407590315, 0.757810657297723, 0.7580527316349417,
+ 0.7582945640127741, 0.7585361546730646, 0.7587775038574159,
+ 0.7590186118071897, 0.7592594787635054, 0.7595001049672425,
+ 0.759740490659039, 0.7599806360792927, 0.7602205414681611,
+ 0.7604602070655615, 0.7606996331111716, 0.7609388198444295,
+ 0.7611777675045337, 0.761416476330444, 0.7616549465608811,
+ 0.7618931784343271, 0.762131172189026, 0.7623689280629833,
+ 0.762606446293967, 0.762843727119507, 0.7630807707768961,
+ 0.7633175775031897, 0.7635541475352068, 0.7637904811095287,
+ 0.7640265784625013, 0.7642624398302336, 0.7644980654485987,
+ 0.7647334555532339, 0.7649686103795416, 0.7652035301626878,
+ 0.7654382151376045, 0.7656726655389883, 0.7659068816013012,
+ 0.7661408635587711, 0.7663746116453917, 0.7666081260949227,
+ 0.7668414071408904, 0.7670744550165873, 0.7673072699550733,
+ 0.7675398521891746, 0.7677722019514854, 0.768004319474367,
+ 0.7682362049899485, 0.7684678587301269, 0.7686992809265678,
+ 0.768930471810705, 0.7691614316137406, 0.7693921605666464,
+ 0.7696226589001627, 0.7698529268447993, 0.7700829646308358,
+ 0.7703127724883215, 0.7705423506470759, 0.7707716993366883,
+ 0.7710008187865192, 0.7712297092256994, 0.7714583708831309,
+ 0.7716868039874866, 0.7719150087672111, 0.7721429854505208,
+ 0.7723707342654037, 0.77259825543962, 0.7728255492007022,
+ 0.7730526157759556, 0.773279455392458, 0.7735060682770605,
+ 0.7737324546563873, 0.773958614756836, 0.7741845488045782,
+ 0.7744102570255591, 0.7746357396454984, 0.77486099688989,
+ 0.7750860289840023, 0.7753108361528785, 0.7755354186213375,
+ 0.7757597766139727, 0.7759839103551534, 0.7762078200690246,
+ 0.776431505979507, 0.7766549683102981, 0.7768782072848712,
+ 0.7771012231264764, 0.7773240160581409, 0.7775465863026686,
+ 0.777768934082641, 0.7779910596204169, 0.7782129631381333,
+ 0.7784346448577044, 0.7786561050008232, 0.778877343788961,
+ 0.7790983614433675, 0.7793191581850717, 0.7795397342348812,
+ 0.7797600898133831, 0.779980225140944, 0.7802001404377104,
+ 0.7804198359236085, 0.7806393118183448, 0.7808585683414061,
+ 0.7810776057120601, 0.781296424149355, 0.7815150238721202,
+ 0.7817334050989665, 0.7819515680482858, 0.7821695129382523,
+ 0.7823872399868217, 0.7826047494117317, 0.7828220414305029,
+ 0.7830391162604382, 0.7832559741186232, 0.7834726152219267,
+ 0.7836890397870004, 0.7839052480302802, 0.7841212401679847,
+ 0.784337016416117, 0.7845525769904642, 0.7847679221065977,
+ 0.7849830519798734, 0.7851979668254319, 0.7854126668581988,
+ 0.7856271522928848, 0.7858414233439863, 0.786055480225785,
+ 0.7862693231523483, 0.7864829523375302, 0.7866963679949702,
+ 0.786909570338095, 0.7871225595801175, 0.7873353359340374,
+ 0.7875478996126419, 0.7877602508285053, 0.7879723897939895,
+ 0.7881843167212441, 0.7883960318222065, 0.7886075353086026,
+ 0.7888188273919463, 0.7890299082835402, 0.7892407781944761,
+ 0.7894514373356343, 0.7896618859176843, 0.7898721241510854,
+ 0.7900821522460864, 0.7902919704127259, 0.7905015788608325,
+ 0.7907109778000253, 0.7909201674397135, 0.7911291479890974,
+ 0.7913379196571678, 0.7915464826527071, 0.7917548371842886,
+ 0.7919629834602773, 0.7921709216888297, 0.7923786520778948,
+ 0.7925861748352132, 0.792793490168318, 0.7930005982845352,
+ 0.7932074993909828, 0.7934141936945727, 0.7936206814020093,
+ 0.7938269627197908, 0.7940330378542089, 0.7942389070113488,
+ 0.7944445703970903, 0.7946500282171067, 0.7948552806768664,
+ 0.7950603279816321, 0.7952651703364613, 0.7954698079462066,
+ 0.795674241015516, 0.7958784697488326, 0.7960824943503956,
+ 0.7962863150242396, 0.7964899319741956, 0.7966933454038909,
+ 0.7968965555167487, 0.7970995625159897, 0.7973023666046308,
+ 0.7975049679854864, 0.7977073668611679, 0.7979095634340845,
+ 0.7981115579064427, 0.7983133504802473, 0.7985149413573007,
+ 0.7987163307392042, 0.798917518827357, 0.7991185058229575,
+ 0.7993192919270025, 0.7995198773402883, 0.7997202622634103,
+ 0.7999204468967637, 0.8001204314405428, 0.8003202160947424,
+ 0.800519801059157, 0.8007191865333817, 0.800918372716812,
+ 0.8011173598086438, 0.8013161480078745, 0.8015147375133019,
+ 0.8017131285235258, 0.8019113212369471, 0.802109315851768,
+ 0.8023071125659935, 0.8025047115774301, 0.8027021130836867,
+ 0.8028993172821746, 0.803096324370108, 0.8032931345445038,
+ 0.8034897480021821, 0.803686164939766, 0.8038823855536825,
+ 0.8040784100401619, 0.8042742385952387, 0.8044698714147511,
+ 0.8046653086943416, 0.8048605506294575, 0.8050555974153505,
+ 0.805250449247077, 0.8054451063194986, 0.8056395688272824,
+ 0.8058338369649003, 0.8060279109266304, 0.8062217909065561,
+ 0.8064154770985675, 0.8066089696963602, 0.8068022688934365,
+ 0.8069953748831056, 0.8071882878584826, 0.8073810080124906,
+ 0.8075735355378592, 0.8077658706271256, 0.8079580134726345,
+ 0.8081499642665384, 0.8083417232007978, 0.8085332904671811,
+ 0.8087246662572652, 0.8089158507624357, 0.8091068441738862,
+ 0.8092976466826202, 0.8094882584794493, 0.8096786797549951,
+ 0.8098689106996885, 0.8100589515037697, 0.8102488023572891,
+ 0.8104384634501073, 0.8106279349718947, 0.8108172171121322,
+ 0.8110063100601117, 0.8111952140049353, 0.8113839291355168,
+ 0.8115724556405804, 0.8117607937086623, 0.8119489435281099,
+ 0.8121369052870824, 0.812324679173551, 0.812512265375299,
+ 0.8126996640799221, 0.8128868754748282, 0.8130738997472382,
+ 0.8132607370841858, 0.8134473876725176, 0.8136338516988935,
+ 0.8138201293497869, 0.8140062208114848, 0.814192126270088,
+ 0.8143778459115112, 0.8145633799214833, 0.8147487284855478,
+ 0.8149338917890624, 0.8151188700171998, 0.8153036633549473,
+ 0.8154882719871077, 0.8156726960982986, 0.8158569358729537,
+ 0.8160409914953217, 0.8162248631494677, 0.8164085510192725,
+ 0.8165920552884329, 0.8167753761404626, 0.8169585137586917,
+ 0.8171414683262668, 0.8173242400261517, 0.8175068290411273,
+ 0.8176892355537917, 0.8178714597465606, 0.8180535018016672,
+ 0.8182353619011631, 0.8184170402269169, 0.8185985369606164,
+ 0.8187798522837673, 0.818960986377694, 0.8191419394235397,
+ 0.8193227116022666, 0.8195033030946558, 0.8196837140813078,
+ 0.8198639447426428, 0.8200439952589003, 0.82022386581014,
+ 0.8204035565762413, 0.8205830677369041, 0.8207623994716485,
+ 0.8209415519598153, 0.8211205253805658, 0.8212993199128824,
+ 0.8214779357355688, 0.8216563730272495, 0.821834631966371,
+ 0.8220127127312008, 0.8221906154998289, 0.8223683404501668,
+ 0.8225458877599486, 0.8227232576067303, 0.8229004501678905,
+ 0.823077465620631, 0.8232543041419758, 0.8234309659087724,
+ 0.8236074510976914, 0.8237837598852269, 0.8239598924476964,
+ 0.8241358489612414, 0.824311629601827, 0.824487234545243,
+ 0.8246626639671029, 0.8248379180428449, 0.825012996947732,
+ 0.8251879008568518, 0.8253626299451169, 0.8255371843872652,
+ 0.8257115643578599, 0.8258857700312896, 0.8260598015817688,
+ 0.8262336591833378, 0.8264073430098628, 0.8265808532350365,
+ 0.8267541900323776, 0.8269273535752317, 0.827100344036771,
+ 0.8272731615899946, 0.8274458064077288, 0.827618278662627,
+ 0.82779057852717, 0.8279627061736664, 0.8281346617742524,
+ 0.8283064455008924, 0.8284780575253785, 0.8286494980193315,
+ 0.8288207671542003, 0.8289918651012627, 0.8291627920316252,
+ 0.8293335481162234, 0.8295041335258218, 0.8296745484310144,
+ 0.8298447930022248, 0.8300148674097056, 0.8301847718235403,
+ 0.8303545064136416, 0.8305240713497526, 0.8306934668014466,
+ 0.8308626929381278, 0.8310317499290305, 0.8312006379432204,
+ 0.8313693571495938, 0.8315379077168785, 0.8317062898136335,
+ 0.8318745036082493, 0.832042549268948, 0.8322104269637839,
+ 0.8323781368606429, 0.8325456791272434, 0.832713053931136,
+ 0.8328802614397041, 0.8330473018201633, 0.8332141752395624,
+ 0.8333808818647833, 0.8335474218625409, 0.8337137953993836,
+ 0.8338800026416932, 0.8340460437556851, 0.8342119189074092,
+ 0.8343776282627485, 0.8345431719874209, 0.8347085502469783,
+ 0.8348737632068073, 0.8350388110321292, 0.8352036938879999,
+ 0.8353684119393107, 0.8355329653507878, 0.8356973542869929,
+ 0.8358615789123232, 0.8360256393910115, 0.8361895358871263,
+ 0.8363532685645727, 0.8365168375870914, 0.8366802431182595,
+ 0.8368434853214908, 0.8370065643600357, 0.8371694803969815,
+ 0.8373322335952522, 0.8374948241176092, 0.8376572521266514,
+ 0.8378195177848147, 0.8379816212543728, 0.8381435626974376,
+ 0.8383053422759583, 0.838466960151723, 0.8386284164863572,
+ 0.8387897114413256, 0.8389508451779313, 0.8391118178573159,
+ 0.8392726296404602, 0.8394332806881842, 0.8395937711611469,
+ 0.8397541012198466, 0.8399142710246217, 0.8400742807356499,
+ 0.8402341305129489, 0.8403938205163765, 0.8405533509056307,
+ 0.8407127218402499, 0.840871933479613, 0.8410309859829395,
+ 0.8411898795092901, 0.8413486142175661, 0.8415071902665103,
+ 0.8416656078147067, 0.8418238670205807, 0.8419819680423992,
+ 0.8421399110382716, 0.8422976961661485, 0.842455323583823,
+ 0.8426127934489304, 0.8427701059189485, 0.8429272611511976,
+ 0.8430842593028409, 0.8432411005308843, 0.8433977849921769,
+ 0.8435543128434111, 0.8437106842411225, 0.8438668993416903,
+ 0.8440229583013376, 0.844178861276131, 0.8443346084219814,
+ 0.8444901998946436, 0.844645635849717, 0.8448009164426452,
+ 0.8449560418287168, 0.8451110121630647, 0.8452658276006672,
+ 0.8454204882963473, 0.8455749944047737, 0.8457293460804599,
+ 0.8458835434777657, 0.8460375867508959, 0.8461914760539017,
+ 0.84634521154068, 0.8464987933649739, 0.8466522216803731,
+ 0.8468054966403136, 0.8469586183980778, 0.8471115871067953,
+ 0.8472644029194426, 0.8474170659888429, 0.8475695764676672,
+ 0.8477219345084333, 0.847874140263507, 0.8480261938851019,
+ 0.8481780955252789, 0.8483298453359475, 0.8484814434688648,
+ 0.8486328900756369, 0.8487841853077177, 0.8489353293164102,
+ 0.849086322252866, 0.8492371642680854, 0.8493878555129181,
+ 0.8495383961380629, 0.8496887862940679, 0.8498390261313309,
+ 0.8499891158000991, 0.8501390554504697, 0.85028884523239,
+ 0.8504384852956572, 0.8505879757899191, 0.8507373168646731,
+ 0.8508865086692684, 0.8510355513529038, 0.8511844450646298,
+ 0.8513331899533472, 0.8514817861678088, 0.8516302338566177,
+ 0.8517785331682296, 0.8519266842509509, 0.85207468725294,
+ 0.8522225423222076, 0.8523702496066161, 0.8525178092538801,
+ 0.8526652214115666, 0.8528124862270953, 0.8529596038477383,
+ 0.8531065744206205, 0.85325339809272, 0.8534000750108679,
+ 0.8535466053217482, 0.8536929891718986, 0.8538392267077105,
+ 0.8539853180754285, 0.8541312634211514, 0.8542770628908319,
+ 0.8544227166302768, 0.8545682247851469, 0.8547135875009579,
+ 0.8548588049230796, 0.855003877196737, 0.8551488044670092,
+ 0.8552935868788312, 0.8554382245769923, 0.8555827177061375,
+ 0.8557270664107673, 0.8558712708352376, 0.8560153311237599,
+ 0.856159247420402, 0.8563030198690871, 0.856446648613595,
+ 0.8565901337975617, 0.8567334755644793, 0.8568766740576972,
+ 0.8570197294204205, 0.8571626417957122, 0.8573054113264916,
+ 0.8574480381555355, 0.8575905224254777, 0.8577328642788098,
+ 0.8578750638578807, 0.858017121304897, 0.8581590367619234,
+ 0.8583008103708825, 0.8584424422735549, 0.8585839326115796,
+ 0.8587252815264541, 0.8588664891595343, 0.859007555652035,
+ 0.8591484811450298, 0.8592892657794511, 0.8594299096960906,
+ 0.8595704130355993, 0.8597107759384877, 0.8598509985451255,
+ 0.8599910809957425, 0.860131023430428, 0.8602708259891318,
+ 0.860410488811663, 0.8605500120376919, 0.8606893958067482,
+ 0.860828640258223, 0.8609677455313677, 0.8611067117652944,
+ 0.8612455390989764, 0.8613842276712479, 0.8615227776208045,
+ 0.861661189086203, 0.861799462205862, 0.8619375971180612,
+ 0.8620755939609428, 0.8622134528725103, 0.8623511739906297,
+ 0.8624887574530288, 0.8626262033972982, 0.8627635119608905,
+ 0.8629006832811212, 0.8630377174951687, 0.8631746147400738,
+ 0.8633113751527407, 0.8634479988699366, 0.8635844860282923,
+ 0.8637208367643016, 0.863857051214322, 0.863993129514575,
+ 0.8641290718011454, 0.8642648782099827, 0.8644005488768997,
+ 0.8645360839375741, 0.8646714835275477, 0.8648067477822269,
+ 0.8649418768368826, 0.8650768708266509, 0.8652117298865323,
+ 0.8653464541513926, 0.8654810437559629, 0.8656154988348397,
+ 0.8657498195224845, 0.8658840059532249, 0.8660180582612541,
+ 0.8661519765806309, 0.8662857610452807, 0.8664194117889943,
+ 0.8665529289454292, 0.8666863126481095, 0.8668195630304253,
+ 0.8669526802256338, 0.8670856643668587, 0.8672185155870911,
+ 0.8673512340191886, 0.8674838197958764, 0.8676162730497469,
+ 0.86774859391326, 0.8678807825187431, 0.8680128389983915,
+ 0.8681447634842684, 0.8682765561083047, 0.8684082170022998,
+ 0.868539746297921, 0.8686711441267043, 0.868802410620054,
+ 0.8689335459092434, 0.8690645501254142, 0.8691954233995772,
+ 0.8693261658626122, 0.8694567776452683, 0.8695872588781637,
+ 0.8697176096917862, 0.8698478302164931, 0.8699779205825117,
+ 0.8701078809199386, 0.8702377113587407, 0.8703674120287551,
+ 0.8704969830596888, 0.8706264245811194, 0.8707557367224948,
+ 0.8708849196131337, 0.8710139733822255, 0.8711428981588305,
+ 0.8712716940718797, 0.8714003612501755, 0.8715288998223918,
+ 0.8716573099170732, 0.8717855916626367, 0.87191374518737,
+ 0.8720417706194334, 0.8721696680868585, 0.8722974377175494,
+ 0.8724250796392818, 0.8725525939797045, 0.8726799808663378,
+ 0.8728072404265751, 0.8729343727876824, 0.8730613780767983,
+ 0.8731882564209346, 0.8733150079469759, 0.8734416327816801,
+ 0.8735681310516784, 0.8736945028834754, 0.8738207484034491,
+ 0.8739468677378517, 0.8740728610128086, 0.8741987283543193,
+ 0.8743244698882576, 0.8744500857403713, 0.8745755760362827,
+ 0.8747009409014881, 0.8748261804613587, 0.8749512948411405,
+ 0.8750762841659541, 0.8752011485607949, 0.8753258881505338,
+ 0.8754505030599165, 0.8755749934135642, 0.8756993593359733,
+ 0.8758236009515162, 0.8759477183844406, 0.8760717117588703,
+ 0.8761955811988048, 0.8763193268281196, 0.8764429487705668,
+ 0.8765664471497743, 0.8766898220892468, 0.8768130737123654,
+ 0.8769362021423878, 0.8770592075024486, 0.8771820899155596,
+ 0.877304849504609, 0.8774274863923627, 0.8775500007014637,
+ 0.8776723925544325, 0.8777946620736671, 0.877916809381443,
+ 0.8780388345999137, 0.8781607378511106, 0.878282519256943,
+ 0.8784041789391985, 0.8785257170195427, 0.8786471336195198,
+ 0.8787684288605526, 0.8788896028639424, 0.8790106557508692,
+ 0.879131587642392, 0.8792523986594486, 0.8793730889228563,
+ 0.8794936585533112, 0.8796141076713891, 0.8797344363975452,
+ 0.8798546448521141, 0.8799747331553104, 0.8800947014272282,
+ 0.8802145497878422, 0.8803342783570063, 0.8804538872544554,
+ 0.8805733765998042, 0.880692746512548, 0.8808119971120629,
+ 0.8809311285176054, 0.8810501408483128, 0.8811690342232034,
+ 0.8812878087611765, 0.8814064645810127, 0.8815250018013736,
+ 0.8816434205408026, 0.8817617209177241, 0.8818799030504446,
+ 0.881997967057152, 0.8821159130559164, 0.8822337411646896,
+ 0.8823514515013056, 0.8824690441834806, 0.8825865193288132,
+ 0.8827038770547845, 0.882821117478758, 0.8829382407179801,
+ 0.8830552468895799, 0.8831721361105693, 0.8832889084978436,
+ 0.8834055641681807, 0.8835221032382424, 0.8836385258245736,
+ 0.8837548320436025, 0.8838710220116414, 0.8839870958448859,
+ 0.8841030536594157, 0.8842188955711945, 0.8843346216960699,
+ 0.8844502321497738, 0.8845657270479226, 0.884681106506017,
+ 0.8847963706394419, 0.8849115195634676, 0.8850265533932485,
+ 0.8851414722438244, 0.8852562762301199, 0.8853709654669446,
+ 0.8854855400689936, 0.8856000001508472, 0.8857143458269712,
+ 0.8858285772117169, 0.8859426944193215, 0.886056697563908,
+ 0.8861705867594852, 0.886284362119948, 0.8863980237590774,
+ 0.8865115717905409, 0.886625006327892, 0.8867383274845709,
+ 0.8868515353739047, 0.8869646301091068, 0.8870776118032776,
+ 0.8871904805694044, 0.8873032365203618, 0.8874158797689111,
+ 0.8875284104277016, 0.8876408286092692, 0.8877531344260379,
+ 0.8878653279903191, 0.887977409414312, 0.8880893788101037,
+ 0.8882012362896692, 0.8883129819648714, 0.8884246159474617,
+ 0.8885361383490797, 0.8886475492812533, 0.8887588488553992,
+ 0.8888700371828224, 0.8889811143747167, 0.889092080542165,
+ 0.8892029357961391, 0.8893136802474997, 0.8894243140069966,
+ 0.8895348371852695, 0.8896452498928469, 0.8897555522401469,
+ 0.8898657443374777, 0.8899758262950366, 0.8900857982229112,
+ 0.8901956602310791, 0.8903054124294075, 0.8904150549276544,
+ 0.8905245878354675, 0.8906340112623854, 0.890743325317837,
+ 0.8908525301111416, 0.8909616257515098, 0.8910706123480425,
+ 0.8911794900097318, 0.8912882588454608, 0.8913969189640039,
+ 0.8915054704740264, 0.8916139134840855, 0.8917222481026295,
+ 0.8918304744379983, 0.8919385925984241, 0.8920466026920302,
+ 0.892154504826832, 0.8922622991107373, 0.8923699856515456,
+ 0.8924775645569488, 0.8925850359345313, 0.8926923998917698,
+ 0.8927996565360339, 0.8929068059745852, 0.8930138483145786,
+ 0.893120783663062, 0.893227612126976, 0.8933343338131544,
+ 0.8934409488283243, 0.8935474572791059, 0.8936538592720131,
+ 0.8937601549134532, 0.8938663443097271, 0.8939724275670298,
+ 0.8940784047914494, 0.8941842760889689, 0.8942900415654645,
+ 0.8943957013267073, 0.8945012554783621, 0.8946067041259885,
+ 0.8947120473750404, 0.8948172853308664, 0.8949224180987094,
+ 0.8950274457837079, 0.8951323684908944, 0.8952371863251972,
+ 0.8953418993914393, 0.8954465077943389, 0.8955510116385097,
+ 0.8956554110284607, 0.8957597060685968, 0.8958638968632179,
+ 0.8959679835165203, 0.8960719661325957, 0.896175844815432,
+ 0.896279619668913, 0.8963832907968189, 0.8964868583028258,
+ 0.8965903222905067, 0.8966936828633305, 0.896796940124663,
+ 0.8969000941777667, 0.8970031451258009, 0.8971060930718215,
+ 0.8972089381187818, 0.8973116803695318, 0.8974143199268191,
+ 0.8975168568932882, 0.8976192913714813, 0.8977216234638381,
+ 0.8978238532726956, 0.8979259809002891, 0.8980280064487509,
+ 0.8981299300201119, 0.8982317517163008, 0.8983334716391442,
+ 0.8984350898903674, 0.8985366065715934, 0.8986380217843444,
+ 0.8987393356300403, 0.8988405482100001, 0.8989416596254416,
+ 0.8990426699774813, 0.8991435793671343, 0.8992443878953154,
+ 0.8993450956628379, 0.8994457027704149, 0.8995462093186584,
+ 0.8996466154080798, 0.8997469211390905, 0.8998471266120011,
+ 0.8999472319270221, 0.9000472371842639, 0.9001471424837368,
+ 0.900246947925351, 0.9003466536089169, 0.9004462596341453,
+ 0.9005457661006472, 0.9006451731079339, 0.9007444807554176,
+ 0.9008436891424108, 0.9009427983681269, 0.9010418085316799,
+ 0.9011407197320853, 0.9012395320682589, 0.9013382456390182,
+ 0.9014368605430817, 0.9015353768790692, 0.9016337947455018,
+ 0.9017321142408026, 0.9018303354632957, 0.9019284585112075,
+ 0.9020264834826659, 0.9021244104757008, 0.902222239588244,
+ 0.9023199709181295, 0.9024176045630937, 0.9025151406207751,
+ 0.9026125791887144, 0.9027099203643554, 0.9028071642450438,
+ 0.9029043109280286, 0.9030013605104612, 0.9030983130893961,
+ 0.9031951687617908, 0.9032919276245058, 0.9033885897743048,
+ 0.9034851553078548, 0.9035816243217261, 0.9036779969123925,
+ 0.9037742731762315, 0.9038704532095243, 0.9039665371084555,
+ 0.9040625249691141, 0.9041584168874925, 0.9042542129594877,
+ 0.9043499132809003, 0.9044455179474356, 0.9045410270547029,
+ 0.9046364406982161, 0.9047317589733939, 0.904826981975559,
+ 0.9049221097999394, 0.9050171425416674, 0.9051120802957809,
+ 0.9052069231572222, 0.9053016712208388, 0.9053963245813839,
+ 0.905490883333515, 0.9055853475717961, 0.9056797173906961,
+ 0.9057739928845893, 0.905868174147756, 0.9059622612743823,
+ 0.90605625435856, 0.9061501534942868, 0.9062439587754667,
+ 0.9063376702959095, 0.9064312881493316, 0.9065248124293553,
+ 0.9066182432295098, 0.9067115806432304, 0.9068048247638594,
+ 0.9068979756846454, 0.9069910334987441, 0.9070839982992178,
+ 0.9071768701790361, 0.9072696492310757, 0.90736233554812,
+ 0.90745492922286, 0.9075474303478941, 0.9076398390157281,
+ 0.9077321553187752, 0.9078243793493563, 0.9079165111997002,
+ 0.9080085509619433, 0.9081004987281299, 0.9081923545902124,
+ 0.9082841186400513, 0.9083757909694153, 0.9084673716699811,
+ 0.9085588608333344, 0.9086502585509685, 0.9087415649142858,
+ 0.9088327800145974, 0.908923903943123, 0.9090149367909909,
+ 0.9091058786492385, 0.9091967296088124, 0.909287489760568,
+ 0.9093781591952699, 0.9094687380035923, 0.9095592262761184,
+ 0.9096496241033409, 0.9097399315756625, 0.9098301487833949,
+ 0.9099202758167598, 0.910010312765889, 0.9101002597208238,
+ 0.9101901167715155, 0.910279884007826, 0.9103695615195267,
+ 0.9104591493962999, 0.9105486477277378, 0.9106380566033433,
+ 0.9107273761125296, 0.9108166063446208, 0.9109057473888515,
+ 0.9109947993343673, 0.9110837622702247, 0.9111726362853909,
+ 0.9112614214687444, 0.911350117909075, 0.9114387256950834,
+ 0.911527244915382, 0.9116156756584941, 0.9117040180128553,
+ 0.9117922720668121, 0.9118804379086232, 0.9119685156264585,
+ 0.9120565053084004, 0.9121444070424432, 0.9122322209164925,
+ 0.9123199470183669, 0.9124075854357969, 0.9124951362564252,
+ 0.9125825995678071, 0.9126699754574101, 0.9127572640126148,
+ 0.912844465320714, 0.9129315794689131, 0.913018606544331,
+ 0.9131055466339988, 0.9131923998248612, 0.9132791662037757,
+ 0.9133658458575129, 0.9134524388727568, 0.9135389453361049,
+ 0.913625365334068, 0.9137116989530703, 0.9137979462794497,
+ 0.9138841073994579, 0.9139701823992605, 0.9140561713649367,
+ 0.9141420743824795, 0.9142278915377967, 0.9143136229167095,
+ 0.9143992686049536, 0.9144848286881788, 0.9145703032519499,
+ 0.9146556923817453, 0.9147409961629587, 0.914826214680898,
+ 0.914911348020786, 0.9149963962677603, 0.9150813595068735,
+ 0.9151662378230931, 0.9152510313013016, 0.9153357400262967,
+ 0.9154203640827914, 0.9155049035554139, 0.9155893585287082,
+ 0.9156737290871331, 0.9157580153150636, 0.9158422172967903,
+ 0.9159263351165191, 0.9160103688583723, 0.9160943186063876,
+ 0.916178184444519, 0.9162619664566368, 0.9163456647265269,
+ 0.916429279337892, 0.9165128103743506, 0.9165962579194382,
+ 0.9166796220566065, 0.9167629028692236, 0.9168461004405747,
+ 0.9169292148538615, 0.9170122461922025, 0.9170951945386331,
+ 0.917178059976106, 0.9172608425874909, 0.9173435424555741,
+ 0.9174261596630601, 0.91750869429257, 0.9175911464266425,
+ 0.9176735161477341, 0.9177558035382184, 0.917838008680387,
+ 0.9179201316564493, 0.9180021725485321, 0.9180841314386807,
+ 0.9181660084088579, 0.9182478035409449, 0.9183295169167409,
+ 0.9184111486179632, 0.9184926987262478, 0.9185741673231488,
+ 0.9186555544901389, 0.9187368603086093, 0.91881808485987,
+ 0.9188992282251496, 0.9189802904855953, 0.9190612717222737,
+ 0.91914217201617, 0.9192229914481884, 0.9193037300991527,
+ 0.9193843880498053, 0.9194649653808084, 0.9195454621727431,
+ 0.9196258785061104, 0.9197062144613308, 0.919786470118744,
+ 0.91986664555861, 0.9199467408611078, 0.9200267561063371,
+ 0.9201066913743171, 0.9201865467449869, 0.920266322298206,
+ 0.9203460181137539, 0.9204256342713305, 0.9205051708505558,
+ 0.9205846279309705, 0.9206640055920355, 0.9207433039131326,
+ 0.920822522973564, 0.9209016628525528, 0.9209807236292428,
+ 0.9210597053826987, 0.9211386081919062, 0.9212174321357721,
+ 0.9212961772931243, 0.921374843742712, 0.9214534315632054,
+ 0.9215319408331963, 0.921610371631198, 0.9216887240356452,
+ 0.9217669981248942, 0.9218451939772229, 0.9219233116708312,
+ 0.9220013512838408, 0.922079312894295, 0.9221571965801594,
+ 0.9222350024193217, 0.9223127304895915, 0.9223903808687008,
+ 0.9224679536343039, 0.9225454488639774, 0.9226228666352204,
+ 0.9227002070254546, 0.9227774701120243, 0.9228546559721964,
+ 0.9229317646831606, 0.9230087963220295, 0.9230857509658387,
+ 0.9231626286915464, 0.9232394295760346, 0.9233161536961076,
+ 0.9233928011284936, 0.923469371949844, 0.9235458662367332,
+ 0.9236222840656594, 0.9236986255130443, 0.9237748906552331,
+ 0.9238510795684949, 0.9239271923290222, 0.9240032290129317,
+ 0.924079189696264, 0.9241550744549836, 0.9242308833649787,
+ 0.9243066165020624, 0.9243822739419714, 0.9244578557603671,
+ 0.9245333620328349, 0.9246087928348851, 0.924684148241952,
+ 0.9247594283293951, 0.9248346331724979, 0.9249097628464693,
+ 0.9249848174264427, 0.9250597969874763, 0.9251347016045535,
+ 0.9252095313525827, 0.9252842863063973, 0.9253589665407561,
+ 0.9254335721303429, 0.9255081031497674, 0.9255825596735638,
+ 0.925656941776193, 0.9257312495320402, 0.9258054830154173,
+ 0.9258796423005613, 0.9259537274616354, 0.9260277385727282,
+ 0.9261016757078547, 0.9261755389409557, 0.9262493283458981,
+ 0.9263230439964751, 0.9263966859664059, 0.9264702543293363,
+ 0.9265437491588382, 0.9266171705284102, 0.9266905185114773,
+ 0.9267637931813913, 0.9268369946114303, 0.9269101228747997,
+ 0.9269831780446312, 0.9270561601939835, 0.9271290693958427,
+ 0.9272019057231216, 0.9272746692486601, 0.9273473600452253,
+ 0.9274199781855118, 0.9274925237421413, 0.9275649967876629,
+ 0.9276373973945535, 0.9277097256352171, 0.9277819815819857,
+ 0.9278541653071188, 0.9279262768828038, 0.9279983163811558,
+ 0.9280702838742181, 0.9281421794339615, 0.9282140031322854,
+ 0.928285755041017, 0.9283574352319117, 0.9284290437766536,
+ 0.9285005807468545, 0.9285720462140551, 0.9286434402497245,
+ 0.9287147629252601, 0.9287860143119884, 0.9288571944811643,
+ 0.9289283035039714, 0.9289993414515223, 0.9290703083948587,
+ 0.9291412044049508, 0.9292120295526985, 0.9292827839089303,
+ 0.9293534675444041, 0.929424080529807, 0.9294946229357557,
+ 0.929565094832796, 0.9296354962914034, 0.9297058273819829,
+ 0.9297760881748691, 0.9298462787403263, 0.9299163991485486,
+ 0.9299864494696598, 0.9300564297737139, 0.9301263401306946,
+ 0.9301961806105158, 0.9302659512830215, 0.9303356522179858,
+ 0.9304052834851132, 0.9304748451540383, 0.9305443372943265,
+ 0.9306137599754734, 0.9306831132669048, 0.9307523972379779,
+ 0.9308216119579799, 0.9308907574961289, 0.9309598339215742,
+ 0.9310288413033956, 0.9310977797106037, 0.9311666492121407,
+ 0.9312354498768791, 0.9313041817736235, 0.931372844971109,
+ 0.9314414395380023, 0.9315099655429013, 0.9315784230543356,
+ 0.931646812140766, 0.9317151328705849, 0.9317833853121168,
+ 0.9318515695336174, 0.9319196856032741, 0.9319877335892067,
+ 0.9320557135594665, 0.9321236255820369, 0.9321914697248331,
+ 0.932259246055703, 0.9323269546424261, 0.9323945955527144,
+ 0.9324621688542122, 0.9325296746144962, 0.9325971129010756,
+ 0.932664483781392, 0.9327317873228197, 0.9327990235926655,
+ 0.9328661926581692, 0.9329332945865031, 0.9330003294447725,
+ 0.9330672973000157, 0.9331341982192038, 0.9332010322692412,
+ 0.9332677995169653, 0.9333345000291465, 0.9334011338724888,
+ 0.9334677011136294, 0.9335342018191388, 0.933600636055521,
+ 0.9336670038892136, 0.9337333053865879, 0.9337995406139487,
+ 0.9338657096375342, 0.9339318125235172, 0.9339978493380036,
+ 0.9340638201470336, 0.9341297250165813, 0.9341955640125549,
+ 0.9342613372007967, 0.9343270446470832, 0.934392686417125,
+ 0.9344582625765674, 0.9345237731909896, 0.9345892183259056,
+ 0.9346545980467639, 0.9347199124189474, 0.9347851615077736,
+ 0.9348503453784951, 0.934915464096299, 0.9349805177263071,
+ 0.9350455063335765, 0.935110429983099, 0.9351752887398014,
+ 0.9352400826685459, 0.9353048118341294, 0.9353694763012845,
+ 0.9354340761346789, 0.9354986113989157, 0.9355630821585332,
+ 0.9356274884780056, 0.9356918304217424, 0.9357561080540887,
+ 0.9358203214393254, 0.935884470641669, 0.935948555725272,
+ 0.9360125767542229, 0.9360765337925455, 0.9361404269042004,
+ 0.9362042561530837, 0.936268021603028, 0.9363317233178019,
+ 0.9363953613611101, 0.9364589357965942, 0.9365224466878316,
+ 0.9365858940983364, 0.9366492780915591, 0.936712598730887,
+ 0.9367758560796439, 0.9368390502010903, 0.9369021811584234,
+ 0.9369652490147774, 0.9370282538332233, 0.9370911956767691,
+ 0.9371540746083598, 0.9372168906908774, 0.9372796439871413,
+ 0.9373423345599077, 0.9374049624718706, 0.9374675277856607,
+ 0.9375300305638467, 0.9375924708689344, 0.9376548487633674,
+ 0.9377171643095265, 0.9377794175697305, 0.9378416086062357,
+ 0.9379037374812362, 0.9379658042568643, 0.9380278089951894,
+ 0.9380897517582198, 0.9381516326079011, 0.9382134516061174,
+ 0.9382752088146906, 0.9383369042953812, 0.9383985381098876,
+ 0.9384601103198469, 0.9385216209868342, 0.9385830701723633,
+ 0.9386444579378865, 0.9387057843447948, 0.9387670494544174,
+ 0.9388282533280224, 0.9388893960268172, 0.9389504776119472,
+ 0.9390114981444971, 0.9390724576854905, 0.9391333562958901,
+ 0.9391941940365974, 0.9392549709684533, 0.9393156871522378,
+ 0.93937634264867, 0.9394369375184085, 0.9394974718220512,
+ 0.9395579456201354, 0.9396183589731381, 0.9396787119414755,
+ 0.9397390045855035, 0.939799236965518, 0.9398594091417544,
+ 0.9399195211743876, 0.9399795731235329, 0.9400395650492452,
+ 0.9400994970115194, 0.9401593690702905, 0.9402191812854336,
+ 0.9402789337167637, 0.9403386264240365, 0.9403982594669476,
+ 0.940457832905133, 0.940517346798169, 0.9405768012055726,
+ 0.9406361961868013, 0.9406955318012529, 0.940754808108266,
+ 0.9408140251671199, 0.9408731830370346, 0.9409322817771709,
+ 0.9409913214466307, 0.9410503021044564, 0.9411092238096317,
+ 0.9411680866210813, 0.9412268905976708, 0.9412856357982075,
+ 0.941344322281439, 0.9414029501060551, 0.9414615193306864,
+ 0.9415200300139053, 0.941578482214225, 0.941636875990101,
+ 0.9416952113999298, 0.9417534885020499, 0.9418117073547411,
+ 0.9418698680162253, 0.941927970544666, 0.9419860149981688,
+ 0.942044001434781, 0.9421019299124918, 0.9421598004892326,
+ 0.942217613222877, 0.9422753681712407, 0.9423330653920813,
+ 0.9423907049430991, 0.9424482868819364, 0.9425058112661782,
+ 0.9425632781533515, 0.9426206876009263, 0.9426780396663149,
+ 0.9427353344068722, 0.9427925718798956, 0.9428497521426258,
+ 0.9429068752522458, 0.9429639412658815, 0.9430209502406017,
+ 0.9430779022334184, 0.9431347973012864, 0.9431916355011035,
+ 0.943248416889711, 0.9433051415238928, 0.9433618094603766,
+ 0.9434184207558332, 0.9434749754668766, 0.9435314736500644,
+ 0.9435879153618977, 0.9436443006588208, 0.943700629597222,
+ 0.9437569022334331, 0.9438131186237295, 0.9438692788243304,
+ 0.9439253828913987, 0.9439814308810415, 0.9440374228493094,
+ 0.9440933588521973, 0.9441492389456438, 0.9442050631855321,
+ 0.944260831627689, 0.9443165443278859, 0.9443722013418382,
+ 0.9444278027252058, 0.9444833485335926, 0.9445388388225474,
+ 0.9445942736475633, 0.9446496530640779, 0.9447049771274733,
+ 0.9447602458930763, 0.9448154594161584, 0.9448706177519361,
+ 0.9449257209555705, 0.9449807690821673, 0.9450357621867775,
+ 0.9450907003243971, 0.9451455835499669, 0.9452004119183728,
+ 0.9452551854844459, 0.9453099043029627, 0.9453645684286445,
+ 0.9454191779161585, 0.9454737328201165, 0.9455282331950765,
+ 0.9455826790955414, 0.9456370705759599, 0.9456914076907262,
+ 0.9457456904941802, 0.9457999190406073, 0.9458540933842389,
+ 0.9459082135792518, 0.9459622796797692, 0.9460162917398598,
+ 0.9460702498135383, 0.9461241539547656, 0.9461780042174485,
+ 0.9462318006554398, 0.9462855433225388, 0.9463392322724908,
+ 0.9463928675589875, 0.9464464492356669, 0.9464999773561132,
+ 0.9465534519738573, 0.9466068731423766, 0.9466602409150947,
+ 0.9467135553453823, 0.9467668164865563, 0.9468200243918806,
+ 0.9468731791145658, 0.9469262807077692, 0.9469793292245952,
+ 0.9470323247180947, 0.9470852672412661, 0.9471381568470545,
+ 0.9471909935883521, 0.9472437775179985, 0.94729650868878,
+ 0.9473491871534305, 0.9474018129646311, 0.9474543861750104,
+ 0.947506906837144, 0.9475593750035554, 0.9476117907267152,
+ 0.9476641540590419, 0.9477164650529015, 0.9477687237606074,
+ 0.947820930234421, 0.9478730845265516, 0.9479251866891558,
+ 0.9479772367743386, 0.9480292348341526, 0.9480811809205985,
+ 0.9481330750856248, 0.9481849173811285, 0.9482367078589544,
+ 0.9482884465708956, 0.9483401335686935, 0.9483917689040374,
+ 0.9484433526285655, 0.9484948847938639, 0.9485463654514675,
+ 0.9485977946528595, 0.9486491724494717, 0.9487004988926844,
+ 0.9487517740338266, 0.9488029979241761, 0.9488541706149594,
+ 0.9489052921573515, 0.9489563626024767, 0.9490073820014081,
+ 0.9490583504051674, 0.9491092678647257, 0.949160134431003,
+ 0.9492109501548684, 0.9492617150871402, 0.9493124292785858,
+ 0.949363092779922, 0.9494137056418149, 0.9494642679148797,
+ 0.9495147796496815, 0.9495652408967342, 0.9496156517065018,
+ 0.9496660121293976, 0.9497163222157846, 0.9497665820159753,
+ 0.949816791580232, 0.9498669509587669, 0.9499170602017419,
+ 0.9499671193592686, 0.9500171284814088, 0.950067087618174,
+ 0.9501169968195261, 0.9501668561353764, 0.950216665615587,
+ 0.95026642530997, 0.9503161352682872, 0.9503657955402512,
+ 0.9504154061755249, 0.9504649672237213, 0.950514478734404,
+ 0.9505639407570868, 0.9506133533412344, 0.9506627165362619,
+ 0.9507120303915347, 0.9507612949563694, 0.9508105102800329,
+ 0.9508596764117431, 0.9509087934006684, 0.9509578612959284,
+ 0.9510068801465934, 0.9510558500016847, 0.9511047709101746,
+ 0.9511536429209866, 0.951202466082995, 0.9512512404450253,
+ 0.9512999660558547, 0.9513486429642107, 0.9513972712187732,
+ 0.9514458508681726, 0.9514943819609909, 0.9515428645457619,
+ 0.9515912986709704, 0.951639684385053, 0.9516880217363978,
+ 0.9517363107733446, 0.951784551544185, 0.951832744097162,
+ 0.9518808884804706, 0.9519289847422577, 0.9519770329306219,
+ 0.9520250330936136, 0.9520729852792358, 0.9521208895354427,
+ 0.9521687459101411, 0.9522165544511899, 0.9522643152063998,
+ 0.9523120282235341, 0.9523596935503081, 0.9524073112343896,
+ 0.9524548813233987, 0.9525024038649078, 0.9525498789064418,
+ 0.9525973064954781, 0.9526446866794468, 0.9526920195057305,
+ 0.952739305021664, 0.9527865432745356, 0.9528337343115858,
+ 0.952880878180008, 0.9529279749269484, 0.952975024599506,
+ 0.9530220272447331, 0.9530689829096344, 0.9531158916411682,
+ 0.9531627534862454, 0.9532095684917301, 0.9532563367044399,
+ 0.9533030581711452, 0.95334973293857, 0.953396361053391,
+ 0.953442942562239, 0.9534894775116978, 0.9535359659483046,
+ 0.9535824079185502, 0.9536288034688788, 0.9536751526456884,
+ 0.9537214554953305, 0.9537677120641102, 0.9538139223982863,
+ 0.9538600865440717, 0.9539062045476328, 0.9539522764550896,
+ 0.9539983023125167, 0.9540442821659421, 0.9540902160613478,
+ 0.9541361040446703, 0.9541819461617997, 0.9542277424585806,
+ 0.9542734929808112, 0.9543191977742447, 0.954364856884588,
+ 0.9544104703575026, 0.9544560382386041, 0.9545015605734628,
+ 0.9545470374076034, 0.9545924687865047, 0.9546378547556006,
+ 0.9546831953602793, 0.9547284906458837, 0.9547737406577113,
+ 0.9548189454410143, 0.9548641050409999, 0.9549092195028299,
+ 0.954954288871621, 0.9549993131924449, 0.9550442925103281,
+ 0.9550892268702522, 0.9551341163171537, 0.9551789608959246,
+ 0.9552237606514113, 0.9552685156284162, 0.9553132258716963,
+ 0.9553578914259641, 0.9554025123358874, 0.9554470886460894,
+ 0.9554916204011485, 0.9555361076455989, 0.95558055042393,
+ 0.9556249487805867, 0.9556693027599696, 0.955713612406435,
+ 0.9557578777642948, 0.9558020988778163, 0.9558462757912232,
+ 0.9558904085486943, 0.9559344971943647, 0.9559785417723254,
+ 0.956022542326623, 0.9560664989012603, 0.956110411540196,
+ 0.9561542802873452, 0.9561981051865784, 0.9562418862817232,
+ 0.9562856236165626, 0.956329317234836, 0.9563729671802396,
+ 0.9564165734964252, 0.9564601362270014, 0.9565036554155332,
+ 0.9565471311055419, 0.9565905633405053, 0.9566339521638578,
+ 0.9566772976189906, 0.9567205997492512, 0.9567638585979438,
+ 0.9568070742083294, 0.956850246623626, 0.9568933758870082,
+ 0.9569364620416071, 0.9569795051305112, 0.9570225051967658,
+ 0.9570654622833731, 0.9571083764332923, 0.9571512476894396,
+ 0.9571940760946885, 0.9572368616918696, 0.9572796045237706,
+ 0.9573223046331365, 0.9573649620626694, 0.9574075768550291,
+ 0.9574501490528323, 0.9574926786986535, 0.9575351658350244,
+ 0.9575776105044342, 0.9576200127493298, 0.9576623726121156,
+ 0.9577046901351536, 0.9577469653607632, 0.9577891983312219,
+ 0.9578313890887649, 0.9578735376755849, 0.9579156441338328,
+ 0.9579577085056168, 0.9579997308330038, 0.958041711158018,
+ 0.9580836495226418, 0.9581255459688157, 0.9581674005384384,
+ 0.9582092132733664, 0.9582509842154145, 0.9582927134063559,
+ 0.9583344008879218, 0.9583760467018017, 0.9584176508896436,
+ 0.9584592134930536, 0.9585007345535966, 0.9585422141127957,
+ 0.9585836522121325, 0.9586250488930471, 0.9586664041969384,
+ 0.9587077181651635, 0.9587489908390389, 0.9587902222598389,
+ 0.9588314124687972, 0.958872561507106, 0.9589136694159165,
+ 0.9589547362363385, 0.9589957620094411, 0.959036746776252,
+ 0.9590776905777579, 0.9591185934549049, 0.9591594554485977,
+ 0.9592002765997005, 0.9592410569490364, 0.9592817965373879,
+ 0.9593224954054964, 0.9593631535940631, 0.9594037711437481,
+ 0.9594443480951709, 0.9594848844889106, 0.9595253803655055,
+ 0.9595658357654537, 0.9596062507292125, 0.9596466252971988,
+ 0.9596869595097893, 0.9597272534073203, 0.9597675070300876,
+ 0.9598077204183469, 0.9598478936123136, 0.9598880266521629,
+ 0.9599281195780297, 0.9599681724300092, 0.9600081852481561,
+ 0.9600481580724852, 0.9600880909429714, 0.9601279838995496,
+ 0.9601678369821147, 0.9602076502305217, 0.960247423684586,
+ 0.9602871573840829, 0.9603268513687482, 0.9603665056782777,
+ 0.9604061203523281, 0.9604456954305156, 0.9604852309524174,
+ 0.9605247269575712, 0.9605641834854747, 0.9606036005755866,
+ 0.9606429782673258, 0.9606823166000722, 0.9607216156131659,
+ 0.960760875345908, 0.9608000958375601, 0.9608392771273447,
+ 0.9608784192544451, 0.9609175222580052, 0.9609565861771302,
+ 0.9609956110508859, 0.9610345969182992, 0.9610735438183576,
+ 0.9611124517900103, 0.9611513208721671, 0.9611901511036991,
+ 0.9612289425234383, 0.9612676951701782, 0.9613064090826733,
+ 0.9613450842996396, 0.9613837208597541, 0.9614223188016553,
+ 0.9614608781639432, 0.9614993989851791, 0.9615378813038855,
+ 0.961576325158547, 0.961614730587609, 0.9616530976294793,
+ 0.9616914263225265, 0.9617297167050812, 0.961767968815436,
+ 0.9618061826918447, 0.9618443583725231, 0.9618824958956489,
+ 0.9619205952993615, 0.9619586566217622, 0.9619966799009141,
+ 0.9620346651748426, 0.9620726124815346, 0.9621105218589396,
+ 0.9621483933449688, 0.9621862269774956, 0.9622240227943553,
+ 0.9622617808333459, 0.9622995011322271, 0.9623371837287212,
+ 0.9623748286605127, 0.9624124359652485, 0.9624500056805375,
+ 0.9624875378439517, 0.9625250324930248, 0.9625624896652534,
+ 0.9625999093980967, 0.9626372917289762, 0.962674636695276,
+ 0.9627119443343432, 0.9627492146834871, 0.9627864477799798,
+ 0.9628236436610567, 0.962860802363915, 0.9628979239257157,
+ 0.9629350083835821, 0.9629720557746004, 0.9630090661358199,
+ 0.9630460395042529, 0.9630829759168746, 0.9631198754106232,
+ 0.9631567380224, 0.9631935637890695, 0.9632303527474594,
+ 0.9632671049343604, 0.9633038203865266, 0.9633404991406752,
+ 0.9633771412334868, 0.9634137467016054, 0.9634503155816384,
+ 0.9634868479101563, 0.9635233437236933, 0.963559803058747,
+ 0.9635962259517787, 0.9636326124392132, 0.9636689625574386,
+ 0.9637052763428069, 0.9637415538316336, 0.9637777950601983,
+ 0.9638140000647438, 0.9638501688814769, 0.9638863015465684,
+ 0.9639223980961527, 0.9639584585663281, 0.9639944829931569,
+ 0.9640304714126654, 0.9640664238608437, 0.9641023403736462,
+ 0.9641382209869911, 0.9641740657367608, 0.9642098746588019,
+ 0.9642456477889251, 0.9642813851629054, 0.9643170868164818,
+ 0.9643527527853578, 0.9643883831052014, 0.9644239778116442,
+ 0.9644595369402832, 0.964495060526679, 0.964530548606357,
+ 0.9645660012148072, 0.9646014183874839, 0.964636800159806,
+ 0.964672146567157, 0.9647074576448853, 0.9647427334283036,
+ 0.9647779739526894, 0.9648131792532851, 0.9648483493652977,
+ 0.964883484323899, 0.9649185841642259, 0.96495364892138,
+ 0.9649886786304276, 0.9650236733264003, 0.9650586330442945,
+ 0.9650935578190717, 0.9651284476856584, 0.9651633026789463,
+ 0.965198122833792, 0.9652329081850176, 0.9652676587674099,
+ 0.9653023746157215, 0.9653370557646699, 0.965371702248938,
+ 0.9654063141031739, 0.9654408913619912, 0.965475434059969,
+ 0.9655099422316518, 0.9655444159115493, 0.965578855134137,
+ 0.9656132599338558, 0.9656476303451124, 0.9656819664022788,
+ 0.9657162681396926, 0.9657505355916576, 0.9657847687924427,
+ 0.965818967776283, 0.965853132577379, 0.9658872632298974,
+ 0.9659213597679704, 0.9659554222256964, 0.9659894506371396,
+ 0.9660234450363299, 0.9660574054572635, 0.9660913319339025,
+ 0.9661252245001752, 0.9661590831899757, 0.9661929080371645,
+ 0.9662266990755681, 0.9662604563389793, 0.966294179861157,
+ 0.9663278696758262, 0.9663615258166788, 0.9663951483173723,
+ 0.966428737211531, 0.9664622925327455, 0.9664958143145729,
+ 0.9665293025905365, 0.9665627573941263, 0.9665961787587988,
+ 0.966629566717977, 0.9666629213050505, 0.9666962425533756,
+ 0.9667295304962753, 0.9667627851670392, 0.9667960065989235,
+ 0.9668291948251513, 0.9668623498789126, 0.9668954717933641,
+ 0.9669285606016293, 0.9669616163367988, 0.9669946390319298,
+ 0.9670276287200469, 0.9670605854341412, 0.9670935092071712,
+ 0.9671264000720622, 0.9671592580617068, 0.9671920832089647,
+ 0.9672248755466625, 0.9672576351075943, 0.9672903619245214,
+ 0.9673230560301721, 0.9673557174572422, 0.9673883462383949,
+ 0.9674209424062603, 0.9674535059934364, 0.9674860370324885,
+ 0.967518535555949, 0.9675510015963183, 0.967583435186064,
+ 0.9676158363576213, 0.967648205143393, 0.9676805415757495,
+ 0.9677128456870288, 0.9677451175095366, 0.9677773570755466,
+ 0.9678095644172997, 0.9678417395670049, 0.9678738825568391,
+ 0.9679059934189468, 0.9679380721854405, 0.9679701188884005,
+ 0.9680021335598752, 0.9680341162318808, 0.9680660669364016,
+ 0.9680979857053901, 0.9681298725707663, 0.9681617275644189,
+ 0.9681935507182045, 0.9682253420639476, 0.9682571016334415,
+ 0.9682888294584471, 0.9683205255706939, 0.9683521900018797,
+ 0.9683838227836703, 0.9684154239477002, 0.9684469935255722,
+ 0.9684785315488573, 0.9685100380490952, 0.968541513057794,
+ 0.9685729566064303, 0.9686043687264491, 0.9686357494492642,
+ 0.9686670988062578, 0.968698416828781, 0.9687297035481532,
+ 0.9687609589956628, 0.9687921832025668, 0.9688233762000908,
+ 0.9688545380194298, 0.9688856686917466, 0.968916768248174,
+ 0.9689478367198127, 0.9689788741377328, 0.9690098805329734,
+ 0.9690408559365423, 0.9690718003794166, 0.9691027138925423,
+ 0.9691335965068344, 0.969164448253177, 0.9691952691624235,
+ 0.9692260592653962, 0.9692568185928869, 0.9692875471756565,
+ 0.9693182450444349, 0.9693489122299217, 0.9693795487627855,
+ 0.9694101546736645, 0.9694407299931661, 0.9694712747518671,
+ 0.9695017889803138, 0.969532272709022, 0.9695627259684769,
+ 0.9695931487891333, 0.9696235412014156, 0.9696539032357177,
+ 0.9696842349224031, 0.9697145362918049, 0.9697448073742264,
+ 0.9697750481999398, 0.9698052587991876, 0.9698354392021818,
+ 0.9698655894391046, 0.9698957095401075, 0.969925799535312,
+ 0.9699558594548099, 0.9699858893286625, 0.9700158891869011,
+ 0.9700458590595271, 0.970075798976512, 0.970105708967797,
+ 0.9701355890632939, 0.9701654392928839, 0.970195259686419,
+ 0.970225050273721, 0.970254811084582, 0.9702845421487643,
+ 0.9703142434960004, 0.9703439151559932, 0.9703735571584158,
+ 0.9704031695329117, 0.9704327523090949, 0.9704623055165494,
+ 0.97049182918483, 0.970521323343462, 0.9705507880219407,
+ 0.9705802232497326, 0.9706096290562742, 0.9706390054709729,
+ 0.9706683525232065, 0.9706976702423235, 0.9707269586576431,
+ 0.9707562177984552, 0.9707854476940205, 0.9708146483735702,
+ 0.9708438198663066, 0.9708729622014026, 0.9709020754080019,
+ 0.9709311595152192, 0.9709602145521401, 0.9709892405478212,
+ 0.9710182375312897, 0.9710472055315442, 0.9710761445775542,
+ 0.97110505469826, 0.9711339359225735, 0.971162788279377,
+ 0.9711916117975244, 0.9712204065058408, 0.9712491724331224,
+ 0.9712779096081362, 0.9713066180596213, 0.9713352978162871,
+ 0.9713639489068152, 0.9713925713598579, 0.9714211652040392,
+ 0.9714497304679544, 0.9714782671801699, 0.9715067753692243,
+ 0.9715352550636268, 0.9715637062918587, 0.9715921290823728,
+ 0.9716205234635931, 0.9716488894639155, 0.9716772271117072,
+ 0.9717055364353077, 0.9717338174630274, 0.9717620702231489,
+ 0.9717902947439263, 0.9718184910535854, 0.9718466591803243,
+ 0.9718747991523122, 0.9719029109976907, 0.9719309947445728,
+ 0.9719590504210439, 0.9719870780551609, 0.972015077674953,
+ 0.9720430493084211, 0.9720709929835383, 0.9720989087282497,
+ 0.9721267965704723, 0.9721546565380955, 0.9721824886589806,
+ 0.9722102929609611, 0.9722380694718427, 0.9722658182194033,
+ 0.9722935392313931, 0.9723212325355344, 0.972348898159522,
+ 0.9723765361310227, 0.9724041464776761, 0.9724317292270939,
+ 0.97245928440686, 0.9724868120445312, 0.9725143121676365,
+ 0.9725417848036774, 0.9725692299801277, 0.9725966477244341,
+ 0.9726240380640159, 0.9726514010262645, 0.9726787366385443,
+ 0.9727060449281925, 0.9727333259225185, 0.9727605796488048,
+ 0.9727878061343064, 0.9728150054062513, 0.97284217749184,
+ 0.972869322418246, 0.9728964402126155, 0.9729235309020677,
+ 0.9729505945136948, 0.9729776310745616, 0.9730046406117061,
+ 0.9730316231521391, 0.9730585787228445, 0.9730855073507793,
+ 0.9731124090628733, 0.9731392838860299, 0.973166131847125,
+ 0.9731929529730079, 0.9732197472905011, 0.9732465148264003,
+ 0.9732732556074746, 0.9732999696604656, 0.9733266570120892,
+ 0.9733533176890338, 0.9733799517179614, 0.9734065591255076,
+ 0.9734331399382808, 0.9734596941828635, 0.973486221885811,
+ 0.9735127230736524, 0.9735391977728904, 0.9735656460100008,
+ 0.9735920678114333, 0.9736184632036109, 0.9736448322129304,
+ 0.973671174865762, 0.97369749118845, 0.9737237812073116,
+ 0.9737500449486385, 0.9737762824386956, 0.9738024937037217,
+ 0.9738286787699294, 0.973854837663505, 0.9738809704106088,
+ 0.9739070770373749, 0.9739331575699112, 0.9739592120342994,
+ 0.9739852404565954, 0.9740112428628289, 0.9740372192790037,
+ 0.9740631697310973, 0.9740890942450617, 0.9741149928468226,
+ 0.9741408655622797, 0.9741667124173073, 0.9741925334377536,
+ 0.9742183286494406, 0.974244098078165, 0.9742698417496974,
+ 0.974295559689783, 0.9743212519241409, 0.9743469184784644,
+ 0.9743725593784217, 0.9743981746496548, 0.9744237643177803,
+ 0.974449328408389, 0.9744748669470465, 0.9745003799592925,
+ 0.9745258674706414, 0.9745513295065817, 0.974576766092577,
+ 0.9746021772540651, 0.9746275630164584, 0.9746529234051439,
+ 0.9746782584454833, 0.9747035681628129, 0.9747288525824436,
+ 0.9747541117296613, 0.9747793456297262, 0.9748045543078736,
+ 0.9748297377893134, 0.9748548960992303, 0.9748800292627838,
+ 0.9749051373051085, 0.9749302202513137, 0.9749552781264835,
+ 0.974980310955677, 0.9750053187639284, 0.9750303015762467,
+ 0.9750552594176158, 0.9750801923129951, 0.9751051002873187,
+ 0.9751299833654956, 0.9751548415724102, 0.975179674932922,
+ 0.9752044834718657, 0.9752292672140509, 0.9752540261842627,
+ 0.9752787604072614, 0.9753034699077822, 0.9753281547105359,
+ 0.9753528148402087, 0.975377450321462, 0.9754020611789322,
+ 0.9754266474372317, 0.9754512091209478, 0.9754757462546435,
+ 0.9755002588628573, 0.9755247469701027, 0.9755492106008693,
+ 0.9755736497796219, 0.9755980645308009, 0.9756224548788222,
+ 0.9756468208480774, 0.9756711624629337, 0.9756954797477341,
+ 0.9757197727267968, 0.9757440414244162, 0.9757682858648621,
+ 0.9757925060723803, 0.9758167020711921, 0.9758408738854948,
+ 0.9758650215394612, 0.9758891450572404, 0.9759132444629572,
+ 0.975937319780712, 0.9759613710345814, 0.9759853982486177,
+ 0.9760094014468497, 0.9760333806532815, 0.9760573358918936,
+ 0.9760812671866423, 0.9761051745614603, 0.9761290580402561,
+ 0.9761529176469144, 0.9761767534052959, 0.9762005653392375,
+ 0.9762243534725525, 0.9762481178290303, 0.9762718584324361,
+ 0.9762955753065121, 0.9763192684749761, 0.9763429379615225,
+ 0.976366583789822, 0.9763902059835216, 0.9764138045662447,
+ 0.976437379561591, 0.9764609309931368, 0.9764844588844346,
+ 0.9765079632590135, 0.976531444140379, 0.9765549015520133,
+ 0.9765783355173748, 0.9766017460598988, 0.9766251332029969,
+ 0.9766484969700576, 0.9766718373844456, 0.9766951544695026,
+ 0.9767184482485469, 0.9767417187448734, 0.9767649659817537,
+ 0.9767881899824362, 0.9768113907701461, 0.9768345683680855,
+ 0.9768577227994328, 0.976880854087344, 0.9769039622549514,
+ 0.9769270473253642, 0.9769501093216687, 0.976973148266928,
+ 0.9769961641841823, 0.9770191570964487, 0.9770421270267212,
+ 0.9770650739979708, 0.9770879980331457, 0.9771108991551711,
+ 0.9771337773869494, 0.9771566327513597, 0.9771794652712585,
+ 0.9772022749694799, 0.9772250618688342, 0.9772478259921098,
+ 0.9772705673620717, 0.9772932860014627, 0.9773159819330024,
+ 0.9773386551793879, 0.9773613057632935, 0.9773839337073711,
+ 0.9774065390342496, 0.9774291217665356, 0.9774516819268129,
+ 0.9774742195376427, 0.977496734621564, 0.9775192272010926,
+ 0.9775416972987226, 0.9775641449369251, 0.9775865701381488,
+ 0.97760897292482, 0.9776313533193427, 0.9776537113440984,
+ 0.9776760470214462, 0.9776983603737229, 0.977720651423243,
+ 0.9777429201922987, 0.9777651667031598, 0.977787390978074,
+ 0.9778095930392666, 0.977831772908941, 0.9778539306092778,
+ 0.977876066162436, 0.9778981795905525, 0.9779202709157415,
+ 0.9779423401600955, 0.9779643873456849, 0.9779864124945581,
+ 0.9780084156287411, 0.9780303967702384, 0.978052355941032,
+ 0.9780742931630824, 0.9780962084583277, 0.9781181018486845,
+ 0.9781399733560472, 0.9781618230022883, 0.9781836508092586,
+ 0.9782054567987871, 0.9782272409926809, 0.9782490034127251,
+ 0.9782707440806833, 0.9782924630182973, 0.9783141602472871,
+ 0.978335835789351, 0.9783574896661656, 0.9783791218993859,
+ 0.9784007325106453, 0.9784223215215553, 0.9784438889537062,
+ 0.9784654348286663, 0.9784869591679828, 0.9785084619931809,
+ 0.9785299433257645, 0.9785514031872162, 0.9785728415989968,
+ 0.9785942585825458, 0.9786156541592813, 0.9786370283506,
+ 0.978658381177877, 0.9786797126624662, 0.9787010228257004,
+ 0.9787223116888905, 0.9787435792733267, 0.9787648256002774,
+ 0.9787860506909902, 0.9788072545666913, 0.9788284372485855,
+ 0.9788495987578565, 0.9788707391156669, 0.9788918583431582,
+ 0.9789129564614506, 0.9789340334916433, 0.9789550894548145,
+ 0.9789761243720211, 0.978997138264299, 0.9790181311526632,
+ 0.9790391030581078, 0.9790600540016056, 0.9790809840041086,
+ 0.9791018930865478, 0.9791227812698335, 0.9791436485748548,
+ 0.9791644950224802, 0.9791853206335569, 0.9792061254289117,
+ 0.9792269094293505, 0.9792476726556584, 0.9792684151285995,
+ 0.9792891368689174, 0.9793098378973348, 0.979330518234554,
+ 0.979351177901256, 0.9793718169181018, 0.9793924353057314,
+ 0.979413033084764, 0.9794336102757988, 0.9794541668994137,
+ 0.9794747029761663, 0.979495218526594, 0.9795157135712134,
+ 0.9795361881305202, 0.9795566422249903, 0.9795770758750786,
+ 0.97959748910122, 0.9796178819238286, 0.9796382543632982,
+ 0.9796586064400025, 0.9796789381742943, 0.9796992495865066,
+ 0.9797195406969517, 0.9797398115259216, 0.9797600620936885,
+ 0.9797802924205036, 0.9798005025265984, 0.9798206924321842,
+ 0.9798408621574517, 0.9798610117225717, 0.9798811411476946,
+ 0.9799012504529511, 0.9799213396584514, 0.9799414087842857,
+ 0.9799614578505241, 0.9799814868772169, 0.9800014958843938,
+ 0.980021484892065, 0.9800414539202204, 0.98006140298883,
+ 0.9800813321178442, 0.9801012413271928, 0.980121130636786,
+ 0.9801410000665143, 0.9801608496362479, 0.9801806793658376,
+ 0.980200489275114, 0.980220279383888, 0.9802400497119508,
+ 0.9802598002790734, 0.9802795311050079, 0.9802992422094856,
+ 0.9803189336122188, 0.9803386053328998, 0.9803582573912015,
+ 0.9803778898067769, 0.9803975025992593, 0.9804170957882624,
+ 0.9804366693933806, 0.9804562234341883, 0.9804757579302406,
+ 0.9804952729010729, 0.9805147683662011, 0.9805342443451219,
+ 0.9805537008573121, 0.9805731379222291, 0.9805925555593111,
+ 0.9806119537879766, 0.9806313326276249, 0.9806506920976357,
+ 0.9806700322173695, 0.9806893530061673, 0.980708654483351,
+ 0.9807279366682229, 0.9807471995800663, 0.980766443238145,
+ 0.9807856676617036, 0.9808048728699674, 0.9808240588821429,
+ 0.9808432257174167, 0.9808623733949567, 0.9808815019339117,
+ 0.980900611353411, 0.9809197016725651, 0.9809387729104653,
+ 0.9809578250861836, 0.9809768582187732, 0.9809958723272685,
+ 0.9810148674306841, 0.9810338435480163, 0.9810528006982421,
+ 0.9810717389003196, 0.9810906581731881, 0.9811095585357675,
+ 0.9811284400069595, 0.9811473026056462, 0.9811661463506913,
+ 0.9811849712609395, 0.9812037773552166, 0.9812225646523296,
+ 0.9812413331710668, 0.9812600829301976, 0.9812788139484727,
+ 0.9812975262446242, 0.9813162198373652, 0.9813348947453903,
+ 0.9813535509873752, 0.9813721885819772, 0.9813908075478348,
+ 0.981409407903568, 0.9814279896677779, 0.9814465528590472,
+ 0.9814650974959402, 0.9814836235970025, 0.9815021311807608,
+ 0.981520620265724, 0.9815390908703817, 0.9815575430132057,
+ 0.9815759767126492, 0.9815943919871465, 0.9816127888551139,
+ 0.9816311673349494, 0.981649527445032, 0.9816678692037231,
+ 0.9816861926293652, 0.9817044977402827, 0.9817227845547816,
+ 0.9817410530911496, 0.9817593033676563, 0.9817775354025526,
+ 0.9817957492140718, 0.9818139448204283, 0.9818321222398189,
+ 0.9818502814904216, 0.981868422590397, 0.9818865455578868,
+ 0.9819046504110148, 0.981922737167887, 0.981940805846591,
+ 0.9819588564651963, 0.9819768890417545, 0.9819949035942991,
+ 0.9820129001408454, 0.982030878699391, 0.9820488392879153,
+ 0.9820667819243798, 0.9820847066267281, 0.9821026134128856,
+ 0.9821205023007602, 0.9821383733082416, 0.9821562264532018,
+ 0.9821740617534945, 0.9821918792269564, 0.9822096788914054,
+ 0.9822274607646424, 0.98224522486445, 0.9822629712085932,
+ 0.9822806998148191, 0.9822984107008575, 0.98231610388442,
+ 0.9823337793832007, 0.9823514372148759, 0.9823690773971044,
+ 0.9823866999475273, 0.982404304883768, 0.9824218922234321,
+ 0.9824394619841083, 0.9824570141833667, 0.9824745488387608,
+ 0.982492065967826, 0.9825095655880802, 0.9825270477170239,
+ 0.9825445123721404, 0.9825619595708949, 0.9825793893307355,
+ 0.9825968016690929, 0.9826141966033805, 0.9826315741509938,
+ 0.9826489343293114, 0.9826662771556943, 0.9826836026474861,
+ 0.9827009108220134, 0.982718201696585, 0.9827354752884928,
+ 0.9827527316150111, 0.9827699706933972, 0.9827871925408911,
+ 0.9828043971747153, 0.9828215846120756, 0.98283875487016,
+ 0.9828559079661399, 0.9828730439171689, 0.9828901627403841,
+ 0.9829072644529051, 0.9829243490718345, 0.9829414166142576,
+ 0.9829584670972431, 0.982975500537842, 0.9829925169530889,
+ 0.9830095163600009, 0.9830264987755782, 0.9830434642168042,
+ 0.9830604127006453, 0.9830773442440505, 0.9830942588639524,
+ 0.9831111565772664, 0.9831280374008912, 0.9831449013517083,
+ 0.9831617484465826, 0.9831785787023619, 0.9831953921358775,
+ 0.9832121887639435, 0.9832289686033575, 0.9832457316709001,
+ 0.9832624779833352, 0.98327920755741, 0.9832959204098549,
+ 0.9833126165573836, 0.983329296016693, 0.9833459588044636,
+ 0.9833626049373588, 0.9833792344320257, 0.9833958473050944,
+ 0.9834124435731789, 0.9834290232528763, 0.9834455863607668,
+ 0.9834621329134147, 0.9834786629273671, 0.983495176419155,
+ 0.9835116734052926, 0.9835281539022778, 0.983544617926592,
+ 0.9835610654946999, 0.9835774966230499, 0.983593911328074,
+ 0.9836103096261878, 0.9836266915337903, 0.9836430570672643,
+ 0.9836594062429761, 0.9836757390772757, 0.9836920555864969,
+ 0.9837083557869567, 0.9837246396949564, 0.9837409073267807,
+ 0.983757158698698, 0.9837733938269604, 0.9837896127278039,
+ 0.9838058154174483, 0.9838220019120969, 0.9838381722279372,
+ 0.9838543263811403, 0.9838704643878611, 0.9838865862642384,
+ 0.983902692026395, 0.9839187816904373, 0.9839348552724559,
+ 0.9839509127885252, 0.9839669542547035, 0.9839829796870329,
+ 0.9839989891015398, 0.9840149825142345, 0.9840309599411109,
+ 0.9840469213981475, 0.9840628669013066, 0.9840787964665343,
+ 0.9840947101097611, 0.9841106078469013, 0.9841264896938536,
+ 0.9841423556665005, 0.9841582057807089, 0.9841740400523297,
+ 0.9841898584971978, 0.9842056611311325, 0.9842214479699374,
+ 0.9842372190293999, 0.984252974325292, 0.9842687138733697,
+ 0.9842844376893733, 0.9843001457890276, 0.9843158381880414,
+ 0.9843315149021077, 0.9843471759469041, 0.9843628213380926,
+ 0.9843784510913193, 0.9843940652222145, 0.9844096637463934,
+ 0.9844252466794552, 0.9844408140369836, 0.9844563658345468,
+ 0.9844719020876973, 0.9844874228119721, 0.9845029280228929,
+ 0.9845184177359654, 0.9845338919666803, 0.9845493507305125,
+ 0.9845647940429216, 0.9845802219193517, 0.9845956343752315,
+ 0.984611031425974, 0.9846264130869772, 0.9846417793736235,
+ 0.98465713030128, 0.9846724658852982, 0.9846877861410148,
+ 0.9847030910837505, 0.9847183807288112, 0.9847336550914872,
+ 0.9847489141870537, 0.9847641580307706, 0.9847793866378823,
+ 0.9847946000236184, 0.9848097982031929, 0.9848249811918048,
+ 0.9848401490046379, 0.9848553016568607, 0.9848704391636267,
+ 0.984885561540074, 0.9849006688013259, 0.9849157609624903,
+ 0.9849308380386602, 0.9849459000449133, 0.9849609469963125,
+ 0.9849759789079056, 0.9849909957947249, 0.9850059976717884,
+ 0.9850209845540986, 0.9850359564566431, 0.9850509133943947,
+ 0.9850658553823107, 0.9850807824353344, 0.9850956945683931,
+ 0.9851105917963999, 0.9851254741342528, 0.9851403415968348,
+ 0.9851551941990142, 0.9851700319556443, 0.9851848548815636,
+ 0.9851996629915957, 0.9852144563005495, 0.9852292348232191,
+ 0.9852439985743838, 0.9852587475688079, 0.9852734818212413,
+ 0.9852882013464189, 0.9853029061590611, 0.9853175962738733,
+ 0.9853322717055464, 0.9853469324687566, 0.9853615785781653,
+ 0.9853762100484195, 0.9853908268941513, 0.9854054291299782,
+ 0.9854200167705033, 0.985434589830315, 0.9854491483239869,
+ 0.9854636922660783, 0.9854782216711341, 0.9854927365536841,
+ 0.9855072369282442, 0.9855217228093152, 0.9855361942113839,
+ 0.9855506511489224, 0.9855650936363883, 0.9855795216882249,
+ 0.9855939353188611, 0.9856083345427109, 0.9856227193741744,
+ 0.9856370898276373, 0.9856514459174707, 0.9856657876580313,
+ 0.9856801150636616, 0.9856944281486897, 0.9857087269274295,
+ 0.9857230114141805, 0.9857372816232278, 0.9857515375688424,
+ 0.9857657792652809, 0.9857800067267858, 0.9857942199675851,
+ 0.985808419001893, 0.985822603843909, 0.9858367745078188,
+ 0.9858509310077938, 0.9858650733579911, 0.9858792015725538,
+ 0.9858933156656108, 0.985907415651277, 0.985921501543653,
+ 0.9859355733568254, 0.9859496311048668, 0.9859636748018354,
+ 0.985977704461776, 0.9859917200987187, 0.9860057217266799,
+ 0.9860197093596619, 0.986033683011653, 0.9860476426966276,
+ 0.9860615884285462, 0.986075520221355, 0.9860894380889866,
+ 0.9861033420453598, 0.9861172321043788, 0.9861311082799347,
+ 0.9861449705859042, 0.9861588190361503, 0.9861726536445223,
+ 0.9861864744248554, 0.9862002813909709, 0.9862140745566769,
+ 0.9862278539357668, 0.9862416195420209, 0.9862553713892055,
+ 0.9862691094910729, 0.9862828338613623, 0.9862965445137984,
+ 0.9863102414620928, 0.9863239247199429, 0.9863375943010327,
+ 0.9863512502190327, 0.9863648924875992, 0.9863785211203753,
+ 0.9863921361309902, 0.9864057375330597, 0.986419325340186,
+ 0.9864328995659574, 0.9864464602239488, 0.9864600073277215,
+ 0.9864735408908235, 0.986487060926789, 0.9865005674491385,
+ 0.9865140604713794, 0.9865275400070052, 0.9865410060694964,
+ 0.9865544586723194, 0.9865678978289277, 0.9865813235527612,
+ 0.986594735857246, 0.9866081347557953, 0.9866215202618087,
+ 0.9866348923886723, 0.9866482511497588, 0.9866615965584278,
+ 0.9866749286280253, 0.986688247371884, 0.9867015528033234,
+ 0.9867148449356495, 0.9867281237821551, 0.9867413893561199,
+ 0.98675464167081, 0.9867678807394782, 0.9867811065753644,
+ 0.9867943191916952, 0.9868075186016838, 0.9868207048185303,
+ 0.9868338778554214, 0.9868470377255311, 0.9868601844420196,
+ 0.9868733180180345, 0.98688643846671, 0.986899545801167,
+ 0.9869126400345138, 0.9869257211798451, 0.9869387892502428,
+ 0.9869518442587756, 0.9869648862184991, 0.9869779151424559,
+ 0.9869909310436757, 0.987003933935175, 0.9870169238299573,
+ 0.9870299007410132, 0.9870428646813201, 0.9870558156638428,
+ 0.9870687537015329, 0.987081678807329, 0.9870945909941569,
+ 0.9871074902749294, 0.9871203766625465, 0.9871332501698951,
+ 0.9871461108098495, 0.9871589585952708, 0.9871717935390077,
+ 0.9871846156538956, 0.9871974249527573, 0.9872102214484026,
+ 0.9872230051536289, 0.9872357760812205, 0.9872485342439488,
+ 0.9872612796545726, 0.9872740123258381, 0.9872867322704785,
+ 0.9872994395012145, 0.9873121340307538, 0.9873248158717918,
+ 0.9873374850370107, 0.9873501415390804, 0.9873627853906581,
+ 0.9873754166043884, 0.9873880351929029, 0.9874006411688209,
+ 0.987413234544749, 0.9874258153332813, 0.9874383835469991,
+ 0.9874509391984714, 0.9874634823002543, 0.9874760128648915,
+ 0.9874885309049144, 0.9875010364328416, 0.9875135294611792,
+ 0.9875260100024209, 0.9875384780690477, 0.9875509336735286,
+ 0.9875633768283196, 0.9875758075458645, 0.9875882258385947,
+ 0.9876006317189291, 0.9876130251992742, 0.9876254062920241,
+ 0.9876377750095605, 0.9876501313642527, 0.9876624753684577,
+ 0.9876748070345203, 0.9876871263747725, 0.9876994334015344,
+ 0.9877117281271136, 0.9877240105638055, 0.9877362807238932,
+ 0.9877485386196473, 0.9877607842633264, 0.9877730176671767,
+ 0.9877852388434324, 0.9877974478043151, 0.9878096445620345,
+ 0.9878218291287878, 0.9878340015167603, 0.987846161738125,
+ 0.9878583098050427, 0.9878704457296622, 0.9878825695241198,
+ 0.98789468120054, 0.9879067807710352, 0.9879188682477055,
+ 0.9879309436426388, 0.9879430069679114, 0.987955058235587,
+ 0.9879670974577176, 0.987979124646343, 0.987991139813491,
+ 0.9880031429711773, 0.9880151341314057, 0.988027113306168,
+ 0.9880390805074439, 0.9880510357472013, 0.988062979037396,
+ 0.9880749103899719, 0.9880868298168608, 0.9880987373299829,
+ 0.9881106329412462, 0.988122516662547, 0.9881343885057696,
+ 0.9881462484827863, 0.988158096605458, 0.988169932885633,
+ 0.9881817573351485, 0.9881935699658293, 0.9882053707894889,
+ 0.9882171598179285, 0.9882289370629377, 0.9882407025362944,
+ 0.9882524562497647, 0.9882641982151028, 0.9882759284440514,
+ 0.9882876469483413, 0.9882993537396915, 0.9883110488298094,
+ 0.9883227322303907, 0.9883344039531193, 0.9883460640096676,
+ 0.9883577124116962, 0.9883693491708542, 0.9883809742987788,
+ 0.9883925878070957, 0.9884041897074192, 0.9884157800113514,
+ 0.9884273587304836, 0.9884389258763949, 0.988450481460653,
+ 0.9884620254948141, 0.9884735579904228, 0.9884850789590122,
+ 0.9884965884121037, 0.9885080863612077, 0.9885195728178223,
+ 0.9885310477934348, 0.9885425112995208, 0.988553963347544,
+ 0.9885654039489574, 0.9885768331152021, 0.9885882508577076,
+ 0.9885996571878926, 0.9886110521171636, 0.9886224356569164,
+ 0.988633807818535, 0.9886451686133921, 0.9886565180528493,
+ 0.9886678561482563, 0.9886791829109518, 0.9886904983522632,
+ 0.9887018024835066, 0.9887130953159865, 0.9887243768609966,
+ 0.9887356471298187, 0.9887469061337236, 0.9887581538839713,
+ 0.9887693903918097, 0.988780615668476, 0.988791829725196,
+ 0.9888030325731845, 0.9888142242236446, 0.9888254046877688,
+ 0.988836573976738, 0.9888477321017219, 0.9888588790738796,
+ 0.9888700149043582, 0.9888811396042942, 0.9888922531848131,
+ 0.9889033556570287, 0.9889144470320442, 0.9889255273209516,
+ 0.9889365965348316, 0.988947654684754, 0.9889587017817776,
+ 0.9889697378369499, 0.9889807628613076, 0.9889917768658762,
+ 0.9890027798616704, 0.9890137718596937, 0.9890247528709386,
+ 0.9890357229063866, 0.9890466819770084, 0.9890576300937636,
+ 0.9890685672676007, 0.9890794935094577, 0.9890904088302612,
+ 0.9891013132409272, 0.9891122067523606, 0.9891230893754552,
+ 0.9891339611210946, 0.9891448220001509, 0.9891556720234855,
+ 0.989166511201949, 0.989177339546381, 0.9891881570676105,
+ 0.9891989637764557, 0.9892097596837236, 0.9892205448002107,
+ 0.9892313191367028, 0.9892420827039746, 0.9892528355127904,
+ 0.9892635775739034, 0.9892743088980562, 0.9892850294959807,
+ 0.9892957393783981, 0.9893064385560187, 0.9893171270395423,
+ 0.9893278048396579, 0.9893384719670437, 0.9893491284323677,
+ 0.9893597742462864, 0.9893704094194467, 0.9893810339624839,
+ 0.9893916478860232, 0.989402251200679, 0.9894128439170553,
+ 0.9894234260457453, 0.9894339975973315, 0.9894445585823862,
+ 0.9894551090114708, 0.9894656488951362, 0.989476178243923,
+ 0.9894866970683608, 0.9894972053789692, 0.9895077031862569,
+ 0.9895181905007223, 0.9895286673328533, 0.9895391336931271,
+ 0.9895495895920107, 0.9895600350399604, 0.9895704700474223,
+ 0.9895808946248319, 0.9895913087826141, 0.989601712531184,
+ 0.9896121058809455, 0.9896224888422926, 0.9896328614256089,
+ 0.9896432236412673, 0.9896535754996306, 0.9896639170110513,
+ 0.9896742481858712, 0.9896845690344223, 0.9896948795670256,
+ 0.9897051797939924, 0.9897154697256234, 0.9897257493722089,
+ 0.9897360187440293, 0.9897462778513544, 0.9897565267044437,
+ 0.9897667653135467, 0.9897769936889025, 0.9897872118407399,
+ 0.9897974197792777, 0.9898076175147242, 0.9898178050572778,
+ 0.9898279824171264, 0.989838149604448, 0.9898483066294104,
+ 0.9898584535021707, 0.9898685902328768, 0.9898787168316655,
+ 0.9898888333086643, 0.9898989396739899, 0.9899090359377491,
+ 0.9899191221100391, 0.9899291982009462, 0.989939264220547,
+ 0.9899493201789082, 0.9899593660860863, 0.9899694019521275,
+ 0.9899794277870683, 0.9899894436009349, 0.9899994494037438,
+ 0.9900094452055012, 0.9900194310162035, 0.9900294068458368,
+ 0.9900393727043777, 0.9900493286017924, 0.9900592745480372,
+ 0.9900692105530589, 0.9900791366267935, 0.990089052779168,
+ 0.9900989590200988, 0.9901088553594928, 0.9901187418072468,
+ 0.9901286183732476, 0.9901384850673723, 0.9901483418994883,
+ 0.9901581888794527, 0.9901680260171132, 0.9901778533223071,
+ 0.9901876708048625, 0.9901974784745972, 0.9902072763413193,
+ 0.9902170644148274, 0.9902268427049099, 0.9902366112213457,
+ 0.9902463699739036, 0.990256118972343, 0.9902658582264133,
+ 0.9902755877458543, 0.9902853075403961, 0.9902950176197588,
+ 0.990304717993653, 0.9903144086717797, 0.9903240896638299,
+ 0.9903337609794852, 0.9903434226284173, 0.9903530746202884,
+ 0.990362716964751, 0.9903723496714477, 0.990381972750012,
+ 0.9903915862100674, 0.9904011900612276, 0.9904107843130973,
+ 0.9904203689752709, 0.9904299440573336, 0.9904395095688613,
+ 0.9904490655194195, 0.990458611918565, 0.9904681487758444,
+ 0.9904776761007953, 0.9904871939029453, 0.9904967021918127,
+ 0.9905062009769064, 0.9905156902677256, 0.99052517007376,
+ 0.9905346404044899, 0.9905441012693862, 0.9905535526779101,
+ 0.9905629946395136, 0.990572427163639, 0.9905818502597195,
+ 0.9905912639371784, 0.9906006682054301, 0.9906100630738793,
+ 0.9906194485519212, 0.9906288246489419, 0.9906381913743177,
+ 0.9906475487374162, 0.9906568967475949, 0.9906662354142024,
+ 0.9906755647465779, 0.990684884754051, 0.9906941954459425,
+ 0.9907034968315632, 0.9907127889202152, 0.990722071721191,
+ 0.9907313452437737, 0.9907406094972375, 0.990749864490847,
+ 0.9907591102338578, 0.9907683467355158, 0.9907775740050584,
+ 0.9907867920517129, 0.9907960008846981, 0.9908052005132233,
+ 0.9908143909464884, 0.9908235721936843, 0.9908327442639928,
+ 0.9908419071665866, 0.9908510609106287, 0.9908602055052735,
+ 0.9908693409596662, 0.9908784672829424, 0.990887584484229,
+ 0.9908966925726438, 0.9909057915572952, 0.9909148814472826,
+ 0.9909239622516964, 0.9909330339796181, 0.9909420966401195,
+ 0.9909511502422638, 0.9909601947951052, 0.9909692303076887,
+ 0.99097825678905, 0.9909872742482164, 0.9909962826942057,
+ 0.9910052821360267, 0.9910142725826793, 0.9910232540431544,
+ 0.9910322265264339, 0.9910411900414908, 0.9910501445972891,
+ 0.9910590902027837, 0.9910680268669207, 0.9910769545986372,
+ 0.9910858734068615, 0.9910947833005126, 0.991103684288501,
+ 0.9911125763797282, 0.9911214595830866, 0.9911303339074599,
+ 0.9911391993617228, 0.9911480559547413, 0.9911569036953725,
+ 0.9911657425924644, 0.9911745726548564, 0.9911833938913791,
+ 0.991192206310854, 0.9912010099220943, 0.9912098047339036,
+ 0.9912185907550775, 0.9912273679944023, 0.9912361364606557,
+ 0.9912448961626066, 0.9912536471090152, 0.9912623893086328,
+ 0.9912711227702021, 0.991279847502457, 0.9912885635141226,
+ 0.9912972708139155, 0.9913059694105433, 0.991314659312705,
+ 0.9913233405290911, 0.9913320130683831, 0.9913406769392541,
+ 0.9913493321503682, 0.9913579787103813, 0.9913666166279402,
+ 0.9913752459116834, 0.9913838665702405, 0.9913924786122327,
+ 0.9914010820462722, 0.9914096768809633, 0.9914182631249009,
+ 0.9914268407866718, 0.9914354098748541, 0.9914439703980173,
+ 0.9914525223647225, 0.9914610657835219, 0.9914696006629594,
+ 0.9914781270115702, 0.9914866448378814, 0.9914951541504109,
+ 0.9915036549576687, 0.9915121472681557, 0.991520631090365,
+ 0.9915291064327808, 0.9915375733038786, 0.991546031712126,
+ 0.9915544816659816, 0.9915629231738958, 0.9915713562443107,
+ 0.9915797808856597, 0.9915881971063678, 0.9915966049148518,
+ 0.9916050043195197, 0.9916133953287716, 0.9916217779509986,
+ 0.9916301521945841, 0.9916385180679025, 0.9916468755793202,
+ 0.9916552247371951, 0.9916635655498768, 0.9916718980257065,
+ 0.9916802221730171, 0.9916885380001332, 0.9916968455153711,
+ 0.9917051447270385, 0.9917134356434353, 0.9917217182728526,
+ 0.9917299926235736, 0.991738258703873, 0.9917465165220174,
+ 0.9917547660862649, 0.9917630074048654, 0.9917712404860609,
+ 0.9917794653380847, 0.9917876819691621, 0.9917958903875103,
+ 0.9918040906013378, 0.9918122826188455, 0.9918204664482256,
+ 0.9918286420976626, 0.9918368095753324, 0.991844968889403,
+ 0.9918531200480339, 0.9918612630593768, 0.9918693979315752,
+ 0.9918775246727644, 0.9918856432910714, 0.9918937537946152,
+ 0.9919018561915068, 0.9919099504898491, 0.9919180366977367,
+ 0.9919261148232561, 0.991934184874486, 0.9919422468594967,
+ 0.9919503007863508, 0.9919583466631026, 0.9919663844977981,
+ 0.9919744142984758, 0.9919824360731658, 0.9919904498298904,
+ 0.9919984555766637, 0.9920064533214917, 0.9920144430723727,
+ 0.9920224248372969, 0.9920303986242462, 0.9920383644411951,
+ 0.9920463222961097, 0.9920542721969482, 0.9920622141516608,
+ 0.9920701481681902, 0.9920780742544705, 0.9920859924184282,
+ 0.992093902667982, 0.9921018050110426, 0.9921096994555125,
+ 0.9921175860092868, 0.9921254646802522, 0.9921333354762879,
+ 0.9921411984052652, 0.9921490534750471, 0.9921569006934893,
+ 0.9921647400684395, 0.9921725716077372, 0.9921803953192145,
+ 0.9921882112106954, 0.9921960192899965, 0.9922038195649258,
+ 0.9922116120432842, 0.9922193967328647, 0.9922271736414522,
+ 0.992234942776824, 0.9922427041467496, 0.9922504577589909,
+ 0.9922582036213018, 0.9922659417414286, 0.9922736721271098,
+ 0.9922813947860761, 0.9922891097260506, 0.9922968169547486,
+ 0.9923045164798778, 0.992312208309138, 0.9923198924502215,
+ 0.9923275689108128, 0.9923352376985887, 0.9923428988212184,
+ 0.9923505522863635, 0.9923581981016776, 0.9923658362748072,
+ 0.9923734668133907, 0.992381089725059, 0.9923887050174354,
+ 0.9923963126981357, 0.9924039127747678, 0.9924115052549322,
+ 0.9924190901462218, 0.9924266674562219, 0.9924342371925101,
+ 0.9924417993626565, 0.9924493539742238, 0.9924569010347669,
+ 0.9924644405518332, 0.9924719725329627, 0.9924794969856876,
+ 0.9924870139175329, 0.9924945233360157, 0.9925020252486461,
+ 0.9925095196629261, 0.9925170065863507, 0.992524486026407,
+ 0.9925319579905749, 0.9925394224863268, 0.9925468795211275,
+ 0.9925543291024345, 0.9925617712376975, 0.9925692059343594,
+ 0.9925766331998549, 0.9925840530416119, 0.9925914654670505,
+ 0.9925988704835835, 0.9926062680986163, 0.9926136583195468,
+ 0.9926210411537658, 0.9926284166086563, 0.9926357846915943,
+ 0.992643145409948, 0.9926504987710788, 0.9926578447823401,
+ 0.9926651834510786, 0.9926725147846331, 0.9926798387903354,
+ 0.9926871554755099, 0.9926944648474736, 0.9927017669135362,
+ 0.9927090616810001, 0.9927163491571607, 0.9927236293493056,
+ 0.9927309022647154, 0.9927381679106634, 0.9927454262944155,
+ 0.9927526774232306, 0.9927599213043602, 0.9927671579450484,
+ 0.9927743873525323, 0.9927816095340417, 0.9927888244967992,
+ 0.9927960322480198, 0.992803232794912, 0.9928104261446765,
+ 0.992817612304507, 0.9928247912815902, 0.9928319630831052,
+ 0.9928391277162243, 0.9928462851881125, 0.9928534355059275,
+ 0.9928605786768201, 0.9928677147079338, 0.992874843606405,
+ 0.9928819653793629, 0.9928890800339297, 0.9928961875772204,
+ 0.992903288016343, 0.992910381358398, 0.9929174676104794,
+ 0.9929245467796736, 0.9929316188730601, 0.9929386838977117,
+ 0.9929457418606933, 0.9929527927690636, 0.9929598366298736,
+ 0.9929668734501677, 0.992973903236983, 0.9929809259973496,
+ 0.9929879417382905, 0.9929949504668222, 0.9930019521899534,
+ 0.9930089469146862, 0.9930159346480159, 0.9930229153969304,
+ 0.9930298891684108, 0.9930368559694314, 0.9930438158069591,
+ 0.9930507686879543, 0.9930577146193701, 0.9930646536081528,
+ 0.9930715856612417, 0.9930785107855693, 0.993085428988061,
+ 0.9930923402756354, 0.993099244655204, 0.9931061421336718,
+ 0.9931130327179364, 0.9931199164148887, 0.993126793231413,
+ 0.9931336631743861, 0.9931405262506785, 0.9931473824671536,
+ 0.993154231830668, 0.9931610743480713, 0.9931679100262065,
+ 0.9931747388719095, 0.9931815608920096, 0.993188376093329,
+ 0.9931951844826833, 0.9932019860668814, 0.9932087808527249,
+ 0.9932155688470092, 0.9932223500565226, 0.9932291244880466,
+ 0.9932358921483558, 0.9932426530442185, 0.9932494071823958,
+ 0.9932561545696422, 0.9932628952127054, 0.9932696291183263,
+ 0.9932763562932393, 0.9932830767441718, 0.9932897904778447,
+ 0.9932964975009719, 0.9933031978202609, 0.9933098914424123,
+ 0.99331657837412, 0.9933232586220715, 0.9933299321929471,
+ 0.9933365990934209, 0.9933432593301599, 0.9933499129098249,
+ 0.9933565598390698, 0.9933632001245417, 0.9933698337728815,
+ 0.9933764607907228, 0.9933830811846932, 0.9933896949614135,
+ 0.9933963021274975, 0.993402902689553, 0.9934094966541808,
+ 0.993416084027975, 0.9934226648175236, 0.9934292390294076,
+ 0.9934358066702015, 0.9934423677464733, 0.9934489222647844,
+ 0.9934554702316897, 0.9934620116537374, 0.9934685465374693,
+ 0.9934750748894206, 0.9934815967161199, 0.9934881120240896,
+ 0.9934946208198451, 0.9935011231098956, 0.9935076189007438,
+ 0.9935141081988856, 0.9935205910108108, 0.9935270673430024,
+ 0.9935335372019374, 0.9935400005940855, 0.9935464575259106,
+ 0.9935529080038702, 0.9935593520344148, 0.9935657896239889,
+ 0.9935722207790303, 0.9935786455059705, 0.9935850638112347,
+ 0.9935914757012414, 0.9935978811824028, 0.9936042802611247,
+ 0.9936106729438066, 0.9936170592368414, 0.9936234391466158,
+ 0.9936298126795099, 0.9936361798418976, 0.9936425406401465,
+ 0.9936488950806175, 0.9936552431696656, 0.9936615849136391,
+ 0.99366792031888, 0.993674249391724, 0.9936805721385007,
+ 0.993686888565533, 0.9936931986791376, 0.9936995024856251,
+ 0.9937057999912995, 0.9937120912024585, 0.9937183761253939,
+ 0.9937246547663908, 0.9937309271317282, 0.9937371932276787,
+ 0.9937434530605088, 0.9937497066364785, 0.9937559539618419,
+ 0.9937621950428465, 0.9937684298857337, 0.9937746584967386,
+ 0.9937808808820903, 0.9937870970480114, 0.9937933070007183,
+ 0.9937995107464214, 0.9938057082913246, 0.993811899641626,
+ 0.9938180848035171, 0.9938242637831832, 0.9938304365868039,
+ 0.9938366032205522, 0.993842763690595, 0.993848918003093,
+ 0.9938550661642012, 0.9938612081800675, 0.9938673440568346,
+ 0.9938734738006387, 0.9938795974176097, 0.9938857149138716,
+ 0.9938918262955421, 0.993897931568733, 0.9939040307395498,
+ 0.9939101238140922, 0.9939162107984532, 0.9939222916987204,
+ 0.9939283665209748, 0.9939344352712917, 0.99394049795574,
+ 0.9939465545803828, 0.9939526051512771, 0.9939586496744736,
+ 0.9939646881560171, 0.9939707206019466, 0.9939767470182946,
+ 0.993982767411088, 0.9939887817863475, 0.9939947901500877,
+ 0.9940007925083173, 0.9940067888670389, 0.9940127792322491,
+ 0.9940187636099388, 0.9940247420060925, 0.9940307144266889,
+ 0.9940366808777007, 0.9940426413650948, 0.9940485958948319,
+ 0.9940545444728667, 0.9940604871051483, 0.9940664237976194,
+ 0.9940723545562172, 0.9940782793868728, 0.994084198295511,
+ 0.9940901112880512, 0.9940960183704068, 0.994101919548485,
+ 0.9941078148281874, 0.9941137042154096, 0.994119587716041,
+ 0.9941254653359657, 0.9941313370810615, 0.9941372029572004,
+ 0.9941430629702487, 0.9941489171260666, 0.9941547654305085,
+ 0.9941606078894232, 0.9941664445086532, 0.9941722752940355,
+ 0.9941781002514013, 0.9941839193865758, 0.9941897327053784,
+ 0.9941955402136226, 0.9942013419171163, 0.9942071378216615,
+ 0.9942129279330544, 0.9942187122570855, 0.9942244907995391,
+ 0.9942302635661944, 0.9942360305628242, 0.9942417917951958,
+ 0.9942475472690709, 0.9942532969902051, 0.9942590409643486,
+ 0.9942647791972453, 0.9942705116946341, 0.9942762384622477,
+ 0.994281959505813, 0.9942876748310514, 0.9942933844436785,
+ 0.9942990883494043, 0.9943047865539328, 0.9943104790629628,
+ 0.9943161658821867, 0.9943218470172919, 0.9943275224739597,
+ 0.994333192257866, 0.9943388563746806, 0.994344514830068,
+ 0.9943501676296871, 0.9943558147791908, 0.9943614562842266,
+ 0.9943670921504362, 0.9943727223834559, 0.9943783469889161,
+ 0.9943839659724417, 0.9943895793396521, 0.9943951870961607,
+ 0.9944007892475758, 0.9944063857994997, 0.9944119767575292,
+ 0.9944175621272556, 0.9944231419142645, 0.9944287161241361,
+ 0.9944342847624447, 0.9944398478347592, 0.9944454053466432,
+ 0.9944509573036543, 0.9944565037113448, 0.9944620445752613,
+ 0.994467579900945, 0.9944731096939317, 0.9944786339597511,
+ 0.9944841527039279, 0.9944896659319812, 0.9944951736494245,
+ 0.9945006758617656, 0.9945061725745072, 0.9945116637931463,
+ 0.9945171495231743, 0.9945226297700771, 0.9945281045393354,
+ 0.9945335738364242, 0.994539037666813, 0.9945444960359658,
+ 0.9945499489493417, 0.9945553964123934, 0.9945608384305689,
+ 0.9945662750093103, 0.9945717061540547, 0.9945771318702332,
+ 0.9945825521632722, 0.9945879670385919, 0.9945933765016075,
+ 0.9945987805577289, 0.9946041792123603, 0.9946095724709006,
+ 0.9946149603387435, 0.9946203428212771, 0.9946257199238839,
+ 0.9946310916519416, 0.994636458010822, 0.9946418190058918,
+ 0.9946471746425122, 0.9946525249260391, 0.9946578698618231,
+ 0.9946632094552095, 0.994668543711538, 0.9946738726361432,
+ 0.9946791962343542, 0.994684514511495, 0.9946898274728841,
+ 0.9946951351238347, 0.9947004374696548, 0.9947057345156468,
+ 0.9947110262671082, 0.994716312729331, 0.9947215939076018,
+ 0.9947268698072023, 0.9947321404334084, 0.9947374057914912,
+ 0.994742665886716, 0.9947479207243436, 0.9947531703096287,
+ 0.9947584146478214, 0.9947636537441662, 0.9947688876039025,
+ 0.9947741162322644, 0.9947793396344808, 0.9947845578157753,
+ 0.9947897707813665, 0.9947949785364675, 0.9948001810862863,
+ 0.9948053784360258, 0.9948105705908835, 0.9948157575560519,
+ 0.9948209393367182, 0.9948261159380645, 0.9948312873652675,
+ 0.994836453623499, 0.9948416147179255, 0.9948467706537084,
+ 0.9948519214360039, 0.994857067069963, 0.9948622075607315,
+ 0.9948673429134502, 0.9948724731332549, 0.9948775982252759,
+ 0.9948827181946385, 0.9948878330464629, 0.9948929427858644,
+ 0.994898047417953, 0.9949031469478333, 0.9949082413806054,
+ 0.9949133307213638, 0.9949184149751982, 0.9949234941471929,
+ 0.9949285682424277, 0.9949336372659766, 0.9949387012229092,
+ 0.9949437601182893, 0.9949488139571764, 0.9949538627446244,
+ 0.9949589064856825, 0.9949639451853945, 0.9949689788487995,
+ 0.9949740074809315, 0.9949790310868191, 0.9949840496714862,
+ 0.994989063239952, 0.9949940717972299, 0.994999075348329,
+ 0.9950040738982528, 0.9950090674520005, 0.9950140560145655,
+ 0.9950190395909368, 0.9950240181860983, 0.9950289918050287,
+ 0.995033960452702, 0.995038924134087, 0.9950438828541476,
+ 0.9950488366178429, 0.9950537854301268, 0.9950587292959484,
+ 0.9950636682202518, 0.9950686022079762, 0.9950735312640558,
+ 0.99507845539342, 0.995083374600993, 0.9950882888916944,
+ 0.9950931982704387, 0.9950981027421355, 0.9951030023116895,
+ 0.9951078969840006, 0.9951127867639636, 0.9951176716564686,
+ 0.9951225516664007, 0.9951274267986403, 0.9951322970580625,
+ 0.9951371624495381, 0.9951420229779325, 0.9951468786481066,
+ 0.9951517294649163, 0.9951565754332126, 0.9951614165578417,
+ 0.995166252843645, 0.9951710842954592, 0.9951759109181157,
+ 0.9951807327164416, 0.9951855496952587, 0.9951903618593845,
+ 0.9951951692136313, 0.9951999717628065, 0.9952047695117132,
+ 0.9952095624651491, 0.9952143506279076, 0.9952191340047771,
+ 0.9952239126005411, 0.9952286864199785, 0.9952334554678633,
+ 0.995238219748965, 0.9952429792680478, 0.9952477340298717,
+ 0.9952524840391915, 0.9952572293007577, 0.9952619698193155,
+ 0.9952667055996058, 0.9952714366463649, 0.9952761629643235,
+ 0.9952808845582086, 0.9952856014327419, 0.9952903135926405,
+ 0.9952950210426169, 0.9952997237873786, 0.9953044218316287,
+ 0.9953091151800655, 0.9953138038373824, 0.9953184878082685,
+ 0.995323167097408, 0.9953278417094803, 0.9953325116491603,
+ 0.9953371769211181, 0.9953418375300194, 0.9953464934805248,
+ 0.9953511447772908, 0.9953557914249686, 0.9953604334282052,
+ 0.9953650707916429, 0.9953697035199193, 0.9953743316176673,
+ 0.9953789550895152, 0.9953835739400867, 0.995388188174001,
+ 0.9953927977958725, 0.995397402810311, 0.9954020032219217,
+ 0.9954065990353055, 0.9954111902550582, 0.9954157768857713,
+ 0.9954203589320317, 0.9954249363984217, 0.9954295092895189,
+ 0.9954340776098966, 0.9954386413641231, 0.9954432005567625,
+ 0.9954477551923743, 0.9954523052755132, 0.9954568508107297,
+ 0.9954613918025694, 0.9954659282555736, 0.995470460174279,
+ 0.9954749875632176, 0.9954795104269173, 0.9954840287699008,
+ 0.9954885425966871, 0.9954930519117899, 0.995497556719719,
+ 0.9955020570249792, 0.9955065528320712, 0.995511044145491,
+ 0.9955155309697301, 0.9955200133092755, 0.9955244911686099,
+ 0.9955289645522113, 0.9955334334645533, 0.995537897910105,
+ 0.9955423578933312, 0.9955468134186921, 0.9955512644906432,
+ 0.9955557111136362, 0.9955601532921176, 0.9955645910305299,
+ 0.9955690243333111, 0.9955734532048947, 0.9955778776497097,
+ 0.995582297672181, 0.9955867132767287, 0.9955911244677687,
+ 0.9955955312497122, 0.9955999336269664, 0.9956043316039339,
+ 0.9956087251850128, 0.995613114374597, 0.9956174991770758,
+ 0.9956218795968342, 0.995626255638253, 0.9956306273057085,
+ 0.9956349946035723, 0.9956393575362121, 0.9956437161079911,
+ 0.995648070323268, 0.9956524201863972, 0.9956567657017289,
+ 0.9956611068736088, 0.9956654437063782, 0.9956697762043742,
+ 0.9956741043719296, 0.9956784282133726, 0.9956827477330275,
+ 0.9956870629352138, 0.995691373824247, 0.9956956804044383,
+ 0.9956999826800944, 0.9957042806555179, 0.9957085743350067,
+ 0.9957128637228551, 0.9957171488233524, 0.9957214296407839,
+ 0.9957257061794309, 0.99572997844357, 0.9957342464374737,
+ 0.99573851016541, 0.9957427696316432, 0.9957470248404329,
+ 0.9957512757960342, 0.9957555225026986, 0.9957597649646729,
+ 0.9957640031861998, 0.9957682371715177, 0.995772466924861,
+ 0.9957766924504593, 0.9957809137525385, 0.9957851308353203,
+ 0.9957893437030217, 0.995793552359856, 0.9957977568100319,
+ 0.9958019570577542, 0.9958061531072232, 0.9958103449626353,
+ 0.9958145326281826, 0.9958187161080528, 0.9958228954064298,
+ 0.9958270705274929, 0.9958312414754176, 0.9958354082543749,
+ 0.9958395708685319, 0.9958437293220515, 0.995847883619092,
+ 0.9958520337638084, 0.9958561797603507, 0.9958603216128652,
+ 0.9958644593254941, 0.9958685929023751, 0.9958727223476421,
+ 0.9958768476654247, 0.9958809688598484, 0.9958850859350348,
+ 0.995889198895101, 0.9958933077441602, 0.9958974124863215,
+ 0.9959015131256896, 0.9959056096663658, 0.9959097021124464,
+ 0.9959137904680244, 0.9959178747371882, 0.9959219549240222,
+ 0.9959260310326069, 0.9959301030670187, 0.9959341710313295,
+ 0.9959382349296079, 0.9959422947659177, 0.995946350544319,
+ 0.9959504022688679, 0.9959544499436163, 0.9959584935726119,
+ 0.9959625331598987, 0.9959665687095164, 0.9959706002255008,
+ 0.9959746277118836, 0.9959786511726926, 0.9959826706119512,
+ 0.9959866860336793, 0.9959906974418925, 0.9959947048406023,
+ 0.9959987082338163, 0.9960027076255381, 0.9960067030197673,
+ 0.9960106944204996, 0.9960146818317265, 0.9960186652574355,
+ 0.9960226447016105, 0.996026620168231, 0.9960305916612726,
+ 0.9960345591847071, 0.996038522742502, 0.9960424823386215,
+ 0.996046437977025, 0.9960503896616684, 0.9960543373965037,
+ 0.9960582811854788, 0.9960622210325376, 0.9960661569416203,
+ 0.9960700889166628, 0.9960740169615975, 0.9960779410803524,
+ 0.996081861276852, 0.9960857775550167, 0.9960896899187629,
+ 0.9960935983720031, 0.9960975029186461, 0.9961014035625965,
+ 0.9961053003077552, 0.9961091931580192, 0.9961130821172814,
+ 0.9961169671894311, 0.9961208483783535, 0.99612472568793,
+ 0.996128599122038, 0.9961324686845513, 0.9961363343793396,
+ 0.9961401962102687, 0.9961440541812008, 0.9961479082959939,
+ 0.9961517585585024, 0.9961556049725766, 0.9961594475420633,
+ 0.9961632862708052, 0.9961671211626412, 0.9961709522214064,
+ 0.9961747794509319, 0.9961786028550454, 0.9961824224375704,
+ 0.9961862382023265, 0.99619005015313, 0.9961938582937927,
+ 0.996197662628123, 0.9962014631599255, 0.996205259893001,
+ 0.9962090528311464, 0.9962128419781546, 0.9962166273378151,
+ 0.9962204089139135, 0.9962241867102315, 0.9962279607305472,
+ 0.9962317309786346, 0.9962354974582642, 0.9962392601732029,
+ 0.9962430191272131, 0.9962467743240545, 0.9962505257674822,
+ 0.9962542734612478, 0.9962580174090994, 0.996261757614781,
+ 0.9962654940820328, 0.9962692268145917, 0.9962729558161907,
+ 0.9962766810905587, 0.9962804026414214, 0.9962841204725003,
+ 0.9962878345875137, 0.9962915449901757, 0.996295251684197,
+ 0.9962989546732843, 0.996302653961141, 0.9963063495514665,
+ 0.9963100414479565, 0.9963137296543032, 0.996317414174195,
+ 0.9963210950113164, 0.9963247721693486, 0.9963284456519688,
+ 0.9963321154628508, 0.9963357816056646, 0.9963394440840765,
+ 0.9963431029017491, 0.9963467580623415, 0.9963504095695089,
+ 0.9963540574269032, 0.9963577016381723, 0.9963613422069605,
+ 0.9963649791369087, 0.9963686124316541, 0.9963722420948299,
+ 0.9963758681300662, 0.9963794905409891, 0.9963831093312211,
+ 0.9963867245043814, 0.9963903360640851, 0.9963939440139442,
+ 0.9963975483575667, 0.996401149098557, 0.9964047462405163,
+ 0.9964083397870417, 0.996411929741727, 0.9964155161081624,
+ 0.9964190988899343, 0.9964226780906258, 0.9964262537138161,
+ 0.9964298257630813, 0.9964333942419933, 0.996436959154121,
+ 0.9964405205030293, 0.9964440782922799, 0.9964476325254307,
+ 0.9964511832060361, 0.996454730337647, 0.9964582739238106,
+ 0.9964618139680707, 0.9964653504739676, 0.9964688834450379,
+ 0.9964724128848149, 0.996475938796828, 0.9964794611846035,
+ 0.9964829800516638, 0.996486495401528, 0.9964900072377116,
+ 0.9964935155637267, 0.9964970203830816, 0.9965005216992816,
+ 0.996504019515828, 0.9965075138362187, 0.9965110046639485,
+ 0.9965144920025081, 0.9965179758553852, 0.9965214562260636,
+ 0.9965249331180241, 0.9965284065347437, 0.996531876479696,
+ 0.9965353429563509, 0.9965388059681755, 0.9965422655186325,
+ 0.9965457216111818, 0.9965491742492798, 0.9965526234363793,
+ 0.9965560691759294, 0.9965595114713763, 0.9965629503261624,
+ 0.9965663857437266, 0.9965698177275045, 0.9965732462809284,
+ 0.996576671407427, 0.9965800931104255, 0.9965835113933458,
+ 0.9965869262596064, 0.9965903377126223, 0.9965937457558052,
+ 0.9965971503925631, 0.9966005516263011, 0.9966039494604204,
+ 0.9966073438983192, 0.9966107349433918, 0.9966141225990297,
+ 0.9966175068686206, 0.9966208877555489, 0.9966242652631958,
+ 0.9966276393949388, 0.9966310101541523, 0.9966343775442073,
+ 0.9966377415684712, 0.9966411022303083, 0.9966444595330795,
+ 0.996647813480142, 0.9966511640748501, 0.9966545113205546,
+ 0.9966578552206029, 0.996661195778339, 0.9966645329971036,
+ 0.9966678668802342, 0.9966711974310648, 0.996674524652926,
+ 0.9966778485491454, 0.9966811691230469, 0.9966844863779514,
+ 0.9966878003171761, 0.9966911109440353, 0.9966944182618397,
+ 0.9966977222738967, 0.9967010229835107, 0.9967043203939825,
+ 0.9967076145086096, 0.9967109053306862, 0.9967141928635034,
+ 0.996717477110349, 0.9967207580745072, 0.9967240357592593,
+ 0.9967273101678831, 0.9967305813036531, 0.9967338491698406,
+ 0.9967371137697139, 0.9967403751065373, 0.9967436331835727,
+ 0.9967468880040782, 0.9967501395713086, 0.996753387888516,
+ 0.9967566329589486, 0.9967598747858517, 0.9967631133724674,
+ 0.9967663487220342, 0.9967695808377879, 0.9967728097229606,
+ 0.9967760353807813, 0.996779257814476, 0.9967824770272671,
+ 0.9967856930223742, 0.9967889058030133, 0.9967921153723973,
+ 0.9967953217337361, 0.9967985248902361, 0.9968017248451007,
+ 0.9968049216015298, 0.9968081151627206, 0.9968113055318666,
+ 0.9968144927121585, 0.9968176767067836, 0.9968208575189259,
+ 0.9968240351517667, 0.9968272096084834, 0.9968303808922508,
+ 0.9968335490062404, 0.9968367139536204, 0.996839875737556,
+ 0.9968430343612089, 0.9968461898277381, 0.9968493421402992,
+ 0.9968524913020447, 0.9968556373161237, 0.9968587801856826,
+ 0.9968619199138644, 0.996865056503809, 0.996868189958653,
+ 0.9968713202815301, 0.9968744474755709, 0.9968775715439024,
+ 0.9968806924896492, 0.9968838103159322, 0.9968869250258695,
+ 0.9968900366225759, 0.9968931451091632, 0.9968962504887399,
+ 0.9968993527644117, 0.996902451939281, 0.996905548016447,
+ 0.9969086409990061, 0.9969117308900514, 0.9969148176926728,
+ 0.9969179014099574, 0.9969209820449891, 0.9969240596008486,
+ 0.9969271340806137, 0.9969302054873589, 0.9969332738241559,
+ 0.9969363390940731, 0.9969394013001759, 0.9969424604455267,
+ 0.9969455165331849, 0.9969485695662066, 0.996951619547645,
+ 0.9969546664805503, 0.9969577103679697, 0.9969607512129469,
+ 0.9969637890185231, 0.9969668237877363, 0.9969698555236214,
+ 0.9969728842292102, 0.9969759099075316, 0.9969789325616115,
+ 0.9969819521944727, 0.9969849688091348, 0.9969879824086149,
+ 0.9969909929959263, 0.9969940005740802, 0.996997005146084,
+ 0.9970000067149426, 0.9970030052836576, 0.9970060008552278,
+ 0.9970089934326489, 0.9970119830189136, 0.9970149696170117,
+ 0.9970179532299299, 0.997020933860652, 0.9970239115121587,
+ 0.997026886187428, 0.9970298578894344, 0.99703282662115,
+ 0.9970357923855436, 0.9970387551855812, 0.9970417150242256,
+ 0.9970446719044368, 0.997047625829172, 0.9970505768013851,
+ 0.9970535248240273, 0.9970564699000467, 0.9970594120323886,
+ 0.9970623512239953, 0.997065287477806, 0.9970682207967573,
+ 0.9970711511837824, 0.9970740786418122, 0.9970770031737739,
+ 0.9970799247825926, 0.9970828434711896, 0.9970857592424841,
+ 0.9970886720993918, 0.9970915820448258, 0.9970944890816963,
+ 0.9970973932129102, 0.997100294441372, 0.997103192769983,
+ 0.9971060882016417, 0.9971089807392436, 0.9971118703856815,
+ 0.9971147571438451, 0.9971176410166214, 0.9971205220068943,
+ 0.997123400117545, 0.9971262753514517, 0.9971291477114899,
+ 0.997132017200532, 0.9971348838214477, 0.9971377475771036,
+ 0.9971406084703638, 0.9971434665040892, 0.9971463216811381,
+ 0.9971491740043658, 0.9971520234766246, 0.9971548701007643,
+ 0.9971577138796316, 0.9971605548160704, 0.9971633929129218,
+ 0.997166228173024, 0.9971690605992125, 0.9971718901943198,
+ 0.9971747169611757, 0.997177540902607, 0.9971803620214379,
+ 0.9971831803204895, 0.9971859958025804, 0.9971888084705262,
+ 0.9971916183271395, 0.9971944253752306, 0.9971972296176066,
+ 0.9972000310570718, 0.9972028296964278, 0.9972056255384734,
+ 0.9972084185860046, 0.9972112088418146, 0.9972139963086937,
+ 0.9972167809894296, 0.997219562886807, 0.9972223420036082,
+ 0.9972251183426122, 0.9972278919065956, 0.9972306626983319,
+ 0.9972334307205923, 0.9972361959761449, 0.997238958467755,
+ 0.9972417181981854, 0.9972444751701958, 0.9972472293865432,
+ 0.9972499808499823, 0.9972527295632644, 0.9972554755291385,
+ 0.9972582187503507, 0.9972609592296443, 0.9972636969697599,
+ 0.9972664319734356, 0.9972691642434062, 0.9972718937824042,
+ 0.9972746205931595, 0.9972773446783989, 0.9972800660408465,
+ 0.997282784683224, 0.99728550060825, 0.9972882138186407,
+ 0.9972909243171094, 0.9972936321063668, 0.9972963371891207,
+ 0.9972990395680763, 0.9973017392459363, 0.9973044362254003,
+ 0.9973071305091656, 0.9973098220999266, 0.9973125110003749,
+ 0.9973151972131995, 0.997317880741087, 0.9973205615867208,
+ 0.997323239752782, 0.9973259152419489, 0.9973285880568971,
+ 0.9973312582002996, 0.9973339256748266, 0.9973365904831457,
+ 0.997339252627922, 0.9973419121118176, 0.9973445689374921,
+ 0.9973472231076026, 0.9973498746248034, 0.9973525234917461,
+ 0.9973551697110796, 0.9973578132854504, 0.9973604542175022,
+ 0.9973630925098759, 0.9973657281652101, 0.9973683611861405,
+ 0.9973709915753003, 0.99737361933532, 0.9973762444688276,
+ 0.9973788669784481, 0.9973814868668044, 0.9973841041365163,
+ 0.9973867187902014, 0.9973893308304744, 0.9973919402599475,
+ 0.9973945470812302, 0.9973971512969294, 0.9973997529096497,
+ 0.9974023519219926, 0.9974049483365572, 0.9974075421559404,
+ 0.9974101333827358, 0.9974127220195348, 0.9974153080689263,
+ 0.9974178915334965, 0.9974204724158288, 0.9974230507185042,
+ 0.9974256264441015, 0.9974281995951961, 0.9974307701743617,
+ 0.9974333381841686, 0.9974359036271853, 0.997438466505977,
+ 0.9974410268231071, 0.9974435845811357, 0.997446139782621,
+ 0.997448692430118, 0.9974512425261798, 0.9974537900733564,
+ 0.9974563350741955, 0.9974588775312424, 0.9974614174470394,
+ 0.9974639548241269, 0.997466489665042, 0.99746902197232,
+ 0.9974715517484932, 0.9974740789960915, 0.9974766037176422,
+ 0.9974791259156703, 0.9974816455926981, 0.9974841627512454,
+ 0.9974866773938293, 0.9974891895229648, 0.9974916991411641,
+ 0.9974942062509368, 0.9974967108547903, 0.9974992129552294,
+ 0.9975017125547561, 0.9975042096558702, 0.9975067042610689,
+ 0.9975091963728471, 0.9975116859936968, 0.997514173126108,
+ 0.9975166577725677, 0.9975191399355609, 0.9975216196175697,
+ 0.997524096821074, 0.9975265715485512, 0.997529043802476,
+ 0.9975315135853209, 0.9975339808995557, 0.9975364457476479,
+ 0.9975389081320624, 0.9975413680552618, 0.9975438255197061,
+ 0.997546280527853, 0.9975487330821574, 0.9975511831850722,
+ 0.9975536308390476, 0.9975560760465312, 0.9975585188099685,
+ 0.9975609591318022, 0.997563397014473, 0.9975658324604187,
+ 0.997568265472075, 0.997570696051875, 0.9975731242022493,
+ 0.9975755499256264, 0.9975779732244319, 0.9975803941010892,
+ 0.9975828125580196, 0.9975852285976414, 0.9975876422223708,
+ 0.9975900534346217, 0.9975924622368053, 0.9975948686313306,
+ 0.997597272620604, 0.9975996742070298, 0.9976020733930094,
+ 0.9976044701809424, 0.9976068645732256, 0.9976092565722535,
+ 0.9976116461804182, 0.9976140334001096, 0.9976164182337147,
+ 0.9976188006836187, 0.9976211807522042, 0.9976235584418512,
+ 0.9976259337549378, 0.9976283066938391, 0.9976306772609284,
+ 0.9976330454585761, 0.9976354112891509, 0.9976377747550185,
+ 0.9976401358585425, 0.9976424946020842, 0.9976448509880025,
+ 0.9976472050186538, 0.9976495566963922, 0.9976519060235696,
+ 0.9976542530025354, 0.9976565976356369, 0.9976589399252184,
+ 0.9976612798736227, 0.9976636174831898, 0.9976659527562572,
+ 0.9976682856951605, 0.9976706163022329, 0.9976729445798047,
+ 0.9976752705302047, 0.9976775941557586, 0.9976799154587905,
+ 0.9976822344416216, 0.9976845511065711, 0.9976868654559558,
+ 0.9976891774920899, 0.9976914872172858, 0.9976937946338534,
+ 0.9976960997441001, 0.9976984025503312, 0.9977007030548495,
+ 0.9977030012599557, 0.9977052971679481, 0.9977075907811227,
+ 0.9977098821017734, 0.9977121711321913, 0.997714457874666,
+ 0.9977167423314839, 0.9977190245049299, 0.997721304397286,
+ 0.9977235820108326, 0.997725857347847, 0.9977281304106049,
+ 0.9977304012013795, 0.9977326697224416, 0.9977349359760598,
+ 0.9977371999645005, 0.9977394616900279, 0.9977417211549038,
+ 0.9977439783613876, 0.997746233311737, 0.9977484860082066,
+ 0.9977507364530496, 0.9977529846485164, 0.9977552305968552,
+ 0.9977574743003123, 0.9977597157611312, 0.9977619549815538,
+ 0.9977641919638193, 0.9977664267101647, 0.997768659222825,
+ 0.9977708895040327, 0.9977731175560183, 0.9977753433810099,
+ 0.9977775669812335, 0.9977797883589128, 0.9977820075162691,
+ 0.997784224455522, 0.9977864391788883, 0.9977886516885829,
+ 0.9977908619868185, 0.9977930700758054, 0.9977952759577519,
+ 0.9977974796348638, 0.9977996811093451, 0.9978018803833973,
+ 0.9978040774592198, 0.9978062723390098, 0.9978084650249622,
+ 0.99781065551927, 0.9978128438241235, 0.9978150299417113,
+ 0.9978172138742196, 0.9978193956238326, 0.9978215751927318,
+ 0.9978237525830973, 0.9978259277971062, 0.9978281008369341,
+ 0.997830271704754, 0.997832440402737, 0.9978346069330518,
+ 0.9978367712978652, 0.9978389334993414, 0.9978410935396429,
+ 0.9978432514209298, 0.9978454071453601, 0.9978475607150896,
+ 0.9978497121322721, 0.997851861399059, 0.9978540085175998,
+ 0.9978561534900414, 0.9978582963185293, 0.9978604370052062,
+ 0.997862575552213, 0.9978647119616882, 0.9978668462357685,
+ 0.9978689783765882, 0.9978711083862795, 0.9978732362669726,
+ 0.9978753620207953, 0.9978774856498738, 0.9978796071563315,
+ 0.9978817265422902, 0.9978838438098694, 0.9978859589611864,
+ 0.9978880719983565, 0.9978901829234927, 0.9978922917387063,
+ 0.997894398446106, 0.9978965030477986, 0.997898605545889,
+ 0.9979007059424798, 0.9979028042396713, 0.9979049004395619,
+ 0.9979069945442481, 0.9979090865558241, 0.9979111764763818,
+ 0.9979132643080114, 0.9979153500528009, 0.9979174337128359,
+ 0.9979195152902003, 0.9979215947869758, 0.997923672205242,
+ 0.9979257475470765, 0.9979278208145546, 0.9979298920097497,
+ 0.9979319611347331, 0.9979340281915742, 0.9979360931823399,
+ 0.9979381561090954, 0.9979402169739038, 0.997942275778826,
+ 0.997944332525921, 0.9979463872172454, 0.9979484398548543,
+ 0.9979504904408002, 0.9979525389771339, 0.997954585465904,
+ 0.9979566299091572, 0.997958672308938, 0.9979607126672888,
+ 0.9979627509862501, 0.9979647872678604, 0.997966821514156,
+ 0.9979688537271714, 0.9979708839089386, 0.9979729120614882,
+ 0.9979749381868483, 0.9979769622870452, 0.997978984364103,
+ 0.997981004420044, 0.9979830224568883, 0.997985038476654,
+ 0.9979870524813573, 0.9979890644730123, 0.9979910744536309,
+ 0.9979930824252234, 0.9979950883897979, 0.9979970923493603,
+ 0.9979990943059147, 0.9980010942614633, 0.998003092218006,
+ 0.9980050881775409, 0.998007082142064, 0.9980090741135694,
+ 0.9980110640940493, 0.9980130520854936, 0.9980150380898906,
+ 0.9980170221092262, 0.9980190041454845, 0.9980209842006479,
+ 0.9980229622766963, 0.9980249383756079, 0.9980269124993589,
+ 0.9980288846499238, 0.9980308548292744, 0.9980328230393813,
+ 0.9980347892822128, 0.998036753559735, 0.9980387158739126,
+ 0.9980406762267077, 0.9980426346200809, 0.9980445910559907,
+ 0.9980465455363937, 0.9980484980632444, 0.9980504486384952,
+ 0.9980523972640972, 0.9980543439419989, 0.9980562886741471,
+ 0.9980582314624865, 0.9980601723089603, 0.9980621112155091,
+ 0.9980640481840721, 0.9980659832165863, 0.9980679163149869,
+ 0.9980698474812071, 0.998071776717178, 0.9980737040248291,
+ 0.9980756294060876, 0.9980775528628794, 0.9980794743971275,
+ 0.9980813940107539, 0.9980833117056783, 0.9980852274838183,
+ 0.99808714134709, 0.9980890532974072, 0.9980909633366819,
+ 0.9980928714668245, 0.9980947776897429, 0.9980966820073436,
+ 0.9980985844215309, 0.9981004849342074, 0.9981023835472739,
+ 0.9981042802626288, 0.9981061750821689, 0.9981080680077893,
+ 0.998109959041383, 0.998111848184841, 0.9981137354400527,
+ 0.9981156208089054, 0.9981175042932844, 0.9981193858950734,
+ 0.9981212656161542, 0.9981231434584065, 0.9981250194237082,
0.9981268935139355, 0.9981287657309624, 0.9981306360766614};
//Find the correct [j][k] element for a given x1 and x2
if ( x1==wreg[JMAX] ){j=JMAX;}
else{
for (int y=0; y<=JMAX; y++){
if ( (wreg[y] <= x1) && ( x1 < wreg[y+1]) ) { j=y; break;}
}
}
if ( x2>ularge[KMAX-1] ){k=KMAX;}
else{
for (int z=0; z<=KMAX; z++){
if ( (ularge[z] <= x2) && ( x2 < ularge[z+1]) ) { k=z; break;}
}
}
//Calculate sigma() using Bi-Linear interpolaion
double y0, y1, y2, y3;
double t, u;
if ( k==KMAX) {
ans = sigma[k][j];
}
else {
y0 = sigma[k][j];
y1 = sigma[k][j+1];
y2 = sigma[k+1][j+1];
y3 = sigma[k+1][j];
t = (x1-wreg[j])/(wreg[j+1]-wreg[j]);
u = (x2-ularge[k])/(ularge[k+1]-ularge[k]);
ans = (1-t)*(1-u)*y0+t*(1-u)*y1 +t*u*y2+(1-t)*u*y3;
}
}
return ans;
}
diff --git a/src/EvtGenModels/EvtVubBLNP.cpp b/src/EvtGenModels/EvtVubBLNP.cpp
index 5269217..0833b66 100644
--- a/src/EvtGenModels/EvtVubBLNP.cpp
+++ b/src/EvtGenModels/EvtVubBLNP.cpp
@@ -1,923 +1,908 @@
//////////////////////////////////////////////////////////////////////
//
// Module: EvtVubBLNP.cc
//
// Description: Modeled on Riccardo Faccini's EvtVubNLO module
//
// tripleDiff from BLNP's notebook (based on BLNP4, hep-ph/0504071)
//
//////////////////////////////////////////////////////////////////
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVubBLNP.hh"
#include <string>
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtItgSimpsonIntegrator.hh"
#include "EvtGenModels/EvtItgPtrFunction.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenModels/EvtPFermi.hh"
// For incomplete gamma function
#include "math.h"
#include "signal.h"
#define ITMAX 100
#define EPS 3.0e-7
#define FPMIN 1.0e-30
using std::cout;
using std::endl;
-EvtVubBLNP::~EvtVubBLNP() {
-}
-
std::string EvtVubBLNP::getName(){
return "VUB_BLNP";
}
EvtDecayBase *EvtVubBLNP::clone() {
return new EvtVubBLNP;
}
void EvtVubBLNP::init() {
// get parameters (declared in the header file)
-
+
// Input parameters
mBB = 5.2792;
lambda2 = 0.12;
// Shape function parameters
b = getArg(0);
Lambda = getArg(1);
Ecut = 1.8;
wzero = mBB - 2*Ecut;
// SF and SSF modes
itype = (int)getArg(5);
dtype = getArg(5);
isubl = (int)getArg(6);
// flags
flag1 = (int)getArg(7);
flag2 = (int)getArg(8);
flag3 = (int)getArg(9);
// Quark mass
mb = 4.61;
- // hidden parameter what and SF stuff
+ // hidden parameter what and SF stuff
const double xlow = 0;
const double xhigh = mBB;
const int aSize = 10000;
EvtPFermi pFermi(Lambda,b);
// pf is the cumulative distribution normalized to 1.
_pf.resize(aSize);
for(int i=0;i<aSize;i++){
double what = xlow + (double)(i+0.5)/((double)aSize)*(xhigh-xlow);
if ( i== 0 )
_pf[i] = pFermi.getSFBLNP(what);
else
_pf[i] = _pf[i-1] + pFermi.getSFBLNP(what);
}
for (size_t i=0; i<_pf.size(); i++) {
_pf[i]/=_pf[_pf.size()-1];
- }
+ }
// Matching scales
muh = mBB*getArg(2); // 0.5
mui = getArg(3); // 1.5
mubar = getArg(4); // 1.5
// Perturbative quantities
CF = 4.0/3.0;
CA = 3.0;
double nf = 4.0;
beta0 = 11.0/3.0*CA - 2.0/3.0*nf;
beta1 = 34.0/3.0*CA*CA - 10.0/3.0*CA*nf - 2.0*CF*nf;
beta2 = 2857.0/54.0*CA*CA*CA + (CF*CF - 205.0/18.0*CF*CA - 1415.0/54.0*CA*CA)*nf + (11.0/9.0*CF + 79.0/54.0*CA)*nf*nf;
zeta3 = 1.0 + 1/8.0 + 1/27.0 + 1/64.0;
Gamma0 = 4*CF;
Gamma1 = CF*( (268.0/9.0 - 4.0*M_PI*M_PI/3.0)*CA - 40.0/9.0*nf);
Gamma2 = 16*CF*( (245.0/24.0 - 67.0/54.0*M_PI*M_PI + + 11.0/180.0*pow(M_PI,4) + 11.0/6.0*zeta3)*CA*CA* + (-209.0/108.0 + 5.0/27.0*M_PI*M_PI - 7.0/3.0*zeta3)*CA*nf + (-55.0/24.0 + 2*zeta3)*CF*nf - nf*nf/27.0);
gp0 = -5.0*CF;
gp1 = -8.0*CF*( (3.0/16.0 - M_PI*M_PI/4.0 + 3*zeta3)*CF + (1549.0/432.0 + 7.0/48.0*M_PI*M_PI - 11.0/4.0*zeta3)*CA - (125.0/216.0 + M_PI*M_PI/24.0)*nf );
// Lbar and mupisq
Lbar = Lambda; // all models
mupisq = 3*Lambda*Lambda/b;
if (itype == 1) mupisq = 3*Lambda*Lambda/b;
if (itype == 2) mupisq = 3*Lambda*Lambda*(Gamma(1+0.5*b)*Gamma(0.5*b)/pow( Gamma(0.5 + 0.5*b), 2) - 1);
// moment2 for SSFs
moment2 = pow(0.3,3);
// inputs for total rate (T for Total); use BLNP notebook defaults
flagpower = 1;
flag2loop = 1;
// stuff for the integrator
maxLoop = 20;
//precision = 1.0e-3;
precision = 2.0e-2;
// vector of global variables, to pass to static functions (which can't access globals);
gvars.push_back(0.0); // 0
gvars.push_back(0.0); // 1
gvars.push_back(mui); // 2
gvars.push_back(b); // 3
gvars.push_back(Lambda); // 4
gvars.push_back(mBB); // 5
gvars.push_back(mb); // 6
gvars.push_back(wzero); // 7
gvars.push_back(beta0); // 8
gvars.push_back(beta1); // 9
gvars.push_back(beta2); // 10
gvars.push_back(dtype); // 11
// check that there are 3 daughters and 10 arguments
checkNDaug(3);
checkNArg(10);
}
void EvtVubBLNP::initProbMax() {
noProbMax();
}
void EvtVubBLNP::decay(EvtParticle *Bmeson) {
int j;
-
+
EvtParticle *xuhad(0), *lepton(0), *neutrino(0);
EvtVector4R p4;
double Pp, Pm, Pl, pdf, EX, sh, ml, mpi, ratemax;
double El(0.);
-
+
double xhigh, xlow, what;
-
+
Bmeson->initializePhaseSpace(getNDaug(), getDaugs());
-
+
xuhad = Bmeson->getDaug(0);
lepton = Bmeson->getDaug(1);
neutrino = Bmeson ->getDaug(2);
mBB = Bmeson->mass();
ml = lepton->mass();
-
-
- // get SF value
+
+
+ // get SF value
xlow = 0;
- xhigh = mBB;
- // the case for alphas = 0 is not considered
+ xhigh = mBB;
+ // the case for alphas = 0 is not considered
what = 2*xhigh;
while( what > xhigh || what < xlow ) {
- what = findBLNPWhat();
+ what = findBLNPWhat();
what = xlow + what*(xhigh-xlow);
}
-
-
-
+
+
+
bool tryit = true;
-
+
while (tryit) {
-
- // generate pp between 0 and
+
+ // generate pp between 0 and
// Flat(min, max) gives R(max - min) + min, where R = random btwn 0 and 1
Pp = EvtRandom::Flat(0, mBB); // P+ = EX - |PX|
Pl = EvtRandom::Flat(0, mBB); // mBB - 2El
Pm = EvtRandom::Flat(0, mBB); // P- = EX + |PX|
sh = Pm*Pp;
EX = 0.5*(Pm + Pp);
El = 0.5*(mBB - Pl);
- // Need maximum rate. Waiting for Mr. Paz to give it to me.
+ // Need maximum rate. Waiting for Mr. Paz to give it to me.
// Meanwhile, use this.
ratemax = 3.0; // From trial and error - most events below 3.0
// kinematic bounds (Eq. 2)
mpi = 0.14;
if ((Pp > 0)&&(Pp <= Pl)&&(Pl <= Pm)&&(Pm < mBB)&&(El > ml)&&(sh > 4*mpi*mpi)) {
// Probability of pass proportional to PDF
pdf = rate3(Pp, Pl, Pm);
double testRan = EvtRandom::Flat(0., ratemax);
if (pdf >= testRan) tryit = false;
}
}
- // o.k. we have the three kineamtic variables
- // now calculate a flat cos Theta_H [-1,1] distribution of the
- // hadron flight direction w.r.t the B flight direction
+ // o.k. we have the three kineamtic variables
+ // now calculate a flat cos Theta_H [-1,1] distribution of the
+ // hadron flight direction w.r.t the B flight direction
// because the B is a scalar and should decay isotropic.
- // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
- // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
+ // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
+ // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
// W flight direction.
-
+
double ctH = EvtRandom::Flat(-1,1);
double phH = EvtRandom::Flat(0,2*M_PI);
double phL = EvtRandom::Flat(0,2*M_PI);
// now compute the four vectors in the B Meson restframe
-
+
double ptmp,sttmp;
// calculate the hadron 4 vector in the B Meson restframe
-
+
sttmp = sqrt(1-ctH*ctH);
ptmp = sqrt(EX*EX-sh);
double pHB[4] = {EX,ptmp*sttmp*cos(phH),ptmp*sttmp*sin(phH),ptmp*ctH};
p4.set(pHB[0],pHB[1],pHB[2],pHB[3]);
xuhad->init( getDaug(0), p4);
-
+
bool _storeWhat(true);
-
+
if (_storeWhat ) {
- // cludge to store the hidden parameter what with the decay;
+ // cludge to store the hidden parameter what with the decay;
// the lifetime of the Xu is abused for this purpose.
// tau = 1 ps corresponds to ctau = 0.3 mm -> in order to
// stay well below BaBars sensitivity we take what/(10000 GeV).
// To extract what back from the StdHepTrk its necessary to get
// delta_ctau = Xu->decayVtx()->point().distanceTo(XuDaughter->decayVtx()->point());
//
- // what = delta_ctau * 100000 * Mass_Xu/Momentum_Xu
+ // what = delta_ctau * 100000 * Mass_Xu/Momentum_Xu
//
xuhad->setLifetime(what/10000.);
}
-
-
+
+
// calculate the W 4 vector in the B Meson restrframe
double apWB = ptmp;
double pWB[4] = {mBB-EX,-pHB[1],-pHB[2],-pHB[3]};
// first go in the W restframe and calculate the lepton and
// the neutrino in the W frame
double mW2 = mBB*mBB + sh - 2*mBB*EX;
double beta = ptmp/pWB[0];
double gamma = pWB[0]/sqrt(mW2);
double pLW[4];
-
+
ptmp = (mW2-ml*ml)/2/sqrt(mW2);
pLW[0] = sqrt(ml*ml + ptmp*ptmp);
double ctL = (El - gamma*pLW[0])/beta/gamma/ptmp;
if ( ctL < -1 ) ctL = -1;
if ( ctL > 1 ) ctL = 1;
sttmp = sqrt(1-ctL*ctL);
// eX' = eZ x eW
double xW[3] = {-pWB[2],pWB[1],0};
// eZ' = eW
double zW[3] = {pWB[1]/apWB,pWB[2]/apWB,pWB[3]/apWB};
-
+
double lx = sqrt(xW[0]*xW[0]+xW[1]*xW[1]);
- for (j=0;j<2;j++)
+ for (j=0;j<2;j++)
xW[j] /= lx;
// eY' = eZ' x eX'
double yW[3] = {-pWB[1]*pWB[3],-pWB[2]*pWB[3],pWB[1]*pWB[1]+pWB[2]*pWB[2]};
double ly = sqrt(yW[0]*yW[0]+yW[1]*yW[1]+yW[2]*yW[2]);
- for (j=0;j<3;j++)
+ for (j=0;j<3;j++)
yW[j] /= ly;
// p_lep = |p_lep| * ( sin(Theta) * cos(Phi) * eX'
// + sin(Theta) * sin(Phi) * eY'
// + cos(Theta) * eZ')
for (j=0;j<3;j++)
- pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ sttmp*sin(phL)*ptmp*yW[j]
+ ctL *ptmp*zW[j];
double apLW = ptmp;
-
+
// boost them back in the B Meson restframe
-
+
double appLB = beta*gamma*pLW[0] + gamma*ctL*apLW;
-
+
ptmp = sqrt(El*El-ml*ml);
double ctLL = appLB/ptmp;
if ( ctLL > 1 ) ctLL = 1;
if ( ctLL < -1 ) ctLL = -1;
-
+
double pLB[4] = {El,0,0,0};
double pNB[4] = {pWB[0]-El,0,0,0};
for (j=1;j<4;j++) {
pLB[j] = pLW[j] + (ctLL*ptmp - ctL*apLW)/apWB*pWB[j];
pNB[j] = pWB[j] - pLB[j];
}
p4.set(pLB[0],pLB[1],pLB[2],pLB[3]);
lepton->init( getDaug(1), p4);
p4.set(pNB[0],pNB[1],pNB[2],pNB[3]);
neutrino->init( getDaug(2), p4);
return ;
}
double EvtVubBLNP::rate3(double Pp, double Pl, double Pm) {
// rate3 in units of GF^2*Vub^2/pi^3
double factor = 1.0/16*(mBB-Pp)*U1lo(muh, mui)*pow( (Pm - Pp)/(mBB - Pp), alo(muh, mui));
double doneJS = DoneJS(Pp, Pm, mui);
double done1 = Done1(Pp, Pm, mui);
double done2 = Done2(Pp, Pm, mui);
double done3 = Done3(Pp, Pm, mui);
// The EvtSimpsonIntegrator returns zero for bad integrals.
// So if any of the integrals are zero (ie bad), return zero.
// This will cause pdf = 0, so the event will not pass.
// I hope this will not introduce a bias.
if (doneJS*done1*done2*done3 == 0.0) {
//cout << "Integral failed: (Pp, Pm, Pl) = (" << Pp << ", " << Pm << ", " << Pl << ")" << endl;
return 0.0;
}
// if (doneJS*done1*done2*done3 != 0.0) {
// cout << "Integral OK: (Pp, Pm, Pl) = (" << Pp << ", " << Pm << ", " << Pl << ")" << endl;
//}
double f1 = F1(Pp, Pm, muh, mui, mubar, doneJS, done1);
double f2 = F2(Pp, Pm, muh, mui, mubar, done3);
double f3 = F3(Pp, Pm, muh, mui, mubar, done2);
double answer = factor*( (mBB + Pl - Pp - Pm)*(Pm - Pl)*f1 + 2*(Pl - Pp)*(Pm - Pl)*f2 + (mBB - Pm)*(Pm - Pp)*f3 );
return answer;
}
double EvtVubBLNP::F1(double Pp, double Pm, double muh, double mui, double mubar, double doneJS, double done1) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double y = (Pm - Pp)/(mBB - Pp);
double ah = CF*alphas(muh, vars)/4/M_PI;
double ai = CF*alphas(mui, vars)/4/M_PI;
double abar = CF*alphas(mubar, vars)/4/M_PI;
double lambda1 = -mupisq;
double t1 = -4*ai/(Pp - Lbar)*(2*log((Pp - Lbar)/mui) + 1);
double t2 = 1 + dU1nlo(muh, mui) + anlo(muh, mui)*log(y);
double t3 = -4.0*pow(log(y*mb/muh),2) + 10.0*log(y*mb/muh) - 4.0*log(y) - 2.0*log(y)/(1-y) - 4.0*PolyLog(2, 1-y) - M_PI*M_PI/6.0 - 12.0;
double t4 = 2*pow( log(y*mb*Pp/(mui*mui)), 2) - 3*log(y*mb*Pp/(mui*mui)) + 7 - M_PI*M_PI;
double t5 = -wS(Pp) + 2*t(Pp) + (1.0/y - 1.0)*(u(Pp) - v(Pp));
double t6 = -(lambda1 + 3.0*lambda2)/3.0 + 1.0/pow(y,2)*(4.0/3.0*lambda1 - 2.0*lambda2);
double shapePp = Shat(Pp, vars);
double answer = (t2 + ah*t3 + ai*t4)*shapePp + ai*doneJS + 1/(mBB - Pp)*(flag2*abar*done1 + flag1*t5) + 1/pow(mBB - Pp, 2)*flag3*shapePp*t6;
if (Pp > Lbar + mui/exp(0.5)) answer = answer + t1;
return answer;
}
double EvtVubBLNP::F2(double Pp, double Pm, double muh, double /*mui*/, double mubar, double done3) {
-
+
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double y = (Pm - Pp)/(mBB - Pp);
double lambda1 = -mupisq;
double ah = CF*alphas(muh, vars)/4/M_PI;
double abar = CF*alphas(mubar, vars)/4/M_PI;
double t6 = -wS(Pp) - 2*t(Pp) + 1.0/y*(t(Pp) + v(Pp));
double t7 = 1/pow(y,2)*(2.0/3.0*lambda1 + 4.0*lambda2) - 1/y*(2.0/3.0*lambda1 + 3.0/2.0*lambda2);
double shapePp = Shat(Pp, vars);
double answer = ah*log(y)/(1-y)*shapePp + 1/(mBB - Pp)*(flag2*abar*0.5*done3 + flag1/y*t6) + 1.0/pow(mBB - Pp,2)*flag3*shapePp*t7;
return answer;
}
double EvtVubBLNP::F3(double Pp, double Pm, double /*muh*/, double /*mui*/, double mubar, double done2) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
-
+
double y = (Pm - Pp)/(mBB - Pp);
double lambda1 = -mupisq;
double abar = CF*alphas(mubar, vars)/4/M_PI;
double t7 = 1.0/pow(y,2)*(-2.0/3.0*lambda1 + lambda2);
double shapePp = Shat(Pp, vars);
double answer = 1.0/(Pm - Pp)*flag2*0.5*y*abar*done2 + 1.0/pow(mBB-Pp,2)*flag3*shapePp*t7;
return answer;
}
double EvtVubBLNP::DoneJS(double Pp, double Pm, double /*mui*/) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
-
+
double lowerlim = 0.001*Pp;
double upperlim = (1.0-0.001)*Pp;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&IntJS, lowerlim, upperlim, vars);
- EvtItgSimpsonIntegrator *integ = new EvtItgSimpsonIntegrator(*func, precision, maxLoop);
- double myintegral = integ->evaluate(lowerlim, upperlim);
- delete integ;
- delete func;
- return myintegral;
+ auto func = EvtItgPtrFunction{&IntJS, lowerlim, upperlim, vars};
+ auto integ = EvtItgSimpsonIntegrator{func, precision, maxLoop};
+ return integ.evaluate(lowerlim, upperlim);
}
double EvtVubBLNP::Done1(double Pp, double Pm, double /*mui*/) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double lowerlim = 0.001*Pp;
double upperlim = (1.0-0.001)*Pp;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&Int1, lowerlim, upperlim, vars);
- EvtItgSimpsonIntegrator *integ = new EvtItgSimpsonIntegrator(*func, precision, maxLoop);
- double myintegral = integ->evaluate(lowerlim, upperlim);
- delete integ;
- delete func;
- return myintegral;
+ auto func = EvtItgPtrFunction{&Int1, lowerlim, upperlim, vars};
+ auto integ = EvtItgSimpsonIntegrator{ func, precision, maxLoop };
+ return integ.evaluate(lowerlim, upperlim);
}
double EvtVubBLNP::Done2(double Pp, double Pm, double /*mui*/) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double lowerlim = 0.001*Pp;
double upperlim = (1.0-0.001)*Pp;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&Int2, lowerlim, upperlim, vars);
- EvtItgSimpsonIntegrator *integ = new EvtItgSimpsonIntegrator(*func, precision, maxLoop);
- double myintegral = integ->evaluate(lowerlim, upperlim);
- delete integ;
- delete func;
- return myintegral;
+ auto func = EvtItgPtrFunction{&Int2, lowerlim, upperlim, vars};
+ auto integ = EvtItgSimpsonIntegrator{func, precision, maxLoop};
+ return integ.evaluate(lowerlim, upperlim);
}
double EvtVubBLNP::Done3(double Pp, double Pm, double /*mui*/) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double lowerlim = 0.001*Pp;
- double upperlim = (1.0-0.001)*Pp;
+ double upperlim = (1.0-0.001)*Pp;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&Int3, lowerlim, upperlim, vars);
- EvtItgSimpsonIntegrator *integ = new EvtItgSimpsonIntegrator(*func, precision, maxLoop);
- double myintegral = integ->evaluate(lowerlim, upperlim);
- delete integ;
- delete func;
- return myintegral;
+ auto func = EvtItgPtrFunction{&Int3, lowerlim, upperlim, vars};
+ auto integ = EvtItgSimpsonIntegrator{func, precision, maxLoop};
+ return integ.evaluate(lowerlim, upperlim);
}
double EvtVubBLNP::Int1(double what, const std::vector<double> &vars) {
return Shat(what, vars)*g1(what, vars);
}
double EvtVubBLNP::Int2(double what, const std::vector<double> &vars) {
return Shat(what, vars)*g2(what, vars);
}
double EvtVubBLNP::Int3(double what, const std::vector<double> &vars) {
return Shat(what, vars)*g3(what, vars);
}
double EvtVubBLNP::IntJS(double what, const std::vector<double> &vars) {
-
+
double Pp = vars[0];
double Pm = vars[1];
double mui = vars[2];
double mBB = vars[5];
double mb = vars[6];
double y = (Pm - Pp)/(mBB - Pp);
-
+
return 1/(Pp-what)*(Shat(what, vars) - Shat(Pp, vars))*(4*log(y*mb*(Pp-what)/(mui*mui)) - 3);
}
double EvtVubBLNP::g1(double w, const std::vector<double> &vars) {
double Pp = vars[0];
double Pm = vars[1];
double mBB = vars[5];
double y = (Pm - Pp)/(mBB - Pp);
double x = (Pp - w)/(mBB - Pp);
double q1 = (1+x)*(1+x)*y*(x+y);
double q2 = y*(-9 + 10*y) + x*x*(-12.0 + 13.0*y) + 2*x*(-8.0 + 6*y + 3*y*y);
double q3 = 4/x*log(y + y/x);
double q4 = 3.0*pow(x,4)*(-2.0 + y) - 2*pow(y,3) - 4*pow(x,3)*(2.0+y) - 2*x*y*y*(4+y) - x*x*y*(12 + 4*y + y*y);
double q5 = log(1 + y/x);
double answer = q2/q1 - q3 - 2*q4*q5/(q1*y*x);
return answer;
}
double EvtVubBLNP::g2(double w, const std::vector<double> &vars) {
double Pp = vars[0];
double Pm = vars[1];
double mBB = vars[5];
double y = (Pm - Pp)/(mBB - Pp);
double x = (Pp - w)/(mBB - Pp);
double q1 = (1+x)*(1+x)*pow(y,3)*(x+y);
double q2 = 10.0*pow(x,4) + y*y + 3.0*pow(x,2)*y*(10.0+y) + pow(x,3)*(12.0+19.0*y) + x*y*(8.0 + 4.0*y + y*y);
double q3 = 5*pow(x,4) + 2.0*y*y + 6.0*pow(x,3)*(1.0+2.0*y) + 4.0*x*y*(1+2.0*y) + x*x*y*(18.0+5.0*y);
double q4 = log(1 + y/x);
double answer = 2.0/q1*( y*q2 - 2*x*q3*q4);
return answer;
}
double EvtVubBLNP::g3(double w, const std::vector<double> &vars) {
double Pp = vars[0];
double Pm = vars[1];
double mBB = vars[5];
double y = (Pm - Pp)/(mBB - Pp);
double x = (Pp - w)/(mBB - Pp);
double q1 = (1+x)*(1+x)*pow(y,3)*(x+y);
double q2 = 2.0*pow(y,3)*(-11.0+2.0*y) - 10.0*pow(x,4)*(6 - 6*y + y*y) + x*y*y*(-94.0 + 29.0*y + 2.0*y*y) + 2.0*x*x*y*(-72.0 +18.0*y + 13.0*y*y) - x*x*x*(72.0 + 42.0*y - 70.0*y*y + 3.0*y*y*y);
double q3 = -6.0*x*(-5.0+y)*pow(y,3) + 4*pow(y,4) + 5*pow(x,5)*(6-6*y + y*y) - 4*x*x*y*y*(-20.0 + 6*y + y*y) + pow(x,3)*y*(90.0 - 10.0*y - 28.0*y*y + y*y*y) + pow(x,4)*(36.0 + 36.0*y - 50.0*y*y + 4*y*y*y);
double q4 = log(1 + y/x);
double answer = q2/q1 + 2/q1/y*q3*q4;
return answer;
}
double EvtVubBLNP::Shat(double w, const std::vector<double> &vars) {
double mui = vars[2];
double b = vars[3];
double Lambda = vars[4];
double wzero = vars[7];
int itype = (int)vars[11];
double norm = 0.0;
double shape = 0.0;
if (itype == 1) {
double Lambar = (Lambda/b)*(Gamma(1+b)-Gamma(1+b,b*wzero/Lambda))/(Gamma(b) - Gamma(b, b*wzero/Lambda));
double muf = wzero - Lambar;
double mupisq = 3*pow(Lambda,2)/pow(b,2)*(Gamma(2+b) - Gamma(2+b, b*wzero/Lambda))/(Gamma(b) - Gamma(b, b*wzero/Lambda)) - 3*Lambar*Lambar;
norm = Mzero(muf, mui, mupisq, vars)*Gamma(b)/(Gamma(b) - Gamma(b, b*wzero/Lambda));
shape = pow(b,b)/Lambda/Gamma(b)*pow(w/Lambda, b-1)*exp(-b*w/Lambda);
}
if (itype == 2) {
double dcoef = pow( Gamma(0.5*(1+b))/Gamma(0.5*b), 2);
double t1 = wzero*wzero*dcoef/(Lambda*Lambda);
double Lambar = Lambda*(Gamma(0.5*(1+b)) - Gamma(0.5*(1+b),t1))/pow(dcoef, 0.5)/(Gamma(0.5*b) - Gamma(0.5*b, t1));
double muf = wzero - Lambar;
double mupisq = 3*Lambda*Lambda*( Gamma(1+0.5*b) - Gamma(1+0.5*b, t1))/dcoef/(Gamma(0.5*b) - Gamma(0.5*b, t1)) - 3*Lambar*Lambar;
norm = Mzero(muf, mui, mupisq, vars)*Gamma(0.5*b)/(Gamma(0.5*b) - Gamma(0.5*b, wzero*wzero*dcoef/(Lambda*Lambda)));
shape = 2*pow(dcoef, 0.5*b)/Lambda/Gamma(0.5*b)*pow(w/Lambda, b-1)*exp(-dcoef*w*w/(Lambda*Lambda));
}
double answer = norm*shape;
return answer;
}
double EvtVubBLNP::Mzero(double muf, double mu, double mupisq, const std::vector<double> &vars) {
double CF = 4.0/3.0;
double amu = CF*alphas(mu, vars)/M_PI;
double answer = 1 - amu*( pow(log(muf/mu), 2) + log(muf/mu) + M_PI*M_PI/24.0) + amu*(log(muf/mu) - 0.5)*mupisq/(3*muf*muf);
return answer;
}
double EvtVubBLNP::wS(double w) {
double answer = (Lbar - w)*Shat(w, gvars);
return answer;
}
double EvtVubBLNP::t(double w) {
double t1 = -3*lambda2/mupisq*(Lbar - w)*Shat(w, gvars);
double myf = myfunction(w, Lbar, moment2);
double myBIK = myfunctionBIK(w, Lbar, moment2);
double answer = t1;
if (isubl == 1) answer = t1;
if (isubl == 3) answer = t1 - myf;
if (isubl == 4) answer = t1 + myf;
if (isubl == 5) answer = t1 - myBIK;
if (isubl == 6) answer = t1 + myBIK;
return answer;
}
double EvtVubBLNP::u(double w) {
double u1 = -2*(Lbar - w)*Shat(w, gvars);
double myf = myfunction(w, Lbar, moment2);
double myBIK = myfunctionBIK(w, Lbar, moment2);
double answer = u1;
if (isubl == 1) answer = u1;
if (isubl == 3) answer = u1 + myf;
if (isubl == 4) answer = u1 - myf;
if (isubl == 5) answer = u1 + myBIK;
if (isubl == 6) answer = u1 - myBIK;
return answer;
}
double EvtVubBLNP::v(double w) {
double v1 = 3*lambda2/mupisq*(Lbar - w)*Shat(w, gvars);
double myf = myfunction(w, Lbar, moment2);
double myBIK = myfunctionBIK(w, Lbar, moment2);
double answer = v1;
if (isubl == 1) answer = v1;
if (isubl == 3) answer = v1 - myf;
if (isubl == 4) answer = v1 + myf;
if (isubl == 5) answer = v1 - myBIK;
if (isubl == 6) answer = v1 + myBIK;
return answer;
}
double EvtVubBLNP::myfunction(double w, double Lbar, double mom2) {
double bval = 5.0;
double x = w/Lbar;
double factor = 0.5*mom2*pow(bval/Lbar, 3);
double answer = factor*exp(-bval*x)*(1 - 2*bval*x + 0.5*bval*bval*x*x);
return answer;
}
double EvtVubBLNP::myfunctionBIK(double w, double Lbar, double /*mom2*/) {
double aval = 10.0;
double normBIK = (4 - M_PI)*M_PI*M_PI/8/(2-M_PI)/aval + 1;
double z = 3*M_PI*w/8/Lbar;
double q = M_PI*M_PI*2*pow(M_PI*aval, 0.5)*exp(-aval*z*z)/(4*M_PI - 8)*(1 - 2*pow(aval/M_PI, 0.5)*z) + 8/pow(1+z*z, 4)*(z*log(z) + 0.5*z*(1+z*z) - M_PI/4*(1-z*z));
double answer = q/normBIK;
return answer;
}
-double EvtVubBLNP::dU1nlo(double muh, double mui) {
+double EvtVubBLNP::dU1nlo(double muh, double mui) {
double ai = alphas(mui, gvars);
double ah = alphas(muh, gvars);
double q1 = (ah - ai)/(4*M_PI*beta0);
double q2 = log(mb/muh)*Gamma1 + gp1;
double q3 = 4*beta1*(log(mb/muh)*Gamma0 + gp0) + Gamma2*(1-ai/ah);
double q4 = beta1*beta1*Gamma0*(-1.0 + ai/ah)/(4*pow(beta0,3));
double q5 = -beta2*Gamma0*(1.0 + ai/ah) + beta1*Gamma1*(3 - ai/ah);
double q6 = beta1*beta1*Gamma0*(ah - ai)/beta0 - beta2*Gamma0*ah + beta1*Gamma1*ai;
-
+
double answer = q1*(q2 - q3/4/beta0 + q4 + q5/(4*beta0*beta0)) + 1/(8*M_PI*beta0*beta0*beta0)*log(ai/ah)*q6;
return answer;
}
double EvtVubBLNP::U1lo(double muh, double mui) {
double epsilon = 0.0;
double answer = pow(mb/muh, -2*aGamma(muh, mui, epsilon))*exp(2*Sfun(muh, mui, epsilon) - 2*agp(muh, mui, epsilon));
return answer;
}
double EvtVubBLNP::Sfun(double mu1, double mu2, double epsilon) {
double a1 = alphas(mu1, gvars)/4/M_PI;
double a2 = alphas(mu2, gvars)/alphas(mu1, gvars);
double answer = S0(a1,a2) + S1(a1,a2) + epsilon*S2(a1,a2);
return answer;
}
double EvtVubBLNP::S0(double a1, double r) {
double answer = -Gamma0/(4.0*beta0*beta0*a1)*(-1.0 + 1.0/r + log(r));
return answer;
}
double EvtVubBLNP::S1(double /*a1*/, double r) {
double answer = Gamma0/(4*beta0*beta0)*(0.5*log(r)*log(r)*beta1/beta0 + (Gamma1/Gamma0 - beta1/beta0)*(1 - r + log(r)));
return answer;
}
double EvtVubBLNP::S2(double a1, double r) {
double w1 = pow(beta1,2)/pow(beta0,2) - beta2/beta0 - beta1*Gamma1/(beta0*Gamma0) + Gamma2/Gamma0;
double w2 = pow(beta1,2)/pow(beta0,2) - beta2/beta0;
double w3 = beta1*Gamma1/(beta0*Gamma0) - beta2/beta0;
double w4 = a1*Gamma0/(4*beta0*beta0);
double answer = w4*(-0.5*pow(1-r,2)*w1 + w2*(1-r)*log(r) + w3*(1-r+r*log(r)));
return answer;
}
double EvtVubBLNP::aGamma(double mu1, double mu2, double epsilon) {
double a1 = alphas(mu1, gvars);
double a2 = alphas(mu2, gvars);
double answer = Gamma0/(2*beta0)*log(a2/a1) + epsilon*(a2-a1)/(8.0*M_PI)*(Gamma1/beta0 - beta1*Gamma0/(beta0*beta0));
return answer;
}
-double EvtVubBLNP::agp(double mu1, double mu2, double epsilon) {
+double EvtVubBLNP::agp(double mu1, double mu2, double epsilon) {
double a1 = alphas(mu1, gvars);
double a2 = alphas(mu2, gvars);
double answer = gp0/(2*beta0)*log(a2/a1) + epsilon*(a2-a1)/(8.0*M_PI)*(gp1/beta0 - beta1*gp0/(beta0*beta0));
return answer;
}
double EvtVubBLNP::alo(double muh, double mui) { return -2.0*aGamma(muh, mui, 0);}
double EvtVubBLNP::anlo(double muh, double mui) { // d/depsilon of aGamma
double ah = alphas(muh, gvars);
double ai = alphas(mui, gvars);
double answer = (ah-ai)/(8.0*M_PI)*(Gamma1/beta0 - beta1*Gamma0/(beta0*beta0));
return answer;
}
double EvtVubBLNP::alphas(double mu, const std::vector<double> &vars) {
// Note: Lambda4 and Lambda5 depend on mbMS = 4.25
// So if you change mbMS, then you will have to recalculate them.
double beta0 = vars[8];
double beta1 = vars[9];
double beta2 = vars[10];
-
+
double Lambda4 = 0.298791;
double lg = 2*log(mu/Lambda4);
double answer = 4*M_PI/(beta0*lg)*( 1 - beta1*log(lg)/(beta0*beta0*lg) + beta1*beta1/(beta0*beta0*beta0*beta0*lg*lg)*( (log(lg) - 0.5)*(log(lg) - 0.5) - 5.0/4.0 + beta2*beta0/(beta1*beta1)));
return answer;
-
+
}
double EvtVubBLNP::PolyLog(double v, double z) {
if (z >= 1) cout << "Error in EvtVubBLNP: 2nd argument to PolyLog is >= 1." << endl;
double sum = 0.0;
- for (int k=1; k<101; k++) {
+ for (int k=1; k<101; k++) {
sum = sum + pow(z,k)/pow(k,v);
}
return sum;
}
double EvtVubBLNP::Gamma(double z)
{
if (z<=0) return 0;
double v = lgamma(z);
return exp(v);
}
double EvtVubBLNP::Gamma(double a, double x)
{
double LogGamma;
/* if (x<0.0 || a<= 0.0) raise(SIGFPE);*/
if(x<0.0) x=0.0;
if(a<=0.0)a=1.e-50;
LogGamma = lgamma(a);
- if (x < (a+1.0))
+ if (x < (a+1.0))
return gamser(a,x,LogGamma);
- else
+ else
return 1.0-gammcf(a,x,LogGamma);
}
/* ------------------Incomplete gamma function-----------------*/
/* ------------------via its series representation-------------*/
-
+
double EvtVubBLNP::gamser(double a, double x, double LogGamma)
{
double n;
double ap,del,sum;
ap=a;
del=sum=1.0/a;
for (n=1;n<ITMAX;n++) {
++ap;
del *= x/ap;
sum += del;
if (fabs(del) < fabs(sum)*EPS) return sum*exp(-x + a*log(x) - LogGamma);
}
raise(SIGFPE);
-
+
return 0.0;
-}
+}
/* ------------------Incomplete gamma function complement------*/
/* ------------------via its continued fraction representation-*/
double EvtVubBLNP::gammcf(double a, double x, double LogGamma) {
-
+
double an,b,c,d,del,h;
int i;
b = x + 1.0 -a;
c = 1.0/FPMIN;
d = 1.0/b;
h = d;
for (i=1;i<ITMAX;i++) {
an = -i*(i-a);
b+=2.0;
d=an*d+b;
if (fabs(d) < FPMIN) d = FPMIN;
c = b+an/c;
if (fabs(c) < FPMIN) c = FPMIN;
d = 1.0/d;
del=d*c;
h *= del;
- if (fabs(del-1.0) < EPS) return exp(-x+a*log(x)-LogGamma)*h;
+ if (fabs(del-1.0) < EPS) return exp(-x+a*log(x)-LogGamma)*h;
}
raise(SIGFPE);
return 0.0;
}
double EvtVubBLNP::findBLNPWhat() {
double ranNum=EvtRandom::Flat();
double oOverBins= 1.0/(float(_pf.size()));
int nBinsBelow = 0; // largest k such that I[k] is known to be <= rand
int nBinsAbove = _pf.size(); // largest k such that I[k] is known to be > rand
int middle;
-
+
while (nBinsAbove > nBinsBelow+1) {
middle = (nBinsAbove + nBinsBelow+1)>>1;
if (ranNum >= _pf[middle]) {
nBinsBelow = middle;
} else {
nBinsAbove = middle;
}
- }
+ }
double bSize = _pf[nBinsAbove] - _pf[nBinsBelow];
- // binMeasure is always aProbFunc[nBinsBelow],
-
- if ( bSize == 0 ) {
+ // binMeasure is always aProbFunc[nBinsBelow],
+
+ if ( bSize == 0 ) {
// rand lies right in a bin of measure 0. Simply return the center
- // of the range of that bin. (Any value between k/N and (k+1)/N is
+ // of the range of that bin. (Any value between k/N and (k+1)/N is
// equally good, in this rare case.)
return (nBinsBelow + .5) * oOverBins;
}
-
+
double bFract = (ranNum - _pf[nBinsBelow]) / bSize;
-
+
return (nBinsBelow + bFract) * oOverBins;
-
-}
+
+}
diff --git a/src/EvtGenModels/EvtVubBLNPHybrid.cpp b/src/EvtGenModels/EvtVubBLNPHybrid.cpp
index 04ddea1..5090c16 100644
--- a/src/EvtGenModels/EvtVubBLNPHybrid.cpp
+++ b/src/EvtGenModels/EvtVubBLNPHybrid.cpp
@@ -1,1070 +1,1021 @@
//////////////////////////////////////////////////////////////////////
//
// Module: EvtVubBLNPHybrid.cc
//
// Description: Modeled on Riccardo Faccini's EvtVubNLO module
//
// tripleDiff from BLNP's notebook (based on BLNP4, hep-ph/0504071)
//
//////////////////////////////////////////////////////////////////
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVubBLNPHybrid.hh"
#include <string>
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtItgSimpsonIntegrator.hh"
#include "EvtGenModels/EvtItgPtrFunction.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenModels/EvtPFermi.hh"
// For incomplete gamma function
#include "math.h"
#include "signal.h"
#define ITMAX 100
#define EPS 3.0e-7
#define FPMIN 1.0e-30
using std::cout;
using std::endl;
-EvtVubBLNPHybrid::EvtVubBLNPHybrid()
- : _noHybrid(false), _storeWhat(true),
- _nbins_mX(0), _nbins_q2(0), _nbins_El(0), _nbins(0),
- _masscut(0.28), _bins_mX(0), _bins_q2(0), _bins_El(0),
- _weights(0)
-{}
-
-
-EvtVubBLNPHybrid::~EvtVubBLNPHybrid() {
- delete [] _bins_mX;
- delete [] _bins_q2;
- delete [] _bins_El;
- delete [] _weights;
-}
-
std::string EvtVubBLNPHybrid::getName(){
return "VUB_BLNPHYBRID";
}
EvtDecayBase *EvtVubBLNPHybrid::clone() {
return new EvtVubBLNPHybrid;
}
void EvtVubBLNPHybrid::init() {
-
+
// check that there are at least 3 arguments
if (getNArg() < EvtVubBLNPHybrid::nParameters) {
EvtGenReport(EVTGEN_ERROR,"EvtVubBLNPHybrid") << "EvtVubBLNPHybrid generator expected "
<< "at least " << EvtVubBLNPHybrid::nParameters
<< " arguments but found: " << getNArg()
<< "\nWill terminate execution!"<<endl;
- ::abort();
+ ::abort();
} else if (getNArg() == EvtVubBLNPHybrid::nParameters) {
- EvtGenReport(EVTGEN_WARNING,"EvtVubBLNPHybrid") << "EvtVubBLNPHybrid: generate B -> Xu l nu events "
- << "without using the hybrid reweighting."
+ EvtGenReport(EVTGEN_WARNING,"EvtVubBLNPHybrid") << "EvtVubBLNPHybrid: generate B -> Xu l nu events "
+ << "without using the hybrid reweighting."
<< endl;
_noHybrid = true;
} else if (getNArg() < EvtVubBLNPHybrid::nParameters+EvtVubBLNPHybrid::nVariables) {
EvtGenReport(EVTGEN_ERROR,"EvtVubBLNPHybrid") << "EvtVubBLNPHybrid could not read number of bins for "
<< "all variables used in the reweighting\n"
<< "Will terminate execution!" << endl;
- ::abort();
+ ::abort();
}
-
-
+
+
// get parameters (declared in the header file)
-
+
// Input parameters
mBB = 5.2792;
lambda2 = 0.12;
// Shape function parameters
b = getArg(0);
Lambda = getArg(1);
Ecut = 1.8;
wzero = mBB - 2*Ecut;
// SF and SSF modes
itype = (int)getArg(5);
dtype = getArg(5);
isubl = (int)getArg(6);
// flags
flag1 = (int)getArg(7);
flag2 = (int)getArg(8);
flag3 = (int)getArg(9);
// Quark mass
mb = 4.61;
- // hidden parameter what and SF stuff
+ // hidden parameter what and SF stuff
const double xlow = 0;
const double xhigh = mBB;
const int aSize = 10000;
EvtPFermi pFermi(Lambda,b);
// pf is the cumulative distribution normalized to 1.
_pf.resize(aSize);
for(int i=0;i<aSize;i++){
double what = xlow + (double)(i+0.5)/((double)aSize)*(xhigh-xlow);
if ( i== 0 )
_pf[i] = pFermi.getSFBLNP(what);
else
_pf[i] = _pf[i-1] + pFermi.getSFBLNP(what);
}
for (size_t i=0; i<_pf.size(); i++) {
_pf[i]/=_pf[_pf.size()-1];
- }
+ }
// Matching scales
muh = mBB*getArg(2); // 0.5
mui = getArg(3); // 1.5
mubar = getArg(4); // 1.5
// Perturbative quantities
CF = 4.0/3.0;
CA = 3.0;
double nf = 4.0;
beta0 = 11.0/3.0*CA - 2.0/3.0*nf;
beta1 = 34.0/3.0*CA*CA - 10.0/3.0*CA*nf - 2.0*CF*nf;
beta2 = 2857.0/54.0*CA*CA*CA + (CF*CF - 205.0/18.0*CF*CA - 1415.0/54.0*CA*CA)*nf + (11.0/9.0*CF + 79.0/54.0*CA)*nf*nf;
zeta3 = 1.0 + 1/8.0 + 1/27.0 + 1/64.0;
Gamma0 = 4*CF;
Gamma1 = CF*( (268.0/9.0 - 4.0*M_PI*M_PI/3.0)*CA - 40.0/9.0*nf);
Gamma2 = 16*CF*( (245.0/24.0 - 67.0/54.0*M_PI*M_PI + + 11.0/180.0*pow(M_PI,4) + 11.0/6.0*zeta3)*CA*CA* + (-209.0/108.0 + 5.0/27.0*M_PI*M_PI - 7.0/3.0*zeta3)*CA*nf + (-55.0/24.0 + 2*zeta3)*CF*nf - nf*nf/27.0);
gp0 = -5.0*CF;
gp1 = -8.0*CF*( (3.0/16.0 - M_PI*M_PI/4.0 + 3*zeta3)*CF + (1549.0/432.0 + 7.0/48.0*M_PI*M_PI - 11.0/4.0*zeta3)*CA - (125.0/216.0 + M_PI*M_PI/24.0)*nf );
// Lbar and mupisq
Lbar = Lambda; // all models
mupisq = 3*Lambda*Lambda/b;
if (itype == 1) mupisq = 3*Lambda*Lambda/b;
if (itype == 2) mupisq = 3*Lambda*Lambda*(Gamma(1+0.5*b)*Gamma(0.5*b)/pow( Gamma(0.5 + 0.5*b), 2) - 1);
// moment2 for SSFs
moment2 = pow(0.3,3);
// inputs for total rate (T for Total); use BLNP notebook defaults
flagpower = 1;
flag2loop = 1;
// stuff for the integrator
maxLoop = 20;
//precision = 1.0e-3;
precision = 2.0e-2;
// vector of global variables, to pass to static functions (which can't access globals);
gvars.push_back(0.0); // 0
gvars.push_back(0.0); // 1
gvars.push_back(mui); // 2
gvars.push_back(b); // 3
gvars.push_back(Lambda); // 4
gvars.push_back(mBB); // 5
gvars.push_back(mb); // 6
gvars.push_back(wzero); // 7
gvars.push_back(beta0); // 8
gvars.push_back(beta1); // 9
gvars.push_back(beta2); // 10
gvars.push_back(dtype); // 11
// check that there are 3 daughters and 10 arguments
checkNDaug(3);
// A. Volk: check for number of arguments is not necessary
//checkNArg(10);
-
+
if (_noHybrid) return; // Without hybrid weighting, nothing else to do
-
- _nbins_mX = abs((int)getArg(10));
- _nbins_q2 = abs((int)getArg(11));
- _nbins_El = abs((int)getArg(12));
+
+ _bins_mX = std::vector<double>(abs((int)getArg(10)));
+ _bins_q2 = std::vector<double>(abs((int)getArg(11)));
+ _bins_El = std::vector<double>(abs((int)getArg(12)));
int nextArg = EvtVubBLNPHybrid::nParameters + EvtVubBLNPHybrid::nVariables;
- _nbins = _nbins_mX*_nbins_q2*_nbins_El; // Binning of weight table
+ _nbins = _bins_mX.size()*_bins_q2.size()*_bins_El.size(); // Binning of weight table
+
+ int expectArgs = nextArg + _bins_mX.size() +_bins_q2.size() + _bins_El.size() + _nbins;
- int expectArgs = nextArg + _nbins_mX +_nbins_q2 + _nbins_El + _nbins;
-
if (getNArg() < expectArgs) {
EvtGenReport(EVTGEN_ERROR,"EvtVubBLNPHybrid")
<< " finds " << getNArg() << " arguments, expected " << expectArgs
<< ". Something is wrong with the tables of weights or thresholds."
<< "\nWill terminate execution!" << endl;
- ::abort();
+ ::abort();
}
// read bin boundaries from decay.dec
- int i;
-
- _bins_mX = new double[_nbins_mX];
- for (i = 0; i < _nbins_mX; i++,nextArg++) {
- _bins_mX[i] = getArg(nextArg);
- }
+ for (auto& b : _bins_mX) b = getArg(nextArg++);
_masscut = _bins_mX[0];
-
- _bins_q2 = new double[_nbins_q2];
- for (i = 0; i < _nbins_q2; i++,nextArg++) {
- _bins_q2[i] = getArg(nextArg);
- }
-
- _bins_El = new double[_nbins_El];
- for (i = 0; i < _nbins_El; i++,nextArg++) {
- _bins_El[i] = getArg(nextArg);
- }
-
+ for (auto& b : _bins_q2) b = getArg(nextArg++);
+ for (auto &b : _bins_El) b = getArg(nextArg++);
+
// read in weights (and rescale to range 0..1)
- readWeights(nextArg);
-
+ readWeights(nextArg);
}
void EvtVubBLNPHybrid::initProbMax() {
noProbMax();
}
void EvtVubBLNPHybrid::decay(EvtParticle *Bmeson) {
int j;
-
- EvtParticle *xuhad(0), *lepton(0), *neutrino(0);
+
+ EvtParticle *xuhad(nullptr), *lepton(nullptr), *neutrino(nullptr);
EvtVector4R p4;
double EX(0.), sh(0.), El(0.), ml(0.);
double Pp, Pm, Pl, pdf, qsq, mpi, ratemax;
-
+
double xhigh, xlow, what;
double mX;
-
-
+
+
bool rew(true);
while(rew){
Bmeson->initializePhaseSpace(getNDaug(), getDaugs());
-
+
xuhad = Bmeson->getDaug(0);
lepton = Bmeson->getDaug(1);
neutrino = Bmeson ->getDaug(2);
mBB = Bmeson->mass();
ml = lepton->mass();
-
-
- // get SF value
+
+
+ // get SF value
xlow = 0;
- xhigh = mBB;
- // the case for alphas = 0 is not considered
+ xhigh = mBB;
+ // the case for alphas = 0 is not considered
what = 2*xhigh;
while( what > xhigh || what < xlow ) {
- what = findBLNPWhat();
+ what = findBLNPWhat();
what = xlow + what*(xhigh-xlow);
}
-
-
-
+
+
+
bool tryit = true;
-
+
while (tryit) {
-
- // generate pp between 0 and
+
+ // generate pp between 0 and
// Flat(min, max) gives R(max - min) + min, where R = random btwn 0 and 1
Pp = EvtRandom::Flat(0, mBB); // P+ = EX - |PX|
Pl = EvtRandom::Flat(0, mBB); // mBB - 2El
Pm = EvtRandom::Flat(0, mBB); // P- = EX + |PX|
sh = Pm*Pp;
EX = 0.5*(Pm + Pp);
qsq = (mBB - Pp)*(mBB - Pm);
El = 0.5*(mBB - Pl);
-
- // Need maximum rate. Waiting for Mr. Paz to give it to me.
+
+ // Need maximum rate. Waiting for Mr. Paz to give it to me.
// Meanwhile, use this.
ratemax = 3.0; // From trial and error - most events below 3.0
// kinematic bounds (Eq. 2)
mpi = 0.14;
if ((Pp > 0)&&(Pp <= Pl)&&(Pl <= Pm)&&(Pm < mBB)&&(El > ml)&&(sh > 4*mpi*mpi)) {
-
- // Probability of pass proportional to PDF
- pdf = rate3(Pp, Pl, Pm);
- double testRan = EvtRandom::Flat(0., ratemax);
- if (pdf >= testRan) tryit = false;
+
+ // Probability of pass proportional to PDF
+ pdf = rate3(Pp, Pl, Pm);
+ double testRan = EvtRandom::Flat(0., ratemax);
+ if (pdf >= testRan) tryit = false;
}
}
-
+
// compute all kinematic variables needed for reweighting
mX = sqrt(sh);
-
- // Reweighting in bins of mX, q2, El
+
+ // Reweighting in bins of mX, q2, El
if (_nbins>0) {
double xran1 = EvtRandom::Flat();
double w = 1.0;
- if (!_noHybrid) w = getWeight(mX, qsq, El);
+ if (!_noHybrid) w = getWeight(mX, qsq, El);
if ( w >= xran1 ) rew = false;
- }
- else {
+ } else {
rew = false;
}
}
- // o.k. we have the three kineamtic variables
- // now calculate a flat cos Theta_H [-1,1] distribution of the
- // hadron flight direction w.r.t the B flight direction
+ // o.k. we have the three kineamtic variables
+ // now calculate a flat cos Theta_H [-1,1] distribution of the
+ // hadron flight direction w.r.t the B flight direction
// because the B is a scalar and should decay isotropic.
- // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
- // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
+ // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
+ // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
// W flight direction.
-
+
double ctH = EvtRandom::Flat(-1,1);
double phH = EvtRandom::Flat(0,2*M_PI);
double phL = EvtRandom::Flat(0,2*M_PI);
// now compute the four vectors in the B Meson restframe
-
+
double ptmp,sttmp;
// calculate the hadron 4 vector in the B Meson restframe
-
+
sttmp = sqrt(1-ctH*ctH);
ptmp = sqrt(EX*EX-sh);
double pHB[4] = {EX,ptmp*sttmp*cos(phH),ptmp*sttmp*sin(phH),ptmp*ctH};
p4.set(pHB[0],pHB[1],pHB[2],pHB[3]);
xuhad->init( getDaug(0), p4);
-
+
if (_storeWhat ) {
- // cludge to store the hidden parameter what with the decay;
+ // cludge to store the hidden parameter what with the decay;
// the lifetime of the Xu is abused for this purpose.
// tau = 1 ps corresponds to ctau = 0.3 mm -> in order to
// stay well below BaBars sensitivity we take what/(10000 GeV).
// To extract what back from the StdHepTrk its necessary to get
// delta_ctau = Xu->decayVtx()->point().distanceTo(XuDaughter->decayVtx()->point());
//
- // what = delta_ctau * 100000 * Mass_Xu/Momentum_Xu
+ // what = delta_ctau * 100000 * Mass_Xu/Momentum_Xu
//
xuhad->setLifetime(what/10000.);
}
-
-
+
+
// calculate the W 4 vector in the B Meson restrframe
double apWB = ptmp;
double pWB[4] = {mBB-EX,-pHB[1],-pHB[2],-pHB[3]};
// first go in the W restframe and calculate the lepton and
// the neutrino in the W frame
double mW2 = mBB*mBB + sh - 2*mBB*EX;
double beta = ptmp/pWB[0];
double gamma = pWB[0]/sqrt(mW2);
double pLW[4];
-
+
ptmp = (mW2-ml*ml)/2/sqrt(mW2);
pLW[0] = sqrt(ml*ml + ptmp*ptmp);
double ctL = (El - gamma*pLW[0])/beta/gamma/ptmp;
if ( ctL < -1 ) ctL = -1;
if ( ctL > 1 ) ctL = 1;
sttmp = sqrt(1-ctL*ctL);
// eX' = eZ x eW
double xW[3] = {-pWB[2],pWB[1],0};
// eZ' = eW
double zW[3] = {pWB[1]/apWB,pWB[2]/apWB,pWB[3]/apWB};
-
+
double lx = sqrt(xW[0]*xW[0]+xW[1]*xW[1]);
- for (j=0;j<2;j++)
- xW[j] /= lx;
+ for (j=0;j<2;j++) xW[j] /= lx;
// eY' = eZ' x eX'
double yW[3] = {-pWB[1]*pWB[3],-pWB[2]*pWB[3],pWB[1]*pWB[1]+pWB[2]*pWB[2]};
double ly = sqrt(yW[0]*yW[0]+yW[1]*yW[1]+yW[2]*yW[2]);
- for (j=0;j<3;j++)
- yW[j] /= ly;
+ for (j=0;j<3;j++) yW[j] /= ly;
// p_lep = |p_lep| * ( sin(Theta) * cos(Phi) * eX'
// + sin(Theta) * sin(Phi) * eY'
// + cos(Theta) * eZ')
for (j=0;j<3;j++)
- pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ sttmp*sin(phL)*ptmp*yW[j]
+ ctL *ptmp*zW[j];
double apLW = ptmp;
-
+
// boost them back in the B Meson restframe
-
+
double appLB = beta*gamma*pLW[0] + gamma*ctL*apLW;
-
+
ptmp = sqrt(El*El-ml*ml);
double ctLL = appLB/ptmp;
if ( ctLL > 1 ) ctLL = 1;
if ( ctLL < -1 ) ctLL = -1;
-
+
double pLB[4] = {El,0,0,0};
double pNB[4] = {pWB[0]-El,0,0,0};
for (j=1;j<4;j++) {
pLB[j] = pLW[j] + (ctLL*ptmp - ctL*apLW)/apWB*pWB[j];
pNB[j] = pWB[j] - pLB[j];
}
p4.set(pLB[0],pLB[1],pLB[2],pLB[3]);
lepton->init( getDaug(1), p4);
p4.set(pNB[0],pNB[1],pNB[2],pNB[3]);
neutrino->init( getDaug(2), p4);
-
- return ;
-
}
double EvtVubBLNPHybrid::rate3(double Pp, double Pl, double Pm) {
// rate3 in units of GF^2*Vub^2/pi^3
double factor = 1.0/16*(mBB-Pp)*U1lo(muh, mui)*pow( (Pm - Pp)/(mBB - Pp), alo(muh, mui));
double doneJS = DoneJS(Pp, Pm, mui);
double done1 = Done1(Pp, Pm, mui);
double done2 = Done2(Pp, Pm, mui);
double done3 = Done3(Pp, Pm, mui);
// The EvtSimpsonIntegrator returns zero for bad integrals.
// So if any of the integrals are zero (ie bad), return zero.
// This will cause pdf = 0, so the event will not pass.
// I hope this will not introduce a bias.
if (doneJS*done1*done2*done3 == 0.0) {
//cout << "Integral failed: (Pp, Pm, Pl) = (" << Pp << ", " << Pm << ", " << Pl << ")" << endl;
return 0.0;
}
// if (doneJS*done1*done2*done3 != 0.0) {
// cout << "Integral OK: (Pp, Pm, Pl) = (" << Pp << ", " << Pm << ", " << Pl << ")" << endl;
//}
double f1 = F1(Pp, Pm, muh, mui, mubar, doneJS, done1);
double f2 = F2(Pp, Pm, muh, mui, mubar, done3);
double f3 = F3(Pp, Pm, muh, mui, mubar, done2);
double answer = factor*( (mBB + Pl - Pp - Pm)*(Pm - Pl)*f1 + 2*(Pl - Pp)*(Pm - Pl)*f2 + (mBB - Pm)*(Pm - Pp)*f3 );
return answer;
}
double EvtVubBLNPHybrid::F1(double Pp, double Pm, double muh, double mui, double mubar, double doneJS, double done1) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double y = (Pm - Pp)/(mBB - Pp);
double ah = CF*alphas(muh, vars)/4/M_PI;
double ai = CF*alphas(mui, vars)/4/M_PI;
double abar = CF*alphas(mubar, vars)/4/M_PI;
double lambda1 = -mupisq;
double t1 = -4*ai/(Pp - Lbar)*(2*log((Pp - Lbar)/mui) + 1);
double t2 = 1 + dU1nlo(muh, mui) + anlo(muh, mui)*log(y);
double t3 = -4.0*pow(log(y*mb/muh),2) + 10.0*log(y*mb/muh) - 4.0*log(y) - 2.0*log(y)/(1-y) - 4.0*PolyLog(2, 1-y) - M_PI*M_PI/6.0 - 12.0;
double t4 = 2*pow( log(y*mb*Pp/(mui*mui)), 2) - 3*log(y*mb*Pp/(mui*mui)) + 7 - M_PI*M_PI;
double t5 = -wS(Pp) + 2*t(Pp) + (1.0/y - 1.0)*(u(Pp) - v(Pp));
double t6 = -(lambda1 + 3.0*lambda2)/3.0 + 1.0/pow(y,2)*(4.0/3.0*lambda1 - 2.0*lambda2);
double shapePp = Shat(Pp, vars);
double answer = (t2 + ah*t3 + ai*t4)*shapePp + ai*doneJS + 1/(mBB - Pp)*(flag2*abar*done1 + flag1*t5) + 1/pow(mBB - Pp, 2)*flag3*shapePp*t6;
if (Pp > Lbar + mui/exp(0.5)) answer = answer + t1;
return answer;
}
double EvtVubBLNPHybrid::F2(double Pp, double Pm, double muh, double /* mui */, double mubar, double done3) {
-
+
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double y = (Pm - Pp)/(mBB - Pp);
double lambda1 = -mupisq;
double ah = CF*alphas(muh, vars)/4/M_PI;
double abar = CF*alphas(mubar, vars)/4/M_PI;
double t6 = -wS(Pp) - 2*t(Pp) + 1.0/y*(t(Pp) + v(Pp));
double t7 = 1/pow(y,2)*(2.0/3.0*lambda1 + 4.0*lambda2) - 1/y*(2.0/3.0*lambda1 + 3.0/2.0*lambda2);
double shapePp = Shat(Pp, vars);
double answer = ah*log(y)/(1-y)*shapePp + 1/(mBB - Pp)*(flag2*abar*0.5*done3 + flag1/y*t6) + 1.0/pow(mBB - Pp,2)*flag3*shapePp*t7;
return answer;
}
double EvtVubBLNPHybrid::F3(double Pp, double Pm, double /*muh*/, double /* mui */, double mubar, double done2) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
-
+
double y = (Pm - Pp)/(mBB - Pp);
double lambda1 = -mupisq;
double abar = CF*alphas(mubar, vars)/4/M_PI;
double t7 = 1.0/pow(y,2)*(-2.0/3.0*lambda1 + lambda2);
double shapePp = Shat(Pp, vars);
double answer = 1.0/(Pm - Pp)*flag2*0.5*y*abar*done2 + 1.0/pow(mBB-Pp,2)*flag3*shapePp*t7;
return answer;
}
double EvtVubBLNPHybrid::DoneJS(double Pp, double Pm, double /* mui */) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
-
+
double lowerlim = 0.001*Pp;
double upperlim = (1.0-0.001)*Pp;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&IntJS, lowerlim, upperlim, vars);
- EvtItgSimpsonIntegrator *integ = new EvtItgSimpsonIntegrator(*func, precision, maxLoop);
- double myintegral = integ->evaluate(lowerlim, upperlim);
- delete integ;
- delete func;
- return myintegral;
+ auto func = EvtItgPtrFunction{&IntJS, lowerlim, upperlim, vars};
+ auto integ = EvtItgSimpsonIntegrator{func, precision, maxLoop};
+ return integ.evaluate(lowerlim, upperlim);
}
double EvtVubBLNPHybrid::Done1(double Pp, double Pm, double /* mui */) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double lowerlim = 0.001*Pp;
double upperlim = (1.0-0.001)*Pp;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&Int1, lowerlim, upperlim, vars);
- EvtItgSimpsonIntegrator *integ = new EvtItgSimpsonIntegrator(*func, precision, maxLoop);
- double myintegral = integ->evaluate(lowerlim, upperlim);
- delete integ;
- delete func;
- return myintegral;
+ auto func = EvtItgPtrFunction{&Int1, lowerlim, upperlim, vars};
+ auto integ = EvtItgSimpsonIntegrator{func, precision, maxLoop};
+ return integ.evaluate(lowerlim, upperlim);
}
double EvtVubBLNPHybrid::Done2(double Pp, double Pm, double /* mui */ ) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double lowerlim = 0.001*Pp;
double upperlim = (1.0-0.001)*Pp;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&Int2, lowerlim, upperlim, vars);
- EvtItgSimpsonIntegrator *integ = new EvtItgSimpsonIntegrator(*func, precision, maxLoop);
- double myintegral = integ->evaluate(lowerlim, upperlim);
- delete integ;
- delete func;
- return myintegral;
+ auto func = EvtItgPtrFunction{&Int2, lowerlim, upperlim, vars};
+ auto integ = EvtItgSimpsonIntegrator{func, precision, maxLoop};
+ return integ.evaluate(lowerlim, upperlim);
}
double EvtVubBLNPHybrid::Done3(double Pp, double Pm, double /* mui */) {
std::vector<double> vars(12);
vars[0] = Pp;
vars[1] = Pm;
for (int j=2;j<12;j++) {vars[j] = gvars[j];}
double lowerlim = 0.001*Pp;
- double upperlim = (1.0-0.001)*Pp;
+ double upperlim = (1.0-0.001)*Pp;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&Int3, lowerlim, upperlim, vars);
- EvtItgSimpsonIntegrator *integ = new EvtItgSimpsonIntegrator(*func, precision, maxLoop);
- double myintegral = integ->evaluate(lowerlim, upperlim);
- delete integ;
- delete func;
- return myintegral;
+ auto func = EvtItgPtrFunction{&Int3, lowerlim, upperlim, vars};
+ auto integ = EvtItgSimpsonIntegrator{func, precision, maxLoop};
+ return integ.evaluate(lowerlim, upperlim);
}
double EvtVubBLNPHybrid::Int1(double what, const std::vector<double> &vars) {
return Shat(what, vars)*g1(what, vars);
}
double EvtVubBLNPHybrid::Int2(double what, const std::vector<double> &vars) {
return Shat(what, vars)*g2(what, vars);
}
double EvtVubBLNPHybrid::Int3(double what, const std::vector<double> &vars) {
return Shat(what, vars)*g3(what, vars);
}
double EvtVubBLNPHybrid::IntJS(double what, const std::vector<double> &vars) {
-
+
double Pp = vars[0];
double Pm = vars[1];
double mui = vars[2];
double mBB = vars[5];
double mb = vars[6];
double y = (Pm - Pp)/(mBB - Pp);
-
+
return 1/(Pp-what)*(Shat(what, vars) - Shat(Pp, vars))*(4*log(y*mb*(Pp-what)/(mui*mui)) - 3);
}
double EvtVubBLNPHybrid::g1(double w, const std::vector<double> &vars) {
double Pp = vars[0];
double Pm = vars[1];
double mBB = vars[5];
double y = (Pm - Pp)/(mBB - Pp);
double x = (Pp - w)/(mBB - Pp);
double q1 = (1+x)*(1+x)*y*(x+y);
double q2 = y*(-9 + 10*y) + x*x*(-12.0 + 13.0*y) + 2*x*(-8.0 + 6*y + 3*y*y);
double q3 = 4/x*log(y + y/x);
double q4 = 3.0*pow(x,4)*(-2.0 + y) - 2*pow(y,3) - 4*pow(x,3)*(2.0+y) - 2*x*y*y*(4+y) - x*x*y*(12 + 4*y + y*y);
double q5 = log(1 + y/x);
double answer = q2/q1 - q3 - 2*q4*q5/(q1*y*x);
return answer;
}
double EvtVubBLNPHybrid::g2(double w, const std::vector<double> &vars) {
double Pp = vars[0];
double Pm = vars[1];
double mBB = vars[5];
double y = (Pm - Pp)/(mBB - Pp);
double x = (Pp - w)/(mBB - Pp);
double q1 = (1+x)*(1+x)*pow(y,3)*(x+y);
double q2 = 10.0*pow(x,4) + y*y + 3.0*pow(x,2)*y*(10.0+y) + pow(x,3)*(12.0+19.0*y) + x*y*(8.0 + 4.0*y + y*y);
double q3 = 5*pow(x,4) + 2.0*y*y + 6.0*pow(x,3)*(1.0+2.0*y) + 4.0*x*y*(1+2.0*y) + x*x*y*(18.0+5.0*y);
double q4 = log(1 + y/x);
double answer = 2.0/q1*( y*q2 - 2*x*q3*q4);
return answer;
}
double EvtVubBLNPHybrid::g3(double w, const std::vector<double> &vars) {
double Pp = vars[0];
double Pm = vars[1];
double mBB = vars[5];
double y = (Pm - Pp)/(mBB - Pp);
double x = (Pp - w)/(mBB - Pp);
double q1 = (1+x)*(1+x)*pow(y,3)*(x+y);
double q2 = 2.0*pow(y,3)*(-11.0+2.0*y) - 10.0*pow(x,4)*(6 - 6*y + y*y) + x*y*y*(-94.0 + 29.0*y + 2.0*y*y) + 2.0*x*x*y*(-72.0 +18.0*y + 13.0*y*y) - x*x*x*(72.0 + 42.0*y - 70.0*y*y + 3.0*y*y*y);
double q3 = -6.0*x*(-5.0+y)*pow(y,3) + 4*pow(y,4) + 5*pow(x,5)*(6-6*y + y*y) - 4*x*x*y*y*(-20.0 + 6*y + y*y) + pow(x,3)*y*(90.0 - 10.0*y - 28.0*y*y + y*y*y) + pow(x,4)*(36.0 + 36.0*y - 50.0*y*y + 4*y*y*y);
double q4 = log(1 + y/x);
double answer = q2/q1 + 2/q1/y*q3*q4;
return answer;
}
double EvtVubBLNPHybrid::Shat(double w, const std::vector<double> &vars) {
double mui = vars[2];
double b = vars[3];
double Lambda = vars[4];
double wzero = vars[7];
int itype = (int)vars[11];
double norm = 0.0;
double shape = 0.0;
if (itype == 1) {
double Lambar = (Lambda/b)*(Gamma(1+b)-Gamma(1+b,b*wzero/Lambda))/(Gamma(b) - Gamma(b, b*wzero/Lambda));
double muf = wzero - Lambar;
double mupisq = 3*pow(Lambda,2)/pow(b,2)*(Gamma(2+b) - Gamma(2+b, b*wzero/Lambda))/(Gamma(b) - Gamma(b, b*wzero/Lambda)) - 3*Lambar*Lambar;
norm = Mzero(muf, mui, mupisq, vars)*Gamma(b)/(Gamma(b) - Gamma(b, b*wzero/Lambda));
shape = pow(b,b)/Lambda/Gamma(b)*pow(w/Lambda, b-1)*exp(-b*w/Lambda);
}
if (itype == 2) {
double dcoef = pow( Gamma(0.5*(1+b))/Gamma(0.5*b), 2);
double t1 = wzero*wzero*dcoef/(Lambda*Lambda);
double Lambar = Lambda*(Gamma(0.5*(1+b)) - Gamma(0.5*(1+b),t1))/pow(dcoef, 0.5)/(Gamma(0.5*b) - Gamma(0.5*b, t1));
double muf = wzero - Lambar;
double mupisq = 3*Lambda*Lambda*( Gamma(1+0.5*b) - Gamma(1+0.5*b, t1))/dcoef/(Gamma(0.5*b) - Gamma(0.5*b, t1)) - 3*Lambar*Lambar;
norm = Mzero(muf, mui, mupisq, vars)*Gamma(0.5*b)/(Gamma(0.5*b) - Gamma(0.5*b, wzero*wzero*dcoef/(Lambda*Lambda)));
shape = 2*pow(dcoef, 0.5*b)/Lambda/Gamma(0.5*b)*pow(w/Lambda, b-1)*exp(-dcoef*w*w/(Lambda*Lambda));
}
double answer = norm*shape;
return answer;
}
double EvtVubBLNPHybrid::Mzero(double muf, double mu, double mupisq, const std::vector<double> &vars) {
double CF = 4.0/3.0;
double amu = CF*alphas(mu, vars)/M_PI;
double answer = 1 - amu*( pow(log(muf/mu), 2) + log(muf/mu) + M_PI*M_PI/24.0) + amu*(log(muf/mu) - 0.5)*mupisq/(3*muf*muf);
return answer;
}
double EvtVubBLNPHybrid::wS(double w) {
double answer = (Lbar - w)*Shat(w, gvars);
return answer;
}
double EvtVubBLNPHybrid::t(double w) {
double t1 = -3*lambda2/mupisq*(Lbar - w)*Shat(w, gvars);
double myf = myfunction(w, Lbar, moment2);
double myBIK = myfunctionBIK(w, Lbar, moment2);
double answer = t1;
if (isubl == 1) answer = t1;
if (isubl == 3) answer = t1 - myf;
if (isubl == 4) answer = t1 + myf;
if (isubl == 5) answer = t1 - myBIK;
if (isubl == 6) answer = t1 + myBIK;
return answer;
}
double EvtVubBLNPHybrid::u(double w) {
double u1 = -2*(Lbar - w)*Shat(w, gvars);
double myf = myfunction(w, Lbar, moment2);
double myBIK = myfunctionBIK(w, Lbar, moment2);
double answer = u1;
if (isubl == 1) answer = u1;
if (isubl == 3) answer = u1 + myf;
if (isubl == 4) answer = u1 - myf;
if (isubl == 5) answer = u1 + myBIK;
if (isubl == 6) answer = u1 - myBIK;
return answer;
}
double EvtVubBLNPHybrid::v(double w) {
double v1 = 3*lambda2/mupisq*(Lbar - w)*Shat(w, gvars);
double myf = myfunction(w, Lbar, moment2);
double myBIK = myfunctionBIK(w, Lbar, moment2);
double answer = v1;
if (isubl == 1) answer = v1;
if (isubl == 3) answer = v1 - myf;
if (isubl == 4) answer = v1 + myf;
if (isubl == 5) answer = v1 - myBIK;
if (isubl == 6) answer = v1 + myBIK;
return answer;
}
double EvtVubBLNPHybrid::myfunction(double w, double Lbar, double mom2) {
double bval = 5.0;
double x = w/Lbar;
double factor = 0.5*mom2*pow(bval/Lbar, 3);
double answer = factor*exp(-bval*x)*(1 - 2*bval*x + 0.5*bval*bval*x*x);
return answer;
}
double EvtVubBLNPHybrid::myfunctionBIK(double w, double Lbar, double /* mom2 */) {
double aval = 10.0;
double normBIK = (4 - M_PI)*M_PI*M_PI/8/(2-M_PI)/aval + 1;
double z = 3*M_PI*w/8/Lbar;
double q = M_PI*M_PI*2*pow(M_PI*aval, 0.5)*exp(-aval*z*z)/(4*M_PI - 8)*(1 - 2*pow(aval/M_PI, 0.5)*z) + 8/pow(1+z*z, 4)*(z*log(z) + 0.5*z*(1+z*z) - M_PI/4*(1-z*z));
double answer = q/normBIK;
return answer;
}
-double EvtVubBLNPHybrid::dU1nlo(double muh, double mui) {
+double EvtVubBLNPHybrid::dU1nlo(double muh, double mui) {
double ai = alphas(mui, gvars);
double ah = alphas(muh, gvars);
double q1 = (ah - ai)/(4*M_PI*beta0);
double q2 = log(mb/muh)*Gamma1 + gp1;
double q3 = 4*beta1*(log(mb/muh)*Gamma0 + gp0) + Gamma2*(1-ai/ah);
double q4 = beta1*beta1*Gamma0*(-1.0 + ai/ah)/(4*pow(beta0,3));
double q5 = -beta2*Gamma0*(1.0 + ai/ah) + beta1*Gamma1*(3 - ai/ah);
double q6 = beta1*beta1*Gamma0*(ah - ai)/beta0 - beta2*Gamma0*ah + beta1*Gamma1*ai;
-
+
double answer = q1*(q2 - q3/4/beta0 + q4 + q5/(4*beta0*beta0)) + 1/(8*M_PI*beta0*beta0*beta0)*log(ai/ah)*q6;
return answer;
}
double EvtVubBLNPHybrid::U1lo(double muh, double mui) {
double epsilon = 0.0;
double answer = pow(mb/muh, -2*aGamma(muh, mui, epsilon))*exp(2*Sfun(muh, mui, epsilon) - 2*agp(muh, mui, epsilon));
return answer;
}
double EvtVubBLNPHybrid::Sfun(double mu1, double mu2, double epsilon) {
double a1 = alphas(mu1, gvars)/4/M_PI;
double a2 = alphas(mu2, gvars)/alphas(mu1, gvars);
double answer = S0(a1,a2) + S1(a1,a2) + epsilon*S2(a1,a2);
return answer;
}
double EvtVubBLNPHybrid::S0(double a1, double r) {
double answer = -Gamma0/(4.0*beta0*beta0*a1)*(-1.0 + 1.0/r + log(r));
return answer;
}
double EvtVubBLNPHybrid::S1(double /* a1 */ , double r) {
double answer = Gamma0/(4*beta0*beta0)*(0.5*log(r)*log(r)*beta1/beta0 + (Gamma1/Gamma0 - beta1/beta0)*(1 - r + log(r)));
return answer;
}
double EvtVubBLNPHybrid::S2(double a1, double r) {
double w1 = pow(beta1,2)/pow(beta0,2) - beta2/beta0 - beta1*Gamma1/(beta0*Gamma0) + Gamma2/Gamma0;
double w2 = pow(beta1,2)/pow(beta0,2) - beta2/beta0;
double w3 = beta1*Gamma1/(beta0*Gamma0) - beta2/beta0;
double w4 = a1*Gamma0/(4*beta0*beta0);
double answer = w4*(-0.5*pow(1-r,2)*w1 + w2*(1-r)*log(r) + w3*(1-r+r*log(r)));
return answer;
}
double EvtVubBLNPHybrid::aGamma(double mu1, double mu2, double epsilon) {
double a1 = alphas(mu1, gvars);
double a2 = alphas(mu2, gvars);
double answer = Gamma0/(2*beta0)*log(a2/a1) + epsilon*(a2-a1)/(8.0*M_PI)*(Gamma1/beta0 - beta1*Gamma0/(beta0*beta0));
return answer;
}
-double EvtVubBLNPHybrid::agp(double mu1, double mu2, double epsilon) {
+double EvtVubBLNPHybrid::agp(double mu1, double mu2, double epsilon) {
double a1 = alphas(mu1, gvars);
double a2 = alphas(mu2, gvars);
double answer = gp0/(2*beta0)*log(a2/a1) + epsilon*(a2-a1)/(8.0*M_PI)*(gp1/beta0 - beta1*gp0/(beta0*beta0));
return answer;
}
double EvtVubBLNPHybrid::alo(double muh, double mui) { return -2.0*aGamma(muh, mui, 0);}
double EvtVubBLNPHybrid::anlo(double muh, double mui) { // d/depsilon of aGamma
double ah = alphas(muh, gvars);
double ai = alphas(mui, gvars);
double answer = (ah-ai)/(8.0*M_PI)*(Gamma1/beta0 - beta1*Gamma0/(beta0*beta0));
return answer;
}
double EvtVubBLNPHybrid::alphas(double mu, const std::vector<double> &vars) {
// Note: Lambda4 and Lambda5 depend on mbMS = 4.25
// So if you change mbMS, then you will have to recalculate them.
double beta0 = vars[8];
double beta1 = vars[9];
double beta2 = vars[10];
-
+
double Lambda4 = 0.298791;
double lg = 2*log(mu/Lambda4);
double answer = 4*M_PI/(beta0*lg)*( 1 - beta1*log(lg)/(beta0*beta0*lg) + beta1*beta1/(beta0*beta0*beta0*beta0*lg*lg)*( (log(lg) - 0.5)*(log(lg) - 0.5) - 5.0/4.0 + beta2*beta0/(beta1*beta1)));
return answer;
-
+
}
double EvtVubBLNPHybrid::PolyLog(double v, double z) {
if (z >= 1) cout << "Error in EvtVubBLNPHybrid: 2nd argument to PolyLog is >= 1." << endl;
double sum = 0.0;
- for (int k=1; k<101; k++) {
+ for (int k=1; k<101; k++) {
sum = sum + pow(z,k)/pow(k,v);
}
return sum;
}
double EvtVubBLNPHybrid::Gamma(double z)
{
if (z<=0) return 0;
double v = lgamma(z);
return exp(v);
}
double EvtVubBLNPHybrid::Gamma(double a, double x)
{
double LogGamma;
/* if (x<0.0 || a<= 0.0) raise(SIGFPE);*/
if(x<0.0) x=0.0;
if(a<=0.0)a=1.e-50;
LogGamma = lgamma(a);
- if (x < (a+1.0))
+ if (x < (a+1.0))
return gamser(a,x,LogGamma);
- else
+ else
return 1.0-gammcf(a,x,LogGamma);
}
/* ------------------Incomplete gamma function-----------------*/
/* ------------------via its series representation-------------*/
-
+
double EvtVubBLNPHybrid::gamser(double a, double x, double LogGamma)
{
double n;
double ap,del,sum;
ap=a;
del=sum=1.0/a;
for (n=1;n<ITMAX;n++) {
++ap;
del *= x/ap;
sum += del;
if (fabs(del) < fabs(sum)*EPS) return sum*exp(-x + a*log(x) - LogGamma);
}
raise(SIGFPE);
return 0.0;
-}
+}
/* ------------------Incomplete gamma function complement------*/
/* ------------------via its continued fraction representation-*/
double EvtVubBLNPHybrid::gammcf(double a, double x, double LogGamma) {
-
+
double an,b,c,d,del,h;
int i;
b = x + 1.0 -a;
c = 1.0/FPMIN;
d = 1.0/b;
h = d;
for (i=1;i<ITMAX;i++) {
an = -i*(i-a);
b+=2.0;
d=an*d+b;
if (fabs(d) < FPMIN) d = FPMIN;
c = b+an/c;
if (fabs(c) < FPMIN) c = FPMIN;
d = 1.0/d;
del=d*c;
h *= del;
- if (fabs(del-1.0) < EPS) return exp(-x+a*log(x)-LogGamma)*h;
+ if (fabs(del-1.0) < EPS) return exp(-x+a*log(x)-LogGamma)*h;
}
raise(SIGFPE);
return 0.0;
}
double EvtVubBLNPHybrid::findBLNPWhat() {
double ranNum=EvtRandom::Flat();
double oOverBins= 1.0/(float(_pf.size()));
int nBinsBelow = 0; // largest k such that I[k] is known to be <= rand
int nBinsAbove = _pf.size(); // largest k such that I[k] is known to be > rand
int middle;
-
+
while (nBinsAbove > nBinsBelow+1) {
middle = (nBinsAbove + nBinsBelow+1)>>1;
if (ranNum >= _pf[middle]) {
nBinsBelow = middle;
} else {
nBinsAbove = middle;
}
- }
+ }
double bSize = _pf[nBinsAbove] - _pf[nBinsBelow];
- // binMeasure is always aProbFunc[nBinsBelow],
-
- if ( bSize == 0 ) {
+ // binMeasure is always aProbFunc[nBinsBelow],
+
+ if ( bSize == 0 ) {
// rand lies right in a bin of measure 0. Simply return the center
- // of the range of that bin. (Any value between k/N and (k+1)/N is
+ // of the range of that bin. (Any value between k/N and (k+1)/N is
// equally good, in this rare case.)
return (nBinsBelow + .5) * oOverBins;
}
-
+
double bFract = (ranNum - _pf[nBinsBelow]) / bSize;
-
+
return (nBinsBelow + bFract) * oOverBins;
-
-}
+
+}
double EvtVubBLNPHybrid::getWeight(double mX, double q2, double El) {
int ibin_mX = -1;
int ibin_q2 = -1;
int ibin_El = -1;
- for (int i = 0; i < _nbins_mX; i++) {
+ for (unsigned i = 0; i < _bins_mX.size(); i++) {
if (mX >= _bins_mX[i]) ibin_mX = i;
}
- for (int i = 0; i < _nbins_q2; i++) {
+ for (unsigned i = 0; i < _bins_q2.size(); i++) {
if (q2 >= _bins_q2[i]) ibin_q2 = i;
}
- for (int i = 0; i < _nbins_El; i++) {
+ for (unsigned i = 0; i < _bins_El.size(); i++) {
if (El >= _bins_El[i]) ibin_El = i;
}
- int ibin = ibin_mX + ibin_q2*_nbins_mX + ibin_El*_nbins_mX*_nbins_q2;
+ int ibin = ibin_mX + ibin_q2*_bins_mX.size() + ibin_El*_bins_mX.size()*_bins_q2.size();
if ( (ibin_mX < 0) || (ibin_q2 < 0) || (ibin_El < 0) ) {
EvtGenReport(EVTGEN_ERROR,"EvtVubHybrid") << "Cannot determine hybrid weight "
- << "for this event "
+ << "for this event "
<< "-> assign weight = 0" << endl;
return 0.0;
}
return _weights[ibin];
}
void EvtVubBLNPHybrid::readWeights(int startArg) {
- _weights = new double[_nbins];
+ _weights.resize(_nbins);
double maxw = 0.0;
- for (int i = 0; i < _nbins; i++, startArg++) {
- _weights[i] = getArg(startArg);
- if (_weights[i] > maxw) maxw = _weights[i];
+ for (auto& w : _weights) {
+ w = getArg(startArg++);
+ if (w > maxw) maxw = w;
}
if (maxw == 0) {
- EvtGenReport(EVTGEN_ERROR,"EvtVubBLNPHybrid") << "EvtVub generator expected at least one "
- << " weight > 0, but found none! "
+ EvtGenReport(EVTGEN_ERROR,"EvtVubBLNPHybrid") << "EvtVub generator expected at least one "
+ << " weight > 0, but found none! "
<< "Will terminate execution!"<<endl;
::abort();
}
// rescale weights (to be in range 0..1)
- for (int i = 0; i < _nbins; i++) {
- _weights[i] /= maxw;
- }
+ for (auto& w : _weights) w /= maxw;
}
diff --git a/src/EvtGenModels/EvtVubHybrid.cpp b/src/EvtGenModels/EvtVubHybrid.cpp
index 1909437..c42c0b3 100644
--- a/src/EvtGenModels/EvtVubHybrid.cpp
+++ b/src/EvtGenModels/EvtVubHybrid.cpp
@@ -1,477 +1,441 @@
//---------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVubHybrid.cc
//
-// Description: Routine to decay a particle according to phase space.
+// Description: Routine to decay a particle according to phase space.
//
// Modification history:
//
// Jochen Dingfelder February 1, 2005 Created Module as update of the
-// original module EvtVub by Sven Menke
+// original module EvtVub by Sven Menke
//---------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVubHybrid.hh"
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtPFermi.hh"
#include "EvtGenModels/EvtVubdGamma.hh"
#include "EvtGenBase/EvtRandom.hh"
#include <string>
#include <iostream>
#include <fstream>
using std::ifstream;
using std::cout;
using std::endl;
-// _noHybrid will be set TRUE if the DECAY.DEC file has no binning or weights
-// _storeQplus should alwasy be TRUE: writes out Fermi motion parameter
-
-EvtVubHybrid::EvtVubHybrid()
- : _noHybrid(false), _storeQplus(true),
- _mb(4.62), _a(2.27), _alphas(0.22), _dGMax(3.),
- _nbins_mX(0), _nbins_q2(0), _nbins_El(0), _nbins(0),
- _masscut(0.28), _bins_mX(0), _bins_q2(0), _bins_El(0),
- _weights(0), _dGamma(0)
-{}
-
-EvtVubHybrid::~EvtVubHybrid() {
- delete _dGamma;
- delete [] _bins_mX;
- delete [] _bins_q2;
- delete [] _bins_El;
- delete [] _weights;
-
-}
-
std::string EvtVubHybrid::getName(){
- return "VUBHYBRID";
+ return "VUBHYBRID";
}
EvtDecayBase* EvtVubHybrid::clone(){
return new EvtVubHybrid;
}
void EvtVubHybrid::init(){
// check that there are at least 3 arguments
if (getNArg() < EvtVubHybrid::nParameters) {
EvtGenReport(EVTGEN_ERROR,"EvtVubHybrid") << "EvtVub generator expected "
<< "at least " << EvtVubHybrid::nParameters
<< " arguments but found: " << getNArg()
<< "\nWill terminate execution!"<<endl;
- ::abort();
+ ::abort();
} else if (getNArg() == EvtVubHybrid::nParameters) {
- EvtGenReport(EVTGEN_WARNING,"EvtVubHybrid") << "EvtVub: generate B -> Xu l nu events "
- << "without using the hybrid reweighting."
+ EvtGenReport(EVTGEN_WARNING,"EvtVubHybrid") << "EvtVub: generate B -> Xu l nu events "
+ << "without using the hybrid reweighting."
<< endl;
_noHybrid = true;
} else if (getNArg() < EvtVubHybrid::nParameters+EvtVubHybrid::nVariables) {
EvtGenReport(EVTGEN_ERROR,"EvtVubHybrid") << "EvtVub could not read number of bins for "
<< "all variables used in the reweighting\n"
<< "Will terminate execution!" << endl;
- ::abort();
+ ::abort();
}
// check that there are 3 daughters
checkNDaug(3);
// read minimum required parameters from decay.dec
_mb = getArg(0);
_a = getArg(1);
_alphas = getArg(2);
// the maximum dGamma*p2 value depends on alpha_s only:
const double dGMax0 = 3.;
_dGMax = 0.21344+8.905*_alphas;
if ( _dGMax < dGMax0 ) _dGMax = dGMax0;
// for the Fermi Motion we need a B-Meson mass - but it's not critical
// to get an exact value; in order to stay in the phase space for
// B+- and B0 use the smaller mass
-
+
static double mB0 = EvtPDL::getMaxMass(EvtPDL::getId("B0"));
static double mBP = EvtPDL::getMaxMass(EvtPDL::getId("B+"));
static double mB = (mB0<mBP?mB0:mBP);
-
+
const double xlow = -_mb;
const double xhigh = mB-_mb;
const int aSize = 10000;
EvtPFermi pFermi(_a,mB,_mb);
// pf is the cumulative distribution normalized to 1.
_pf.resize(aSize);
for(int i=0;i<aSize;i++){
double kplus = xlow + (double)(i+0.5)/((double)aSize)*(xhigh-xlow);
if ( i== 0 )
_pf[i] = pFermi.getFPFermi(kplus);
else
_pf[i] = _pf[i-1] + pFermi.getFPFermi(kplus);
}
for (size_t index=0; index<_pf.size(); index++) {
_pf[index]/=_pf[_pf.size()-1];
}
- _dGamma = new EvtVubdGamma(_alphas);
-
+ _dGamma = std::make_unique<EvtVubdGamma>(_alphas);
+
if (_noHybrid) return; // Without hybrid weighting, nothing else to do
- _nbins_mX = abs((int)getArg(3));
- _nbins_q2 = abs((int)getArg(4));
- _nbins_El = abs((int)getArg(5));
+ _bins_mX.resize( abs((int)getArg(3)) );
+ _bins_q2.resize( abs((int)getArg(4)) );
+ _bins_El.resize( abs((int)getArg(5)) );
int nextArg = EvtVubHybrid::nParameters + EvtVubHybrid::nVariables;
- _nbins = _nbins_mX*_nbins_q2*_nbins_El; // Binning of weight table
+ _nbins = _bins_mX.size()*_bins_q2.size()*_bins_El.size(); // Binning of weight table
- int expectArgs = nextArg + _nbins_mX +_nbins_q2 + _nbins_El + _nbins;
+ int expectArgs = nextArg + _bins_mX.size() +_bins_q2.size() + _bins_El.size() + _nbins;
if (getNArg() < expectArgs) {
EvtGenReport(EVTGEN_ERROR,"EvtVubHybrid")
<< " finds " << getNArg() << " arguments, expected " << expectArgs
<< ". Something is wrong with the tables of weights or thresholds."
<< "\nWill terminate execution!" << endl;
- ::abort();
+ ::abort();
}
// read bin boundaries from decay.dec
- int i;
-
- _bins_mX = new double[_nbins_mX];
- for (i = 0; i < _nbins_mX; i++,nextArg++) {
- _bins_mX[i] = getArg(nextArg);
- }
+ for (auto& b : _bins_mX ) b = getArg(nextArg++);
_masscut = _bins_mX[0];
- _bins_q2 = new double[_nbins_q2];
- for (i = 0; i < _nbins_q2; i++,nextArg++) {
- _bins_q2[i] = getArg(nextArg);
- }
+ for (auto& b : _bins_q2) b = getArg(nextArg++);
+ for (auto& b : _bins_El) b = getArg(nextArg++);
- _bins_El = new double[_nbins_El];
- for (i = 0; i < _nbins_El; i++,nextArg++) {
- _bins_El[i] = getArg(nextArg);
- }
-
// read in weights (and rescale to range 0..1)
- readWeights(nextArg);
+ readWeights(nextArg);
}
void EvtVubHybrid::initProbMax(){
noProbMax();
}
void EvtVubHybrid::decay( EvtParticle *p ){
int j;
// B+ -> u-bar specflav l+ nu
-
+
EvtParticle *xuhad(0), *lepton(0), *neutrino(0);
EvtVector4R p4;
// R. Faccini 21/02/03
// move the reweighting up , before also shooting the fermi distribution
double x,z,p2;
double sh=0.0;
double mB,ml,xlow,xhigh,qplus;
double El=0.0;
double Eh=0.0;
double kplus;
double q2, mX;
const double lp2epsilon=-10;
bool rew(true);
while(rew){
-
+
p->initializePhaseSpace(getNDaug(),getDaugs());
-
+
xuhad=p->getDaug(0);
lepton=p->getDaug(1);
neutrino=p->getDaug(2);
-
+
mB = p->mass();
ml = lepton->mass();
-
+
xlow = -_mb;
- xhigh = mB-_mb;
-
+ xhigh = mB-_mb;
+
// Fermi motion does not need to be computed inside the
// tryit loop as m_b in Gamma0 does not need to be replaced by (m_b+kplus).
// The difference however should be of the Order (lambda/m_b)^2 which is
// beyond the considered orders in the paper anyway ...
-
- // for alpha_S = 0 and a mass cut on X_u not all values of kplus are
+
+ // for alpha_S = 0 and a mass cut on X_u not all values of kplus are
// possible. The maximum value is mB/2-_mb + sqrt(mB^2/4-_masscut^2)
kplus = 2*xhigh;
-
- while( kplus >= xhigh || kplus <= xlow
- || (_alphas == 0 && kplus >= mB/2-_mb
+
+ while( kplus >= xhigh || kplus <= xlow
+ || (_alphas == 0 && kplus >= mB/2-_mb
+ sqrt(mB*mB/4-_masscut*_masscut))) {
kplus = findPFermi(); //_pFermi->shoot();
kplus = xlow + kplus*(xhigh-xlow);
}
qplus = mB-_mb-kplus;
if( (mB-qplus)/2.<=ml) continue;
-
+
int tryit = 1;
while (tryit) {
-
+
x = EvtRandom::Flat();
z = EvtRandom::Flat(0,2);
p2=EvtRandom::Flat();
p2 = pow(10,lp2epsilon*p2);
-
+
El = x*(mB-qplus)/2;
if ( El > ml && El < mB/2) {
-
+
Eh = z*(mB-qplus)/2+qplus;
if ( Eh > 0 && Eh < mB ) {
-
+
sh = p2*pow(mB-qplus,2)+2*qplus*(Eh-qplus)+qplus*qplus;
if ( sh > _masscut*_masscut
&& mB*mB + sh - 2*mB*Eh > ml*ml) {
-
+
double xran = EvtRandom::Flat();
-
+
double y = _dGamma->getdGdxdzdp(x,z,p2)/_dGMax*p2;
-
+
if ( y > 1 ) EvtGenReport(EVTGEN_WARNING,"EvtVubHybrid") <<"EvtVubHybrid decay probability > 1 found: " << y << endl;
if ( y >= xran ) tryit = 0;
}
}
}
}
// compute all kinematic variables needed for reweighting (J. Dingfelder)
mX = sqrt(sh);
q2 = mB*mB + sh - 2*mB*Eh;
// Reweighting in bins of mX, q2, El (J. Dingfelder)
- if (_nbins>0) {
+ if (!_weights.empty()) {
double xran1 = EvtRandom::Flat();
double w = 1.0;
- if (!_noHybrid) w = getWeight(mX, q2, El);
+ if (!_noHybrid) w = getWeight(mX, q2, El);
if ( w >= xran1 ) rew = false;
- }
+ }
else {
rew = false;
}
}
- // o.k. we have the three kineamtic variables
- // now calculate a flat cos Theta_H [-1,1] distribution of the
- // hadron flight direction w.r.t the B flight direction
+ // o.k. we have the three kineamtic variables
+ // now calculate a flat cos Theta_H [-1,1] distribution of the
+ // hadron flight direction w.r.t the B flight direction
// because the B is a scalar and should decay isotropic.
- // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
- // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
+ // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
+ // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
// W flight direction.
double ctH = EvtRandom::Flat(-1,1);
double phH = EvtRandom::Flat(0,2*M_PI);
double phL = EvtRandom::Flat(0,2*M_PI);
// now compute the four vectors in the B Meson restframe
-
+
double ptmp,sttmp;
// calculate the hadron 4 vector in the B Meson restframe
sttmp = sqrt(1-ctH*ctH);
ptmp = sqrt(Eh*Eh-sh);
double pHB[4] = {Eh,ptmp*sttmp*cos(phH),ptmp*sttmp*sin(phH),ptmp*ctH};
p4.set(pHB[0],pHB[1],pHB[2],pHB[3]);
xuhad->init( getDaug(0), p4);
if (_storeQplus ) {
- // cludge to store the hidden parameter q+ with the decay;
+ // cludge to store the hidden parameter q+ with the decay;
// the lifetime of the Xu is abused for this purpose.
// tau = 1 ps corresponds to ctau = 0.3 mm -> in order to
- // stay well below BaBars sensitivity we take q+/(10000 GeV) which
+ // stay well below BaBars sensitivity we take q+/(10000 GeV) which
// goes up to 0.0005 in the most extreme cases as ctau in mm.
// To extract q+ back from the StdHepTrk its necessary to get
// delta_ctau = Xu->anyDaughter->getVertexTime()-Xu->getVertexTime()
// where these pseudo calls refere to the StdHep time stored at
- // the production vertex in the lab for each particle. The boost
+ // the production vertex in the lab for each particle. The boost
// has to be reversed and the result is:
//
- // q+ = delta_ctau * 10000 GeV/mm * Mass_Xu/Energy_Xu
+ // q+ = delta_ctau * 10000 GeV/mm * Mass_Xu/Energy_Xu
//
xuhad->setLifetime(qplus/10000.);
}
// calculate the W 4 vector in the B Meson restrframe
double apWB = ptmp;
double pWB[4] = {mB-Eh,-pHB[1],-pHB[2],-pHB[3]};
// first go in the W restframe and calculate the lepton and
// the neutrino in the W frame
double mW2 = mB*mB + sh - 2*mB*Eh;
double beta = ptmp/pWB[0];
double gamma = pWB[0]/sqrt(mW2);
double pLW[4];
-
+
ptmp = (mW2-ml*ml)/2/sqrt(mW2);
pLW[0] = sqrt(ml*ml + ptmp*ptmp);
double ctL = (El - gamma*pLW[0])/beta/gamma/ptmp;
if ( ctL < -1 ) ctL = -1;
if ( ctL > 1 ) ctL = 1;
sttmp = sqrt(1-ctL*ctL);
// eX' = eZ x eW
double xW[3] = {-pWB[2],pWB[1],0};
// eZ' = eW
double zW[3] = {pWB[1]/apWB,pWB[2]/apWB,pWB[3]/apWB};
-
+
double lx = sqrt(xW[0]*xW[0]+xW[1]*xW[1]);
- for (j=0;j<2;j++)
+ for (j=0;j<2;j++)
xW[j] /= lx;
// eY' = eZ' x eX'
double yW[3] = {-pWB[1]*pWB[3],-pWB[2]*pWB[3],pWB[1]*pWB[1]+pWB[2]*pWB[2]};
double ly = sqrt(yW[0]*yW[0]+yW[1]*yW[1]+yW[2]*yW[2]);
- for (j=0;j<3;j++)
+ for (j=0;j<3;j++)
yW[j] /= ly;
// p_lep = |p_lep| * ( sin(Theta) * cos(Phi) * eX'
// + sin(Theta) * sin(Phi) * eY'
// + cos(Theta) * eZ')
for (j=0;j<3;j++)
- pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ sttmp*sin(phL)*ptmp*yW[j]
+ ctL *ptmp*zW[j];
double apLW = ptmp;
// calculate the neutrino 4 vector in the W restframe
//double pNW[4] = {sqrt(mW2)-pLW[0],-pLW[1],-pLW[2],-pLW[3]};
-
+
// boost them back in the B Meson restframe
-
+
double appLB = beta*gamma*pLW[0] + gamma*ctL*apLW;
-
+
ptmp = sqrt(El*El-ml*ml);
double ctLL = appLB/ptmp;
if ( ctLL > 1 ) ctLL = 1;
if ( ctLL < -1 ) ctLL = -1;
-
+
double pLB[4] = {El,0,0,0};
double pNB[4] = {pWB[0]-El,0,0,0};
for (j=1;j<4;j++) {
pLB[j] = pLW[j] + (ctLL*ptmp - ctL*apLW)/apWB*pWB[j];
pNB[j] = pWB[j] - pLB[j];
}
p4.set(pLB[0],pLB[1],pLB[2],pLB[3]);
lepton->init( getDaug(1), p4);
p4.set(pNB[0],pNB[1],pNB[2],pNB[3]);
neutrino->init( getDaug(2), p4);
return ;
}
double EvtVubHybrid::findPFermi() {
double ranNum=EvtRandom::Flat();
double oOverBins= 1.0/(float(_pf.size()));
int nBinsBelow = 0; // largest k such that I[k] is known to be <= rand
int nBinsAbove = _pf.size(); // largest k such that I[k] is known to be > rand
int middle;
-
+
while (nBinsAbove > nBinsBelow+1) {
middle = (nBinsAbove + nBinsBelow+1)>>1;
if (ranNum >= _pf[middle]) {
nBinsBelow = middle;
} else {
nBinsAbove = middle;
}
- }
+ }
double bSize = _pf[nBinsAbove] - _pf[nBinsBelow];
- // binMeasure is always aProbFunc[nBinsBelow],
-
- if ( bSize == 0 ) {
+ // binMeasure is always aProbFunc[nBinsBelow],
+
+ if ( bSize == 0 ) {
// rand lies right in a bin of measure 0. Simply return the center
- // of the range of that bin. (Any value between k/N and (k+1)/N is
+ // of the range of that bin. (Any value between k/N and (k+1)/N is
// equally good, in this rare case.)
return (nBinsBelow + .5) * oOverBins;
}
-
+
double bFract = (ranNum - _pf[nBinsBelow]) / bSize;
-
return (nBinsBelow + bFract) * oOverBins;
-
-}
+}
double EvtVubHybrid::getWeight(double mX, double q2, double El) {
int ibin_mX = -1;
int ibin_q2 = -1;
int ibin_El = -1;
- for (int i = 0; i < _nbins_mX; i++) {
+ for (unsigned i = 0; i < _bins_mX.size(); i++) {
if (mX >= _bins_mX[i]) ibin_mX = i;
}
- for (int i = 0; i < _nbins_q2; i++) {
+ for (unsigned i = 0; i < _bins_q2.size(); i++) {
if (q2 >= _bins_q2[i]) ibin_q2 = i;
}
- for (int i = 0; i < _nbins_El; i++) {
+ for (unsigned i = 0; i < _bins_El.size(); i++) {
if (El >= _bins_El[i]) ibin_El = i;
}
- int ibin = ibin_mX + ibin_q2*_nbins_mX + ibin_El*_nbins_mX*_nbins_q2;
+ int ibin = ibin_mX + ibin_q2*_bins_mX.size() + ibin_El*_bins_mX.size()*_bins_q2.size();
if ( (ibin_mX < 0) || (ibin_q2 < 0) || (ibin_El < 0) ) {
EvtGenReport(EVTGEN_ERROR,"EvtVubHybrid") << "Cannot determine hybrid weight "
- << "for this event "
+ << "for this event "
<< "-> assign weight = 0" << endl;
return 0.0;
}
return _weights[ibin];
}
void EvtVubHybrid::readWeights(int startArg) {
- _weights = new double[_nbins];
+ _weights.resize(_nbins);
double maxw = 0.0;
- for (int i = 0; i < _nbins; i++, startArg++) {
- _weights[i] = getArg(startArg);
- if (_weights[i] > maxw) maxw = _weights[i];
+ for (auto& w : _weights) {
+ w = getArg(startArg++);
+ if (w > maxw) maxw = w;
}
if (maxw == 0) {
- EvtGenReport(EVTGEN_ERROR,"EvtVubHybrid") << "EvtVub generator expected at least one "
- << " weight > 0, but found none! "
+ EvtGenReport(EVTGEN_ERROR,"EvtVubHybrid") << "EvtVub generator expected at least one "
+ << " weight > 0, but found none! "
<< "Will terminate execution!"<<endl;
::abort();
}
// rescale weights (to be in range 0..1)
- for (int i = 0; i < _nbins; i++) {
- _weights[i] /= maxw;
- }
+ for (auto& w : _weights) w /= maxw;
}
diff --git a/src/EvtGenModels/EvtVubNLO.cpp b/src/EvtGenModels/EvtVubNLO.cpp
index 56cbb04..e7625a8 100644
--- a/src/EvtGenModels/EvtVubNLO.cpp
+++ b/src/EvtGenModels/EvtVubNLO.cpp
@@ -1,654 +1,643 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information:
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtVubNLO.cc
//
// Description: Routine to decay B->Xulnu according to Bosch, Lange, Neubert, and Paz hep-ph/0402094
// Equation numbers refer to this paper
//
// Modification history:
//
-// Riccardo Faccini Feb. 11, 2004
+// Riccardo Faccini Feb. 11, 2004
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtVubNLO.hh"
#include <string>
#include "EvtGenBase/EvtVector4R.hh"
#include "EvtGenModels/EvtItgSimpsonIntegrator.hh"
#include "EvtGenModels/EvtBtoXsgammaFermiUtil.hh"
#include "EvtGenModels/EvtItgPtrFunction.hh"
#include "EvtGenModels/EvtPFermi.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtDiLog.hh"
+#include <array>
using std::cout;
using std::endl;
EvtVubNLO::~EvtVubNLO() {
- delete [] _masses;
- delete [] _weights;
cout <<" max pdf : "<<_gmax<<endl;
cout <<" efficiency : "<<(float)_ngood/(float)_ntot<<endl;
}
std::string EvtVubNLO::getName(){
- return "VUB_NLO";
+ return "VUB_NLO";
}
EvtDecayBase* EvtVubNLO::clone(){
return new EvtVubNLO;
}
void EvtVubNLO::init(){
// max pdf
_gmax=0;
_ntot=0;
_ngood=0;
_lbar=-1000;
_mupi2=-1000;
// check that there are at least 6 arguments
int npar = 8;
if (getNArg()<npar) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO generator expected "
<< " at least npar arguments but found: "
<<getNArg()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
// this is the shape function parameter
_mb = getArg(0);
_b = getArg(1);
_lambdaSF = getArg(2);// shape function lambda is different from lambda
_mui = 1.5;// GeV (scale)
_kpar = getArg(3);// 0
_idSF = abs((int)getArg(4));// type of shape function 1: exponential (from Neubert)
- _nbins = abs((int)getArg(5));
- _masses = new double[_nbins];
- _weights = new double[_nbins];
+ int nbins = abs((int)getArg(5));
+ _masses.resize(nbins);
+ _weights.resize(nbins);
// Shape function normalization
_mB=5.28;// temporary B meson mass for normalization
std::vector<double> sCoeffs(11);
sCoeffs[3] = _b;
sCoeffs[4] = _mb;
sCoeffs[5] = _mB;
sCoeffs[6] = _idSF;
sCoeffs[7] = lambda_SF();
sCoeffs[8] = mu_h();
sCoeffs[9] = mu_i();
sCoeffs[10] = 1.;
_SFNorm = SFNorm(sCoeffs) ; // SF normalization;
cout << " pdf 0.66, 1.32 , 4.32 "<<tripleDiff(0.66, 1.32 , 4.32)<<endl;
cout << " pdf 0.23,0.37,3.76 "<<tripleDiff(0.23,0.37,3.76)<<endl;
cout << " pdf 0.97,4.32,4.42 "<<tripleDiff(0.97,4.32,4.42)<<endl;
cout << " pdf 0.52,1.02,2.01 "<<tripleDiff(0.52,1.02,2.01)<<endl;
cout << " pdf 1.35,1.39,2.73 "<<tripleDiff(1.35,1.39,2.73)<<endl;
-
- if (getNArg()-npar+2 != 2*_nbins) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO generator expected "
- << _nbins << " masses and weights but found: "
+
+ if (getNArg()-npar+2 != int(2*_weights.size())) {
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO generator expected "
+ << _weights.size() << " masses and weights but found: "
<<(getNArg()-npar)/2 <<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
- int i,j = npar-2;
+ int j = npar-2;
double maxw = 0.;
- for (i=0;i<_nbins;i++) {
+ for (unsigned i=0;i<_masses.size();i++) {
_masses[i] = getArg(j++);
if (i>0 && _masses[i] <= _masses[i-1]) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO generator expected "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO generator expected "
<< " mass bins in ascending order!"
<< "Will terminate execution!"<<endl;
::abort();
}
_weights[i] = getArg(j++);
if (_weights[i] < 0) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO generator expected "
- << " weights >= 0, but found: "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO generator expected "
+ << " weights >= 0, but found: "
<<_weights[i] <<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
if ( _weights[i] > maxw ) maxw = _weights[i];
}
if (maxw == 0) {
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO generator expected at least one "
- << " weight > 0, but found none! "
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO generator expected at least one "
+ << " weight > 0, but found none! "
<< "Will terminate execution!"<<endl;
::abort();
}
- for (i=0;i<_nbins;i++) _weights[i]/=maxw;
+ for (auto& w : _weights) w /= maxw;
// the maximum dGamma*p2 value depends on alpha_s only:
// _dGMax = 0.05;
_dGMax = 150.;
// for the Fermi Motion we need a B-Meso\n mass - but it's not critical
// to get an exact value; in order to stay in the phase space for
// B+- and B0 use the smaller mass
-
+
// check that there are 3 daughters
checkNDaug(3);
}
void EvtVubNLO::initProbMax(){
-
+
noProbMax();
-
+
}
void EvtVubNLO::decay( EvtParticle *p ){
-
- int j;
+
// B+ -> u-bar specflav l+ nu
-
+
EvtParticle *xuhad, *lepton, *neutrino;
EvtVector4R p4;
-
+
double pp,pm,pl,ml,El(0.0),Eh(0.0),sh(0.0);
-
-
-
+
+
+
p->initializePhaseSpace(getNDaug(),getDaugs());
-
+
xuhad=p->getDaug(0);
lepton=p->getDaug(1);
neutrino=p->getDaug(2);
-
+
_mB = p->mass();
ml = lepton->mass();
-
+
bool tryit = true;
-
+
while (tryit) {
// pm=(E_H+P_H)
pm= EvtRandom::Flat(0.,1);
pm= pow(pm,1./3.)*_mB;
// pl=mB-2*El
pl = EvtRandom::Flat(0.,1);
pl=sqrt(pl)*pm;
- // pp=(E_H-P_H)
+ // pp=(E_H-P_H)
pp = EvtRandom::Flat(0.,pl);
_ntot++;
-
- El = (_mB-pl)/2.;
+
+ El = (_mB-pl)/2.;
Eh = (pp+pm)/2;
sh = pp*pm;
-
+
double pdf(0.);
if (pp<pl && El>ml&& sh > _masses[0]*_masses[0]&& _mB*_mB + sh - 2*_mB*Eh > ml*ml) {
double xran = EvtRandom::Flat(0,_dGMax);
pdf = tripleDiff(pp,pl,pm); // triple differential distribution
// cout <<" P+,P-,Pl,Pdf= "<<pp <<" "<<pm<<" "<<pl<<" "<<pdf<<endl;
if(pdf>_dGMax){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO pdf above maximum: " <<pdf
<<" P+,P-,Pl,Pdf= "<<pp <<" "<<pm<<" "<<pl<<" "<<pdf<<endl;
//::abort();
-
+
}
if ( pdf >= xran ) tryit = false;
-
+
if(pdf>_gmax)_gmax=pdf;
} else {
// cout <<" EvtVubNLO incorrect kinematics sh= "<<sh<<"EH "<<Eh<<endl;
- }
-
-
+ }
+
+
// reweight the Mx distribution
- if(!tryit && _nbins>0){
+ if(!tryit && !_weights.empty()){
_ngood++;
double xran1 = EvtRandom::Flat();
- double m = sqrt(sh);j=0;
- while ( j < _nbins && m > _masses[j] ) j++;
- double w = _weights[j-1];
+ double m = sqrt(sh);
+ unsigned j=0;
+ while ( j < _masses.size() && m > _masses[j] ) j++;
+ double w = _weights[j-1];
if ( w < xran1 ) tryit = true;// through away this candidate
}
}
// cout <<" max prob "<<gmax<<" " << pp<<" "<<y<<" "<<x<<endl;
-
- // o.k. we have the three kineamtic variables
- // now calculate a flat cos Theta_H [-1,1] distribution of the
- // hadron flight direction w.r.t the B flight direction
+
+ // o.k. we have the three kineamtic variables
+ // now calculate a flat cos Theta_H [-1,1] distribution of the
+ // hadron flight direction w.r.t the B flight direction
// because the B is a scalar and should decay isotropic.
- // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
- // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
+ // Then chose a flat Phi_H [0,2Pi] w.r.t the B flight direction
+ // and and a flat Phi_L [0,2Pi] in the W restframe w.r.t the
// W flight direction.
-
+
double ctH = EvtRandom::Flat(-1,1);
double phH = EvtRandom::Flat(0,2*M_PI);
double phL = EvtRandom::Flat(0,2*M_PI);
// now compute the four vectors in the B Meson restframe
-
+
double ptmp,sttmp;
// calculate the hadron 4 vector in the B Meson restframe
-
+
sttmp = sqrt(1-ctH*ctH);
ptmp = sqrt(Eh*Eh-sh);
double pHB[4] = {Eh,ptmp*sttmp*cos(phH),ptmp*sttmp*sin(phH),ptmp*ctH};
p4.set(pHB[0],pHB[1],pHB[2],pHB[3]);
xuhad->init( getDaug(0), p4);
// calculate the W 4 vector in the B Meson restrframe
double apWB = ptmp;
double pWB[4] = {_mB-Eh,-pHB[1],-pHB[2],-pHB[3]};
// first go in the W restframe and calculate the lepton and
// the neutrino in the W frame
double mW2 = _mB*_mB + sh - 2*_mB*Eh;
// if(mW2<0.1){
// cout <<" low Q2! "<<pp<<" "<<epp<<" "<<x<<" "<<y<<endl;
//}
double beta = ptmp/pWB[0];
double gamma = pWB[0]/sqrt(mW2);
double pLW[4];
-
+
ptmp = (mW2-ml*ml)/2/sqrt(mW2);
pLW[0] = sqrt(ml*ml + ptmp*ptmp);
double ctL = (El - gamma*pLW[0])/beta/gamma/ptmp;
if ( ctL < -1 ) ctL = -1;
if ( ctL > 1 ) ctL = 1;
sttmp = sqrt(1-ctL*ctL);
// eX' = eZ x eW
double xW[3] = {-pWB[2],pWB[1],0};
// eZ' = eW
double zW[3] = {pWB[1]/apWB,pWB[2]/apWB,pWB[3]/apWB};
-
+
double lx = sqrt(xW[0]*xW[0]+xW[1]*xW[1]);
- for (j=0;j<2;j++)
- xW[j] /= lx;
+ for (int j=0;j<2;j++) xW[j] /= lx;
// eY' = eZ' x eX'
double yW[3] = {-pWB[1]*pWB[3],-pWB[2]*pWB[3],pWB[1]*pWB[1]+pWB[2]*pWB[2]};
double ly = sqrt(yW[0]*yW[0]+yW[1]*yW[1]+yW[2]*yW[2]);
- for (j=0;j<3;j++)
- yW[j] /= ly;
+ for (int j=0;j<3;j++) yW[j] /= ly;
// p_lep = |p_lep| * ( sin(Theta) * cos(Phi) * eX'
// + sin(Theta) * sin(Phi) * eY'
// + cos(Theta) * eZ')
- for (j=0;j<3;j++)
- pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ for (int j=0;j<3;j++)
+ pLW[j+1] = sttmp*cos(phL)*ptmp*xW[j]
+ sttmp*sin(phL)*ptmp*yW[j]
+ ctL *ptmp*zW[j];
double apLW = ptmp;
-
+
// boost them back in the B Meson restframe
-
+
double appLB = beta*gamma*pLW[0] + gamma*ctL*apLW;
-
+
ptmp = sqrt(El*El-ml*ml);
double ctLL = appLB/ptmp;
if ( ctLL > 1 ) ctLL = 1;
if ( ctLL < -1 ) ctLL = -1;
-
+
double pLB[4] = {El,0,0,0};
double pNB[8] = {pWB[0]-El,0,0,0};
- for (j=1;j<4;j++) {
+ for (int j=1;j<4;j++) {
pLB[j] = pLW[j] + (ctLL*ptmp - ctL*apLW)/apWB*pWB[j];
pNB[j] = pWB[j] - pLB[j];
}
p4.set(pLB[0],pLB[1],pLB[2],pLB[3]);
lepton->init( getDaug(1), p4);
p4.set(pNB[0],pNB[1],pNB[2],pNB[3]);
neutrino->init( getDaug(2), p4);
return ;
}
double
EvtVubNLO::tripleDiff ( double pp, double pl, double pm){
std::vector<double> sCoeffs(11);
sCoeffs[0] = pp;
sCoeffs[1] = pl;
sCoeffs[2] = pm;
sCoeffs[3] = _b;
sCoeffs[4] = _mb;
sCoeffs[5] = _mB;
sCoeffs[6] = _idSF;
sCoeffs[7] = lambda_SF();
sCoeffs[8] = mu_h();
sCoeffs[9] = mu_i();
sCoeffs[10] = _SFNorm; // SF normalization;
-
+
double c1=(_mB+pl-pp-pm)*(pm-pl);
double c2=2*(pl-pp)*(pm-pl);
double c3=(_mB-pm)*(pm-pp);
double aF1=F10(sCoeffs);
double aF2=F20(sCoeffs);
double aF3=F30(sCoeffs);
double td0=c1*aF1+c2*aF2+c3*aF3;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&integrand, 0., _mB, sCoeffs);
- EvtItgAbsIntegrator *jetSF = new EvtItgSimpsonIntegrator(*func,0.01,25);
+ auto func = EvtItgPtrFunction{&integrand, 0., _mB, sCoeffs};
+ auto jetSF = EvtItgSimpsonIntegrator{func,0.01,25};
double smallfrac=0.000001;// stop a bit before the end to avoid problems with numerical integration
- double tdInt = jetSF->evaluate(0,pp*(1-smallfrac));
- delete jetSF;
-
+ double tdInt = jetSF.evaluate(0,pp*(1-smallfrac));
+
double SU=U1lo(mu_h(),mu_i())*pow((pm-pp)/(_mB-pp),alo(mu_h(),mu_i()));
double TD=(_mB-pp)*SU*(td0+tdInt);
return TD;
}
double
EvtVubNLO::integrand(double omega, const std::vector<double> &coeffs){
//double pp=coeffs[0];
double c1=(coeffs[5]+coeffs[1]-coeffs[0]-coeffs[2])*(coeffs[2]-coeffs[1]);
double c2=2*(coeffs[1]-coeffs[0])*(coeffs[2]-coeffs[1]);
double c3=(coeffs[5]-coeffs[2])*(coeffs[2]-coeffs[0]);
- return c1*F1Int(omega,coeffs)+c2*F2Int(omega,coeffs)+c3*F3Int(omega,coeffs);
+ return c1*F1Int(omega,coeffs)+c2*F2Int(omega,coeffs)+c3*F3Int(omega,coeffs);
}
-double
+double
EvtVubNLO::F10(const std::vector<double> &coeffs){
double pp=coeffs[0];
double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
double mui=coeffs[9];
double muh=coeffs[8];
double z=1-y;
double result= U1nlo(muh,mui)/ U1lo(muh,mui);
result += anlo(muh,mui)*log(y);
result += C_F(muh)*(-4*pow(log(y*coeffs[4]/muh),2)+10*log(y*coeffs[4]/muh)-4*log(y)-2*log(y)/(1-y)-4.0*EvtDiLog::DiLog(z)-pow(EvtConst::pi,2)/6.-12 );
result += C_F(mui)*(2*pow(log(y*coeffs[4]*pp/pow(mui,2)),2)-3*log(y*coeffs[4]*pp/pow(mui,2))+7-pow(EvtConst::pi,2) );
result *=shapeFunction(pp,coeffs);
- // changes due to SSF
+ // changes due to SSF
result += (-subS(coeffs)+2*subT(coeffs)+(subU(coeffs)-subV(coeffs))*(1/y-1.))/(coeffs[5]-pp);
result += shapeFunction(pp,coeffs)/pow((coeffs[5]-coeffs[0]),2)*(-5*(lambda1()+3*lambda2())/6+2*(2*lambda1()/3-lambda2())/pow(y,2));
// result += (subS(coeffs)+subT(coeffs)+(subU(coeffs)-subV(coeffs))/y)/(coeffs[5]-pp);
// this part has been added after Feb '05
-
+
//result += shapeFunction(pp,coeffs)/pow((coeffs[5]-coeffs[0]),2)*((lambda1()+3*lambda2())/6+2*(2*lambda1()/3-lambda2())/pow(y,2));
return result;
}
-double
+double
EvtVubNLO::F1Int(double omega,const std::vector<double> &coeffs){
double pp=coeffs[0];
double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
// mubar == mui
return C_F(coeffs[9])*(
(shapeFunction(omega,coeffs)-shapeFunction(pp,coeffs))*(4*log(y*coeffs[4]*(pp-omega)/pow(coeffs[9],2))-3)/(pp-omega)+
(g1(y,(pp-omega)/(coeffs[5]-coeffs[0]))/(coeffs[5]-pp)*shapeFunction(omega,coeffs))
- );
+ );
}
-double
+double
EvtVubNLO::F20(const std::vector<double> &coeffs){
double pp=coeffs[0];
double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
double result= C_F(coeffs[8])*log(y)/(1-y)*shapeFunction(pp,coeffs)-
1/y*(subS(coeffs)+2*subT(coeffs)-(subT(coeffs)+subV(coeffs))/y)/(coeffs[5]-pp);
// added after Feb '05
result += shapeFunction(pp,coeffs)/pow((coeffs[5]-coeffs[0])*y,2)*(2*lambda1()/3+4*lambda2()-y*(7/6*lambda1()+3*lambda2()));
return result;
}
-double
+double
EvtVubNLO::F2Int(double omega,const std::vector<double> &coeffs){
double pp=coeffs[0];
double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
return C_F(coeffs[9])*g3(y,(pp-omega)/(coeffs[5]-coeffs[0]))*shapeFunction(omega,coeffs)/(coeffs[5]-pp);
}
-double
+double
EvtVubNLO::F30(const std::vector<double> &coeffs){
double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
return shapeFunction(coeffs[0],coeffs)/pow((coeffs[5]-coeffs[0])*y,2)*(-2*lambda1()/3+lambda2());
}
-double
+double
EvtVubNLO::F3Int(double omega,const std::vector<double> &coeffs){
double pp=coeffs[0];
double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
return C_F(coeffs[9])*g3(y,(pp-omega)/(coeffs[5]-coeffs[0]))/2*shapeFunction(omega,coeffs)/(coeffs[2]-coeffs[0]);
}
-double
+double
EvtVubNLO::g1(double y, double x){
double result=(y*(-9+10*y)+x*x*(-12+13*y)+2*x*(-8+6*y+3*y*y))/y/pow(1+x,2)/(x+y);
result -= 4*log((1+1/x)*y)/x;
result -=2*log(1+y/x)*(3*pow(x,4)*(-2+y)-2*pow(y,3)-4*pow(x,3)*(2+y)-2*x*y*y*(4+y)-x*x*y*(12+4*y+y*y))/x/pow((1+x)*y,2)/(x+y);
return result;
}
-double
+double
EvtVubNLO::g2(double y, double x){
double result=y*(10*pow(x,4)+y*y+3*x*x*y*(10+y)+pow(x,3)*(12+19*y)+x*y*(8+4*y+y*y));
result -= 2*x*log(1+y/x)*(5*pow(x,4)+2*y*y+6*pow(x,3)*(1+2*y)+4*y*x*(1+2*y)+x*x*y*(18+5*y));
result *= 2/(pow(y*(1+x),2)*y*(x+y));
return result;
}
-double
+double
EvtVubNLO::g3(double y, double x){
double result=(2*pow(y,3)*(-11+2*y)-10*pow(x,4)*(6-6*y+y*y)+x*y*y*(-94+29*y+2*y*y)+2*x*x*y*(-72+18*y+13*y*y)-pow(x,3)*(72+42*y-70*y*y+3*pow(y,3)))/(pow(y*(1+x),2)*y*(x+y));
result += 2*log(1+y/x)*(-6*x*pow(y,3)*(-5+y)+4*pow(y,4)+5*pow(x,5)*(6-6*y+y*y)-4*pow(x*y,2)*(-20+6*y+y*y)+pow(x,3)*y*(90-10*y-28*y*y+pow(y,3))+pow(x,4)*(36+36*y-50*y*y+4*pow(y,3)))/(pow((1+x)*y*y,2)*(x+y));
return result;
}
/* old version (before Feb 05 notebook from NNeubert
-double
+double
EvtVubNLO::F1Int(double omega,const std::vector<double> &coeffs){
double pp=coeffs[0];
double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
// mubar == mui
return C_F(coeffs[9])*(
(shapeFunction(omega,coeffs)-shapeFunction(pp,coeffs))*(4*log(y*coeffs[4]*(pp-omega)/pow(coeffs[9],2))-3)/(pp-omega)-
(1./y/(coeffs[5]-pp)*shapeFunction(omega,coeffs)*(5-6*y+4*(3-y)*log((pp-omega)/y/coeffs[4])))
- );
+ );
}
-double
+double
EvtVubNLO::F2Int(double omega,const std::vector<double> &coeffs){
double pp=coeffs[0];
double y=(coeffs[2]-coeffs[0])/(coeffs[5]-coeffs[0]);
return C_F(coeffs[9])*shapeFunction(omega,coeffs)*(2-11/y-4/y*log((pp-omega)/y/coeffs[4]))/(coeffs[5]-pp);
}
-double
+double
EvtVubNLO::F3(const std::vector<double> &coeffs){
return C_F(coeffs[9])*shapeFunction(omega,coeffs)/(coeffs[2]-coeffs[0]);
}
*/
double EvtVubNLO::SFNorm( const std::vector<double> &/*coeffs*/){
-
+
double omega0=1.68;//normalization scale (mB-2*1.8)
if(_idSF==1){ // exponential SF
double omega0=1.68;//normalization scale (mB-2*1.8)
return M0(mu_i(),omega0)*pow(_b,_b)/lambda_SF()/ (Gamma(_b)-Gamma(_b,_b*omega0/lambda_SF()));
} else if(_idSF==2){ // Gaussian SF
double c=cGaus(_b);
return M0(mu_i(),omega0)*2/lambda_SF()/pow(c,-(1+_b)/2.)/
(Gamma((1+_b)/2)-Gamma((1+_b)/2,pow(omega0/lambda_SF(),2)*c));
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "unknown SF "<<_idSF<<endl;
return -1;
}
}
double
EvtVubNLO::shapeFunction ( double omega, const std::vector<double> &sCoeffs){
if( sCoeffs[6]==1){
return sCoeffs[10]*expShapeFunction(omega, sCoeffs);
} else if( sCoeffs[6]==2) {
return sCoeffs[10]*gausShapeFunction(omega, sCoeffs);
} else {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtVubNLO : unknown shape function # "
<<sCoeffs[6]<<endl;
}
return -1.;
}
// SSF
-double
+double
EvtVubNLO::subS(const std::vector<double> &c){ return (lambda_bar(1.68)-c[0])*shapeFunction(c[0],c);}
-double
+double
EvtVubNLO::subT(const std::vector<double> &c){ return -3*lambda2()*subS(c)/mu_pi2(1.68);}
-double
+double
EvtVubNLO::subU(const std::vector<double> &c){ return -2*subS(c);}
-double
+double
EvtVubNLO::subV(const std::vector<double> &c){ return -subT(c);}
-double
+double
EvtVubNLO::lambda_bar(double omega0){
if(_lbar<0){
if(_idSF==1){ // exponential SF
double rat=omega0*_b/lambda_SF();
_lbar=lambda_SF()/_b*(Gamma(1+_b)-Gamma(1+_b,rat))/(Gamma(_b)-Gamma(_b,rat));
} else if(_idSF==2){ // Gaussian SF
double c=cGaus(_b);
_lbar=lambda_SF()*(Gamma(1+_b/2)-Gamma(1+_b/2,pow(omega0/lambda_SF(),2)*c))/(Gamma((1+_b)/2)-Gamma((1+_b)/2,pow(omega0/lambda_SF(),2)*c))/sqrt(c);
}
}
return _lbar;
}
-double
+double
EvtVubNLO::mu_pi2(double omega0){
if(_mupi2<0){
if(_idSF==1){ // exponential SF
double rat=omega0*_b/lambda_SF();
_mupi2= 3*(pow(lambda_SF()/_b,2)*(Gamma(2+_b)-Gamma(2+_b,rat))/(Gamma(_b)-Gamma(_b,rat))-pow(lambda_bar(omega0),2));
} else if(_idSF==2){ // Gaussian SF
double c=cGaus(_b);
double m1=Gamma((3+_b)/2)-Gamma((3+_b)/2,pow(omega0/lambda_SF(),2)*c);
double m2=Gamma(1+_b/2)-Gamma(1+_b/2,pow(omega0/lambda_SF(),2)*c);
double m3=Gamma((1+_b)/2)-Gamma((1+_b)/2,pow(omega0/lambda_SF(),2)*c);
_mupi2= 3*pow(lambda_SF(),2)*(m1/m3-pow(m2/m3,2))/c;
}
}
return _mupi2;
}
-double
+double
EvtVubNLO::M0(double mui,double omega0){
double mf=omega0-lambda_bar(omega0);
return 1+4*C_F(mui)*(-pow(log(mf/mui),2)-log(mf/mui)-pow(EvtConst::pi/2,2)/6.+mu_pi2(omega0)/3/pow(mf,2)*(log(mf/mui)-0.5));
}
-double
+double
EvtVubNLO::alphas(double mu){
double Lambda4=0.302932;
double lg=2*log(mu/Lambda4);
return 4*EvtConst::pi/lg/beta0()*(1-beta1()*log(lg)/pow(beta0(),2)/lg+pow(beta1()/lg,2)/pow(beta0(),4)*(pow(log(lg)-0.5,2)-1.25+beta2()*beta0()/pow(beta1(),2)));
}
double
EvtVubNLO::gausShapeFunction ( double omega, const std::vector<double> &sCoeffs){
double b=sCoeffs[3];
double l=sCoeffs[7];
double wL=omega/l;
return pow(wL,b)*exp(-cGaus(b)*wL*wL);
}
double
EvtVubNLO::expShapeFunction ( double omega, const std::vector<double> &sCoeffs){
double b=sCoeffs[3];
double l=sCoeffs[7];
double wL=omega/l;
return pow(wL,b-1)*exp(-b*wL);
}
-double
+double
EvtVubNLO::Gamma(double z) {
- std::vector<double> gammaCoeffs(6);
- gammaCoeffs[0]=76.18009172947146;
- gammaCoeffs[1]=-86.50532032941677;
- gammaCoeffs[2]=24.01409824083091;
- gammaCoeffs[3]=-1.231739572450155;
- gammaCoeffs[4]=0.1208650973866179e-2;
- gammaCoeffs[5]=-0.5395239384953e-5;
-
+ std::array<double,6> gammaCoeffs{76.18009172947146, -86.50532032941677,
+ 24.01409824083091, -1.231739572450155,
+ 0.1208650973866179e-2, -0.5395239384953e-5};
+
//Lifted from Numerical Recipies in C
- double x, y, tmp, ser;
-
- int j;
- y = z;
- x = z;
-
- tmp = x + 5.5;
+ double y = z;
+ double x = z;
+
+ double tmp = x + 5.5;
tmp = tmp - (x+0.5)*log(tmp);
- ser=1.000000000190015;
+ double ser=1.000000000190015;
- for (j=0;j<6;j++) {
- y = y +1.0;
- ser = ser + gammaCoeffs[j]/y;
+ for (const auto& gammaCoeff : gammaCoeffs) {
+ y += 1.0;
+ ser += gammaCoeff/y;
}
return exp(-tmp+log(2.5066282746310005*ser/x));
}
-double
+double
EvtVubNLO::Gamma(double z, double tmin) {
std::vector<double> c(1);
c[0]=z;
- EvtItgPtrFunction *func = new EvtItgPtrFunction(&dgamma, tmin, 100., c);
- EvtItgAbsIntegrator *jetSF = new EvtItgSimpsonIntegrator(*func,0.001);
- return jetSF->evaluate(tmin,100.);
+ auto func = EvtItgPtrFunction{&dgamma, tmin, 100., c};
+ auto jetSF = EvtItgSimpsonIntegrator{func,0.001};
+ return jetSF.evaluate(tmin,100.);
}
diff --git a/src/EvtGenModels/EvtVubdGamma.cpp b/src/EvtGenModels/EvtVubdGamma.cpp
index bdef4fe..43717bf 100644
--- a/src/EvtGenModels/EvtVubdGamma.cpp
+++ b/src/EvtGenModels/EvtVubdGamma.cpp
@@ -1,267 +1,259 @@
//-----------------------------------------------------------------------
// File and Version Information:
//
// Copyright Information: See EvtGen/COPYRIGHT
//
//
// Description:
// 3 2 2
// d Gamma / _ _ _2 mb _2 mb
-// ---------- = 12 Gamma | (1+x-z)(z-x-p ) -- W + (1-z+p ) -- W
+// ---------- = 12 Gamma | (1+x-z)(z-x-p ) -- W + (1-z+p ) -- W
// _ 2 0 \ 2 1 2 2
// dx dz dp 2
-// _ _ _2 mb 2 \.
+// _ _ _2 mb 2 \.
// + [x(z-x)-p ] -- (W + 2mb W + mb W ) |
// 4 3 4 5 /
//
-// with
+// with
// 2 E 2
// l _2 p 2 v.p _
// x = ------ , p = --- , z = ------ , x = 1-x
// mb 2 mb
-// mb
+// mb
//
// the triple differential decay rate according to
// hep-ph/9905351 v2
-//
+//
// Environment:
// Software developed for the BaBar Detector at the SLAC B-Factory.
//
// Author List:
// Sven Menke
//
//-----------------------------------------------------------------------
//-----------------------
// This Class's Header --
//-----------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtConst.hh"
#include "EvtGenModels/EvtVubdGamma.hh"
#include "EvtGenBase/EvtDiLog.hh"
//---------------
// C Headers --
//---------------
#include <math.h>
//----------------
// Constructors --
//----------------
EvtVubdGamma::EvtVubdGamma(const double &alphas)
{
_alphas = alphas;
- // the range for the delta distribution in p2 is from _epsilon1 to
+ // the range for the delta distribution in p2 is from _epsilon1 to
// _epsilon2. It was checked with the single differential formulae
// in the paper that these values are small enough to imitate p2 = 0
// for the regular terms.
// The ()* distributions, however need further treatment. In order to
- // generate the correct spectrum in z a threshold need to be computed
- // from the desired value of the coupling alphas. The idea is that
+ // generate the correct spectrum in z a threshold need to be computed
+ // from the desired value of the coupling alphas. The idea is that
// for z=1 p2=0 is not allowed and therefore the part of dGamma proportional
// to delta(p2) should go to 0 for z->1.
// Using equation (3.1) and (3.2) it is possible to find the correct value
// for log(_epsilon3) from this requirement.
_epsilon1 = 1e-10;
_epsilon2 = 1e-5;
if ( alphas > 0 ) {
- double lne3 = 9./16.-2*EvtConst::pi*EvtConst::pi/3.+6*EvtConst::pi/4/alphas; if ( lne3 > 0 )
+ double lne3 = 9./16.-2*EvtConst::pi*EvtConst::pi/3.+6*EvtConst::pi/4/alphas; if ( lne3 > 0 )
lne3 = -7./4. - sqrt(lne3);
else
lne3 = -7./4.;
_epsilon3 = exp(lne3);
}
else
_epsilon3 = 1;
}
-//--------------
-// Destructor --
-//--------------
-
-EvtVubdGamma::~EvtVubdGamma( )
-{
-}
-
//-----------
// Methods --
//-----------
double EvtVubdGamma::getdGdxdzdp(const double &x, const double &z, const double &p2)
{
// check phase space
-
+
double xb = (1-x);
- if ( x < 0 || x > 1 || z < xb || z > (1+xb) )
+ if ( x < 0 || x > 1 || z < xb || z > (1+xb) )
return 0;
-
+
double p2min = (0>z-1.?0:z-1.);
double p2max = (1.-x)*(z-1.+x);
- if (p2 < p2min || p2 > p2max)
+ if (p2 < p2min || p2 > p2max)
return 0;
// // check the phase space
// return 1.;
double dG;
if ( p2 >_epsilon1 && p2< _epsilon2) {
-
+
double W1 = getW1delta(x,z);
double W4plus5 = getW4plus5delta(x,z);
-
+
dG = 12. * delta(p2,p2min,p2max) * ((1.+xb-z) * (z-xb) * W1
+ xb*(z-xb) * (W4plus5));
}
else {
double W1 = getW1nodelta(x,z,p2);
double W2 = getW2nodelta(x,z,p2);
double W3 = getW3nodelta(x,z,p2);
double W4 = getW4nodelta(x,z,p2);
double W5 = getW5nodelta(x,z,p2);
- dG = 12. * ((1.+xb-z) * (z-xb-p2) * W1
+ dG = 12. * ((1.+xb-z) * (z-xb-p2) * W1
+ (1.-z+p2) * W2
+ (xb*(z-xb)-p2) * (W3+W4+W5));
}
return dG;
}
double EvtVubdGamma::delta(const double &x, const double &xmin, const double &xmax)
{
if ( xmin > 0 || xmax < 0 ) return 0.;
- if ( _epsilon1 < x && x < _epsilon2 ) return 1./(_epsilon2-_epsilon1);
- return 0.0;
+ if ( _epsilon1 < x && x < _epsilon2 ) return 1./(_epsilon2-_epsilon1);
+ return 0.0;
}
double EvtVubdGamma::getW1delta(const double &, const double &z)
{
double mz = 1.-z;
double lz;
if (z == 1) lz = -1.;
else lz = log(z)/(1.-z);
-
+
// ddilog_(&z) is actually the dilog of (1-z) in maple,
- // also in Neuberts paper the limit dilog(1) = pi^2/6 is used
+ // also in Neuberts paper the limit dilog(1) = pi^2/6 is used
// this corresponds to maple's dilog(0), so
// I take ddilog_(&mz) where mz=1-z in order to satisfy Neubert's definition
// and to compare with Maple the argument in maple should be (1-mz) ...
double dl = 4.*EvtDiLog::DiLog(mz) + 4.*pow(EvtConst::pi,2)/3.;
double w = -(8.*pow(log(z),2) - 10.*log(z) + 2.*lz + dl + 5.)
- + (8.*log(z)-7.)*log(_epsilon3) - 2.*pow(log(_epsilon3),2);
+ + (8.*log(z)-7.)*log(_epsilon3) - 2.*pow(log(_epsilon3),2);
return (1. + w*_alphas/3./EvtConst::pi);
}
double EvtVubdGamma::getW1nodelta(const double &, const double &z, const double &p2)
{
double z2 = z*z;
double t2 = 1.-4.*p2/z2;
double t = sqrt(t2);
-
+
double w = 0;
- if ( p2 > _epsilon2 )
- w += 4./p2*(log((1.+t)/(1.-t))/t + log(p2/z2))
- + 1. - (8.-z)*(2.-z)/z2/t2
+ if ( p2 > _epsilon2 )
+ w += 4./p2*(log((1.+t)/(1.-t))/t + log(p2/z2))
+ + 1. - (8.-z)*(2.-z)/z2/t2
+ ((2.-z)/2./z+(8.-z)*(2.-z)/2./z2/t2)*log((1.+t)/(1.-t))/t;
if ( p2 > _epsilon3 )
w += (8.*log(z)-7.)/p2 - 4.*log(p2)/p2;
-
+
return w*_alphas/3./EvtConst::pi;
}
double EvtVubdGamma::getW2nodelta(const double &, const double &z, const double &p2)
{
double z2 = z*z;
double t2 = 1.-4.*p2/z2;
double t = sqrt(t2);
double w11 = (32.-8.*z+z2)/4./z/t2;
double w = 0;
- if ( p2 > _epsilon2 )
+ if ( p2 > _epsilon2 )
w -= (z*t2/8. + (4.-z)/4. + w11/2.)*log((1.+t)/(1.-t))/t;
- if ( p2 > _epsilon2 )
+ if ( p2 > _epsilon2 )
w += (8.-z)/4. + w11;
-
+
return (w*_alphas/3./EvtConst::pi);
}
double EvtVubdGamma::getW3nodelta(const double &, const double &z, const double &p2)
{
double z2 = z*z;
double t2 = 1.-4.*p2/z2;
double t4 = t2*t2;
double t = sqrt(t2);
double w = 0;
- if ( p2 > _epsilon2 )
- w += (z*t2/16. + 5.*(4.-z)/16. - (64.+56.*z-7.*z2)/16./z/t2
+ if ( p2 > _epsilon2 )
+ w += (z*t2/16. + 5.*(4.-z)/16. - (64.+56.*z-7.*z2)/16./z/t2
+ 3.*(12.-z)/16./t4) * log((1.+t)/(1.-t))/t;
- if ( p2 > _epsilon2 )
+ if ( p2 > _epsilon2 )
w += -(8.-3.*z)/8. + (32.+22.*z-3.*z2)/4./z/t2 - 3.*(12.-z)/8./t4;
-
+
return (w*_alphas/3./EvtConst::pi);
}
double EvtVubdGamma::getW4nodelta(const double &, const double &z, const double &p2)
{
double z2 = z*z;
double t2 = 1.-4.*p2/z2;
double t4 = t2*t2;
double t = sqrt(t2);
double w = 0;
- if ( p2 > _epsilon2 )
- w -= ((8.-3.*z)/4./z - (22.-3.*z)/2./z/t2 + 3.*(12.-z)/4./z/t4)
+ if ( p2 > _epsilon2 )
+ w -= ((8.-3.*z)/4./z - (22.-3.*z)/2./z/t2 + 3.*(12.-z)/4./z/t4)
* log((1.+t)/(1.-t))/t;
- if ( p2 > _epsilon2 )
+ if ( p2 > _epsilon2 )
w += -1. - (32.-5.*z)/2./z/t2 + 3.*(12.-z)/2./z/t4 ;
-
+
return w*_alphas/3./EvtConst::pi;
}
double EvtVubdGamma::getW4plus5delta(const double &, const double &z)
{
double w = 0;
if ( z == 1 )
w = -2;
else
w = 2.*log(z)/(1.-z);
return (w*_alphas/3./EvtConst::pi);
}
double EvtVubdGamma::getW5nodelta(const double &, const double &z, const double &p2)
{
double z2 = z*z;
double t2 = 1.-4.*p2/z2;
double t4 = t2*t2;
double t = sqrt(t2);
double w = 0;
if ( p2 > _epsilon2 )
- w += (1./4./z - (2.-z)/2./z2/t2 + 3.*(12.-z)/4./z2/t4)
+ w += (1./4./z - (2.-z)/2./z2/t2 + 3.*(12.-z)/4./z2/t4)
* log((1.+t)/(1.-t))/t;
if ( p2 > _epsilon2 )
w += -(8.+z)/2./z2/t2 - 3.*(12.-z)/2./z2/t4;
return (w*_alphas/3./EvtConst::pi);
}
diff --git a/src/EvtGenModels/EvtXPsiGamma.cpp b/src/EvtGenModels/EvtXPsiGamma.cpp
index 2e715bb..ffd1fdd 100755
--- a/src/EvtGenModels/EvtXPsiGamma.cpp
+++ b/src/EvtGenModels/EvtXPsiGamma.cpp
@@ -1,206 +1,204 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtXPsiGamma.cc
//
-// Description: Routine to implement radiative decay X3872(2-+) -> J/psi gamma
+// Description: Routine to implement radiative decay X3872(2-+) -> J/psi gamma
// according to [F. Brazzi et al, arXiv:1103.3155
//
// Modification history:
//
// May, 7, 2012 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtTensorParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
+
#include "EvtGenModels/EvtXPsiGamma.hh"
+
#include <string>
#include <iostream>
using namespace std;
-EvtXPsiGamma::~EvtXPsiGamma() {
-/* cout<<"(* AVL EvtXPsiGamma::destructor getProbMax(-1) = "<<getProbMax(-1)<<" *)"<<endl;
- cout<<"(* AVL EvtXPsiGamma::destructor "<<ncall<<" calls *)"<<endl;*/
-}
+
std::string EvtXPsiGamma::getName(){
- return "X38722-+_PSI_GAMMA";
+ return "X38722-+_PSI_GAMMA";
}
EvtDecayBase* EvtXPsiGamma::clone(){
// cout<<" (* AVL: === EvtXPsiGamma::clone() ============ *)"<<endl;
return new EvtXPsiGamma;
}
EvtComplex EvtXPsiGamma::fT2(EvtVector4R p, EvtVector4R q , EvtTensor4C epsPI, EvtVector4C epsEps, EvtVector4C epsEta) {
// T2 term from [Bazi](10)
EvtTensor4C epsPQ = EvtGenFunctions::directProd(q,p); // e_{mu nu a b} p^a q^b;
epsPQ = dual(epsPQ);
-
+
EvtVector4C tmp1 = epsPI.cont1(epsEps);
EvtVector4C tmp2=epsPQ.cont1(tmp1);
EvtComplex T2 = tmp2*epsEta; // epa^a pi_{a mu} e_{mu nu rho si} p_nu q_rho eta_si
-
+
tmp1 = epsPI.cont1(epsEta);
tmp2=epsPQ.cont1(tmp1);
T2+=tmp2*epsEps; // T2 - eta^a pi_{a mu} e_{mu nu rho si} q_nu p_rhi eps_si
-
+
return T2;
}
EvtComplex EvtXPsiGamma::fT3(EvtVector4R p, EvtVector4R q , EvtTensor4C epsPI, EvtVector4C epsEps, EvtVector4C epsEta) {
// T3 term from [Bazi](11)
EvtVector4R Q = p-q, P = p+q;
EvtVector4C tmp1 = epsPI.cont1(Q); // Q_a pi_{a mu}
EvtTensor4C tmp3 = dual(EvtGenFunctions::directProd(P,epsEps)); // e_{mu nu rho si} P^rho eps^si
EvtVector4C tmp4 = tmp3.cont1(tmp1);
EvtComplex T3 = tmp4*epsEta; // Q_a pi_{a mu} e_{mu nu rho si} P^rho eps_si eta_nu
return T3;
}
void EvtXPsiGamma::decay( EvtParticle *root ){
ncall++;
root -> initializePhaseSpace(getNDaug(),getDaugs());
double gOmega = 1.58, gPOmega = -0.74; // X -> omega psi couplings from table II
double gRho = 1.58, gPRho = -0.74; // X -> omega psi couplings from table II
double fRho=0.121, mRho2 = 0.770*0.770, fOmega=0.036, mOmega2 = 0.782*0.782;
EvtComplex amp;
-
+
if(_ID0 == EvtPDL::getId("gamma") ) {
for(int iPsi = 0; iPsi < 4; iPsi++) {
for(int iGamma = 0; iGamma < 1; iGamma++) {
for(int iChi = 0; iChi<4; iChi++) {
EvtComplex T2 = fT2(
root->getDaug(1)->getP4(),
root->getDaug(0)->getP4(),
root->epsTensor(iChi),
root->getDaug(1)->epsParent(iPsi).conj(),
root->getDaug(0)->epsParentPhoton(iGamma).conj()
);
EvtComplex T3 = fT3(
root->getDaug(1)->getP4(),
root->getDaug(0)->getP4(),
root->epsTensor(iChi),
root->getDaug(1)->epsParent(iPsi).conj(),
root->getDaug(0)->epsParentPhoton(iGamma).conj()
);
- amp = (fOmega/mOmega2*gOmega+fRho/mRho2*gRho)*T2
+ amp = (fOmega/mOmega2*gOmega+fRho/mRho2*gRho)*T2
+ (fOmega/mOmega2*gPOmega+fRho/mRho2*gPRho)*T3;
vertex(iChi, iGamma, iPsi, amp);
- }
- }
- }
- } else if(_ID0 == EvtPDL::getId("omega") ) {
+ };};};
+ }
+ else if(_ID0 == EvtPDL::getId("omega") ) {
for(int iPsi = 0; iPsi < 4; iPsi++) {
for(int iGamma = 0; iGamma < 4; iGamma++) {
for(int iChi = 0; iChi<4; iChi++) {
EvtComplex T2 = fT2(
root->getDaug(1)->getP4(),
root->getDaug(0)->getP4(),
root->epsTensor(iChi),
root->getDaug(1)->epsParent(iPsi).conj(),
root->getDaug(0)->epsParent(iGamma).conj()
);
EvtComplex T3 = fT3(
root->getDaug(1)->getP4(),
root->getDaug(0)->getP4(),
root->epsTensor(iChi),
root->getDaug(1)->epsParent(iPsi).conj(),
root->getDaug(0)->epsParent(iGamma).conj()
);
// cout << "AVL:: omega"<<endl;
amp = gOmega*T2 + gPOmega*T3;
vertex(iChi, iGamma, iPsi, amp);
- }
- }
- }
- } else if(_ID0 == EvtPDL::getId("rho0") ) {
+ };};};
+ }
+ else if(_ID0 == EvtPDL::getId("rho0") ) {
for(int iPsi = 0; iPsi < 4; iPsi++) {
for(int iGamma = 0; iGamma < 4; iGamma++) {
for(int iChi = 0; iChi<4; iChi++) {
-
+
EvtComplex T2 = fT2(
root->getDaug(1)->getP4(),
root->getDaug(0)->getP4(),
root->epsTensor(iChi),
root->getDaug(1)->epsParent(iPsi).conj(),
root->getDaug(0)->epsParent(iGamma).conj()
);
EvtComplex T3 = fT3(
root->getDaug(1)->getP4(),
root->getDaug(0)->getP4(),
root->epsTensor(iChi),
root->getDaug(1)->epsParent(iPsi).conj(),
root->getDaug(0)->epsParent(iGamma).conj()
);
// cout << "AVL:: rho"<<endl;
amp = gRho*T2 + gPRho*T3;
vertex(iChi, iGamma, iPsi, amp);
- }
- }
- }
- } else {
- cout<<"AVL:: Not realized yet"<<endl;
+ };};};
}
-
+ else {
+ cout<<"AVL:: Not realized yet"<<endl;
+ };
+
}
void EvtXPsiGamma::init(){
// cout<<" (* AVL: ==== EvtXPsiGamma::init() ============ *)"<<endl;
ncall = 0;
-
+
checkNArg(0);
checkNDaug(2);
checkSpinParent(EvtSpinType::TENSOR);
// checkSpinDaughter(0,EvtSpinType::PHOTON);
checkSpinDaughter(1,EvtSpinType::VECTOR);
-
+
_ID0 = getDaug(0);
/* if(_ID0 == EvtPDL::getId("gamma") ) {
cout << "AVL:: gamma"<<endl;
}
else if(_ID0 == EvtPDL::getId("omega") ) {
cout << "AVL:: omega"<<endl;
}
else if(_ID0 == EvtPDL::getId("rho0") ) {
cout << "AVL:: rho"<<endl;
- }
+ };
*/
-
+
}
void EvtXPsiGamma::initProbMax() {
if(_ID0 == EvtPDL::getId("gamma") ) setProbMax(2.400);
else if(_ID0 == EvtPDL::getId("omega") ) setProbMax(16.);
else if(_ID0 == EvtPDL::getId("rho0") ) setProbMax(70.);
}
+
+
diff --git a/src/EvtGenModels/EvtY3SToY1SpipiMoxhay.cpp b/src/EvtGenModels/EvtY3SToY1SpipiMoxhay.cpp
index 5ff3bee..9e5c739 100644
--- a/src/EvtGenModels/EvtY3SToY1SpipiMoxhay.cpp
+++ b/src/EvtGenModels/EvtY3SToY1SpipiMoxhay.cpp
@@ -1,151 +1,149 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtVVpipiMoxhay.hh
//
// Description: This model is based on the proposal by Tuan and Lipkin
// (Phys.Lett.B206:349-353,1988) and the subsequent model
// by Moxhay (Phys.Rev.D39:3497,1989) for the dipion spectrum
// in Y(3S) -> pi+ pi- Y(1S). Please Note: in Moxhay's paper,
// he wrote the fitted value of the parameter Im(B)/A as
// -0.2983. However, using his quoted value leads to the wrong
// spectrum. Changing the sign of his quoted Im(B)/A fixes the
// shape and reproduces his result. Therefore, please pass
// Im(B)/A = 0.2983 and Re(B)/A = 0.2196 to get the correct shape
// based on his fit to the CLEO data.
//
// Example:
//
// Decay Upsilon(3S)
// 1.0000 Upsilon pi+ pi- Y3STOY1SPIPIMOXHAY 0.2196 0.2983;
// Enddecay
//
// --> the order of parameters is: Re(B)/A Im(B)/A
//
// Modification history:
//
// SEKULA November 02, 2007 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtY3SToY1SpipiMoxhay.hh"
#include <string>
using std::endl;
-EvtY3SToY1SpipiMoxhay::~EvtY3SToY1SpipiMoxhay() {}
-
std::string EvtY3SToY1SpipiMoxhay::getName(){
- return "Y3STOY1SPIPIMOXHAY";
+ return "Y3STOY1SPIPIMOXHAY";
}
EvtDecayBase* EvtY3SToY1SpipiMoxhay::clone(){
return new EvtY3SToY1SpipiMoxhay;
}
void EvtY3SToY1SpipiMoxhay::init(){
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PIM=EvtPDL::getId("pi-");
static EvtId PI0=EvtPDL::getId("pi0");
// check that there are 2 arguments
checkNArg(2);
checkNDaug(3);
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
if ((!(getDaug(1)==PIP&&getDaug(2)==PIM))&&
(!(getDaug(1)==PI0&&getDaug(2)==PI0))) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtY3SToY1SpipiMoxhay generator expected "
<< " pi+ and pi- (or pi0 and pi0) "
<< "as 2nd and 3rd daughter. "<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
}
void EvtY3SToY1SpipiMoxhay::initProbMax() {
setProbMax(0.2);
-}
+}
void EvtY3SToY1SpipiMoxhay::decay( EvtParticle *p){
p->initializePhaseSpace(getNDaug(),getDaugs());
EvtParticle *v,*s1,*s2;
-
+
v=p->getDaug(0);
s1=p->getDaug(1);
s2=p->getDaug(2);
// setup the parameters needed for this model
double g_spp = 0.64;
double lambda = -0.73;
double m_sigma = 0.71;
double f_pi = 0.094;
double m_pi = s1->getP4().mass();
double MV1 = p->getP4().mass();
double MV2 = v->getP4().mass();
double q = (s1->getP4()+s2->getP4()).mass();
double EV2 = (MV1*MV1 - MV2*MV2 - q*q)/(2.0 * q);
double ReB_over_A = getArg(0);
double ImB_over_A = getArg(1);
EvtComplex Xi;
Xi = EvtComplex( 2.0/EvtConst::pi * ( 1.0 - sqrt(1.0 - 4*m_pi*m_pi/(q*q)) * log( (sqrt(q*q) + sqrt(q*q-4.0*m_pi*m_pi))/(2*m_pi) )),
sqrt(1.0 - 4*m_pi*m_pi/(q*q)));
-
+
// The form factor
EvtComplex F;
-
+
F = (g_spp*g_spp + lambda*(m_sigma*m_sigma - q*q)) / ( ( (m_sigma*m_sigma - q*q)*(1.0 - lambda*Xi) - (g_spp*g_spp*Xi) ) * 1.0/(8.0 * EvtConst::pi * f_pi*f_pi) * q * q );
EvtComplex B_over_A;
B_over_A = EvtComplex(ReB_over_A, ImB_over_A);
// The dGamma/d(M_pipi) spectrum
EvtComplex dGdMpp;
-
- dGdMpp = abs2((q*q*F - B_over_A)) * q * sqrt(q*q - 4 * m_pi *m_pi) * sqrt(EV2 * EV2 - MV2*MV2);
-
+
+ dGdMpp = abs2((q*q*F - B_over_A)) * q * sqrt(q*q - 4 * m_pi *m_pi) * sqrt(EV2 * EV2 - MV2*MV2);
+
setProb( real(dGdMpp) );
return ;
}
diff --git a/src/EvtGenModels/EvtYmSToYnSpipiCLEO.cpp b/src/EvtGenModels/EvtYmSToYnSpipiCLEO.cpp
index 1ba2b0e..8f8e31f 100644
--- a/src/EvtGenModels/EvtYmSToYnSpipiCLEO.cpp
+++ b/src/EvtGenModels/EvtYmSToYnSpipiCLEO.cpp
@@ -1,283 +1,281 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtGen/EvtYmSToYnSpipiCLEO.hh
//
// Description: This model is based on matrix element method used by
// CLEO in Phys.Rev.D76:072001,2007 to model the dipion mass
// and helicity angle distribution in the decays Y(mS) -> pi pi Y(nS),
// where m,n are integers and m>n and m<4.
// This model has two parameters, Re(B/A) and Im(B/A), which
// are coefficients of the matrix element's terms determined by
// the CLEO fits.
//
// Example:
//
// Decay Upsilon(3S)
// 1.0000 Upsilon pi+ pi- YMSTOYNSPIPICLEO -2.523 1.189;
// Enddecay
// Decay Upsilon(3S)
// 1.0000 Upsilon(2S) pi+ pi- YMSTOYNSPIPICLEO -0.395 0.001;
// Enddecay
// Decay Upsilon(2S)
// 1.0000 Upsilon pi+ pi- YMSTOYNSPIPICLEO -0.753 0.000;
// Enddecay
//
// --> the order of parameters is: Re(B/A) Im(B/A)
//
// Modification history:
//
// SEKULA Jan. 28, 2008 Module created
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenModels/EvtYmSToYnSpipiCLEO.hh"
#include <string>
using std::endl;
-EvtYmSToYnSpipiCLEO::~EvtYmSToYnSpipiCLEO() {}
-
std::string EvtYmSToYnSpipiCLEO::getName(){
- return "YMSTOYNSPIPICLEO";
+ return "YMSTOYNSPIPICLEO";
}
EvtDecayBase* EvtYmSToYnSpipiCLEO::clone(){
return new EvtYmSToYnSpipiCLEO;
}
void EvtYmSToYnSpipiCLEO::init(){
static EvtId PIP=EvtPDL::getId("pi+");
static EvtId PIM=EvtPDL::getId("pi-");
static EvtId PI0=EvtPDL::getId("pi0");
// check that there are 2 arguments
checkNArg(2);
checkNDaug(3);
checkSpinParent(EvtSpinType::VECTOR);
checkSpinDaughter(0,EvtSpinType::VECTOR);
if ((!(getDaug(1)==PIP&&getDaug(2)==PIM))&&
(!(getDaug(1)==PI0&&getDaug(2)==PI0))) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtYmSToYnSpipiCLEO generator expected "
<< " pi+ and pi- (or pi0 and pi0) "
<< "as 2nd and 3rd daughter. "<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
}
void EvtYmSToYnSpipiCLEO::initProbMax() {
setProbMax(2.0);
-}
+}
void EvtYmSToYnSpipiCLEO::decay( EvtParticle *p){
// We want to simulate the following process:
//
// Y(mS) -> Y(nS) X, X -> pi+ pi- (pi0 pi0)
//
// The CLEO analysis assumed such an intermediate process
// were occurring, and wrote down the matrix element
- // and its components according to this assumption.
+ // and its components according to this assumption.
//
//
double ReB_over_A = getArg(0);
double ImB_over_A = getArg(1);
p->makeDaughters(getNDaug(),getDaugs());
EvtParticle *v,*s1,*s2;
v=p->getDaug(0);
s1=p->getDaug(1);
s2=p->getDaug(2);
double m_pi = s1->getP4().mass();
double M_mS = p->getP4().mass();
double M_nS = v->getP4().mass();
// // EvtGenReport(EVTGEN_INFO,"EvtYmSToYnSpipiCLEO") << "M_nS = " << v->getP4().mass() << endl;
EvtVector4R P_nS;
EvtVector4R P_pi1;
EvtVector4R P_pi2;
// Perform a simple accept/reject until we get a configuration of the
// dipion system that passes
bool acceptX = false;
- while( false == acceptX )
+ while( false == acceptX )
{
// Begin by generating a random X mass between the kinematic
// boundaries, 2*m_pi and M(mS) - M(nS)
double mX = EvtRandom::Flat(2.0 * m_pi, M_mS-M_nS);
// EvtGenReport(EVTGEN_INFO,"EvtYmSToYnSpipiCLEO") << "m_X = " << mX << endl;
// Now create a two-body decay from the Y(mS) in its rest frame
// of Y(mS) -> Y(nS) + X
double masses[2];
masses[0] = M_nS;
masses[1] = mX;
EvtVector4R p4[2];
EvtGenKine::PhaseSpace( 2, masses, p4, M_mS );
P_nS = p4[0];
EvtVector4R P_X = p4[1];
// Now create the four-vectors for the two pions in the X
// rest frame, X -> pi pi
-
+
masses[0] = s1->mass();
masses[1] = s2->mass();
EvtGenKine::PhaseSpace( 2, masses, p4, P_X.mass() );
// compute cos(theta), the polar helicity angle between a pi+ and
// the direction opposite the Y(mS) in the X rest frame. If the pions are pi0s, then
// choose the one where cos(theta) = [0:1].
EvtVector4R P_YmS_X = boostTo(p->getP4(), P_X);
double costheta = - p4[0].dot(P_YmS_X)/(p4[0].d3mag()*P_YmS_X.d3mag());
if (EvtPDL::name(s1->getId()) == "pi0") {
if (costheta < 0) {
costheta = - p4[1].dot(P_YmS_X)/(p4[1].d3mag()*P_YmS_X.d3mag());
}
}
if (EvtPDL::name(s1->getId()) == "pi-") {
costheta = - p4[1].dot(P_YmS_X)/(p4[1].d3mag()*P_YmS_X.d3mag());
}
-
+
// // EvtGenReport(EVTGEN_INFO,"EvtYmSToYnSpipiCLEO") << "cos(theta) = " << costheta << endl;
-
-
+
+
// Now boost the pion four vectors into the Y(mS) rest frame
P_pi1 = boostTo(p4[0],P_YmS_X);
P_pi2 = boostTo(p4[1],P_YmS_X);
// Use a simple accept-reject to test this dipion system
// Now compute the components of the matrix-element squared
//
// M(x,y)^2 = Q(x,y)^2 + |B/A|^2 * E1E2(x,y)^2 + 2*Re(B/A)*Q(x,y)*E1E2(x,y)
//
- // x=m_pipi^2 and y = cos(theta), and where
+ // x=m_pipi^2 and y = cos(theta), and where
//
// Q(x,y) = (x^2 + 2*m_pi^2)
- //
+ //
// E1E2(x,y) = (1/4) * ( (E1 + E2)^2 - (E2 - E1)^2_max * cos(theta)^2 )
//
// and E1 + E2 = M_mS - M_nS and (E2 - E1)_max is the maximal difference
// in the energy of the two pions allowed for a given mX value.
//
double Q = (mX*mX - 2.0 * m_pi * m_pi);
- double deltaEmax =
- - 2.0 *
+ double deltaEmax =
+ - 2.0 *
sqrt( P_nS.get(0)*P_nS.get(0) - M_nS*M_nS ) *
sqrt( 0.25 - pow(m_pi/mX,2.0));
double sumE = (M_mS*M_mS - M_nS*M_nS + mX*mX)/(2.0 * M_mS);
double E1E2 = 0.25 * ( pow(sumE, 2.0) - pow( deltaEmax * costheta, 2.0) );
double M2 = Q*Q + (pow(ReB_over_A,2.0) + pow(ImB_over_A,2.0)) * E1E2*E1E2 + 2.0 * ReB_over_A * Q * E1E2;
// phase space factor
//
// this is given as d(PS) = C * p(*)_X * p(X)_{pi+} * d(cosTheta) * d(m_X)
- //
+ //
// where C is a normalization constant, p(*)_X is the X momentum magnitude in the
// Y(mS) rest frame, and p(X)_{pi+} is the pi+/pi0 momentum in the X rest frame
//
-
- double dPS =
+
+ double dPS =
sqrt( (M_mS*M_mS - pow(M_nS + mX,2.0)) * (M_mS*M_mS - pow(M_nS - mX,2.0)) ) * // p(*)_X
sqrt(mX*mX - 4*m_pi*m_pi); // p(X)_{pi}
// the double-differential decay rate dG/(dcostheta dmX)
double dG = M2 * dPS;
// Throw a uniform random number from 0 --> probMax and do accept/reject on this
-
+
double rnd = EvtRandom::Flat(0.0,getProbMax(0.0));
if (rnd < dG)
acceptX = true;
}
// initialize the daughters
v->init( getDaugs()[0], P_nS);
s1->init( getDaugs()[1], P_pi1);
- s2->init( getDaugs()[2], P_pi2);
+ s2->init( getDaugs()[2], P_pi2);
// EvtGenReport(EVTGEN_INFO,"EvtYmSToYnSpipiCLEO") << "M_nS = " << v->getP4().mass() << endl;
// EvtGenReport(EVTGEN_INFO,"EvtYmSToYnSpipiCLEO") << "m_pi = " << s1->getP4().mass() << endl;
// EvtGenReport(EVTGEN_INFO,"EvtYmSToYnSpipiCLEO") << "m_pi = " << s2->getP4().mass() << endl;
// EvtGenReport(EVTGEN_INFO,"EvtYmSToYnSpipiCLEO") << "M2 = " << M2 << endl;
-
+
// Pass the polarization of the parent Upsilon
- EvtVector4C ep0,ep1,ep2;
-
+ EvtVector4C ep0,ep1,ep2;
+
ep0=p->eps(0);
ep1=p->eps(1);
ep2=p->eps(2);
vertex(0,0,(ep0*v->epsParent(0).conj()));
vertex(0,1,(ep0*v->epsParent(1).conj()));
vertex(0,2,(ep0*v->epsParent(2).conj()));
-
+
vertex(1,0,(ep1*v->epsParent(0).conj()));
vertex(1,1,(ep1*v->epsParent(1).conj()));
vertex(1,2,(ep1*v->epsParent(2).conj()));
-
+
vertex(2,0,(ep2*v->epsParent(0).conj()));
vertex(2,1,(ep2*v->epsParent(1).conj()));
vertex(2,2,(ep2*v->epsParent(2).conj()));
return ;
}
diff --git a/src/EvtGenModels/EvtbTosllAli.cpp b/src/EvtGenModels/EvtbTosllAli.cpp
index cadad50..0a4c3d4 100644
--- a/src/EvtGenModels/EvtbTosllAli.cpp
+++ b/src/EvtGenModels/EvtbTosllAli.cpp
@@ -1,116 +1,114 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech, UCSB
//
// Module: EvtbTosllAli.cc
//
-// Description: Routine to implement b->sll decays according to Ali '02 et al.
+// Description: Routine to implement b->sll decays according to Ali '02 et al.
//
// Modification history:
//
// Ryd March 30, 2003 Module created
//
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtbTosllAli.hh"
#include "EvtGenModels/EvtbTosllAliFF.hh"
#include "EvtGenModels/EvtbTosllAmp.hh"
#include "EvtGenModels/EvtbTosllScalarAmp.hh"
#include "EvtGenModels/EvtbTosllVectorAmp.hh"
#include <string>
using std::endl;
-EvtbTosllAli::~EvtbTosllAli() {}
-
std::string EvtbTosllAli::getName(){
- return "BTOSLLALI";
+ return "BTOSLLALI";
}
EvtDecayBase* EvtbTosllAli::clone(){
return new EvtbTosllAli;
}
void EvtbTosllAli::decay( EvtParticle *p ){
setWeight(p->initializePhaseSpace(getNDaug(),getDaugs(),false,
_poleSize,1,2));
- _calcamp->CalcAmp(p,_amp2,_aliffmodel);
-
+ _calcamp->CalcAmp(p,_amp2,_aliffmodel.get());
+
}
void EvtbTosllAli::initProbMax(){
EvtId parnum,mesnum,l1num,l2num;
-
+
parnum = getParentId();
mesnum = getDaug(0);
l1num = getDaug(1);
l2num = getDaug(2);
-
+
//This routine sets the _poleSize.
double mymaxprob = _calcamp->CalcMaxProb(parnum,mesnum,
l1num,l2num,
- _aliffmodel,_poleSize);
+ _aliffmodel.get(),_poleSize);
setProbMax(mymaxprob);
}
void EvtbTosllAli::init(){
checkNArg(0);
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton+ lepton-
checkSpinParent(EvtSpinType::SCALAR);
EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
if ( !(mesontype == EvtSpinType::VECTOR||
mesontype == EvtSpinType::SCALAR)) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtbTosllAli generator expected "
<< " a SCALAR or VECTOR 1st daughter, found:"<<
EvtPDL::name(getDaug(0)).c_str()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::DIRAC);
- _aliffmodel = new EvtbTosllAliFF();
+ _aliffmodel = std::make_unique<EvtbTosllAliFF>();
if (mesontype == EvtSpinType::SCALAR){
- _calcamp = new EvtbTosllScalarAmp(-0.313,4.344,-4.669);
+ _calcamp = std::make_unique<EvtbTosllScalarAmp>();
}
if (mesontype == EvtSpinType::VECTOR){
- _calcamp = new EvtbTosllVectorAmp(-0.313,4.344,-4.669);
+ _calcamp = std::make_unique<EvtbTosllVectorAmp>();
}
}
diff --git a/src/EvtGenModels/EvtbTosllBall.cpp b/src/EvtGenModels/EvtbTosllBall.cpp
index df6ac90..29c7ddf 100644
--- a/src/EvtGenModels/EvtbTosllBall.cpp
+++ b/src/EvtGenModels/EvtbTosllBall.cpp
@@ -1,144 +1,140 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtbTosllBall.cc
//
-// Description: Routine to implement b->sll decays according to Ball et al.
+// Description: Routine to implement b->sll decays according to Ball et al.
//
// Modification history:
//
// Ryd January 5, 2000 Module created
//
// jjhollar October 7, 2005 Option to select form factors at runtime
//------------------------------------------------------------------------
-//
+//
#include "EvtGenBase/EvtPatches.hh"
#include <stdlib.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtbTosllBall.hh"
#include "EvtGenModels/EvtbTosllBallFF.hh"
#include "EvtGenModels/EvtbTosllAmp.hh"
#include "EvtGenModels/EvtbTosllScalarAmp.hh"
#include "EvtGenModels/EvtbTosllVectorAmp.hh"
#include <string>
using std::endl;
-EvtbTosllBall::~EvtbTosllBall() {
- delete _calcamp;
- delete _ballffmodel;
-}
std::string EvtbTosllBall::getName(){
- return "BTOSLLBALL";
+ return "BTOSLLBALL";
}
EvtDecayBase* EvtbTosllBall::clone(){
return new EvtbTosllBall;
}
void EvtbTosllBall::decay( EvtParticle *p ){
setWeight(p->initializePhaseSpace(getNDaug(),getDaugs(),false,
_poleSize,1,2));
- _calcamp->CalcAmp(p,_amp2,_ballffmodel);
-
+ _calcamp->CalcAmp(p,_amp2,_ballffmodel.get());
+
}
void EvtbTosllBall::initProbMax(){
EvtId parnum,mesnum,l1num,l2num;
-
+
parnum = getParentId();
mesnum = getDaug(0);
l1num = getDaug(1);
l2num = getDaug(2);
-
+
//This routine sets the _poleSize.
double mymaxprob = _calcamp->CalcMaxProb(parnum,mesnum,
l1num,l2num,
- _ballffmodel,_poleSize);
+ _ballffmodel.get(),_poleSize);
setProbMax(mymaxprob);
}
void EvtbTosllBall::init(){
// First choose form factors from the .DEC file
// 1 = Ali-Ball '01 LCSR
// 2 = Ali-Ball '99 LCSR
// 3 = Colangelo 3pt QCD
// 4 = Melikhov Lattice/Quark dispersion
// 5 = ???
// 6 = Ball-Zwicky '05 LCSR (mb = 480)
// 7 = Ball-Zwicky '05 LCSR (mb = 460 - pseudoscalar modes only)
// The default is Ali '01
int theFormFactorModel = 1;
if(getNArg() == 1)
theFormFactorModel = (int)getArg(0);
checkNDaug(3);
- //We expect the parent to be a scalar
+ //We expect the parent to be a scalar
//and the daughters to be X lepton+ lepton-
checkSpinParent(EvtSpinType::SCALAR);
EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
if ( !(mesontype == EvtSpinType::VECTOR||
mesontype == EvtSpinType::SCALAR)) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "EvtbTosllBall generator expected "
<< " a SCALAR or VECTOR 1st daughter, found:"<<
EvtPDL::name(getDaug(0)).c_str()<<endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<endl;
::abort();
}
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::DIRAC);
- _ballffmodel = new EvtbTosllBallFF(theFormFactorModel);
+ _ballffmodel = std::make_unique<EvtbTosllBallFF>(theFormFactorModel);
if (mesontype == EvtSpinType::SCALAR){
- _calcamp = new EvtbTosllScalarAmp(-0.313,4.344,-4.669);
+ _calcamp = std::make_unique<EvtbTosllScalarAmp>();
} else if (mesontype == EvtSpinType::VECTOR){
- _calcamp = new EvtbTosllVectorAmp(-0.313,4.344,-4.669);
+ _calcamp = std::make_unique<EvtbTosllVectorAmp>();
}
}
diff --git a/src/EvtGenModels/EvtbTosllMSFF.cpp b/src/EvtGenModels/EvtbTosllMSFF.cpp
index 8bd67f7..97b3eab 100644
--- a/src/EvtGenModels/EvtbTosllMSFF.cpp
+++ b/src/EvtGenModels/EvtbTosllMSFF.cpp
@@ -1,626 +1,621 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtbTosllMSFF.cpp
// Description: Form factors for B -> (P, V) ell^+ ell^- transitions according
// to the paper: D.Melikhov, B.Stech, PRD62, 014006 (2000).
//
// Modification history:
//
// N.Nikitin (nnikit@mail.cern.ch) March 13, 2008 Module created
// N.Nikitin (nnikit@mail.cern.ch) March 27, 2008 add \bar B -> \bar (K,K^*) transition ff
// N.Nikitin (nnikit@mail.cern.ch) April 26, 2008 add \bar Bs -> phi transition ff
// N.Nikitin (nnikit@mail.cern.ch) April 26, 2008 add \bar Bs -> K* transition ff
// N.Nikitin (nnikit@mail.cern.ch) April 27, 2008 add \bar B -> \bar rho transition ff
// N.Nikitin (nnikit@mail.cern.ch) Nvmbr 04, 2011 add \bar B -> omega transition ff
// N.Nikitin (nnikit@mail.cern.ch) Dec 16, 2011 add \bar B -> \bar K_1(1270) transition ff (from H.Hatanaka and Kwei-Chou Yang, PRD78, 074007 (2008))
// N.Nikitin (nnikit@mail.cern.ch) Dec 16, 2011 add \bar B -> \bar K_1(1400) transition ff (from H.Hatanaka and Kwei-Chou Yang, PRD78, 074007 (2008))
// N.Nikitin (nnikit@mail.cern.ch) May 11, 2012 add \bar Bs -> f_0(980) transition ff with NLO corrections from Table II (see P.Colangelo et al., PRD81, 074001 (2010))
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenModels/EvtbTosllMSFF.hh"
#include <cmath>
#include <cstdlib>
EvtbTosllMSFF::EvtbTosllMSFF(){}
double EvtbTosllMSFF::equation9_10(double ff0, double M2, double q2,
- double sigma1, double sigma2, int eq_num)
- {
- double ff;
-
- ff=1.0;
+ double sigma1, double sigma2, int eq_num) {
+ double ff=1.0;
- switch(eq_num)
- {
- case 9:
- ff=1./(1.-q2/M2);
- [[fallthrough]];
- case 10:
- ff=ff*ff0/(1.-sigma1*q2/M2+sigma2*pow(q2,2)/pow(M2,2));
- break;
- default:
- EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
- "In the function EvtbTosllMSFF::equation9_10 \n" <<
- "the parameter eq_num non equal to the 9 or 10! \n" <<
- "eq_num =" << eq_num <<std::endl;
- ::abort();
- }
-
- return ff;
- }
-
+ switch(eq_num) {
+ case 9:
+ ff=1./(1.-q2/M2);
+ [[fallthrough]];
+ case 10:
+ ff=ff*ff0/(1.-sigma1*q2/M2+sigma2*pow(q2,2)/pow(M2,2));
+ break;
+ default:
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
+ "In the function EvtbTosllMSFF::equation9_10 \n" <<
+ "the parameter eq_num non equal to the 9 or 10! \n" <<
+ "eq_num =" << eq_num <<std::endl;
+ ::abort();
+ }
+
+ return ff;
+}
void EvtbTosllMSFF::getScalarFF(EvtId parent, EvtId daught,
double t, double& fp,double& f0, double& ft){
int models_counter=0; // counter of the accepted models
// B -> K transition form factors
if((parent == EvtPDL::getId(std::string("B+"))&&
daught == EvtPDL::getId(std::string("K+")))||
(parent == EvtPDL::getId(std::string("B-"))&&
daught == EvtPDL::getId(std::string("K-")))||
(parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("K0")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("anti-K0")))||
(parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("K_S0")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("K_S0")))||
(parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("K_L0")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("K_L0")))){
double ff0[] ={0.36, 0.36, 0.35};
double sigma1[]={0.43, 0.70, 0.43};
double sigma2[]={0.00, 0.27, 0.00};
int eq_num[]={ 9, 10, 9};
double M_P2=5.37*5.37; // GeV^2 for B^0_s - meson
double M_V2=5.42*5.42; // GeV^2 for B^*_s - meson
fp = equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
f0 = equation9_10(ff0[1], M_V2, t, sigma1[1], sigma2[1], eq_num[1]);
ft = equation9_10(ff0[2], M_P2, t, sigma1[2], sigma2[2], eq_num[2]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n B -> K transition form factors"
// << std::endl;
}
// B -> \pi transition form factors
if((parent == EvtPDL::getId(std::string("B+"))&&
daught == EvtPDL::getId(std::string("pi+")))||
(parent == EvtPDL::getId(std::string("B-"))&&
daught == EvtPDL::getId(std::string("pi-")))||
(parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("pi0")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("pi0")))){
double ff0[] ={0.29, 0.29, 0.28};
double sigma1[]={0.48, 0.76, 0.48};
double sigma2[]={0.00, 0.28, 0.00};
int eq_num[]={ 9, 10, 9};
double M_P2=5.27*5.27; // GeV^2 for B^0 - meson
double M_V2=5.32*5.32; // GeV^2 for B^* - meson
fp = equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
f0 = equation9_10(ff0[1], M_V2, t, sigma1[1], sigma2[1], eq_num[1]);
ft = equation9_10(ff0[2], M_P2, t, sigma1[2], sigma2[2], eq_num[2]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n B -> pi transition form factors"
// << std::endl;
}
// B_d -> \eta transition form factors
if((parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("eta")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("eta")))){
double ff0[] ={0.36, 0.36, 0.36};
double sigma1[]={0.60, 0.80, 0.58};
double sigma2[]={0.20, 0.40, 0.18};
int eq_num[]={ 9, 10, 9};
double M_P2=5.27*5.27; // GeV^2 for B_d^0 - meson
double M_V2=5.32*5.32; // GeV^2 for B_d^* - meson
fp = equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
fp = -0.5*fp;
f0 = equation9_10(ff0[1], M_V2, t, sigma1[1], sigma2[1], eq_num[1]);
f0 = -0.5*f0;
ft = equation9_10(ff0[2], M_P2, t, sigma1[2], sigma2[2], eq_num[2]);
ft = -0.5*ft;
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n Bd -> eta transition form factors"
// << std::endl;
}
// B_d -> \eta' transition form factors
if((parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("eta'")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("eta'")))){
double ff0[] ={0.36, 0.36, 0.39};
double sigma1[]={0.60, 0.80, 0.58};
double sigma2[]={0.20, 0.45, 0.18};
int eq_num[]={ 9, 10, 9};
double M_P2=5.27*5.27; // GeV^2 for B_d^0 - meson
double M_V2=5.32*5.32; // GeV^2 for B_d^* - meson
fp = equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
f0 = equation9_10(ff0[1], M_V2, t, sigma1[1], sigma2[1], eq_num[1]);
ft = equation9_10(ff0[2], M_P2, t, sigma1[2], sigma2[2], eq_num[2]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n Bd -> eta transition form factors"
// << std::endl;
}
// B_s -> \eta transition form factors
if((parent == EvtPDL::getId(std::string("B_s0"))&&
daught == EvtPDL::getId(std::string("eta")))||
(parent == EvtPDL::getId(std::string("anti-B_s0"))&&
daught == EvtPDL::getId(std::string("eta")))){
double ff0[] ={0.36, 0.36, 0.36};
double sigma1[]={0.60, 0.80, 0.58};
double sigma2[]={0.20, 0.40, 0.18};
int eq_num[]={ 9, 10, 9};
double M_P2=5.37*5.37; // GeV^2 for B_s^0 - meson
double M_V2=5.42*5.42; // GeV^2 for B_s^* - meson
fp = equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
f0 = equation9_10(ff0[1], M_V2, t, sigma1[1], sigma2[1], eq_num[1]);
ft = equation9_10(ff0[2], M_P2, t, sigma1[2], sigma2[2], eq_num[2]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n Bs -> eta transition form factors"
// << std::endl;
}
// B_s -> \eta' transition form factors
if((parent == EvtPDL::getId(std::string("B_s0"))&&
daught == EvtPDL::getId(std::string("eta'")))||
(parent == EvtPDL::getId(std::string("anti-B_s0"))&&
daught == EvtPDL::getId(std::string("eta'")))){
double ff0[] ={0.36, 0.36, 0.39};
double sigma1[]={0.60, 0.80, 0.58};
double sigma2[]={0.20, 0.45, 0.18};
int eq_num[]={ 9, 10, 9};
double M_P2=5.37*5.37; // GeV^2 for B_s^0 - meson
double M_V2=5.42*5.42; // GeV^2 for B_s^* - meson
fp = equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
f0 = equation9_10(ff0[1], M_V2, t, sigma1[1], sigma2[1], eq_num[1]);
ft = equation9_10(ff0[2], M_P2, t, sigma1[2], sigma2[2], eq_num[2]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n Bs -> eta transition form factors"
// << std::endl;
}
// B_s -> f_0(980) transition form factors
if((parent == EvtPDL::getId(std::string("B_s0"))&&
daught == EvtPDL::getId(std::string("f_0")))||
(parent == EvtPDL::getId(std::string("anti-B_s0"))&&
daught == EvtPDL::getId(std::string("f_0")))){
double ff0[] ={0.238, 0.238, 0.308};
double sigma1[]={ 1.50, 0.53, 1.46};
double sigma2[]={ 0.58, -0.36, 0.58};
int eq_num[]={ 10, 10, 10};
double M_P2=5.366*5.366; // GeV^2 for B_s^0 - meson
fp = 0.0 - equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
f0 = 0.0 - equation9_10(ff0[1], M_P2, t, sigma1[1], sigma2[1], eq_num[1]);
ft = equation9_10(ff0[2], M_P2, t, sigma1[2], sigma2[2], eq_num[2]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n Bs -> eta transition form factors"
// << std::endl;
}
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n models_counter = " << models_counter
// << "\n Scalar form-factors at q^2 = " << t
// << " for B -> P transition:"
// << "\n fp = " << fp
// << "\n f0 = " << f0
// << "\n ft = " << ft << std::endl;
if(models_counter!=1){
EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
"\n In the function EvtbTosllMSFF::getScalarFF(...) \n" <<
"the parameter models_counter not equal 1! \n" <<
"models_counter = " << models_counter <<std::endl;
::abort();
}
}
void EvtbTosllMSFF::getVectorFF(EvtId parent, EvtId daught, double t,
double& a1,double& a2,double& a0, double& v,
double& t1, double& t2, double& t3 ){
int models_counter=0; // counter of the accepted models
double thetaK = -34.0 * 3.14159 / 180; // K_1(1270) - K_1(1400) mixing angle
// \bar B -> \bar K* transition form factors
if((parent == EvtPDL::getId(std::string("B+"))&&
daught == EvtPDL::getId(std::string("K*+")))||
(parent == EvtPDL::getId(std::string("B-"))&&
daught == EvtPDL::getId(std::string("K*-")))||
(parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("K*0")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("anti-K*0")))){
double ff0[] ={0.44, 0.45, 0.36, 0.32, 0.39, 0.39, 0.27};
double sigma1[]={0.45, 0.46, 0.64, 1.23, 0.45, 0.72, 1.31};
double sigma2[]={0.00, 0.00, 0.36, 0.38, 0.00, 0.62, 0.41};
int eq_num[]={ 9, 9, 10, 10, 9, 10, 10};
double M_P2=5.37*5.37; // GeV^2 for B^0_s - meson
double M_V2=5.42*5.42; // GeV^2 for B^*_s - meson
v =equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
a0=equation9_10(ff0[1], M_P2, t, sigma1[1], sigma2[1], eq_num[1]);
a1=equation9_10(ff0[2], M_V2, t, sigma1[2], sigma2[2], eq_num[2]);
a2=equation9_10(ff0[3], M_V2, t, sigma1[3], sigma2[3], eq_num[3]);
t1=equation9_10(ff0[4], M_P2, t, sigma1[4], sigma2[4], eq_num[4]);
t2=equation9_10(ff0[5], M_V2, t, sigma1[5], sigma2[5], eq_num[5]);
t3=equation9_10(ff0[6], M_V2, t, sigma1[6], sigma2[6], eq_num[6]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n barB -> barK* transition form factors"
// << std::endl;
}
// \bar B -> \bar\rho transition form factors
if((parent == EvtPDL::getId(std::string("B+"))&&
daught == EvtPDL::getId(std::string("rho+")))||
(parent == EvtPDL::getId(std::string("B-"))&&
daught == EvtPDL::getId(std::string("rho-")))||
(parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("rho0")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("rho0")))){
double ff0[] ={0.31, 0.30, 0.26, 0.24, 0.27, 0.27, 0.19};
double sigma1[]={0.59, 0.54, 0.73, 1.40, 0.60, 0.74, 1.42};
double sigma2[]={0.00, 0.00, 0.10, 0.50, 0.00, 0.19, 0.51};
int eq_num[]={ 9, 9, 10, 10, 9, 10, 10};
double M_P2=5.27*5.27; // GeV^2 for B - meson
double M_V2=5.32*5.32; // GeV^2 for B^* - meson
v =equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
a0=equation9_10(ff0[1], M_P2, t, sigma1[1], sigma2[1], eq_num[1]);
a1=equation9_10(ff0[2], M_V2, t, sigma1[2], sigma2[2], eq_num[2]);
a2=equation9_10(ff0[3], M_V2, t, sigma1[3], sigma2[3], eq_num[3]);
t1=equation9_10(ff0[4], M_P2, t, sigma1[4], sigma2[4], eq_num[4]);
t2=equation9_10(ff0[5], M_V2, t, sigma1[5], sigma2[5], eq_num[5]);
t3=equation9_10(ff0[6], M_V2, t, sigma1[6], sigma2[6], eq_num[6]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n barB -> bar rho transition form factors"
// << std::endl;
}
// \bar B -> \omega transition form factors (exactly as for \bar B -> \rho^0 ff!)
if((parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("omega")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("omega")))){
double ff0[] ={0.31, 0.30, 0.26, 0.24, 0.27, 0.27, 0.19};
double sigma1[]={0.59, 0.54, 0.73, 1.40, 0.60, 0.74, 1.42};
double sigma2[]={0.00, 0.00, 0.10, 0.50, 0.00, 0.19, 0.51};
int eq_num[]={ 9, 9, 10, 10, 9, 10, 10};
double M_P2=5.27*5.27; // GeV^2 for B - meson
double M_V2=5.32*5.32; // GeV^2 for B^* - meson
v =equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
a0=equation9_10(ff0[1], M_P2, t, sigma1[1], sigma2[1], eq_num[1]);
a1=equation9_10(ff0[2], M_V2, t, sigma1[2], sigma2[2], eq_num[2]);
a2=equation9_10(ff0[3], M_V2, t, sigma1[3], sigma2[3], eq_num[3]);
t1=equation9_10(ff0[4], M_P2, t, sigma1[4], sigma2[4], eq_num[4]);
t2=equation9_10(ff0[5], M_V2, t, sigma1[5], sigma2[5], eq_num[5]);
t3=equation9_10(ff0[6], M_V2, t, sigma1[6], sigma2[6], eq_num[6]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n barB -> omega transition form factors"
// << std::endl;
}
// \bar Bs -> phi transition form factors
if((parent == EvtPDL::getId(std::string("B_s0"))&&
daught == EvtPDL::getId(std::string("phi")))||
(parent == EvtPDL::getId(std::string("anti-B_s0"))&&
daught == EvtPDL::getId(std::string("phi")))){
double ff0[] ={0.44, 0.42, 0.34, 0.31, 0.38, 0.38, 0.26};
double sigma1[]={0.62, 0.55, 0.73, 1.30, 0.62, 0.83, 1.41};
double sigma2[]={0.20, 0.12, 0.42, 0.52, 0.20, 0.71, 0.57};
int eq_num[]={ 9, 9, 10, 10, 9, 10, 10};
double M_P2=5.37*5.37; // GeV^2 for B^0_s - meson
double M_V2=5.42*5.42; // GeV^2 for B^*_s - meson
v =equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
a0=equation9_10(ff0[1], M_P2, t, sigma1[1], sigma2[1], eq_num[1]);
a1=equation9_10(ff0[2], M_V2, t, sigma1[2], sigma2[2], eq_num[2]);
a2=equation9_10(ff0[3], M_V2, t, sigma1[3], sigma2[3], eq_num[3]);
t1=equation9_10(ff0[4], M_P2, t, sigma1[4], sigma2[4], eq_num[4]);
t2=equation9_10(ff0[5], M_V2, t, sigma1[5], sigma2[5], eq_num[5]);
t3=equation9_10(ff0[6], M_V2, t, sigma1[6], sigma2[6], eq_num[6]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n barBs -> phi transition form factors"
// << std::endl;
}
// \bar Bs -> K* (without \bar !) transition form factors
if((parent == EvtPDL::getId(std::string("B_s0"))&&
daught == EvtPDL::getId(std::string("anti-K*0")))||
(parent == EvtPDL::getId(std::string("anti-B_s0"))&&
daught == EvtPDL::getId(std::string("K*0")))){
double ff0[] ={0.38, 0.37, 0.29, 0.26, 0.32, 0.32, 0.23};
double sigma1[]={0.66, 0.60, 0.86, 1.32, 0.66, 0.98, 1.42};
double sigma2[]={0.30, 0.16, 0.60, 0.54, 0.31, 0.90, 0.62};
int eq_num[]={ 9, 9, 10, 10, 9, 10, 10};
double M_P2=5.27*5.27; // GeV^2 for B - meson
double M_V2=5.32*5.32; // GeV^2 for B^* - meson
v =equation9_10(ff0[0], M_P2, t, sigma1[0], sigma2[0], eq_num[0]);
a0=equation9_10(ff0[1], M_P2, t, sigma1[1], sigma2[1], eq_num[1]);
a1=equation9_10(ff0[2], M_V2, t, sigma1[2], sigma2[2], eq_num[2]);
a2=equation9_10(ff0[3], M_V2, t, sigma1[3], sigma2[3], eq_num[3]);
t1=equation9_10(ff0[4], M_P2, t, sigma1[4], sigma2[4], eq_num[4]);
t2=equation9_10(ff0[5], M_V2, t, sigma1[5], sigma2[5], eq_num[5]);
t3=equation9_10(ff0[6], M_V2, t, sigma1[6], sigma2[6], eq_num[6]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n barBs -> K* transition form factors"
// << std::endl;
}
// \bar B -> \bar K_1(1270) transition form factors
// See the paper: H.Hatanaka and Kwei-Chou Yang, PRD78, 074007 (2008)
if((parent == EvtPDL::getId(std::string("B+"))&&
daught == EvtPDL::getId(std::string("K_1+")))||
(parent == EvtPDL::getId(std::string("B-"))&&
daught == EvtPDL::getId(std::string("K_1-")))||
(parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("K_10")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("anti-K_10")))){
double ff0A[] ={0.450, 0.340, 0.41, 0.22, 0.31, 0.310, 0.28};
double sigma1A[]={1.600, 0.635, 1.51, 2.40, 2.01, 0.629, 1.36};
double sigma2A[]={0.974, 0.211, 1.18, 1.78, 1.50, 0.387, 0.72};
double ff0B[] ={-0.37, -0.29, -0.17, -0.45, -0.25, -0.250, -0.11};
double sigma1B[]={ 1.72, 0.729, 0.919, 1.34, 1.59, 0.378, -1.61};
double sigma2B[]={0.912, 0.074, 0.855, 0.69, 0.79, -0.755, 10.2};
int eq_num[]={ 10, 10, 10, 10, 10, 10, 10};
double MM2 =5.279*5.279; // GeV^2
double MB =5.279; // GeV
double MK1 =1.272; // GeV
double MK1A=1.31; // GeV
double MK1B=1.34; // GeV
double sinK=sin(thetaK); // sin(-34^o)
double cosK=cos(thetaK); // cos(-34^o)
double a, v0, v1, v2;
a = sinK*equation9_10(ff0A[0], MM2, t, sigma1A[0], sigma2A[0], eq_num[0])*(MB+MK1)/(MB+MK1A);
a =a+cosK*equation9_10(ff0B[0], MM2, t, sigma1B[0], sigma2B[0], eq_num[0])*(MB+MK1)/(MB+MK1B);
v0= sinK*equation9_10(ff0A[1], MM2, t, sigma1A[1], sigma2A[1], eq_num[1])*MK1A/MK1;
v0=v0+cosK*equation9_10(ff0B[1], MM2, t, sigma1B[1], sigma2B[1], eq_num[1])*MK1B/MK1;
v1= sinK*equation9_10(ff0A[2], MM2, t, sigma1A[2], sigma2A[2], eq_num[2])*(MB+MK1A)/(MB+MK1);
v1=v1+cosK*equation9_10(ff0B[2], MM2, t, sigma1B[2], sigma2B[2], eq_num[2])*(MB+MK1B)/(MB+MK1);
v2= sinK*equation9_10(ff0A[3], MM2, t, sigma1A[3], sigma2A[3], eq_num[3])*(MB+MK1)/(MB+MK1A);
v2=v2+cosK*equation9_10(ff0B[3], MM2, t, sigma1B[3], sigma2B[3], eq_num[3])*(MB+MK1)/(MB+MK1B);
v =a;
a0=v0;
a1=v1;
a2=v2;
t1= sinK*equation9_10(ff0A[4], MM2, t, sigma1A[4], sigma2A[4], eq_num[4]);
t1=t1+cosK*equation9_10(ff0B[4], MM2, t, sigma1B[4], sigma2B[4], eq_num[4]);
t2= sinK*equation9_10(ff0A[5], MM2, t, sigma1A[5], sigma2A[5], eq_num[5])*(MB*MB-MK1A*MK1A)/(MB*MB-MK1*MK1);
t2=t2+cosK*equation9_10(ff0B[5], MM2, t, sigma1B[5], sigma2B[5], eq_num[5])*(MB*MB-MK1B*MK1B)/(MB*MB-MK1*MK1);
t3= sinK*equation9_10(ff0A[6], MM2, t, sigma1A[6], sigma2A[6], eq_num[6]);
t3=t3+cosK*equation9_10(ff0B[6], MM2, t, sigma1B[6], sigma2B[6], eq_num[6]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n barB -> bar K_1(1270) transition form factors"
// << std::endl;
}
// \bar B -> \bar K_1(1400) transition form factors
// See the paper: H.Hatanaka and Kwei-Chou Yang, PRD78, 074007 (2008)
if((parent == EvtPDL::getId(std::string("B+"))&&
daught == EvtPDL::getId(std::string("K'_1+")))||
(parent == EvtPDL::getId(std::string("B-"))&&
daught == EvtPDL::getId(std::string("K'_1-")))||
(parent == EvtPDL::getId(std::string("B0"))&&
daught == EvtPDL::getId(std::string("K'_10")))||
(parent == EvtPDL::getId(std::string("anti-B0"))&&
daught == EvtPDL::getId(std::string("anti-K'_10")))){
double ff0A[] ={0.450, 0.340, 0.41, 0.22, 0.31, 0.310, 0.28};
double sigma1A[]={1.600, 0.635, 1.51, 2.40, 2.01, 0.629, 1.36};
double sigma2A[]={0.974, 0.211, 1.18, 1.78, 1.50, 0.387, 0.72};
double ff0B[] ={-0.37, -0.29, -0.17, -0.45, -0.25, -0.250, -0.11};
double sigma1B[]={ 1.72, 0.729, 0.919, 1.34, 1.59, 0.378, -1.61};
double sigma2B[]={0.912, 0.074, 0.855, 0.69, 0.79, -0.755, 10.2};
int eq_num[]={ 10, 10, 10, 10, 10, 10, 10};
double MM2 =5.279*5.279; // GeV^2
double MB =5.279; // GeV
double MK1 =1.403; // GeV
double MK1A=1.31; // GeV
double MK1B=1.34; // GeV
double sinK=sin(thetaK); // sin(-34^o)
double cosK=cos(thetaK); // cos(-34^o)
double a, v0, v1, v2;
a = cosK*equation9_10(ff0A[0], MM2, t, sigma1A[0], sigma2A[0], eq_num[0])*(MB+MK1)/(MB+MK1A);
a =a-sinK*equation9_10(ff0B[0], MM2, t, sigma1B[0], sigma2B[0], eq_num[0])*(MB+MK1)/(MB+MK1B);
v0= cosK*equation9_10(ff0A[1], MM2, t, sigma1A[1], sigma2A[1], eq_num[1])*MK1A/MK1;
v0=v0-sinK*equation9_10(ff0B[1], MM2, t, sigma1B[1], sigma2B[1], eq_num[1])*MK1B/MK1;
v1= cosK*equation9_10(ff0A[2], MM2, t, sigma1A[2], sigma2A[2], eq_num[2])*(MB+MK1A)/(MB+MK1);
v1=v1-sinK*equation9_10(ff0B[2], MM2, t, sigma1B[2], sigma2B[2], eq_num[2])*(MB+MK1B)/(MB+MK1);
v2= cosK*equation9_10(ff0A[3], MM2, t, sigma1A[3], sigma2A[3], eq_num[3])*(MB+MK1)/(MB+MK1A);
v2=v2-sinK*equation9_10(ff0B[3], MM2, t, sigma1B[3], sigma2B[3], eq_num[3])*(MB+MK1)/(MB+MK1B);
v =a;
a0=v0;
a1=v1;
a2=v2;
t1= cosK*equation9_10(ff0A[4], MM2, t, sigma1A[4], sigma2A[4], eq_num[4]);
t1=t1-sinK*equation9_10(ff0B[4], MM2, t, sigma1B[4], sigma2B[4], eq_num[4]);
t2= cosK*equation9_10(ff0A[5], MM2, t, sigma1A[5], sigma2A[5], eq_num[5])*(MB*MB-MK1A*MK1A)/(MB*MB-MK1*MK1);
t2=t2-sinK*equation9_10(ff0B[5], MM2, t, sigma1B[5], sigma2B[5], eq_num[5])*(MB*MB-MK1B*MK1B)/(MB*MB-MK1*MK1);
t3= cosK*equation9_10(ff0A[6], MM2, t, sigma1A[6], sigma2A[6], eq_num[6]);
t3=t3-sinK*equation9_10(ff0B[6], MM2, t, sigma1B[6], sigma2B[6], eq_num[6]);
models_counter=models_counter+1;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") <<"\n The function EvtbTosllMSFF::getVectorFF(...) passed."
// << "\n barB -> bar K_1(1270) transition form factors"
// << std::endl;
}
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n models_counter = " << models_counter
// << "\n Vector form-factors at q^2 = " << t
// << " for B -> V transition:"
// << "\n v = " << v
// << "\n a0 = " << a0
// << "\n a1 = " << a1
// << "\n a2 = " << a2
// << "\n t1 = " << t1
// << "\n t2 = " << t2
// << "\n t3 = " << t3 << std::endl;
if(models_counter!=1){
EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
"\n In the function EvtbTosllMSFF::getVectorFF(...) \n" <<
"the parameter models_counter not equal 1! \n" <<
"models_counter = " << models_counter <<std::endl;
::abort();
}
}
// Getting the quark mass (in GeV) using to the dispersion quark model
// of D.Melikhov, B.Stech, PRD62, 014006 (2000).
//
// i=1 => return m_u;
// i=2 => return m_d;
// i=3 => return m_s;
// i=4 => return m_c;
// i=5 => return m_b;
double EvtbTosllMSFF::getQuarkMass(int i){
double qm=0.0;
switch(i)
{
case 1:
qm=0.23; // m_u
break;
case 2:
qm=0.23; // m_d = m_u
break;
case 3:
qm=0.35; // m_s
break;
case 4:
qm=1.45; // m_c
break;
case 5:
qm=4.85; // m_b
break;
default:
EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
"In the function EvtbTosllMSFF::getQuarkMass \n" <<
"the parameter i not equal 1, 2, 3, 4 or 5! \n" <<
"i =" << i <<std::endl;
::abort();
}
return qm;
}
diff --git a/src/EvtGenModels/EvtbTosllVectorAmpNew.cpp b/src/EvtGenModels/EvtbTosllVectorAmpNew.cpp
index 07be5fa..847f15e 100644
--- a/src/EvtGenModels/EvtbTosllVectorAmpNew.cpp
+++ b/src/EvtGenModels/EvtbTosllVectorAmpNew.cpp
@@ -1,899 +1,899 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtbTosllVectorAmpNew.cpp
//
// Description: Preparation of the decay amplitude for the process:
// B_{d,s}(p1,M1) -> V(p2,M2) ell^+(k1,m) ell^-(k2,m).
// New version.
//
// 1. The code of this module is based on the EvtbTosllVectorAmp.cpp
// module code.
//
// Modification history:
//
// N.Nikitin (nnikit@mail.cern.ch) April 18,2008 Module created
// N.Nikitin June 04,2008 Add CKM matrix elements
// N.Nikitin Jan 03,2009 Vector meson polarisation modification
// N.Nikitin Feb 21 2011 CalcMaxProb(...) optimisation
// N.Nikitin Sept 24 2012 Memory distribution optimization
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtVectorParticle.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtAmp.hh"
#include "EvtGenModels/EvtbTosllFFNew.hh"
#include "EvtGenModels/EvtbTosllAmpNew.hh"
#include "EvtGenModels/EvtbTosllWilsCoeffNLO.hh"
// The header file for current class memeber functions description
#include "EvtGenModels/EvtbTosllVectorAmpNew.hh"
#include <cstdlib>
//
// The main functiom for the amplitude calculation
//
// input: *parent - the pointer to the parent particle (B-meson, the
// object of the EvtParticle class);
// *formFactors - the pointer to instance of EvtbTosllFFNew class object;
// *WilsCoeff - the pointer to the Standart Model Wilson Coefficients class;
// mu - the scale parameter, GeV;
// Nf - number of "effective" flavors (for b-quark Nf=5);
// res_swch - resonant switching parameter:
// = 0 the resonant contribution switched OFF,
// = 1 the resonant contribution switched ON;
// ias - switching parameter for \alpha_s(M_Z) value:
// = 0 PDG 1sigma minimal alpha_s(M_Z),
// = 1 PDG average value alpha_s(M_Z),
// = 2 PDG 1sigma maximal alpha_s(M_Z).
// Wolfenstein parameterization for CKM matrix
// CKM_A, CKM_lambda, CKM_barrho, CKM_bareta
//
// return: amp - amplitude for the decay B -> V ell^+ ell^-
//
// Note: in our calculations we assume, that V-meson is the first
// daughter particle (iV=0) and leptons are the second and thirds
// daughter particles (il1=1 and il2=2).
//
void EvtbTosllVectorAmpNew::CalcAmp( EvtParticle *parent,
EvtAmp& amp,
EvtbTosllFFNew *formFactors,
EvtbTosllWilsCoeffNLO *WilsCoeff,
double mu, int Nf,
int res_swch, int ias,
double CKM_A, double CKM_lambda,
double CKM_barrho, double CKM_bareta){
// FILE *mytest;
EvtComplex unit1(1.0,0.0); // real unit
EvtComplex uniti(0.0,1.0); // imaginary unit
int iV=0; // V-meson is the first daughter particle
int il1=1, il2=2; // leptons are the second and thirds daughter particles
// transition momentum of the leptonic pair q=k1+k2 or q=p1-p2
EvtVector4R q = parent->getDaug(il1)->getP4()
+ parent->getDaug(il2)->getP4();
// Mandelstam variable t=q^2
double q2 = q.mass2();
double M1 = parent->mass(); // B - meson mass
double M2 = parent->getDaug(iV)->mass(); // V - meson mass
double ml = parent->getDaug(il1)->mass(); // leptonic mass
double ms = 0.0; // light quark mass from the dispersion QM
double mc = formFactors->getQuarkMass(4); // m_c mass from the dispersion QM
double mb = formFactors->getQuarkMass(5); // m_b mass from the dispersion QM
// double Mw = EvtPDL::getNominalMass("W+"); // W-boson mass
// double mt = EvtPDL::getNominalMass("t"); // t-quark mass
double Mw = 80.403; // GeV W-boson mass
double mt = 174.2; // GeV t-quark mass
EvtComplex Vtb, Vtq, Vub, Vuq; // V_{tb}, V_{tq}, V_{ub} and V_{uq}
EvtComplex CKM_factor; // V^*_{tq}*V_{tb}, where q={d,s}
EvtComplex lambda_qu; // V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}, where q={d,s}
double Relambda_qu, Imlambda_qu;
EvtId idparent = parent->getId(); // B-meson Id
EvtId iddaught = parent->getDaug(iV)->getId(); // The vector meson Id
// set of the light quark mass value
if((idparent == EvtPDL::getId(std::string("B+"))&&
iddaught == EvtPDL::getId(std::string("K*+")))||
(idparent == EvtPDL::getId(std::string("B-"))&&
iddaught == EvtPDL::getId(std::string("K*-")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("K*0")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("anti-K*0")))||
(idparent == EvtPDL::getId(std::string("B_s0"))&&
iddaught == EvtPDL::getId(std::string("phi")))||
(idparent == EvtPDL::getId(std::string("anti-B_s0"))&&
iddaught == EvtPDL::getId(std::string("phi")))||
(idparent == EvtPDL::getId(std::string("B+"))&&
iddaught == EvtPDL::getId(std::string("K_1+")))||
(idparent == EvtPDL::getId(std::string("B-"))&&
iddaught == EvtPDL::getId(std::string("K_1-")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("K_10")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("anti-K_10")))||
(idparent == EvtPDL::getId(std::string("B+"))&&
iddaught == EvtPDL::getId(std::string("K'_1+")))||
(idparent == EvtPDL::getId(std::string("B-"))&&
iddaught == EvtPDL::getId(std::string("K'_1-")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("K'_10")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("anti-K'_10")))){
ms = formFactors->getQuarkMass(3); // m_s mass from the dispersion QM
// V_{ts}
Vtq = unit1*(1.0-0.5*pow(CKM_lambda,2.0)) +
pow(CKM_lambda,2.0)*(CKM_barrho*unit1 + CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0));
Vtq = -CKM_A*pow(CKM_lambda,2.0)*Vtq;
// V_{us}
Vuq = CKM_lambda*unit1;
}
if((idparent == EvtPDL::getId(std::string("B+"))&&
iddaught == EvtPDL::getId(std::string("rho+")))||
(idparent == EvtPDL::getId(std::string("B-"))&&
iddaught == EvtPDL::getId(std::string("rho-")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("rho0")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("rho0")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("omega")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("omega")))||
(idparent == EvtPDL::getId(std::string("B_s0"))&&
iddaught == EvtPDL::getId(std::string("anti-K*0")))||
(idparent == EvtPDL::getId(std::string("anti-B_s0"))&&
iddaught == EvtPDL::getId(std::string("K*0")))){
ms = formFactors->getQuarkMass(2); // m_d mass from the dispersion QM
// V_{td}
Vtq = unit1 - (1.0 - 0.5*pow(CKM_lambda,2.0))*(CKM_barrho*unit1 +
CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0));
Vtq = CKM_A*pow(CKM_lambda,3.0)*Vtq;
// V_{ud}
Vuq = unit1*(1.0-0.5*pow(CKM_lambda,2.0)-0.125*pow(CKM_lambda,4.0));
}
if(ms<0.001){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n\n The function EvtbTosllVectorAmpNew::CalcAmp(...)"
<< "\n Error in the model set!"
<< " ms = " << ms << std::endl;
::abort();
}
Vtb = unit1*(1.0-0.5*pow(CKM_A*CKM_lambda*CKM_lambda,2.0)); // V_{tb}
Vub = CKM_A*pow(CKM_lambda,3.0)*(CKM_barrho*unit1 -
CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0)); // V_{ub}
CKM_factor = conj(Vtq)*Vtb; // V^*_{tq}*V_{tb}
lambda_qu = conj(Vuq)*Vub/CKM_factor; // V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}
Relambda_qu = real(lambda_qu);
Imlambda_qu = imag(lambda_qu);
double a1,a2,a0,v,t1,t2,t3; // B -> V transition form-factors
// To get the B -> V transition form-factors
formFactors->getVectorFF(parent->getId(),
parent->getDaug(iV)->getId(),
q2,
a1,a2,a0,v,t1,t2,t3);
// The Wilson Coefficients preparation according to the paper
// A.J.Buras, M.Munz, Phys.Rev.D52, p.189 (1995)
EvtComplex c7gam = WilsCoeff->GetC7Eff(mu, Mw, mt, Nf, ias);
EvtComplex c9eff_b2q = WilsCoeff->GetC9Eff(0,res_swch,ias,Nf,q2,mb,ms,mc,mu,mt,Mw,ml,
Relambda_qu,Imlambda_qu);
EvtComplex c9eff_barb2barq = WilsCoeff->GetC9Eff(1,res_swch,ias,Nf,q2,mb,ms,mc,mu,mt,Mw,ml,
Relambda_qu,Imlambda_qu);
EvtComplex c10a = WilsCoeff->GetC10Eff(mt, Mw);
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n\n The function EvtbTosllVectorAmpNew::CalcAmp(...) passed."
// << "\n Particle masses:"
// << "\n B - meson mass M1 = " << M1
// << "\n V - meson mass M2 = " << M2
// << "\n leptonic mass ml = " << ml
// << "\n light quark mass = " << ms
// << "\n c - quark mass mc = " << mc
// << "\n b - quark mass mb = " << mb
// << "\n t - quark mass mt = " << mt
// << "\n W - boson mass Mw = " << Mw
// << "\n ============================================================================"
// << "\n Input parameters:"
// << "\n scale parameter mu = " << mu
// << "\n number of flavors Nf = " << Nf
// << "\n resonant switching = " << res_swch
// << "\n parameter for alpha_s(M_Z) = " << ias
// << "\n ============================================================================"
// << "\n Vector form-factors at q^2 = " << q2
// << " for B -> V transition:"
// << "\n v = " << v
// << "\n a0 = " << a0
// << "\n a1 = " << a1
// << "\n a2 = " << a2
// << "\n t1 = " << t1
// << "\n t2 = " << t2
// << "\n t3 = " << t3
// << "\n ============================================================================"
// << "\n Wilson Coefficients:"
// << "\n Re(c7gam) = " << real(c7gam) << " Im(c7gam) = " << imag(c7gam)
// << "\n Re(c9eff_b2q) = " << real(c9eff_b2q)
// << " Im(c9eff_b2q) = " << imag(c9eff_b2q)
// << "\n Re(c9eff_barb2barq) = " << real(c9eff_barb2barq)
// << " Im(c9eff_barb2barq) = " << imag(c9eff_barb2barq)
// << "\n Re(c10a) = " << real(c10a) << " Im(c10a) = " << imag(c10a)
// << std::endl;
// mytest = fopen("output.txt","a");
//
// if(mytest != NULL){
// fprintf(mytest,"%lf\n",q2);
// fclose(mytest);
// }
// else{
// EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n Error in writing to file.\n"
// << std::endl;
// return;
// }
// 4- momentum of the B-meson in the the B-meson rest frame
EvtVector4R p1 = parent->getP4Restframe();
EvtVector4R hatp1 = p1/M1;
// 4-momentum of the V-meson in the B-meson rest frame
EvtVector4R p2 = parent->getDaug(0)->getP4();
EvtVector4R hatp2 = p2/M1;
double hats = q2/pow(M1,2);
double hatM2 = M2/M1;
double hatmb = mb/M1;
double hatms = ms/M1;
// Hadronic matrix element coefficients according to the paper
// A. Ali, A. Salim Safir, Eur.Phys.J.C25, pp.583-601 (2002)
// with m_s.NE.0
EvtComplex a_b2q, a_barb2barq, b_b2q, b_barb2barq, c_b2q, c_barb2barq, e, f, g, h;
a_b2q = 2.0*c9eff_b2q*v/(1.0+hatM2) + 4.0*(hatmb+hatms)*c7gam*t1/hats;
a_barb2barq = 2.0*c9eff_barb2barq*v/(1.0+hatM2) + 4.0*(hatmb+hatms)*c7gam*t1/hats;
b_b2q = (c9eff_b2q*a1 +2.0*(hatmb-hatms)*(1.0-hatM2)*c7gam*t2/hats)*(1.0+hatM2);
b_barb2barq = (c9eff_barb2barq*a1+2.0*(hatmb-hatms)*(1.0-hatM2)*c7gam*t2/hats)*(1.0+hatM2);
c_b2q = (c9eff_b2q*(1.0-hatM2)*a2 +
2.0*(hatmb-hatms)*(1.0-pow(hatM2,2))*c7gam*t2/hats +
2.0*(hatmb-hatms)*c7gam*t3)/(1-pow(hatM2,2));
c_barb2barq = (c9eff_barb2barq*(1.0-hatM2)*a2 +
2.0*(hatmb-hatms)*(1.0-pow(hatM2,2))*c7gam*t2/hats +
2.0*(hatmb-hatms)*c7gam*t3)/(1-pow(hatM2,2));
e = 2.0*c10a*v/(1+hatM2);
f = (1.0+hatM2)*c10a*a1;
g = c10a*a2/(1+hatM2);
h = ((1.0+hatM2)*a1-(1.0-hatM2)*a2-2.0*hatM2*a0)*c10a/hats;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << " a_b2q = " << a_b2q
// << " a_barb2barq = " << a_barb2barq
// << " b_b2q = " << b_b2q
// << " b_barb2barq = " << b_barb2barq
// << " c_b2q = " << c_b2q
// << " c_barb2barq = " << c_barb2barq
// << " e = " << e
// << " f = " << f
// << " g = " << g
// << " h = " << h
// << std::endl;
// to find ell^+ and ell^- in the B-meson daughters
int charge1 = EvtPDL::chg3(parent->getDaug(1)->getId());
int charge2 = EvtPDL::chg3(parent->getDaug(2)->getId());
EvtParticle* lepPlus=0;
EvtParticle* lepMinus=0;
lepPlus = (charge1 > charge2) ? parent->getDaug(1) : parent->getDaug(2);
lepMinus = (charge1 < charge2) ? parent->getDaug(1) : parent->getDaug(2);
EvtTensor4C T1,T2; // hadronic matrix element tensor structures
EvtVector4C epsV; // vector meson polarisation vector
int i; // vector meson polarisations counter
EvtVector4C lvc11,lvc12; // spin structures for
EvtVector4C lvc21,lvc22; // the leptonic vector current
EvtVector4C lac11,lac12; // spin structures for
EvtVector4C lac21,lac22; // the leptonic axial current
// B - and barB - mesons descriptors
EvtIdSet bmesons("B-","anti-B0","anti-B_s0","B_c-");
EvtIdSet bbarmesons("B+","B0","B_s0","B_c+");
EvtId parentID = parent->getId();
if (bmesons.contains(parentID)){
// The amplitude for the decay barB -> barV ell^+ ell^-
// (b -> q ell^+ ell^- transition)
T1 = -a_b2q*unit1*dual(EvtGenFunctions::directProd(hatp1,hatp2))
-b_b2q*uniti*EvtTensor4C::g()
+c_b2q*uniti*EvtGenFunctions::directProd((hatp1+hatp2),hatp1);
T2 = -e*unit1*dual(EvtGenFunctions::directProd(hatp1,hatp2))
-f*uniti*EvtTensor4C::g()
+g*uniti*EvtGenFunctions::directProd((hatp1+hatp2),hatp1)
+h*uniti*EvtGenFunctions::directProd((hatp1-hatp2),hatp1);
lvc11 = EvtLeptonVCurrent(lepPlus->spParent(0),
lepMinus->spParent(0));
lvc21 = EvtLeptonVCurrent(lepPlus->spParent(1),
lepMinus->spParent(0));
lvc12 = EvtLeptonVCurrent(lepPlus->spParent(0),
lepMinus->spParent(1));
lvc22 = EvtLeptonVCurrent(lepPlus->spParent(1),
lepMinus->spParent(1));
lac11 = EvtLeptonACurrent(lepPlus->spParent(0),
lepMinus->spParent(0));
lac21 = EvtLeptonACurrent(lepPlus->spParent(1),
lepMinus->spParent(0));
lac12 = EvtLeptonACurrent(lepPlus->spParent(0),
lepMinus->spParent(1));
lac22 = EvtLeptonACurrent(lepPlus->spParent(1),
lepMinus->spParent(1));
// summing up vector meson polarisations \epsilon^*_{\nu}(i)
for(i=0;i<3;i++){
EvtVector4C epsV=parent->getDaug(0)->epsParent(i).conj();
EvtVector4C E1=M1*T1.cont2(epsV);
EvtVector4C E2=M1*T2.cont2(epsV);
amp.vertex(i,0,0,CKM_factor*(lvc11*E1+lac11*E2));
amp.vertex(i,0,1,CKM_factor*(lvc12*E1+lac12*E2));
amp.vertex(i,1,0,CKM_factor*(lvc21*E1+lac21*E2));
amp.vertex(i,1,1,CKM_factor*(lvc22*E1+lac22*E2));
}
} else {
if (bbarmesons.contains(parentID)) {
// The amplitude for the decay B -> V ell^+ ell^-
// (barb -> barq ell^+ ell^- transition)
T1 = a_barb2barq*unit1*dual(EvtGenFunctions::directProd(hatp1,hatp2))
-b_barb2barq*uniti*EvtTensor4C::g()
+c_barb2barq*uniti*EvtGenFunctions::directProd((hatp1+hatp2),hatp1);
T2 = e*unit1*dual(EvtGenFunctions::directProd(hatp1,hatp2))
-f*uniti*EvtTensor4C::g()
+g*uniti*EvtGenFunctions::directProd((hatp1+hatp2),hatp1)
+h*uniti*EvtGenFunctions::directProd((hatp1-hatp2),hatp1);
lvc11=EvtLeptonVCurrent(lepPlus->spParent(1),
lepMinus->spParent(1));
lvc21=EvtLeptonVCurrent(lepPlus->spParent(0),
lepMinus->spParent(1));
lvc12=EvtLeptonVCurrent(lepPlus->spParent(1),
lepMinus->spParent(0));
lvc22=EvtLeptonVCurrent(lepPlus->spParent(0),
lepMinus->spParent(0));
lac11=EvtLeptonACurrent(lepPlus->spParent(1),
lepMinus->spParent(1));
lac21=EvtLeptonACurrent(lepPlus->spParent(0),
lepMinus->spParent(1));
lac12=EvtLeptonACurrent(lepPlus->spParent(1),
lepMinus->spParent(0));
lac22=EvtLeptonACurrent(lepPlus->spParent(0),
lepMinus->spParent(0));
// summing up vector meson polarisations \epsilon^*_{\nu}(i)
for(i=0;i<3;i++){
EvtVector4C barepsV=parent->getDaug(0)->epsParent(i).conj();
EvtVector4C E3=M1*T1.cont2(barepsV);
EvtVector4C E4=M1*T2.cont2(barepsV);
amp.vertex(i,0,0,conj(CKM_factor)*(lvc11*E3+lac11*E4));
amp.vertex(i,0,1,conj(CKM_factor)*(lvc12*E3+lac12*E4));
amp.vertex(i,1,0,conj(CKM_factor)*(lvc21*E3+lac21*E4));
amp.vertex(i,1,1,conj(CKM_factor)*(lvc22*E3+lac22*E4));
}
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n\n The function EvtbTosllVectorAmpNew::CalcAmp(...)"
<< "\n Wrong B-meson number"
<< std::endl;
::abort();
}
}
// Test of the signature for Levi-Civita tensor
// EvtVector4C Vec0, Vec1, Vec2, Vec3;
// EvtTensor4C Ttest;
// Vec0.set(1.0,0.0,0.0,0.0);
// Vec1.set(0.0,1.0,0.0,0.0);
// Vec2.set(0.0,0.0,1.0,0.0);
// Vec3.set(0.0,0.0,0.0,1.0);
// Ttest=dual(directProd(Vec2,Vec3));
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n\n\n e^{0123} =" << Ttest.get(0,1) << std::endl;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << " e^{1023} =" << Ttest.get(1,0) << std::endl;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << " e^{1123} =" << Ttest.get(1,1) << "\n" << std::endl;
// EvtVector4C Vtest=Ttest.cont2(Vec1);
// for(i=0;i<=3;i++){
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << " Vtest =" << Vtest.get(i) << std::endl;
// }
// EvtComplex Atest;
// Atest=Vec0*Vtest;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n Atest =" << Atest << "\n\n\n" << std::endl;
}
//
// The decays B -> V ell^+ ell^- maximum probability calculation for the
// d^2\Gamma/dq^2 d\cos\theta distribution.
//
// \theta - the angle between the vector meson and ell^- directions in the
// B-meson rest frame.
//
// If ias=0 (nonresonant case), the maximum is achieved at q2=q2_min=4*ml^2.
// If ias=1 (resonant case), the maximum is achieved at q2=M^2_{J/\psi}.
//
double EvtbTosllVectorAmpNew::CalcMaxProb(EvtId parnum, EvtId mesnum,
EvtId l1num, EvtId l2num,
EvtbTosllFFNew *formFactors,
EvtbTosllWilsCoeffNLO *WilsCoeff,
double mu, int Nf,
int res_swch, int ias,
double CKM_A, double CKM_lambda,
double CKM_barrho, double CKM_bareta){
double maxfoundprob = -100.0; // maximum of the probability
int katmax=0;
double M1 = EvtPDL::getMeanMass(parnum); // B - meson mass
double M2 = EvtPDL::getMeanMass(mesnum); // V - meson mass
double ml = EvtPDL::getMeanMass(l1num); // leptonic mass
if(res_swch==0){
// B-meson rest frame particles and they kinematics inicialization
double s_min, t_for_s;
s_min = 4.0*pow(ml,2.0);
t_for_s = 0.5*(pow(M1,2.0)+pow(M2,2.0)-2.0*pow(ml,2.0));
double EV, El2;
EV = (pow(M1,2.0)+pow(M2,2.0)-s_min)/(2.0*M1); // V-meson energy
El2 = (s_min+t_for_s-pow(M2,2.0)-pow(ml,2.0))/(2.0*M1); // ell^- energy
double modV, modl2;
modV = sqrt(pow(EV,2.0) -pow(M2,2.0));
modl2 = sqrt(pow(El2,2.0)-pow(ml,2.0));
double cosVellminus; // angle between the vector meson and ell^- directions
cosVellminus = (pow(M2,2.0)+pow(ml,2.0)+2.0*EV*El2-t_for_s)/(2.0*modV*modl2);
if((fabs(cosVellminus)>1.0)&&(fabs(cosVellminus)<=1.0001)){
-// report(DEBUG,"EvtGen")
+// EvtGenReport(EVTGEN_DEBUG,"EvtGen")
// << "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
// << "\n cos(theta) = " << cosVellminus
// << std::endl;
cosVellminus = cosVellminus/fabs(cosVellminus);
}
if((modV<=0.000001)||(modl2<=0.000001)){
cosVellminus = cosVellminus/fabs(cosVellminus);
EvtGenReport(EVTGEN_NOTICE,"EvtGen")
<< "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
<< "\n modV = " << modV
<< "\n modl2 = " << modl2
<< "\n cos(theta) = " << cosVellminus
<< "\n t_for_s = " << t_for_s
<< "\n s_min = " << s_min
<< "\n EV = " << EV
<< "\n El2 = " << El2
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
}
if(fabs(cosVellminus)>1.0001){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n In the function EvtbTosllVectorAmpNew::CalcMaxProb(...)"
<< "\n |cos(theta)| = " << fabs(cosVellminus) << " > 1"
<< "\n s_min = " << s_min
<< "\n t_for_s = " << t_for_s
<< "\n EV = " << EV
<< "\n El2 = " << El2
<< "\n modV = " << modV
<< "\n modl2 = " << modl2
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
::abort();
}
EvtVector4R p1, p2, k1, k2;
p1.set(M1, 0.0, 0.0, 0.0);
p2.set(EV, modV, 0.0, 0.0);
k2.set(El2, modl2*cosVellminus, -modl2*sqrt(1.0-pow(cosVellminus,2.0)), 0.0);
k1=p1-p2-k2;
-// report(DEBUG,"EvtGen")
+// EvtGenReport(EVTGEN_DEBUG,"EvtGen")
// << "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
// << "\n mu =" << mu << " Nf =" << Nf
// << " res_swch =" << res_swch
// << " ias =" << ias
// << "\n CKM_A = " << CKM_A
// << " CKM_lambda = " << CKM_lambda
// << "\n CKM_barrho = " << CKM_barrho
// << " CKM_bareta = " << CKM_bareta
// << "\n M1 = " << M1
// << "\n M2 = " << M2
// << "\n ml = " << ml
// << "\n s_min = " << s_min
// << "\n t_for_s = " << t_for_s
// << "\n EV = " << EV
// << "\n El1 = " << El1
// << "\n El2 = " << El2
// << "\n modV = " << modV
// << "\n modl1 = " << modl1
// << "\n modl2 = " << modl2
// << "\n cos(theta) = " << cosVellminus
// << "\n p1 =" << p1
// << "\n p2 =" << p2
// << "\n k1 =" << k1
// << "\n k2 =" << k2
// << std::endl;
// B-meson state preparation at the rest frame of B-meson
EvtScalarParticle *scalar_part;
EvtParticle *root_part;
scalar_part=new EvtScalarParticle;
scalar_part->noLifeTime();
scalar_part->init(parnum,p1);
root_part=(EvtParticle *)scalar_part;
root_part->setDiagonalSpinDensity();
// Amplitude initialization
EvtId listdaug[3];
listdaug[0] = mesnum;
listdaug[1] = l1num;
listdaug[2] = l2num;
EvtAmp amp;
amp.init(parnum,3,listdaug);
// Daughters states preparation at the rest frame of B-meson
root_part->makeDaughters(3,listdaug);
EvtParticle *vect, *lep1, *lep2;
vect = root_part->getDaug(0);
lep1 = root_part->getDaug(1);
lep2 = root_part->getDaug(2);
vect->noLifeTime();
lep1->noLifeTime();
lep2->noLifeTime();
vect->init(mesnum,p2);
lep1->init(l1num,k1);
lep2->init(l2num,k2);
EvtSpinDensity rho;
rho.setDiag(root_part->getSpinStates());
// The amplitude calculation at the
// "maximum amplitude" kinematical configuration
CalcAmp(root_part,amp,formFactors,WilsCoeff,mu,Nf,res_swch,ias,
CKM_A,CKM_lambda,CKM_barrho,CKM_bareta);
// Now find the probability at this q2 and cos theta lepton point
maxfoundprob = rho.normalizedProb(amp.getSpinDensity());
delete scalar_part;
// delete root_part;
delete vect;
delete lep1;
delete lep2;
} // if(res_swch==0)
if(res_swch==1){
double s, t_for_s; // Mandelstam variables
double t_plus, t_minus; // t-variable boundaries for current s-variable
double dt;
int k;
s = pow(3.09688,2.0); // s = (M_{J/\psi})^2
t_plus = pow(M1,2.0)+pow(M2,2.0)+2.0*pow(ml,2.0)-s;
t_plus = t_plus + sqrt(1.0-4.0*pow(ml,2.0)/s)*sqrt(lambda(s,pow(M1,2.0),pow(M2,2.0)));
t_plus *=0.5;
t_minus = pow(M1,2.0)+pow(M2,2.0)+2.0*pow(ml,2.0)-s;
t_minus = t_minus - sqrt(1.0-4.0*pow(ml,2.0)/s)*sqrt(lambda(s,pow(M1,2.0),pow(M2,2.0)));
t_minus *=0.5;
dt = (t_plus-t_minus)/1000.0;
// The maximum probability calculation
for(k=0; k<=1000; k++){
t_for_s = t_plus - dt*((double) k);
if((t_for_s<t_minus)&&(t_for_s>=(0.9999*t_minus))){
t_for_s = t_minus;
}
if(t_for_s<(0.9999*t_minus)){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n In the function EvtbTosllVectorAmpNew::CalcMaxProb(...)"
<< "\n t_for_s = " << t_for_s << " < t_minus = " << t_minus << " ! "
<< "\n t_plus = " << t_plus
<< "\n dt = " << dt
<< "\n k = " << k
<< "\n s = " << s
<< "\n M1 = " << M1
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
::abort();
}
// B-meson rest frame particles and they kinematics inicialization
double EV, El2;
EV = (pow(M1,2.0)+pow(M2,2.0)-s)/(2.0*M1); // V-meson energy
El2 = (s+t_for_s-pow(M2,2.0)-pow(ml,2.0))/(2.0*M1); // ell^- energy
double modV, modl2;
modV = sqrt(pow(EV,2.0) -pow(M2,2.0));
modl2 = sqrt(pow(El2,2.0)-pow(ml,2.0));
double cosVellminus; // angle between the vector meson and ell^- directions
cosVellminus = (pow(M2,2.0)+pow(ml,2.0)+2.0*EV*El2-t_for_s)/(2.0*modV*modl2);
if((fabs(cosVellminus)>1.0)&&(fabs(cosVellminus)<=1.0001)){
-// report(DEBUG,"EvtGen")
+// EvtGenReport(EVTGEN_DEBUG,"EvtGen")
// << "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
// << "\n cos(theta) = " << cosVellminus
// << std::endl;
cosVellminus = cosVellminus/fabs(cosVellminus);
}
if((modV<=0.000001)||(modl2<=0.000001)){
cosVellminus = cosVellminus/fabs(cosVellminus);
EvtGenReport(EVTGEN_NOTICE,"EvtGen")
<< "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
<< "\n modV = " << modV
<< "\n modl2 = " << modl2
<< "\n cos(theta) = " << cosVellminus
<< "\n s = " << s
<< "\n t_for_s = " << t_for_s
<< "\n t_plus = " << t_plus
<< "\n t_minus = " << t_minus
<< "\n dt = " << dt
<< "\n EV = " << EV
<< "\n El2 = " << El2
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
}
if(fabs(cosVellminus)>1.0001){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n In the function EvtbTosllVectorAmpNew::CalcMaxProb(...)"
<< "\n |cos(theta)| = " << fabs(cosVellminus) << " > 1"
<< "\n s = " << s
<< "\n t_for_s = " << t_for_s
<< "\n EV = " << EV
<< "\n El2 = " << El2
<< "\n modV = " << modV
<< "\n modl2 = " << modl2
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
::abort();
}
EvtVector4R p1, p2, k1, k2;
p1.set(M1, 0.0, 0.0, 0.0);
p2.set(EV, modV, 0.0, 0.0);
k2.set(El2, modl2*cosVellminus, -modl2*sqrt(1.0-pow(cosVellminus,2.0)), 0.0);
k1=p1-p2-k2;
-// report(DEBUG,"EvtGen")
+// EvtGenReport(EVTGEN_DEBUG,"EvtGen")
// << "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
// << "\n mu =" << mu << " Nf =" << Nf
// << " res_swch =" << res_swch
// << " ias =" << ias
// << "\n CKM_A = " << CKM_A
// << " CKM_lambda = " << CKM_lambda
// << "\n CKM_barrho = " << CKM_barrho
// << " CKM_bareta = " << CKM_bareta
// << "\n M1 = " << M1
// << "\n M2 = " << M2
// << "\n ml = " << ml
// << "\n s = " << s
// << "\n t_for_s = " << t_for_s
// << "\n EV = " << EV
// << "\n El1 = " << El1
// << "\n El2 = " << El2
// << "\n modV = " << modV
// << "\n modl1 = " << modl1
// << "\n modl2 = " << modl2
// << "\n cos(theta) = " << cosVellminus
// << "\n p1 =" << p1
// << "\n p2 =" << p2
// << "\n k1 =" << k1
// << "\n k2 =" << k2
// << std::endl;
// B-meson state preparation at the rest frame of B-meson
EvtScalarParticle *scalar_part;
EvtParticle *root_part;
scalar_part=new EvtScalarParticle;
scalar_part->noLifeTime();
scalar_part->init(parnum,p1);
root_part=(EvtParticle *)scalar_part;
root_part->setDiagonalSpinDensity();
// Amplitude initialization
EvtId listdaug[3];
listdaug[0] = mesnum;
listdaug[1] = l1num;
listdaug[2] = l2num;
EvtAmp amp;
amp.init(parnum,3,listdaug);
// Daughters states preparation at the rest frame of B-meson
root_part->makeDaughters(3,listdaug);
EvtParticle *vect, *lep1, *lep2;
vect = root_part->getDaug(0);
lep1 = root_part->getDaug(1);
lep2 = root_part->getDaug(2);
vect->noLifeTime();
lep1->noLifeTime();
lep2->noLifeTime();
vect->init(mesnum,p2);
lep1->init(l1num,k1);
lep2->init(l2num,k2);
EvtSpinDensity rho;
rho.setDiag(root_part->getSpinStates());
// The amplitude calculation at the
// "maximum amplitude" kinematical configuration
CalcAmp(root_part,amp,formFactors,WilsCoeff,mu,Nf,res_swch,ias,
CKM_A,CKM_lambda,CKM_barrho,CKM_bareta);
// Now find the probability at this q2 and cos theta lepton point
double nikmax = rho.normalizedProb(amp.getSpinDensity());
if(nikmax>maxfoundprob){
maxfoundprob=nikmax;
katmax=k;
EvtGenReport(EVTGEN_NOTICE,"EvtGen")
<< "\n maxfoundprob ( s =" << s << ", t = " << t_for_s << " ) = "
<< maxfoundprob
<< "\n k =" << katmax
<< std::endl;
}
delete scalar_part;
// delete root_part;
delete vect;
delete lep1;
delete lep2;
} // for(k=0; k<=1000; k++)
} // if(res_swch==1)
if(maxfoundprob<=0.0){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n In the function EvtbTosllVectorAmpNew::CalcMaxProb(...)"
<< "\n maxfoundprob = " << maxfoundprob << " <0 or =0!"
<< "\n res_swch = " << res_swch
<< std::endl;
::abort();
}
EvtGenReport(EVTGEN_NOTICE,"EvtGen")
<< "\n maxfoundprob (...) = "
<< maxfoundprob
<< std::endl;
maxfoundprob *=1.01;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen")
// << "\n ***************************************************************************"
// << "\n The function EvtbTosllVectorAmpNew::CalcMaxProb(...) passed with arguments:"
// << "\n mu =" << mu << " Nf =" << Nf
// << " res_swch =" << res_swch
// << " ias =" << ias
// << "\n CKM_A = " << CKM_A
// << " CKM_lambda = " << CKM_lambda
// << "\n CKM_barrho = " << CKM_barrho
// << " CKM_bareta = " << CKM_bareta
// << "\n The distribution maximum maxfoundprob =" << maxfoundprob
// << "\n k = " << katmax
// << "\n ***************************************************************************"
// << std::endl;
return maxfoundprob;
}
// Triangular function
double EvtbTosllVectorAmpNew::lambda(double a, double b, double c){
double l;
l=pow(a,2.0)+pow(b,2.0)+pow(c,2.0)-2.0*a*b-2.0*a*c-2.0*b*c;
return l;
}
diff --git a/src/EvtGenModels/EvtbTosllVectorAmpNewExt.cpp b/src/EvtGenModels/EvtbTosllVectorAmpNewExt.cpp
index 5eea5b2..285e789 100755
--- a/src/EvtGenModels/EvtbTosllVectorAmpNewExt.cpp
+++ b/src/EvtGenModels/EvtbTosllVectorAmpNewExt.cpp
@@ -1,912 +1,912 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtbTosllVectorAmpNewExt.cpp
//
// Description: Preparation of the decay amplitude for the process:
// B_{d,s}(p1,M1) -> (V(p2,M2) or A(p2,M2)) ell^+(k1,m) ell^-(k2,m)
// for the SM extensions.
//
// 1. The code of this module is based on the EvtbTosllVectorAmpNew.cpp
// module code.
//
// Modification history:
//
// N.Nikitin (nnikit@mail.cern.ch) June 18,2011 Module created
// N.Nikitin (nnikit@mail.cern.ch) Nov 09,2011 Module retested
// N.Nikitin (nnikit@mail.cern.ch) Jan 26,2012 Add B -> (K_1(1270), B -> K_1(1400)) ell^+ ell^- decya channels
// N.Nikitin Sept 24 2012 Memory distribution optimization
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtVectorParticle.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtAmp.hh"
#include "EvtGenModels/EvtbTosllFFNew.hh"
#include "EvtGenModels/EvtbTosllAmpNewExt.hh"
#include "EvtGenModels/EvtbTosllWilsCoeffNLO.hh"
// The header file for current class memeber functions description
#include "EvtGenModels/EvtbTosllVectorAmpNewExt.hh"
#include <cstdlib>
//
// The main functiom for the amplitude calculation
//
// input: *parent - the pointer to the parent particle (B-meson, the
// object of the EvtParticle class);
// *formFactors - the pointer to instance of EvtbTosllFFNew class object;
// *WilsCoeff - the pointer to the Standart Model Wilson Coefficients class;
// mu - the scale parameter, GeV;
// Nf - number of "effective" flavors (for b-quark Nf=5);
// res_swch - resonant switching parameter:
// = 0 the resonant contribution switched OFF,
// = 1 the resonant contribution switched ON;
// ias - switching parameter for \alpha_s(M_Z) value:
// = 0 PDG 1sigma minimal alpha_s(M_Z),
// = 1 PDG average value alpha_s(M_Z),
// = 2 PDG 1sigma maximal alpha_s(M_Z).
// Wolfenstein parameterization for CKM matrix
// CKM_A, CKM_lambda, CKM_barrho, CKM_bareta
// Multiplication coefficients
// A7 = ReA7 + i*ImA7
// A10 = ReA10 + i*ImA10
//
// return: amp - amplitude for the decay B -> V ell^+ ell^-
//
// Note: in our calculations we assume, that V-meson is the first
// daughter particle (iV=0) and leptons are the second and thirds
// daughter particles (il1=1 and il2=2).
//
void EvtbTosllVectorAmpNewExt::CalcAmp( EvtParticle *parent,
EvtAmp& amp,
EvtbTosllFFNew *formFactors,
EvtbTosllWilsCoeffNLO *WilsCoeff,
double mu, int Nf,
int res_swch, int ias,
double CKM_A, double CKM_lambda,
double CKM_barrho, double CKM_bareta,
double ReA7, double ImA7, double ReA10, double ImA10){
// FILE *mytest;
EvtComplex unit1(1.0,0.0); // real unit
EvtComplex uniti(0.0,1.0); // imaginary unit
EvtComplex A7 = ReA7*unit1 + ImA7*uniti;
EvtComplex A10 = ReA10*unit1 + ImA10*uniti;
int iV=0; // V-meson is the first daughter particle
int il1=1, il2=2; // leptons are the second and thirds daughter particles
// transition momentum of the leptonic pair q=k1+k2 or q=p1-p2
EvtVector4R q = parent->getDaug(il1)->getP4()
+ parent->getDaug(il2)->getP4();
// Mandelstam variable t=q^2
double q2 = q.mass2();
double M1 = parent->mass(); // B - meson mass
double M2 = parent->getDaug(iV)->mass(); // V - meson mass
double ml = parent->getDaug(il1)->mass(); // leptonic mass
double ms = 0.0; // light quark mass from the dispersion QM
double mc = formFactors->getQuarkMass(4); // m_c mass from the dispersion QM
double mb = formFactors->getQuarkMass(5); // m_b mass from the dispersion QM
// double Mw = EvtPDL::getNominalMass("W+"); // W-boson mass
// double mt = EvtPDL::getNominalMass("t"); // t-quark mass
double Mw = 80.403; // GeV W-boson mass
double mt = 174.2; // GeV t-quark mass
EvtComplex Vtb, Vtq, Vub, Vuq; // V_{tb}, V_{tq}, V_{ub} and V_{uq}
EvtComplex CKM_factor; // V^*_{tq}*V_{tb}, where q={d,s}
EvtComplex lambda_qu; // V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}, where q={d,s}
double Relambda_qu, Imlambda_qu;
EvtId idparent = parent->getId(); // B-meson Id
EvtId iddaught = parent->getDaug(iV)->getId(); // The vector meson Id
// set of the light quark mass value
if((idparent == EvtPDL::getId(std::string("B+"))&&
iddaught == EvtPDL::getId(std::string("K*+")))||
(idparent == EvtPDL::getId(std::string("B-"))&&
iddaught == EvtPDL::getId(std::string("K*-")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("K*0")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("anti-K*0")))||
(idparent == EvtPDL::getId(std::string("B_s0"))&&
iddaught == EvtPDL::getId(std::string("phi")))||
(idparent == EvtPDL::getId(std::string("anti-B_s0"))&&
iddaught == EvtPDL::getId(std::string("phi")))||
(idparent == EvtPDL::getId(std::string("B+"))&&
iddaught == EvtPDL::getId(std::string("K_1+")))||
(idparent == EvtPDL::getId(std::string("B-"))&&
iddaught == EvtPDL::getId(std::string("K_1-")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("K_10")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("anti-K_10")))||
(idparent == EvtPDL::getId(std::string("B+"))&&
iddaught == EvtPDL::getId(std::string("K'_1+")))||
(idparent == EvtPDL::getId(std::string("B-"))&&
iddaught == EvtPDL::getId(std::string("K'_1-")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("K'_10")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("anti-K'_10")))){
ms = formFactors->getQuarkMass(3); // m_s mass from the dispersion QM
// V_{ts}
Vtq = unit1*(1.0-0.5*pow(CKM_lambda,2.0)) +
pow(CKM_lambda,2.0)*(CKM_barrho*unit1 + CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0));
Vtq = -CKM_A*pow(CKM_lambda,2.0)*Vtq;
// V_{us}
Vuq = CKM_lambda*unit1;
}
if((idparent == EvtPDL::getId(std::string("B+"))&&
iddaught == EvtPDL::getId(std::string("rho+")))||
(idparent == EvtPDL::getId(std::string("B-"))&&
iddaught == EvtPDL::getId(std::string("rho-")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("rho0")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("rho0")))||
(idparent == EvtPDL::getId(std::string("B0"))&&
iddaught == EvtPDL::getId(std::string("omega")))||
(idparent == EvtPDL::getId(std::string("anti-B0"))&&
iddaught == EvtPDL::getId(std::string("omega")))||
(idparent == EvtPDL::getId(std::string("B_s0"))&&
iddaught == EvtPDL::getId(std::string("anti-K*0")))||
(idparent == EvtPDL::getId(std::string("anti-B_s0"))&&
iddaught == EvtPDL::getId(std::string("K*0")))){
ms = formFactors->getQuarkMass(2); // m_d mass from the dispersion QM
// V_{td}
Vtq = unit1 - (1.0 - 0.5*pow(CKM_lambda,2.0))*(CKM_barrho*unit1 +
CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0));
Vtq = CKM_A*pow(CKM_lambda,3.0)*Vtq;
// V_{ud}
Vuq = unit1*(1.0-0.5*pow(CKM_lambda,2.0)-0.125*pow(CKM_lambda,4.0));
}
if(ms<0.001){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n\n The function EvtbTosllVectorAmpNew::CalcAmp(...)"
<< "\n Error in the model set!"
<< " ms = " << ms << std::endl;
::abort();
}
Vtb = unit1*(1.0-0.5*pow(CKM_A*CKM_lambda*CKM_lambda,2.0)); // V_{tb}
Vub = CKM_A*pow(CKM_lambda,3.0)*(CKM_barrho*unit1 -
CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0)); // V_{ub}
CKM_factor = conj(Vtq)*Vtb; // V^*_{tq}*V_{tb}
lambda_qu = conj(Vuq)*Vub/CKM_factor; // V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}
Relambda_qu = real(lambda_qu);
Imlambda_qu = imag(lambda_qu);
double a1,a2,a0,v,t1,t2,t3; // B -> V transition form-factors
// To get the B -> V transition form-factors
formFactors->getVectorFF(parent->getId(),
parent->getDaug(iV)->getId(),
q2,
a1,a2,a0,v,t1,t2,t3);
// The Wilson Coefficients preparation according to the paper
// A.J.Buras, M.Munz, Phys.Rev.D52, p.189 (1995)
EvtComplex c7gam = WilsCoeff->GetC7Eff(mu, Mw, mt, Nf, ias);
c7gam = c7gam*A7;
EvtComplex c9eff_b2q = WilsCoeff->GetC9Eff(0,res_swch,ias,Nf,q2,mb,ms,mc,mu,mt,Mw,ml,
Relambda_qu,Imlambda_qu);
EvtComplex c9eff_barb2barq = WilsCoeff->GetC9Eff(1,res_swch,ias,Nf,q2,mb,ms,mc,mu,mt,Mw,ml,
Relambda_qu,Imlambda_qu);
EvtComplex c10a = WilsCoeff->GetC10Eff(mt, Mw);
c10a = c10a*A10;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n\n The function EvtbTosllVectorAmpNew::CalcAmp(...) passed."
// << "\n Particle masses:"
// << "\n B - meson mass M1 = " << M1
// << "\n V - meson mass M2 = " << M2
// << "\n leptonic mass ml = " << ml
// << "\n light quark mass = " << ms
// << "\n c - quark mass mc = " << mc
// << "\n b - quark mass mb = " << mb
// << "\n t - quark mass mt = " << mt
// << "\n W - boson mass Mw = " << Mw
// << "\n ============================================================================"
// << "\n Input parameters:"
// << "\n scale parameter mu = " << mu
// << "\n number of flavors Nf = " << Nf
// << "\n resonant switching = " << res_swch
// << "\n parameter for alpha_s(M_Z) = " << ias
// << "\n ============================================================================"
// << "\n Vector form-factors at q^2 = " << q2
// << " for B -> V transition:"
// << "\n v = " << v
// << "\n a0 = " << a0
// << "\n a1 = " << a1
// << "\n a2 = " << a2
// << "\n t1 = " << t1
// << "\n t2 = " << t2
// << "\n t3 = " << t3
// << "\n ============================================================================"
// << "\n Wilson Coefficients:"
// << "\n Re(c7gam) = " << real(c7gam) << " Im(c7gam) = " << imag(c7gam)
// << "\n Re(c9eff_b2q) = " << real(c9eff_b2q)
// << " Im(c9eff_b2q) = " << imag(c9eff_b2q)
// << "\n Re(c9eff_barb2barq) = " << real(c9eff_barb2barq)
// << " Im(c9eff_barb2barq) = " << imag(c9eff_barb2barq)
// << "\n Re(c10a) = " << real(c10a) << " Im(c10a) = " << imag(c10a)
// << std::endl;
// mytest = fopen("output.txt","a");
//
// if(mytest != NULL){
// fprintf(mytest,"%lf\n",q2);
// fclose(mytest);
// }
// else{
// EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n Error in writing to file.\n"
// << std::endl;
// return;
// }
// 4- momentum of the B-meson in the the B-meson rest frame
EvtVector4R p1 = parent->getP4Restframe();
EvtVector4R hatp1 = p1/M1;
// 4-momentum of the V-meson in the B-meson rest frame
EvtVector4R p2 = parent->getDaug(0)->getP4();
EvtVector4R hatp2 = p2/M1;
double hats = q2/pow(M1,2);
double hatM2 = M2/M1;
double hatmb = mb/M1;
double hatms = ms/M1;
// Hadronic matrix element coefficients according to the paper
// A. Ali, A. Salim Safir, Eur.Phys.J.C25, pp.583-601 (2002)
// with m_s.NE.0
EvtComplex a_b2q, a_barb2barq, b_b2q, b_barb2barq, c_b2q, c_barb2barq, e, f, g, h;
a_b2q = 2.0*c9eff_b2q*v/(1.0+hatM2) + 4.0*(hatmb+hatms)*c7gam*t1/hats;
a_barb2barq = 2.0*c9eff_barb2barq*v/(1.0+hatM2) + 4.0*(hatmb+hatms)*c7gam*t1/hats;
b_b2q = (c9eff_b2q*a1 +2.0*(hatmb-hatms)*(1.0-hatM2)*c7gam*t2/hats)*(1.0+hatM2);
b_barb2barq = (c9eff_barb2barq*a1+2.0*(hatmb-hatms)*(1.0-hatM2)*c7gam*t2/hats)*(1.0+hatM2);
c_b2q = (c9eff_b2q*(1.0-hatM2)*a2 +
2.0*(hatmb-hatms)*(1.0-pow(hatM2,2))*c7gam*t2/hats +
2.0*(hatmb-hatms)*c7gam*t3)/(1-pow(hatM2,2));
c_barb2barq = (c9eff_barb2barq*(1.0-hatM2)*a2 +
2.0*(hatmb-hatms)*(1.0-pow(hatM2,2))*c7gam*t2/hats +
2.0*(hatmb-hatms)*c7gam*t3)/(1-pow(hatM2,2));
e = 2.0*c10a*v/(1+hatM2);
f = (1.0+hatM2)*c10a*a1;
g = c10a*a2/(1+hatM2);
h = ((1.0+hatM2)*a1-(1.0-hatM2)*a2-2.0*hatM2*a0)*c10a/hats;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << " a_b2q = " << a_b2q
// << " a_barb2barq = " << a_barb2barq
// << " b_b2q = " << b_b2q
// << " b_barb2barq = " << b_barb2barq
// << " c_b2q = " << c_b2q
// << " c_barb2barq = " << c_barb2barq
// << " e = " << e
// << " f = " << f
// << " g = " << g
// << " h = " << h
// << std::endl;
// to find ell^+ and ell^- in the B-meson daughters
int charge1 = EvtPDL::chg3(parent->getDaug(1)->getId());
int charge2 = EvtPDL::chg3(parent->getDaug(2)->getId());
EvtParticle* lepPlus=0;
EvtParticle* lepMinus=0;
lepPlus = (charge1 > charge2) ? parent->getDaug(1) : parent->getDaug(2);
lepMinus = (charge1 < charge2) ? parent->getDaug(1) : parent->getDaug(2);
EvtTensor4C T1,T2; // hadronic matrix element tensor structures
EvtVector4C epsV; // vector meson polarisation vector
int i; // vector meson polarisations counter
EvtVector4C lvc11,lvc12; // spin structures for
EvtVector4C lvc21,lvc22; // the leptonic vector current
EvtVector4C lac11,lac12; // spin structures for
EvtVector4C lac21,lac22; // the leptonic axial current
// B - and barB - mesons descriptors
EvtIdSet bmesons("B-","anti-B0","anti-B_s0","B_c-");
EvtIdSet bbarmesons("B+","B0","B_s0","B_c+");
EvtId parentID = parent->getId();
if (bmesons.contains(parentID)){
// The amplitude for the decay barB -> barV ell^+ ell^-
// (b -> q ell^+ ell^- transition)
T1 = -a_b2q*unit1*dual(EvtGenFunctions::directProd(hatp1,hatp2))
-b_b2q*uniti*EvtTensor4C::g()
+c_b2q*uniti*EvtGenFunctions::directProd((hatp1+hatp2),hatp1);
T2 = -e*unit1*dual(EvtGenFunctions::directProd(hatp1,hatp2))
-f*uniti*EvtTensor4C::g()
+g*uniti*EvtGenFunctions::directProd((hatp1+hatp2),hatp1)
+h*uniti*EvtGenFunctions::directProd((hatp1-hatp2),hatp1);
lvc11 = EvtLeptonVCurrent(lepPlus->spParent(0),
lepMinus->spParent(0));
lvc21 = EvtLeptonVCurrent(lepPlus->spParent(1),
lepMinus->spParent(0));
lvc12 = EvtLeptonVCurrent(lepPlus->spParent(0),
lepMinus->spParent(1));
lvc22 = EvtLeptonVCurrent(lepPlus->spParent(1),
lepMinus->spParent(1));
lac11 = EvtLeptonACurrent(lepPlus->spParent(0),
lepMinus->spParent(0));
lac21 = EvtLeptonACurrent(lepPlus->spParent(1),
lepMinus->spParent(0));
lac12 = EvtLeptonACurrent(lepPlus->spParent(0),
lepMinus->spParent(1));
lac22 = EvtLeptonACurrent(lepPlus->spParent(1),
lepMinus->spParent(1));
// summing up vector meson polarisations \epsilon^*_{\nu}(i)
for(i=0;i<3;i++){
EvtVector4C epsV=parent->getDaug(0)->epsParent(i).conj();
EvtVector4C E1=M1*T1.cont2(epsV);
EvtVector4C E2=M1*T2.cont2(epsV);
amp.vertex(i,0,0,CKM_factor*(lvc11*E1+lac11*E2));
amp.vertex(i,0,1,CKM_factor*(lvc12*E1+lac12*E2));
amp.vertex(i,1,0,CKM_factor*(lvc21*E1+lac21*E2));
amp.vertex(i,1,1,CKM_factor*(lvc22*E1+lac22*E2));
}
} else {
if (bbarmesons.contains(parentID)) {
// The amplitude for the decay B -> V ell^+ ell^-
// (barb -> barq ell^+ ell^- transition)
T1 = a_barb2barq*unit1*dual(EvtGenFunctions::directProd(hatp1,hatp2))
-b_barb2barq*uniti*EvtTensor4C::g()
+c_barb2barq*uniti*EvtGenFunctions::directProd((hatp1+hatp2),hatp1);
T2 = e*unit1*dual(EvtGenFunctions::directProd(hatp1,hatp2))
-f*uniti*EvtTensor4C::g()
+g*uniti*EvtGenFunctions::directProd((hatp1+hatp2),hatp1)
+h*uniti*EvtGenFunctions::directProd((hatp1-hatp2),hatp1);
lvc11=EvtLeptonVCurrent(lepPlus->spParent(1),
lepMinus->spParent(1));
lvc21=EvtLeptonVCurrent(lepPlus->spParent(0),
lepMinus->spParent(1));
lvc12=EvtLeptonVCurrent(lepPlus->spParent(1),
lepMinus->spParent(0));
lvc22=EvtLeptonVCurrent(lepPlus->spParent(0),
lepMinus->spParent(0));
lac11=EvtLeptonACurrent(lepPlus->spParent(1),
lepMinus->spParent(1));
lac21=EvtLeptonACurrent(lepPlus->spParent(0),
lepMinus->spParent(1));
lac12=EvtLeptonACurrent(lepPlus->spParent(1),
lepMinus->spParent(0));
lac22=EvtLeptonACurrent(lepPlus->spParent(0),
lepMinus->spParent(0));
// summing up vector meson polarisations \epsilon^*_{\nu}(i)
for(i=0;i<3;i++){
EvtVector4C barepsV=parent->getDaug(0)->epsParent(i).conj();
EvtVector4C E3=M1*T1.cont2(barepsV);
EvtVector4C E4=M1*T2.cont2(barepsV);
amp.vertex(i,0,0,conj(CKM_factor)*(lvc11*E3+lac11*E4));
amp.vertex(i,0,1,conj(CKM_factor)*(lvc12*E3+lac12*E4));
amp.vertex(i,1,0,conj(CKM_factor)*(lvc21*E3+lac21*E4));
amp.vertex(i,1,1,conj(CKM_factor)*(lvc22*E3+lac22*E4));
}
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n\n The function EvtbTosllVectorAmpNew::CalcAmp(...)"
<< "\n Wrong B-meson number"
<< std::endl;
::abort();
}
}
// Test of the signature for Levi-Civita tensor
// EvtVector4C Vec0, Vec1, Vec2, Vec3;
// EvtTensor4C Ttest;
// Vec0.set(1.0,0.0,0.0,0.0);
// Vec1.set(0.0,1.0,0.0,0.0);
// Vec2.set(0.0,0.0,1.0,0.0);
// Vec3.set(0.0,0.0,0.0,1.0);
// Ttest=dual(directProd(Vec2,Vec3));
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n\n\n e^{0123} =" << Ttest.get(0,1) << std::endl;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << " e^{1023} =" << Ttest.get(1,0) << std::endl;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << " e^{1123} =" << Ttest.get(1,1) << "\n" << std::endl;
// EvtVector4C Vtest=Ttest.cont2(Vec1);
// for(i=0;i<=3;i++){
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << " Vtest =" << Vtest.get(i) << std::endl;
// }
// EvtComplex Atest;
// Atest=Vec0*Vtest;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n Atest =" << Atest << "\n\n\n" << std::endl;
}
//
// The decays B -> V ell^+ ell^- maximum probability calculation for the
// d^2\Gamma/dq^2 d\cos\theta distribution.
//
// \theta - the angle between the vector meson and ell^- directions in the
// B-meson rest frame.
//
// If ias=0 (nonresonant case), the maximum is achieved at q2=q2_min=4*ml^2.
// If ias=1 (resonant case), the maximum is achieved at q2=M^2_{J/\psi}.
//
double EvtbTosllVectorAmpNewExt::CalcMaxProb(EvtId parnum, EvtId mesnum,
EvtId l1num, EvtId l2num,
EvtbTosllFFNew *formFactors,
EvtbTosllWilsCoeffNLO *WilsCoeff,
double mu, int Nf,
int res_swch, int ias,
double CKM_A, double CKM_lambda,
double CKM_barrho, double CKM_bareta,
double ReA7, double ImA7,
double ReA10, double ImA10){
double maxfoundprob = -100.0; // maximum of the probability
int katmax=0;
double M1 = EvtPDL::getMeanMass(parnum); // B - meson mass
double M2 = EvtPDL::getMeanMass(mesnum); // V - meson mass
double ml = EvtPDL::getMeanMass(l1num); // leptonic mass
if(res_swch==0){
// B-meson rest frame particles and they kinematics inicialization
double s_min, t_for_s;
s_min = 4.0*pow(ml,2.0);
t_for_s = 0.5*(pow(M1,2.0)+pow(M2,2.0)-2.0*pow(ml,2.0));
double EV, El2;
EV = (pow(M1,2.0)+pow(M2,2.0)-s_min)/(2.0*M1); // V-meson energy
El2 = (s_min+t_for_s-pow(M2,2.0)-pow(ml,2.0))/(2.0*M1); // ell^- energy
double modV, modl2;
modV = sqrt(pow(EV,2.0) -pow(M2,2.0));
modl2 = sqrt(pow(El2,2.0)-pow(ml,2.0));
double cosVellminus; // angle between the vector meson and ell^- directions
cosVellminus = (pow(M2,2.0)+pow(ml,2.0)+2.0*EV*El2-t_for_s)/(2.0*modV*modl2);
if((fabs(cosVellminus)>1.0)&&(fabs(cosVellminus)<=1.0001)){
-// report(DEBUG,"EvtGen")
+// EvtGenReport(EVTGEN_DEBUG,"EvtGen")
// << "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
// << "\n cos(theta) = " << cosVellminus
// << std::endl;
cosVellminus = cosVellminus/fabs(cosVellminus);
}
if((modV<=0.000001)||(modl2<=0.000001)){
cosVellminus = cosVellminus/fabs(cosVellminus);
EvtGenReport(EVTGEN_NOTICE,"EvtGen")
<< "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
<< "\n modV = " << modV
<< "\n modl2 = " << modl2
<< "\n cos(theta) = " << cosVellminus
<< "\n t_for_s = " << t_for_s
<< "\n s_min = " << s_min
<< "\n EV = " << EV
<< "\n El2 = " << El2
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
}
if(fabs(cosVellminus)>1.0001){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n In the function EvtbTosllVectorAmpNew::CalcMaxProb(...)"
<< "\n |cos(theta)| = " << fabs(cosVellminus) << " > 1"
<< "\n s_min = " << s_min
<< "\n t_for_s = " << t_for_s
<< "\n EV = " << EV
<< "\n El2 = " << El2
<< "\n modV = " << modV
<< "\n modl2 = " << modl2
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
::abort();
}
EvtVector4R p1, p2, k1, k2;
p1.set(M1, 0.0, 0.0, 0.0);
p2.set(EV, modV, 0.0, 0.0);
k2.set(El2, modl2*cosVellminus, -modl2*sqrt(1.0-pow(cosVellminus,2.0)), 0.0);
k1=p1-p2-k2;
-// report(DEBUG,"EvtGen")
+// EvtGenReport(EVTGEN_DEBUG,"EvtGen")
// << "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
// << "\n mu =" << mu << " Nf =" << Nf
// << " res_swch =" << res_swch
// << " ias =" << ias
// << "\n CKM_A = " << CKM_A
// << " CKM_lambda = " << CKM_lambda
// << "\n CKM_barrho = " << CKM_barrho
// << " CKM_bareta = " << CKM_bareta
// << "\n M1 = " << M1
// << "\n M2 = " << M2
// << "\n ml = " << ml
// << "\n s_min = " << s_min
// << "\n t_for_s = " << t_for_s
// << "\n EV = " << EV
// << "\n El1 = " << El1
// << "\n El2 = " << El2
// << "\n modV = " << modV
// << "\n modl1 = " << modl1
// << "\n modl2 = " << modl2
// << "\n cos(theta) = " << cosVellminus
// << "\n p1 =" << p1
// << "\n p2 =" << p2
// << "\n k1 =" << k1
// << "\n k2 =" << k2
// << std::endl;
// B-meson state preparation at the rest frame of B-meson
EvtScalarParticle *scalar_part;
EvtParticle *root_part;
scalar_part=new EvtScalarParticle;
scalar_part->noLifeTime();
scalar_part->init(parnum,p1);
root_part=(EvtParticle *)scalar_part;
root_part->setDiagonalSpinDensity();
// Amplitude initialization
EvtId listdaug[3];
listdaug[0] = mesnum;
listdaug[1] = l1num;
listdaug[2] = l2num;
EvtAmp amp;
amp.init(parnum,3,listdaug);
// Daughters states preparation at the rest frame of B-meson
root_part->makeDaughters(3,listdaug);
EvtParticle *vect, *lep1, *lep2;
vect = root_part->getDaug(0);
lep1 = root_part->getDaug(1);
lep2 = root_part->getDaug(2);
vect->noLifeTime();
lep1->noLifeTime();
lep2->noLifeTime();
vect->init(mesnum,p2);
lep1->init(l1num,k1);
lep2->init(l2num,k2);
EvtSpinDensity rho;
rho.setDiag(root_part->getSpinStates());
// The amplitude calculation at the
// "maximum amplitude" kinematical configuration
CalcAmp(root_part,amp,formFactors,WilsCoeff,mu,Nf,res_swch,ias,
CKM_A,CKM_lambda,CKM_barrho,CKM_bareta,
ReA7,ImA7,ReA10,ImA10);
// Now find the probability at this q2 and cos theta lepton point
maxfoundprob = rho.normalizedProb(amp.getSpinDensity());
delete scalar_part;
// delete root_part;
delete vect;
delete lep1;
delete lep2;
} // if(res_swch==0)
if(res_swch==1){
double s, t_for_s; // Mandelstam variables
double t_plus, t_minus; // t-variable boundaries for current s-variable
double dt;
int k;
s = pow(3.09688,2.0); // s = (M_{J/\psi})^2
t_plus = pow(M1,2.0)+pow(M2,2.0)+2.0*pow(ml,2.0)-s;
t_plus = t_plus + sqrt(1.0-4.0*pow(ml,2.0)/s)*sqrt(lambda(s,pow(M1,2.0),pow(M2,2.0)));
t_plus *=0.5;
t_minus = pow(M1,2.0)+pow(M2,2.0)+2.0*pow(ml,2.0)-s;
t_minus = t_minus - sqrt(1.0-4.0*pow(ml,2.0)/s)*sqrt(lambda(s,pow(M1,2.0),pow(M2,2.0)));
t_minus *=0.5;
dt = (t_plus-t_minus)/1000.0;
// The maximum probability calculation
for(k=0; k<=1000; k++){
t_for_s = t_plus - dt*((double) k);
if((t_for_s<t_minus)&&(t_for_s>=(0.9999*t_minus))){
t_for_s = t_minus;
}
if(t_for_s<(0.9999*t_minus)){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n In the function EvtbTosllVectorAmpNew::CalcMaxProb(...)"
<< "\n t_for_s = " << t_for_s << " < t_minus = " << t_minus << " ! "
<< "\n t_plus = " << t_plus
<< "\n dt = " << dt
<< "\n k = " << k
<< "\n s = " << s
<< "\n M1 = " << M1
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
::abort();
}
// B-meson rest frame particles and they kinematics inicialization
double EV, El2;
EV = (pow(M1,2.0)+pow(M2,2.0)-s)/(2.0*M1); // V-meson energy
El2 = (s+t_for_s-pow(M2,2.0)-pow(ml,2.0))/(2.0*M1); // ell^- energy
double modV, modl2;
modV = sqrt(pow(EV,2.0) -pow(M2,2.0));
modl2 = sqrt(pow(El2,2.0)-pow(ml,2.0));
double cosVellminus; // angle between the vector meson and ell^- directions
cosVellminus = (pow(M2,2.0)+pow(ml,2.0)+2.0*EV*El2-t_for_s)/(2.0*modV*modl2);
if((fabs(cosVellminus)>1.0)&&(fabs(cosVellminus)<=1.0001)){
-// report(DEBUG,"EvtGen")
+// EvtGenReport(EVTGEN_DEBUG,"EvtGen")
// << "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
// << "\n cos(theta) = " << cosVellminus
// << std::endl;
cosVellminus = cosVellminus/fabs(cosVellminus);
}
if((modV<=0.000001)||(modl2<=0.000001)){
cosVellminus = cosVellminus/fabs(cosVellminus);
EvtGenReport(EVTGEN_NOTICE,"EvtGen")
<< "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
<< "\n modV = " << modV
<< "\n modl2 = " << modl2
<< "\n cos(theta) = " << cosVellminus
<< "\n s = " << s
<< "\n t_for_s = " << t_for_s
<< "\n t_plus = " << t_plus
<< "\n t_minus = " << t_minus
<< "\n dt = " << dt
<< "\n EV = " << EV
<< "\n El2 = " << El2
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
}
if(fabs(cosVellminus)>1.0001){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n In the function EvtbTosllVectorAmpNew::CalcMaxProb(...)"
<< "\n |cos(theta)| = " << fabs(cosVellminus) << " > 1"
<< "\n s = " << s
<< "\n t_for_s = " << t_for_s
<< "\n EV = " << EV
<< "\n El2 = " << El2
<< "\n modV = " << modV
<< "\n modl2 = " << modl2
<< "\n M2 = " << M2
<< "\n ml = " << ml
<< std::endl;
::abort();
}
EvtVector4R p1, p2, k1, k2;
p1.set(M1, 0.0, 0.0, 0.0);
p2.set(EV, modV, 0.0, 0.0);
k2.set(El2, modl2*cosVellminus, -modl2*sqrt(1.0-pow(cosVellminus,2.0)), 0.0);
k1=p1-p2-k2;
-// report(DEBUG,"EvtGen")
+// EvtGenReport(EVTGEN_DEBUG,"EvtGen")
// << "\n Debug in the function EvtbTosllVectorAmpNew::CalcMaxProb(...):"
// << "\n mu =" << mu << " Nf =" << Nf
// << " res_swch =" << res_swch
// << " ias =" << ias
// << "\n CKM_A = " << CKM_A
// << " CKM_lambda = " << CKM_lambda
// << "\n CKM_barrho = " << CKM_barrho
// << " CKM_bareta = " << CKM_bareta
// << "\n M1 = " << M1
// << "\n M2 = " << M2
// << "\n ml = " << ml
// << "\n s = " << s
// << "\n t_for_s = " << t_for_s
// << "\n EV = " << EV
// << "\n El1 = " << El1
// << "\n El2 = " << El2
// << "\n modV = " << modV
// << "\n modl1 = " << modl1
// << "\n modl2 = " << modl2
// << "\n cos(theta) = " << cosVellminus
// << "\n p1 =" << p1
// << "\n p2 =" << p2
// << "\n k1 =" << k1
// << "\n k2 =" << k2
// << std::endl;
// B-meson state preparation at the rest frame of B-meson
EvtScalarParticle *scalar_part;
EvtParticle *root_part;
scalar_part=new EvtScalarParticle;
scalar_part->noLifeTime();
scalar_part->init(parnum,p1);
root_part=(EvtParticle *)scalar_part;
root_part->setDiagonalSpinDensity();
// Amplitude initialization
EvtId listdaug[3];
listdaug[0] = mesnum;
listdaug[1] = l1num;
listdaug[2] = l2num;
EvtAmp amp;
amp.init(parnum,3,listdaug);
// Daughters states preparation at the rest frame of B-meson
root_part->makeDaughters(3,listdaug);
EvtParticle *vect, *lep1, *lep2;
vect = root_part->getDaug(0);
lep1 = root_part->getDaug(1);
lep2 = root_part->getDaug(2);
vect->noLifeTime();
lep1->noLifeTime();
lep2->noLifeTime();
vect->init(mesnum,p2);
lep1->init(l1num,k1);
lep2->init(l2num,k2);
EvtSpinDensity rho;
rho.setDiag(root_part->getSpinStates());
// The amplitude calculation at the
// "maximum amplitude" kinematical configuration
CalcAmp(root_part,amp,formFactors,WilsCoeff,mu,Nf,res_swch,ias,
CKM_A,CKM_lambda,CKM_barrho,CKM_bareta,
ReA7,ImA7,ReA10,ImA10);
// Now find the probability at this q2 and cos theta lepton point
double nikmax = rho.normalizedProb(amp.getSpinDensity());
if(nikmax>maxfoundprob){
maxfoundprob=nikmax;
katmax=k;
EvtGenReport(EVTGEN_NOTICE,"EvtGen")
<< "\n maxfoundprob ( s =" << s << ", t = " << t_for_s << " ) = "
<< maxfoundprob
<< "\n k =" << katmax
<< std::endl;
}
delete scalar_part;
// delete root_part;
delete vect;
delete lep1;
delete lep2;
} // for(k=0; k<=1000; k++)
} // if(res_swch==1)
if(maxfoundprob<=0.0){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n In the function EvtbTosllVectorAmpNew::CalcMaxProb(...)"
<< "\n maxfoundprob = " << maxfoundprob << " <0 or =0!"
<< "\n res_swch = " << res_swch
<< std::endl;
::abort();
}
EvtGenReport(EVTGEN_NOTICE,"EvtGen")
<< "\n maxfoundprob (...) = "
<< maxfoundprob
<< std::endl;
maxfoundprob *=1.01;
// EvtGenReport(EVTGEN_NOTICE,"EvtGen")
// << "\n ***************************************************************************"
// << "\n The function EvtbTosllVectorAmpNew::CalcMaxProb(...) passed with arguments:"
// << "\n mu =" << mu << " Nf =" << Nf
// << " res_swch =" << res_swch
// << " ias =" << ias
// << "\n CKM_A = " << CKM_A
// << " CKM_lambda = " << CKM_lambda
// << "\n CKM_barrho = " << CKM_barrho
// << " CKM_bareta = " << CKM_bareta
// << "\n The distribution maximum maxfoundprob =" << maxfoundprob
// << "\n k = " << katmax
// << "\n ***************************************************************************"
// << std::endl;
return maxfoundprob;
}
// Triangular function
double EvtbTosllVectorAmpNewExt::lambda(double a, double b, double c){
double l;
l=pow(a,2.0)+pow(b,2.0)+pow(c,2.0)-2.0*a*b-2.0*a*c-2.0*b*c;
return l;
}
diff --git a/src/EvtGenModels/EvtbTosllWilsCoeffNLO.cpp b/src/EvtGenModels/EvtbTosllWilsCoeffNLO.cpp
index 3140b83..5f86847 100644
--- a/src/EvtGenModels/EvtbTosllWilsCoeffNLO.cpp
+++ b/src/EvtGenModels/EvtbTosllWilsCoeffNLO.cpp
@@ -1,1257 +1,1257 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtbTosllWilsCoeffNLO.cpp
//
// Description: The calculation of the Wilson coefficients for
// b -> (d,s) ell+ ell- transitions in the SM at NLO
// according to the paper:
// A.J.Buras, M.Munz, Phys.Rev.D52, p.189 (1995).
//
//
//
// Modification history:
//
// N.Nikitin March 17, 2008 Module created
// June 14, 2008 New equation for As
// January 12, 2010 New representation of
// the resonant contribution
//
//------------------------------------------------------------------------
//
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtDiLog.hh"
// The header file for current class memeber functions description
#include "EvtGenModels/EvtbTosllWilsCoeffNLO.hh"
#include <cstdlib>
// **************************************************************
// * *
// * The strong running coupling constant from PDG *
// * *
// * mu - the scale parameter ( in GeV ); *
// * Nf - number of "effective" flavours ( Nf=5 for b-quark); *
// * the colors number = 3; *
// * ias - the number for alpha_s(M_Z) choice: *
// * = 0 PDG 1sigma minimal alpha_s(M_Z); *
// * = 1 PDG average value alpha_s(M_Z); *
// * = 2 PDG 1sigma maximal alpha_s(M_Z). *
// * *
// **************************************************************
double EvtbTosllWilsCoeffNLO::As( double mu, int Nf, int ias)
{
double as, ll;
double b0, b1, b2; /* terms in the series of the beta-function */
double alpha_strong[]={0.1156,0.1176,0.1196}; /* at M_Z scale */
double MZ=91.19; /* in GeV */
b0=11.-2.*((double)Nf)/3.;
b1=51.-19.*((double)Nf)/3.;
b2=2857.-5033.*((double)Nf)/9.+325.*pow(((double)Nf),2.)/27.;
// RG Equation solution
alpha_strong[ias]=alpha_strong[ias]/(4.0*EvtConst::pi);
ll=0.0-log(MZ/mu)+(b0*b2-b1*b1)*alpha_strong[ias]/(2.0*pow(b0,3.0));
ll=ll+1.0/(2.0*b0*alpha_strong[ias]);
ll=ll+b1*log(alpha_strong[ias])/(2.0*b0*b0);
// Running coupling constant from M_Z to mu
as=pow((log(log(2.0*ll))-0.5),2.0)+b2*b0/(8.0*b1*b1)-5.0/4.0;
as=as*pow((b1/(b0*b0*ll)),2.0);
as=1.0-b1*log(2.0*ll)/(b0*b0*ll)-as;
as=2.0*EvtConst::pi*as/(b0*ll);
if(as <= 0.0){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "The function EvtbTosllWilsCoeffNLO::As"
<< "\n Unexpected value of the running coupling constant!"
<< "\n alpha_s("<< mu <<") = " << as <<";"
<< "\n Nf =" << Nf << ", ias = " << ias <<";"
<< "\n ln(mu/lambda_QCD) = " << ll <<";"
<<std::endl;
::abort();
}
return as;
}
// ************************************************************
// * *
// * Spencer function *
// * in serial representation *
// * ( w <= 1.0 ) *
// * *
// * *
// ************************************************************
double EvtbTosllWilsCoeffNLO::Li2(double w)
{
double Lii=0.0;
double k=1.0;
while(k<=20.0)
{
Lii=Lii+pow(w,k)/pow(k,2.0);
k++;
};
/* printf("\n Spencer function value: Lii(%f)=%f \n\n",w,Lii); */
return Lii;
}
/* Coefficient C1(mu) *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::C1( double mu, double Mw, int Nf, int ias)
{
double CC1;
double eta;
double asW; /* the strong coupling constant at the scale Mw */
double asmu; /* the strong coupling constant at the scale mu */
int i;
double a[]={14.0/23.0, 16.0/23.0, 6.0/23.0, -12.0/23.0,
0.4086, -0.4230, -0.8994, 0.1456};
double k1[]={0.0,0.0,0.5,-0.5,0.0,0.0,0.0,0.0};
asW =As(Mw,Nf,ias);
asmu=As(mu,Nf,ias);
eta =asW/asmu;
CC1=0.0;
i=0;
while(i<8)
{
CC1=CC1+k1[i]*pow(eta,a[i]);
i++;
};
return CC1;
}
/* Coefficient C2(mu) *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::C2(double mu, double Mw, int Nf, int ias)
{
double CC2;
double eta;
double asW; /* the strong coupling constant at the scale Mw */
double asmu; /* the strong coupling constant at the scale mu */
int i;
double a[]={14.0/23.0, 16.0/23.0, 6.0/23.0, -12.0/23.0,
0.4086, -0.4230, -0.8994, 0.1456};
double k2[]={0.0,0.0,0.5,0.5,0.0,0.0,0.0,0.0};
asW =As(Mw,Nf,ias);
asmu=As(mu,Nf,ias);
eta =asW/asmu;
CC2=0.0;
i=0;
while(i<8)
{
CC2=CC2+k2[i]*pow(eta,a[i]);
i++;
};
return CC2;
}
/* Coefficient C3(mu) *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::C3(double mu, double Mw, int Nf, int ias)
{
double CC3;
double eta;
double asW; /* the strong coupling constant at the scale Mw */
double asmu; /* the strong coupling constant at the scale mu */
int i;
double a[]={14.0/23.0, 16.0/23.0, 6.0/23.0, -12.0/23.0,
0.4086, -0.4230, -0.8994, 0.1456};
double k3[]={0.0, 0.0, -1.0/14.0, 1.0/6.0, 0.0510, -0.1403, -0.0113, 0.0054};
asW =As(Mw,Nf,ias);
asmu=As(mu,Nf,ias);
eta =asW/asmu;
CC3=0.0;
i=0;
while(i<8)
{
CC3=CC3+k3[i]*pow(eta,a[i]);
i++;
};
return CC3;
}
/* Coefficient C4(mu) *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::C4(double mu, double Mw, int Nf, int ias)
{
double CC4;
double eta;
double asW; /* the strong coupling constant at the scale Mw */
double asmu; /* the strong coupling constant at the scale mu */
int i;
double a[]={14.0/23.0, 16.0/23.0, 6.0/23.0, -12.0/23.0,
0.4086, -0.4230, -0.8994, 0.1456};
double k4[]={0.0, 0.0, -1.0/14.0, -1.0/6.0, 0.0984, 0.1214, 0.0156, 0.0026};
asW =As(Mw,Nf,ias);
asmu=As(mu,Nf,ias);
eta =asW/asmu;
CC4=0.0;
i=0;
while(i<8)
{
CC4=CC4+k4[i]*pow(eta,a[i]);
i++;
};
return CC4;
}
/* Coefficient C5(mu) *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::C5(double mu, double Mw, int Nf, int ias)
{
double CC5;
double eta;
double asW; /* the strong coupling constant at the scale Mw */
double asmu; /* the strong coupling constant at the scale mu */
int i;
double a[]={14.0/23.0, 16.0/23.0, 6.0/23.0, -12.0/23.0,
0.4086, -0.4230, -0.8994, 0.1456};
double k5[]={0.0, 0.0, 0.0, 0.0, -0.0397, 0.0117, -0.0025, 0.0304};
asW =As(Mw,Nf,ias);
asmu=As(mu,Nf,ias);
eta =asW/asmu;
CC5=0.0;
i=0;
while(i<8)
{
CC5=CC5+k5[i]*pow(eta,a[i]);
i++;
};
return CC5;
}
/* Coefficient C6(mu) *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::C6(double mu, double Mw, int Nf, int ias)
{
double CC6;
double eta;
double asW; /* the strong coupling constant at the scale Mw */
double asmu; /* the strong coupling constant at the scale mu */
int i;
double a[]={14.0/23.0, 16.0/23.0, 6.0/23.0, -12.0/23.0,
0.4086, -0.4230, -0.8994, 0.1456};
double k6[]={0.0, 0.0, 0.0, 0.0, 0.0335, 0.0239, -0.0462, -0.0112};
asW =As(Mw,Nf,ias);
asmu=As(mu,Nf,ias);
eta =asW/asmu;
CC6=0.0;
i=0;
while(i<8)
{
CC6=CC6+k6[i]*pow(eta,a[i]);
i++;
};
return CC6;
}
/* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::A(double z)
{
double AA;
AA=z*(8.0*pow(z, 2.0)+5.0*z-7.0)/(12.0*pow((z-1.0),3.0));
AA=AA+pow(z,2.0)*(2.0-3.0*z)*log(z)/(2.0*pow((z-1.0),4.0));
return AA;
}
/* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::B(double z)
{
double BB;
BB=z/(4.0*(1.0-z))+z*log(z)/(4.0*pow((1.0-z),2.0));
return BB;
}
/* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::C_Bur(double z)
{
double CC;
CC=z*(z-6.0)/(8.0*(z-1.0));
CC=CC+z*(3.0*z+2.0)*log(z)/(8.0*pow((z-1.0),2.0));
return CC;
}
/* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::D_Bur(double z)
{
double DD;
DD=(25.0*pow(z,2.0)-19.0*pow(z,3.0))/(36.0*pow((z-1.0),3.0));
DD=DD+pow(z,2.0)*(5.0*pow(z,2.0)-2.0*z-6.0)*log(z)/(18.0*pow((z-1.0),4.0));
DD=DD-(4.0/9.0)*log(z);
return DD;
}
/* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::E(double z)
{
double EE;
EE=z*(18.0-11.0*z-z*z)/(12.0*pow((1.0-z),3.0));
EE=EE+pow(z,2.0)*(15.0-16.0*z+4.0*z*z)*log(z)/(6.0*pow((1.0-z),4.0));
EE=EE-(2.0/3.0)*log(z);
return EE;
}
/* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::F_Bur(double z)
{
double FF;
FF=z*(pow(z,2.0)-5.0*z-2.0)/(4.0*pow((z-1.0),3.0));
FF=FF+3.0*pow(z,2.0)*log(z)/(2.0*pow((z-1.0),4.0));
return FF;
}
/* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::Y(double z)
{
double YY;
YY=C_Bur(z)-B(z);
return YY;
}
/* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::Z(double z)
{
double ZZ;
ZZ=C_Bur(z)+0.25*D_Bur(z);
return ZZ;
}
/* Coefficient C7gamma(mu) in the SM *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
double EvtbTosllWilsCoeffNLO::C7gamma(double mu, double Mw, double mt, int Nf, int ias )
{
double C7, C70, C80, sum;
double AA, FF;
double x, eta;
double asW, asmu;
int i;
double a[]={14.0/23.0, 16.0/23.0, 6.0/23.0, -12.0/23.0,
0.4086, -0.4230, -0.8994, 0.1456};
double h[]={2.2996, -1.0880, -3.0/7.0, -1.0/14.0, -0.6494,
-0.0380, -0.0186, -0.0057};
x =pow(mt/Mw, 2.0);
asW =As(Mw,Nf,ias);
asmu=As(mu,Nf,ias);
eta =asW/asmu;
AA=A(x);
FF=F_Bur(x);
C70=-0.5*AA;
C80=-0.5*FF;
C7=pow(eta,(16.0/23.0))*C70;
C7=C7+(8.0/3.0)*(pow(eta,(14.0/23.0))-pow(eta,(16.0/23.0)))*C80;
sum=0.0;
i=0;
while(i<8)
{
sum=sum+h[i]*pow(eta,a[i]);
i++;
};
C7=C7+sum;
return C7;
}
/* Coefficient P_E *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186; *
* see formula (2.12). */
double EvtbTosllWilsCoeffNLO::Pe(double eta)
{
double sum;
double Pee;
int i;
double a[]={14.0/23.0, 16.0/23.0, 6.0/23.0, -12.0/23.0,
0.4086, -0.4230, -0.8994, 0.1456};
double q[]={0.0, 0.0, 0.0, 0.0, 0.0318, 0.0918, -0.2700, 0.0059};
sum=0.0;
i=0;
while(i<8)
{
sum=sum+q[i]*pow(eta,(a[i]+1.0));
i++;
};
Pee=0.1405+sum;
return Pee;
}
/* Coefficient P^{NDR}_0 *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186; *
* see formula (2.11). */
double EvtbTosllWilsCoeffNLO::P0ndr(double asW, double eta)
{
double P00ndr;
double sum;
int i;
double a[]={14.0/23.0, 16.0/23.0, 6.0/23.0, -12.0/23.0,
0.4086, -0.4230, -0.8994, 0.1456};
double p[]={0.0, 0.0, -80.0/203.0, 8.0/33.0, 0.0433,
0.1384, 0.1648, -0.0073};
double r[]={0.0, 0.0, 0.8966, -0.1960, -0.2011, 0.1328,
-0.0292, -0.1858};
double s[]={0.0, 0.0, -0.2009, -0.3579, 0.0490, -0.3616,
-0.3554, 0.0072};
sum=0.0;
i=0;
while(i<8)
{
sum=sum+p[i]*pow(eta,(a[i]+1.0));
i++;
};
P00ndr=EvtConst::pi*(-0.1875+sum)/asW;
P00ndr=P00ndr+1.2468;
sum=0.0;
i=0;
while(i<8)
{
sum=sum+(r[i]+s[i]*eta)*pow(eta,a[i]);
i++;
};
P00ndr=P00ndr+sum;
return P00ndr;
}
/* Coefficient C_{9V} (in the NDR schime) *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186 *
* accordint to the equation (2.10). */
double EvtbTosllWilsCoeffNLO::C9v(double mu, double Mw, double mt, int Nf, int ias)
{
double C9;
double x, eta;
double asW, asmu;
double sin2W=0.224; /* the square of the weak angle */
x= pow(mt/Mw, 2.0);
asW= As(Mw,Nf,ias);
asmu=As(mu,Nf,ias);
eta= asW/asmu;
/* C9 */
C9=P0ndr(asW,eta)+(Y(x)/sin2W)-4.0*Z(x)+Pe(eta)*E(x);
return C9;
}
/* Coefficient C_{10A} *
* by A.J.Buras and M.Munz, Phys.Rev. D52, 186; *
* see formula (2.8). */
double EvtbTosllWilsCoeffNLO::C10a(double mt, double Mw)
{
double C10;
double x;
double sin2W=0.224; /* the square of the Winberg angle */
x=pow(mt/Mw, 2.0);
C10=-Y(x)/sin2W;
return C10;
}
/* The real part of the q\bar q loop contribution *
* Re(h(z,\hat s)) *
* A.J.Buras and M.Munz, Phys.Rev. D52, 186; *
* the equation (2.29). *
* *
* mu - the scale parameter (GeV); *
* mQ - the mass of the u- or c-quark (GeV); *
* q2 - the square of transition 4-momentum (GeV^2). */
double EvtbTosllWilsCoeffNLO::Reh(double mu, double mQ, double q2)
{
double reh, swh;
double x; /* Buras variable "x" from (2.29) */
x=4.0*pow(mQ,2.0)/q2;
reh=8.0/27.0 - 8.0*log(mQ/mu)/9.0 + 4.0*x/9.0;
swh=2.0*(2.0+x)*sqrt(fabs(1.0-x))/9.0;
if(x<=1.0)
{
swh=swh*log(fabs((sqrt(1.0-x)+1.0)/(sqrt(1.0-x)-1.0)));
}
else
{
swh=swh*2.0*atan(1.0/sqrt(x-1.0));
};
reh=reh-swh;
return reh;
}
/* Im(h(z,\hat s)) by Buras */
double EvtbTosllWilsCoeffNLO::Imh(double mQ, double q2)
{
double x; /* Buras variable "x" from (2.29) */
double imh;
x=4.0*pow(mQ,2.0)/q2;
if(x<=1.0)
{
imh=2.0*EvtConst::pi*(2.0+x)*sqrt(fabs(1.0-x))/9.0;
}
else
{
imh=0.0;
};
return imh;
}
/* The real part of the one resonant contribution *
* q2 - the square of transition 4-momentum (GeV^2); *
* GV - the decay width of the resonance (GeV); *
* GllV - the decay width of the resonance into l^+ l^- - pair (GeV); *
* MV - the mass of the resonance. */
double EvtbTosllWilsCoeffNLO::ReResonant(double q2, double GV, double GllV, double MV)
{
double reresonant;
double resa, resb;
resa=q2*(MV*MV-q2)*GllV;
resb=MV*((MV*MV-q2)*(MV*MV-q2)+MV*MV*GV*GV);
reresonant=resa/resb;
return reresonant;
}
/* The imaginary part of the one resonant contribution *
* q2 - the square of transition 4-momentum (GeV^2); *
* GV - the decay width of the resonance (GeV); *
* GllV - the decay width of the resonance into l^+ l^- - pair (GeV); *
* MV - the mass of the resonance. */
double EvtbTosllWilsCoeffNLO::ImResonant(double q2, double GV, double GllV, double MV)
{
double imresonant;
double resa, resb;
resa=q2*GV*GllV;
resb=(MV*MV-q2)*(MV*MV-q2)+MV*MV*GV*GV;
imresonant=resa/resb;
return imresonant;
}
/* The real part of the total q\barq-contribution *
* *
* qflavour = 0 corresponding the u-quark contribution *
* = 1 corresponding the c-quark contribution; *
* *
* res_swch = 0 the resonant contribution switch OFF *
* = 1 the resonant contribution switch ON; *
* *
* ias -- switching parameter for Lms[] in the As(..) function. *
* *
* Nf - number of "effective" flavours (for b-quark Nf=5); *
* mu - the scale parameter (GeV); *
* mQ - the mass of the u- or c-quark (GeV); *
* q2 - the square of transition 4-momentum (GeV^2); *
* ml - the mass of the final leptons (GeV); *
* Mw - the mass of the W--meson (GeV). *
* */
double EvtbTosllWilsCoeffNLO::ReHtot(int qflavour, int res_swch, int ias, int Nf,
double mu, double mQ, double q2,
double ml, double Mw)
{
double rehtot;
double rehres, c1, c2;
int i;
/* Total decay widths of the resonances (GeV) */
double Gamma[6];
/* The decay width of the resonances into l^+ l^- - pair (GeV) */
double Gamma_ll[6];
/* The mass of the resonances */
double M[6];
double alpha_qed=1.0/137.0;
switch(qflavour)
{
/* u-quark contribution */
case 0: switch(res_swch)
{
/* The resonant contribution switch OFF */
case 0: rehtot=EvtbTosllWilsCoeffNLO::Reh(mu,mQ,q2);
rehres=0.0;
break;
/* the resonant contribution switch ON */
case 1: rehtot=EvtbTosllWilsCoeffNLO::Reh(mu,mQ,q2);
/* \pho */
M[0] = 0.7755; /* GeV */
Gamma[0] = 0.1494; /* GeV */
/* \omega' */
M[1] = 0.7827; /* GeV */
Gamma[1] = 0.0085; /* GeV */
if(ml < 1.0){
/* in e^+e^- or mu^+mu^- */
Gamma_ll[0] = 0.000007; /* \rho */
Gamma_ll[1] = 0.0000006; /* \omega */
}
else{
/* in \tau^+\tau^- */
Gamma_ll[0] = 0.0; /* \rho */
Gamma_ll[1] = 0.0; /* \omega */
};
c1=EvtbTosllWilsCoeffNLO::C1(mu,Mw,Nf,ias);
c2=EvtbTosllWilsCoeffNLO::C2(mu,Mw,Nf,ias);
i=0;
rehres = 0.0;
while(i<2){
rehres=rehres+3.0*EvtConst::pi*EvtbTosllWilsCoeffNLO::ReResonant(q2,Gamma[i],Gamma_ll[i],M[i])/(sqrt(2.0)*(3.0*c1+c2)*alpha_qed*alpha_qed);
i++;
};
/* The sign plus are corresponded to the relation:
\kappa*(3C_1+C_2)=1
with sign of Wilson coefficien C_2(M_W)=+1 as at work
A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
rehtot=rehtot+rehres;
break;
default: rehtot=0.0;
rehres=0.0;
};
break;
/* c-quark contribution */
case 1: switch(res_swch)
{
/* The resonant contribution switch OFF */
case 0: rehtot=EvtbTosllWilsCoeffNLO::Reh(mu,mQ,q2);
rehres=0.0;
break;
/* the resonant contribution switch ON */
case 1: rehtot=EvtbTosllWilsCoeffNLO::Reh(mu,mQ,q2);
/* J/psi */
M[0] = 3.096916; /* GeV */
Gamma[0] = 0.000093; /* GeV */
/* psi' */
M[1] = 3.68609; /* GeV */
Gamma[1] = 0.000317; /* GeV */
/* psi(3770) */
M[2] = 3.77292; /* GeV */
Gamma[2] = 0.0273; /* GeV */
/* psi(4040) */
M[3] = 4.039; /* GeV */
Gamma[3] = 0.08; /* GeV */
/* psi(4160) */
M[4] = 4.153; /* GeV */
Gamma[4] = 0.103; /* GeV */
/* psi(4415) */
M[5] = 4.421; /* GeV */
Gamma[5] = 0.062; /* GeV */
if(ml < 1.0){
/* in e^+e^- or mu^+mu^- */
Gamma_ll[0] = Gamma[0]*0.059; /* J/psi */
Gamma_ll[1] = Gamma[1]*0.0075; /* psi' */
Gamma_ll[2] = Gamma[2]*0.0000097; /* psi(3770) */
Gamma_ll[3] = Gamma[3]*0.00001; /* psi(4040) */
Gamma_ll[4] = Gamma[4]*0.0000081; /* psi(4160) */
Gamma_ll[5] = Gamma[5]*0.0000094; /* psi(4415) */
}
else{
/* in \tau^+\tau^- */
Gamma_ll[0] = 0.0; /* J/psi */
Gamma_ll[1] = Gamma[1]*0.003; /* psi' */
Gamma_ll[2] = Gamma[2]*0.0; /* psi(3770) */
Gamma_ll[3] = Gamma[3]*0.0; /* psi(4040) */
Gamma_ll[4] = Gamma[4]*0.0; /* psi(4160) */
Gamma_ll[5] = Gamma[5]*0.0; /* psi(4415) */
};
c1=EvtbTosllWilsCoeffNLO::C1(mu,Mw,Nf,ias);
c2=EvtbTosllWilsCoeffNLO::C2(mu,Mw,Nf,ias);
i=0;
rehres = 0.0;
while(i<6){
rehres=rehres+3.0*EvtConst::pi*EvtbTosllWilsCoeffNLO::ReResonant(q2,Gamma[i],Gamma_ll[i],M[i])/((3.0*c1+c2)*alpha_qed*alpha_qed);
i++;
};
/* The sign plus are corresponded to the relation:
\kappa*(3C_1+C_2)=1
with sign of Wilson coefficien C_2(M_W)=+1 as at work
A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
rehtot=rehtot+rehres;
break;
default: rehtot=0.0;
rehres=0.0;
};
break;
default: rehtot=0.0;
rehres=0.0;
};
return rehtot;
}
/* The imaginary of the total q\barq-contribution *
* *
* qflavour = 0 corresponding the u-quark contribution *
* = 1 corresponding the c-quark contribution; *
* *
* res_swch = 0 the resonant contribution switch OFF *
* = 1 the resonant contribution switch ON; *
* *
* ias -- switching parameter for Lms[] in the As(..) function. *
* *
* Nf - number of "effective" flavours (for b-quark Nf=5); *
* mu - the scale parameter (GeV); *
* mQ - the mass of the u- or c-quark (GeV); *
* q2 - the square of transition 4-momentum (GeV^2); *
* ml - the mass of the final leptons (GeV); *
* Mw - the mass of the W--meson (GeV). *
* */
double EvtbTosllWilsCoeffNLO::ImHtot(int qflavour, int res_swch, int ias, int Nf,
double mu, double mQ, double q2,
double ml, double Mw)
{
double imhtot;
double imhres, c1, c2;
int i;
/* Total decay widths of the resonances (GeV) */
double Gamma[6];
/* The decay width of the resonances into l^+ l^- - pair (GeV) */
double Gamma_ll[6];
/* The mass of the resonances */
double M[6];
double alpha_qed=1.0/137.0;
switch(qflavour)
{
/* u-quark contribution */
case 0: switch(res_swch)
{
/* The resonant contribution switch OFF */
case 0: imhtot=EvtbTosllWilsCoeffNLO::Imh(mQ,q2);
imhres=0.0;
break;
/* the resonant contribution switch ON */
case 1: imhtot=EvtbTosllWilsCoeffNLO::Imh(mQ,q2);
/* \pho */
M[0] = 0.7755; /* GeV */
Gamma[0] = 0.1494; /* GeV */
/* \omega' */
M[1] = 0.7827; /* GeV */
Gamma[1] = 0.0085; /* GeV */
if(ml < 1.0){
/* in e^+e^- or mu^+mu^- */
Gamma_ll[0] = 0.000007; /* \rho */
Gamma_ll[1] = 0.0000006; /* \omega */
}
else{
/* in \tau^+\tau^- */
Gamma_ll[0] = 0.0; /* \rho */
Gamma_ll[1] = 0.0; /* \omega */
};
c1=EvtbTosllWilsCoeffNLO::C1(mu,Mw,Nf,ias);
c2=EvtbTosllWilsCoeffNLO::C2(mu,Mw,Nf,ias);
i=0;
imhres = 0.0;
while(i<2){
imhres=imhres+3.0*EvtConst::pi*EvtbTosllWilsCoeffNLO::ImResonant(q2,Gamma[i],Gamma_ll[i],M[i])/(sqrt(2.0)*(3.0*c1+c2)*alpha_qed*alpha_qed);
i++;
};
/* The sign plus are corresponded to the relation:
\kappa*(3C_1+C_2)=1
with sign of Wilson coefficien C_2(M_W)=+1 as at work
A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
imhtot=imhtot+imhres;
break;
default: imhtot=0.0;
imhres=0.0;
};
break;
/* c-quark contribution */
case 1: switch(res_swch)
{
/* The resonant contribution switch OFF */
case 0: imhtot=EvtbTosllWilsCoeffNLO::Imh(mQ,q2);
imhres=0.0;
break;
/* the resonant contribution switch ON */
case 1: imhtot=EvtbTosllWilsCoeffNLO::Imh(mQ,q2);
/* J/psi */
M[0] = 3.096916; /* GeV */
Gamma[0] = 0.000093; /* GeV */
/* psi' */
M[1] = 3.68609; /* GeV */
Gamma[1] = 0.000317; /* GeV */
/* psi(3770) */
M[2] = 3.77292; /* GeV */
Gamma[2] = 0.0273; /* GeV */
/* psi(4040) */
M[3] = 4.039; /* GeV */
Gamma[3] = 0.08; /* GeV */
/* psi(4160) */
M[4] = 4.153; /* GeV */
Gamma[4] = 0.103; /* GeV */
/* psi(4415) */
M[5] = 4.421; /* GeV */
Gamma[5] = 0.062; /* GeV */
if(ml < 1.0){
/* in e^+e^- or mu^+mu^- */
Gamma_ll[0] = Gamma[0]*0.059; /* J/psi */
Gamma_ll[1] = Gamma[1]*0.0075; /* psi' */
Gamma_ll[2] = Gamma[2]*0.0000097; /* psi(3770) */
Gamma_ll[3] = Gamma[3]*0.00001; /* psi(4040) */
Gamma_ll[4] = Gamma[4]*0.0000081; /* psi(4160) */
Gamma_ll[5] = Gamma[5]*0.0000094; /* psi(4415) */
}
else{
/* in \tau^+\tau^- */
Gamma_ll[0] = 0.0; /* J/psi */
Gamma_ll[1] = Gamma[1]*0.003; /* psi' */
Gamma_ll[2] = Gamma[2]*0.0; /* psi(3770) */
Gamma_ll[3] = Gamma[3]*0.0; /* psi(4040) */
Gamma_ll[4] = Gamma[4]*0.0; /* psi(4160) */
Gamma_ll[5] = Gamma[5]*0.0; /* psi(4415) */
};
c1=EvtbTosllWilsCoeffNLO::C1(mu,Mw,Nf,ias);
c2=EvtbTosllWilsCoeffNLO::C2(mu,Mw,Nf,ias);
i=0;
imhres = 0.0;
while(i<6){
imhres=imhres+3.0*EvtConst::pi*EvtbTosllWilsCoeffNLO::ImResonant(q2,Gamma[i],Gamma_ll[i],M[i])/((3.0*c1+c2)*alpha_qed*alpha_qed);
i++;
};
/* The sign plus are corresponded to the relation:
\kappa*(3C_1+C_2)=1
with sign of Wilson coefficien C_2(M_W)=+1 as at work
A.J.Buras and M.Munz, Phys.Rev. D52, 186. */
imhtot=imhtot+imhres;
break;
default: imhtot=0.0;
imhres=0.0;
};
break;
default: imhtot=0.0;
imhres=0.0;
};
return imhtot;
}
/* Function \omega(\hat s) *
* by A.J.Buras, M.Munz, Phys.Rev.D52 (1995), p189. *
* *
* q2 - the square of transition 4-momentum (GeV^2); *
* m2 - the mass of the b-quark (GeV). */
double EvtbTosllWilsCoeffNLO::omega(double q2, double m2)
{
double oomega;
double s;
s=q2/(m2*m2); /* see definition in the equation (2.26) */
if(s>1.0){
s=0.999999;
}
oomega=-2.0*pow(EvtConst::pi,2.0)/9.0-4.0*Li2(s)/3.0;
oomega=oomega-2.0*log(s)*log(1.0-s)/3.0;
oomega=oomega-(5.0+4.0*s)*log(1.0-s)/(3.0*(1.0+2.0*s));
oomega=oomega-2.0*s*(1.0+s)*(1.0-2.0*s)*log(s)/
(3.0*pow((1.0-s),2.0)*(1.0+2.0*s));
oomega=oomega+(5.0+9.0*s-6.0*s*s)/(6.0*(1.0-s)*(1.0+2.0*s));
return oomega;
}
/* REAL PART of the effective coefficient C_9V^{eff}: *
* *
* by A.J.Buras, M.Munz, Phys.Rev.D52 (1995), p189; *
* F.Kruger, L.M.Sehgal, Phys.Rev.D55 (1997), p.2799. *
* *
* decay_id = 0 for b -> q l^+ i^- transitions *
* 1 for \bar b -> \bar q l^+ l^- transitions; *
* *
* res_swch = 0 the resonant contribution switch OFF *
* = 1 the resonant contribution switch ON; *
* *
* ias -- switching parameter for Lms[] in the As(..) function. *
* *
* Nf -- number of "effective" flavors (for b-quark Nf=5); *
* *
* q2 -- the square of transition 4-momentum; *
* m2 -- b-quark mass (in the heavy meson M1), GeV; *
* md -- mass of the u- and d-quarks, GeV; *
* mc -- c-quark mass, GeV; *
* mu -- scale parameter, GeV; *
* mt -- t-quark mass, GeV; *
* Mw -- mass of the W, GeV; *
* ml -- leptonic mass, GeV; *
* *
* Relambda_qu -- Re(V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}), q={d,s}; *
* Imlambda_qu -- Im(V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}), q={d,s}; *
* */
double EvtbTosllWilsCoeffNLO::ReC9eff(int decay_id, int res_swch, int ias, int Nf,
double q2, double m2, double md, double mc,
double mu, double mt, double Mw, double ml,
double Relambda_qu, double Imlambda_qu)
{
double RReC9eff;
double tilde_eta; /* Buras variable " \tilde\eta" in (2.33) */
double c1,c2,c3,c4,c5,c6,c9;
double RReh_d,RReh_b,RReHtot_u,IImHtot_u,RReHtot_c,IImHtot_c;
tilde_eta=1.0+EvtbTosllWilsCoeffNLO::As(mu,Nf,ias)
*EvtbTosllWilsCoeffNLO::omega(q2,m2)/EvtConst::pi;
c1=EvtbTosllWilsCoeffNLO::C1(mu,Mw,Nf,ias);
c2=EvtbTosllWilsCoeffNLO::C2(mu,Mw,Nf,ias);
c3=EvtbTosllWilsCoeffNLO::C3(mu,Mw,Nf,ias);
c4=EvtbTosllWilsCoeffNLO::C4(mu,Mw,Nf,ias);
c5=EvtbTosllWilsCoeffNLO::C5(mu,Mw,Nf,ias);
c6=EvtbTosllWilsCoeffNLO::C6(mu,Mw,Nf,ias);
c9=EvtbTosllWilsCoeffNLO::C9v(mu,Mw,mt,Nf,ias);
RReh_d =EvtbTosllWilsCoeffNLO::Reh(mu,md,q2);
RReh_b =EvtbTosllWilsCoeffNLO::Reh(mu,m2,q2);
RReHtot_u=EvtbTosllWilsCoeffNLO::ReHtot(0,res_swch,ias,Nf,mu,md,q2,ml,Mw);
IImHtot_u=EvtbTosllWilsCoeffNLO::ImHtot(0,res_swch,ias,Nf,mu,md,q2,ml,Mw);
RReHtot_c=EvtbTosllWilsCoeffNLO::ReHtot(1,res_swch,ias,Nf,mu,mc,q2,ml,Mw);
IImHtot_c=EvtbTosllWilsCoeffNLO::ImHtot(1,res_swch,ias,Nf,mu,mc,q2,ml,Mw);
RReC9eff=c9*tilde_eta+2.0*(3.0*c3+c4+3.0*c5+c6)/9.0;
RReC9eff=RReC9eff+(3.0*c1+c2+3.0*c3+c4+3.0*c5+c6)*RReHtot_c;
RReC9eff=RReC9eff-0.5*(4.0*c3+4.0*c4+3.0*c5+c6)*RReh_b;
RReC9eff=RReC9eff-0.5*(c3+3.0*c4)*RReh_d;
switch(decay_id)
{
/* b -> q l^+ i^- transitions */
case 0: RReC9eff=RReC9eff+(3.0*c1+c2)*(Relambda_qu*(RReHtot_c-RReHtot_u) -
Imlambda_qu*(IImHtot_c-IImHtot_u));
break;
/* \bar b -> \bar q l^+ i^- transitions */
case 1: RReC9eff=RReC9eff+(3.0*c1+c2)*(Relambda_qu*(RReHtot_c-RReHtot_u) +
Imlambda_qu*(IImHtot_c-IImHtot_u));
break;
};
-// EvtGenReport(NOTICE,"EvtGen")
+// EvtGenReport(EVTGEN_NOTICE,"EvtGen")
// << "\n =============================================================="
// << "\n =============================================================="
// << "\n\n The function EvtbTosllWilsCoeffNLO::ReC9eff(...) passed."
// << "\n Particle masses:"
// << "\n q2 = " << q2
// << "\n s = " << q2/(m2*m2)
// << "\n leptonic mass ml = " << ml
// << "\n u or d - quarks mass md = " << md
// << "\n c - quark mass mc = " << mc
// << "\n b - quark mass mb = " << m2
// << "\n t - quark mass mt = " << mt
// << "\n W - boson mass Mw = " << Mw
// << "\n ==============================================================="
// << "\n Input parameters:"
// << "\n scale parameter mu = " << mu
// << "\n number of flavors Nf = " << Nf
// << "\n resonant switching = " << res_swch
// << "\n decay id = " << decay_id
// << "\n parameter for alpha_s(M_Z) = " << ias
// << "\n Relambda_qu = " << Relambda_qu
// << "\n Imlambda_qu = " << Imlambda_qu
// << "\n ================================================================"
// << "\n Wilson Coefficients:"
// << "\n c1 = " << c1
// << "\n c2 = " << c2
// << "\n c3 = " << c3
// << "\n c4 = " << c4
// << "\n c5 = " << c5
// << "\n c6 = " << c6
// << "\n c9 = " << c9
// << "\n Reh_d = " << RReh_d
// << "\n Reh_b = " << RReh_b
// << "\n ReHtot_u = " << RReHtot_u
// << "\n ReHtot_c = " << RReHtot_c
// << "\n ImHtot_u = " << IImHtot_u
// << "\n ImHtot_c = " << IImHtot_c
// << "\n RReC9eff = " << RReC9eff
// << "\n tilde_eta = " << tilde_eta
// << "\n ================================================================="
// << "\n ================================================================="
// << std::endl;
return RReC9eff;
}
/* IMAGINARY PART of the effective coefficient C_9V^{eff}: *
* *
* by A.J.Buras, M.Munz, Phys.Rev.D52 (1995), p189; *
* F.Kruger, L.M.Sehgal, Phys.Rev.D55 (1997), p.2799. *
* *
* decay_id = 0 for b -> q l^+ i^- transitions *
* 1 for \bar b -> \bar q l^+ l^- transitions; *
* *
* res_swch = 0 the resonant contribution switch OFF *
* = 1 the resonant contribution switch ON; *
* *
* ias -- switching parameter for Lms[] in the As(..) function. *
* *
* Nf -- number of "effective" flavors (for b-quark Nf=5); *
* *
* q2 -- the square of transition 4-momentum; *
* m2 -- b-quark mass (in the heavy meson M1), GeV; *
* md -- mass of the u- and d-quarks, GeV; *
* mc -- c-quark mass, GeV; *
* mu -- scale parameter, GeV; *
* Mw -- mass of the W, GeV; *
* ml -- leptonic mass, GeV; *
* *
* Relambda_qu -- Re(V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}), q={d,s}; *
* Imlambda_qu -- Im(V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}), q={d,s}; *
* */
double EvtbTosllWilsCoeffNLO::ImC9eff(int decay_id, int res_swch, int ias, int Nf,
double q2, double m2, double md, double mc,
double mu, double Mw, double ml,
double Relambda_qu, double Imlambda_qu)
{
double IImC9eff;
double c1,c2,c3,c4,c5,c6;
double IImh_d,IImh_b,RReHtot_u,IImHtot_u,RReHtot_c,IImHtot_c;
c1=EvtbTosllWilsCoeffNLO::C1(mu,Mw,Nf,ias);
c2=EvtbTosllWilsCoeffNLO::C2(mu,Mw,Nf,ias);
c3=EvtbTosllWilsCoeffNLO::C3(mu,Mw,Nf,ias);
c4=EvtbTosllWilsCoeffNLO::C4(mu,Mw,Nf,ias);
c5=EvtbTosllWilsCoeffNLO::C5(mu,Mw,Nf,ias);
c6=EvtbTosllWilsCoeffNLO::C6(mu,Mw,Nf,ias);
IImh_d =EvtbTosllWilsCoeffNLO::Imh(md,q2);
IImh_b =EvtbTosllWilsCoeffNLO::Imh(m2,q2);
RReHtot_u=EvtbTosllWilsCoeffNLO::ReHtot(0,res_swch,ias,Nf,mu,md,q2,ml,Mw);
IImHtot_u=EvtbTosllWilsCoeffNLO::ImHtot(0,res_swch,ias,Nf,mu,md,q2,ml,Mw);
RReHtot_c=EvtbTosllWilsCoeffNLO::ReHtot(1,res_swch,ias,Nf,mu,mc,q2,ml,Mw);
IImHtot_c=EvtbTosllWilsCoeffNLO::ImHtot(1,res_swch,ias,Nf,mu,mc,q2,ml,Mw);
IImC9eff=(3.0*c1+c2+3.0*c3+c4+3.0*c5+c6)*IImHtot_c;
IImC9eff=IImC9eff-0.5*(4.0*c3+4.0*c4+3.0*c5+c6)*IImh_b;
IImC9eff=IImC9eff-0.5*(c3+3.0*c4)*IImh_d;
switch(decay_id)
{
/* b -> q l^+ i^- transitions */
case 0: IImC9eff=IImC9eff+(3.0*c1+c2)*(Relambda_qu*(IImHtot_c-IImHtot_u) +
Imlambda_qu*(RReHtot_c-RReHtot_u));
break;
/* \bar b -> \bar q l^+ i^- transitions */
case 1: IImC9eff=IImC9eff+(3.0*c1+c2)*(Relambda_qu*(IImHtot_c-IImHtot_u) -
Imlambda_qu*(RReHtot_c-RReHtot_u));
break;
};
return IImC9eff;
}
/* Complex representation for the coefficient C_9V: *
* *
* by A.J.Buras, M.Munz, Phys.Rev.D52 (1995), p189; *
* F.Kruger, L.M.Sehgal, Phys.Rev.D55 (1997), p.2799. *
* *
* decay_id = 0 for b -> q l^+ i^- transitions *
* 1 for \bar b -> \bar q l^+ l^- transitions; *
* *
* res_swch = 0 the resonant contribution switch OFF *
* = 1 the resonant contribution switch ON; *
* *
* ias -- switching parameter for Lms[] in the As(..) function. *
* *
* Nf -- number of "effective" flavors (for b-quark Nf=5); *
* *
* q2 -- the square of transition 4-momentum; *
* m2 -- b-quark mass (in the heavy meson M1), GeV; *
* md -- mass of the u- and d-quarks, GeV; *
* mc -- c-quark mass, GeV; *
* mu -- scale parameter, GeV; *
* mt -- t-quark mass, GeV; *
* Mw -- mass of the W, GeV; *
* ml -- leptonic mass, GeV; *
* *
* Relambda_qu -- Re(V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}), q={d,s}; *
* Imlambda_qu -- Im(V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}), q={d,s}; *
* */
EvtComplex EvtbTosllWilsCoeffNLO::GetC9Eff(int decay_id, int res_swch, int ias, int Nf,
double q2, double m2, double md, double mc,
double mu, double mt, double Mw, double ml,
double Relambda_qu, double Imlambda_qu)
{
double RReC9eff, IImC9eff;
EvtComplex unit1(1.0,0.0);
EvtComplex uniti(0.0,1.0);
EvtComplex c9eff;
RReC9eff=EvtbTosllWilsCoeffNLO::ReC9eff(decay_id,res_swch,ias,Nf,
q2,m2,md,mc,mu,mt,Mw,ml,Relambda_qu,Imlambda_qu);
IImC9eff=EvtbTosllWilsCoeffNLO::ImC9eff(decay_id,res_swch,ias,Nf,
q2,m2,md,mc,mu,Mw,ml,Relambda_qu,Imlambda_qu);
c9eff=RReC9eff*unit1+IImC9eff*uniti;
return c9eff;
}
/* Complex representation for the coefficient C7gamma: *
* C7gamma=ReC7gamma *
* by A.J.Buras, M.Munz, Phys.Rev.D52 (1995), p189 *
* *
* mu -- scale parameter, GeV; *
* mt -- t-quark mass, GeV; *
* Mw -- mass of the W--meson, GeV; *
* Nf -- number of "effective" flavors *
* (for b-quark Nf=5); *
* ias -- switching parameter for Lms[] *
* in the As(..) function. *
* */
EvtComplex EvtbTosllWilsCoeffNLO::GetC7Eff(double mu, double Mw, double mt, int Nf, int ias)
{
double CC7gamma;
EvtComplex c7eff;
EvtComplex unit1(1.0,0.0);
CC7gamma=EvtbTosllWilsCoeffNLO::C7gamma(mu, Mw, mt, Nf, ias );
c7eff=unit1*CC7gamma;
return c7eff;
}
/* Complex representation for the coefficient C_10A: *
* C_10A=ReC_10 *
* by A.J.Buras, M.Munz, Phys.Rev.D52 (1995), p189 *
* *
* mt -- t-quark mass, GeV; *
* Mw -- mass of the W--meson, GeV; *
* */
EvtComplex EvtbTosllWilsCoeffNLO::GetC10Eff(double mt, double Mw)
{
double ReC10;
EvtComplex c10eff;
EvtComplex unit1(1.0,0.0);
ReC10=EvtbTosllWilsCoeffNLO::C10a(mt, Mw);
c10eff=unit1*ReC10;
return c10eff;
}
diff --git a/src/EvtGenModels/Evtbs2llGammaFFMNT.cpp b/src/EvtGenModels/Evtbs2llGammaFFMNT.cpp
index d2c44c0..933e0bc 100644
--- a/src/EvtGenModels/Evtbs2llGammaFFMNT.cpp
+++ b/src/EvtGenModels/Evtbs2llGammaFFMNT.cpp
@@ -1,191 +1,188 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package.
//
// Module:
// Description: Form-factors for B_q -> gamma transitions, q={d,s}
// according to the papers:
// 1) F.Kruger, D.Melikhov, Phys. Rev. D67, 034002, 2003.
// 2) D.Melikhov, N.Nikitin, Phys. Rev. D70, 114028, 2004.
// 3) I.Balakireva, D.Melikhov, N.Nikitin, D.Tlisov,
// Phys. Rev. D81, 054024, 2010.
//
// Modification history:
//
// A.Popov October 03, 2008 Module created
// N.Nikitin October 10, 2008 Prepare the main classes
// A.Popov October 30, 2008 Add the Ftv(0,q^2) and Fta(0,q^2) form-factors
// N.Nikitin March 01, 2010 Add the weak annihilation contribution
// N.Nikitin July 16, 2010 Has corrected the found bugs
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenModels/Evtbs2llGammaFFMNT.hh"
#include <cmath>
#include <cstdlib>
Evtbs2llGammaFFMNT::Evtbs2llGammaFFMNT(){}
/* *
* decay_id = 0 for b \bar q -> l^+ l^- \gamma transitions *
* 1 for q \bar b -> l^+ l^- \gamma transitions; *
* fb - leptonic decay constant of the B_q - meson; *
* mb - the mass of the b-quark; *
* mq - the mass of the light quark (d or s); *
* c7gam - Wilson coefficient C_{7\gamma}; *
* a1 = c1 + c2/3.0 - linear combination of the Wils. Coeff.; *
* lambda_qu = V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}, where q={d,s}; *
* lambda_qc = V^*_{cq}*V_{cb}/V^*_{tq}*V_{tb}, where q={d,s}. *
* */
-void Evtbs2llGammaFFMNT::getPhotonFF(int decay_id, double fb,
+void Evtbs2llGammaFFMNT::getPhotonFF(int decay_id, double fb,
EvtId parent,
double q2, double M1,
double mb, double mq,
- EvtComplex c7gam, EvtComplex a1,
- EvtComplex lambda_qu, EvtComplex lambda_qc,
+ EvtComplex c7gam, EvtComplex a1,
+ EvtComplex lambda_qu, EvtComplex lambda_qc,
EvtComplex& Fv, EvtComplex& Fa,
EvtComplex& Ftv, EvtComplex& Fta){
EvtComplex unit1(1.0,0.0); // real unit
EvtComplex uniti(0.0,1.0); // imaginary unit
EvtComplex unit0(0.0,0.0); // complex zero unit
// characteristics of resonances rho, omega, phi
double M_res[] = {0.7758, 0.78259, 1.019456}; // particle masses, Gev
double Gamma[] = {0.1503, 0.00849, 0.00426}; // particle widthes, Gev
double f_lept[] = {5.04, 17.1, -13.2}; // decay constants f_i
double g_plus[] = {0.27, -0.27, -0.38}; // and form-factors g+(0)
- g_plus[0] = g_plus[0]/sqrt(2.0); // by D.Melikhov, N.Nikitin, K.Toms,
- g_plus[1] = g_plus[1]/sqrt(2.0); // Phys.At.Nucl. 68, p.1842 (2005)
+ g_plus[0] = g_plus[0]/sqrt(2.0); // by D.Melikhov, N.Nikitin, K.Toms,
+ g_plus[1] = g_plus[1]/sqrt(2.0); // Phys.At.Nucl. 68, p.1842 (2005)
double hatq2 = q2/pow(M1,2);
- // E - photon energy in the B-meson rest frame
+ // E - photon energy in the B-meson rest frame
double E = 0.5*M1*(1-hatq2);
// parametrs for form-factors Fv, Ftv, Fa, Fta
-
//(by D.Melikhov, N.Nikitin, K.Toms, Yad. Fiz. 62, No 11)
double beta[] = {0.28, 0.30, 0.26, 0.33}; // beta, Gev^(-1)
double Delta[] = {0.04, 0.04, 0.30, 0.30}; // Delta, Gev
// form-factors
EvtComplex Ftvq0, Ftaq0, Ftv00, Fta00;
Fv = unit1*beta[0]*fb*M1/(Delta[0]+E); // Fv(q^2)
Ftvq0 = unit1*beta[1]*fb*M1/(Delta[1]+E); // Ftv(q^2,0)
Fa = unit1*beta[2]*fb*M1/(Delta[2]+E); // Fa(q^2)
Ftaq0 = unit1*beta[3]*fb*M1/(Delta[3]+E); // Fta(q^2,0)
Ftv00 = unit1*beta[1]*fb*M1/(Delta[1] + 0.5*M1); // Ftv(0,0)
Fta00 = unit1*beta[3]*fb*M1/(Delta[3] + 0.5*M1); // Fta(0,0)
EvtComplex Ftv_WA(0.0,0.0); // the weak annihilation contribution
// Resonant contribution to the form-factors Ftv(0,q^2) and Fta(0,q^2)
EvtComplex ResSum(0.0, 0.0);
if(parent == EvtPDL::getId(std::string("B_s0"))||
parent == EvtPDL::getId(std::string("anti-B_s0"))){
// only \phi-resonant contribution to the Bs-decays
- ResSum =
- 2.0*g_plus[2]*q2/(f_lept[2]*(unit1*(q2-pow(M_res[2],2))+uniti*M_res[2]*Gamma[2]));
+ ResSum = 2.0*g_plus[2]*q2/(f_lept[2]*(unit1*(q2-pow(M_res[2],2))+uniti*M_res[2]*Gamma[2]));
}
if(parent == EvtPDL::getId(std::string("B_d0"))||
parent == EvtPDL::getId(std::string("anti-B_d0"))){
// \rho- and \omega-resonant contribution to the Bd-decays
for (int i=0; i<2; i++){
- ResSum = ResSum +
- 2.0*g_plus[i]*q2/(f_lept[i]*(unit1*(q2-pow(M_res[i],2))+uniti*M_res[i]*Gamma[i]));
+ ResSum = ResSum + 2.0*g_plus[i]*q2/(f_lept[i]*(unit1*(q2-pow(M_res[i],2))+uniti*M_res[i]*Gamma[i]));
}
}
EvtComplex Ftv0q = Ftv00 - ResSum; // form-factor Ftv(0,q^2)
EvtComplex Fta0q = Fta00 - ResSum; // form-factor Fta(0,q^2)
// Ftv(q^2,q^2) = Ftv(q^2,0)+Ftv(0,q^2)
Ftv = Ftvq0+Ftv0q;
// Fta(q^2,q^2) = Fta(q^2,0)+Fta(0,q^2)
Fta = Ftaq0+Fta0q;
// Weak annihilation
if(abs(c7gam)<0.0000001){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n\n The function Evtbs2llGammaFFMNT::getPhotonFF"
<< "\n Error: the Wilson coefficient C7gamma = 0!"
<< " c7gam = " << c7gam << std::endl;
::abort();
}
if(mb<0.001){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n\n The function Evtbs2llGammaFFMNT::getPhotonFF"
<< " mb = " << mb << " << 5 GeV!" << std::endl;
::abort();
- }
+ }
- switch(decay_id){
+ switch(decay_id){
/* b \bar q -> l^+ l^- \gamma transitions */
case 0:
Ftv_WA =(16.0/3.0)*(lambda_qu + lambda_qc)*(a1/c7gam)*(fb/mb);
Ftv = (1.0 + mq/mb)*Ftv - Ftv_WA;
Fta = (1.0 - mq/mb)*Fta;
- Fv = Fv;
- Fa = Fa;
+ //Fv = Fv;
+ //Fa = Fa;
break;
/* q \bar b -> l^+ l^- \gamma transitions */
case 1:
Ftv_WA =(16.0/3.0)*conj(lambda_qu+lambda_qc)*(a1/c7gam)*(fb/mb);
Ftv = (1.0 + mq/mb)*Ftv + Ftv_WA;
- Fta = (1.0 - mq/mb)*Fta; // The change of the sign
- Fv = Fv; // is included in the
- Fa = Fa; // amplitudes definition!
+ Fta = (1.0 - mq/mb)*Fta; // The change of the sign
+ //Fv = Fv; // is included in the
+ //Fa = Fa; // amplitudes definition!
- break;
+ break;
};
}
// Getting the quark mass (in GeV) using to the dispersion quark model
// of D.Melikhov, B.Stech, PRD62, 014006 (2000).
//
// i=1 => return m_u;
// i=2 => return m_d;
// i=3 => return m_s;
// i=4 => return m_c;
// i=5 => return m_b;
double Evtbs2llGammaFFMNT::getQuarkMass(int i){
double qm=0.0;
switch(i)
{
case 1:
qm=0.23; // m_u
break;
case 2:
qm=0.23; // m_d = m_u
break;
case 3:
qm=0.35; // m_s
break;
case 4:
qm=1.45; // m_c
break;
case 5:
qm=4.85; // m_b
break;
default:
- EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") <<
"In the function EvtbTosllMSFF::getQuarkMass \n" <<
"the parametr i not equal 1, 2, 3, 4 or 5! \n" <<
"i =" << i <<std::endl;
::abort();
}
return qm;
}
diff --git a/src/EvtGenModels/Evtbs2llGammaMNT.cpp b/src/EvtGenModels/Evtbs2llGammaMNT.cpp
index 5499bea..b21ccbe 100644
--- a/src/EvtGenModels/Evtbs2llGammaMNT.cpp
+++ b/src/EvtGenModels/Evtbs2llGammaMNT.cpp
@@ -1,184 +1,185 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech, UCSB
//
// Module: Evtbs2llGammaMNT.ccp
//
// Description: decay model BSTOGLLMNT
//
// Modification history:
//
// A.Popov October 24, 2008 Module created
// A.Popov and N.Nikitin February 25, 2010 New description of CP-violation
//
//------------------------------------------------------------------------
//
#include <stdlib.h>
#include <string.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/Evtbs2llGammaFFMNT.hh"
#include "EvtGenModels/EvtbTosllWilsCoeffNLO.hh"
#include "EvtGenModels/Evtbs2llGammaAmp.hh"
#include "EvtGenModels/Evtbs2llGammaMNT.hh"
Evtbs2llGammaMNT::~Evtbs2llGammaMNT() {
delete _mntffmodel ;
if ( _calcamp ) delete _calcamp ;
}
// The module name specification
std::string Evtbs2llGammaMNT::getName(){
- return "BSTOGLLMNT";
+ return "BSTOGLLMNT";
}
// The implementation of the clone() method
EvtDecayBase* Evtbs2llGammaMNT::clone(){
return new Evtbs2llGammaMNT;
}
// The inicialization of the decay model
//
// Tn the our model we have are following 4 arguments:
//
// mu - the scale parameter, GeV;
// Nf - number of "effective" flavors (for b-quark Nf=5);
// res_swch - resonant switching parametr:
// = 0 the resonant contribution switched OFF,
// = 1 the resonant contribution switched ON;
// ias - switching parametr for \alpha_s(M_Z) value:
// = 0 PDG 1sigma minimal alpha_s(M_Z),
// = 1 PDG average value alpha_s(M_Z),
// = 2 PDG 1sigma maximal alpha_s(M_Z).
// Egamma_max - photon energy cut, GeV;
// Wolfenstein parameterization for CKM matrix
// CKM_A, CKM_lambda, CKM_barrho, CKM_bareta
//
void Evtbs2llGammaMNT::init(){
// check that there are 9 arguments
checkNArg(9);
// check that there are 3 daughteres
checkNDaug(3);
// We expect that the parent to be a scalar (B-meson)
// and the daughters to be Gamma, l^+ and l^-
checkSpinParent(EvtSpinType::SCALAR);
// We expect that the first daughter is the photon
EvtSpinType::spintype photontype=EvtPDL::getSpinType(getDaug(0));
if (!(photontype == EvtSpinType::PHOTON)) {
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Evtbs2llGammaMNT generator expected "
<< " a PHOTON 1st daughter, found:"<<
EvtPDL::name(getDaug(0)).c_str()<<std::endl;
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "Will terminate execution!"<<std::endl;
::abort();
}
// We expect that the second and third daughters
// are the ell+ and ell- == DIRAC
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::DIRAC);
_mntffmodel = new Evtbs2llGammaFFMNT();
_wilscoeff = new EvtbTosllWilsCoeffNLO();
if (photontype == EvtSpinType::PHOTON){
- _calcamp = new Evtbs2llGammaAmp();
+ _calcamp = new Evtbs2llGammaAmp();
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "The init()-function in the Evtbs2llGammaMNT generator:"
<< "The absence in the radiative decay!"<<std::endl;
::abort();
}
}
// Set the maximum probability of the decay
// differencial distribution d^2\Gamma/d\hat s d\cos\theta
void Evtbs2llGammaMNT::initProbMax(){
double mymaxprob=-10.0; // maximum of the probability
EvtId parnum,photnum,l1num,l2num;
parnum = getParentId();
photnum = getDaug(0);
l1num = getDaug(1);
l2num = getDaug(2);
double mu = getArg(0); // the scale parameter
int Nf = (int) getArg(1); // number of "effective" flavors
int res_swch = (int) getArg(2); // resonant switching parametr
int ias = (int) getArg(3); // switching parametr for \alpha_s(M_Z)
- double Egamma_max = getArg(4); // photon energy cut
- double CKM_A = getArg(5);
- double CKM_lambda = getArg(6);
- double CKM_barrho = getArg(7);
+ double Egamma_max = getArg(4); // photon energy cut
+ double CKM_A = getArg(5);
+ double CKM_lambda = getArg(6);
+ double CKM_barrho = getArg(7);
double CKM_bareta = getArg(8);
- mymaxprob = _calcamp->CalcMaxProb(parnum, photnum, l1num, l2num,
- _mntffmodel, _wilscoeff, mu, Nf, res_swch, ias,
+ mymaxprob = _calcamp->CalcMaxProb(parnum, photnum, l1num, l2num,
+ _mntffmodel, _wilscoeff, mu, Nf, res_swch, ias,
Egamma_max, CKM_A, CKM_lambda, CKM_barrho, CKM_bareta);
if(mymaxprob <= 0.0){
- EvtGenReport(EVTGEN_ERROR,"EvtGen") << "The function void Evtbs2llGammaMNT::initProbMax()"
+ EvtGenReport(EVTGEN_ERROR,"EvtGen") << "The function void Evtbs2llGammaMNT::initProbMax()"
<< "\n Unexpected value of the probability maximum!"
<< "\n mymaxprob = " << mymaxprob
<<std::endl;
::abort();
}
setProbMax(mymaxprob);
}
void Evtbs2llGammaMNT::decay( EvtParticle *p ){
double mu = getArg(0); // the scale parameter
int Nf = (int) getArg(1); // number of "effective" flavors
int res_swch = (int) getArg(2); // resonant switching parametr
int ias = (int) getArg(3); // switching parametr for \alpha_s(M_Z)
- double Egamma_max = getArg(4); // photon energy cut
- double CKM_A = getArg(5);
- double CKM_lambda = getArg(6);
- double CKM_barrho = getArg(7);
+ double Egamma_max = getArg(4); // photon energy cut
+ double CKM_A = getArg(5);
+ double CKM_lambda = getArg(6);
+ double CKM_barrho = getArg(7);
double CKM_bareta = getArg(8);
p->initializePhaseSpace(getNDaug(),getDaugs());
// The class "Evtbs2llGammaFFMNT" is the derived class of the
// class "Evtbs2llGammaFF" (see the file "Evtbs2llGammaFF.hh")
- _calcamp->CalcAmp(p,_amp2,_mntffmodel, _wilscoeff, mu, Nf, res_swch, ias,
+ _calcamp->CalcAmp(p,_amp2,_mntffmodel, _wilscoeff, mu, Nf, res_swch, ias,
Egamma_max, CKM_A,CKM_lambda,CKM_barrho,CKM_bareta);
// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n "
// << "\n The function Evtbs2llGammaMNT::decay(...) passed with arguments:"
// << "\n mu = " << mu << " Nf =" << Nf
// << "\n res_swch = " << res_swch
// << "\n ias = " << ias
// << "\n Egamma_max =" << Egamma_max
// << "\n CKM_A = " << CKM_A
// << "\n CKM_lambda = " << CKM_lambda
// << "\n CKM_barrho = " << CKM_barrho
// << "\n CKM_bareta = " << CKM_bareta
// << "\n "
// << std::endl;
}
+
diff --git a/src/EvtGenModels/EvtbsToLLLL.cpp b/src/EvtGenModels/EvtbsToLLLL.cpp
index 61288ed..51f2f8d 100644
--- a/src/EvtGenModels/EvtbsToLLLL.cpp
+++ b/src/EvtGenModels/EvtbsToLLLL.cpp
@@ -1,168 +1,168 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech, UCSB
//
// Module: EvtbsToLLLL.ccp
//
// Description:
//
// Modification history:
//
// N.Nikitin July 24, 2011 Module created
//
//------------------------------------------------------------------------
//
#include <stdlib.h>
#include <string.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/Evtbs2llGammaFFMNT.hh"
#include "EvtGenModels/EvtbTosllWilsCoeffNLO.hh"
#include "EvtGenModels/EvtbsToLLLLAmp.hh"
#include "EvtGenModels/EvtbsToLLLL.hh"
EvtbsToLLLL::~EvtbsToLLLL() {
delete _mntffmodel ;
if ( _calcamp ) delete _calcamp ;
}
// The module name specification
std::string EvtbsToLLLL::getName( ) {
return "BQTOLLLL" ;
}
// The implementation of the clone() method
EvtDecayBase* EvtbsToLLLL::clone(){
return new EvtbsToLLLL;
}
// The inicialization of the decay model
//
// Tn the our model we have are following 4 arguments:
//
// mu - the scale parameter, GeV;
// Nf - number of "effective" flavors (for b-quark Nf=5);
// res_swch - resonant switching parametr:
// = 0 the resonant contribution switched OFF,
// = 1 the resonant contribution switched ON;
// ias - switching parametr for \alpha_s(M_Z) value:
// = 0 PDG 1sigma minimal alpha_s(M_Z),
// = 1 PDG average value alpha_s(M_Z),
// = 2 PDG 1sigma maximal alpha_s(M_Z).
// Wolfenstein parameterization for CKM matrix
// CKM_A, CKM_lambda, CKM_barrho, CKM_bareta
//
void EvtbsToLLLL::init(){
// check that there are 8 arguments
checkNArg(8);
// check that there are 4 daughteres
checkNDaug(4);
// We expect that the parent to be a scalar (B-meson)
// and the daughters to be l^+, l^-, l^+ and l^-
checkSpinParent(EvtSpinType::SCALAR);
// We expect that the all daughters are the ell+ or ell- == DIRAC
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::DIRAC);
checkSpinDaughter(3,EvtSpinType::DIRAC);
_mntffmodel = new Evtbs2llGammaFFMNT();
_wilscoeff = new EvtbTosllWilsCoeffNLO();
_calcamp = new EvtbsToLLLLAmp();
}
// Set the maximum probability of the decay
void EvtbsToLLLL::initProbMax(){
double mymaxprob=-10.0; // maximum of the probability
// EvtId parnum, l1num, l2num, l3num, l4num;
// parnum = getParentId();
// l1num = getDaug(0);
// l2num = getDaug(1);
// l3num = getDaug(2);
// l4num = getDaug(3);
// EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
// double mu = getArg(0); // the scale parameter
// int Nf = (int) getArg(1); // number of "effective" flavors
// int res_swch = (int) getArg(2); // resonant switching parametr
// int ias = (int) getArg(3); // switching parametr for \alpha_s(M_Z)
// double CKM_A = getArg(4);
// double CKM_lambda = getArg(5);
// double CKM_barrho = getArg(6);
// double CKM_bareta = getArg(7);
mymaxprob = _calcamp->CalcMaxProb(
// parnum, l1num,l2num, l3num,l4num,
// _mntffmodel, _wilscoeff,
// mu, Nf, res_swch, ias,
// CKM_A,CKM_lambda,CKM_barrho,CKM_bareta
);
if(mymaxprob <= 0.0){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "The function void EvtbsToLLLL::initProbMax()"
<< "\n Unexpected value of the probability maximum!"
<< "\n mymaxprob = " << mymaxprob
<<std::endl;
::abort();
}
setProbMax(mymaxprob);
}
void EvtbsToLLLL::decay( EvtParticle *p ){
double mu = getArg(0); // the scale parameter
int Nf = (int) getArg(1); // number of "effective" flavors
int res_swch = (int) getArg(2); // resonant switching parametr
int ias = (int) getArg(3); // switching parametr for \alpha_s(M_Z)
double CKM_A = getArg(4);
double CKM_lambda = getArg(5);
double CKM_barrho = getArg(6);
double CKM_bareta = getArg(7);
p->initializePhaseSpace(getNDaug(),getDaugs());
_calcamp->CalcAmp(p,_amp2, _mntffmodel, _wilscoeff, mu, Nf, res_swch, ias,
CKM_A,CKM_lambda,CKM_barrho,CKM_bareta);
-// EvtGenReport(NOTICE,"EvtGen") << "\n The function EvtbTosllMSExt::decay(...) passed with arguments:"
+// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n The function EvtbTosllMSExt::decay(...) passed with arguments:"
// << "\n mu = " << mu << " Nf =" << Nf
// << " res_swch = " << res_swch
// << " ias = " << ias
// << " CKM_A = " << CKM_A
// << " CKM_lambda = " << CKM_lambda
// << " CKM_barrho = " << CKM_barrho
// << " CKM_bareta = " << CKM_bareta
// << " ReA7 = " << ReA7
// << " ImA7 = " << ImA7
// << " ReA10 = " << ReA10
// << " ImA10 = " << ImA10 << std::endl;
}
diff --git a/src/EvtGenModels/EvtbsToLLLLAmp.cpp b/src/EvtGenModels/EvtbsToLLLLAmp.cpp
index 004788b..735cbdd 100644
--- a/src/EvtGenModels/EvtbsToLLLLAmp.cpp
+++ b/src/EvtGenModels/EvtbsToLLLLAmp.cpp
@@ -1,782 +1,782 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtbsToLLLLAmp.cpp
//
// Description: Preparation of the decay amplitude for the process:
// B^0_{q}(p,M1) -> ell^+(k1,m) ell^-(k2,m) ell^+(k3,m) ell^-(k4,m).
//
// Note: The code of this module is based on the EvtbTosllVectorAmp.cpp
// module code.
// The main functiom for the amplitude calculation retuns the
// amplitude for the decay B^0_q -> ell^+ ell^- ell^+ ell^-
//
//
// Modification history:
//
// N.Nikitin (nnikit@mail.cerrn.ch) July 21, 2011 Module created
//
//-----------------------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtAmp.hh"
#include "EvtGenModels/EvtbTosllWilsCoeffNLO.hh"
#include "EvtGenModels/Evtbs2llGammaFFMNT.hh"
// The header file for current class memeber functions description
#include "EvtGenModels/EvtbsToLLLLAmp.hh"
#include <cstdlib>
// input: *parent - the pointer to the parent particle (B-meson, the
// object of the EvtParticle class);
// *formFactors - the pointer to instance of EvtbTosllGammaFF class object;
// *WilsCoeff - the pointer to the Standart Model Wilson Coefficients class;
// mu - the scale parameter, GeV;
// Nf - number of "effective" flavors (for b-quark Nf=5);
// res_swch - resonant switching parameter:
// = 0 the resonant contribution switched OFF,
// = 1 the resonant contribution switched ON;
// ias - switching parameter for \alpha_s(M_Z) value:
// = 0 PDG 1sigma minimal alpha_s(M_Z),
// = 1 PDG average value alpha_s(M_Z),
// = 2 PDG 1sigma maximal alpha_s(M_Z).
// Wolfenstein parameterization for CKM matrix
// CKM_A, CKM_lambda, CKM_barrho, CKM_bareta
void EvtbsToLLLLAmp::CalcAmp(EvtParticle *parent, EvtAmp& amp,
Evtbs2llGammaFF *formFactors, EvtbTosllWilsCoeffNLO *WilsCoeff,
double mu, int Nf, int res_swch, int ias,
double CKM_A, double CKM_lambda,
double CKM_barrho, double CKM_bareta){
// FILE *mytest;
int il1=0, il2=1, il3=2, il4=3; // leptons are the first, second, thirds
// and fourth daughter particles
EvtComplex unit1(1.0,0.0); // real unit
EvtComplex uniti(0.0,1.0); // imaginary unit
double M1 = parent->mass(); // B - meson mass, GeV
double ml = parent->getDaug(il1)->mass(); // leptonic mass, GeV
double mq = 0.0; // light quark mass from the dispersion QM, GeV
double mc = formFactors->getQuarkMass(4); // m_c mass from the dispersion QM, GeV
double mb = formFactors->getQuarkMass(5); // m_b mass from the dispersion QM, GeV
double Mw = 80.403; // GeV W-boson mass, GeV
double mt = 174.2; // GeV t-quark mass, GeV
double fb = 0.0; // leptonic decay constant of B-meson, Gev
EvtComplex Vtb, Vtq, Vub, Vuq, Vcb, Vcq; // V_{tb}, V_{tq}, V_{ub}, V_{uq}, V_{cb}, V_{cq}
EvtComplex CKM_factor; // V^*_{tq}*V_{tb}, where q={d,s}
EvtComplex lambda_qu; // V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}, where q={d,s}
EvtComplex lambda_qc; // V^*_{cq}*V_{cb}/V^*_{tq}*V_{tb}, where q={d,s}
double Relambda_qu, Imlambda_qu;
//
// Setting of the mq and CKM matrix elements for different Bq-mesons tipes
//
EvtId idparent = parent->getId(); // Bq-meson Id
EvtId IdMu1, IdMu2, IdMu3, IdMu4;
if(idparent == EvtPDL::getId(std::string("B_s0"))||
idparent == EvtPDL::getId(std::string("anti-B_s0"))){
mq = formFactors->getQuarkMass(3); // m_s mass from the dispersion QM
fb = 0.24; // leptonic decay constant
// V_{ts}
Vtq = unit1*(1.0-0.5*pow(CKM_lambda,2.0)) +
pow(CKM_lambda,2.0)*(CKM_barrho*unit1 +
CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0));
Vtq = -CKM_A*pow(CKM_lambda,2.0)*Vtq;
// V_{us}
Vuq = CKM_lambda*unit1;
// V_{cs}
Vcq = unit1 - 0.5*pow(CKM_lambda,2.0) -
0.125*pow(CKM_lambda,4.0)*(1.0 + 4.0*pow(CKM_A,2.0));
}
if(idparent == EvtPDL::getId(std::string("B0"))||
idparent == EvtPDL::getId(std::string("anti-B0"))){
mq = formFactors->getQuarkMass(2); // m_d mass from the dispersion QM
fb = 0.20; // leptonic decay constant
// V_{td}
Vtq = unit1 - (1.0 - 0.5*pow(CKM_lambda,2.0))*(CKM_barrho*unit1 +
CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0));
Vtq = CKM_A*pow(CKM_lambda,3.0)*Vtq;
// V_{ud}
Vuq = unit1*(1.0-0.5*pow(CKM_lambda,2.0)-0.125*pow(CKM_lambda,4.0));
// V_{cd}
Vcq = unit1*(-CKM_lambda + 0.5*pow(CKM_A,2.0)*pow(CKM_lambda,5.0)*
(1.0 - 2.0*(CKM_barrho*unit1 + CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0))));
}
if(mq<0.001){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLAmp::CalcAmp(...)"
<< "\n Error in the mq setting!"
<< "\n mq = " << mq << "< 0.001"
<< "\n idparent = " << idparent << std::endl;
::abort();
}
Vtb = unit1*(1.0-0.5*pow(CKM_A*CKM_lambda*CKM_lambda,2.0)); // V_{tb}
Vub = CKM_A*pow(CKM_lambda,3.0)*(CKM_barrho*unit1 -
CKM_bareta*uniti)/sqrt(1.0-pow(CKM_lambda,2.0)); // V_{ub}
Vcb = unit1*CKM_A*pow(CKM_lambda,2.0); // V_{cb}
CKM_factor = conj(Vtq)*Vtb; // V^*_{tq}*V_{tb}
lambda_qu = conj(Vuq)*Vub/CKM_factor; // V^*_{uq}*V_{ub}/V^*_{tq}*V_{tb}
Relambda_qu = real(lambda_qu);
Imlambda_qu = imag(lambda_qu);
lambda_qc = conj(Vcq)*Vcb/CKM_factor; // V^*_{cq}*V_{cb}/V^*_{tq}*V_{tb}
//
// Setting the leptonic kinematical properties
//
// to find charges of ell^+ and ell^- in the B-meson daughters
int charge1 = (EvtPDL::chg3(parent->getDaug(il1)->getId()))/3;
int charge2 = (EvtPDL::chg3(parent->getDaug(il2)->getId()))/3;
int charge3 = (EvtPDL::chg3(parent->getDaug(il3)->getId()))/3;
int charge4 = (EvtPDL::chg3(parent->getDaug(il4)->getId()))/3;
if((abs(charge1)!=1)||(abs(charge2)!=1)||(abs(charge3)!=1)||(abs(charge4)!=1)||
(charge1+charge2+charge3+charge4!=0)){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLAmp::CalcAmp(...)"
<< "\n Error in the leptonic charge definition!"
<< "\n charge1 =" << charge1
<< "\n charge2 =" << charge2
<< "\n charge3 =" << charge3
<< "\n charge4 =" << charge4
<< "\n number of daughters =" << parent->getNDaug()
<< std::endl;
::abort();
}
EvtParticle* lep1Plus = 0;
EvtParticle* lep1Minus = 0;
EvtParticle* lep2Plus = 0;
EvtParticle* lep2Minus = 0;
EvtVector4R p; // B-meson momentum in the B-rest frame
EvtVector4R q; // first transition 4-momentum in the B-rest frame
EvtVector4R k; // second transition 4-momentum in the B-rest frame
double q2; // Mandelstam variable s=q^2
// Nondimentional 4-momentums
EvtVector4R hatp;
EvtVector4R hatq;
EvtVector4R hatk;
EvtVector4R qsecond; // first transition 4-momentum in the B-rest frame
EvtVector4R ksecond; // second transition 4-momentum in the B-rest frame
double q2second; // Mandelstam variable s=q^2
// Nondimentional 4-momentums
EvtVector4R hatpsecond;
EvtVector4R hatqsecond;
EvtVector4R hatksecond;
EvtVector4R k_1; // 4-momentum of ell^+ in the B-rest frame
EvtVector4R k_2; // 4-momentum of ell^- in the B-rest frame
EvtVector4R k_3; // 4-momentum of ell^+ in the B-rest frame
EvtVector4R k_4; // 4-momentum of ell^- in the B-rest frame
k_1.set(0.0,0.0,0.0,0.0);
k_2.set(0.0,0.0,0.0,0.0);
k_3.set(0.0,0.0,0.0,0.0);
k_4.set(0.0,0.0,0.0,0.0);
if ((charge1+charge2==0)&&(charge3+charge4==0)){
// positive charged lepton 1
lep1Plus = (charge1 > charge2) ? parent->getDaug(il1) : parent->getDaug(il2);
// negative charged lepton 1
lep1Minus = (charge1 < charge2) ? parent->getDaug(il1) : parent->getDaug(il2);
if(charge1 > charge2){
k_1 = parent->getDaug(il1)->getP4();
k_2 = parent->getDaug(il2)->getP4();
IdMu1 = parent->getDaug(il1)->getId();
IdMu2 = parent->getDaug(il2)->getId();
} else {
k_1 = parent->getDaug(il2)->getP4();
k_2 = parent->getDaug(il1)->getP4();
IdMu1 = parent->getDaug(il2)->getId();
IdMu2 = parent->getDaug(il1)->getId();
}
// positive charged lepton 2
lep2Plus = (charge3 > charge4) ? parent->getDaug(il3) : parent->getDaug(il4);
// negative charged lepton 2
lep2Minus = (charge3 < charge4) ? parent->getDaug(il3) : parent->getDaug(il4);
if(charge3 > charge4){
k_3 = parent->getDaug(il3)->getP4();
k_4 = parent->getDaug(il4)->getP4();
IdMu3 = parent->getDaug(il3)->getId();
IdMu4 = parent->getDaug(il4)->getId();
} else {
k_3 = parent->getDaug(il4)->getP4();
k_4 = parent->getDaug(il3)->getP4();
IdMu3 = parent->getDaug(il4)->getId();
IdMu4 = parent->getDaug(il3)->getId();
}
}
if ((charge1+charge3==0)&&(charge2+charge4==0)){
// positive charged lepton 1
lep1Plus = (charge1 > charge3) ? parent->getDaug(il1) : parent->getDaug(il3);
// negative charged lepton 1
lep1Minus = (charge1 < charge3) ? parent->getDaug(il1) : parent->getDaug(il3);
if(charge1 > charge3){
k_1 = parent->getDaug(il1)->getP4();
k_2 = parent->getDaug(il3)->getP4();
IdMu1 = parent->getDaug(il1)->getId();
IdMu2 = parent->getDaug(il3)->getId();
} else {
k_1 = parent->getDaug(il3)->getP4();
k_2 = parent->getDaug(il1)->getP4();
IdMu1 = parent->getDaug(il3)->getId();
IdMu2 = parent->getDaug(il1)->getId();
}
// positive charged lepton 2
lep2Plus = (charge2 > charge4) ? parent->getDaug(il2) : parent->getDaug(il4);
// negative charged lepton 2
lep2Minus = (charge2 < charge4) ? parent->getDaug(il2) : parent->getDaug(il4);
if(charge2 > charge4){
k_3 = parent->getDaug(il2)->getP4();
k_4 = parent->getDaug(il4)->getP4();
IdMu3 = parent->getDaug(il2)->getId();
IdMu4 = parent->getDaug(il4)->getId();
} else {
k_3 = parent->getDaug(il4)->getP4();
k_4 = parent->getDaug(il2)->getP4();
IdMu3 = parent->getDaug(il4)->getId();
IdMu4 = parent->getDaug(il2)->getId();
}
}
p = parent->getP4Restframe();
hatp = p/M1;
//
// The calculation of the FIRST part of the amplitude
//
q = k_1 + k_2;
k = k_3 + k_4;
q2 = q.mass2(); // Mandelstam variable s=q^2
hatq = q/M1;
hatk = k/M1;
// The Wilson Coefficients preparation according to the paper
// A.J.Buras, M.Munz, Phys.Rev.D52, p.189 (1995)
double c1,c2;
EvtComplex a1,c7gam,c9eff_b2q,c9eff_barb2barq,c10a;
// Excluded of the J/psi and psi' resonant area
if((res_swch == 1) && (q2 >= 9.199) && (q2 <= 15.333)){
c1 = 0.0;
c2 = 0.0;
a1 = unit1*0.0;
c7gam = unit1*0.0;
c9eff_b2q = unit1*0.0;
c9eff_barb2barq = unit1*0.0;
c10a = unit1*0.0;
}
else{
c1 = WilsCoeff->C1(mu, Mw, Nf, ias);
c2 = WilsCoeff->C2(mu, Mw, Nf, ias);
a1 = unit1*(c1 + c2/3.0);
c7gam = WilsCoeff->GetC7Eff(mu, Mw, mt, Nf, ias);
c9eff_b2q = WilsCoeff->GetC9Eff(0,res_swch,ias,Nf,q2,mb,mq,mc,mu,mt,Mw,ml,
Relambda_qu,Imlambda_qu);
c9eff_barb2barq = WilsCoeff->GetC9Eff(1,res_swch,ias,Nf,q2,mb,mq,mc,mu,mt,Mw,ml,
Relambda_qu,Imlambda_qu);
c10a = WilsCoeff->GetC10Eff(mt, Mw);
}
EvtComplex Fv, Fa; // The change of the sign is included in the amplitudes definition!
EvtComplex Ftv_b2q, Ftv_barb2barq;
EvtComplex Fta_b2q, Fta_barb2barq;
// Excluded of the J/psi and psi' resonant area
if((res_swch == 1) && (q2 >= 9.199) && (q2 <= 15.333)){
fb = 0.0;
Fa = unit1*0.0;
Fv = unit1*0.0;
Fta_b2q = unit1*0.0;
Fta_barb2barq = unit1*0.0;
Ftv_b2q = unit1*0.0;
Ftv_barb2barq = unit1*0.0;
}
else{
if(fb<0.01){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLAmp::CalcAmp(...)"
<< "\n Leptonic decay constant fb is not uninitialized in this function!"
<< " fb = " << fb << std::endl;
::abort();
}
// For \bar B^0_q -> l^+ l^- gamma
formFactors->getPhotonFF(0, fb, parent->getId(),
q2, M1, mb, mq, c7gam, a1,
lambda_qu, lambda_qc,
Fv, Fa, Ftv_b2q, Fta_b2q);
// For B^0_q -> l^+ l^- gamma
formFactors->getPhotonFF(1, fb, parent->getId(),
q2, M1, mb, mq, c7gam, a1,
lambda_qu, lambda_qc,
Fv, Fa, Ftv_barb2barq, Fta_barb2barq);
}
// The functions for the hadronic matrix element calculation
EvtComplex a_b2q, a_barb2barq, b_b2q, b_barb2barq, c_b2q, c_barb2barq;
EvtComplex e_b2q, e_barb2barq, f_b2q, f_barb2barq, g_b2q, g_barb2barq;
a_b2q = c9eff_b2q*Fv + 2.0*c7gam*Ftv_b2q*mb*M1/q2;
a_barb2barq = c9eff_barb2barq*Fv + 2.0*c7gam*Ftv_barb2barq*mb*M1/q2;
b_b2q = (c9eff_b2q*Fa + 2.0*c7gam*Fta_b2q*mb*M1/q2)*(hatp*hatk);
b_barb2barq = (c9eff_barb2barq*Fa + 2.0*c7gam*Fta_barb2barq*mb*M1/q2)*(hatp*hatk);
c_b2q = c9eff_b2q*Fa + 2.0*c7gam*Fta_b2q*mb*M1/q2;
c_barb2barq = c9eff_barb2barq*Fa + 2.0*c7gam*Fta_barb2barq*mb*M1/q2;
e_b2q = c10a*Fv;
e_barb2barq = e_b2q;
f_b2q = c10a*Fa*(hatp*hatk);
f_barb2barq = f_b2q;
g_b2q = c10a*Fa;
g_barb2barq = g_b2q;
//
// The calculation of the SECOND part of the amplitude
//
qsecond = k_1 + k_4;
ksecond = k_3 + k_2;
q2second = qsecond.mass2(); // Mandelstam variable s=q^2
hatqsecond = qsecond/M1;
hatksecond = ksecond/M1;
// Excluded of the J/psi and psi' resonant area
if((res_swch == 1) && (q2second >= 9.199) && (q2second <= 15.333)){
c1 = 0.0;
c2 = 0.0;
a1 = unit1*0.0;
c7gam = unit1*0.0;
c9eff_b2q = unit1*0.0;
c9eff_barb2barq = unit1*0.0;
c10a = unit1*0.0;
}
else{
c1 = WilsCoeff->C1(mu, Mw, Nf, ias);
c2 = WilsCoeff->C2(mu, Mw, Nf, ias);
a1 = unit1*(c1 + c2/3.0);
c7gam = WilsCoeff->GetC7Eff(mu, Mw, mt, Nf, ias);
c9eff_b2q = WilsCoeff->GetC9Eff(0,res_swch,ias,Nf,q2second,mb,mq,mc,mu,mt,Mw,ml,
Relambda_qu,Imlambda_qu);
c9eff_barb2barq = WilsCoeff->GetC9Eff(1,res_swch,ias,Nf,q2second,mb,mq,mc,mu,mt,Mw,ml,
Relambda_qu,Imlambda_qu);
c10a = WilsCoeff->GetC10Eff(mt, Mw);
}
// Excluded of the J/psi and psi' resonant area
if((res_swch == 1) && (q2second >= 9.199) && (q2second <= 15.333)){
fb = 0.0;
Fa = unit1*0.0;
Fv = unit1*0.0;
Fta_b2q = unit1*0.0;
Fta_barb2barq = unit1*0.0;
Ftv_b2q = unit1*0.0;
Ftv_barb2barq = unit1*0.0;
}
else{
if(fb<0.01){
EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLAmp::CalcAmp(...)"
<< "\n Leptonic decay constant fb is not uninitialized in this function!"
<< " fb = " << fb << std::endl;
::abort();
}
// For \bar B^0_q -> l^+ l^- gamma
formFactors->getPhotonFF(0, fb, parent->getId(),
q2second, M1, mb, mq, c7gam, a1,
lambda_qu, lambda_qc,
Fv, Fa, Ftv_b2q, Fta_b2q);
// For B^0_q -> l^+ l^- gamma
formFactors->getPhotonFF(1, fb, parent->getId(),
q2second, M1, mb, mq, c7gam, a1,
lambda_qu, lambda_qc,
Fv, Fa, Ftv_barb2barq, Fta_barb2barq);
}
// The functions for the hadronic matrix element calculation
EvtComplex a_b2qsecond, a_barb2barqsecond, b_b2qsecond, b_barb2barqsecond, c_b2qsecond, c_barb2barqsecond;
EvtComplex e_b2qsecond, e_barb2barqsecond, f_b2qsecond, f_barb2barqsecond, g_b2qsecond, g_barb2barqsecond;
a_b2qsecond = c9eff_b2q*Fv + 2.0*c7gam*Ftv_b2q*mb*M1/q2second;
a_barb2barqsecond = c9eff_barb2barq*Fv + 2.0*c7gam*Ftv_barb2barq*mb*M1/q2second;
b_b2qsecond = (c9eff_b2q*Fa + 2.0*c7gam*Fta_b2q*mb*M1/q2second)*(hatpsecond*hatksecond);
b_barb2barqsecond = (c9eff_barb2barq*Fa + 2.0*c7gam*Fta_barb2barq*mb*M1/q2second)*(hatpsecond*hatksecond);
c_b2qsecond = c9eff_b2q*Fa + 2.0*c7gam*Fta_b2q*mb*M1/q2second;
c_barb2barqsecond = c9eff_barb2barq*Fa + 2.0*c7gam*Fta_barb2barq*mb*M1/q2second;
e_b2qsecond = c10a*Fv;
e_barb2barqsecond = e_b2qsecond;
f_b2qsecond = c10a*Fa*(hatpsecond*hatksecond);
f_barb2barqsecond = f_b2qsecond;
g_b2qsecond = c10a*Fa;
g_barb2barqsecond = g_b2qsecond;
EvtTensor4C T1,T2; // Tensor structures for
EvtTensor4C T1second,T2second; // the hadronic matrix element calculation
// B - and barB - mesons descriptors
static EvtIdSet bmesons("anti-B0","anti-B_s0");
static EvtIdSet bbarmesons("B0","B_s0");
EvtId parentID = parent->getId();
if (bmesons.contains(parentID)){
// The amplitude for the decay barB -> gamma ell^+ ell^- or
// b \bar q -> gamma ell^+ ell^-
T1 = a_b2q*unit1*dual(EvtGenFunctions::directProd(hatq,hatk))
- b_b2q*uniti*EvtTensor4C::g()
+ c_b2q*uniti*EvtGenFunctions::directProd(hatk,hatq);
T2 = e_b2q*unit1*dual(EvtGenFunctions::directProd(hatp,hatk))
- f_b2q*uniti*EvtTensor4C::g()
+ g_b2q*uniti*EvtGenFunctions::directProd(hatk,hatq);
T1second = a_b2qsecond*unit1*dual(EvtGenFunctions::directProd(hatqsecond,hatksecond))
- b_b2qsecond*uniti*EvtTensor4C::g()
+ c_b2qsecond*uniti*EvtGenFunctions::directProd(hatksecond,hatqsecond);
T2second = e_b2qsecond*unit1*dual(EvtGenFunctions::directProd(hatpsecond,hatksecond))
- f_b2qsecond*uniti*EvtTensor4C::g()
+ g_b2qsecond*uniti*EvtGenFunctions::directProd(hatksecond,hatqsecond);
int i1, i2, i3, i4; // leptonic spin structures counters
int leptonicspin[4]; // array for the saving of the leptonic spin configuration
// Tables for correspondings
// l^+(k_1) && lep1Plus && k_1 && i1
// l^-(k_2) && lep1Minus && k_2 && i2
// l^+(k_3) && lep2Plus && k_3 && i3
// l^-(k_4) && lep2Minus && k_4 && i4
for(i2=0;i2<2;i2++){
leptonicspin[0] = i2;
for(i1=0;i1<2;i1++){
leptonicspin[1] = i1;
for(i4=0;i4<2;i4++){
leptonicspin[2] = i4;
for(i3=0;i3<2;i3++){
leptonicspin[3] = i3;
EvtVector4C VL2L1, AL2L1, VL4L3;
EvtVector4C E1, E2;
EvtVector4C VL2L1second, AL2L1second, VL4L3second;
EvtVector4C E1second, E2second;
VL2L1 = EvtLeptonVCurrent(lep1Minus->spParent(i2),lep1Plus->spParent(i1));
AL2L1 = EvtLeptonACurrent(lep1Minus->spParent(i2),lep1Plus->spParent(i1));
VL4L3 = EvtLeptonVCurrent(lep2Minus->spParent(i4),lep2Plus->spParent(i3));
E1=T1.cont2(VL4L3);
E2=T2.cont2(VL4L3);
VL2L1second = EvtLeptonVCurrent(lep2Minus->spParent(i2),lep1Plus->spParent(i1));
AL2L1second = EvtLeptonACurrent(lep2Minus->spParent(i2),lep1Plus->spParent(i1));
VL4L3second = EvtLeptonVCurrent(lep1Minus->spParent(i4),lep2Plus->spParent(i3));
E1second=T1second.cont2(VL4L3second);
E2second=T2second.cont2(VL4L3second);
amp.vertex(leptonicspin,CKM_factor*(VL2L1*E1+AL2L1*E2+
VL2L1second*E1second+AL2L1second*E2second));
// EvtGenReport(EVTGEN_ERROR,"EvtGen")
// << "\n\n ============================================================================"
// << "\n The matrix element (first + second) = "
// << CKM_factor*(VL2L1*E1+AL2L1*E2+VL2L1second*E1second+AL2L1second*E2second)
// << "\n The matrix element (only first) = "
// << CKM_factor*(VL2L1*E1+AL2L1*E2)
// << "============================================================================\n\n"
// << std::endl;
}
}
}
}
// EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n The function EvtbsToLLLLAmp::CalcAmp(...) passed with arguments:"
// << "\n ============================================================================"
// << "\n Input parameters:"
// << "\n mu = " << mu
// << "\n Nf =" << Nf
// << "\n res_swch = " << res_swch
// << "\n ias = " << ias
// << "\n CKM_A = " << CKM_A
// << "\n CKM_lambda = " << CKM_lambda
// << "\n CKM_barrho = " << CKM_barrho
// << "\n CKM_bareta = " << CKM_bareta
// << "\n CKM_factor = " << CKM_factor
// << "\n ============================================================================"
// << "\n Kinematics:"
// << "\n k_1 = " << k_1
// << "\n m_ell_1 =" << parent->getDaug(il1)->mass()
// << "\n k_2 = " << k_2
// << "\n m_ell_2 =" << parent->getDaug(il2)->mass()
// << "\n k_3 = " << k_3
// << "\n m_ell_3 =" << parent->getDaug(il3)->mass()
// << "\n k_4 = " << k_4
// << "\n m_ell_4 =" << parent->getDaug(il4)->mass()
// << "\n p = " << p
// << "\n q = " << q
// << "\n k = " << k
// << "\n ============================================================================"
// << "\n Form-factors"
// << "\n Fv = " << Fv
// << "\n Fa = " << Fa
// << "\n Ftv_b2q = " << Ftv_b2q
// << "\n Fta_b2q = " << Fta_b2q
// << "\n Ftv_barb2barq = " << Ftv_barb2barq
// << "\n Fta_barb2barq = " << Fta_barb2barq
// << "\n fb = " << fb
// << "\n ============================================================================"
// << "\n Wilson Coefficients:"
// << "\n Re(c7gam) = " << real(c7gam)
// << " Im(c7gam) = " << imag(c7gam)
// << "\n Re(c9eff_b2q) = " << real(c9eff_b2q)
// << " Im(c9eff_b2q) = " << imag(c9eff_b2q)
// << "\n Re(c9eff_barb2barq) = " << real(c9eff_barb2barq)
// << " Im(c9eff_barb2barq) = " << imag(c9eff_barb2barq)
// << "\n Re(c10a) = " << real(c10a)
// << " Im(c10a) = " << imag(c10a)
// << "\n ============================================================================"
// << "\n Functions in the matrix element:"
// << "\n a_b2q = " << a_b2q
// << "\n b_b2q = " << b_b2q
// << "\n c_b2q = " << c_b2q
// << "\n e_b2q = " << e_b2q
// << "\n f_b2q = " << f_b2q
// << "\n g_b2q = " << g_b2q
// << "\n ============================================================================"
// << "\n Partical Properties:"
// << "\n IdB = " << idparent << " == " << EvtPDL::getId(std::string("anti-B_s0"))
// << "\n IdMu1 = " << IdMu1 << " == " << EvtPDL::getId(std::string("mu+"))
// << "\n IdMu2 = " << IdMu2 << " == " << EvtPDL::getId(std::string("mu-"))
// << "\n IdMu3 = " << IdMu3 << " == " << EvtPDL::getId(std::string("mu+"))
// << "\n IdMu4 = " << IdMu4 << " == " << EvtPDL::getId(std::string("mu-"))
// << "\n\n\n\n"
// << std::endl;
} else {
if (bbarmesons.contains(parentID)){
// The amplitude for the decay B -> gamma ell^+ ell^- or
// q bar b -> gamma ell^+ ell^-
T1 = - a_barb2barq*unit1*dual(EvtGenFunctions::directProd(hatq,hatk))
- b_barb2barq*uniti*EvtTensor4C::g()
+ c_barb2barq*uniti*EvtGenFunctions::directProd(hatk,hatq);
T2 = - e_barb2barq*unit1*dual(EvtGenFunctions::directProd(hatq,hatk))
- f_barb2barq*uniti*EvtTensor4C::g()
+ g_barb2barq*uniti*EvtGenFunctions::directProd(hatk,hatq);
T1second = - a_barb2barqsecond*unit1*dual(EvtGenFunctions::directProd(hatqsecond,hatksecond))
- b_barb2barqsecond*uniti*EvtTensor4C::g()
+ c_barb2barqsecond*uniti*EvtGenFunctions::directProd(hatksecond,hatqsecond);
T2second = - e_barb2barqsecond*unit1*dual(EvtGenFunctions::directProd(hatpsecond,hatksecond))
- f_barb2barqsecond*uniti*EvtTensor4C::g()
+ g_barb2barqsecond*uniti*EvtGenFunctions::directProd(hatksecond,hatqsecond);
int i1, i2, i3, i4; // leptonic spin structures counters
int leptonicspin[4]; // array for the saving of the leptonic spin configuration
// Tables for correspondings
// l^+(k_1) && lep1Plus && k_1 && i1
// l^-(k_2) && lep1Minus && k_2 && i2
// l^+(k_3) && lep2Plus && k_3 && i3
// l^-(k_4) && lep2Minus && k_4 && i4
for(i2=1;i2<0;i2--){
leptonicspin[0] = i2;
for(i1=1;i1<0;i1--){
leptonicspin[1] = i1;
for(i4=1;i4<0;i4--){
leptonicspin[2] = i4;
for(i3=1;i3<0;i3--){
leptonicspin[3] = i3;
EvtVector4C VL2L1, AL2L1, VL4L3;
EvtVector4C E1, E2;
EvtVector4C VL2L1second, AL2L1second, VL4L3second;
EvtVector4C E1second, E2second;
VL2L1 = EvtLeptonVCurrent(lep1Minus->spParent(i2),lep1Plus->spParent(i1));
AL2L1 = EvtLeptonACurrent(lep1Minus->spParent(i2),lep1Plus->spParent(i1));
VL4L3 = EvtLeptonVCurrent(lep2Minus->spParent(i4),lep2Plus->spParent(i3));
E1=T1.cont2(VL4L3);
E2=T2.cont2(VL4L3);
VL2L1second = EvtLeptonVCurrent(lep2Minus->spParent(i2),lep1Plus->spParent(i1));
AL2L1second = EvtLeptonACurrent(lep2Minus->spParent(i2),lep1Plus->spParent(i1));
VL4L3second = EvtLeptonVCurrent(lep1Minus->spParent(i4),lep2Plus->spParent(i3));
E1second=T1second.cont2(VL4L3second);
E2second=T2second.cont2(VL4L3second);
amp.vertex(leptonicspin,conj(CKM_factor)*(VL2L1*E1+AL2L1*E2+
VL2L1second*E1second+AL2L1second*E2second));
}
}
}
}
// EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n The function EvtbsToLLLLAmp::CalcAmp(...) passed with arguments:"
// << "\n ============================================================================"
// << "\n Input parameters:"
// << "\n mu = " << mu
// << "\n Nf =" << Nf
// << "\n res_swch = " << res_swch
// << "\n ias = " << ias
// << "\n CKM_A = " << CKM_A
// << "\n CKM_lambda = " << CKM_lambda
// << "\n CKM_barrho = " << CKM_barrho
// << "\n CKM_bareta = " << CKM_bareta
// << "\n CKM_factor = " << CKM_factor
// << "\n ============================================================================"
// << "\n Kinematics:"
// << "\n k_1 = " << k_1
// << "\n m_ell_1 =" << parent->getDaug(il1)->mass()
// << "\n k_2 = " << k_2
// << "\n m_ell_2 =" << parent->getDaug(il2)->mass()
// << "\n k_3 = " << k_3
// << "\n m_ell_3 =" << parent->getDaug(il3)->mass()
// << "\n k_4 = " << k_4
// << "\n m_ell_4 =" << parent->getDaug(il4)->mass()
// << "\n p = " << p
// << "\n q = " << q
// << "\n k = " << k
// << "\n ============================================================================"
// << "\n Form-factors"
// << "\n Fv = " << Fv
// << "\n Fa = " << Fa
// << "\n Ftv_b2q = " << Ftv_b2q
// << "\n Fta_b2q = " << Fta_b2q
// << "\n Ftv_barb2barq = " << Ftv_barb2barq
// << "\n Fta_barb2barq = " << Fta_barb2barq
// << "\n fb = " << fb
// << "\n ============================================================================"
// << "\n Wilson Coefficients:"
// << "\n Re(c7gam) = " << real(c7gam)
// << " Im(c7gam) = " << imag(c7gam)
// << "\n Re(c9eff_b2q) = " << real(c9eff_b2q)
// << " Im(c9eff_b2q) = " << imag(c9eff_b2q)
// << "\n Re(c9eff_barb2barq) = " << real(c9eff_barb2barq)
// << " Im(c9eff_barb2barq) = " << imag(c9eff_barb2barq)
// << "\n Re(c10a) = " << real(c10a)
// << " Im(c10a) = " << imag(c10a)
// << "\n ============================================================================"
// << "\n Functions in the matrix element:"
// << "\n a_barb2barq = " << a_barb2barq
// << "\n b_barb2barq = " << b_barb2barq
// << "\n c_barb2barq = " << c_barb2barq
// << "\n e_barb2barq = " << e_barb2barq
// << "\n f_barb2barq = " << f_barb2barq
// << "\n g_barb2barq = " << g_barb2barq
// << "\n ============================================================================"
// << "\n Partical Properties:"
// << "\n IdB = " << idparent << " == " << EvtPDL::getId(std::string("B_s0"))
// << "\n IdMu1 = " << IdMu1 << " == " << EvtPDL::getId(std::string("mu+"))
// << "\n IdMu2 = " << IdMu2 << " == " << EvtPDL::getId(std::string("mu-"))
// << "\n IdMu3 = " << IdMu3 << " == " << EvtPDL::getId(std::string("mu+"))
// << "\n IdMu4 = " << IdMu4 << " == " << EvtPDL::getId(std::string("mu-"))
// << "\n\n\n\n"
// << std::endl;
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n\n The function EvtbsToLLLLAmp::CalcAmp(...)"
<< "\n Wrong Bq-meson number"
<< std::endl;
::abort();
}
}
}
//
// The decays Bq -> ell^+ ell^- ell^+ ell^- maximum probability calculation
//
double EvtbsToLLLLAmp::CalcMaxProb(
// EvtId parnum,
// EvtId l1num, EvtId l2num,
// EvtId l3num, EvtId l4num,
// Evtbs2llGammaFF *formFactors,
// EvtbTosllWilsCoeffNLO *WilsCoeff,
// double mu, int Nf,
// int res_swch, int ias,
// double CKM_A, double CKM_lambda,
// double CKM_barrho, double CKM_bareta
){
- double maxfoundprob = 12650.0; // maximum of the probability
+ double maxfoundprob = 5.0; // maximum of the probability
return maxfoundprob;
}
// Triangular function
double EvtbsToLLLLAmp::lambda(double a, double b, double c){
double l;
l=pow(a,2.0)+pow(b,2.0)+pow(c,2.0)-2.0*a*b-2.0*a*c-2.0*b*c;
return l;
}
diff --git a/src/EvtGenModels/EvtbsToLLLLHyperCP.cpp b/src/EvtGenModels/EvtbsToLLLLHyperCP.cpp
index e550537..aac0843 100644
--- a/src/EvtGenModels/EvtbsToLLLLHyperCP.cpp
+++ b/src/EvtGenModels/EvtbsToLLLLHyperCP.cpp
@@ -1,176 +1,176 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2003 Caltech, UCSB
//
// Module: EvtbsToLLLLHyperCP.ccp
//
// Description:
//
// Modification history:
//
// N.Nikitin May 30, 2012 Module created
//
//------------------------------------------------------------------------
//
#include <stdlib.h>
#include <string.h>
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenModels/EvtbsToLLLLHyperCPAmp.hh"
#include "EvtGenModels/EvtbsToLLLLHyperCP.hh"
EvtbsToLLLLHyperCP::~EvtbsToLLLLHyperCP() {
if ( _calcamp ) delete _calcamp ;
}
// The module name specification
std::string EvtbsToLLLLHyperCP::getName( ) {
return "BQTOLLLLHYPERCP" ;
}
// The implementation of the clone() method
EvtDecayBase* EvtbsToLLLLHyperCP::clone(){
return new EvtbsToLLLLHyperCP;
}
// The inicialization of the decay model
//
// Tn the our model we have are following 14 arguments:
//
// mS - the mass of the scalar sgoldstino "S" (GeV);
// mP - the mass of the pseudoscalar sgoldstino "P" (GeV);
// gammaS - the decay width of the scalar sgoldstino "S" (GeV);
// gammaP - the decay width of the pseudoscalar sgoldstino "P" (GeV);
// mLiiLR -
// Fc - coupling constant (GeV);
// mDijLL(RR) - parameters for \bar Bq-decays
// mDjiLL(RR) - parameters for Bq-decays (i <-> j!)
// d==1, s==2, b==3
//
void EvtbsToLLLLHyperCP::init(){
// check that there are 14 arguments
checkNArg(14);
// check that there are 4 daughteres
checkNDaug(4);
// We expect that the parent to be a scalar (B-meson)
// and the daughters to be l^+, l^-, l^+ and l^-
checkSpinParent(EvtSpinType::SCALAR);
// We expect that the all daughters are the ell+ or ell- == DIRAC
checkSpinDaughter(0,EvtSpinType::DIRAC);
checkSpinDaughter(1,EvtSpinType::DIRAC);
checkSpinDaughter(2,EvtSpinType::DIRAC);
checkSpinDaughter(3,EvtSpinType::DIRAC);
_calcamp = new EvtbsToLLLLHyperCPAmp();
}
// Set the maximum probability of the decay
void EvtbsToLLLLHyperCP::initProbMax(){
double mymaxprob=-10.0; // maximum of the probability
EvtId parnum, l1num, l2num, l3num, l4num;
parnum = getParentId();
l1num = getDaug(0);
l2num = getDaug(1);
l3num = getDaug(2);
l4num = getDaug(3);
double mS = getArg(0);
double mP = getArg(1);
double gammaS = getArg(2);
double gammaP = getArg(3);
double mLiiLR = getArg(4);
double Fc = getArg(5);
double mD23LL = getArg(6);
double mD23RR = getArg(7);
double mD32LL = getArg(8);
double mD32RR = getArg(9);
double mD13LL = getArg(10);
double mD13RR = getArg(11);
double mD31LL = getArg(12);
double mD31RR = getArg(13);
mymaxprob = _calcamp->CalcMaxProb(
parnum, l1num,l2num, l3num,l4num,
mS, mP, gammaS,gammaP,
mLiiLR,
Fc,
mD23LL, mD23RR, mD32LL, mD32RR,
mD13LL, mD13RR, mD31LL, mD31RR
);
if(mymaxprob <= 0.0){
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "The function void EvtbsToLLLLHyperCP::initProbMax()"
<< "\n Unexpected value of the probability maximum!"
<< "\n mymaxprob = " << mymaxprob
<<std::endl;
::abort();
}
setProbMax(mymaxprob);
}
void EvtbsToLLLLHyperCP::decay( EvtParticle *p ){
double mS = getArg(0);
double mP = getArg(1);
double gammaS = getArg(2);
double gammaP = getArg(3);
double mLiiLR = getArg(4);
double Fc = getArg(5);
double mD23LL = getArg(6);
double mD23RR = getArg(7);
double mD32LL = getArg(8);
double mD32RR = getArg(9);
double mD13LL = getArg(10);
double mD13RR = getArg(11);
double mD31LL = getArg(12);
double mD31RR = getArg(13);
p->initializePhaseSpace(getNDaug(),getDaugs());
_calcamp->CalcAmp(p, _amp2, mS, mP, gammaS, gammaP, mLiiLR, Fc,
mD23LL, mD23RR, mD32LL, mD32RR, mD13LL, mD13RR, mD31LL, mD31RR);
-// EvtGenReport(NOTICE,"EvtGen") << "\n The function EvtbsToLLLLHyperCP::decay(...) passed with arguments:"
+// EvtGenReport(EVTGEN_NOTICE,"EvtGen") << "\n The function EvtbsToLLLLHyperCP::decay(...) passed with arguments:"
// << "\n mS = " << mS
// << "\n mP = " << mP
// << "\n gammaS = " << gammaS
// << "\n gammaP = " << gammaP
// << "\n mLiiLR = " << mLiiLR
// << "\n Fc = " << Fc
// << "\n mD23LL = " << mD23LL
// << "\n mD23RR = " << mD23RR
// << "\n mD32LL = " << mD32LL
// << "\n mD32RR = " << mD32RR
// << "\n mD13LL = " << mD13LL
// << "\n mD13RR = " << mD13RR
// << "\n mD31LL = " << mD31LL
// << "\n mD31RR = " << mD31RR
// << std::endl;
}
diff --git a/src/EvtGenModels/EvtbsToLLLLHyperCPAmp.cpp b/src/EvtGenModels/EvtbsToLLLLHyperCPAmp.cpp
index df4bc6b..152c2b8 100644
--- a/src/EvtGenModels/EvtbsToLLLLHyperCPAmp.cpp
+++ b/src/EvtGenModels/EvtbsToLLLLHyperCPAmp.cpp
@@ -1,632 +1,623 @@
//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 2000 Caltech, UCSB
//
// Module: EvtbsToLLLLHyperCPAmp.cpp
//
// Description: Preparation of the decay amplitude for the process:
// B^0_{q}(p,M1) -> ell^+(k1,m) ell^-(k2,m) ell^+(k3,m) ell^-(k4,m)
// in the HyperCP model.
//
// [1] D.S.Gorbunov, Nucl.Phys.B602, pp.213-237 (2001);
// [2] S.V. Demidov, D.S.Gorbunov, hep-ph/1112.5230v2, 17 April 2012.
//
// Note: The code of this module is based on the EvtbsToLLLLAmp.cpp module code.
//
//
// Modification history:
//
// N.Nikitin (nnikit@mail.cerrn.ch) June 20, 2012 New CalcMaxProb() method preparation
// N.Nikitin (nnikit@mail.cerrn.ch) May 11, 2012 Module created
//
//-----------------------------------------------------------------------------------------
//
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtGenKine.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtReport.hh"
#include "EvtGenBase/EvtComplex.hh"
#include "EvtGenBase/EvtVector4C.hh"
#include "EvtGenBase/EvtTensor4C.hh"
#include "EvtGenBase/EvtParticle.hh"
#include "EvtGenBase/EvtScalarParticle.hh"
#include "EvtGenBase/EvtDiracSpinor.hh"
#include "EvtGenBase/EvtId.hh"
#include "EvtGenBase/EvtIdSet.hh"
#include "EvtGenBase/EvtAmp.hh"
// The header file for current class memeber functions description
#include "EvtGenModels/EvtbsToLLLLHyperCPAmp.hh"
#include <cstdlib>
// input: *parent - the pointer to the parent particle (B-meson, the
// object of the EvtParticle class);
// mS - the mass of the scalar sgoldstino "S" (GeV);
// mP - the mass of the pseudoscalar sgoldstino "P" (GeV);
// gammaS - the decay width of the scalar sgoldstino "S" (GeV);
// gammaP - the decay width of the pseudoscalar sgoldstino "P" (GeV);
// mLiiLR -
// Fc - coupling constant (GeV^2);
// mDijLL(RR) - parameters for \bar Bq-decays
// mDjiLL(RR) - parameters for Bq-decays (i <-> j!)
// d==1, s==2, b==3
//
-void EvtbsToLLLLHyperCPAmp::CalcAmp(EvtParticle *parent, EvtAmp& amp,
- double mS, double mP,
- double gammaS, double gammaP,
- double mLiiLR,
- double Fc,
- double mD23LL, double mD23RR,
- double mD32LL, double mD32RR,
- double mD13LL, double mD13RR,
+void EvtbsToLLLLHyperCPAmp::CalcAmp(EvtParticle *parent, EvtAmp& amp,
+ double mS, double mP,
+ double gammaS, double gammaP,
+ double mLiiLR,
+ double Fc,
+ double mD23LL, double mD23RR,
+ double mD32LL, double mD32RR,
+ double mD13LL, double mD13RR,
double mD31LL, double mD31RR){
// FILE *mytest;
- int il1=0, il2=1, il3=2, il4=3; // leptons are the first, second, thirds
- // and fourth daughter particles
+ int il1=0, il2=1, il3=2, il4=3; // leptons are the first, second, thirds
+ // and fourth daughter particles
EvtComplex unit1(1.0,0.0); // real unit
EvtComplex uniti(0.0,1.0); // imaginary unit
parent->mass(); // B - meson mass, GeV
double fb = 0.0; // leptonic decay constant of B-meson, GeV
double Cl = 0.0; // LPL and LSL - vertexes
if(Fc != 0.0){
Cl = mLiiLR*mLiiLR/(sqrt(2)*Fc);
}
if(Cl == 0.0){
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLHyperCPAmp::CalcAmp(...)"
<< "\n Error in the Cl setting!"
<< "\n Cl = " << Cl
- << "\n mLiiLR = " << mLiiLR
- << "\n Fc = " << Fc << std::endl;
+ << "\n mLiiLR = " << mLiiLR
+ << "\n Fc = " << Fc << std::endl;
::abort();
}
EvtComplex MS = unit1*mS - uniti*gammaS/2.0; // complex mass of the scalar sgoldstino
-
EvtComplex MP = unit1*mP - uniti*gammaP/2.0; // complex mass of the pseudoscalar sgoldstino
-
-
//
// Setting of the different Bq-mesons tipes
//
EvtId idparent = parent->getId(); // Bq-meson Id
EvtId IdMu1, IdMu2, IdMu3, IdMu4;
double CB = 0.0;
if(idparent == EvtPDL::getId(std::string("B_s0"))){
fb = 0.24; // leptonic decay constant
CB = mD32LL*mD32LL + mD32RR*mD32RR;
}
if(idparent == EvtPDL::getId(std::string("anti-B_s0"))){
fb = 0.24; // leptonic decay constant
CB = mD23LL*mD23LL + mD23RR*mD23RR;
}
if(idparent == EvtPDL::getId(std::string("B0"))){
fb = 0.20; // leptonic decay constant
CB = mD31LL*mD31LL + mD31RR*mD31RR;
}
if(idparent == EvtPDL::getId(std::string("anti-B0"))){
fb = 0.20; // leptonic decay constant
CB = mD13LL*mD13LL + mD13RR*mD13RR;
}
if(CB == 0.0){
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLHyperCPAmp::CalcAmp(...)"
<< "\n Error in the CB setting!"
<< "\n CB = " << CB
<< "\n mD32LL = " << mD32LL
<< "\n mD32RR = " << mD32RR
<< "\n mD23LL = " << mD23LL
<< "\n mD23RR = " << mD23RR
<< "\n mD31LL = " << mD31LL
<< "\n mD31RR = " << mD31RR
<< "\n mD13LL = " << mD13LL
<< "\n mD13RR = " << mD13RR
- << "\n idparent = " << idparent << std::endl;
+ << "\n idparent = " << idparent << std::endl;
::abort();
}
//
// Setting the leptonic kinematical properties
//
// to find charges of ell^+ and ell^- in the B-meson daughters
int charge1 = (EvtPDL::chg3(parent->getDaug(il1)->getId()))/3;
int charge2 = (EvtPDL::chg3(parent->getDaug(il2)->getId()))/3;
int charge3 = (EvtPDL::chg3(parent->getDaug(il3)->getId()))/3;
int charge4 = (EvtPDL::chg3(parent->getDaug(il4)->getId()))/3;
if((abs(charge1)!=1)||(abs(charge2)!=1)||(abs(charge3)!=1)||(abs(charge4)!=1)||
(charge1+charge2+charge3+charge4!=0)){
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLHyperCPAmp::CalcAmp(...)"
<< "\n Error in the leptonic charge definition!"
<< "\n charge1 =" << charge1
<< "\n charge2 =" << charge2
<< "\n charge3 =" << charge3
<< "\n charge4 =" << charge4
<< "\n number of daughters =" << parent->getNDaug()
<< std::endl;
::abort();
}
EvtParticle* lep1Plus = 0;
EvtParticle* lep1Minus = 0;
EvtParticle* lep2Plus = 0;
EvtParticle* lep2Minus = 0;
EvtVector4R p; // B-meson momentum in the B-rest frame
EvtVector4R q; // first transition 4-momentum in the B-rest frame
EvtVector4R k; // second transition 4-momentum in the B-rest frame
double q2; // Mandelstam variable s=q^2
double k2; // Mandelstam variable t=k^2
EvtVector4R qsecond; // first transition 4-momentum in the B-rest frame
EvtVector4R ksecond; // second transition 4-momentum in the B-rest frame
double q2second; // Mandelstam variable s=q^2
double k2second; // Mandelstam variable t=k^2
EvtVector4R k_1; // 4-momentum of ell^+ in the B-rest frame
EvtVector4R k_2; // 4-momentum of ell^- in the B-rest frame
EvtVector4R k_3; // 4-momentum of ell^+ in the B-rest frame
EvtVector4R k_4; // 4-momentum of ell^- in the B-rest frame
k_1.set(0.0,0.0,0.0,0.0);
k_2.set(0.0,0.0,0.0,0.0);
k_3.set(0.0,0.0,0.0,0.0);
k_4.set(0.0,0.0,0.0,0.0);
if ((charge1+charge2==0)&&(charge3+charge4==0)){
// positive charged lepton 1
lep1Plus = (charge1 > charge2) ? parent->getDaug(il1) : parent->getDaug(il2);
// negative charged lepton 1
lep1Minus = (charge1 < charge2) ? parent->getDaug(il1) : parent->getDaug(il2);
if(charge1 > charge2){
k_1 = parent->getDaug(il1)->getP4();
k_2 = parent->getDaug(il2)->getP4();
IdMu1 = parent->getDaug(il1)->getId();
IdMu2 = parent->getDaug(il2)->getId();
} else {
k_1 = parent->getDaug(il2)->getP4();
k_2 = parent->getDaug(il1)->getP4();
IdMu1 = parent->getDaug(il2)->getId();
IdMu2 = parent->getDaug(il1)->getId();
}
// positive charged lepton 2
- lep2Plus = (charge3 > charge4) ? parent->getDaug(il3) : parent->getDaug(il4);
+ lep2Plus = (charge3 > charge4) ? parent->getDaug(il3) : parent->getDaug(il4);
// negative charged lepton 2
lep2Minus = (charge3 < charge4) ? parent->getDaug(il3) : parent->getDaug(il4);
if(charge3 > charge4){
k_3 = parent->getDaug(il3)->getP4();
k_4 = parent->getDaug(il4)->getP4();
IdMu3 = parent->getDaug(il3)->getId();
IdMu4 = parent->getDaug(il4)->getId();
} else {
k_3 = parent->getDaug(il4)->getP4();
k_4 = parent->getDaug(il3)->getP4();
IdMu3 = parent->getDaug(il4)->getId();
IdMu4 = parent->getDaug(il3)->getId();
}
}
if ((charge1+charge3==0)&&(charge2+charge4==0)){
// positive charged lepton 1
- lep1Plus = (charge1 > charge3) ? parent->getDaug(il1) : parent->getDaug(il3);
+ lep1Plus = (charge1 > charge3) ? parent->getDaug(il1) : parent->getDaug(il3);
// negative charged lepton 1
lep1Minus = (charge1 < charge3) ? parent->getDaug(il1) : parent->getDaug(il3);
if(charge1 > charge3){
k_1 = parent->getDaug(il1)->getP4();
k_2 = parent->getDaug(il3)->getP4();
IdMu1 = parent->getDaug(il1)->getId();
IdMu2 = parent->getDaug(il3)->getId();
} else {
k_1 = parent->getDaug(il3)->getP4();
k_2 = parent->getDaug(il1)->getP4();
IdMu1 = parent->getDaug(il3)->getId();
IdMu2 = parent->getDaug(il1)->getId();
}
// positive charged lepton 2
- lep2Plus = (charge2 > charge4) ? parent->getDaug(il2) : parent->getDaug(il4);
+ lep2Plus = (charge2 > charge4) ? parent->getDaug(il2) : parent->getDaug(il4);
// negative charged lepton 2
- lep2Minus = (charge2 < charge4) ? parent->getDaug(il2) : parent->getDaug(il4);
+ lep2Minus = (charge2 < charge4) ? parent->getDaug(il2) : parent->getDaug(il4);
if(charge2 > charge4){
k_3 = parent->getDaug(il2)->getP4();
k_4 = parent->getDaug(il4)->getP4();
IdMu3 = parent->getDaug(il2)->getId();
IdMu4 = parent->getDaug(il4)->getId();
} else {
k_3 = parent->getDaug(il4)->getP4();
k_4 = parent->getDaug(il2)->getP4();
IdMu3 = parent->getDaug(il4)->getId();
IdMu4 = parent->getDaug(il2)->getId();
}
}
p = parent->getP4Restframe();
//
// The calculation of the FIRST part of the amplitude
//
q = k_1 + k_2;
k = k_3 + k_4;
q2 = q.mass2(); // Mandelstam variable s=q^2
k2 = k.mass2(); // Mandelstam variable t=k^2
-
-
//
// The calculation of the SECOND part of the amplitude
//
qsecond = k_1 + k_4;
ksecond = k_3 + k_2;
q2second = qsecond.mass2(); // Mandelstam variable s=q^2
k2second = ksecond.mass2(); // Mandelstam variable t=k^2
// B - and barB - mesons descriptors
static EvtIdSet bmesons("anti-B0","anti-B_s0");
static EvtIdSet bbarmesons("B0","B_s0");
EvtId parentID = parent->getId();
if (bmesons.contains(parentID)){
// The amplitude for the decay barB -> ell^+ ell^- ell^+ ell^- or
- // b \bar q -> ell^+ ell^- ell^+ ell^-
+ // b \bar q -> ell^+ ell^- ell^+ ell^-
int i1, i2, i3, i4; // leptonic spin structures counters
int leptonicspin[4]; // array for the saving of the leptonic spin configuration
// Tables for correspondings
// l^+(k_1) && lep1Plus && k_1 && i1
// l^-(k_2) && lep1Minus && k_2 && i2
- // l^+(k_3) && lep2Plus && k_3 && i3
+ // l^+(k_3) && lep2Plus && k_3 && i3
// l^-(k_4) && lep2Minus && k_4 && i4
for(i2=0;i2<2;i2++){
leptonicspin[0] = i2;
for(i1=0;i1<2;i1++){
leptonicspin[1] = i1;
for(i4=0;i4<2;i4++){
leptonicspin[2] = i4;
for(i3=0;i3<2;i3++){
leptonicspin[3] = i3;
EvtComplex SL2L1, PL4L3;
- EvtComplex SL2L1second, PL4L3second;
-
+ EvtComplex SL2L1second, PL4L3second;
+
SL2L1 = EvtLeptonSCurrent(lep1Minus->spParent(i2),lep1Plus->spParent(i1));
PL4L3 = EvtLeptonPCurrent(lep2Minus->spParent(i4),lep2Plus->spParent(i3));
SL2L1second = EvtLeptonSCurrent(lep2Minus->spParent(i2),lep1Plus->spParent(i1));
PL4L3second = EvtLeptonPCurrent(lep1Minus->spParent(i4),lep2Plus->spParent(i3));
amp.vertex(leptonicspin,Cl*Cl*CB*fb*(
SL2L1*PL4L3*(q2-k2)/((q2 - MS*MS)*(k2 - MP*MP)) -
SL2L1second*PL4L3second*(q2second-k2second)/((q2second - MS*MS)*(k2second - MP*MP))
)/(4.0*Fc*Fc));
}
}
}
}
// EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n The function EvtbsToLLLLHyperCPAmp::CalcAmp(...) passed with arguments:"
// << "\n ============================================================================"
// << "\n Input parameters:"
-// << "\n mS = " << mS
+// << "\n mS = " << mS
// << "\n mP = " << mP
// << "\n gammaS = " << gammaS
// << "\n gammaP = " << gammaP
// << "\n mLiiLR = " << mLiiLR
// << "\n Fc = " << Fc
// << "\n mD23LL = " << mD23LL
// << "\n mD23RR = " << mD23RR
// << "\n mD32LL = " << mD32LL
// << "\n mD32RR = " << mD32RR
// << "\n mD13LL = " << mD13LL
// << "\n mD13RR = " << mD13RR
// << "\n mD31LL = " << mD31LL
// << "\n mD31RR = " << mD31RR
// << "\n ============================================================================"
// << "\n Kinematics:"
// << "\n k_1 = " << k_1
// << "\n m_ell_1 =" << parent->getDaug(il1)->mass()
// << "\n k_2 = " << k_2
// << "\n m_ell_2 =" << parent->getDaug(il2)->mass()
// << "\n k_3 = " << k_3
// << "\n m_ell_3 =" << parent->getDaug(il3)->mass()
// << "\n k_4 = " << k_4
// << "\n m_ell_4 =" << parent->getDaug(il4)->mass()
// << "\n p = " << p
// << "\n q = " << q
// << "\n k = " << k
// << "\n qsecond = " << qsecond
// << "\n ksecond = " << ksecond
// << "\n ============================================================================"
// << "\n Form-factors"
// << "\n fb = " << fb
// << "\n ============================================================================"
// << "\n Coefficients:"
// << "\n Cl = " << Cl
// << "\n CB = " << CB
// << "\n ============================================================================"
// << "\n Partical Properties:"
// << "\n IdB = " << idparent << " == " << EvtPDL::getId(std::string("anti-B_s0"))
// << "\n IdMu1 = " << IdMu1 << " == " << EvtPDL::getId(std::string("mu+"))
// << "\n IdMu2 = " << IdMu2 << " == " << EvtPDL::getId(std::string("mu-"))
// << "\n IdMu3 = " << IdMu3 << " == " << EvtPDL::getId(std::string("mu+"))
// << "\n IdMu4 = " << IdMu4 << " == " << EvtPDL::getId(std::string("mu-"))
// << "\n\n\n\n"
// << std::endl;
} else {
if (bbarmesons.contains(parentID)){
// The amplitude for the decay B -> ell^+ ell^- ell^+ ell^- or
// q bar b -> ell^+ ell^- ell^+ ell^-
int i1, i2, i3, i4; // leptonic spin structures counters
int leptonicspin[4]; // array for the saving of the leptonic spin configuration
// Tables for correspondings
// l^+(k_1) && lep1Plus && k_1 && i1
// l^-(k_2) && lep1Minus && k_2 && i2
- // l^+(k_3) && lep2Plus && k_3 && i3
+ // l^+(k_3) && lep2Plus && k_3 && i3
// l^-(k_4) && lep2Minus && k_4 && i4
for(i2=1;i2<0;i2--){
leptonicspin[0] = i2;
for(i1=1;i1<0;i1--){
leptonicspin[1] = i1;
for(i4=1;i4<0;i4--){
leptonicspin[2] = i4;
for(i3=1;i3<0;i3--){
leptonicspin[3] = i3;
EvtComplex SL2L1, PL4L3;
EvtComplex SL2L1second, PL4L3second;
SL2L1 = EvtLeptonSCurrent(lep1Minus->spParent(i2),lep1Plus->spParent(i1));
PL4L3 = EvtLeptonPCurrent(lep2Minus->spParent(i4),lep2Plus->spParent(i3));
SL2L1second = EvtLeptonSCurrent(lep2Minus->spParent(i2),lep1Plus->spParent(i1));
PL4L3second = EvtLeptonPCurrent(lep1Minus->spParent(i4),lep2Plus->spParent(i3));
amp.vertex(leptonicspin,Cl*Cl*CB*fb*(
SL2L1*PL4L3*(q2-k2)/((q2 - MS*MS)*(k2 - MP*MP)) -
SL2L1second*PL4L3second*(q2second-k2second)/((q2second - MS*MS)*(k2second - MP*MP))
)/(4.0*Fc*Fc));
}
}
}
}
// EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n The function EvtbsToLLLLHyperCPAmp::CalcAmp(...) passed with arguments:"
// << "\n ============================================================================"
// << "\n Input parameters:"
-// << "\n mS = " << mS
+// << "\n mS = " << mS
// << "\n mP = " << mP
// << "\n gammaS = " << gammaS
// << "\n gammaP = " << gammaP
// << "\n mLiiLR = " << mLiiLR
// << "\n Fc = " << Fc
// << "\n mD23LL = " << mD23LL
// << "\n mD23RR = " << mD23RR
// << "\n mD32LL = " << mD32LL
// << "\n mD32RR = " << mD32RR
// << "\n mD13LL = " << mD13LL
// << "\n mD13RR = " << mD13RR
// << "\n mD31LL = " << mD31LL
// << "\n mD31RR = " << mD31RR
// << "\n ============================================================================"
// << "\n Kinematics:"
// << "\n k_1 = " << k_1
// << "\n m_ell_1 =" << parent->getDaug(il1)->mass()
// << "\n k_2 = " << k_2
// << "\n m_ell_2 =" << parent->getDaug(il2)->mass()
// << "\n k_3 = " << k_3
// << "\n m_ell_3 =" << parent->getDaug(il3)->mass()
// << "\n k_4 = " << k_4
// << "\n m_ell_4 =" << parent->getDaug(il4)->mass()
// << "\n p = " << p
// << "\n q = " << q
// << "\n k = " << k
// << "\n qsecond = " << qsecond
// << "\n ksecond = " << ksecond
// << "\n ============================================================================"
// << "\n Form-factors"
// << "\n fb = " << fb
// << "\n ============================================================================"
// << "\n Coefficients:"
// << "\n Cl = " << Cl
// << "\n CB = " << CB
// << "\n ============================================================================"
// << "\n Partical Properties:"
// << "\n IdB = " << idparent << " == " << EvtPDL::getId(std::string("anti-B_s0"))
// << "\n IdMu1 = " << IdMu1 << " == " << EvtPDL::getId(std::string("mu+"))
// << "\n IdMu2 = " << IdMu2 << " == " << EvtPDL::getId(std::string("mu-"))
// << "\n IdMu3 = " << IdMu3 << " == " << EvtPDL::getId(std::string("mu+"))
// << "\n IdMu4 = " << IdMu4 << " == " << EvtPDL::getId(std::string("mu-"))
// << "\n\n\n\n"
// << std::endl;
}
else{
EvtGenReport(EVTGEN_ERROR,"EvtGen") << "\n\n The function EvtbsToLLLLHyperCPAmp::CalcAmp(...)"
<< "\n Wrong Bq-meson number"
<< std::endl;
::abort();
- }
+ }
}
}
//
-
-// The decays Bq -> ell^+ ell^- ell^+ ell^- maximum probability calculation
-
+// The decays Bq -> ell^+ ell^- ell^+ ell^- maximum probability calculation
//
double EvtbsToLLLLHyperCPAmp::CalcMaxProb(
EvtId parnum,
EvtId l1num, EvtId /*l2num*/,
EvtId /*l3num*/, EvtId /*l4num*/,
double mS, double mP,
double gammaS, double gammaP,
double mLiiLR,
double Fc,
double mD23LL, double mD23RR,
double mD32LL, double mD32RR,
double mD13LL, double mD13RR,
double mD31LL, double mD31RR
){
if(Fc == 0.0){
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLHyperCPAmp::CalcMaxProb"
<< "\n Error in the Fc setting!"
- << "\n Fc = " << Fc
+ << "\n Fc = " << Fc
<< "\n mD32LL = " << mD32LL
<< "\n mD32RR = " << mD32RR
<< "\n mD23LL = " << mD23LL
<< "\n mD23RR = " << mD23RR
<< "\n mD31LL = " << mD31LL
<< "\n mD31RR = " << mD31RR
<< "\n mD13LL = " << mD13LL
<< "\n mD13RR = " << mD13RR
- << "\n parnum = " << parnum << std::endl;
-
- ::abort();
+ << "\n parnum = " << parnum << std::endl;
+ ::abort();
}
-
double Cl = 0.0; // LPL and LSL - vertexes
if(Fc != 0.0){
Cl = mLiiLR*mLiiLR/(sqrt(2)*Fc);
}
if(Cl == 0.0){
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLHyperCPAmp::CalcMaxProb"
<< "\n Error in the Cl setting!"
<< "\n Cl = " << Cl
- << "\n mLiiLR = " << mLiiLR
- << "\n Fc = " << Fc << std::endl;
+ << "\n mLiiLR = " << mLiiLR
+ << "\n Fc = " << Fc << std::endl;
::abort();
}
//
// Setting of the different Bq-mesons tipes
//
- double fb = 0.0;
+ double fb = 0.0;
double CB = 0.0;
if(parnum == EvtPDL::getId(std::string("B_s0"))){
fb = 0.24; // leptonic decay constant
CB = mD32LL*mD32LL + mD32RR*mD32RR;
}
if(parnum == EvtPDL::getId(std::string("anti-B_s0"))){
fb = 0.24; // leptonic decay constant
CB = mD23LL*mD23LL + mD23RR*mD23RR;
}
if(parnum == EvtPDL::getId(std::string("B0"))){
fb = 0.20; // leptonic decay constant
CB = mD31LL*mD31LL + mD31RR*mD31RR;
}
if(parnum == EvtPDL::getId(std::string("anti-B0"))){
fb = 0.20; // leptonic decay constant
CB = mD13LL*mD13LL + mD13RR*mD13RR;
}
if(CB == 0.0){
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n The function EvtbsToLLLLHyperCPAmp::CalcMaxProb"
<< "\n Error in the CB setting!"
<< "\n CB = " << CB
<< "\n mD32LL = " << mD32LL
<< "\n mD32RR = " << mD32RR
<< "\n mD23LL = " << mD23LL
<< "\n mD23RR = " << mD23RR
<< "\n mD31LL = " << mD31LL
<< "\n mD31RR = " << mD31RR
<< "\n mD13LL = " << mD13LL
<< "\n mD13RR = " << mD13RR
- << "\n parnum = " << parnum << std::endl;
+ << "\n parnum = " << parnum << std::endl;
::abort();
}
double M1 = EvtPDL::getMeanMass(parnum); // B - meson mass
EvtPDL::getMeanMass(l1num); // leptonic mass
// We find the maximum amplitude probability
double maxfoundprob = Cl*Cl*CB*fb*fabs(mS*mS+mP*mP+M1*M1)*10000000.0/
(4.0*Fc*Fc*mS*gammaS*mP*gammaP);
if(maxfoundprob<=0.0){
- EvtGenReport(EVTGEN_ERROR,"EvtGen")
+ EvtGenReport(EVTGEN_ERROR,"EvtGen")
<< "\n\n In the function EvtbsToLLLLHyperCPAmp::CalcMaxProb"
<< "\n maxfoundprob = " << maxfoundprob << " < 0 or =0!"
<< "\n mS = " << mS
<< "\n mP = " << mP
<< "\n gammaS = " << gammaS
<< "\n gammaP = " << gammaP
<< "\n mLiiLR = " << mLiiLR
<< "\n Fc = " << Fc
<< "\n mD32LL = " << mD32LL
<< "\n mD32RR = " << mD32RR
<< "\n mD23LL = " << mD23LL
<< "\n mD23RR = " << mD23RR
<< "\n mD31LL = " << mD31LL
<< "\n mD31RR = " << mD31RR
<< "\n mD13LL = " << mD13LL
<< "\n mD13RR = " << mD13RR
<< "\n parnum = " << parnum
<< std::endl;
::abort();
}
EvtGenReport(EVTGEN_NOTICE,"EvtGen")
- << "\n maxfoundprob (...) = "
+ << "\n maxfoundprob (...) = "
<< maxfoundprob
<< std::endl;
maxfoundprob *=1.01;
return maxfoundprob;
}
// Triangular function
double EvtbsToLLLLHyperCPAmp::lambda(double a, double b, double c){
double l;
l=pow(a,2.0)+pow(b,2.0)+pow(c,2.0)-2.0*a*b-2.0*a*c-2.0*b*c;
return l;
}
diff --git a/test/compareRootFiles.py b/test/compareRootFiles.py
new file mode 100755
index 0000000..ece265f
--- /dev/null
+++ b/test/compareRootFiles.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+
+import sys
+import ROOT
+
+def compare1D(can, hist1, hist2):
+ ''' Function to overlay two 1D histograms'''
+ hist1.SetLineColor(ROOT.kBlue)
+ hist2.SetLineColor(ROOT.kRed)
+ hist1.Draw()
+ hist2.Draw('same')
+ can.Update()
+
+def compare2D(can, hist1, hist2, pdf):
+ ''' This function plots difference of 2D histograms. Be aware that in
+case of identical histograms result will be empty plot.'''
+ histDiff = hist1.Clone(hist1.GetName()+'diff')
+ histDiff.Add(hist1, hist2, 1, -1)
+ histDiff.SetMinimum(-50)
+ histDiff.SetMaximum(50)
+ histDiff.Draw('colz')
+ can.Update()
+ canvas.Print(pdf)
+
+if __name__ == '__main__':
+ file1 = ROOT.TFile.Open(sys.argv[1])
+ file2 = ROOT.TFile.Open(sys.argv[2])
+ pdfName = sys.argv[3]
+
+ histNames = []
+ histTypes = []
+
+ for key in file1.GetListOfKeys():
+ histNames.append(key.GetName())
+ histTypes.append(key.GetClassName())
+
+ print(histNames)
+ print(histTypes)
+
+ canvas = ROOT.TCanvas()
+ canvas.Draw()
+ canvas.Print(pdfName+'[')
+
+ for name, typ in zip(histNames, histTypes):
+ hh1 = file1.Get(name)
+ hh2 = file2.Get(name)
+ if 'TH1' in typ:
+ compare1D(canvas, hh1, hh2)
+ canvas.Print(pdfName)
+ elif 'TH2' in typ:
+ compare2D(canvas, hh1, hh2, pdfName)
+ print(hh1.GetName())
+ hh1.Chi2Test(hh2, "P")
+
+ canvas.Print(pdfName+']')
+ file1.Close()
+ file2.Close()
+
diff --git a/test/compareTests.sh b/test/compareTests.sh
new file mode 100755
index 0000000..8f0fc5a
--- /dev/null
+++ b/test/compareTests.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/bash
+
+oldDir=$1
+newDir=$2
+pdfDir=$3
+
+# First we do all root files
+for ff in ${oldDir}/*root
+do
+ fileName=$(basename $ff)
+ baseFileName=`echo ${fileName}|cut -d'.' -f1`
+ ./compareRootFiles.py ${oldDir}/${fileName} ${newDir}/${fileName} ${pdfDir}/${baseFileName}.pdf
+done
+
+# Now compare all dat files
+for ff in ${oldDir}/*dat
+do
+ fileName=$(basename ${ff})
+ echo $fileName `diff ${oldDir}/${fileName} ${newDir}/${fileName}|wc -l `
+done
+

File Metadata

Mime Type
application/octet-stream
Expires
Mon, Apr 22, 1:10 AM (2 d)
Storage Engine
chunks
Storage Format
Chunks
Storage Handle
LEiWm_jd9fHN
Default Alt Text
(5 MB)

Event Timeline