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

Public Member Functions

 WprimeFlat ()
 
 ~WprimeFlat ()
 
virtual bool canModifySigma ()
 
virtual double multiplySigmaBy (const SigmaProcess *sigmaProcessPtr, const PhaseSpace *phaseSpacePtr, bool)
 

Private Attributes

Pythia8_UserHooks::UserSetting< int > m_energyMode
 User-settable mode to set the collision energy (default is 8) More...
 

Detailed Description

Definition at line 19 of file WprimeFlat.cxx.

Constructor & Destructor Documentation

◆ WprimeFlat()

Pythia8::WprimeFlat::WprimeFlat ( )
inline

Definition at line 24 of file WprimeFlat.cxx.

24 : m_energyMode("WprimeFlat:EnergyMode", 8){}

◆ ~WprimeFlat()

Pythia8::WprimeFlat::~WprimeFlat ( )
inline

Definition at line 27 of file WprimeFlat.cxx.

27 {}

Member Function Documentation

◆ canModifySigma()

virtual bool Pythia8::WprimeFlat::canModifySigma ( )
inlinevirtual

Definition at line 30 of file WprimeFlat.cxx.

30 {return true;}

◆ multiplySigmaBy()

virtual double Pythia8::WprimeFlat::multiplySigmaBy ( const SigmaProcess *  sigmaProcessPtr,
const PhaseSpace *  phaseSpacePtr,
bool   
)
inlinevirtual

Definition at line 33 of file WprimeFlat.cxx.

35  {
36  // All events should be 2 -> 1, but kill them if not.
37  if (sigmaProcessPtr->nFinal() != 1) return 0.;
38 
39  // Weight cross section with BW propagator, i.e. to remove it.
40  // (inEvent = false for initialization).
41  // No inEvent criteria, want weight both for cross section
42  // and MC generation.
43  int idRes = sigmaProcessPtr->resonanceA();
44  double mRes = particleDataPtr->m0(idRes);
45  double wRes = particleDataPtr->mWidth(idRes);
46  double m2Res = mRes*mRes;
47  double GamMRat = wRes/mRes;
48  double sHat = phaseSpacePtr->sHat();
49  double weightBW = pow2(sHat - m2Res) + pow2(sHat * GamMRat);
50  double m = std::sqrt(sHat)/((double)m_energyMode(settingsPtr)*1000.0);
51 
52  switch(m_energyMode(settingsPtr)){
53  case 8:
54  if(m < 0.0375){
55  weightBW *= 121.88e-12*std::exp(13.0*m);
56  }else{
57  weightBW *= 1.0e-12*std::exp(18.5*m-1.4*std::log(m));
58  }
59 
60  break;
61 
62  case 13:
63  if(m < 0.023){
64  weightBW *= 102.77e-12*std::exp(11.5*m);
65  }else if(m < 0.231){
66  weightBW *= 1.0e-12*std::exp(16.1*m-1.2*std::log(m));
67  }else{
68  weightBW *= 1.8675e-16*std::exp(31.7*m-4.6*std::log(m));
69  }
70  break;
71 
72  default:
73  throw std::runtime_error("Unknown WprimeFlat:EnergyMode - should be either 8 or 13!");
74 
75  }
76 
77  return weightBW;
78  }

Member Data Documentation

◆ m_energyMode

Pythia8_UserHooks::UserSetting<int> Pythia8::WprimeFlat::m_energyMode
private

User-settable mode to set the collision energy (default is 8)

Definition at line 83 of file WprimeFlat.cxx.


The documentation for this class was generated from the following file:
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
Pythia8::WprimeFlat::m_energyMode
Pythia8_UserHooks::UserSetting< int > m_energyMode
User-settable mode to set the collision energy (default is 8)
Definition: WprimeFlat.cxx:83
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
conifer::pow2
constexpr int pow2(int x)
Definition: conifer.h:24
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20