From 083a67986980448c28a37172ae05e0915b4feb3d Mon Sep 17 00:00:00 2001 From: Ezra Lesser Date: Tue, 4 Jul 2023 14:37:44 -0700 Subject: [PATCH 1/4] Add parameter for non-default mass assumptions --- cpptools/src/pythiafjext/pyfjtools.cxx | 23 +++++++++++++++-------- cpptools/src/pythiafjext/pyfjtools.hh | 7 ++++--- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/cpptools/src/pythiafjext/pyfjtools.cxx b/cpptools/src/pythiafjext/pyfjtools.cxx index c4aa6df..98f5d72 100644 --- a/cpptools/src/pythiafjext/pyfjtools.cxx +++ b/cpptools/src/pythiafjext/pyfjtools.cxx @@ -31,11 +31,12 @@ namespace pythiafjtools{ return v; } - std::vector vectorize_select(const Pythia8::Pythia &pythia, - int *selection, + std::vector vectorize_select(const Pythia8::Pythia &pythia, + int *selection, int nsel, - int user_index_offset, - bool add_particle_info) + int user_index_offset/* = 0*/, + bool add_particle_info/* = false*/, + float particle_mass/* = -1*/) { std::vector v; std::bitset mask(0); // no particle accepted @@ -99,15 +100,21 @@ namespace pythiafjtools{ // std::cout << "[+] "; // else // std::cout << "[-] "; - // std::cout + // std::cout // << ip << " " // << mask << " !-" << negmask << " " << pmask << " " << " " << "(mask & pmask) " << (mask & pmask) << " " // << "isFinal = " << pythia.event[ip].isFinal() << " " - // << pythia.event[ip].name() + // << pythia.event[ip].name() // << std::endl; if (accept) { - fastjet::PseudoJet psj(pythia.event[ip].px(), pythia.event[ip].py(), pythia.event[ip].pz(), pythia.event[ip].e()); + double particle_e = 0; + if (particle_mass < 0) { // default case, use true particle mass + particle_e = pythia.event[ip].e(); + } else { // use E^2 = p^2 + m^2 + particle_e = std::pow(std::pow(pythia.event[ip].px(), 2) + std::pow(pythia.event[ip].py(), 2) + std::pow(pythia.event[ip].pz(), 2) + std::pow(particle_mass, 2), 0.5); + } + fastjet::PseudoJet psj(pythia.event[ip].px(), pythia.event[ip].py(), pythia.event[ip].pz(), particle_e); psj.set_user_index(ip + user_index_offset); if (add_particle_info) { @@ -116,7 +123,7 @@ namespace pythiafjtools{ } v.push_back(psj); } - } + } return v; } diff --git a/cpptools/src/pythiafjext/pyfjtools.hh b/cpptools/src/pythiafjext/pyfjtools.hh index 5eb8b34..78d3a35 100644 --- a/cpptools/src/pythiafjext/pyfjtools.hh +++ b/cpptools/src/pythiafjext/pyfjtools.hh @@ -29,10 +29,11 @@ namespace pythiafjtools{ kMaxSetting }; - std::vector vectorize_select( const Pythia8::Pythia &p, - int *selection, int nsel, + std::vector vectorize_select( const Pythia8::Pythia &p, + int *selection, int nsel, int user_index_offset = 0, - bool add_particle_info = false); + bool add_particle_info = false, + float particle_mass = -1); // implemented in fjtools // double angularity(const fastjet::PseudoJet &j, double alpha, double scaleR0 = 1.); From c84daf5fe87f6ab66d2f04848b0d9f0b74b0fb83 Mon Sep 17 00:00:00 2001 From: Ezra Lesser Date: Wed, 28 Feb 2024 13:05:49 +0000 Subject: [PATCH 2/4] Update to fjcontrib v1.053 (requires removing nonsense files from tarball) --- cpptools/src/fjcontrib/CMakeLists.txt | 2 +- cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh | 6 +++++- cpptools/src/pythiafjext/pythiafjext.i | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cpptools/src/fjcontrib/CMakeLists.txt b/cpptools/src/fjcontrib/CMakeLists.txt index 8f7ea2a..f40d7b8 100644 --- a/cpptools/src/fjcontrib/CMakeLists.txt +++ b/cpptools/src/fjcontrib/CMakeLists.txt @@ -1,5 +1,5 @@ message( STATUS "CMAKE_CURRENT_SOURCE_DIR: ${CMAKE_CURRENT_SOURCE_DIR}") -set(fjcontrib_version "1.051") +set(fjcontrib_version "1.053") execute_process ( COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/buildtools/get_fj_contrib.sh ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/buildtools diff --git a/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh b/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh index 41e0d1f..fe16836 100755 --- a/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh +++ b/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh @@ -6,7 +6,7 @@ if [ ! -z ${wdir} ]; then [ ! -d ${wdir} ] && mkdir -p ${wdir} fi -fjcontrib_version=1.051 +fjcontrib_version=1.053 [ ! -z ${3} ] && fjcontrib_version=${3} if [ -d ${srcdir} ]; then @@ -19,6 +19,7 @@ if [ -d ${srcdir} ]; then if [ ! -d ${srcdir}/fjcontrib-${fjcontrib_version}/RecursiveTools ]; then cd ${srcdir} tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/RecursiveTools + rm fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles rm fjcontrib-${fjcontrib_version}/RecursiveTools/example_*.cc patch fjcontrib-${fjcontrib_version}/RecursiveTools/RecursiveSymmetryCutBase.hh -i ${srcdir}/patches/RecursiveSymmetryCutBase.patch fi @@ -30,6 +31,7 @@ if [ -d ${srcdir} ]; then if [ ! -d ${srcdir}/fjcontrib-${fjcontrib_version}/LundPlane ]; then cd ${srcdir} tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/LundPlane + rm fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles rm fjcontrib-${fjcontrib_version}/LundPlane/example_*.cc patch fjcontrib-${fjcontrib_version}/LundPlane/SecondaryLund.hh -i ${srcdir}/patches/SecondaryLund.patch patch fjcontrib-${fjcontrib_version}/LundPlane/LundGenerator.hh -i ${srcdir}/patches/LundGenerator.patch @@ -44,6 +46,7 @@ if [ -d ${srcdir} ]; then if [ ! -d ${srcdir}/fjcontrib-${fjcontrib_version}/ConstituentSubtractor ]; then cd ${srcdir} tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/ConstituentSubtractor + rm fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles rm fjcontrib-${fjcontrib_version}/ConstituentSubtractor/example_*.cc fi @@ -51,6 +54,7 @@ if [ -d ${srcdir} ]; then if [ ! -d ${srcdir}/fjcontrib-${fjcontrib_version}/Nsubjettiness ]; then cd ${srcdir} tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/Nsubjettiness + rm fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles rm fjcontrib-${fjcontrib_version}/Nsubjettiness/example_*.cc patch fjcontrib-${fjcontrib_version}/Nsubjettiness/MeasureDefinition.hh -i ${srcdir}/patches/MeasureDefinition.patch patch fjcontrib-${fjcontrib_version}/Nsubjettiness/AxesDefinition.hh -i ${srcdir}/patches/AxesDefinition.patch diff --git a/cpptools/src/pythiafjext/pythiafjext.i b/cpptools/src/pythiafjext/pythiafjext.i index bfb3508..faf896d 100644 --- a/cpptools/src/pythiafjext/pythiafjext.i +++ b/cpptools/src/pythiafjext/pythiafjext.i @@ -20,3 +20,4 @@ %apply (int* IN_ARRAY1, int DIM1) {(int* selection, int nsel)}; %include "pyfjtools.hh" %clear (int* selection, int nsel); +%template(FJPSJVec) std::vector; From 36c7913c4dd2e21dc7bd1d361023e7d5dbe07e25 Mon Sep 17 00:00:00 2001 From: Ezra Lesser Date: Wed, 28 Feb 2024 13:13:16 +0000 Subject: [PATCH 3/4] Silence unneeded tar warnings --- .../src/fjcontrib/buildtools/get_fj_contrib.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh b/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh index fe16836..02fa6ab 100755 --- a/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh +++ b/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh @@ -18,8 +18,7 @@ if [ -d ${srcdir} ]; then # RecursiveTools if [ ! -d ${srcdir}/fjcontrib-${fjcontrib_version}/RecursiveTools ]; then cd ${srcdir} - tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/RecursiveTools - rm fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles + tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/RecursiveTools --warning=no-unknown-keyword rm fjcontrib-${fjcontrib_version}/RecursiveTools/example_*.cc patch fjcontrib-${fjcontrib_version}/RecursiveTools/RecursiveSymmetryCutBase.hh -i ${srcdir}/patches/RecursiveSymmetryCutBase.patch fi @@ -30,8 +29,7 @@ if [ -d ${srcdir} ]; then # LundPlane if [ ! -d ${srcdir}/fjcontrib-${fjcontrib_version}/LundPlane ]; then cd ${srcdir} - tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/LundPlane - rm fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles + tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/LundPlane --warning=no-unknown-keyword rm fjcontrib-${fjcontrib_version}/LundPlane/example_*.cc patch fjcontrib-${fjcontrib_version}/LundPlane/SecondaryLund.hh -i ${srcdir}/patches/SecondaryLund.patch patch fjcontrib-${fjcontrib_version}/LundPlane/LundGenerator.hh -i ${srcdir}/patches/LundGenerator.patch @@ -45,20 +43,21 @@ if [ -d ${srcdir} ]; then # ConstituentSubtractor if [ ! -d ${srcdir}/fjcontrib-${fjcontrib_version}/ConstituentSubtractor ]; then cd ${srcdir} - tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/ConstituentSubtractor - rm fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles + tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/ConstituentSubtractor --warning=no-unknown-keyword rm fjcontrib-${fjcontrib_version}/ConstituentSubtractor/example_*.cc fi # Nsubjettiness if [ ! -d ${srcdir}/fjcontrib-${fjcontrib_version}/Nsubjettiness ]; then cd ${srcdir} - tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/Nsubjettiness - rm fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles + tar zxvf ${wdir}/fjcontrib-${fjcontrib_version}.tar.gz fjcontrib-${fjcontrib_version}/Nsubjettiness --warning=no-unknown-keyword rm fjcontrib-${fjcontrib_version}/Nsubjettiness/example_*.cc patch fjcontrib-${fjcontrib_version}/Nsubjettiness/MeasureDefinition.hh -i ${srcdir}/patches/MeasureDefinition.patch patch fjcontrib-${fjcontrib_version}/Nsubjettiness/AxesDefinition.hh -i ${srcdir}/patches/AxesDefinition.patch fi + + rm fjcontrib-${fjcontrib_version}/.[!.]* fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles + fi fi fi From de555e46a84cf355e9125b1ac7b08591429f6f13 Mon Sep 17 00:00:00 2001 From: Ezra Lesser Date: Wed, 28 Feb 2024 13:38:27 +0000 Subject: [PATCH 4/4] spaces --> tabs --- cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh b/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh index 02fa6ab..c14f6d4 100755 --- a/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh +++ b/cpptools/src/fjcontrib/buildtools/get_fj_contrib.sh @@ -56,7 +56,7 @@ if [ -d ${srcdir} ]; then patch fjcontrib-${fjcontrib_version}/Nsubjettiness/AxesDefinition.hh -i ${srcdir}/patches/AxesDefinition.patch fi - rm fjcontrib-${fjcontrib_version}/.[!.]* fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles + rm fjcontrib-${fjcontrib_version}/.[!.]* fjcontrib-${fjcontrib_version}/*/.[!.]* # Remove unnecessary dotfiles fi fi