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:197
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:1668
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:587
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