Commit d2958711 authored by Stefan Hoeche's avatar Stefan Hoeche

make ahadic hadpars non-static (needed for MPI)

parent 61f9cbfb
......@@ -8,8 +8,8 @@ using namespace ATOOLS;
using namespace std;
Cluster_Decay_Handler::Cluster_Decay_Handler(Cluster_List * clulist,bool ana) :
p_softclusters(hadpars.GetSoftClusterHandler()),
p_clus(new Cluster_Part(hadpars.GetSplitter(),ana)),
p_softclusters(hadpars->GetSoftClusterHandler()),
p_clus(new Cluster_Part(hadpars->GetSplitter(),ana)),
p_clulist(clulist),
p_analysis(ana?new Cluster_Decay_Analysis():NULL)
{ }
......
......@@ -21,10 +21,10 @@ using namespace std;
Cluster_Formation_Handler::Cluster_Formation_Handler(Cluster_List* clulist,
bool ana) :
m_single_cr(false), m_double_cr(false),
p_gludecayer(new Gluon_Decayer(hadpars.GetSplitter(),ana)),
p_gludecayer(new Gluon_Decayer(hadpars->GetSplitter(),ana)),
p_cformer(new Cluster_Former()),
p_recons(new Colour_Reconnections(0,0,1.)),
p_softclusters(hadpars.GetSoftClusterHandler()),
p_softclusters(hadpars->GetSoftClusterHandler()),
p_clulist(clulist), m_analyse(ana)
{
if (m_analyse) {
......@@ -108,7 +108,7 @@ bool Cluster_Formation_Handler::ExtractSinglets(Blob * blob)
Proto_Particle_List * pli(NULL);
bool construct(false);
unsigned int col1(0), col2(0);
leading::code leading(hadpars.GetSplitter()->Leading());
leading::code leading(hadpars->GetSplitter()->Leading());
Particle * part(NULL);
for (int i=0;i<blob->NInP();i++) {
part = blob->InParticle(i);
......@@ -181,7 +181,7 @@ bool Cluster_Formation_Handler::ShiftOnMassShells() {
double mass(0.);
for(pit=(*pplit)->begin(); pit!=(*pplit)->end(); ++pit) {
mom += (*pit)->m_mom;
mass += hadpars.GetConstituents()->Mass((*pit)->m_flav);
mass += hadpars->GetConstituents()->Mass((*pit)->m_flav);
}
if(mom.Abs2()>sqr(mass))
......@@ -209,7 +209,7 @@ bool Cluster_Formation_Handler::ShiftOnMassShells() {
double mass(0.);
for(pit=pplin->begin(); pit!=pplin->end(); ++pit) {
mom += (*pit)->m_mom;
mass += hadpars.GetConstituents()->Mass((*pit)->m_flav);
mass += hadpars->GetConstituents()->Mass((*pit)->m_flav);
}
if(mom.Abs2()<sqr(mass)) {
if(takefromshift) {
......@@ -281,14 +281,14 @@ bool Cluster_Formation_Handler::ShiftList(Proto_Particle_List * pl)
#ifdef AHAmomcheck
checkbef += momenta[k];
#endif
masses[k] = hadpars.GetConstituents()->Mass(flav);
masses[k] = hadpars->GetConstituents()->Mass(flav);
}
if (!hadpars.AdjustMomenta(number,&momenta.front(),&masses.front())) {
if (!hadpars->AdjustMomenta(number,&momenta.front(),&masses.front())) {
msg_Error()<<"Warning in "<<METHOD<<". Could not adjust momenta for:\n";
for (pit=pl->begin();pit!=pl->end();++pit,++k) {
msg_Error()<<" "<<(*pit)->m_flav<<" "
<<(*pit)->m_mom<<" ("<<(*pit)->m_mom.Abs2()<<") vs. "
<<hadpars.GetConstituents()->Mass((*pit)->m_flav)<<".\n";
<<hadpars->GetConstituents()->Mass((*pit)->m_flav)<<".\n";
}
return false;
}
......
......@@ -9,23 +9,23 @@ using namespace ATOOLS;
Gluon_Decayer::Gluon_Decayer(Dipole_Splitter * splitter,bool ana) :
p_splitter(splitter),
m_pt2max(sqr(hadpars.Get(std::string("ptmax_factor"))*
hadpars.Get(std::string("ptmax")))),
m_pt2max(sqr(hadpars->Get(std::string("ptmax_factor"))*
hadpars->Get(std::string("ptmax")))),
m_analyse(ana),m_tot(0),m_s(0),m_u(0),m_d(0)
{
double norm(0.);
for (FlavCCMap_Iterator fdit=hadpars.GetConstituents()->CCMap.begin();
fdit!=hadpars.GetConstituents()->CCMap.end();fdit++) {
if (hadpars.GetConstituents()->TotWeight(fdit->first)>norm)
norm = hadpars.GetConstituents()->TotWeight(fdit->first);
for (FlavCCMap_Iterator fdit=hadpars->GetConstituents()->CCMap.begin();
fdit!=hadpars->GetConstituents()->CCMap.end();fdit++) {
if (hadpars->GetConstituents()->TotWeight(fdit->first)>norm)
norm = hadpars->GetConstituents()->TotWeight(fdit->first);
}
DecaySpecs * decspec;
for (FlavCCMap_Iterator fdit=hadpars.GetConstituents()->CCMap.begin();
fdit!=hadpars.GetConstituents()->CCMap.end();fdit++) {
for (FlavCCMap_Iterator fdit=hadpars->GetConstituents()->CCMap.begin();
fdit!=hadpars->GetConstituents()->CCMap.end();fdit++) {
if (!fdit->first.IsAnti()) {
decspec = new DecaySpecs;
decspec->popweight = hadpars.GetConstituents()->TotWeight(fdit->first)/norm;
decspec->massmin = hadpars.GetConstituents()->Mass(fdit->first);
decspec->popweight = hadpars->GetConstituents()->TotWeight(fdit->first)/norm;
decspec->massmin = hadpars->GetConstituents()->Mass(fdit->first);
m_options.insert(std::make_pair(fdit->first,decspec));
}
}
......@@ -280,8 +280,8 @@ bool Gluon_Decayer::MergeDipoles(DipIter & dip1,DipIter & dip2) {
Q += pk = (*dip2)->AntiTriplet()->m_mom;
double Q2 = Q.Abs2();
double pij2 = (pi+pj).Abs2(), pjk2 = (pj+pk).Abs2();
double mij2 = sqr(hadpars.GetConstituents()->Mass((*dip1)->Triplet()->m_flav)), mi2(mij2);
double mk2 = sqr(hadpars.GetConstituents()->Mass((*dip2)->AntiTriplet()->m_flav)), mjk2(mk2);
double mij2 = sqr(hadpars->GetConstituents()->Mass((*dip1)->Triplet()->m_flav)), mi2(mij2);
double mk2 = sqr(hadpars->GetConstituents()->Mass((*dip2)->AntiTriplet()->m_flav)), mjk2(mk2);
double aij = (sqr(Q2-mij2-mk2)-4.*mij2*mk2), bij = (sqr(Q2-pij2-mk2)-4.*pij2*mk2);
double ajk = (sqr(Q2-mjk2-mi2)-4.*mjk2*mi2), bjk = (sqr(Q2-pjk2-mi2)-4.*pjk2*mi2);
if (aij/bij<0. && ajk/bjk<0.) {
......@@ -401,11 +401,11 @@ void Gluon_Decayer::PrintDipoleList()
msg_Debugging()<<"Dipole("<<((*dip)->MustDecay())<<", "
<<sqrt((*dip)->Mass2())<<") : "<<std::endl
<<" "<<(*dip)->Triplet()->m_flav<<"("<<(*dip)->Triplet()->m_mom<<"), "
<<" "<<hadpars.GetConstituents()->Mass((*dip)->Triplet()->m_flav)
<<" "<<hadpars->GetConstituents()->Mass((*dip)->Triplet()->m_flav)
<<" vs. "<<sqrt(Max((*dip)->Triplet()->m_mom.Abs2(),0.0))
<<" --> kt^2_max = "<<(*dip)->Triplet()->m_kt2max<<";"<<std::endl
<<" "<<(*dip)->AntiTriplet()->m_flav<<"("<<(*dip)->AntiTriplet()->m_mom<<"),"
<<" "<<hadpars.GetConstituents()->Mass((*dip)->AntiTriplet()->m_flav)
<<" "<<hadpars->GetConstituents()->Mass((*dip)->AntiTriplet()->m_flav)
<<" vs. "<<sqrt(Max((*dip)->AntiTriplet()->m_mom.Abs2(),0.0))
<<" --> kt^2_max = "<<(*dip)->AntiTriplet()->m_kt2max<<"."<<std::endl;
}
......
......@@ -25,7 +25,8 @@ Ahadic::Ahadic(string path,string file,bool ana) :
dr.SetInputPath(path);
dr.SetInputFile(file);
hadpars.Init(path,file);
hadpars = new Hadronisation_Parameters();
hadpars->Init(path,file);
ana=false;
p_cformhandler = new Cluster_Formation_Handler(&m_clulist,ana);
......@@ -38,6 +39,7 @@ Ahadic::~Ahadic()
CleanUp();
if (p_cdechandler) { delete p_cdechandler; p_cdechandler=NULL; }
if (p_cformhandler) { delete p_cformhandler; p_cformhandler=NULL; }
delete hadpars;
}
Return_Value::code Ahadic::Hadronize(Blob_List * blobs)
......
......@@ -32,7 +32,7 @@ Proto_Particle::Proto_Particle(const Proto_Particle & pp) :
Proto_Particle::Proto_Particle(ATOOLS::Flavour flav,ATOOLS::Vec4D mom,char info) :
m_flav(flav), m_mom(mom), m_info(info),
m_mass(hadpars.GetConstituents()->Mass(flav)), m_kt2max(0.),
m_mass(hadpars->GetConstituents()->Mass(flav)), m_kt2max(0.),
p_partner(NULL)
{
control::s_AHAprotoparticles++;
......@@ -50,13 +50,13 @@ Proto_Particle::~Proto_Particle()
}
bool Proto_Particle::CheckConsistency(std::ostream & s,std::string method) {
if (dabs(m_mass-hadpars.GetConstituents()->Mass(m_flav))>1.e-6 ||
if (dabs(m_mass-hadpars->GetConstituents()->Mass(m_flav))>1.e-6 ||
dabs(m_mass-sqrt(m_mom.Abs2()))>1.e-6 ||
dabs(sqrt(m_mom.Abs2())-hadpars.GetConstituents()->Mass(m_flav))>1.e-6) {
dabs(sqrt(m_mom.Abs2())-hadpars->GetConstituents()->Mass(m_flav))>1.e-6) {
s<<"Error in "<<METHOD<<" called by "<<method<<":"<<std::endl
<<" Masses and momenta not consistent for "<<m_flav<<"("<<m_mass<<"),"
<<" sqrt(mom^2) = "<<sqrt(m_mom.Abs2())
<<" & constituent mass = "<<hadpars.GetConstituents()->Mass(m_flav)<<"."<<std::endl;
<<" & constituent mass = "<<hadpars->GetConstituents()->Mass(m_flav)<<"."<<std::endl;
return false;
}
return true;
......
......@@ -10,11 +10,11 @@ Constituents::Constituents(bool no_diquarks) :
{
// Light quarks and diquarks
double total(0.),udfrac(1.), ud0(1.);
double sfrac(hadpars.Get("Strange_fraction"));
double bfrac(hadpars.Get("Baryon_fraction"));
double qssup(hadpars.Get("P_qs_by_P_qq"));
double sssup(hadpars.Get("P_ss_by_P_qq"));
double sp1sup(hadpars.Get("P_di_1_by_P_di_0"));
double sfrac(hadpars->Get("Strange_fraction"));
double bfrac(hadpars->Get("Baryon_fraction"));
double qssup(hadpars->Get("P_qs_by_P_qq"));
double sssup(hadpars->Get("P_ss_by_P_qq"));
double sp1sup(hadpars->Get("P_di_1_by_P_di_0"));
total = 2.*(2.*udfrac+sfrac);
total += bfrac*ud0*(1.+2.*qssup+3.*sp1sup*(3.+2.*qssup+sssup));
......
......@@ -254,7 +254,7 @@ All_Hadron_Multiplets::ConstructBaryonWaveFunction(int lp,int spin,
Hadron_Wave_Function * wavefunction = new Hadron_Wave_Function;
Flavour_Pair * pair;
double hbe(hadpars.Get("Heavy_Baryon_Enhancement"));
double hbe(hadpars->Get("Heavy_Baryon_Enhancement"));
double weight = (fl3>=4?hbe:1.);
switch (wf) {
......@@ -402,11 +402,11 @@ void All_Hadron_Multiplets::LookUpAngles(const int angular,const int spin,double
{
double angle=0.;
switch (spin) {
case 9 : angle = hadpars.Get("Mixing_Angle_4+"); break;
case 7 : angle = hadpars.Get("Mixing_Angle_3-"); break;
case 5 : angle = hadpars.Get("Mixing_Angle_2+"); break;
case 3 : angle = hadpars.Get("Mixing_Angle_1-"); break;
case 1 : angle = hadpars.Get("Mixing_Angle_0+"); break;
case 9 : angle = hadpars->Get("Mixing_Angle_4+"); break;
case 7 : angle = hadpars->Get("Mixing_Angle_3-"); break;
case 5 : angle = hadpars->Get("Mixing_Angle_2+"); break;
case 3 : angle = hadpars->Get("Mixing_Angle_1-"); break;
case 1 : angle = hadpars->Get("Mixing_Angle_0+"); break;
default: break;
}
costh = cos(angle); sinth = sin(angle);
......@@ -439,99 +439,99 @@ void All_Hadron_Multiplets::CreateMultiplets()
switch (spin) {
case 1:
multiplet->SetName(string("Pseudoscalars (0-+)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L0R0S0"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L0R0S0"));
break;
case 3:
multiplet->SetName(string("Vectors (1--)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L0R0S1"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L0R0S1"));
break;
case 5:
multiplet->SetName(string("Tensors (2++)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L0R0S2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L0R0S2"));
break;
case 7:
multiplet->SetName(string("Tensors (3--)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L0R0S3"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L0R0S3"));
break;
case 9:
multiplet->SetName(string("Tensors (4++)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L0R0S4"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L0R0S4"));
break;
case 101:
multiplet->SetName(string("L=1 Pseudoscalars (0++)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L1R0S0"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L1R0S0"));
break;
case 103:
multiplet->SetName(string("L=1 Vectors (1+-)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L1R0S1"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L1R0S1"));
break;
case 105:
multiplet->SetName(string("L=1 Tensors (2-+)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L1R0S2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L1R0S2"));
break;
case 107:
multiplet->SetName(string("L=1 Tensors (3+-)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L1R0S3"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L1R0S3"));
break;
case 109:
multiplet->SetName(string("L=1 Tensors (4-+)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L1R0S4"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L1R0S4"));
break;
case 203:
multiplet->SetName(string("L=2 Vectors (1++)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L2R0S1"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L2R0S1"));
break;
case 205:
multiplet->SetName(string("L=2 Tensors (2--)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L2R0S2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L2R0S2"));
break;
case 207:
multiplet->SetName(string("L=2 Tensors (3++)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L2R0S3"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L2R0S3"));
break;
case 209:
multiplet->SetName(string("L=2 Tensors (4--)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L2R0S4"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L2R0S4"));
break;
case 303:
multiplet->SetName(string("L=3 Vectors (1--)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L3R0S1"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L3R0S1"));
break;
case 305:
multiplet->SetName(string("L=3 Tensors (2++)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L3R0S2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L3R0S2"));
break;
case 307:
multiplet->SetName(string("L=3 Tensors (3--)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L3R0S3"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L3R0S3"));
break;
case 309:
multiplet->SetName(string("L=3 Tensors (4++)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L3R0S4"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L3R0S4"));
break;
case 1001:
multiplet->SetName(string("R=1 Pseudoscalars (0-+)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L0R1S0"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L0R1S0"));
break;
case 1003:
multiplet->SetName(string("R=1 Vectors (1--)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_L0R1S1"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_L0R1S1"));
break;
case 10001:
multiplet->SetName(string("Isoscalar Pseudoscalars (0-+)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_Iso_L0R0S0"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_Iso_L0R0S0"));
break;
case 10003:
multiplet->SetName(string("Isoscalar Vectors (1--)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_Iso_L0R0S1"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_Iso_L0R0S1"));
break;
case 10101:
multiplet->SetName(string("Isoscalar L=1 Pseudoscalars (0-+)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_Iso_L1R0S0"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_Iso_L1R0S0"));
break;
case 10103:
multiplet->SetName(string("Isoscalar L=1 Vectors (1--)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Meson_Iso_L1R0S1"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Meson_Iso_L1R0S1"));
break;
default: multiplet->SetName(string("Don't know ")); break;
}
......@@ -540,51 +540,51 @@ void All_Hadron_Multiplets::CreateMultiplets()
switch (spin) {
case 2:
multiplet->SetName(string("Nucleons (1/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Nucleon_L0R0S1/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Nucleon_L0R0S1/2"));
break;
case -2:
multiplet->SetName(string("Anti-Nucleons (1/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Nucleon_L0R0S1/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Nucleon_L0R0S1/2"));
break;
case 102:
multiplet->SetName(string("L=0 excited Nucleons (1/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_exc_Nucleon_L0R0S1/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_exc_Nucleon_L0R0S1/2"));
break;
case -102:
multiplet->SetName(string("L=0 excited Anti-Nucleons (1/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_exc_Nucleon_L0R0S1/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_exc_Nucleon_L0R0S1/2"));
break;
case 202:
multiplet->SetName(string("L=1 excited Nucleons (1/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_exc_Nucleon_L1R0S1/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_exc_Nucleon_L1R0S1/2"));
break;
case -202:
multiplet->SetName(string("L=1 excited Anti-Nucleons (1/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_exc_Nucleon_L1R0S1/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_exc_Nucleon_L1R0S1/2"));
break;
case 104:
multiplet->SetName(string("L=1 excited Nucleons (3/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_exc_Nucleon_L1R0S3/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_exc_Nucleon_L1R0S3/2"));
break;
case -104:
multiplet->SetName(string("L=1 excited Anti-Nucleons (3/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_exc_Nucleon_L1R0S3/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_exc_Nucleon_L1R0S3/2"));
break;
case 4:
multiplet->SetName(string("Decuplet (3/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Delta_L0R0S3/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Delta_L0R0S3/2"));
break;
case -4:
multiplet->SetName(string("Anti-Decuplet (3/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_Delta_L0R0S3/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_Delta_L0R0S3/2"));
break;
case 10104:
multiplet->SetName(string("L=1 excited Decuplet (3/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_exc_Delta_L1R0S3/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_exc_Delta_L1R0S3/2"));
break;
case -10104:
multiplet->SetName(string("L=1 excited anti-Decuplet (3/2)"));
multiplet->SetExtraWeight(hadpars.Get("Multiplet_exc_Delta_L1R0S3/2"));
multiplet->SetExtraWeight(hadpars->Get("Multiplet_exc_Delta_L1R0S3/2"));
break;
default: multiplet->SetName(string("Don't know (anti)")); break;
}
......
......@@ -11,7 +11,7 @@ using namespace ATOOLS;
using namespace std;
Hadronisation_Parameters AHADIC::hadpars;
Hadronisation_Parameters *AHADIC::hadpars=NULL;
Hadronisation_Parameters::Hadronisation_Parameters() :
......
......@@ -57,7 +57,7 @@ namespace AHADIC {
bool AdjustMomenta(const int,ATOOLS::Vec4D *,const double *);
};
extern Hadronisation_Parameters hadpars;
extern Hadronisation_Parameters *hadpars;
/*!
\file Hadronisation_Parameters.H
......
......@@ -7,22 +7,22 @@ using namespace ATOOLS;
using namespace std;
Soft_Cluster_Handler::Soft_Cluster_Handler(bool ana) :
p_as(hadpars.GetCoupling()),
p_splitter(hadpars.GetSplitter()),
p_singletransitions(hadpars.GetSingleTransitions()),
p_doubletransitions(hadpars.GetDoubleTransitions()),
m_transitionoffset(hadpars.Get(std::string("Offset_C->H"))),
m_decayoffset(hadpars.Get(std::string("Offset_C->HH"))),
m_kappa(hadpars.Get(std::string("MassExponent_C->H"))),
m_lambda(hadpars.Get(std::string("WidthExponent_C->H"))),
m_chi(hadpars.Get(std::string("MassExponent_C->HH"))),
m_pt2max(sqr(hadpars.Get(string("ptmax")))),
m_pt2maxfac(sqr(hadpars.Get(std::string("ptmax_factor")))),
p_as(hadpars->GetCoupling()),
p_splitter(hadpars->GetSplitter()),
p_singletransitions(hadpars->GetSingleTransitions()),
p_doubletransitions(hadpars->GetDoubleTransitions()),
m_transitionoffset(hadpars->Get(std::string("Offset_C->H"))),
m_decayoffset(hadpars->Get(std::string("Offset_C->HH"))),
m_kappa(hadpars->Get(std::string("MassExponent_C->H"))),
m_lambda(hadpars->Get(std::string("WidthExponent_C->H"))),
m_chi(hadpars->Get(std::string("MassExponent_C->HH"))),
m_pt2max(sqr(hadpars->Get(string("ptmax")))),
m_pt2maxfac(sqr(hadpars->Get(std::string("ptmax_factor")))),
m_transitions(0), m_dtransitions(0), m_decays(0),
m_forceddecays(0), m_lists(0),
m_ana(ana)
{
switch (int(hadpars.Get(std::string("Selection_C->H")))) {
switch (int(hadpars->Get(std::string("Selection_C->H")))) {
case 3:
m_tweightmode = Trans_Weight::waveonly;
break;
......@@ -34,7 +34,7 @@ Soft_Cluster_Handler::Soft_Cluster_Handler(bool ana) :
m_tweightmode = Trans_Weight::relativistic;
break;
}
switch (int(hadpars.Get(std::string("Selection_C->HH")))) {
switch (int(hadpars->Get(std::string("Selection_C->HH")))) {
case 14:
m_dweightmode = Decay_Weight::waves;
break;
......@@ -459,7 +459,7 @@ bool Soft_Cluster_Handler::EnforcedTransition(Cluster_List * clin) {
break;
}
}
if (!hadpars.AdjustMomenta(size,&momenta.front(),&masses.front())) {
if (!hadpars->AdjustMomenta(size,&momenta.front(),&masses.front())) {
if (size>1 /*&& msg->LevelIsDebugging()*/) {
msg_Error()<<"Error in "<<METHOD<<" ("<<size<<" clusters) : \n"
<<" Could not adjust momenta for : \n";
......@@ -938,7 +938,7 @@ bool Soft_Cluster_Handler::TryLocalCompensation(Cluster_List * clin)
masses.push_back(mass2);
momenta.push_back(cluster->Momentum());
momenta.push_back(partner->Momentum());
if (!hadpars.AdjustMomenta(2,&momenta.front(),&masses.front())) {
if (!hadpars->AdjustMomenta(2,&momenta.front(),&masses.front())) {
return false;
}
cluster->SetFlav((*cluster)[0]);
......@@ -979,7 +979,7 @@ bool Soft_Cluster_Handler::ForceMomenta(Cluster_List * clin)
momenta.push_back(cluster->Momentum());
}
if (!hadpars.AdjustMomenta(size,&momenta.front(),&masses.front())) {
if (!hadpars->AdjustMomenta(size,&momenta.front(),&masses.front())) {
if (size>1) {
msg_Error()<<"Error in "<<METHOD<<" ("<<size<<" clusters) : \n"
<<" Could not adjust momenta for : \n";
......
......@@ -22,9 +22,9 @@ ZForm::code AHADIC::DefineZForm(const int & zform) {
Splitting_Functions::
Splitting_Functions(const ZForm::code & zform,const int & masstreatment) :
m_zform(zform), m_masstreatment(masstreatment),
m_alpha(2. /*hadpars.Get(std::string(""))*/),
m_sigma(hadpars.Get(std::string("pt02"))),
m_kappa(hadpars.Get(std::string("P_qg_Exponent")))
m_alpha(2. /*hadpars->Get(std::string(""))*/),
m_sigma(hadpars->Get(std::string("pt02"))),
m_kappa(hadpars->Get(std::string("P_qg_Exponent")))
{
}
......
......@@ -34,12 +34,12 @@ Splitting_Tools(const leading::code & lead,const PTOrder::code & ptorder,
const bool & analyse) :
m_leading(lead), m_ptorder(ptorder),
m_fourquarks(false), m_analyse(true),
m_masstreatment(int(hadpars.Get(std::string("Mass_treatment")))),
m_masstreatment(int(hadpars->Get(std::string("Mass_treatment")))),
p_as(as), p_kernels(new Splitting_Functions(zform,m_masstreatment)),
p_options(NULL), p_spect(NULL), p_split(NULL), p_out1(NULL), p_out2(NULL),
m_mmin_2(sqr(hadpars.GetConstituents()->MinMass())),
m_pt2max(sqr(hadpars.Get(std::string("ptmax")))),
m_pt2max_factor(sqr(hadpars.Get(std::string("ptmax_factor")))),
m_mmin_2(sqr(hadpars->GetConstituents()->MinMass())),
m_pt2max(sqr(hadpars->Get(std::string("ptmax")))),
m_pt2max_factor(sqr(hadpars->Get(std::string("ptmax_factor")))),
m_lastpt2(-1.),
m_tot(0),m_d(0),m_s(0),m_u(0),m_reject_y(0),m_reject_z(0)
{
......
......@@ -12,7 +12,7 @@ using namespace ATOOLS;
Strong_Coupling::Strong_Coupling(const asform::code form) :
m_form(form),
m_beta0(12.*M_PI/(33.-2.*4.)), m_Lambda(0.349), m_Lambda2(sqr(m_Lambda)),
m_pt02(dabs(hadpars.Get(std::string("pt02")))),
m_pt02(dabs(hadpars->Get(std::string("pt02")))),
m_pt2max(10000.), m_lastpt2(0.), m_asmax(1.),
m_gamma(m_beta0/M_PI), m_a(3.008), m_b(1.425), m_c(0.908), m_d(0.84), m_m2(sqr(1.204))
{
......@@ -41,7 +41,7 @@ Strong_Coupling::Strong_Coupling(const asform::code form) :
break;
case asform::constant:
default:
m_asmax = hadpars.Get(std::string("asfix"));
m_asmax = hadpars->Get(std::string("asfix"));
break;
}
return;
......
......@@ -9,10 +9,10 @@ using namespace std;
Single_Transitions::Single_Transitions() :
m_singletsuppression2(sqr(hadpars.Get("Singlet_Suppression"))),
m_singletsuppression2(sqr(hadpars->Get("Singlet_Suppression"))),
p_transitions(new Single_Transition_Map)
{
Constituents * constituents = hadpars.GetConstituents();
Constituents * constituents = hadpars->GetConstituents();
double mass=100.;
for (FlavCCMap_Iterator flit=constituents->CCMap.begin();
......@@ -23,7 +23,7 @@ Single_Transitions::Single_Transitions() :
}
}
Hadron_WF_Map * allwaves = hadpars.GetMultiplets()->GetWaveFunctions();
Hadron_WF_Map * allwaves = hadpars->GetMultiplets()->GetWaveFunctions();
WFcomponent * waves;
Single_Transition_Miter stiter;
Single_Transition_List * stl;
......@@ -44,7 +44,7 @@ Single_Transitions::Single_Transitions() :
flnum = int(hadron.Kfcode()/100)-10*int(hadron.Kfcode()/1000);
lp = int(hadron.Kfcode()/10000);
spin = int(hadron.Kfcode())-10*int(hadron.Kfcode()/10);
hadpars.GetMultiplets()->LookUpAngles(lp,spin,costh,sinth);
hadpars->GetMultiplets()->LookUpAngles(lp,spin,costh,sinth);
if (flnum==2) wtprod *= sqrt(m_singletsuppression2*costh*costh+sinth*sinth);
if (flnum==3) wtprod *= sqrt(m_singletsuppression2*sinth*sinth+costh*costh);
//if (flnum==2 || flnum==3) {
......@@ -118,7 +118,7 @@ void Single_Transitions::PrintSingleTransitions()
msg_Out()<<"("<<stiter->first.first<<","<<stiter->first.second<<") : "<<endl;
for (Single_Transition_Siter sit=stiter->second->begin();
sit!=stiter->second->end();sit++) {
wave = hadpars.GetMultiplets()->GetWaveFunction(sit->first);
wave = hadpars->GetMultiplets()->GetWaveFunction(sit->first);
wt = sqr(wave->WaveWeight(stiter->first.first,stiter->first.second));
mpletwt = wave->MultipletWeight();
if (mpletwt<=0.) continue;
......@@ -155,8 +155,8 @@ std::ostream & AHADIC::operator<<(std::ostream & s, const Double_Transition_List
Double_Transitions::Double_Transitions() :
p_transitions(new Double_Transition_Map)
{
FlavCCMap constituents = hadpars.GetConstituents()->CCMap;
Single_Transition_Map * singles = hadpars.GetSingleTransitions()->GetTransitions();
FlavCCMap constituents = hadpars->GetConstituents()->CCMap;
Single_Transition_Map * singles = hadpars->GetSingleTransitions()->GetTransitions();
Single_Transition_List * hads1, * hads2;
Flavour trip,anti,popped;
Flavour_Pair flpair,hadpair,hadpair1,wf1,wf2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment