Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Core: uniformised collinear/kt PS generator implementations * MG5: added an interfacing plugin for external matrix elements computation * MG5: add capability to define particles aliases * MG5: making process a collinear one * MG5: cleanup of the initialisation procedure * MG5: fixed the particles ID retrieval from process, added new two-photon MG5 processes * MG5: both kt and collinear example cards for the 3 handled processes
- Loading branch information
1 parent
45857e1
commit db35a2c
Showing
17 changed files
with
915 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import Config.Core as cepgen | ||
import Config.ktProcess_cfi as kt | ||
from Config.generator_cff import generator | ||
#from Config.Logger_cfi import logger | ||
#logger.enabledModules += ('MadGraphProcess.eval',) | ||
|
||
#--- process definition | ||
process = kt.process.clone('mg5_aMC', | ||
processParameters = cepgen.Parameters( | ||
process = 'a a > mu+ mu-', | ||
# alternatively, if shared object is already generated | ||
#lib = 'libCepGenMadGraphProcess.so', | ||
# alternatively, if standalone_cpp directory is already generated | ||
#standaloneCppPath = '/tmp/cepgen_mg5_aMC', | ||
mode = cepgen.ProcessMode.ElasticElastic, | ||
), | ||
inKinematics = cepgen.Parameters( | ||
pz = (6500., 6500.), | ||
structureFunctions = cepgen.StructureFunctions.LUXlike, | ||
), | ||
outKinematics = kt.process.outKinematics.clone( | ||
qt = (0., 10.), | ||
#eta = (-2.5, 2.5), | ||
mx = (1.07, 1000.), | ||
pt = (25.,), | ||
), | ||
) | ||
|
||
#--- events generation | ||
generator.numEvents = 10000 | ||
|
||
text = cepgen.Module('text', # histogramming/ASCII output capability | ||
#variables = ['nev', 'm(4)', 'tgen'], | ||
histVariables={ | ||
'm(4)': cepgen.Parameters(xrange=(0., 250.), nbins=10, log=True), | ||
'pt(4)': cepgen.Parameters(xrange=(0., 25.), nbins=10, log=True), | ||
'pt(7):pt(8)': cepgen.Parameters(xrange=(0., 250.), yrange=(0., 250.), log=True) | ||
} | ||
) | ||
dump = cepgen.Module('dump', printEvery = generator.printEvery) | ||
output = cepgen.Sequence(text, dump) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
import Config.Core as cepgen | ||
import Config.collinearProcess_cfi as coll | ||
from Config.generator_cff import generator | ||
|
||
#--- process definition | ||
process = coll.process.clone('mg5_aMC', | ||
processParameters = cepgen.Parameters( | ||
process = 'a a > mu+ mu-', | ||
mode = cepgen.ProcessMode.ElasticElastic, | ||
), | ||
inKinematics = cepgen.Parameters( | ||
pz = (6500., 6500.), | ||
structureFunctions = cepgen.StructureFunctions.LUXlike, | ||
), | ||
outKinematics = coll.process.outKinematics.clone( | ||
q2 = (0., 10.), | ||
#eta = (-2.5, 2.5), | ||
mx = (1.07, 1000.), | ||
pt = (25.,), | ||
), | ||
) | ||
|
||
#--- events generation | ||
generator.numEvents = 10000 | ||
|
||
text = cepgen.Module('text', # histogramming/ASCII output capability | ||
histVariables={ | ||
'm(4)': cepgen.Parameters(xrange=(0., 250.), nbins=10, log=True), | ||
'pt(4)': cepgen.Parameters(xrange=(0., 25.), nbins=10, log=True), | ||
'pt(7):pt(8)': cepgen.Parameters(xrange=(0., 250.), yrange=(0., 250.), log=True) | ||
} | ||
) | ||
dump = cepgen.Module('dump', printEvery = generator.printEvery) | ||
output = cepgen.Sequence(text, dump) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
import Config.Core as cepgen | ||
import Config.ktProcess_cfi as kt | ||
from Config.generator_cff import generator | ||
|
||
#--- process definition | ||
process = kt.process.clone('mg5_aMC', | ||
processParameters = cepgen.Parameters( | ||
process = 'a a > t t~', | ||
# alternatively, if shared object is already generated | ||
#lib = 'libCepGenMadGraphProcess.so', | ||
# alternatively, if standalone_cpp directory is already generated | ||
#standaloneCppPath = '/tmp/cepgen_mg5_aMC', | ||
mode = cepgen.ProcessMode.ElasticElastic, | ||
), | ||
inKinematics = cepgen.Parameters( | ||
pz = (6500., 6500.), | ||
structureFunctions = cepgen.StructureFunctions.LUXlike, | ||
), | ||
outKinematics = kt.process.outKinematics.clone( | ||
qt = (0., 10.), | ||
#eta = (-2.5, 2.5), | ||
mx = (1.07, 1000.), | ||
pt = (0.,), | ||
), | ||
) | ||
|
||
#--- events generation | ||
generator.numEvents = 10000 | ||
|
||
text = cepgen.Module('text', # histogramming/ASCII output capability | ||
histVariables={ | ||
'm(4)': cepgen.Parameters(xrange=(0., 250.), nbins=10, log=True), | ||
'pt(4)': cepgen.Parameters(xrange=(0., 25.), nbins=10, log=True), | ||
'pt(7):pt(8)': cepgen.Parameters(xrange=(0., 250.), yrange=(0., 250.), log=True) | ||
} | ||
) | ||
dump = cepgen.Module('dump', printEvery = generator.printEvery) | ||
output = cepgen.Sequence(text, dump) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
import Config.Core as cepgen | ||
import Config.collinearProcess_cfi as coll | ||
from Config.generator_cff import generator | ||
|
||
#--- process definition | ||
process = coll.process.clone('mg5_aMC', | ||
processParameters = cepgen.Parameters( | ||
process = 'a a > t t~', | ||
mode = cepgen.ProcessMode.ElasticElastic, | ||
), | ||
inKinematics = cepgen.Parameters( | ||
pz = (6500., 6500.), | ||
structureFunctions = cepgen.StructureFunctions.LUXlike, | ||
), | ||
outKinematics = coll.process.outKinematics.clone( | ||
q2 = (0., 10.), | ||
#eta = (-2.5, 2.5), | ||
mx = (1.07, 1000.), | ||
pt = (0.,), | ||
), | ||
) | ||
|
||
#--- events generation | ||
generator.numEvents = 10000 | ||
|
||
text = cepgen.Module('text', # histogramming/ASCII output capability | ||
histVariables={ | ||
'm(4)': cepgen.Parameters(xrange=(0., 250.), nbins=10, log=True), | ||
'pt(4)': cepgen.Parameters(xrange=(0., 25.), nbins=10, log=True), | ||
'pt(7):pt(8)': cepgen.Parameters(xrange=(0., 250.), yrange=(0., 250.), log=True) | ||
} | ||
) | ||
dump = cepgen.Module('dump', printEvery = generator.printEvery) | ||
output = cepgen.Sequence(text, dump) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
import Config.Core as cepgen | ||
import Config.collinearProcess_cfi as coll | ||
from Config.generator_cff import generator | ||
|
||
#--- process definition | ||
process = coll.process.clone('mg5_aMC', | ||
processParameters = cepgen.Parameters( | ||
process = 'a a > w+ w-', | ||
mode = cepgen.ProcessMode.ElasticElastic, | ||
), | ||
inKinematics = cepgen.Parameters( | ||
pz = (6500., 6500.), | ||
structureFunctions = cepgen.StructureFunctions.LUXlike, | ||
), | ||
outKinematics = coll.process.outKinematics.clone( | ||
q2 = (0., 10.), | ||
#eta = (-2.5, 2.5), | ||
mx = (1.07, 1000.), | ||
pt = (0.,), | ||
), | ||
) | ||
|
||
#--- events generation | ||
generator.numEvents = 10000 | ||
|
||
text = cepgen.Module('text', # histogramming/ASCII output capability | ||
histVariables={ | ||
'm(4)': cepgen.Parameters(xrange=(0., 250.), nbins=10, log=True), | ||
'pt(4)': cepgen.Parameters(xrange=(0., 25.), nbins=10, log=True), | ||
'pt(7):pt(8)': cepgen.Parameters(xrange=(0., 250.), yrange=(0., 250.), log=True) | ||
} | ||
) | ||
dump = cepgen.Module('dump', printEvery = generator.printEvery) | ||
output = cepgen.Sequence(text, dump) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#--- linking with ProMC | ||
|
||
set(MADGRAPH_DIRS $ENV{MADGRAPH_DIR} /usr /usr/local) | ||
find_program(MADGRAPH_BIN NAMES mg5_aMC HINTS ${MADGRAPH_DIRS} PATH_SUFFIXES bin) | ||
if(MADGRAPH_BIN) | ||
else() | ||
return() | ||
endif() | ||
|
||
file(GLOB tmpl *.tpp) | ||
|
||
#----- build the object | ||
|
||
set(mg_defs) | ||
list(APPEND mg_defs "-DMADGRAPH_BIN=\"${MADGRAPH_BIN}\"") | ||
list(APPEND mg_defs "-DMADGRAPH_PROC_TMPL=\"${tmpl}\"") | ||
list(APPEND mg_defs "-DCC_CFLAGS=\"${CMAKE_CXX_COMPILER} ${CMAKE_CXX_FLAGS} -I${PROJECT_SOURCE_DIR}\"") | ||
|
||
cepgen_build(CepGenMadGraph | ||
SOURCES *.cpp | ||
EXT_LIBS stdc++fs | ||
DEPENDS ${MADGRAPH_BIN} | ||
DEFINITIONS ${mg_defs} | ||
TESTS test/*.cc | ||
INSTALL_COMPONENT madgraph) | ||
#target_compile_features(CepGenMadGraph PRIVATE cxx_range_for) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
/* | ||
* CepGen: a central exclusive processes event generator | ||
* Copyright (C) 2020-2022 Laurent Forthomme | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
// This file allows to link the MadGraph interfacing module without any process | ||
// generation performed by MG5_aMC. | ||
// Include it in your source file prior to any linking with libCepGenMadGraph. | ||
|
||
#include "CepGenAddOns/MadGraphWrapper/MadGraphProcess.h" | ||
|
||
class CPPProcess {}; | ||
namespace cepgen { | ||
MadGraphProcess::MadGraphProcess() : incoming_pdgids_{0, 0} {} | ||
MadGraphProcess::~MadGraphProcess() {} | ||
double MadGraphProcess::eval() { return 0.; } | ||
void MadGraphProcess::initialise(const std::string&) {} | ||
} // namespace cepgen | ||
|
Oops, something went wrong.