ATLAS Offline Software
Generators
Pythia8_i
src
UserProcesses
Sigma2qqbar2emu.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
9
#include "
Pythia8_i/UserProcessFactory.h
"
10
11
// calls to fortran routines
12
#include "CLHEP/Random/RandFlat.h"
13
14
#include <iostream>
15
#include <vector>
16
17
namespace
Pythia8
{
18
class
Sigma2qqbar2emu;
19
}
20
21
// This one line registers this process with the factory
22
// An instance of this process can be created with
23
// UserProcessFactory::create("qqbar2emu")
24
Pythia8_UserProcess::UserProcessFactory::Creator<Pythia8::Sigma2qqbar2emu>
qqbar2emuCreator
(
"qqbar2emu"
);
25
26
namespace
Pythia8
{
27
34
class
Sigma2qqbar2emu
:
public
Sigma2Process{
35
36
public
:
37
//Constructor.
38
Sigma2qqbar2emu
()
39
:
m_lambdaCoup
(0.),
m_sigmaTemp
(0.),
m_stop
(0.),
40
m_lambdaSqddbar
(0.),
m_lambdaSqdsbar
(0.),
m_lambdaSqsdbar
(0.),
m_lambdaSqssbar
(0.),
41
m_Nc
(0),
m_myRand
(0)
42
{}
43
44
46
void
initProc
() {
47
48
// Store parameters.
49
m_lambdaCoup
= 0.2;
50
m_Nc
= 3;
51
m_stop
= particleDataPtr->m0(1000006);
//95.5;
52
m_lambdaSqddbar
= 0.065;
53
m_lambdaSqdsbar
= 3.8e-5;
54
m_lambdaSqsdbar
= 3.8e-5;
55
m_lambdaSqssbar
= 0.065;
56
m_myRand
=
new
Rndm(1234567);
57
58
return
;
59
}
60
61
//*********
62
64
void
sigmaKin
() {
65
66
// The 2 out front is for e- mu+ plus e+ mu -
67
m_sigmaTemp
= 2./((
float
)
m_Nc
* 64. *
M_PI
);
68
69
return
;
70
}
71
72
//*********
73
75
double
sigmaHat
() {
76
77
double
lambdaSq = 0.;
78
if
((id1 == 1 &&
id2
== -1) || (id1 == -1 &&
id2
== 1)) lambdaSq =
m_lambdaSqddbar
;
79
else
if
((id1 == 1 &&
id2
== -3) || (id1 == -3 &&
id2
== 1)) lambdaSq =
m_lambdaSqdsbar
;
80
else
if
((id1 == 3 &&
id2
== -1) || (id1 == -1 &&
id2
== 3)) lambdaSq =
m_lambdaSqsdbar
;
81
else
if
((id1 == 3 &&
id2
== -3) || (id1 == -3 &&
id2
== 3)) lambdaSq =
m_lambdaSqssbar
;
82
double
sigma
= pow2(lambdaSq)*
m_sigmaTemp
*tH2/(sH2*pow2(tH-pow2(
m_stop
)));
83
return
sigma
;
84
}
85
86
//*********
87
88
// Select identity, colour and anticolour.
89
90
void
setIdColAcol
() {
91
92
// Flavours.
93
double
x
=
m_myRand
->flat();
94
if
(
x
< 0.5) setId( id1,
id2
, 11, -13);
95
else
setId( id1,
id2
, -11, 13);
96
97
// tH defined between f and LQ: must swap tHat <-> uHat if qbar q in.
98
swapTU = (id1 < 0);
99
100
//cab I don't understand what's done here.
101
// Colour flow topologies.
102
if
(id1 > 0) setColAcol( 1, 0, 0, 1, 0, 0, 0, 0);
103
else
setColAcol( 0, 1, 1, 0, 0, 0, 0, 0);
104
105
return
;
106
}
107
108
// Info on the subprocess.
109
std::string
name
()
const
{
return
"q qbar -> e mu (t:squark)"
;}
110
//cab Need Codes for q qbar -> e+- mu-+
111
int
code
()
const
{
return
10001;}
112
std::string
inFlux
()
const
{
return
"qq"
;}
113
//cab It looks like here is where the final state is specified
114
//cab electrons are +-11, muons are +-13
115
int
id3Mass
()
const
{
return
11;}
116
int
id4Mass
()
const
{
return
13;}
117
118
private
:
119
120
// Parameters set at initialization or for current kinematics.
121
double
m_lambdaCoup
,
m_sigmaTemp
,
m_stop
;
122
double
m_lambdaSqddbar
,
m_lambdaSqdsbar
,
m_lambdaSqsdbar
,
m_lambdaSqssbar
;
123
int
m_Nc
;
124
Rndm*
m_myRand
;
125
126
};
127
}
Pythia8::Sigma2qqbar2emu::m_myRand
Rndm * m_myRand
Definition:
Sigma2qqbar2emu.cxx:124
pdg_comparison.sigma
sigma
Definition:
pdg_comparison.py:324
Pythia8::Sigma2qqbar2emu::m_stop
double m_stop
Definition:
Sigma2qqbar2emu.cxx:121
Pythia8::Sigma2qqbar2emu::m_lambdaSqdsbar
double m_lambdaSqdsbar
Definition:
Sigma2qqbar2emu.cxx:122
Pythia8::Sigma2qqbar2emu::m_lambdaSqddbar
double m_lambdaSqddbar
Definition:
Sigma2qqbar2emu.cxx:122
M_PI
#define M_PI
Definition:
ActiveFraction.h:11
Pythia8::Sigma2qqbar2emu::name
std::string name() const
Definition:
Sigma2qqbar2emu.cxx:109
x
#define x
Pythia8::Sigma2qqbar2emu
Sigma1ql2LFV class.
Definition:
Sigma2qqbar2emu.cxx:34
Pythia8
Author: James Monk (jmonk@cern.ch)
Definition:
IPythia8Custom.h:13
Pythia8::Sigma2qqbar2emu::m_lambdaSqsdbar
double m_lambdaSqsdbar
Definition:
Sigma2qqbar2emu.cxx:122
Pythia8::Sigma2qqbar2emu::inFlux
std::string inFlux() const
Definition:
Sigma2qqbar2emu.cxx:112
id2
HWIdentifier id2
Definition:
LArRodBlockPhysicsV0.cxx:562
Pythia8::Sigma2qqbar2emu::m_sigmaTemp
double m_sigmaTemp
Definition:
Sigma2qqbar2emu.cxx:121
Pythia8::Sigma2qqbar2emu::setIdColAcol
void setIdColAcol()
Definition:
Sigma2qqbar2emu.cxx:90
UserProcessFactory.h
Pythia8::Sigma2qqbar2emu::sigmaKin
void sigmaKin()
Evaluate sigmaHat(sHat), part independent of incoming flavour.
Definition:
Sigma2qqbar2emu.cxx:64
Pythia8::Sigma2qqbar2emu::id4Mass
int id4Mass() const
Definition:
Sigma2qqbar2emu.cxx:116
Pythia8_UserProcess::UserProcessFactory::Creator
Definition:
UserProcessFactory.h:38
Pythia8::Sigma2qqbar2emu::id3Mass
int id3Mass() const
Definition:
Sigma2qqbar2emu.cxx:115
Pythia8::Sigma2qqbar2emu::Sigma2qqbar2emu
Sigma2qqbar2emu()
Definition:
Sigma2qqbar2emu.cxx:38
Pythia8::Sigma2qqbar2emu::code
int code() const
Definition:
Sigma2qqbar2emu.cxx:111
Pythia8::Sigma2qqbar2emu::m_Nc
int m_Nc
Definition:
Sigma2qqbar2emu.cxx:123
Pythia8::Sigma2qqbar2emu::m_lambdaSqssbar
double m_lambdaSqssbar
Definition:
Sigma2qqbar2emu.cxx:122
qqbar2emuCreator
Pythia8_UserProcess::UserProcessFactory::Creator< Pythia8::Sigma2qqbar2emu > qqbar2emuCreator("qqbar2emu")
Pythia8::Sigma2qqbar2emu::initProc
void initProc()
Initialize process.
Definition:
Sigma2qqbar2emu.cxx:46
Pythia8::Sigma2qqbar2emu::m_lambdaCoup
double m_lambdaCoup
Definition:
Sigma2qqbar2emu.cxx:121
readCCLHist.float
float
Definition:
readCCLHist.py:83
Pythia8::Sigma2qqbar2emu::sigmaHat
double sigmaHat()
Evaluate sigmaHat(sHat), part dependent of incoming flavour.
Definition:
Sigma2qqbar2emu.cxx:75
Generated on Thu Nov 7 2024 21:26:03 for ATLAS Offline Software by
1.8.18