| Summary: | New warnings for CMS simulation | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | Vladimir.Ivantchenko |
| Component: | geometry/magneticfield | Assignee: | John Apostolakis <John.Apostolakis> |
| Status: | RESOLVED FIXED | ||
| Severity: | minor | ||
| Priority: | P4 | ||
| Version: | 11.1 | ||
| Hardware: | All | ||
| OS: | All | ||
The clarification: in CMS for E<15 MeV max step is 500 mm, which is smaller than length of the step 614.256 mm in the dump. Vladimir Comment from Sunanda Banerjee: In my tests with 5000 minimum bias and 2500 ttbar events with Run3 geometry and again a similar statistics with phase2 CMS geometry, I observed 18 and 12 such cases. All are e+ or e- with energy between 15 and 30 MeV. The smallest steps length is 490 mm and the largest is 1459 mm. Number of steps between 10 and 1031. 28 cases are in Vacuum and of them 25 are beyond 6m from IP, 2 are in beam pipe but within 80 cm from IP and one in the magnet coil region. the remaining 2 are in Air and just between tracker and calorimeter. Please note that overlap test with 10 micron tolerance revealed no overlap. I have found why these messages are generated. There was an inadvertent change in the default values of the G4Transportation 'looper' threshold values. The warning energy threshold was changed from 100 MeV to 1 MeV, so tracks above this energy which are found to be looping were killed and a warning was issued. NOTE: Reducing the value of this threshold will still kill these particles (if they are stable) but no warning will be issued. If in your user code you already override the high 'traditional' (old) values of 100 MeV for 'warning' energy and 250 MeV for the 'Important' energy, then it is not clear why you would see a change in behaviour. A merge request (#3408) is in preparation to reverse this change. Since this apparently reveals that particles of 15.9 MeV are being killed in the beampipe, and potentially ones with higher energy, they may together take a non-negligible number of steps and fraction of CPU. It should be possible to assign a different field manager to this volume (and others large ones with vacuum as material) which could allow larger trial steps. To do this you create a separate field manager and instead of initialising the integration using fieldManager->CreateChordFinder(field); use the following code: const G4int useBfieldDriver=4; fieldManager->SetChordFinder( new G4ChordFinder(field, 0.01, nullptr, useBfieldDriver); ); Hi John, Thank you for the prompt fix. It is merged to the master and added to the patch branch of 11.1. Vladimir |
Hi John, CMS is in a process of adopting of Geant4 11.1 for 2023, which is already integrated inside CMSSW and is under testing. During tests a new warning show up, which from our point of view is indicating problem of tracking of low-energy particles in strong magnetic field inside vacuum. CMS step limitation 150 mm seems to be not used. An example of the warning is following: -------- WWWW ------- G4Exception-START -------- WWWW ------- *** G4Exception : Transport-001-ExcessSteps issued by : G4Transportation::AlongStepDoIt Transportation is killing track that is looping or stuck. Track is e- and has 15.4941 MeV energy ( pre-Step = 15.4941 ) momentum = (12.1537,5.95036,-8.5313) mag= 15.997 position = (14.8861,-21.3279,-5577.98) is in volume 'beampipe:BeamVacuum7_1', its material is 'materials:Vacuum' with density = 1e-16 g/cm^3 Total number of Steps by this track: 58 Length of this step = 613.256 mm Number of propagation trials = 10 ( vs maximum = 10 for 'important' particles ) =============== Recommendations / advice ==================== Recommendations to address this issue (Transport-001-ExcessSteps) This warning is controlled by the SetThresholdWarningEnergy method of G4Transportation. Current value of 'warning' threshold= 1 MeV - If 'unimportant' particles (with energy low enough not to matter in your application, then increase its value. - If particles of high-enough energy to be important are being killed, you can a) Increase the trial steps using the method SetThresholdTrials(). Particles above the 'important' threshold will be given this many 'chances'. The default value was 10, and the current value is 10 b) Increase the energy which you consider 'important' (above this they are killed only after extra trials), using the method SetThresholdImportantEnergy() Note: this can incur a potentially high cost in extra simulation time if more tracks require very large number of integration steps . c) investigate alternative integration methods e.g. Helical methods for uniform or almost uniform fields or else higher order RK methods such as DormandPrince78 This information is provided 5 times. Current count: 1 / 5 ============================================================= CMS info: TrackID=72077 ParentID=71998 e-; Ekin(MeV)=15.4941; time(ns)=27.8825; status=0 position(mm): (14.8861,-21.3279,-5577.98); direction: (0.759752,0.371968,-0.533307) PhysicalVolume: beampipe:BeamVacuum7_1; material: materials:Vacuum stepNumber=58; stepLength(mm)=613.256; weight=1; creatorProcess: conv; modelID=10030 *** This is just a warning message. *** -------- WWWW -------- G4Exception-END --------- WWWW -------