Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F7879735
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
40 KB
Subscribers
None
View Options
diff --git a/Models/Sextet/Makefile.am b/Models/Sextet/Makefile.am
--- a/Models/Sextet/Makefile.am
+++ b/Models/Sextet/Makefile.am
@@ -1,29 +1,32 @@
BUILT_SOURCES = Sextet__all.cc
CLEANFILES = Sextet__all.cc
Sextet__all.cc : $(DIR_H_FILES) $(DIR_CC_FILES) Makefile
@echo "Concatenating .cc files into $@"
@$(top_srcdir)/cat_with_cpplines $(DIR_CC_FILES) > $@
EXTRA_DIST = $(ALL_H_FILES) $(ALL_CC_FILES)
DIR_H_FILES = $(addprefix $(srcdir)/,$(ALL_H_FILES))
ALL_H_FILES = \
SextetParticles.h \
SextetModel.h SextetModel.fh \
SextetGSSVertex.h \
+SextetPSSVertex.h \
SextetGGSSVertex.h \
SextetGVVVertex.h \
SextetGGVVVertex.h \
SextetFFSVertex.h \
SextetFFVVertex.h
DIR_CC_FILES = $(addprefix $(srcdir)/,$(ALL_CC_FILES))
ALL_CC_FILES = \
SextetModel.cc \
SextetGSSVertex.cc \
+SextetPSSVertex.cc \
SextetGGSSVertex.cc \
SextetGVVVertex.cc \
+SextetPVVVertex.cc \
SextetGGVVVertex.cc \
SextetFFSVertex.cc \
SextetFFVVertex.cc
diff --git a/Models/Sextet/SextetModel.cc b/Models/Sextet/SextetModel.cc
--- a/Models/Sextet/SextetModel.cc
+++ b/Models/Sextet/SextetModel.cc
@@ -1,234 +1,250 @@
// -*- C++ -*-
//
// This is the implementation of the non-inlined, non-templated member
// functions of the SextetModel class.
//
#include "SextetModel.h"
#include "ThePEG/Utilities/StringUtils.h"
#include "ThePEG/Interface/Reference.h"
#include "ThePEG/Interface/Command.h"
#include "ThePEG/Interface/Switch.h"
#include "ThePEG/Interface/ParVector.h"
#include "ThePEG/Interface/ClassDocumentation.h"
#include "ThePEG/EventRecord/Particle.h"
#include "ThePEG/Repository/UseRandom.h"
#include "ThePEG/Repository/EventGenerator.h"
#include "ThePEG/Utilities/DescribeClass.h"
#include "ThePEG/Persistency/PersistentOStream.h"
#include "ThePEG/Persistency/PersistentIStream.h"
#include "ThePEG/Utilities/Throw.h"
using namespace Herwig;
IBPtr SextetModel::clone() const {
return new_ptr(*this);
}
IBPtr SextetModel::fullclone() const {
return new_ptr(*this);
}
void SextetModel::persistentOutput(PersistentOStream & os) const {
- os << VVVVertex_ << VVVVVertex_ << VSSVertex_ << VVSSVertex_
+ os << GVVVertex_ << PVVVertex_ << VVVVVertex_
+ << GSSVertex_ << PSSVertex_ << VVSSVertex_
<< FFVVertex_ << FFSVertex_
<< g1L_ << g1R_ << g1pR_ << g1ppR_ << g2_ << g2p_ << g3L_
<< enableScalarSingletY43_ << enableScalarSingletY13_
<< enableScalarSingletY23_ << enableScalarTripletY13_
<< enableVectorDoubletY16_ << enableVectorDoubletY56_;
}
void SextetModel::persistentInput(PersistentIStream & is, int) {
- is >> VVVVertex_ >> VVVVVertex_ >> VSSVertex_ >> VVSSVertex_
+ is >> GVVVertex_ >> PVVVertex_ >> VVVVVertex_
+ >> GSSVertex_ >> PSSVertex_ >> VVSSVertex_
>> FFVVertex_ >> FFSVertex_
>> g1L_ >> g1R_ >> g1pR_ >> g1ppR_ >> g2_ >> g2p_ >> g3L_
>> enableScalarSingletY43_ >> enableScalarSingletY13_
>> enableScalarSingletY23_ >> enableScalarTripletY13_
>> enableVectorDoubletY16_ >> enableVectorDoubletY56_;
}
// The following static variable is needed for the type
// description system in ThePEG.
DescribeClass<SextetModel,StandardModel>
describeSextetModel("Herwig::SextetModel", "HwSextetModel.so");
void SextetModel::Init() {
static ClassDocumentation<SextetModel> documentation
("The SextetModel class provides the Model class for models with new scalars"
" or vectors in the sextet representation of SU(3)");
static Reference<SextetModel,ThePEG::Helicity::AbstractVVVVertex>
interfaceVertexVDQVDQG
("Vertex/VDQVDQG",
"The coupling of the gluon to two vector diquarks",
- &SextetModel::VVVVertex_, false, false, true, false, false);
+ &SextetModel::GVVVertex_, false, false, true, false, false);
+
+ static Reference<SextetModel,ThePEG::Helicity::AbstractVVVVertex>
+ interfaceVertexVDQVDQP
+ ("Vertex/VDQVDQP",
+ "The coupling of the photon to two vector diquarks",
+ &SextetModel::PVVVertex_, false, false, true, false, false);
static Reference<SextetModel,ThePEG::Helicity::AbstractVVVVVertex>
interfaceVertexVDQVDQGG
("Vertex/VDQVDQGG",
"The coupling of two gluons to two vector diquarks",
&SextetModel::VVVVVertex_, false, false, true, false, false);
static Reference<SextetModel,ThePEG::Helicity::AbstractVSSVertex>
interfaceVertexSDQSDQG
("Vertex/SDQSDQG",
"The coupling of the gluon to two scalar diquarks",
- &SextetModel::VSSVertex_, false, false, true, false, false);
+ &SextetModel::GSSVertex_, false, false, true, false, false);
+
+ static Reference<SextetModel,ThePEG::Helicity::AbstractVSSVertex>
+ interfaceVertexSDQSDQP
+ ("Vertex/SDQSDQP",
+ "The coupling of the photon to two scalar diquarks",
+ &SextetModel::PSSVertex_, false, false, true, false, false);
static Reference<SextetModel,ThePEG::Helicity::AbstractVVSSVertex>
interfaceVertexSDQSDQGG
("Vertex/SDQSDQGG",
"The coupling of two gluons to two scalar diquarks",
&SextetModel::VVSSVertex_, false, false, true, false, false);
static Reference<SextetModel,ThePEG::Helicity::AbstractFFSVertex>
interfaceVertexFFSDQ
("Vertex/FFSDQ",
"The coupling of two quarks to the scalar diquark",
&SextetModel::FFSVertex_, false, false, true, false, false);
static Reference<SextetModel,ThePEG::Helicity::AbstractFFVVertex>
interfaceVertexFFVDQ
("Vertex/FFVDQ",
"The coupling of two quarks to the vector diquark",
&SextetModel::FFVVertex_, false, false, true, false, false);
static ParVector<SextetModel,double> interfaceg1L
("g1L",
"The \\f$SU(2)\\f$ quark-doublet coupling to \\f$\\Phi_{6,1,1/3}\\f$.",
&SextetModel::g1L_, 3, 0.0, 0, 0,
false, false, Interface::nolimits);
static ParVector<SextetModel,double> interfaceg1R
("g1R",
"The \\f$SU(2)\\f$ singlet coupling to \\f$\\Phi_{6,1,1/3}\\f$.",
&SextetModel::g1R_, 3, 0.0, 0, 0,
false, false, Interface::nolimits);
static ParVector<SextetModel,double> interfaceg1RPrime
("g1RPrime",
"The \\f$SU(2)\\f$ singlet coupling to \\f$\\Phi_{6,1,1/3}\\f$.",
&SextetModel::g1pR_, 3, 0.0, 0, 0,
false, false, Interface::nolimits);
static ParVector<SextetModel,double> interfaceg1RDoublePrime
("g1RDoublePrime",
"The \\f$SU(2)\\f$ singlet coupling to \\f$\\Phi_{6,1,1/3}\\f$.",
&SextetModel::g1ppR_, 3, 0.0, 0, 0,
false, false, Interface::nolimits);
static ParVector<SextetModel,double> interfaceg2
("g2",
"The coupling to \\f$V^\\mu_{6,2,-1/6}\\f$.",
&SextetModel::g2_, 3, 0.0, 0, 0,
false, false, Interface::nolimits);
static ParVector<SextetModel,double> interfaceg2Prime
("g2Prime",
"The coupling to \\f$V^\\mu_{6,2,5/6}\\f$.",
&SextetModel::g2p_, 3, 0.0, 0, 0,
false, false, Interface::nolimits);
static ParVector<SextetModel,double> interfaceg3L
("g3L",
"Coupling to \\f$\\Phi_{6,3,1/3}\\f$.",
&SextetModel::g3L_, 3, 0.0, 0, 0,
false, false, Interface::nolimits);
static Command<SextetModel> interfaceEnableParticles
("EnableParticles",
"Enable specfic diquarks",
&SextetModel::doEnable, false);
}
void SextetModel::doinit() {
StandardModel::doinit();
if ( !(enableScalarSingletY43_ || enableScalarSingletY13_
|| enableScalarSingletY23_ || enableScalarTripletY13_
|| enableVectorDoubletY16_ || enableVectorDoubletY56_ )) {
Throw<Exception>() << "You have not enabled any Sextet diquarks. Use e.g.\n"
<< " do Model:EnableParticles Scalar Triplet Y=1/3\n"
<< "to specify the spin, weak isospin and weak hypercharge."
<< Exception::runerror;
}
- addVertex(VVVVertex_);
+ addVertex(GVVVertex_);
+ addVertex(PVVVertex_);
addVertex(VVVVVertex_);
- addVertex(VSSVertex_);
+ addVertex(GSSVertex_);
+ addVertex(PSSVertex_);
addVertex(VVSSVertex_);
addVertex(FFVVertex_);
addVertex(FFSVertex_);
}
string SextetModel::doEnable(string args) {
int spin=-1;
int weak=-1;
int Y[2]={-1000000,-1000000};
string orig=args;
while ( !args.empty() ) {
string arg = StringUtils::car(args);
args = StringUtils::cdr(args);
if ( arg == "Scalar" ) spin=1;
else if ( arg == "Vector" ) spin=3;
else if ( arg == "Singlet" ) weak=1;
else if ( arg == "Doublet" ) weak=2;
else if ( arg == "Triplet" ) weak=3;
else {
if(arg.find("Y=")==string::npos) continue;
arg = StringUtils::cdr(arg,"=");
vector<string> split = StringUtils::split(arg,"/");
if(split.size()!=2) continue;
istringstream is1(split[0]);
is1 >> Y[0];
istringstream is2(split[1]);
is2 >> Y[1];
}
}
// check we read a value for all three quantum numbers
if ( spin <0 || weak<0 || 0 || Y[0]== -1000000) {
return string("SextetModel:EnableParticles couldn't termine spin, weak") +
string(" isospin or hypercharge for ") + orig + ".";
}
// check the values of Y
if(!(Y[1]==3||Y[1]==6)) {
return string("SextetModel:EnableParticles invalid weak") +
string(" hypercharge for ") + orig + ".";
}
// the various allowed combinations
bool found = false;
if(spin == 1 ) {
found = true;
if ( weak == 1 && Y[0] == 4 && Y[1] == 3) {
enableScalarSingletY43_ = true;
}
else if( weak == 1 && Y[0] == 1 && Y[1] == 3) {
enableScalarSingletY13_ = true;
}
else if( weak == 1 && Y[0] == -2 && Y[1] == 3) {
enableScalarSingletY23_ = true;
}
else if( weak == 3 && Y[0] == 1 && Y[1] == 3) {
enableScalarTripletY13_ = true;
}
else
found = false;
}
else if(spin == 3 && weak == 2) {
found = true;
if ( Y[0] == -1 && Y[1] == 6) {
enableVectorDoubletY16_ = true;
}
else if( Y[0] == 5 && Y[1] == 6) {
enableVectorDoubletY56_ = true;
}
else
found = false;
}
if(!found)
return string("SextetModel:EnableParticles invalid combination") +
string(" of spin, weak isospin or hypercharge for ") + orig + ".";
else
return "";
}
diff --git a/Models/Sextet/SextetModel.h b/Models/Sextet/SextetModel.h
--- a/Models/Sextet/SextetModel.h
+++ b/Models/Sextet/SextetModel.h
@@ -1,308 +1,320 @@
// -*- C++ -*-
#ifndef HERWIG_SextetModel_H
#define HERWIG_SextetModel_H
//
// This is the declaration of the SextetModel class.
//
#include "Herwig/Models/General/BSMModel.h"
#include "ThePEG/Helicity/Vertex/AbstractVVVVertex.h"
#include "ThePEG/Helicity/Vertex/AbstractVVVVVertex.h"
#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.h"
#include "ThePEG/Helicity/Vertex/AbstractFFSVertex.h"
#include "ThePEG/Helicity/Vertex/AbstractVSSVertex.h"
#include "ThePEG/Helicity/Vertex/AbstractVVSSVertex.h"
#include "SextetModel.fh"
namespace Herwig {
using namespace ThePEG;
/** \ingroup Models
*
* This class is used instead of the StandardModel class for the
*
*
* @see \ref SextetModelInterfaces "The interfaces"
* defined for SextetModel.
*/
class SextetModel: public BSMModel {
public:
/**
* The default constructor.
*/
SextetModel() : g1L_(3,0.), g1R_(3,0.), g1pR_(3,0.), g1ppR_(3,0.),
g2_(3,0.), g2p_(3,0.), g3L_(3,0.),
enableScalarSingletY43_(false),enableScalarSingletY13_(false),
enableScalarSingletY23_(false),enableScalarTripletY13_(false),
enableVectorDoubletY16_(false),enableVectorDoubletY56_(false) {
useMe();
}
/**
* Access to the couplings
*/
//@{
/**
* The \f$SU(2)\f$ quark-doublet coupling to \f$\Phi_{6,1,1/3}\f$
*/
const vector<double> & g1L() const {return g1L_;}
/**
* The \f$SU(2)\f$ singlet coupling to \f$\Phi_{6,1,1/3}\f$
*/
const vector<double> & g1R() const {return g1R_;}
/**
* The \f$SU(2)\f$ singlet coupling to \f$\Phi_{6,1,-2/3}\f$
*/
const vector<double> & g1pR() const {return g1pR_;}
/**
* The \f$SU(2)\f$ singlet coupling to \f$\Phi_{6,1,4/3}\f$
*/
const vector<double> & g1ppR() const {return g1ppR_;}
/**
* The coupling to \f$V^\mu_{6,2,-1/6}\f$
*/
const vector<double> & g2() const {return g2_;}
/**
* The coupling to \f$V^\mu_{6,2,5/6}\f$
*/
const vector<double> & g2p() const {return g2p_;}
/**
* Coupling to \f$\Phi_{6,3,1/3}\f$
*/
const vector<double> & g3L() const {return g3L_;}
//@}
/**
* Switches to decide which particles to include
*/
//@{
/**
* Scalar Singlet \f$Y = 4/3\f$
*/
bool ScalarSingletY43Enabled() const {return enableScalarSingletY43_;}
/**
* Scalar Singlet \f$Y = -1/3\f$
*/
bool ScalarSingletY13Enabled() const {return enableScalarSingletY13_;}
/**
* Scalar Singlet \f$Y = -2/3\f$
*/
bool ScalarSingletY23Enabled() const {return enableScalarSingletY23_;}
/**
* Scalar Triplet \f$Y = 1/3\f$
*/
bool ScalarTripletY13Enabled() const {return enableScalarTripletY13_;}
/**
* Vector Doublet \f$Y = -1/6\f$
*/
bool VectorDoubletY16Enabled() const {return enableVectorDoubletY16_;}
/**
* Vector Doublet \f$Y = 5/6\f$
*/
bool VectorDoubletY56Enabled() const {return enableVectorDoubletY56_;}
//@}
public:
/** @name Functions used by the persistent I/O system. */
//@{
/**
* Function used to write out object persistently.
* @param os the persistent output stream written to.
*/
void persistentOutput(PersistentOStream & os) const;
/**
* Function used to read in object persistently.
* @param is the persistent input stream read from.
* @param version the version number of the object when written.
*/
void persistentInput(PersistentIStream & is, int version);
//@}
/**
* The standard Init function used to initialize the interfaces.
* Called exactly once for each class by the class description system
* before the main function starts or
* when this class is dynamically loaded.
*/
static void Init();
protected:
/** @name Clone Methods. */
//@{
/**
* Make a simple clone of this object.
* @return a pointer to the new object.
*/
virtual IBPtr clone() const;
/** Make a clone of this object, possibly modifying the cloned object
* to make it sane.
* @return a pointer to the new object.
*/
virtual IBPtr fullclone() const;
//@}
protected:
/** @name Standard Interfaced functions. */
//@{
/**
* Initialize this object after the setup phase before saving an
* EventGenerator to disk.
* @throws InitException if object could not be initialized properly.
*/
virtual void doinit();
/**
* Member to implement the command to enable particular diquarks
*/
string doEnable(string command);
//@}
private:
/**
* The assignment operator is private and must never be called.
* In fact, it should not even be implemented.
*/
SextetModel & operator=(const SextetModel &);
private:
/**
* Pointers to the vertex objects
*/
//@{
/**
* Pointer to the object handling the strong coupling of a
* vector sextet to one gluon
*/
- AbstractVVVVertexPtr VVVVertex_;
+ AbstractVVVVertexPtr GVVVertex_;
+
+ /**
+ * Pointer to the object handling the EM coupling of a
+ * vector sextet to one photon
+ */
+ AbstractVVVVertexPtr PVVVertex_;
/**
* Pointer to the object handling the strong coupling of a
* vector sextet to two gluons
*/
AbstractVVVVVertexPtr VVVVVertex_;
/**
* Pointer to the object handling the strong coupling of a
* scalar sextet to one gluon
*/
- AbstractVSSVertexPtr VSSVertex_;
+ AbstractVSSVertexPtr GSSVertex_;
+
+ /**
+ * Pointer to the object handling the EM coupling of a
+ * scalar sextet to one photon
+ */
+ AbstractVSSVertexPtr PSSVertex_;
/**
* Pointer to the object handling the strong coupling of a
* scalar sextet to two gluons
*/
AbstractVVSSVertexPtr VVSSVertex_;
/**
* Pointer to the object handling the coupling of two quarks
* to a vector sextet
*/
AbstractFFVVertexPtr FFVVertex_;
/**
* Pointer to the object handling the coupling of two quarks
* to a scalar sextet
*/
AbstractFFSVertexPtr FFSVertex_;
//@}
/**
* Couplings
*/
//@{
/**
* The \f$SU(2)\f$ quark-doublet coupling to \f$\Phi_{6,1,1/3}\f$
*/
vector<double> g1L_;
/**
* The \f$SU(2)\f$ singlet coupling to \f$\Phi_{6,1,1/3}\f$
*/
vector<double> g1R_;
/**
* The \f$SU(2)\f$ singlet coupling to \f$\Phi_{6,1,-2/3}\f$
*/
vector<double> g1pR_;
/**
* The \f$SU(2)\f$ singlet coupling to \f$\Phi_{6,1,4/3}\f$
*/
vector<double> g1ppR_;
/**
* The coupling to \f$V^\mu_{6,2,-1/6}\f$
*/
vector<double> g2_;
/**
* The coupling to \f$V^\mu_{6,2,5/6}\f$
*/
vector<double> g2p_;
/**
* Coupling to \f$\Phi_{6,3,1/3}\f$
*/
vector<double> g3L_;
//@}
/**
* Switches to decide which particles to include
*/
//@{
/**
* Scalar Singlet \f$Y = 4/3\f$
*/
bool enableScalarSingletY43_;
/**
* Scalar Singlet \f$Y = -1/3\f$
*/
bool enableScalarSingletY13_;
/**
* Scalar Singlet \f$Y = -2/3\f$
*/
bool enableScalarSingletY23_;
/**
* Scalar Triplet \f$Y = 1/3\f$
*/
bool enableScalarTripletY13_;
/**
* Vector Doublet \f$Y = -1/6\f$
*/
bool enableVectorDoubletY16_;
/**
* Vector Doublet \f$Y = 5/6\f$
*/
bool enableVectorDoubletY56_;
//@}
};
}
#endif /* HERWIG_SextetModel_H */
diff --git a/Models/Sextet/SextetGSSVertex.cc b/Models/Sextet/SextetPSSVertex.cc
copy from Models/Sextet/SextetGSSVertex.cc
copy to Models/Sextet/SextetPSSVertex.cc
--- a/Models/Sextet/SextetGSSVertex.cc
+++ b/Models/Sextet/SextetPSSVertex.cc
@@ -1,88 +1,88 @@
// -*- C++ -*-
//
// This is the implementation of the non-inlined, non-templated member
-// functions of the SextetGSSVertex class.
+// functions of the SextetPSSVertex class.
//
-#include "SextetGSSVertex.h"
+#include "SextetPSSVertex.h"
#include "SextetModel.h"
#include "SextetParticles.h"
#include "ThePEG/Interface/ClassDocumentation.h"
#include "ThePEG/EventRecord/Particle.h"
#include "ThePEG/Repository/UseRandom.h"
#include "ThePEG/Repository/EventGenerator.h"
#include "ThePEG/Utilities/DescribeClass.h"
#include "ThePEG/Persistency/PersistentOStream.h"
#include "ThePEG/Persistency/PersistentIStream.h"
using namespace Herwig;
-IBPtr SextetGSSVertex::clone() const {
+IBPtr SextetPSSVertex::clone() const {
return new_ptr(*this);
}
-IBPtr SextetGSSVertex::fullclone() const {
+IBPtr SextetPSSVertex::fullclone() const {
return new_ptr(*this);
}
// The following static variable is needed for the type
// description system in ThePEG.
-DescribeClass<SextetGSSVertex,Helicity::VSSVertex,false,true>
-describeSextetGSSVertex("Herwig::SextetGSSVertex", "HwSextetModel.so");
+DescribeClass<SextetPSSVertex,Helicity::VSSVertex,false,true>
+describeSextetPSSVertex("Herwig::SextetPSSVertex", "HwSextetModel.so");
-void SextetGSSVertex::Init() {
+void SextetPSSVertex::Init() {
- static ClassDocumentation<SextetGSSVertex> documentation
- ("The SextetGSSVertex class implements the coupling of the gluon"
+ static ClassDocumentation<SextetPSSVertex> documentation
+ ("The SextetPSSVertex class implements the coupling of the gluon"
" to scalar diquarks.");
}
-void SextetGSSVertex::doinit() {
- orderInGs (1);
- orderInGem(0);
+void SextetPSSVertex::doinit() {
+ orderInGs (0);
+ orderInGem(1);
SextetModelPtr model =
dynamic_ptr_cast<SextetModelPtr>(generator()->standardModel());
if(!model) throw Exception() << "Must be using the SextetModel"
- << " in SextetGSSVertex::doinit()"
+ << " in SextetPSSVertex::doinit()"
<< Exception::runerror;
// add the enabled particles
if(model->ScalarSingletY43Enabled())
- addToList(21,ParticleID::ScalarDQSingletY43,
+ addToList(22,ParticleID::ScalarDQSingletY43,
ParticleID::ScalarDQSingletY43bar);
if(model->ScalarSingletY13Enabled())
- addToList(21,ParticleID::ScalarDQSingletY13,
+ addToList(22,ParticleID::ScalarDQSingletY13,
ParticleID::ScalarDQSingletY13bar);
if(model->ScalarSingletY23Enabled())
- addToList(21,ParticleID::ScalarDQSingletY23,
+ addToList(22,ParticleID::ScalarDQSingletY23,
ParticleID::ScalarDQSingletY23bar);
if(model->ScalarTripletY13Enabled()) {
- addToList(21,ParticleID::ScalarDQTripletP,
+ addToList(22,ParticleID::ScalarDQTripletP,
ParticleID::ScalarDQTripletPbar);
- addToList(21,ParticleID::ScalarDQTriplet0,
+ addToList(22,ParticleID::ScalarDQTriplet0,
ParticleID::ScalarDQTriplet0bar);
- addToList(21,ParticleID::ScalarDQTripletM,
+ addToList(22,ParticleID::ScalarDQTripletM,
ParticleID::ScalarDQTripletMbar);
}
Helicity::VSSVertex::doinit();
}
-void SextetGSSVertex::setCoupling(Energy2 q2, tcPDPtr part1,
+void SextetPSSVertex::setCoupling(Energy2 q2, tcPDPtr part1,
tcPDPtr part2, tcPDPtr ) {
- assert(part1->id()==ParticleID::g);
- long idq = abs(part2->id());
- assert(idq == ParticleID::ScalarDQSingletY43 ||
- idq == ParticleID::ScalarDQSingletY13 ||
- idq == ParticleID::ScalarDQSingletY23 ||
- idq == ParticleID::ScalarDQTripletP ||
- idq == ParticleID::ScalarDQTriplet0 ||
- idq == ParticleID::ScalarDQTripletM);
+ assert(part1->id()==ParticleID::gamma);
+ tcPDPtr sca = part2->id()>0 ? part2 : tcPDPtr(part2->CC());
+ assert(sca->id() == ParticleID::ScalarDQSingletY43 ||
+ sca->id() == ParticleID::ScalarDQSingletY13 ||
+ sca->id() == ParticleID::ScalarDQSingletY23 ||
+ sca->id() == ParticleID::ScalarDQTripletP ||
+ sca->id() == ParticleID::ScalarDQTriplet0 ||
+ sca->id() == ParticleID::ScalarDQTripletM);
if(q2 != q2Last_ || coupLast_ == 0.) {
- coupLast_ = strongCoupling(q2);
+ coupLast_ = electroMagneticCoupling(q2);
q2Last_ = q2;
}
if(part2->id()>0)
- norm(-coupLast_);
+ norm(-sca->iCharge()/3.*coupLast_);
else
- norm( coupLast_);
+ norm( sca->iCharge()/3.*coupLast_);
}
diff --git a/Models/Sextet/SextetGSSVertex.h b/Models/Sextet/SextetPSSVertex.h
copy from Models/Sextet/SextetGSSVertex.h
copy to Models/Sextet/SextetPSSVertex.h
--- a/Models/Sextet/SextetGSSVertex.h
+++ b/Models/Sextet/SextetPSSVertex.h
@@ -1,102 +1,102 @@
// -*- C++ -*-
-#ifndef HERWIG_SextetGSSVertex_H
-#define HERWIG_SextetGSSVertex_H
+#ifndef HERWIG_SextetPSSVertex_H
+#define HERWIG_SextetPSSVertex_H
//
-// This is the declaration of the SextetGSSVertex class.
+// This is the declaration of the SextetPSSVertex class.
//
#include "ThePEG/Helicity/Vertex/Scalar/VSSVertex.h"
namespace Herwig {
using namespace ThePEG;
/**
- * Here is the documentation of the SextetGSSVertex class.
+ * Here is the documentation of the SextetPSSVertex class.
*
- * @see \ref SextetGSSVertexInterfaces "The interfaces"
- * defined for SextetGSSVertex.
+ * @see \ref SextetPSSVertexInterfaces "The interfaces"
+ * defined for SextetPSSVertex.
*/
-class SextetGSSVertex: public Helicity::VSSVertex {
+class SextetPSSVertex: public Helicity::VSSVertex {
public:
/**
* The default constructor.
*/
- SextetGSSVertex() {}
+ SextetPSSVertex() {}
/**
* Calculate the couplings.
* @param q2 The scale \f$q^2\f$ for the coupling at the vertex.
* @param part1 The ParticleData pointer for the first particle.
* @param part2 The ParticleData pointer for the second particle.
* @param part3 The ParticleData pointer for the third particle.
*/
virtual void setCoupling(Energy2 q2,tcPDPtr part1,
tcPDPtr part2,tcPDPtr part3);
public:
/**
* The standard Init function used to initialize the interfaces.
* Called exactly once for each class by the class description system
* before the main function starts or
* when this class is dynamically loaded.
*/
static void Init();
protected:
/** @name Clone Methods. */
//@{
/**
* Make a simple clone of this object.
* @return a pointer to the new object.
*/
virtual IBPtr clone() const;
/** Make a clone of this object, possibly modifying the cloned object
* to make it sane.
* @return a pointer to the new object.
*/
virtual IBPtr fullclone() const;
//@}
protected:
/** @name Standard Interfaced functions. */
//@{
/**
* Initialize this object after the setup phase before saving an
* EventGenerator to disk.
* @throws InitException if object could not be initialized properly.
*/
virtual void doinit();
//@}
private:
/**
* The assignment operator is private and must never be called.
* In fact, it should not even be implemented.
*/
- SextetGSSVertex & operator=(const SextetGSSVertex &);
+ SextetPSSVertex & operator=(const SextetPSSVertex &);
private:
/**
* Store the value of the coupling when last evaluated
*/
Complex coupLast_;
/**
* Store the scale at which coupling was last evaluated
*/
Energy2 q2Last_;
};
}
-#endif /* HERWIG_SextetGSSVertex_H */
+#endif /* HERWIG_SextetPSSVertex_H */
diff --git a/Models/Sextet/SextetGVVVertex.cc b/Models/Sextet/SextetPVVVertex.cc
copy from Models/Sextet/SextetGVVVertex.cc
copy to Models/Sextet/SextetPVVVertex.cc
--- a/Models/Sextet/SextetGVVVertex.cc
+++ b/Models/Sextet/SextetPVVVertex.cc
@@ -1,75 +1,80 @@
// -*- C++ -*-
//
// This is the implementation of the non-inlined, non-templated member
-// functions of the SextetGVVVertex class.
+// functions of the SextetPVVVertex class.
//
#include "SextetModel.h"
-#include "SextetGVVVertex.h"
+#include "SextetPVVVertex.h"
#include "SextetParticles.h"
#include "ThePEG/Interface/ClassDocumentation.h"
#include "ThePEG/EventRecord/Particle.h"
#include "ThePEG/Repository/UseRandom.h"
#include "ThePEG/Repository/EventGenerator.h"
#include "ThePEG/Utilities/DescribeClass.h"
using namespace Herwig;
-IBPtr SextetGVVVertex::clone() const {
+IBPtr SextetPVVVertex::clone() const {
return new_ptr(*this);
}
-IBPtr SextetGVVVertex::fullclone() const {
+IBPtr SextetPVVVertex::fullclone() const {
return new_ptr(*this);
}
// The following static variable is needed for the type
// description system in ThePEG.
-DescribeNoPIOClass<SextetGVVVertex,Helicity::VVVVertex>
-describeSextetGVVVertex("Herwig::SextetGVVVertex", "HwSextetModel.so");
+DescribeNoPIOClass<SextetPVVVertex,Helicity::VVVVertex>
+describeSextetPVVVertex("Herwig::SextetPVVVertex", "HwSextetModel.so");
-void SextetGVVVertex::Init() {
+void SextetPVVVertex::Init() {
- static ClassDocumentation<SextetGVVVertex> documentation
- ("The SextetGVVVertex class implements the coupling of the gluon to two"
+ static ClassDocumentation<SextetPVVVertex> documentation
+ ("The SextetPVVVertex class implements the coupling of the gluon to two"
" vector sextet particles");
}
-void SextetGVVVertex::doinit() {
+void SextetPVVVertex::doinit() {
orderInGs(1);
orderInGem(0);
SextetModelPtr model =
dynamic_ptr_cast<SextetModelPtr>(generator()->standardModel());
if(!model) throw Exception() << "Must be using the SextetModel"
- << " in SextetGVVVertex::doinit()"
+ << " in SextetPVVVertex::doinit()"
<< Exception::runerror;
if(model->VectorDoubletY16Enabled()) {
- addToList(21,ParticleID::VectorDQY16P,
+ addToList(22,ParticleID::VectorDQY16P,
ParticleID::VectorDQY16Pbar);
- addToList(21,ParticleID::VectorDQY16M,
+ addToList(22,ParticleID::VectorDQY16M,
ParticleID::VectorDQY16Mbar);
}
if(model->VectorDoubletY56Enabled()) {
- addToList(21,ParticleID::VectorDQY56P,
+ addToList(22,ParticleID::VectorDQY56P,
ParticleID::VectorDQY56Pbar);
- addToList(21,ParticleID::VectorDQY56M,
+ addToList(22,ParticleID::VectorDQY56M,
ParticleID::VectorDQY56Mbar);
}
VVVVertex::doinit();
}
-void SextetGVVVertex::setCoupling(Energy2 q2, tcPDPtr p1, tcPDPtr p2,
+void SextetPVVVertex::setCoupling(Energy2 q2, tcPDPtr p1, tcPDPtr p2,
tcPDPtr p3) {
if(q2 != q2Last_ || coupLast_ == 0.) {
q2Last_ = q2;
- coupLast_ = strongCoupling(q2);
+ coupLast_ = electroMagneticCoupling(q2);
}
- if((p1->id()==ParticleID::g&&p2->id()>0&&p3->id()<0)||
- (p2->id()==ParticleID::g&&p3->id()>0&&p1->id()<0)||
- (p3->id()==ParticleID::g&&p1->id()>0&&p2->id()<0))
- norm(-coupLast_);
+ if(p1->id()==ParticleID::gamma) {
+ norm(p3->iCharge()/3.*coupLast_);
+ }
+ else if(p2->id()==ParticleID::gamma) {
+ norm(p1->iCharge()/3.*coupLast_);
+ }
+ else if(p3->id()==ParticleID::gamma) {
+ norm(p2->iCharge()/3.*coupLast_);
+ }
else
- norm( coupLast_);
+ assert(false);
}
diff --git a/Models/Sextet/SextetGVVVertex.h b/Models/Sextet/SextetPVVVertex.h
copy from Models/Sextet/SextetGVVVertex.h
copy to Models/Sextet/SextetPVVVertex.h
--- a/Models/Sextet/SextetGVVVertex.h
+++ b/Models/Sextet/SextetPVVVertex.h
@@ -1,100 +1,100 @@
// -*- C++ -*-
-#ifndef THEPEG_SextetGVVVertex_H
-#define THEPEG_SextetGVVVertex_H
+#ifndef THEPEG_SextetPVVVertex_H
+#define THEPEG_SextetPVVVertex_H
//
-// This is the declaration of the SextetGVVVertex class.
+// This is the declaration of the SextetPVVVertex class.
//
#include "ThePEG/Helicity/Vertex/Vector/VVVVertex.h"
namespace Herwig {
using namespace ThePEG;
/**
- * Here is the documentation of the SextetGVVVertex class.
+ * Here is the documentation of the SextetPVVVertex class.
*
- * @see \ref SextetGVVVertexInterfaces "The interfaces"
- * defined for SextetGVVVertex.
+ * @see \ref SextetPVVVertexInterfaces "The interfaces"
+ * defined for SextetPVVVertex.
*/
- class SextetGVVVertex: public Helicity::VVVVertex {
+ class SextetPVVVertex: public Helicity::VVVVertex {
public:
/**
* The default constructor.
*/
- SextetGVVVertex() {}
+ SextetPVVVertex() {}
/** Calculate the coupling
*@param q2 The scale at which to evaluate the coupling
*@param part1 The first interacting particle
*@param part2 The second interacting particle
*@param part3 The third interacting particle
*/
virtual void setCoupling(Energy2 q2,tcPDPtr part1,
tcPDPtr part2,tcPDPtr part3);
public:
/**
* The standard Init function used to initialize the interfaces.
* Called exactly once for each class by the class description system
* before the main function starts or
* when this class is dynamically loaded.
*/
static void Init();
protected:
/** @name Clone Methods. */
//@{
/**
* Make a simple clone of this object.
* @return a pointer to the new object.
*/
virtual IBPtr clone() const;
/** Make a clone of this object, possibly modifying the cloned object
* to make it sane.
* @return a pointer to the new object.
*/
virtual IBPtr fullclone() const;
//@}
protected:
/** @name Standard Interfaced functions. */
//@{
/**
* Initialize this object after the setup phase before saving an
* EventGenerator to disk.
* @throws InitException if object could not be initialized properly.
*/
virtual void doinit();
//@}
private:
/**
* The assignment operator is private and must never be called.
* In fact, it should not even be implemented.
*/
- SextetGVVVertex & operator=(const SextetGVVVertex &);
+ SextetPVVVertex & operator=(const SextetPVVVertex &);
private:
/**
* Store the value of the coupling when last evaluated
*/
Complex coupLast_;
/**
* Store the scale at which coupling was last evaluated
*/
Energy2 q2Last_;
};
}
-#endif /* THEPEG_SextetGVVVertex_H */
+#endif /* THEPEG_SextetPVVVertex_H */
diff --git a/src/Sextet.model b/src/Sextet.model
--- a/src/Sextet.model
+++ b/src/Sextet.model
@@ -1,213 +1,217 @@
# -*- ThePEG-repository -*-
##################################################
# Common setup for Sextet models
#
# See LHC-Sextet.in for example usage
#
# This file does not contain anything that
# users need to touch. User settings are in
# LHC-Sextet.in
###################################################x
library HwSextetModel.so
###################################################
#
# Particle Data objects for the diquarks
#
###################################################
cd /Herwig/Particles
# Scalar DQ Singlet Y=4/3
create /ThePEG/ParticleData DQPhi_1''
setup DQPhi_1'' 6000221 DQPhi_1'' 500.0 0.0 0.0 0.0 4 6 1 0
create /ThePEG/ParticleData DQPhi_1''bar
setup DQPhi_1''bar -6000221 DQPhi_1''bar 500.0 0.0 0.0 0.0 -4 -6 1 0
makeanti DQPhi_1''bar DQPhi_1''
# Scalar DQ Singlet Y=1/3
create /ThePEG/ParticleData DQPhi_1
setup DQPhi_1 6000211 DQPhi_1 500.0 0.0 0.0 0.0 1 6 1 0
create /ThePEG/ParticleData DQPhi_1bar
setup DQPhi_1bar -6000211 DQPhi_1bar 500.0 0.0 0.0 0.0 -1 -6 1 0
makeanti DQPhi_1bar DQPhi_1
# Scalar DQ Singlet Y=-2/3
create /ThePEG/ParticleData DQPhi_1'
setup DQPhi_1' 6000111 DQPhi_1' 500.0 0.0 0.0 0.0 -2 6 1 0
create /ThePEG/ParticleData DQPhi_1'bar
setup DQPhi_1'bar -6000111 DQPhi_1'bar 500.0 0.0 0.0 0.0 2 -6 1 0
makeanti DQPhi_1'bar DQPhi_1'
# Scalar DQ Triplet t_3=1 Y=1/3
create /ThePEG/ParticleData DQPhi_3+
setup DQPhi_3+ 6001221 DQPhi_3+ 500.0 0.0 0.0 0.0 4 6 1 0
create /ThePEG/ParticleData DQPhi_3+bar
setup DQPhi_3+bar -6001221 DQPhi_3+bar 500.0 0.0 0.0 0.0 -4 -6 1 0
makeanti DQPhi_3+bar DQPhi_3+
# Scalar DQ Triplet t_3=0 Y=1/3
create /ThePEG/ParticleData DQPhi_30
setup DQPhi_30 6001211 DQPhi_30 500.0 0.0 0.0 0.0 1 6 1 0
create /ThePEG/ParticleData DQPhi_30bar
setup DQPhi_30bar -6001211 DQPhi_30bar 500.0 0.0 0.0 0.0 -1 -6 1 0
makeanti DQPhi_30bar DQPhi_30
# Scalar DQ Triplet t_3=-1 Y=1/3
create /ThePEG/ParticleData DQPhi_3-
setup DQPhi_3- 6001111 DQPhi_3- 500.0 0.0 0.0 0.0 -2 6 1 0
create /ThePEG/ParticleData DQPhi_3-bar
setup DQPhi_3-bar -6001111 DQPhi_3-bar 500.0 0.0 0.0 0.0 2 -6 1 0
makeanti DQPhi_3-bar DQPhi_3-
# Vector DQ Doublet t_3=1/2 Y=-1/6
create /ThePEG/ParticleData DQV_1+
setup DQV_1+ 6000123 DQV_1+ 500.0 0.0 0.0 0.0 1 6 3 0
create /ThePEG/ParticleData DQV_1+bar
setup DQV_1+bar -6000123 DQV_1+bar 500.0 0.0 0.0 0.0 -1 -6 3 0
makeanti DQV_1+bar DQV_1+
# Vector DQ Doublet t_3=-1/2 Y=-1/6
create /ThePEG/ParticleData DQV_1-
setup DQV_1- 6000113 DQV_1- 500.0 0.0 0.0 0.0 -2 6 3 0
create /ThePEG/ParticleData DQV_1-bar
setup DQV_1-bar -6000113 DQV_1-bar 500.0 0.0 0.0 0.0 2 -6 3 0
makeanti DQV_1-bar DQV_1-
# Vector DQ Doublet t_3=1/2 Y=-5/6
create /ThePEG/ParticleData DQV_2+
setup DQV_2+ 6000223 DQV_2+ 500.0 0.0 0.0 0.0 4 6 3 0
create /ThePEG/ParticleData DQV_2+bar
setup DQV_2+bar -6000223 DQV_2+bar 500.0 0.0 0.0 0.0 -4 -6 3 0
makeanti DQV_2+bar DQV_2+
# Vector DQ Doublet t_3=-1/2 Y=-5/6
create /ThePEG/ParticleData DQV_2-
setup DQV_2- 6000213 DQV_2- 500.0 0.0 0.0 0.0 1 6 3 0
create /ThePEG/ParticleData DQV_2-bar
setup DQV_2-bar -6000213 DQV_2-bar 500.0 0.0 0.0 0.0 -1 -6 3 0
makeanti DQV_2-bar DQV_2-
###################################################
#
# Main directory and model object
#
###################################################
mkdir /Herwig/NewPhysics/Sextet
cd /Herwig/NewPhysics/Sextet
create Herwig::SextetModel Model
# SM couplings
set Model:QCD/RunningAlphaS /Herwig/Couplings/NLOAlphaS
set Model:EW/RunningAlphaEM /Herwig/Couplings/AlphaEM
set Model:EW/CKM /Herwig/CKM
set Model:RunningMass /Herwig/RunningMass
###################################################
#
# Vertices
#
###################################################
# create Sextet model vertices
mkdir /Herwig/Vertices/Sextet
cd /Herwig/Vertices/Sextet
library HwSextetModel.so
create Herwig::SextetGSSVertex Sextet_GSSVertex
+create Herwig::SextetPSSVertex Sextet_PSSVertex
create Herwig::SextetGGSSVertex Sextet_GGSSVertex
create Herwig::SextetGVVVertex Sextet_GVVVertex
+create Herwig::SextetPVVVertex Sextet_PVVVertex
create Herwig::SextetGGVVVertex Sextet_GGVVVertex
create Herwig::SextetFFSVertex Sextet_FFSVertex
create Herwig::SextetFFVVertex Sextet_FFVVertex
cd /Herwig/NewPhysics/Sextet
# SM vertices
set Model:Vertex/FFZ /Herwig/Vertices/FFZVertex
set Model:Vertex/FFW /Herwig/Vertices/FFWVertex
set Model:Vertex/FFH /Herwig/Vertices/FFHVertex
set Model:Vertex/FFG /Herwig/Vertices/FFGVertex
set Model:Vertex/FFP /Herwig/Vertices/FFPVertex
set Model:Vertex/GGG /Herwig/Vertices/GGGVertex
set Model:Vertex/GGGG /Herwig/Vertices/GGGGVertex
set Model:Vertex/WWH /Herwig/Vertices/WWHVertex
set Model:Vertex/WWW /Herwig/Vertices/WWWVertex
set Model:Vertex/WWWW /Herwig/Vertices/WWWWVertex
set Model:Vertex/HGG /Herwig/Vertices/HGGVertex
set Model:Vertex/HPP /Herwig/Vertices/HPPVertex
# Sextet model vertices
set Model:Vertex/SDQSDQG /Herwig/Vertices/Sextet/Sextet_GSSVertex
+set Model:Vertex/SDQSDQP /Herwig/Vertices/Sextet/Sextet_PSSVertex
set Model:Vertex/SDQSDQGG /Herwig/Vertices/Sextet/Sextet_GGSSVertex
set Model:Vertex/VDQVDQG /Herwig/Vertices/Sextet/Sextet_GVVVertex
+set Model:Vertex/VDQVDQP /Herwig/Vertices/Sextet/Sextet_PVVVertex
set Model:Vertex/VDQVDQGG /Herwig/Vertices/Sextet/Sextet_GGVVVertex
set Model:Vertex/FFSDQ /Herwig/Vertices/Sextet/Sextet_FFSVertex
set Model:Vertex/FFVDQ /Herwig/Vertices/Sextet/Sextet_FFVVertex
###################################################
#
# Shower stuff for coloured diquarks
#
###################################################
cd /Herwig/Shower
insert ShowerHandler:DecayInShower 0 6000221
insert ShowerHandler:DecayInShower 0 6000211
insert ShowerHandler:DecayInShower 0 6000111
insert ShowerHandler:DecayInShower 0 6001221
insert ShowerHandler:DecayInShower 0 6001211
insert ShowerHandler:DecayInShower 0 6001111
insert ShowerHandler:DecayInShower 0 6000123
insert ShowerHandler:DecayInShower 0 6000113
insert ShowerHandler:DecayInShower 0 6000223
insert ShowerHandler:DecayInShower 0 6000213
create Herwig::ZeroZeroOneSplitFn SDiquarktoSDiquarkSplitFn
set SDiquarktoSDiquarkSplitFn:InteractionType QCD
set SDiquarktoSDiquarkSplitFn:ColourStructure SextetSextetOctet
create Herwig::OneOneOneSplitFn VDiquarktoVDiquarkSplitFn
set VDiquarktoVDiquarkSplitFn:InteractionType QCD
set VDiquarktoVDiquarkSplitFn:ColourStructure SextetSextetOctet
cp SudakovCommon SDiquarktoSDiquarkSudakov
set SDiquarktoSDiquarkSudakov:SplittingFunction SDiquarktoSDiquarkSplitFn
cp SudakovCommon VDiquarktoVDiquarkSudakov
set VDiquarktoVDiquarkSudakov:SplittingFunction VDiquarktoVDiquarkSplitFn
do SplittingGenerator:AddFinalSplitting DQPhi_1''->DQPhi_1'',g; SDiquarktoSDiquarkSudakov
do SplittingGenerator:AddFinalSplitting DQPhi_1->DQPhi_1,g; SDiquarktoSDiquarkSudakov
do SplittingGenerator:AddFinalSplitting DQPhi_1'->DQPhi_1',g; SDiquarktoSDiquarkSudakov
do SplittingGenerator:AddFinalSplitting DQPhi_3+->DQPhi_3+,g; SDiquarktoSDiquarkSudakov
do SplittingGenerator:AddFinalSplitting DQPhi_30->DQPhi_30,g; SDiquarktoSDiquarkSudakov
do SplittingGenerator:AddFinalSplitting DQPhi_3-->DQPhi_3-,g; SDiquarktoSDiquarkSudakov
do SplittingGenerator:AddFinalSplitting DQV_1+->DQV_1+,g; VDiquarktoVDiquarkSudakov
do SplittingGenerator:AddFinalSplitting DQV_1-->DQV_1-,g; VDiquarktoVDiquarkSudakov
do SplittingGenerator:AddFinalSplitting DQV_2+->DQV_2+,g; VDiquarktoVDiquarkSudakov
do SplittingGenerator:AddFinalSplitting DQV_2-->DQV_2-,g; VDiquarktoVDiquarkSudakov
###################################################
#
# Set up spin correlation Decayers
#
###################################################
cd /Herwig/NewPhysics
set TwoBodyDC:CreateDecayModes Yes
set ThreeBodyDC:CreateDecayModes No
# which particles get the off-shell treatment
set NewModel:WhichOffshell All
# particles for which decays are included
insert NewModel:DecayParticles 0 /Herwig/Particles/DQPhi_1''
insert NewModel:DecayParticles 0 /Herwig/Particles/DQPhi_1
insert NewModel:DecayParticles 0 /Herwig/Particles/DQPhi_1'
insert NewModel:DecayParticles 0 /Herwig/Particles/DQPhi_3+
insert NewModel:DecayParticles 0 /Herwig/Particles/DQPhi_30
insert NewModel:DecayParticles 0 /Herwig/Particles/DQPhi_3-
insert NewModel:DecayParticles 0 /Herwig/Particles/DQV_1+
insert NewModel:DecayParticles 0 /Herwig/Particles/DQV_1-
insert NewModel:DecayParticles 0 /Herwig/Particles/DQV_2+
insert NewModel:DecayParticles 0 /Herwig/Particles/DQV_2-
###################################################
#
# Exclude some things from the HP
#
###################################################
insert HPConstructor:ExcludedExternal 0 /Herwig/Particles/g
###################################################
# Set up the model framework
###################################################
set Sextet/Model:ModelGenerator NewModel
###################################################
#
# Choose Sextet over SM
#
###################################################
cd /Herwig/Generators
set EventGenerator:StandardModelParameters /Herwig/NewPhysics/Sextet/Model
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Tue, Nov 19, 8:50 PM (1 d, 2 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3800050
Default Alt Text
(40 KB)
Attached To
rHERWIGHG herwighg
Event Timeline
Log In to Comment