diff --git a/Processes/Sibyll/CMakeLists.txt b/Processes/Sibyll/CMakeLists.txt index 0f31d5c6b6e40c98e0e08b31db8393b79dbd717e..f57b022f4b606f6bd27341259bc8732080270a6d 100644 --- a/Processes/Sibyll/CMakeLists.txt +++ b/Processes/Sibyll/CMakeLists.txt @@ -21,17 +21,17 @@ set ( Interaction.cc Decay.cc NuclearInteraction.cc - sibyll2.3c.f + sibyll2.3d.f nuclib.f signuc.f - sibyll2.3c.cc + sibyll2.3d.cc gasdev.f ) set ( MODEL_HEADERS ParticleConversion.h - sibyll2.3c.h + sibyll2.3d.h nuclib.h SibStack.h Decay.h diff --git a/Processes/Sibyll/Interaction.cc b/Processes/Sibyll/Interaction.cc index 9f0d210ca8db8a9d4875e7a2b42c647148f8c7e6..916ea2ec0829f6de41b4055428bac17b78f0fb62 100644 --- a/Processes/Sibyll/Interaction.cc +++ b/Processes/Sibyll/Interaction.cc @@ -15,7 +15,7 @@ #include <corsika/geometry/FourVector.h> #include <corsika/process/sibyll/ParticleConversion.h> #include <corsika/process/sibyll/SibStack.h> -#include <corsika/process/sibyll/sibyll2.3c.h> +#include <corsika/process/sibyll/sibyll2.3d.h> #include <corsika/setup/SetupStack.h> #include <corsika/setup/SetupTrajectory.h> #include <corsika/utl/COMBoost.h> diff --git a/Processes/Sibyll/SibStack.h b/Processes/Sibyll/SibStack.h index f0d979547c80f3bf45ae176f88b73a0dee75f590..86956435bacf36b1675a4ecd0deb7359995a48e2 100644 --- a/Processes/Sibyll/SibStack.h +++ b/Processes/Sibyll/SibStack.h @@ -14,7 +14,7 @@ #include <corsika/geometry/RootCoordinateSystem.h> #include <corsika/geometry/Vector.h> #include <corsika/process/sibyll/ParticleConversion.h> -#include <corsika/process/sibyll/sibyll2.3c.h> +#include <corsika/process/sibyll/sibyll2.3d.h> #include <corsika/stack/Stack.h> #include <corsika/units/PhysicalUnits.h> diff --git a/Processes/Sibyll/sibyll2.3c.cc b/Processes/Sibyll/sibyll2.3d.cc similarity index 93% rename from Processes/Sibyll/sibyll2.3c.cc rename to Processes/Sibyll/sibyll2.3d.cc index 7cb2c027dc45948c5db2eeae473bc883305b604b..2bfb2ef9c078c0b871f8c0a89567bd67cda75c76 100644 --- a/Processes/Sibyll/sibyll2.3c.cc +++ b/Processes/Sibyll/sibyll2.3d.cc @@ -8,7 +8,7 @@ * the license. */ -#include <corsika/process/sibyll/sibyll2.3c.h> +#include <corsika/process/sibyll/sibyll2.3d.h> #include <corsika/random/RNGManager.h> #include <random> diff --git a/Processes/Sibyll/sibyll2.3c.f b/Processes/Sibyll/sibyll2.3d.f similarity index 99% rename from Processes/Sibyll/sibyll2.3c.f rename to Processes/Sibyll/sibyll2.3d.f index 2073dcfbe6fdc9c2c08fafda23ed1e6503790cc2..8fccb7a42026eef3621cd80ef20797e27a65a4e1 100644 --- a/Processes/Sibyll/sibyll2.3c.f +++ b/Processes/Sibyll/sibyll2.3d.f @@ -7,12 +7,13 @@ C SSSSSS IIIIIII BBBBB YY LLLLLLL LLLLLLL C======================================================================= C Code for SIBYLL: hadronic interaction Monte Carlo event generator C======================================================================= -C Version 2.3c03 (Jun-01-2017, modified Aug-22-2019) +C Version 2.3d (Jun-01-2017, modified May-20-2020) C C with CHARM production C C By Eun-Joo Ahn C Ralph Engel +C A. Fedynitch C R.S. Fletcher C T.K. Gaisser C Paolo Lipari @@ -26,12 +27,14 @@ C C For a correct copy contact: C sein@fnal.gov C ralph.engel@kit.edu +C afedynitch@gmail.com C gaisser@bartol.udel.edu C paolo.lipari@roma1.infn.it C friehn@lip.pt C stanev@bartol.udel.edu C C last changes relative to Sibyll 2.3c: +C * no pi0 suppression in minijets C * added cross section tables for hadron-nitrogen and hadron-oxygen C (changed S_CCSIG common) C * no remnant in high mass diff. events (pi0-had scattering) @@ -458,20 +461,18 @@ C----------------------------------------------------------------------- WRITE(*,100) 100 FORMAT(' ','====================================================', * /,' ','| |', - * /,' ','| S I B Y L L 2.3c |', + * /,' ','| S I B Y L L 2.3d |', * /,' ','| |', * /,' ','| HADRONIC INTERACTION MONTE CARLO |', * /,' ','| BY |', * /,' ','| Eun-Joo AHN, Felix RIEHN |', - * /,' ','| R. ENGEL, R.S. FLETCHER, T.K. GAISSER |', - * /,' ','| P. LIPARI, T. STANEV |', + * /,' ','| R. ENGEL, A. FEDYNITCH, R.S. FLETCHER, |', + * /,' ','| T.K. GAISSER, P. LIPARI, T. STANEV |', * /,' ','| |', * /,' ','| Publication to be cited when using this program: |', * /,' ','| Eun-Joo AHN et al., Phys.Rev. D80 (2009) 094003 |', - * /,' ','| F. RIEHN et al., Proc. 35th Int. Cosmic Ray Conf.|', - * /,' ','| Bexco, Busan, Korea, cont. 301 (2017) |', - * /,' ','| |', - * /,' ','| last modifications: F. Riehn (08/22/2019) |', + * /,' ','| F. RIEHN et al., hep-ph: 1912.03300 |', + * /,' ','| last modifications: F. Riehn (05/20/2020) |', * /,' ','====================================================', * /) @@ -851,7 +852,7 @@ c 23rc5.4frgB1 aka retune5 aka Sibyll 2.3.5 IPAR(92) = 1 IPAR(93) = 1 IPAR(94) = 0 - IPAR(95) = 0 + IPAR(95) = 1 IPAR(96) = 0 IPAR(97) = 0 IPAR(98) = 0 @@ -10313,7 +10314,7 @@ C f = 1/(1+exp((x-x0)/alpha)) C----------------------------------------------------------------------- IMPLICIT NONE c externals - DOUBLE PRECISION XARG,X0,XALPH + DOUBLE PRECISION XARG,X0,XALPH,XE c COMMONs C-------------------------------------------------------------------- @@ -10331,7 +10332,8 @@ C-------------------------------------------------------------------- SAVE c internals - fermi=1.D0+exp((xarg-x0)/xalph) + xe = max((xarg-x0)/xalph,-10.D0) + fermi=1.D0+exp(xe) fermi=1.D0/fermi END C======================================================================= @@ -10591,7 +10593,8 @@ C-------------------------------------------------------------------- & PAR1_def,PAR24_def,PAR3_def,PAR2_1_def,PAR2_2_def,PAR5_def, & PAR6_def,PAR24_2_def,XM,QMASS,DBETJ DIMENSION PST(5),PBM(5),PTG(5) - INTEGER IST,ITGST,IBMST,IPID,IFLB,IFLT,NOLD,IS,IFL1,IFBAD,IDM + INTEGER IST,ITGST,IBMST,IPID,IFLB,IFLT,NOLD,IS,IFL1,IFBAD,IDM, + & ipar82_def SAVE DATA PGG /1.D0/ @@ -10674,7 +10677,15 @@ c change vector rate and kaon vector rate PAR(6) = PAR(74) ! P_K* from K ENDIF - + +C... switch off pi0 suppression +c should only be applied for remnant, diff and valence +c in case of meson projectile + ipar82_def = IPAR(82) + IF(IPAR(95).eq.1)THEN + IPAR(82) = 0 + ENDIF + NOLD = NP IF ( (E0.LT.8.D0) .OR. (S_RNDM(0).GT.PGG)) THEN C... one string case, q - qbar @@ -10725,7 +10736,8 @@ c leading charm fraction PAR(2) = PAR2_1_def PAR(5) = PAR5_def PAR(6) = PAR6_def - PAR(3) = PAR3_def + PAR(3) = PAR3_def + IPAR(82) = ipar82_def RETURN ENDIF ELSE @@ -10744,7 +10756,8 @@ c DBETJ = (DX1J-DX2J)/(DX1J+DX2J) PAR(2) = PAR2_1_def PAR(5) = PAR5_def PAR(6) = PAR6_def - PAR(3) = PAR3_def + PAR(3) = PAR3_def + IPAR(82) = ipar82_def IBAD = 0 END C======================================================================= @@ -14108,7 +14121,7 @@ C SIGela elastic cross section C----------------------------------------------------------------------- Cf2py integer, intent(in) :: L,IAT Cf2py double precision, intent(in) :: SQS -Cf2py double precision, intent(out) :: SIGprod,SIGbdif +Cf2py double precision, intent(out) :: SIGprod,SIGbdif,SIGela IMPLICIT NONE INTEGER NS_max, NH_max diff --git a/Processes/Sibyll/sibyll2.3c.h b/Processes/Sibyll/sibyll2.3d.h similarity index 97% rename from Processes/Sibyll/sibyll2.3c.h rename to Processes/Sibyll/sibyll2.3d.h index b7030ad32578a14cd5d9ed5be1f82b4b082b7d58..f5893db903924277b60bb461e33720d4a6cafb7a 100644 --- a/Processes/Sibyll/sibyll2.3c.h +++ b/Processes/Sibyll/sibyll2.3d.h @@ -8,8 +8,8 @@ * the license. */ -#ifndef _include_sib23c_interface_h_ -#define _include_sib23c_interface_h_ +#ifndef _include_sib23d_interface_h_ +#define _include_sib23d_interface_h_ //---------------------------------------------- // C++ interface for the SIBYLL event generator //---------------------------------------------- diff --git a/Processes/Sibyll/testSibyll.cc b/Processes/Sibyll/testSibyll.cc index 0453220f4593d55a5250e2cfddbd1f5942f90854..d4d87a3da82664ef134e4c725608126d8300c25e 100644 --- a/Processes/Sibyll/testSibyll.cc +++ b/Processes/Sibyll/testSibyll.cc @@ -75,7 +75,7 @@ TEST_CASE("Sibyll", "[processes]") { #include <corsika/environment/Environment.h> #include <corsika/environment/HomogeneousMedium.h> #include <corsika/environment/NuclearComposition.h> -#include <corsika/process/sibyll/sibyll2.3c.h> +#include <corsika/process/sibyll/sibyll2.3d.h> using namespace corsika::units::si; using namespace corsika::units;