Commit 9d500291 authored by Stefan Hoeche's avatar Stefan Hoeche

svn merge -r17873:17925 branches/decays

svn merge -r17929:17937 branches/decays
(mpi parallelization)
parent a6d36d10
......@@ -73,7 +73,7 @@ void Cluster_Decay_Analysis::AnalyseThis(Blob * blob)
for (int i=0;i<blob->NInP();i++) {
part = blob->InParticle(i);
kfc = int(part->Flav());
x = 2.*part->Momentum()[0]/rpa.gen.Ecms();
x = 2.*part->Momentum()[0]/rpa->gen.Ecms();
if (x>max_x) max_x = x;
switch (kfc) {
case 5:
......@@ -89,81 +89,81 @@ void Cluster_Decay_Analysis::AnalyseThis(Blob * blob)
for (int i=0;i<blob->NOutP();i++) {
part = blob->OutParticle(i);
x = 2.*part->Momentum()[0]/rpa.gen.Ecms();
x = 2.*part->Momentum()[0]/rpa->gen.Ecms();
if (x>max_x) max_x = x;
kfc = int(part->Flav());
switch (kfc) {
case 111:
Npi0++;
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 211:
Npiplus++;
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case -211:
Npiminus++;
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 221:
Neta++;
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 311:
NK0++;
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case -311:
NK0b++;
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 321:
NKplus++;
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case -321:
NKminus++;
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 331:
Netaprime++;
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Pseudoscalars")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 113:
Nrho0++;
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 213:
Nrhoplus++;
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case -213:
Nrhominus++;
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 223:
Nomega++;
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 313:
NKstar0++;
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case -313:
NKstar0b++;
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 323:
NKstarplus++;
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case -323:
NKstarminus++;
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 333:
Nphi++;
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Vectors")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 411:
case 413:
......@@ -171,23 +171,23 @@ void Cluster_Decay_Analysis::AnalyseThis(Blob * blob)
case 423:
case 431:
case 433:
m_histograms[string("x_p_C-Hadrons")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_C-Hadrons")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
break;
case 511:
case 521:
//case 531:
// if (2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms()<0.89 &&
// 2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms()>0.88)
// if (2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms()<0.89 &&
// 2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms()>0.88)
// cout<<(*blob)<<endl<<endl
// <<"#################################################################################"<<endl<<endl;
m_histograms[string("x_p_B-Mesons")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_B-Mesons")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
m_histograms[string("x_E_B-Mesons")]->Insert(x);
if (x>max_xB) max_xB = x;
break;
case 513:
case 523:
case 533:
m_histograms[string("x_p_Bstar-Mesons")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa.gen.Ecms());
m_histograms[string("x_p_Bstar-Mesons")]->Insert(2.*Vec3D(part->Momentum()).Abs()/rpa->gen.Ecms());
m_histograms[string("x_E_Bstar-Mesons")]->Insert(x);
break;
case 3122:
......
......@@ -19,7 +19,7 @@ void Colour_Reconnections::Singlet_CR(Cluster_List * clin)
if (clin->size()<2) return;
Cluster_Iterator cit1,cit2;
int gen=1;
bool direction = (ran.Get()>0.5);
bool direction = (ran->Get()>0.5);
if (direction) clin->reverse();
cit1 = cit2 = clin->begin(); cit2++;
......@@ -32,11 +32,11 @@ void Colour_Reconnections::Singlet_CR(Cluster_List * clin)
(*cit1)->Update();
(*cit2)->Update();
if (m_w14/(m_w23+m_w14)>ran.Get()) { cit2++; gen++; }
if (m_w14/(m_w23+m_w14)>ran->Get()) { cit2++; gen++; }
else { cit1 = cit2; cit2++; gen=1; }
}
else {
if (m_w12/(m_w12+m_w34)>ran.Get()) { cit2++; gen++; }
if (m_w12/(m_w12+m_w34)>ran->Get()) { cit2++; gen++; }
else { cit1 = cit2; cit2++; gen=1; }
}
} while (cit2!=clin->end());
......@@ -52,7 +52,7 @@ bool Colour_Reconnections::TestClusters(Cluster * cl1,Cluster * cl2,int gen)
double kinweight = KinematicWeight(cl1->GetTrip()->m_mom,cl1->GetAnti()->m_mom,
cl2->GetTrip()->m_mom,cl2->GetAnti()->m_mom);
double colweight = ColourWeight(gen);
if (kinweight*colweight>ran.Get()) return true;
if (kinweight*colweight>ran->Get()) return true;
return false;
}
......
......@@ -217,7 +217,7 @@ int Gluon_Decayer::Rescue(DipIter & dip) {
}
else {
dip1 = dip2 = dip;
if (ran.Get()>0.5) dip2++;
if (ran->Get()>0.5) dip2++;
else dip1--;
}
}
......
......@@ -43,7 +43,7 @@ Ahadic::~Ahadic()
Return_Value::code Ahadic::Hadronize(Blob_List * blobs)
{
static std::string mname(METHOD);
rvalue.IncCall(mname);
Return_Value::IncCall(mname);
if (msg->LevelIsDebugging()) {
msg_Out()<<"##########################################################################"<<endl
<<"###################################### IN ################################"<<endl;
......@@ -57,7 +57,7 @@ Return_Value::code Ahadic::Hadronize(Blob_List * blobs)
}
Blob * blob(NULL);
bool moveon(false);
double norm2(sqr(rpa.gen.Ecms()));
double norm2(sqr(rpa->gen.Ecms()));
Return_Value::code result;
for (Blob_List::iterator blit=blobs->begin();blit!=blobs->end();) {
if ((*blit)->Has(blob_status::needs_hadronization) &&
......@@ -97,7 +97,7 @@ Return_Value::code Ahadic::Hadronize(Blob_List * blobs)
<<"("<<blob<<"; "<<blob->NInP()<<" -> "<<blob->NOutP()<<") "
<<"did not work out properly in the "<<(i+1)<<"th attempt,"<<std::endl
<<" retry it "<<m_maxtrials<<" times."<<std::endl;
rvalue.IncRetryMethod(mname);
Return_Value::IncRetryMethod(mname);
CleanUp(blob);
break;
case Return_Value::Nothing :
......
......@@ -220,7 +220,7 @@ namespace AHADIC {
void push_back(ATOOLS::Flavour);
void clear();
const size_t size() const;
size_t size() const;
ATOOLS::Flavour operator[](size_t pos);
......@@ -281,7 +281,7 @@ namespace AHADIC {
inline double Cluster::Mass() const { return sqrt(m_momentum.Abs2()); }
inline void Cluster::push_back(ATOOLS::Flavour flav) { m_decayproducts.push_back(flav); }
inline void Cluster::clear() { m_decayproducts.clear(); }
inline const size_t Cluster::size() const { return m_decayproducts.size(); }
inline size_t Cluster::size() const { return m_decayproducts.size(); }
inline ATOOLS::Flavour Cluster::operator[](size_t pos) { return m_decayproducts[pos]; }
inline double Cluster::KT() const { return m_kt; }
inline double Cluster::Z() const { return m_z; }
......
......@@ -125,7 +125,7 @@ SplitDipole(Dipole * dip,const bool & first,const bool & vetodiquark) {
}
bool Dipole_Splitter::SelectOrder(Dipole *& dip1,Dipole *& dip2) {
if (ran.Get()<
if (ran->Get()<
(dip1->Mass2()-dip1->Triplet()->m_mom.Abs2())/
(dip1->Mass2()-dip1->Triplet()->m_mom.Abs2()+
dip2->Mass2()-dip2->AntiTriplet()->m_mom.Abs2())) {
......@@ -199,7 +199,7 @@ void Dipole_Splitter::AnalyseClusterSplitting(Cluster * cluster) {
void Dipole_Splitter::AnalyseKinematics(const ATOOLS::Vec4D q1,const ATOOLS::Vec4D q2,
const ATOOLS::Vec4D q3,const bool glusplit) {
//double Ebeam = rpa.gen.Ecms()/2.;
//double Ebeam = rpa->gen.Ecms()/2.;
Histogram * histo;
double kt2(p_tools->PT2()), kt(sqrt(kt2)), z(p_tools->Z());
if (glusplit) {
......
......@@ -263,7 +263,7 @@ int Soft_Cluster_Handler::CheckCluster(Cluster * cluster,bool lighter)
double transformweight(TransformWeight(cluster,hadtrans,lighter,false));
if (decayweight>0. || transformweight>0.) {
double totweight((Max(0.,decayweight)+Max(0.,transformweight))*0.9999999);
if (transformweight<=0. || decayweight/totweight>ran.Get()) {
if (transformweight<=0. || decayweight/totweight>ran->Get()) {
m_decays += 1;
cluster->push_back(haddec1);
cluster->push_back(haddec2);
......@@ -367,7 +367,7 @@ ClusterAnnihilation(Cluster * cluster,Flavour & had1,Flavour & had2) {
Proto_Particle *pp2(new Proto_Particle(fl2,cluster->GetTrip()->m_mom/2.,'l'));
Proto_Particle *pp3(new Proto_Particle(fl3,cluster->GetAnti()->m_mom/2.,'l'));
Proto_Particle *pp4(new Proto_Particle(fl4,cluster->GetAnti()->m_mom/2.,'l'));
bool order(ran.Get()>0.5?true:false);
bool order(ran->Get()>0.5?true:false);
Cluster cluster1((order?pp3:pp4),pp1), cluster2((!order?pp4:pp3),pp2);
Flavour_Pair pair1, pair2;
pair1.first = cluster1.GetTrip()->m_flav;
......@@ -612,7 +612,7 @@ TransformWeight(Cluster * cluster,ATOOLS::Flavour & hadron,
totweight += wt;
}
double disc(totweight * 0.9999999999*ran.Get());
double disc(totweight * 0.9999999999*ran->Get());
for (siter=start;siter!=stl->end();siter++) {
if (siter->first!=hadron) {
wt = TransformKin(MC,siter->first,enforce);
......@@ -759,7 +759,7 @@ DecayWeight(Cluster * cluster,Flavour & had1,Flavour & had2,
}
had1 = had2 = Flavour(kf_none);
double disc(totweight * 0.9999999999*ran.Get());
double disc(totweight * 0.9999999999*ran->Get());
for (Double_Transition_Siter decit=dtliter->second->begin();
decit!=dtliter->second->end();decit++) {
m1 = decit->first.first.HadMass();
......@@ -807,14 +807,14 @@ void Soft_Cluster_Handler::FixHHDecay(Cluster * cluster,Blob * blob,
double pt2max(ATOOLS::Min(pt2prev,p2max));
//double ctheta = 1.-2.*ATOOLS::ran.Get(), stheta=sqrt(1.-ctheta*ctheta);
//double ctheta = 1.-2.*ATOOLS::ran->Get(), stheta=sqrt(1.-ctheta*ctheta);
//double pt = sqrt(p2max)*stheta;
//double pl1 = p2max*ctheta;
double pt2 = p_as->SelectPT(pt2max,0.), pt = sqrt(pt2);
int sign = cluster->GetTrip()->m_mom[3]<0?-1:1;
double pl1 = sign*sqrt(sqr(E1)-sqr(pt)-m12);
double cosphi = cos(2.*M_PI*ran.Get()), sinphi = sqrt(1.-cosphi*cosphi);
double cosphi = cos(2.*M_PI*ran->Get()), sinphi = sqrt(1.-cosphi*cosphi);
Vec4D p1 = Vec4D(E1,pt*cosphi,pt*sinphi,pl1);
Vec4D p2 = cluster->Momentum()-p1;
......
......@@ -42,15 +42,15 @@ SelectZ(const double & zmin,const double & zmax,const double & expo,
default:
break;
}
return zmin + ran.Get()*(zmax-zmin);
return zmin + ran->Get()*(zmax-zmin);
}
double Splitting_Functions::
SelectZFromG2QQSplittingFunction(const double & zmin,const double & zmax) {
double z;
do {
z = zmin+(zmax-zmin)*ran.Get();
} while (4.*z*(1.-z)<ran.Get());
z = zmin+(zmax-zmin)*ran->Get();
} while (4.*z*(1.-z)<ran->Get());
return z;
}
......@@ -58,10 +58,10 @@ double Splitting_Functions::
SelectZFromQ2QGSplittingFunction(const double & zmin,const double & zmax,
const double & expo) {
if (expo==1.) {
double z(1.-(1.-zmin)*pow((1.-zmax)/(1.-zmin),ran.Get()));
double z(1.-(1.-zmin)*pow((1.-zmax)/(1.-zmin),ran->Get()));
return z;
}
double rn = ran.Get();
double rn = ran->Get();
return 1.-pow(rn*pow(1.-zmax,1.-expo)+
(1.-rn)*pow(1.-zmin,1.-expo),1./(1.-expo));
}
......
......@@ -113,7 +113,7 @@ void Splitting_Tools::SetSpectatorAndSplitter(Dipole * dip) {
double l1(sqr(Max(dip->Triplet()->m_mass,1.e-4)));
double l2(sqr(Max(dip->AntiTriplet()->m_mass,1.e-4)));
double disc = l1/(l1+l2);
if (ran.Get()>disc) {
if (ran->Get()>disc) {
p_spect = dip->AntiTriplet();
p_split = dip->Triplet();
dip->SetSwitched(true);
......@@ -221,7 +221,7 @@ bool Splitting_Tools::SelectFlavour(const bool & vetodiquark)
<<"--> mass < "<<(sqrt((m_Q2-m_m1_2)/2.))<<"."<<std::endl;
return false;
}
sumwt *= ran.Get();
sumwt *= ran->Get();
for (FDIter fdit=p_options->begin();fdit!=p_options->end();fdit++) {
if (vetodiquark && fdit->first.IsDiQuark()) continue;
if (fdit->second->popweight>0. && fdit->second->massmin<maxmass) {
......@@ -283,7 +283,7 @@ ProduceKinematics(const bool & first,const bool & vetodiquark) {
double OneMinExpo(0.),rand;
int trials(0);
while ((trials++)<1000) {
rand = ATOOLS::ran.Get();
rand = ATOOLS::ran->Get();
if (m_leadsplit || IsZero(OneMinExpo))
m_y = ymin * pow(ymax/ymin,rand);
else
......@@ -293,7 +293,7 @@ ProduceKinematics(const bool & first,const bool & vetodiquark) {
m_z = p_kernels->SelectZ(zmin,zmax,1.,m_glusplit,m_leadsplit);
m_kt2 = m_z*(1.-m_z)*m_s23-(1.-m_z)*m_m3_2-m_z*m_m2_2;
if (m_kt2<0. || m_kt2>m_kt2max) continue;
if ((*p_as)(m_kt2,false)/p_as->MaxValue()<ATOOLS::ran.Get()) continue;
if ((*p_as)(m_kt2,false)/p_as->MaxValue()<ATOOLS::ran->Get()) continue;
m_kt = sqrt(m_kt2);
if (ConstructKinematics()) {
m_lastpt2 = m_kt2;
......@@ -370,10 +370,10 @@ void Splitting_Tools::AftermathOfSplitting(Dipole * dip1) {
if (p_split->m_flav.IsGluon()) {
p_spect->m_mom = m_mom1;
if (p_spect->m_info=='L') {
swap = s12/(s12+s13)>0.5; // ran.Get());
swap = s12/(s12+s13)>0.5; // ran->Get());
}
else if (p_spect->m_flav==ATOOLS::Flavour(kf_gluon)) {
swap = s12/(s12+s13)<0.5; // ran.Get());
swap = s12/(s12+s13)<0.5; // ran->Get());
}
p_out1 = new Proto_Particle(m_flav.Bar(),swap?m_mom3:m_mom2,'l');
p_out2 = new Proto_Particle(m_flav,swap?m_mom2:m_mom3,'l');
......@@ -424,7 +424,7 @@ void Splitting_Tools::SetInfoTagsForOutgoings() const {
void Splitting_Tools::AnalyseKinematics(const ATOOLS::Vec4D & q1,
const ATOOLS::Vec4D & q2,
const ATOOLS::Vec4D & q3) {
double Ebeam = rpa.gen.Ecms()/2.;
double Ebeam = rpa->gen.Ecms()/2.;
if (p_split->m_flav.IsGluon()) {
m_histograms.find(std::string("PT_Gluon_Splitting"))->second
->Insert(m_kt);
......
......@@ -70,7 +70,7 @@ Strong_Coupling::Strong_Coupling(const asform::code form) :
exit(1);
}
const double Strong_Coupling::operator()(double q2,bool reweight) const {
double Strong_Coupling::operator()(double q2,bool reweight) const {
double Q2(dabs(q2)), Q;
switch (m_form) {
......@@ -87,23 +87,23 @@ const double Strong_Coupling::operator()(double q2,bool reweight) const {
return 1./(m_beta0*log(Q2/m_Lambda2));
}
const double Strong_Coupling::
double Strong_Coupling::
SelectPT(const double & scale2max,const double & scale2min) {
double pt2(0.), pt2max(Min(scale2max,m_pt2max)), ran1;
double mini(m_pt02+scale2min),maxi(m_pt02+pt2max);
bool runit(true);
while (runit) {
ran1 = ran.Get();
ran1 = ran->Get();
switch (m_form) {
case asform::IRregularised_IR0:
if (pt2max<=m_pt02) {
pt2 = scale2min+(pt2max-scale2min)*sqrt(ran1);
if ((*this)(pt2,false)/m_asmax* sqr(m_pt02/(m_pt02+pt2))>ran.Get())
if ((*this)(pt2,false)/m_asmax* sqr(m_pt02/(m_pt02+pt2))>ran->Get())
runit = false;
}
else {
pt2 = -m_pt02+mini*pow(maxi/mini,ran1);
if ((*this)(pt2,false)/m_asmax * pt2/(m_pt02+pt2) > ran.Get())
if ((*this)(pt2,false)/m_asmax * pt2/(m_pt02+pt2) > ran->Get())
runit = false;
}
break;
......@@ -112,19 +112,19 @@ SelectPT(const double & scale2max,const double & scale2min) {
case asform::constant:
default:
pt2 = -m_pt02+mini*pow(maxi/mini,ran1);
if ((*this)(pt2)/m_asmax>ran.Get()) runit = false;
if ((*this)(pt2)/m_asmax>ran->Get()) runit = false;
break;
}
}
return m_lastpt2 = pt2;
}
const double Strong_Coupling::n(const double Q) const {
double Strong_Coupling::n(const double Q) const {
double crit= m_gamma/((1.+Q/m_Lambda)*log(m_m2/m_Lambda2)-m_gamma);
return M_PI*(1.+1./(crit+pow(m_b*Q,m_c)));
}
const double Strong_Coupling::mg2(const double Q) const {
double Strong_Coupling::mg2(const double Q) const {
return m_m2/sqr(1.+pow(m_a*Q,m_d));
}
......@@ -21,16 +21,15 @@ namespace AHADIC {
double m_beta0, m_Lambda, m_Lambda2, m_kappa2, m_pt02, m_pt2max;
double m_lastpt2, m_asmax, m_eta;
double m_gamma, m_a, m_b, m_c, m_d, m_m2;
const double mg2(const double) const;
const double n(const double) const;
double mg2(const double) const;
double n(const double) const;
public:
Strong_Coupling(const asform::code);
const double operator()(double q2,bool reweight=false) const;
const double Inverse(const double as) const;
const double MaxValue() const { return m_asmax; }
const double SelectPT(const double & pt2max,const double & pt2min=0.);
const double GetPTArgument() const { return m_lastpt2; }
double operator()(double q2,bool reweight=false) const;
double MaxValue() const { return m_asmax; }
double SelectPT(const double & pt2max,const double & pt2min=0.);
double GetPTArgument() const { return m_lastpt2; }
};
}
......
......@@ -28,7 +28,7 @@ namespace AMEGIC {
virtual void SetNumber(int&) = 0;
virtual Amplitude_Base* operator[](const int i) { return this; }
virtual Amplitude_Base* GetAmplitude(const int) = 0;
virtual const int GetNumber() { return 0; }
virtual int GetNumber() { return 0; }
virtual bool IsGroup() { return false; }
virtual void SetStringOn();
......
......@@ -305,8 +305,8 @@ void Amplitude_Handler::StoreAmplitudeConfiguration(std::string path)
void Amplitude_Handler::RestoreAmplitudes(std::string path)
{
std::string name = rpa.gen.Variable("SHERPA_CPP_PATH")+"/Process/"+path+"/Cluster.dat";
std::ifstream cplfile((rpa.gen.Variable("SHERPA_CPP_PATH")+"/Process/"+path+"/Couplings.dat").c_str());
std::string name = rpa->gen.Variable("SHERPA_CPP_PATH")+"/Process/"+path+"/Cluster.dat";
std::ifstream cplfile((rpa->gen.Variable("SHERPA_CPP_PATH")+"/Process/"+path+"/Couplings.dat").c_str());
IO_Handler ioh;
ioh.SetFileNameRO(name);
size_t cg = ioh.Input<int>("");
......@@ -341,7 +341,7 @@ void Amplitude_Handler::RestoreAmplitudes(std::string path)
void Amplitude_Handler::CompleteLibAmplitudes(int N,std::string pID,std::string lib,
char emit,char spect,Flavour* fl)
{
std::string name = rpa.gen.Variable("SHERPA_CPP_PATH")+"/Process/"+pID+".map";
std::string name = rpa->gen.Variable("SHERPA_CPP_PATH")+"/Process/"+pID+".map";
ifstream from;
from.open(name.c_str());
shand->Get_Generator()->ReadCouplings(from);
......
......@@ -9,7 +9,7 @@ using namespace std;
Amplitude_Output::Amplitude_Output(std::string pid, Topology * _top)
{
std::string fname=rpa.gen.Variable("SHERPA_CPP_PATH")+string("/Process/")+pid+std::string(".tex");
std::string fname=rpa->gen.Variable("SHERPA_CPP_PATH")+string("/Process/")+pid+std::string(".tex");
pios.open(fname.c_str());
top = top;
ampl=0;
......
......@@ -34,7 +34,7 @@ CFColor::CFColor(int N,Single_Amplitude* first,ATOOLS::Flavour * fl,char emit,ch
CSC.Init();
int ncol(CSC.Nc);
if (ncol!=3) pID+="_NC"+ToString(ncol);
std::string name=ATOOLS::rpa.gen.Variable("SHERPA_CPP_PATH")+"/Process/"+pID+".col";
std::string name=ATOOLS::rpa->gen.Variable("SHERPA_CPP_PATH")+"/Process/"+pID+".col";
IO_Handler ioh;
bool gc(ioh.SetFileNameRO(name)==0);
if (gc&&force) {
......@@ -480,7 +480,7 @@ CFColor::CFColor(int N,Single_Amplitude* first,ATOOLS::Flavour * fl,char emit,ch
}
}
cffactor = st.Evaluate(m);
if (abs(cffactor)<rpa.gen.Accu()) cffactor = Complex(0.,0.);
if (abs(cffactor)<rpa->gen.Accu()) cffactor = Complex(0.,0.);
if (fstring_list.size()>0) {
f_table.insert(std::make_pair(fchain,cffactor));
}
......@@ -606,7 +606,7 @@ string CFColor::MapFChain(vector<string> fstring_list)
void CFColor::Output(string & dirname) {
std::string name;
name=ATOOLS::rpa.gen.Variable("SHERPA_CPP_PATH")+string("/Process/")+dirname+".col";
name=ATOOLS::rpa->gen.Variable("SHERPA_CPP_PATH")+string("/Process/")+dirname+".col";
IO_Handler ioh;
ioh.SetFileName(name);
ioh.Output("",mcount); // no of ampls
......
......@@ -69,9 +69,9 @@ namespace AMEGIC {