cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
FactorisedProcess.h
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2023-2024 Laurent Forthomme
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#ifndef CepGen_Process_FactorisedProcess_h
20
#define CepGen_Process_FactorisedProcess_h
21
22
#include "
CepGen/Process/PhaseSpaceGenerator.h
"
23
#include "
CepGen/Process/Process.h
"
24
25
namespace
cepgen
{
26
namespace
proc {
33
class
FactorisedProcess
:
public
Process
{
34
public
:
38
explicit
FactorisedProcess
(
const
ParametersList
& params,
const
spdgids_t
&
output
);
39
FactorisedProcess
(
const
FactorisedProcess
&);
40
41
double
computeWeight
()
override
;
42
void
fillKinematics
()
override
final
;
43
44
static
ParametersDescription
description
();
45
46
protected
:
47
void
addEventContent
()
override
;
48
void
prepareKinematics
()
override
final
;
49
50
virtual
void
prepareFactorisedPhaseSpace
() = 0;
51
virtual
double
computeFactorisedMatrixElement
() = 0;
52
53
//--- Mandelstam variables
54
double
that
()
const
;
55
double
uhat
()
const
;
56
58
const
std::unique_ptr<PhaseSpaceGenerator>
psgen_
;
59
const
bool
symmetrise_
;
60
const
bool
store_alphas_
;
61
62
private
:
63
double
kin_prefactor_{1.};
64
};
65
}
// namespace proc
66
}
// namespace cepgen
67
68
#endif
PhaseSpaceGenerator.h
Process.h
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::proc::FactorisedProcess
Generic parton emission-factorised process.
Definition
FactorisedProcess.h:33
cepgen::proc::FactorisedProcess::that
double that() const
Definition
FactorisedProcess.cpp:124
cepgen::proc::FactorisedProcess::symmetrise_
const bool symmetrise_
Definition
FactorisedProcess.h:59
cepgen::proc::FactorisedProcess::prepareFactorisedPhaseSpace
virtual void prepareFactorisedPhaseSpace()=0
Prepare central part of the Jacobian after kinematics is set.
cepgen::proc::FactorisedProcess::psgen_
const std::unique_ptr< PhaseSpaceGenerator > psgen_
Kinematic variables generator for the phase space coverage.
Definition
FactorisedProcess.h:58
cepgen::proc::FactorisedProcess::fillKinematics
void fillKinematics() override final
Fill the Event object with the particles' kinematics.
Definition
FactorisedProcess.cpp:93
cepgen::proc::FactorisedProcess::prepareKinematics
void prepareKinematics() override final
Compute the incoming state kinematics.
Definition
FactorisedProcess.cpp:57
cepgen::proc::FactorisedProcess::uhat
double uhat() const
Definition
FactorisedProcess.cpp:126
cepgen::proc::FactorisedProcess::description
static ParametersDescription description()
Definition
FactorisedProcess.cpp:128
cepgen::proc::FactorisedProcess::computeFactorisedMatrixElement
virtual double computeFactorisedMatrixElement()=0
Factorised matrix element (event weight)
cepgen::proc::FactorisedProcess::addEventContent
void addEventContent() override
Set the incoming and outgoing state to be expected in the process.
Definition
FactorisedProcess.cpp:47
cepgen::proc::FactorisedProcess::store_alphas_
const bool store_alphas_
Definition
FactorisedProcess.h:60
cepgen::proc::FactorisedProcess::computeWeight
double computeWeight() override
Compute the phase space point weight.
Definition
FactorisedProcess.cpp:85
cepgen::proc::Process
Class template to define any process to compute using this MC integrator/events generator.
Definition
Process.h:34
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
cepgen::spdgids_t
std::vector< spdgid_t > spdgids_t
Definition
ParticleProperties.h:29
output
Definition
output.py:1
CepGen
Process
FactorisedProcess.h
Generated on Mon Jul 29 2024 for CepGen by
1.9.7