Commit ff9dfd6b authored by Frank Siegert's avatar Frank Siegert

obo FrankK, merge HadronsDebug branch back into trunk: svn merge...

obo FrankK, merge HadronsDebug branch back into trunk: svn merge --ignore-ancestry svn+ssh://svn.hepforge.org/hepforge/svn/sherpa/trunk/SHERPA  svn+ssh://svn.hepforge.org/hepforge/svn/sherpa/branches/HadronsDebug .
parent 18dbeac9
......@@ -410,8 +410,11 @@ bool Cluster_Formation_Handler::ClustersToHadrons(Blob * blob)
if (!p_softclusters->TreatClusterList(p_clulist,blob)) {
msg_Error()<<"Error in "<<METHOD<<" : \n"
<<" Did not find a kinematically allowed solution for the cluster list.\n"
<<" Did not find a kinematically allowed solution for the "
<<"cluster list.\n"
<<" Will trigger a new event.\n";
msg_Out()<<(*blob)<<"\n";
exit(1);
return false;
}
......
......@@ -117,14 +117,15 @@ bool Soft_Cluster_Handler::TreatClusterList(Cluster_List * clin, Blob * blob)
bool Soft_Cluster_Handler::TreatSingleCluster(Cluster * cluster)
{
switch (CheckCluster(cluster,true)) {
switch (CheckCluster(cluster,true,true)) {
case 1:
msg_Debugging()<<"Potential problem in "<<METHOD<<" : \n"
<<" Clusterlist with one element that "
<<"needs to transform to a hadron."
<<"\n"
<<" Will possibly lead to retrying the event.\n";
return false;
msg_Error()<<"Potential problem in "<<METHOD<<" : \n"
<<" Clusterlist with one element that "
<<"needs to transform to a hadron."
<<"\n"<<(*cluster)<<"\n"
<<" Will force decay to hadron+photon.\n";
cluster->push_back(Flavour(kf_photon));
return true;
case 2:
case 0:
default:
......@@ -260,7 +261,8 @@ bool Soft_Cluster_Handler::CheckListForTreatment(Cluster_List * clin) {
}
int Soft_Cluster_Handler::CheckCluster(Cluster * cluster,bool lighter)
int Soft_Cluster_Handler::CheckCluster(Cluster * cluster,bool lighter,
bool mustdecay)
{
msg_Tracking()<<METHOD<<"("<<cluster->Number()<<").\n";
cluster->clear();
......@@ -276,6 +278,22 @@ 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 (mustdecay) {
if (decayweight>0.) {
cluster->push_back(haddec1);
cluster->push_back(haddec2);
}
else if (transformweight>0.) {
cluster->push_back(hadtrans);
cluster->push_back(Flavour(kf_photon));
}
else {
cluster->clear();
return 0;
}
m_decays += 1;
return 2;
}
if (transformweight<=0. || decayweight/totweight>ran->Get()) {
m_decays += 1;
cluster->push_back(haddec1);
......
......@@ -53,7 +53,7 @@ namespace AHADIC {
bool TreatSingleCluster(Cluster *);
bool CheckListForTreatment(Cluster_List *);
int CheckCluster(Cluster *,bool);
int CheckCluster(Cluster *,bool,bool=false);
double TransformWeight(Cluster *,ATOOLS::Flavour &,
const bool & lighter=false,
......@@ -87,7 +87,8 @@ namespace AHADIC {
~Soft_Cluster_Handler();
bool TreatClusterList(Cluster_List *,ATOOLS::Blob *);
bool TreatClusterDecay(Cluster_List *,ATOOLS::Blob *);
bool EnforcedDecay(Cluster * cluster,ATOOLS::Blob * blob,const bool & constrained,
bool EnforcedDecay(Cluster * cluster,ATOOLS::Blob * blob,
const bool & constrained,
Cluster_List * clin=0);
};
......
......@@ -287,8 +287,9 @@ void Blob::DeleteInParticle(Particle * _part) {
_part = NULL;
}
else {
msg_Out()<<"WARNING in "<<METHOD<<":"<<std::endl
<<" particle not owned by the Blob asked to delete it"<<std::endl
msg_Out()<<"WARNING in "<<METHOD<<" ("<<Id()<<"):"<<std::endl
<<" particle not owned by the Blob asked to delete it"
<<std::endl
<<" "<<(*_part)<<std::endl;
}
m_inparticles.erase(part);
......
# Decay: B+ --> cb u u db
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_3
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,1,4,2,3]
</ME>
<QQ_QQQQ_Spectator[0,1,4,2,3]>
colourflip_ratio = 0.2
Vxx_decay = 0.042
Vxx_production = 0.974
</QQ_QQQQ_Spectator[0,1,4,2,3]>
<Result>
3.779e-14 1.376e-16 9.185e-13;
</Result>
# Decay: B+ --> c cb sb u
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_4
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,2,3,1,4]
</ME>
<QQ_QQQQ_Spectator[0,2,3,1,4]>
colourflip_ratio = 0.3
Vxx_decay = 0.042
Vxx_production = 0.973
</QQ_QQQQ_Spectator[0,2,3,1,4]>
<Result>
4.481e-15 1.707e-17 2.148e-13;
</Result>
# Decay: B+ --> c cb u db
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_3
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,2,4,1,3]
</ME>
<QQ_QQQQ_Spectator[0,2,4,1,3]>
colourflip_ratio = 0.0
Vxx_decay = 0.042
Vxx_production = 0.227
</QQ_QQQQ_Spectator[0,2,4,1,3]>
<Result>
3.466e-16 1.425e-18 1.731e-14;
</Result>
# Decay: B+ --> c sb u ub
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_3
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,4,2,1,3]
</ME>
<QQ_QQQQ_Spectator[0,4,2,1,3]>
colourflip_ratio = 0.0
Vxx_decay = 0.004
Vxx_production = 0.973
</QQ_QQQQ_Spectator[0,4,2,1,3]>
<Result>
7.064e-16 2.752e-18 1.9e-14;
</Result>
# Decay: B+ --> c u ub db
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_2
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,3,4,1,2]
</ME>
<QQ_QQQQ_Spectator[0,3,4,1,2]>
colourflip_ratio = 0.0
Vxx_decay = 0.004
Vxx_production = 0.227
</QQ_QQQQ_Spectator[0,3,4,1,2]>
<Result>
4.328e-17 1.646e-19 1.114e-15;
</Result>
# Decay: B+ --> sb u u ub
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_3
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,4,1,2,3]
</ME>
<QQ_QQQQ_Spectator[0,4,1,2,3]>
colourflip_ratio = 0.0
Vxx_decay = 0.004
Vxx_production = 0.227
</QQ_QQQQ_Spectator[0,4,1,2,3]>
<Result>
7.858e-17 2.925e-19 1.83e-15;
</Result>
# Decay: B(s) --> s sb u ub
# 0 --> 1 2 3 4
# Decay: B --> d G db
# 0 --> 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
......@@ -11,9 +11,17 @@
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,4,2,3,1]
1.0 0.0 QQ_QVQ_Spectator[0,1,2,3]
</ME>
<Result>
1.156e-16 4.446e-19 3.928e-15;
0.03011 0 0.3179;
</Result>
# Decay: B(s) --> s u ub db
# 0 --> 1 2 3 4
# Decay: B --> d G sb
# 0 --> 1 2 3
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
......@@ -11,9 +11,17 @@
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,3,4,2,1]
1.0 0.0 QQ_QVQ_Spectator[0,1,2,3]
</ME>
<Result>
2.241e-15 8.847e-18 7.684e-14;
0.02998 0 0.3166;
</Result>
# Decay: B --> cb sb u d
# 0 --> 1 2 3 4
# Decay: B-Hadron --> spectator q1 q2 q3
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
......@@ -7,7 +7,7 @@
</Options>
<Phasespace>
1.0 IsotropicSpectator_4
1.0 IsotropicSpectator_1
</Phasespace>
<ME>
......@@ -16,10 +16,16 @@
<QQ_QQQQ_Spectator[0,1,2,3,4]>
colourflip_ratio = 0.0
Vxx_decay = 0.042
Vxx_production = 0.227
</QQ_QQQQ_Spectator[0,1,2,3,4]>
<Result>
5.198e-15 2.088e-17 1.462e-13;
8.526e-16 4.156e-18 3.621e-14;
</Result>
# Decay: B+ --> cb sb u u
# 0 --> 1 2 3 4
# Decay: B-Hadron --> spectator q1 q2 q3
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
......@@ -7,7 +7,7 @@
</Options>
<Phasespace>
1.0 IsotropicSpectator_4
1.0 IsotropicSpectator_1
</Phasespace>
<ME>
......@@ -16,10 +16,16 @@
<QQ_QQQQ_Spectator[0,1,2,3,4]>
colourflip_ratio = 0.0
Vxx_decay = 0.042
Vxx_production = 0.227
</QQ_QQQQ_Spectator[0,1,2,3,4]>
<Result>
2.598e-15 1.044e-17 7.309e-14;
1.009e-14 4.794e-17 4.347e-13;
</Result>
# Decay: B-Hadron --> spectator q1 q2 q3
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_1
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,1,2,3,4]
</ME>
<QQ_QQQQ_Spectator[0,1,2,3,4]>
colourflip_ratio = 0.0
</QQ_QQQQ_Spectator[0,1,2,3,4]>
<Result>
1.533e-13 6.319e-16 5.953e-12;
</Result>
# Decay: B-Hadron --> spectator q1 q2 q3
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_1
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,1,2,3,4]
</ME>
<QQ_QQQQ_Spectator[0,1,2,3,4]>
colourflip_ratio = 0.0
</QQ_QQQQ_Spectator[0,1,2,3,4]>
<Result>
1.524e-13 6.251e-16 5.894e-12;
</Result>
# Decay: B-Hadron --> spectator q1 q2 q3
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_1
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,1,2,3,4]
</ME>
<QQ_QQQQ_Spectator[0,1,2,3,4]>
colourflip_ratio = 0.0
</QQ_QQQQ_Spectator[0,1,2,3,4]>
<Result>
2.533e-14 1.22e-16 1.01e-12;
</Result>
# Decay: B-Hadron --> spectator q1 q2 q3
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_1
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,1,2,3,4]
</ME>
<QQ_QQQQ_Spectator[0,1,2,3,4]>
colourflip_ratio = 0.0
</QQ_QQQQ_Spectator[0,1,2,3,4]>
<Result>
6.766e-14 2.81e-16 2.69e-12;
</Result>
# Decay: B-Hadron --> spectator q1 q2 q3
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_1
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,1,2,3,4]
</ME>
<QQ_QQQQ_Spectator[0,1,2,3,4]>
colourflip_ratio = 0.0
</QQ_QQQQ_Spectator[0,1,2,3,4]>
<Result>
3.184e-15 1.368e-17 1.344e-13;
</Result>
# Decay: B-Hadron --> spectator q1 q2 q3
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_1
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,1,2,3,4]
</ME>
<QQ_QQQQ_Spectator[0,1,2,3,4]>
colourflip_ratio = 0.0
</QQ_QQQQ_Spectator[0,1,2,3,4]>
<Result>
1.398e-10 5.451e-13 4.693e-09;
</Result>
# Decay: B-Hadron --> spectator q1 q2 q3
# 0 --> 1 2 3 4
<Options>
AlwaysIntegrate = 0 # 0...read results and skip integration
# 1...don't read results and integrate
</Options>
<Phasespace>
1.0 IsotropicSpectator_1
</Phasespace>
<ME>
1.0 0.0 QQ_QQQQ_Spectator[0,1,2,3,4]
</ME>
<QQ_QQQQ_Spectator[0,1,2,3,4]>