Problem 1138

Summary: CHIPS Exception for "Chipolino" - Impossible qPDG
Product: Geant4 Reporter: John Apostolakis <John.Apostolakis>
Component: processes/hadronic/models/chiral_inv_phase_spaceAssignee: dennis.herbert.wright
Status: RESOLVED FIXED    
Severity: trivial CC: andrea.dotti, Mikhail.Kossov
Priority: P5    
Version: 9.2   
Hardware: All   
OS: All   
URL: https://savannah.cern.ch/bugs/?70511

Description John Apostolakis 2010-08-20 13:04:42 CEST
The following report is generated when an Exception is thrown in an Atlas simulation production event:

***G4QHadron:(P) PDG=0, use other constructor 
***G4QHadron::SetQPDG: QPDG=[ PDG=0, Q=-2] 
***G4QEnvironment::Fragment: Exception is catched 
**G4QEnv::Fragment:Exception #1: **G4QHadron::SetQPDG: Impossible QPDG Probably a Chipolino 
***G4QEnvir::Fragment:nH=14,nQ=1,E={Z=0,N=0,S=0,M=0} 
***G4QEnvir::Fr:H0=(-7.9524061903491,23.177310216302,64.385951229991;-15871.7390632)0 
***G4QEnvir::Fr:H1=(-5.9693425985903,143.7597660228,89.486142775307;219.52234060977)211 
***G4QEnvir::Fr:H2=(-159.94121469493,2.5013396413968,-32.531350130363;953.63976600775)90000001 
***G4QEnvir::Fr:H3=(10.281068721248,209.00640989729,117.76955293227;277.73878420212)-211 
***G4QEnvir::Fr:H4=(-163.83658446436,545.77047419475,422.11177945349;1177.1445352959)90000001 
***G4QEnvir::Fr:H5=(313.3867591101,-16.616334501224,50.397707231804;991.87214799285)90000001 
***G4QEnvir::Fr:H6=(-162.32669600698,38.302756647309,-190.91678531765;973.16460171508)90000001 
***G4QEnvir::Fr:H7=(234.96143195744,249.22640141186,385.23650396373;1071.6860096905)90000001
***G4QEnvir::Fr:H8=(-158.31911028499,138.02411288847,27.134383797578;3733.3906949106)90002002 
***G4QEnvir::Fr:H9=(30.576761393537,-80.28540986886,-52.412908351014;943.65362751171)2212 
***G4QEnvir::Fr:H10=(51.192300014046,-6.952178935992,41.488134120743;940.60864339245)2212 
***G4QEnvir::Fr:H11=(54.343117297698,-85.728354881664,-77.997713642411;13985.177018215)90009006 
***G4QEnvir::Fr:H12=(-120.20736632458,126.61132325391,-39.849414587301;15874.03883728)90011006 
***G4QEnvir::Fr:H13=(-7.9524061903491,23.177310216302,64.385951229991;-15871.7390632)0 
***G4QEnvir::Fr:Quasm#0=(0,0,0;0){0,0,0,0,0,0} 
***G4QEnv::Fragment: ----------- End of CleaningUp: 4Mdif=(91.763688261051,-1309.9749262027,1531.0320561293;18128.066636809) 
**G4QEnv::Fragment:Recover*Env={Z=12,N=14,S=0,M=24196.503703708},4M=(1.4540452175638e-14,7.5009443101237e-15,2399.7199908354;27526.225517233) 
***G4QE::Fragm:Q(0)=(1.4540452175638e-14,7.5009443101237e-15,2399.7199908354;3329.721813525){1,2,0,0,0,0} 
*G4QEnv::Fragment:Exception.Target=90013014. Projectiles: 
G4QE::F:#0,PDG/4M=22(1.45405e-14,7.50094e-15,2399.72;2399.72) 


The version of Geant4 used is Geant4 9.2 with patch 2 + several fixes ( taken already included in 9.2 patch 3 and some later fixes ) = "atlas patch 4"

For completeness, below is the printout informing of these additional fixes:

Differences w.r.t. the "plain" geant4-09-02-02 are:
  * Fast and ExN0{1,2,3} physics lists
  * New MagField, G4CachedMagneticField
  * G4AtlasRK4 stepper
  * Bugfix to G4QElasticCrossSection
  * Bugfix to G4HadronElastic
  * Patch to G4TouchableHistory to reduce memory churn
  * Production cuts table startup optimisation
  * Patch to reduce memory churn in Bertini cascade
  * Energy conservation bug fixes to gamma-nuclear and pion-He scattering

Note: The full job output is currently available at 
   http://voatlas19.cern.ch:25980/monitor/logs/f0fb4c46-e906-4159-a8f9-27aabfe158d8/tarball_PandaJob_1090076666_SLACXRD/athena_stdout.txt
Comment 1 Andrea Dotti 2010-08-27 15:31:28 CEST
I managed to reproduce this crash in a simplified calorimeter setup.
The CHIPS gamma+Al @ 2.4 GeV can produce pseudo-particles (CHIPOLINOs) that are usually used internally by the model, due to a bug these are not handled correctly, propagated and an exception is thrown.
The probability of this bug is of of the order of 1/4*10^6 interactions. Thus is quite rare.

After some mail exchange with the CHIPS author we agreed to test the following solution:
1- The class responsible of throwing the exception is G4QEnvironment
2- This is used by the G4ChiralInvariantPhaseSpace interface class, responsible of creating the model and trying the interaction
3- In the interface class a re-try of the interaction will be done in case the underlying model throws an exception
4- The number of re-tries will be checked and, if a limit reached, a G4HadException will be thrown
Comment 2 Andrea Dotti 2010-09-10 10:42:47 CEST
Hello,
a work-around for this problem has been tested on 2*10^7 interactions with success.
A tar-ball containing the fix for the file:
processes/hadronic/models/chiral_inv_phase_space/interface/src/G4ChiralInvariantPhaseSpace.cc
has been provided to ATLAS for further testing.

If everything is ok, it will be incorporated in a G4 patch.
Here is a description of the fix implementation  (quoting the mail send to ATLAS people):


Hello,

regarding the bug described in:
https://savannah.cern.ch/bugs/index.php?70511

A tarball containing a fix is available for G4 release 9.2.p02 under:
/afs/cern.ch/user/a/adotti/public/ATLAS-fixGammaNuclear-9.2.p02-Version2
This patch is valid only for the 9.2.p02 version of Geant4.
In addition this patch contains also the fix, already provided, for the bug described in: https://savannah.cern.ch/bugs/index.php?68785

Untar the file in the source directory of the installation and re-compile.

We would appreciate any feedback on the fix.
Please read the following note on verbosity.

Here are details:
1- The patch catches the previously un-handled exceptions produced when a CHIPOLINO pseudo-particle is produced by the model
2- In such a case the interaction is re-tried
3- The maximum number of allowed re-tries is 10
4- If this limit is reached, an exception is thrown and the application will abort

In case the gamma + nuclear reaction is producing a CHIPOLINO an extensive output describing the failing interaction is produced.
This can be recognized from the string:
***WARNING*** Exception thrown passing through G4ChiralInvariantPhaseSpace
Please report any of such a case.

With my best regards,
Andrea Dotti
for the G4 team
Comment 3 Gabriele Cosmo 2010-09-16 11:04:59 CEST
Fixed. The fix has been provided to ATLAS and will be included
in release 9.2.p04 and 9.3.p02.