Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F19251647
LeptonLeptonPDF.cc
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
3 KB
Referenced Files
None
Subscribers
None
LeptonLeptonPDF.cc
View Options
// -*- C++ -*-
//
// LeptonLeptonPDF.cc is a part of ThePEG - Toolkit for HEP Event Generation
// Copyright (C) 1999-2007 Leif Lonnblad
//
// ThePEG is licenced under version 2 of the GPL, see COPYING for details.
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
//
//
// This is the implementation of the non-inlined, non-templated member
// functions of the LeptonLeptonPDF class.
//
#include
"LeptonLeptonPDF.h"
#include
"ThePEG/Persistency/PersistentOStream.h"
#include
"ThePEG/Persistency/PersistentIStream.h"
#include
"ThePEG/Utilities/Maths.h"
#include
"ThePEG/PDT/ParticleData.h"
#include
"ThePEG/Repository/EventGenerator.h"
#include
"ThePEG/StandardModel/StandardModelBase.h"
#include
"ThePEG/Interface/ClassDocumentation.h"
using
namespace
ThePEG
;
IBPtr
LeptonLeptonPDF
::
clone
()
const
{
return
new_ptr
(
*
this
);
}
IBPtr
LeptonLeptonPDF
::
fullclone
()
const
{
return
new_ptr
(
*
this
);
}
bool
LeptonLeptonPDF
::
canHandleParticle
(
tcPDPtr
particle
)
const
{
return
(
abs
(
particle
->
id
())
<
20
||
abs
(
particle
->
id
())
>
10
);
}
bool
LeptonLeptonPDF
::
hasPoleIn1
(
tcPDPtr
particle
,
tcPDPtr
parton
)
const
{
return
particle
==
parton
;
}
cPDVector
LeptonLeptonPDF
::
partons
(
tcPDPtr
p
)
const
{
cPDVector
ret
;
if
(
canHandleParticle
(
p
)
)
ret
.
push_back
(
p
);
return
ret
;
}
double
LeptonLeptonPDF
::
xfl
(
tcPDPtr
particle
,
tcPDPtr
parton
,
Energy2
partonScale
,
double
l
,
Energy2
)
const
{
using
namespace
Constants
;
if
(
parton
!=
particle
||
l
<=
0.0
)
return
0.0
;
static
const
double
gf
=
3.0
/
4.0
-
EulerGamma
;
const
double
x
=
exp
(
-
l
);
const
double
eps
=
Math
::
exp1m
(
-
l
);
const
double
lx
=
-
l
;
const
double
l1x
=
log
(
eps
);
const
double
beta2
=
SM
().
alphaEM
()
*
(
log
(
partonScale
/
sqr
(
particle
->
mass
()))
-
1.0
)
/
pi
;
return
x
*
(
exp
(
l1x
*
(
beta2
-
1.0
)
+
log
(
beta2
)
+
gf
*
beta2
)
/
Math
::
gamma
(
beta2
+
1.0
)
-
0.5
*
beta2
*
(
1.0
+
x
)
+
sqr
(
beta2
)
*
((
1.0
+
x
)
*
(
-
4.0
*
l1x
+
3.0
*
lx
)
-
4.0
*
lx
/
eps
-
5.0
-
x
)
/
8.0
);
}
double
LeptonLeptonPDF
::
xfvl
(
tcPDPtr
particle
,
tcPDPtr
parton
,
Energy2
partonScale
,
double
l
,
Energy2
particleScale
)
const
{
return
xfl
(
particle
,
parton
,
partonScale
,
l
,
particleScale
);
}
double
LeptonLeptonPDF
::
xfvx
(
tcPDPtr
particle
,
tcPDPtr
parton
,
Energy2
partonScale
,
double
x
,
double
eps
,
Energy2
particleScale
)
const
{
using
Math
::
log1m
;
return
xfl
(
particle
,
parton
,
partonScale
,
(
x
<
0.5
||
eps
<=
0.0
)
?
-
log
(
x
)
:
-
log1m
(
eps
),
particleScale
);
}
double
LeptonLeptonPDF
::
flattenL
(
tcPDPtr
particle
,
tcPDPtr
,
const
PDFCuts
&
c
,
double
z
,
double
&
jacobian
)
const
{
using
namespace
Constants
;
using
Math
::
log1m
;
Energy2
scale
=
min
(
c
.
sMax
(),
c
.
scaleMax
());
if
(
c
.
scaleMin
()
>
0.0
*
GeV2
)
scale
=
min
(
scale
,
c
.
scaleMin
());
double
beta2
=
SM
().
alphaEM
()
*
(
log
(
scale
/
sqr
(
particle
->
mass
()))
-
1.0
)
/
pi
;
// double zpow = pow(z, 1.0/beta2);
// jacobian = zpow/(1.0/beta2+1);
// return z*zpow;
// double l = pow(z, 1.0/beta2);
// jacobian = l/(z*beta2);
// z = max(z, pow(std::numeric_limits<double>::min()*1.5, beta2));
double
eps
=
pow
(
z
,
1.0
/
beta2
);
double
l
=
-
log1m
(
eps
);
jacobian
*=
eps
/
(
beta2
*
z
*
(
1.0
-
eps
));
return
l
;
}
NoPIOClassDescription
<
LeptonLeptonPDF
>
LeptonLeptonPDF
::
initLeptonLeptonPDF
;
void
LeptonLeptonPDF
::
Init
()
{
static
ClassDocumentation
<
LeptonLeptonPDF
>
documentation
(
"Describes the distribution of leptons within leptons, ie. the energy "
"loss of leptons due to radiation of soft photons."
);
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Tue, Sep 30, 6:08 AM (1 d, 9 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6566440
Default Alt Text
LeptonLeptonPDF.cc (3 KB)
Attached To
Mode
rTHEPEGHG thepeghg
Attached
Detach File
Event Timeline
Log In to Comment