ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Pythia8::ResonanceExcitedCI Class Reference
Inheritance diagram for Pythia8::ResonanceExcitedCI:
Collaboration diagram for Pythia8::ResonanceExcitedCI:

Public Member Functions

 ResonanceExcitedCI (int idResIn)
 

Private Member Functions

void initConstants ()
 
void calcPreFac (bool)
 
void calcWidth (bool)
 

Private Attributes

double m_lambda
 
double m_coupF
 
double m_coupFprime
 
double m_coupFcol
 
double m_sin2tW
 
double m_cos2tW
 

Detailed Description

Definition at line 21 of file ResonanceExcitedCI.cxx.

Constructor & Destructor Documentation

◆ ResonanceExcitedCI()

Pythia8::ResonanceExcitedCI::ResonanceExcitedCI ( int  idResIn)
inline

Definition at line 26 of file ResonanceExcitedCI.cxx.

26  :
27  m_lambda(0.), m_coupF(0.), m_coupFprime(0.), m_coupFcol(0.),
28  m_sin2tW(0.), m_cos2tW(0.){
29  initBasic(idResIn); std::cout << " ResonanceExcitedCI constructor\n";
30  }

Member Function Documentation

◆ calcPreFac()

void Pythia8::ResonanceExcitedCI::calcPreFac ( bool  )
inlineprivate

Definition at line 56 of file ResonanceExcitedCI.cxx.

56  {
57  // Common coupling factors.
58 #ifdef PYTHIA_VERSION_INTEGER
59  #if PYTHIA_VERSION_INTEGER > 8300
60  CoupSM* couplingsPtr = infoPtr->coupSMPtr;
61  #endif
62 #endif
63  alpEM = couplingsPtr->alphaEM(mHat * mHat);
64  alpS = couplingsPtr->alphaS(mHat * mHat);
65  preFac = pow3(mHat) / pow2(m_lambda);
66 
67  return;
68  }

◆ calcWidth()

void Pythia8::ResonanceExcitedCI::calcWidth ( bool  )
inlineprivate

Definition at line 74 of file ResonanceExcitedCI.cxx.

74  {
75 
76  // Check that above threshold.
77  if (ps == 0.) return;
78 
79  // f^* -> f g.
80  if (id1Abs == 21) widNow = preFac * alpS * pow2(m_coupFcol) / 3.;
81 
82  // f^* -> f gamma.
83  else if (id1Abs == 22) {
84  double chgI3 = (id2Abs%2 == 0) ? 0.5 : -0.5;
85  double chgY = (id2Abs < 9) ? 1. / 6. : -0.5;
86  double chg = chgI3 * m_coupF + chgY * m_coupFprime;
87  widNow = preFac * alpEM * pow2(chg) / 4.;
88  }
89  // f^* -> f Z^0.
90  else if (id1Abs == 23) {
91  double chgI3 = (id2Abs%2 == 0) ? 0.5 : -0.5;
92  double chgY = (id2Abs < 9) ? 1. / 6. : -0.5;
93  double chg = chgI3 * m_cos2tW * m_coupF - chgY * m_sin2tW * m_coupFprime;
94  widNow = preFac * (alpEM * pow2(chg) / (8. * m_sin2tW * m_cos2tW))
95  * ps*ps * (2. + mr1);
96  }
97 
98  // f^* -> f' W^+-.
99  else if (id1Abs == 24) widNow = preFac * (alpEM * pow2(m_coupF)
100  / (16. * m_sin2tW)) * ps*ps * (2. + mr1);
101  // idxAbs are sorted according to their abs value ; use idRes
102 
103  // f^* -> f f' \bar{f'}
104  else {
105  //std::cout << " hei! in ResonanceExcitedCI processing F* -> f f'f'bar decays "<< id1Abs <<" "<<id2Abs<<" "<<id3Abs<< "\n";
106 
107  if( id1Abs < 17 && id2Abs < 17 && id3Abs>0 && id3Abs < 17 ){ // f* -> f f'\bar(f'} decay
108  widNow = preFac * pow2(mHat) / pow2(m_lambda) / 96. / M_PI ;
109  if( id3Abs < 10 ) widNow *= 3.; // quarks in final state. id1 is highest pdgId of f, f'
110  if( id1Abs == id2Abs && id1Abs == id3Abs ){
111  if( std::abs(idRes)-4000000 < 10 ) widNow *= 4./3.;
112  else widNow *= 2.;
113  }
114  }
115  }
116 
117  return;
118  }

◆ initConstants()

void Pythia8::ResonanceExcitedCI::initConstants ( )
inlineprivate

Definition at line 34 of file ResonanceExcitedCI.cxx.

34  {
35 
36  // Locally stored properties and couplings.
37  m_lambda = settingsPtr->parm("ExcitedFermion:Lambda");
38  m_coupF = settingsPtr->parm("ExcitedFermion:coupF");
39  m_coupFprime = settingsPtr->parm("ExcitedFermion:coupFprime");
40  m_coupFcol = settingsPtr->parm("ExcitedFermion:coupFcol");
41 #ifdef PYTHIA_VERSION_INTEGER
42  #if PYTHIA_VERSION_INTEGER > 8300
43  CoupSM* couplingsPtr = infoPtr->coupSMPtr;
44  #endif
45 #endif
46  m_sin2tW = couplingsPtr->sin2thetaW();
47  m_cos2tW = 1. - m_sin2tW;
48 
49  return;
50  }

Member Data Documentation

◆ m_cos2tW

double Pythia8::ResonanceExcitedCI::m_cos2tW
private

Definition at line 121 of file ResonanceExcitedCI.cxx.

◆ m_coupF

double Pythia8::ResonanceExcitedCI::m_coupF
private

Definition at line 121 of file ResonanceExcitedCI.cxx.

◆ m_coupFcol

double Pythia8::ResonanceExcitedCI::m_coupFcol
private

Definition at line 121 of file ResonanceExcitedCI.cxx.

◆ m_coupFprime

double Pythia8::ResonanceExcitedCI::m_coupFprime
private

Definition at line 121 of file ResonanceExcitedCI.cxx.

◆ m_lambda

double Pythia8::ResonanceExcitedCI::m_lambda
private

Definition at line 121 of file ResonanceExcitedCI.cxx.

◆ m_sin2tW

double Pythia8::ResonanceExcitedCI::m_sin2tW
private

Definition at line 121 of file ResonanceExcitedCI.cxx.


The documentation for this class was generated from the following file:
Pythia8::ResonanceExcitedCI::m_coupFprime
double m_coupFprime
Definition: ResonanceExcitedCI.cxx:121
Pythia8::ResonanceExcitedCI::m_coupFcol
double m_coupFcol
Definition: ResonanceExcitedCI.cxx:121
Pythia8::ResonanceExcitedCI::m_lambda
double m_lambda
Definition: ResonanceExcitedCI.cxx:121
M_PI
#define M_PI
Definition: ActiveFraction.h:11
conifer::pow2
constexpr int pow2(int x)
Definition: conifer.h:24
Pythia8::ResonanceExcitedCI::m_cos2tW
double m_cos2tW
Definition: ResonanceExcitedCI.cxx:121
Pythia8::ResonanceExcitedCI::m_coupF
double m_coupF
Definition: ResonanceExcitedCI.cxx:121
Pythia8::ResonanceExcitedCI::m_sin2tW
double m_sin2tW
Definition: ResonanceExcitedCI.cxx:121