13 #ifndef Pythia8_SLHA_H 14 #define Pythia8_SLHA_H 16 #include "Pythia8/PythiaStdlib.h" 31 LHblock() : idnow(0), qDRbar(), i(), val() {} ;
34 bool exists() {
return int(entry.size()) == 0 ?
false :
true ; };
36 void clear() { entry.clear(); };
43 int set(
int iIn,T valIn) {
44 int alreadyexisting=
exists(iIn)?1:0;
46 return alreadyexisting;
49 int set(istringstream& linestream,
bool indexed=
true) {
51 if (indexed) linestream >> i >> val;
52 else linestream >> val;
53 return linestream ?
set(i,val) : -1;
56 int set(
int iIn,istringstream& linestream) {
58 return linestream ?
set(iIn,val) : -1;
61 void set(T valIn) { entry[0]=valIn; };
64 bool exists(
int iIn) {
return entry.find(iIn) != entry.end()
72 int size() {
return int(entry.size());};
75 int first() { idnow = entry.begin()->first;
return idnow; };
77 typename map<int,T>::iterator itnow;
78 itnow = ++entry.find(idnow);
79 if ( itnow == entry.end() ) itnow=entry.begin();
80 return idnow = itnow->first;
89 cout <<
" "<< i <<
" " << entry[i] <<endl;
91 if (i == ibegin) finished=
true;
96 void setq(
double qIn) { qDRbar=qIn; }
97 double q() {
return qDRbar; }
119 int set(
string lineIn) {
120 entry[entry.size()] = lineIn;
134 for (i=1;i<=
size;i++) {
135 for (j=1;j<=
size;j++) {
143 for (i=1;i<=
size;i++)
for (j=1;j<=
size;j++) entry[i][j] =
m(i,j);
145 initialized = m.initialized; }
150 for (i=1;i<=
size;i++)
for (j=1;j<=
size;j++) entry[i][j] =
m(i,j);
152 initialized = m.initialized;
159 void clear() { initialized=
false; };
162 int set(
int iIn,
int jIn,
double valIn) {
163 if (iIn>0 && jIn>0 && iIn<=
size && jIn<=
size) {
164 entry[iIn][jIn]=valIn;
173 int set(istringstream& linestream) {
174 linestream >> i >> j >> val;
175 return linestream ?
set(i,j,val) : -1;
180 return (iIn <=
size && jIn <= size && iIn > 0 && jIn > 0) ?
181 entry[iIn][jIn] : 0.0;
185 void setq(
double qIn) { qDRbar=qIn; }
186 double q() {
return qDRbar; }
190 for (i=1;i<=
size;i++) {
191 cout <<
" "<<i <<
" " ;
192 for (j=1;j<=
size;j++) cout << entry[i][j] <<
" ";
213 for (i=1;i<=
size;i++) {
214 for (j=1;j<=
size;j++) {
215 for (k=1;k<=
size;k++) {
224 for (i=0;i<=
size;i++)
for (j=0;j<=
size;j++)
for (k=0;k<=
size;k++)
225 entry[i][j][k] =
m(i,j,k);
227 initialized = m.initialized; };
232 for (i=0;i<=
size;i++)
for (j=0;j<=
size;j++)
for (k=0;k<=
size;k++)
233 entry[i][j][k] =
m(i,j,k);
235 initialized = m.initialized;
242 void clear() { initialized=
false; };
245 int set(
int iIn,
int jIn,
int kIn,
double valIn) {
246 if (iIn>0 && jIn>0 && kIn>0 && iIn<=
size && jIn<=
size && kIn<=
size) {
247 entry[iIn][jIn][kIn]=valIn;
256 int set(istringstream& linestream) {
257 linestream >> i >> j >> k >> val;
258 return linestream ?
set(i,j,k,val) : -1;
263 return (iIn <=
size && jIn <=
size && kIn <= size && iIn > 0
264 && jIn > 0 && kIn > 0) ? entry[iIn][jIn][kIn] : 0.0;
268 void setq(
double qIn) { qDRbar=qIn; }
269 double q() {
return qDRbar; }
273 for (i=1;i<=
size;i++) {
274 for (j=1;j<=
size;j++) {
275 cout <<
" "<<i <<
" "<<j <<
" " ;
276 for (k=1;k<=
size;k++) {
277 cout << entry[i][j][k] <<
" ";
300 string cIn=
"") : brat() { setChannel(bratIn,nDaIn,idDaIn,cIn);
304 void setChannel(
double bratIn,
int nDaIn, vector<int> idDaIn,
307 for (
int i=0; i<=nDaIn; i++) {
308 if (i <
int(idDaIn.size())) idDa.push_back(idDaIn[i]);
312 void setBrat(
double bratIn) {brat=bratIn;}
313 void setIdDa(vector<int> idDaIn) {idDa = idDaIn;}
317 int getNDa() {
return int(idDa.size());}
318 vector<int> getIdDa() {
return idDa;}
319 string getComment() {
return comment;}
333 LHdecayTable(
int idIn,
double widthIn) : id(idIn), width(widthIn) {};
337 double getWidth() {
return width;}
341 void setWidth(
double widthIn) {width=widthIn;}
344 void reset(
double widthIn=0.0) {
table.resize(0); width=widthIn;}
348 void addChannel(
double bratIn,
int nDaIn, vector<int> idDaIn,
351 table.push_back(newChannel);
359 if (iChannel >= 0 && iChannel <
int(
table.size())) {
360 return table[iChannel].getBrat();
367 if (iChannel >= 0 && iChannel <
int(
table.size())) {
368 return table[iChannel].getIdDa();
376 if (iChannel >= 0 && iChannel <
int(
table.size())) {
377 return table[iChannel];
387 vector<LHdecayChannel>
table;
399 headerPrinted(false), footerPrinted(false), filePrinted(false),
400 slhaRead(false), lhefRead(false), lhefSlha(false), useDecay(true) {};
401 SusyLesHouches(
string filename,
int verboseIn=1) : verboseSav(verboseIn),
402 headerPrinted(
false), footerPrinted(
false), filePrinted(
false),
403 slhaRead(
true), lhefRead(
false), lhefSlha(
false), useDecay(
true) {
404 readFile(filename);};
408 int readFile(
string slhaFileIn=
"slha.spc",
int verboseIn=1,
409 bool useDecayIn=
true);
410 int readFile(istream& ,
int verboseIn=1,
411 bool useDecayIn=
true);
416 void listSpectrum(
int ifail=0);
429 Entry() : isIntP(false), isDoubleP(false),
430 isStringP(false), n(0), d(0.0), s(
""), commentP(
"") {}
434 bool isDouble(){
return isDoubleP;}
435 bool isString(){
return isStringP;}
439 d=val;isIntP=
false;isDoubleP=
true;isStringP=
false;
442 Entry& operator=(
int& val) {
443 n=val;isIntP=
true;isDoubleP=
false;isStringP=
false;
446 Entry& operator=(
string& val) {
447 s=val;isIntP=
false;isDoubleP=
false;isStringP=
true;
453 void getComment(
string& comment) {comment=commentP;}
456 bool get(
int& val) {val=n;
return isIntP;}
457 bool get(
double& val) {val=d;
return isDoubleP;}
458 bool get(
string& val) {val=s;
return isStringP;}
461 bool isIntP, isDoubleP, isStringP;
506 map<int,int> decayIndices;
511 vector< string > qnumbersAntiName;
619 template <
class T>
int set(string,T);
620 template <
class T>
int set(string,int,T);
621 template <
class T>
int set(string,int,int,T);
622 template <
class T>
int set(string,int,int,int,T);
629 map<string, LHgenericBlock> genericBlocks;
630 template <
class T>
bool getEntry(
string, T&);
631 template <
class T>
bool getEntry(
string,
int, T&);
632 template <
class T>
bool getEntry(
string,
int,
int, T&);
633 template <
class T>
bool getEntry(
string,
int,
int,
int, T&);
634 template <
class T>
bool getEntry(
string, vector<int>, T&);
638 void verbose(
int verboseIn) {verboseSav = verboseIn;}
641 void message(
int,
string,
string ,
int line=0);
647 bool headerPrinted, footerPrinted, filePrinted;
648 bool slhaRead, lhefRead, lhefSlha, useDecay;
662 if (genericBlocks.find(blockName) == genericBlocks.end()) {
664 genericBlocks[blockName]=gBlock;
668 ostringstream lineStream;
670 return genericBlocks[blockName].
set(lineStream.str());
680 if (genericBlocks.find(blockName) == genericBlocks.end()) {
682 genericBlocks[blockName]=gBlock;
686 ostringstream lineStream;
687 lineStream << indx<<
" "<<val;
688 return genericBlocks[blockName].
set(lineStream.str());
699 if (genericBlocks.find(blockName) == genericBlocks.end()) {
701 genericBlocks[blockName]=gBlock;
705 ostringstream lineStream;
706 lineStream << indx<<
" "<<jndx<<
" "<<val;
707 return genericBlocks[blockName].
set(lineStream.str());
712 int jndx,
int kndx, T val) {
718 if (genericBlocks.find(blockName) == genericBlocks.end()) {
720 genericBlocks[blockName]=gBlock;
724 ostringstream lineStream;
725 lineStream << indx<<
" "<<jndx<<
" "<<kndx<<
" "<<val;
726 return genericBlocks[blockName].
set(lineStream.str());
732 template <
class T>
bool SusyLesHouches::getEntry(
string blockName, T& val) {
738 if (genericBlocks.find(blockName) == genericBlocks.end()) {
739 message(1,
"getEntry",
"attempting to extract entry from non-existent block " 743 if (genericBlocks[blockName].
size() == 0) {
744 message(1,
"getEntry",
"attempting to extract entry from zero-size block " 748 if (genericBlocks[blockName].
size() >= 2) {
749 message(1,
"getEntry",
"attempting to extract un-indexed entry " 750 "from multi-entry block "+blockName);
755 istringstream linestream(block(0));
758 message(1,
"getEntry",
"problem extracting un-indexed entry " 759 "from block "+blockName);
767 template <
class T>
bool SusyLesHouches::getEntry(
string blockName,
int indx,
774 if (genericBlocks.find(blockName) == genericBlocks.end()) {
775 message(1,
"getEntry",
"attempting to extract entry from non-existent block " 779 if (genericBlocks[blockName].
size() == 0) {
780 message(1,
"getEntry",
"attempting to extract entry from zero-size block " 787 for (
int jEntry = 0; jEntry < block.
size(); jEntry++) {
788 istringstream linestream(block(jEntry));
792 linestream >> indxNow >> valNow;
794 if (linestream && indxNow == indx) {
800 message(1,
"getEntry",
"problem extracting indexed entry from block " 805 template <
class T>
bool SusyLesHouches::getEntry(
string blockName,
int indx,
812 if (genericBlocks.find(blockName) == genericBlocks.end()) {
813 message(1,
"getEntry",
"attempting to extract entry from non-existent block " 817 if (genericBlocks[blockName].
size() == 0) {
818 message(1,
"getEntry",
"attempting to extract entry from zero-size block " 825 for (
int jEntry = 0; jEntry < block.
size(); jEntry++) {
826 istringstream linestream(block(jEntry));
828 int indxNow, jndxNow;
830 linestream >> indxNow >> jndxNow >> valNow;
832 if (linestream && indxNow == indx && jndxNow == jndx) {
838 message(1,
"getEntry",
"problem extracting matrix-indexed entry from block " 843 template <
class T>
bool SusyLesHouches::getEntry(
string blockName,
int indx,
844 int jndx,
int kndx, T& val) {
850 if (genericBlocks.find(blockName) == genericBlocks.end()) {
851 message(1,
"getEntry",
"attempting to extract entry from non-existent block " 855 if (genericBlocks[blockName].
size() == 0) {
856 message(1,
"getEntry",
"attempting to extract entry from zero-size block " 863 for (
int jEntry = 0; jEntry < block.
size(); jEntry++) {
864 istringstream linestream(block(jEntry));
866 int indxNow, jndxNow, kndxNow;
868 linestream >> indxNow >> jndxNow >> kndxNow >> valNow;
870 if (linestream && indxNow == indx && jndxNow == jndx && kndxNow == kndx) {
876 message(1,
"getEntry",
"problem extracting tensor-indexed entry from block " LHtensor3Block(const LHtensor3Block &m)
Copy constructor.
Definition: SusyLesHouches.h:223
LHmatrixBlock< 3 > td
The output DRbar running TU at Q.
Definition: SusyLesHouches.h:537
LHmatrixBlock< 3 > immse2in
The Im{} input upper off-diagonal msl2.
Definition: SusyLesHouches.h:590
LHblock< double > vckmin
FLV Input.
Definition: SusyLesHouches.h:518
string slhaFile
File Name (can be either SLHA or LHEF)
Definition: SusyLesHouches.h:422
LHmatrixBlock< 3 > imsnumix
The Im{} selectron mixing matrix.
Definition: SusyLesHouches.h:604
LHmatrixBlock< 3 > msq2
The output DRbar running Re{UPMNS} at Q.
Definition: SusyLesHouches.h:531
LHmatrixBlock< 3 > immsl2in
The Im{} input upper off-diagonal msd2.
Definition: SusyLesHouches.h:589
LHmatrixBlock< 3 > tdin
The input upper off-diagonal TU.
Definition: SusyLesHouches.h:526
int getId()
Functions to get PDG code (id) and width.
Definition: SusyLesHouches.h:336
void list()
Simple print utility, to be elaborated on.
Definition: SusyLesHouches.h:272
bool exists()
Does this matrix contain any entries?
Definition: SusyLesHouches.h:240
Definition: SusyLesHouches.h:208
LHtensor3Block< 3 > rvtlqdin
The input LNV T couplings.
Definition: SusyLesHouches.h:551
LHmatrixBlock< 5 > rvumix
The RPV neutralino mixing matrix.
Definition: SusyLesHouches.h:569
LHtensor3Block< 3 > rvtlqd
The output LNV T couplings.
Definition: SusyLesHouches.h:562
Entry()
Constructor.
Definition: SusyLesHouches.h:429
LHmatrixBlock< 3 > msu2in
The input upper off-diagonal msq2.
Definition: SusyLesHouches.h:521
LHtensor3Block< 3 > rvlamllein
The pseudoscalar neutrino mixing matrix.
Definition: SusyLesHouches.h:547
bool exists(int iIn)
Does entry i already exist in this block?
Definition: SusyLesHouches.h:64
LHtensor3Block< 3 > rvlamuddin
The input LNV lambda' couplings.
Definition: SusyLesHouches.h:549
LHmatrixBlock< 3 > immsq2in
CPV + FLV Input.
Definition: SusyLesHouches.h:586
LHblock< double > imhmix
Im{} of AU, AD, AE.
Definition: SusyLesHouches.h:582
int size()
Size of map.
Definition: SusyLesHouches.h:72
LHmatrixBlock< 5 > rvamix
The RPV neutral scalar mixing matrix.
Definition: SusyLesHouches.h:572
LHmatrixBlock< 3 > immse2
The output DRbar running msl2 at Q.
Definition: SusyLesHouches.h:599
Derived class for generic blocks containing vectors of strings.
Definition: SusyLesHouches.h:111
void toLowerRep(string &name, bool trim=true)
Variant of above, with in-place replacement.
Definition: PythiaStdlib.h:206
void setComment(string comment)
Set and Get comment.
Definition: SusyLesHouches.h:452
int first()
First and next key code.
Definition: SusyLesHouches.h:75
LHmatrixBlock< 3 > immsq2
The output DRbar running Im{UPMNS} at Q.
Definition: SusyLesHouches.h:595
int size()
Function to return number of decay channels.
Definition: SusyLesHouches.h:355
LHmatrixBlock< 7 > rvnmix
The output LNV sneutrino vevs.
Definition: SusyLesHouches.h:568
LHmatrixBlock< 8 > rvlmix
The RPV neutral pseudoscalar mixing matrix.
Definition: SusyLesHouches.h:573
LHmatrixBlock< 5 > imnmnmix
The NMSSM neutralino mixing.
Definition: SusyLesHouches.h:616
Definition: SusyLesHouches.h:129
LHblock< double > rvkappa
The output BNV T'' couplings.
Definition: SusyLesHouches.h:564
double operator()(int iIn, int jIn) const
() Overloading: Get entry
Definition: SusyLesHouches.h:179
LHblock< double > rvd
The output LNV kappa couplings.
Definition: SusyLesHouches.h:565
LHblock()
Constructor.
Definition: SusyLesHouches.h:31
double getBrat(int iChannel)
Function to return a branching ratio.
Definition: SusyLesHouches.h:358
LHblock< double > rvdin
The input LNV kappa couplings.
Definition: SusyLesHouches.h:554
LHgenericBlock()
Constructor.
Definition: SusyLesHouches.h:116
LHmatrixBlock< 4 > imnmix
The Im{} sneutrino mixing matrix.
Definition: SusyLesHouches.h:605
int set(string lineIn)
Read index and value from SLHA data line.
Definition: SusyLesHouches.h:119
LHtensor3Block< 3 > rvtudd
The output LNV T' couplings.
Definition: SusyLesHouches.h:563
void setq(double qIn)
Special for DRbar running blocks.
Definition: SusyLesHouches.h:96
vector< string > qnumbersName
Zero'th entry is PDG code.
Definition: SusyLesHouches.h:510
int verbose()
Access/change verbose setting.
Definition: SusyLesHouches.h:637
LHmatrixBlock< 3 > upmns
The output DRbar running Re{VCKM} at Q.
Definition: SusyLesHouches.h:530
LHmatrixBlock< 3 > msl2
The output DRbar running msd2 at Q.
Definition: SusyLesHouches.h:534
LHmatrixBlock< 3 > immsd2in
The Im{} input upper off-diagonal msu2.
Definition: SusyLesHouches.h:588
Entry & operator=(double &val)
= Overloading: Set entry to int, double, or string
Definition: SusyLesHouches.h:438
LHtensor3Block< 3 > rvlamudd
The output LNV lambda' couplings.
Definition: SusyLesHouches.h:560
LHblock< double > rvm2lh1
The output LNV D terms.
Definition: SusyLesHouches.h:566
LHmatrixBlock()
Constructor. Set uninitialized and explicitly zero.
Definition: SusyLesHouches.h:132
LHmatrixBlock< 3 > immsl2
The output DRbar running msd2 at Q.
Definition: SusyLesHouches.h:598
T operator()()
Indexing with (). Output only.
Definition: SusyLesHouches.h:68
vector< int > getIdDa(int iChannel)
Function to return daughter PDG codes.
Definition: SusyLesHouches.h:366
void reset(double widthIn=0.0)
Function to reset size and width (width -> 0 by default)
Definition: SusyLesHouches.h:344
void setq(double qIn)
Set and get scale for DRbar running LHblocks.
Definition: SusyLesHouches.h:268
LHblock< double > rvm2lh1in
The input LNV D terms.
Definition: SusyLesHouches.h:555
bool exists()
Does this matrix contain any entries?
Definition: SusyLesHouches.h:157
LHblock< double > rvsnvevin
The input LNV m2LH1 couplings.
Definition: SusyLesHouches.h:556
LHmatrixBlock< 3 > imau
Optional: imaginary components.
Definition: SusyLesHouches.h:581
LHtensor3Block< 3 > rvtllein
The input BNV lambda'' couplings.
Definition: SusyLesHouches.h:550
vector< LHblock< double > > qnumbers
********************* THE BSM-SLHA QNUMBERS BLOCKS *********************//
Definition: SusyLesHouches.h:509
LHmatrixBlock< 3 > msu2
The output DRbar running msq2 at Q.
Definition: SusyLesHouches.h:532
LHmatrixBlock< 3 > mse2
The output DRbar running msl2 at Q.
Definition: SusyLesHouches.h:535
LHtensor3Block & operator=(const LHtensor3Block &m)
Assignment.
Definition: SusyLesHouches.h:230
SusyLesHouches(int verboseIn=1)
Constructor, with and without filename.
Definition: SusyLesHouches.h:398
LHmatrixBlock< 3 > mse2in
The input upper off-diagonal msl2.
Definition: SusyLesHouches.h:524
LHblock< double > upmnsin
The input CKM Wolfenstein parms.
Definition: SusyLesHouches.h:519
LHmatrixBlock< 4 > imumix
The Im{} neutralino mixing matrix.
Definition: SusyLesHouches.h:606
*************************** DECAY TABLES ***************************//
Definition: SusyLesHouches.h:295
Definition: SusyLesHouches.h:393
LHmatrixBlock< 6 > imdsqmix
The Im{} up squark mixing matrix.
Definition: SusyLesHouches.h:602
LHmatrixBlock & operator=(const LHmatrixBlock &m)
Assignment.
Definition: SusyLesHouches.h:148
Definition: SusyLesHouches.h:328
double operator()(int iIn, int jIn, int kIn) const
() Overloading: Get entry
Definition: SusyLesHouches.h:262
LHmatrixBlock< 3 > nmamix
The NMSSM scalar Higgs mixing.
Definition: SusyLesHouches.h:614
void clear()
Clear block.
Definition: SusyLesHouches.h:36
void clear()
Clear initialized flag.
Definition: SusyLesHouches.h:159
void table(const Hist &h1, const Hist &h2, ostream &os=cout, bool printOverUnder=false, bool xMidBin=true)
Print a table out of two histograms with same x axis.
Definition: Basics.cc:1600
LHmatrixBlock< 4 > imvmix
The Im{} chargino L mixing matrix.
Definition: SusyLesHouches.h:607
LHblock< double > nmssmrun
The Im{} chargino R mixing matrix.
Definition: SusyLesHouches.h:612
void list()
Simple print utility.
Definition: SusyLesHouches.h:84
LHmatrixBlock< 3 > immsd2
The output DRbar running msu2 at Q.
Definition: SusyLesHouches.h:597
LHmatrixBlock< 5 > nmnmix
The NMSSM pseudoscalar Higgs mixing.
Definition: SusyLesHouches.h:615
LHmatrixBlock< 6 > selmix
The Re{} down squark mixing matrix.
Definition: SusyLesHouches.h:541
LHtensor3Block< 3 > rvlamlqdin
The input LNV lambda couplings.
Definition: SusyLesHouches.h:548
LHmatrixBlock< 4 > cvhmix
CPV Output.
Definition: SusyLesHouches.h:579
LHmatrixBlock< 3 > vckm
FLV Output.
Definition: SusyLesHouches.h:529
LHmatrixBlock< 3 > te
The output DRbar running TD at Q.
Definition: SusyLesHouches.h:538
bool exists()
Does block exist?
Definition: SusyLesHouches.h:34
LHmatrixBlock< 3 > imvckm
CPV + FLV Output.
Definition: SusyLesHouches.h:593
LHmatrixBlock< 3 > snsmix
The Re{} sneutrino mixing matrix.
Definition: SusyLesHouches.h:543
LHmatrixBlock< 3 > msq2in
The input PMNS PDG parms.
Definition: SusyLesHouches.h:520
void addChannel(LHdecayChannel channelIn)
Function to add another decay channel.
Definition: SusyLesHouches.h:347
LHmatrixBlock< 3 > immsu2in
The Im{} input upper off-diagonal msq2.
Definition: SusyLesHouches.h:587
LHmatrixBlock< 3 > immsu2
The output DRbar running msq2 at Q.
Definition: SusyLesHouches.h:596
LHtensor3Block< 3 > rvlamlle
RPV Output.
Definition: SusyLesHouches.h:558
int set(string, T)
Im{} (for future use)
Definition: SusyLesHouches.h:656
LHblock< double > mass
Blocks for mass and coupling spectrum.
Definition: SusyLesHouches.h:486
LHtensor3Block< 3 > rvtuddin
The input LNV T' couplings.
Definition: SusyLesHouches.h:552
LHmatrixBlock< 3 > tein
The input upper off-diagonal TD.
Definition: SusyLesHouches.h:527
LHmatrixBlock< 6 > dsqmix
The Re{} up squark mixing matrix.
Definition: SusyLesHouches.h:540
LHmatrixBlock< 5 > rvhmix
The RPV chargino R mixing matrix.
Definition: SusyLesHouches.h:571
LHmatrixBlock< 3 > imtuin
The Im{} input upper off-diagonal mse2.
Definition: SusyLesHouches.h:591
LHblock< double > imminpar
The RPV charged fermion mixing matrix.
Definition: SusyLesHouches.h:576
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
double m(const Vec4 &v1)
Invariant mass and its square.
Definition: Basics.cc:595
LHmatrixBlock< 3 > imtu
The output DRbar running mse2 at Q.
Definition: SusyLesHouches.h:600
LHmatrixBlock< 3 > nmhmix
The LHblock of NMSSM running parameters.
Definition: SusyLesHouches.h:613
************************* SLHA AUX CLASSES *****************************//
Definition: SusyLesHouches.h:26
LHmatrixBlock< 3 > msd2in
The input upper off-diagonal msu2.
Definition: SusyLesHouches.h:522
LHblock< string > dcinfo
Blocks for DCY program specific output.
Definition: SusyLesHouches.h:482
LHmatrixBlock< 3 > imupmns
The output DRbar running Im{VCKM} at Q.
Definition: SusyLesHouches.h:594
void clear()
Clear initialized flag.
Definition: SusyLesHouches.h:242
LHtensor3Block()
Constructor. Set uninitialized and explicitly zero.
Definition: SusyLesHouches.h:211
double getBrat()
Functions to get decay channel information.
Definition: SusyLesHouches.h:316
LHmatrixBlock< 4 > imcvhmix
The CPV Higgs mixing matrix.
Definition: SusyLesHouches.h:580
LHtensor3Block< 3 > rvlamlqd
The output LNV lambda couplings.
Definition: SusyLesHouches.h:559
LHblock< double > rvkappain
The input BNV T'' couplings.
Definition: SusyLesHouches.h:553
LHblock< double > rvsnvev
The output LNV m2LH1 couplings.
Definition: SusyLesHouches.h:567
LHdecayChannel getChannel(int iChannel)
Function to return a decay channel.
Definition: SusyLesHouches.h:375
LHmatrixBlock< 3 > snumix
The Re{} selectron mixing matrix.
Definition: SusyLesHouches.h:542
LHmatrixBlock< 5 > rvvmix
The RPV chargino L mixing matrix.
Definition: SusyLesHouches.h:570
vector< LHdecayTable > decays
************************ THE SLHA1 DECAY TABLES ************************//
Definition: SusyLesHouches.h:505
LHtensor3Block< 3 > rvtlle
The output BNV lambda'' couplings.
Definition: SusyLesHouches.h:561
LHblock< string > spinfo
Blocks for RGE program specific output.
Definition: SusyLesHouches.h:478
void setId(int idIn)
Functions to set PDG code (id) and width.
Definition: SusyLesHouches.h:340
LHmatrixBlock< 6 > imselmix
The Im{} down squark mixing matrix.
Definition: SusyLesHouches.h:603
LHmatrixBlock< 3 > tuin
The input upper off-diagonal mse2.
Definition: SusyLesHouches.h:525
LHmatrixBlock< 3 > msl2in
The input upper off-diagonal msd2.
Definition: SusyLesHouches.h:523
void list()
Simple print utility, to be elaborated on.
Definition: SusyLesHouches.h:189
bool isInt()
Generic functions to inquire whether an int, double, or string.
Definition: SusyLesHouches.h:433
LHmatrixBlock(const LHmatrixBlock &m)
Copy constructor.
Definition: SusyLesHouches.h:142
LHmatrixBlock< 3 > msd2
The output DRbar running msu2 at Q.
Definition: SusyLesHouches.h:533
void setq(double qIn)
Set and get scale for DRbar running LHblocks.
Definition: SusyLesHouches.h:185
Class for SLHA data entry.
Definition: SusyLesHouches.h:425
LHmatrixBlock< 6 > usqmix
The output DRbar running TE at Q.
Definition: SusyLesHouches.h:539
LHmatrixBlock< 6 > imusqmix
Im{} of TU, TD, TE.
Definition: SusyLesHouches.h:601
void setChannel(double bratIn, int nDaIn, vector< int > idDaIn, string cIn="")
Functions to set decay channel information.
Definition: SusyLesHouches.h:304
LHmatrixBlock< 3 > snamix
The scalar sneutrino mixing matrix.
Definition: SusyLesHouches.h:544
LHmatrixBlock< 3 > tu
The output DRbar running mse2 at Q.
Definition: SusyLesHouches.h:536