Bug when using ScoringMesh and ParallelWorld in GB06

Hello,

I am using the GB06 example in which I add a mesh scoring.
In this example, I modify the main (exampleGB06.cc) as follows, by adding a scoring mesh in the concrete shield:

[...]

#include "G4ScoringManager.hh"

[...]

//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......

int main(int argc, char** argv)
{

 [...]

  // -- Construct the run manager : MT or sequential one
  auto* runManager = G4RunManagerFactory::CreateRunManager();
  runManager->SetNumberOfThreads(1);
    G4ScoringManager* scoringManager = G4ScoringManager::GetScoringManager();
    scoringManager->SetVerboseLevel(1);
  // -- Set mandatory initialization classes

[...]

  if (macro != "")  // batch mode
  {
    G4String command = "/control/execute ";
    UImanager->ApplyCommand(command + macro);
  }
  else {  // interactive mode : define UI session
    UImanager->ApplyCommand("/control/execute vis.mac");


        UImanager->ApplyCommand("/score/create/boxMesh mesh");
        UImanager->ApplyCommand("/score/mesh/boxSize 1500 1500 2500 mm");
        UImanager->ApplyCommand("/score/mesh/translate/xyz 0 0 2500 mm");
        UImanager->ApplyCommand("/score/mesh/nBin 20 20 80");

        UImanager->ApplyCommand("/score/quantity/cellFlux cfluxg_");
        UImanager->ApplyCommand("/score/filter/particle gammaFilter gamma");

        UImanager->ApplyCommand("/score/quantity/cellFlux cfluxe_");
        UImanager->ApplyCommand("/score/filter/particle elecFilter e-");

        UImanager->ApplyCommand("/score/quantity/cellFlux cfluxn_");
        UImanager->ApplyCommand("/score/filter/particle neutronFilter neutron");

        UImanager->ApplyCommand("/score/close");
        UImanager->ApplyCommand("/score/list");
	
        UImanager->ApplyCommand("/run/beamOn 10");
    //      if (ui->IsGUI())
    //              UImanager->ApplyCommand("/control/execute gui.mac");
    ui->SessionStart();
    delete ui;
  }

  delete visManager;
  delete runManager;

  return 0;
}

The result when having the scoring mesh is totally different, see pictures below comparing the two. It looks like if the GB06BOptnSplitAndKillByImportance::GenerateBiasingFinalState() method is not recognizing anymore the parallelworld and then biasing is not applied.

Is there a fix to this ? Or is there something I am missing?
I have tried to slightly move the parallelworld of 1 mm in X Y Z directions but the result is the same.

Thanks and best regards.

So I performed some tests adding the /tracking/verbose 1 in my simulation.
It seems there is an undefined behavior when the scoring mesh is added and biasing is performed more or less randomly (or I do not understand the rationale).
All the processes that are related to biasing in the listing are replaced by processes related to the scoring mesh when this last is added.

Example to illustrate below:

Nobody with the same issue or with knowledge on how to solve it ?

In case someone would like to try, I attach the main with my modification to add a ScoringMesh.
That is the only modification I did in GB06.

exampleGB06.cc (7.0 KB)

Dear Geant4 users,
Any information about this ?
I have opened a bug report in beginning of August about this issue but so far, I have no response 2620 – Having a scoring mesh and a parallelworl leads to undefined behavior in the particle tracking.
Has someone been able confronted to the same issue and found a path forward ?

Best

Pinging the bug assignee @asaim for input.

Thank you very much for your help. I have not received any news yet. I would appreciate any help on this issue. Any updates or thoughts would be highly valuable.

Does someone knows an alternative to a ScoringMesh that would do the same function but not interfere with the parallelWorld?