After 10.6 -> 10.7 update: Event Must Be Aborted

Dear all,

after updating my installation of Geant4 from 10.6 to 10.7, I frequently get aborted events without having changed my code or the configuration:

-------- EEEE ------- G4Exception-START -------- EEEE -------
*** G4Exception : TRACK003
      issued by : G4ParticleChange::CheckIt()
momentum, energy, and/or time was illegal
*** Event Must Be Aborted ***
G4WT66 > G4Track (0x7f0ef3441fb0) - track ID = 38, parent ID = 1
G4WT66 >  Particle type : pi- - creator process : pi+Inelastic, creator model : Undefined
G4WT66 >  Kinetic energy : 2.77688 GeV - Momentum direction : (0.125509,-0.103605,0.986668)
G4WT66 >  Step length : -765.914 km  - total energy deposit : 0 eV 
G4WT66 >  Pre-step point : (1.4252,-0.256613,189.064) - Physical volume : World (G4_AIR)
G4WT66 >  - defined by : Transportation - step status : 1
G4WT66 >  Post-step point : (-9.61289e+07,7.93527e+07,-7.55703e+08) - Physical volume : World (G4_AIR)
G4WT66 >  - defined by : hIoni - step status : 3
G4WT66 >  *** Note: Step information might not be properly updated.
G4WT66 > 
-------- EEEE -------- G4Exception-END --------- EEEE -------

Is this something I should worry about? What is the reason for the odd step length?

Best regards,
Simon

I enables /tracking/verbose 6 in order to get some more information, I have the full trace for one of the events attached:

The (probably) relevant part is here:

 #Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
     2     18.1     6.48      307  2.17e+03   0.0988      0.4      1.44       World Transportation
 
  >>DefinePhysicalStepLength (List of proposed StepLengths): 
     ++ProposedStep(PostStep ) = 66132569079096.55 : ProcName = UserSpecialCut (No ForceCondition)
     ++ProposedStep(PostStep ) = 1.797693134862316e+308 : ProcName = StepLimiter (No ForceCondition)
     ++ProposedStep(PostStep ) = 798571.2073791905 : ProcName = pi+Inelastic (No ForceCondition)
     ++ProposedStep(PostStep ) = 921533.6251910743 : ProcName = hadElastic (No ForceCondition)
     ++ProposedStep(PostStep ) = 91621.19083936959 : ProcName = Decay (No ForceCondition)
     ++ProposedStep(PostStep ) = 29931874.27808011 : ProcName = CoulombScat (No ForceCondition)
     ++ProposedStep(PostStep ) = 177116427.9302929 : ProcName = hPairProd (No ForceCondition)
     ++ProposedStep(PostStep ) = 1065286434.804242 : ProcName = hBrems (No ForceCondition)
     ++ProposedStep(PostStep ) = 57.46375384060007 : ProcName = hIoni (No ForceCondition)
     ++ProposedStep(PostStep ) = 1.797693134862316e+308 : ProcName = Transportation (Forced)
     ++ProposedStep(AlongStep) = -213761960.567948 : ProcName = hIoni (CandidateForSelection)
     ++ProposedStep(AlongStep) = -213761960.567948 : ProcName = msc (NotCandidateForSelection)
     ++ProposedStep(AlongStep) = -213761960.567948 : ProcName = Transportation (CandidateForSelection)
   G4ParticleChange::CheckIt    : the local time goes back  !!  Difference:  714343.8390946602[ns] 
 pi+ E=2165.480407932291 pos=0.01811530321190624, 0.006477231000467316, 0.3069085078022522 global time=1.692841721526027 local time=0.004803312919536029 proper time=0.0002908016133874408
   G4ParticleChange::CheckIt    : the proper time goes back  !!  Difference:  43253.29996619633[ns] 
 pi+ E=2165.480407932291 pos=0.01811530321190624, 0.006477231000467316, 0.3069085078022522 global time=1.692841721526027 local time=0.004803312919536029 proper time=0.0002908016133874408
       -----------------------------------------------
         G4ParticleChange Information  
       -----------------------------------------------
         # of 2ndaries       :                    0
       -----------------------------------------------
         Energy Deposit (MeV):                    0
         Non-ionizing Energy Deposit (MeV):                    0
         Track Status        :                Alive
         True Path Length (mm) :            -2.14e+08
         Stepping Control      :                    0
     First Step In the voulme  : 
         Mass (GeV)   :                    0
         Charge (eplus)   :                    0
         MagneticMoment   :                    0
                 :  =                    0*[e hbar]/[2 m]
         Position - x (mm)   :            -1.99e+07
         Position - y (mm)   :            -2.67e+06
         Position - z (mm)   :            -2.13e+08
         Time (ns)           :            -7.14e+05
         Proper Time (ns)    :            -4.33e+04
         Momentum Direct - x :               0.0933
         Momentum Direct - y :               0.0125
         Momentum Direct - z :                0.996
         Kinetic Energy (MeV):             2.17e+03
         Velocity  (/c):                0.998
         Polarization - x    :                    0
         Polarization - y    :                    0
         Polarization - z    :                    0
         Touchable (pointer) :       0x55ff83406740
 
 -------- EEEE ------- G4Exception-START -------- EEEE -------
 *** G4Exception : TRACK003
       issued by : G4ParticleChange::CheckIt()
 momentum, energy, and/or time was illegal
 *** Event Must Be Aborted ***
 G4Track (0x55ff86ea6848) - track ID = 80, parent ID = 70
  Particle type : pi+ - creator process : Decay, creator model : Undefined
  Kinetic energy : 2.16548 GeV - Momentum direction : (0.0932966,0.012506,0.99556)
  Step length : -213.762 km  - total energy deposit : 0 eV 
  Pre-step point : (18.1153,6.47723,306.909) - Physical volume : World (G4_AIR)
  - defined by : Transportation - step status : 1
  Post-step point : (-1.99433e+07,-2.67331e+06,-2.12813e+08) - Physical volume : World (G4_AIR)
  - defined by : hIoni - step status : 3
  *** Note: Step information might not be properly updated.
 
 -------- EEEE -------- G4Exception-END --------- EEEE -------
 

Can someone make sense of this?

/Simon

Hi Simon,

I find the same issue in my simulations with Geant4.10.7 (and patch 1), where this did not exist in 4.10.4. It seems to only affect pions and I found that almost all aborted events occurred at/crossed material boundaries/volumes, calculating a negative step size of km in magnitude. There was some small percentage that were not aborted at the boundary but they were aborted in the following step. I did not identify an individual process that caused this though.

From your full trace I think the same thing is happening, it occurs right after going between
support_telescope5_phys_0 and World volumes and has the same symptoms, could you confirm?

I do not have a solution, but perhaps this confirmation may help towards diagnosing the problem.

Regards,
Roden

Hi Roden,

I see pions (pos/neg) as well as kaons and protons causing this issue, so it seems to definitely be a hadronic issue. I can confirm your other observation that this always seems to happen at volume boundaries.

Best regards,
Simon

Hi Simon,

Interesting that it occurs with protons for you, I only see this with pions (charged and uncharged) that have been produced from an initial proton beam, but no protons are aborted from what I can see.

Regards,
Roden

Hi Roden,

here is an example for a proton from my simulation:

-------- EEEE ------- G4Exception-START -------- EEEE -------
*** G4Exception : TRACK003
      issued by : G4ParticleChange::CheckIt()
momentum, energy, and/or time was illegal
*** Event Must Be Aborted ***
G4WT2 > G4Track (0x7f69088118b8) - track ID = 34, parent ID = 1
G4WT2 >  Particle type : proton - creator process : pi+Inelastic, creator model : Undefined
G4WT2 >  Kinetic energy : 24.0358 GeV - Momentum direction : (0.0175435,0.0104732,0.999791)
G4WT2 >  Step length : -36116.9 km  - total energy deposit : 0 eV 
G4WT2 >  Pre-step point : (-0.0743188,-1.3641,301.988) - Physical volume : World (G4_AIR)
G4WT2 >  - defined by : Transportation - step status : 1
G4WT2 >  Post-step point : (-6.33617e+08,-3.7826e+08,-3.61093e+10) - Physical volume : World (G4_AIR)
G4WT2 >  - defined by : hIoni - step status : 3
G4WT2 >  *** Note: Step information might not be properly updated.
G4WT2 > 
-------- EEEE -------- G4Exception-END --------- EEEE -------

I am using a 120 GeV Pi+ beam as primary particles, so this proton definitely is a secondary from an interaction.

I also see more arcane excitation states:

-------- EEEE ------- G4Exception-START -------- EEEE -------
*** G4Exception : TRACK003
      issued by : G4ParticleChange::CheckIt()
momentum, energy, and/or time was illegal
*** Event Must Be Aborted ***
G4WT2 > G4Track (0x7f6908690978) - track ID = 11, parent ID = 1
G4WT2 >  Particle type : anti_sigma+ - creator process : pi+Inelastic, creator model : Undefined
G4WT2 >  Kinetic energy : 24.6322 GeV - Momentum direction : (-0.0122384,-0.0109746,0.999865)
G4WT2 >  Step length : -11440.2 km  - total energy deposit : 0 eV 
G4WT2 >  Pre-step point : (-0.780206,0.184211,204.556) - Physical volume : World (G4_AIR)
G4WT2 >  - defined by : Transportation - step status : 1
G4WT2 >  Post-step point : (1.4001e+08,1.25552e+08,-1.14387e+10) - Physical volume : World (G4_AIR)
G4WT2 >  - defined by : hIoni - step status : 3
G4WT2 >  *** Note: Step information might not be properly updated.
G4WT2 > 
-------- EEEE -------- G4Exception-END --------- EEEE -------

/Simon

I played a bit around with different physics lists:

  • FTFP_BER_EMV - no aborted events
  • FTFP_BER_EMX - no aborted events
  • FTFP_BER_EMY - problem with aborted events
  • FTFP_BER_EMZ - problem with aborted events
  • FTFP_BER_LIV - no aborted events
  • QGSP_BER_EMV - no aborted events
  • QGSP_BER_EMX - no aborted events
  • QGSP_BER_EMY - problem with aborted events
  • QGSP_BER_EMZ - problem with aborted events
  • QGSP_BER_LIV - no aborted events

In conclusion, it seems to only appear with the electromagnetic extensions _EMY and _EMZ. Interestingly, _LIV does not show the problem despite being an extention of _EMY afaik.

/Simon

Hello,

thank you for pointing to a possible problem. Unfortunately, not obvious where and why this happens. Can you, please, formulate it in the Bugzilla bug report system (https://bugzilla-geant4.kek.jp/)?

VI

Done so, here the report for reference: 2353 – Aborted Events with some EM Options

Hi,

any news on that: I could not see any update from the Bugzilla report. I have a very similar problem, when simulating some ions in 10.7.
E.g. Pb208:

  G4ParticleChange::CheckIt    : the proper time goes back  !!  Difference:  0.0002[ns] 
Pb208 E=0.17 pos=-0.00085, -0.0054, 0.0022 global time=2.3e+13 local time=0 proper time=0
      -----------------------------------------------
        G4ParticleChange Information  
      -----------------------------------------------
        # of 2ndaries       :                    0
      -----------------------------------------------
        Energy Deposit (MeV):                    0
        Non-ionizing Energy Deposit (MeV):                    0
        Track Status        :                Alive
        True Path Length (mm) :            -7.96e-05
        Stepping Control      :                    0
    First Step In the voulme  : 
        Mass (GeV)   :                    0
        Charge (eplus)   :                    0
        MagneticMoment   :                    0
                :  =                    0*[e hbar]/[2 m]
        Position - x (mm)   :               -0.851
        Position - y (mm)   :                -5.44
        Position - z (mm)   :                 2.25
        Time (ns)           :            -0.000201
        Proper Time (ns)    :            -0.000201
        Momentum Direct - x :                 0.68
        Momentum Direct - y :                 0.73
        Momentum Direct - z :               0.0609
        Kinetic Energy (MeV):                0.169
        Velocity  (/c):              0.00132
        Polarization - x    :                    0
        Polarization - y    :                    0
        Polarization - z    :                    0
        Touchable (pointer) :            0x381caa0
  G4VParticleChange::CheckIt    : the true step length is negative  !!  Difference:  8e-05[MeV] 
Pb208 E=0.17 pos=-0.00085, -0.0054, 0.0022
      -----------------------------------------------

would not be the case in 10.6?