Problem 2385 - Possible issue with Kaon absorption cross-section
Summary: Possible issue with Kaon absorption cross-section
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/hadronic/processes (show other problems)
Version: 10.7
Hardware: All All
: P4 minor
Assignee: Alberto.Ribon
URL:
Depends on:
Blocks:
 
Reported: 2021-06-10 06:39 CEST by Stefan Ghinescu
Modified: 2022-01-28 15:41 CET (History)
0 users

See Also:


Attachments
absorption cross-section for positive kaons of 60 GeV incident on various materials (10.17 KB, image/gif)
2021-06-10 06:39 CEST, Stefan Ghinescu
Details
absorption cross-section for protons of 60 GeV incident on various materials (10.26 KB, image/gif)
2021-06-10 06:40 CEST, Stefan Ghinescu
Details
absorption cross-section for positive pions of 60 GeV incident on various materials (9.92 KB, image/gif)
2021-06-10 06:41 CEST, Stefan Ghinescu
Details

Note You need to log in before you can comment on or make changes to this problem.
Description Stefan Ghinescu 2021-06-10 06:39:58 CEST
Created attachment 698 [details]
absorption cross-section for positive kaons of 60 GeV incident on various materials

Hello!
  Apologies if I submitted the problem under the wrong section.

  I am trying to replicate the results of Carroll et al (https://www.sciencedirect.com/science/article/abs/pii/0370269379902260) in terms of absorption cross-section. I created a G4 application with v10.7.p01 and for each of the 6 nuclei in the paper above I'm shooting protons, pi+ and kaon+ of 60 GeV momentum on a strip of width = 0.2 interaction lengths. Then, I score all the particles emerging from the each strip at a plane ~0.1 mm downstream the strip.
  Following the same procedure as in the paper above, I'm computing the "partial" cross-sections in bins of 4-momentum transfer squared. To get the total "absorption" cross-section, I'm fitting the partial cross-sections with an exponential.
  I account for the quasi-elastic interactions by checking if there is a particle of the same type as the beam ones scored after the strip and with momentum within 1% of the beam momentum.

  The attachment contains the results for protons, pi+ and kaon+ using the predefined FTFP_BERT physics list and switching on quasi-elastic interactions. I obtain similar plots using the default QGSP_BERT physics list.
  While the computed cross-sections are generally within 10% of the experimental ones for protons, the differences are larger for pions and kaons.
  I want to estimate the flux of kaons of various momenta (10-400 GeV) when they are shot in a 3 meters long absorber made of copper. An over-estimation of the absorption cross-section by 10% leads in this case to about 1 order of magnitude reduction in the flux.
Comment 1 Stefan Ghinescu 2021-06-10 06:40:49 CEST
Created attachment 699 [details]
absorption cross-section for protons of 60 GeV incident on various materials
Comment 2 Stefan Ghinescu 2021-06-10 06:41:16 CEST
Created attachment 700 [details]
absorption cross-section for positive pions of 60 GeV incident on various materials
Comment 3 Alberto.Ribon 2021-06-15 14:01:14 CEST
Hello,

yes, uncertainties of 10-20% are typical for hadronic cross sections.

The hadronic cross sections in Monte Carlo transport codes, such as
Geant4, are usually theory-driven parameterizations, i.e. with
phenomenogical parameters which are derived from available
experimental data.
For instance, the Geant4 hadron-nuclear cross sections follow a
Glauber-Gribov approach. This approach should have a good
"prediction power" for the  * relative *  energy dependence of the
cross sections of hadron-nucleus interactions, i.e. the
dependence on the projectile hadron kinetic energy or momentum,
especially for the range where you are interested in, i.e. 10-400 GeV.
The  * absolute *  precision of this approach depends strongly on the
available experimental data.
There are more experimental data for protons than pions, and even
less for kaons, that's why a  ~10%  uncertainty for proton-nuclear
cross sections seems reasonable, while for kaons  ~15-20%  seems more
realistic (with pions sitting in between protons and kaons).

The physical quantity you are interested in, i.e. the flux of 10-400 GeV
kaons in a 3 meters long copper absorber, is very much dependent on
the kaon-copper absorber cross sections. From what said above, this
implies a very large uncertainty on the result that you can get from
Geant4 - or in any other Monte Carlo transportation code.

If you would like to use the measurement made by Carroll et al.
on the absorption cross section of kaons on copper - instead of
the default one in Geant4 - to get the "central" estimate for
the quantity you are interested in, you can do this by using the
method:

G4HadronicParameters::SetXSFactorHadronInelastic( scalingFactor );

where the "scalingFactor" is the value used to scale up the
default cross section of Geant4.
In other words, if the value of Geant4 absorption cross sections
for 60 GeV K+ on copper that you get is 10% higher than what is
measured by Carroll, then you should use:

G4HadronicParameters::SetXSFactorHadronInelastic( 0.90 );
Comment 4 Stefan Ghinescu 2021-06-15 16:31:32 CEST
Hello! 

  Thank you for the detailed response! I was thinking to change the absorption part while leaving the quasi-elastic untouched (by means of G4ProcessWrapper), but what you propose is much more straight-forward so I will give that a shot first.
Comment 5 Alberto.Ribon 2021-06-15 17:08:43 CEST
Just a few information on the hadron-nuclear cross sections in Geant4.

In general, Geant4 deals only with elastic hadron-nuclear cross sections, and inelastic hadron-nuclear cross sections.
Most of the physics lists, like FTFP_BERT, QGSP_BERT, etc. have the same elastic and inelastic hadron-nuclear cross sections.

Quasi-elastic, instead, is treated differently by the two hadronic string models, FTF (Fritiof) - used for instance in FTFP_BERT - and QGS (Quark Gluon String) - used for instance in QGSP_BERT.
In FTF, quasi-elastic events are produced one or more pure elastic scattering of the hadron projectile with nucleons of the target nucleus. There is no "quasi-elastic" cross section. Instead, a fraction of the inelastic cross section is used by FTF to produce quasi-elastic events. Therefore, setting quasi-elastic for FTFP_BERT does nothing.
In QGS, an explicit fraction of the inelastic cross section is computed (if the quasi-elastic flag is set) and used to create single elastic hadron-nucleon interactions - by a different model, not directly by QGS. In other words, QGS does only the pure "production" or "absorption" inelastic events, whereas a different model handles the quasi-elastic events - by computing the fraction of inelastic cross section which is for quasi-elatic event, as well as producing the quasi-elastic final-state.

In conclusion, "quasi-elastic" is not a trivial business in Geant4, and it is better to scale the overall inelastic cross section - in the way I have suggested in my previous post.
Comment 6 Stefan Ghinescu 2021-06-16 09:43:02 CEST
Thank you for the clarifications! I will try the method you proposed!
Comment 7 Alberto.Ribon 2021-06-18 17:26:27 CEST
A couple of details that I forgot.

It is not enough the line that I wrote above, but you need both of the following lines:

G4HadronicParameters::Instance()->SetApplyFactorXS( true );
G4HadronicParameters::Instance()->SetXSFactorHadronInelastic( 0.90 );

which could be placed, for instance, in your main program, and must be executed before the run initialization.

Please note that, for the time being, there is no equivalent UI commands to scale cross sections, so the only way is via the above C++ code.