Bug #1162
SciFi fails in G4.9.5.p01
100%
Description
The SciFi fails in G4.9.5.p01 - get an error message like
cr67@ctr ~/MAUS/maus_merge_geant4.9.5 $ python tests/integration/test_simulation/test_geometry/test_geometry.py F ====================================================================== FAIL: test_geometries (__main__.MapCppSimulationTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests/integration/test_simulation/test_geometry/test_geometry.py", line 85, in test_geometries self.__run_sim(my_file) File "tests/integration/test_simulation/test_geometry/test_geometry.py", line 65, in __run_sim str(proc.returncode)+". Output in "+outname) AssertionError: Test geometry failed in Stage2.dat with return code -6. Output in /home/cr67/MAUS/maus_merge_geant4.9.5/tmp//test_geometry_Stage2.dat ----------------------------------------------------------------------
Digging into the referenced log file
-------- EEEE ------- G4Exception-START -------- EEEE ------- *** G4Exception : GeomSolids0002 issued by : G4Tubs::SetZHalfLength() Invalid Z half-length. Negative Z half-length (0), for solid: Stage2.dat/TrackerSolenoid0.dat/Tracker0.dat/TrackerStation5.dat/Tracker0Station5ViewU.datDoubletCores *** Fatal Exception *** core dump *** -------- EEEE -------- G4Exception-END --------- EEEE ------- *** G4Exception: Aborting execution ***
I put a print statement into the file that generates the DoubletCores and it reports
Module name: Stage2.dat/TrackerSolenoid0.dat/Tracker0.dat/TrackerStation5.dat/Tracker0Station5ViewU.datDoublet Module rotation: [ ( 1 0 0) ( 0 1 0) ( 0 0 1) ] Doublet length: 0.6273
Files
Updated by Rogers, Chris over 10 years ago
Should say my print statement is
=== modified file 'src/common_cpp/DetModel/SciFi/SciFiPlane.cc' --- src/common_cpp/DetModel/SciFi/SciFiPlane.cc 2012-10-01 10:56:38 +0000 +++ src/common_cpp/DetModel/SciFi/SciFiPlane.cc 2012-10-18 03:10:33 +0000 @@ -89,13 +89,13 @@ // G4RotationMatrix* trot = new G4RotationMatrix(); // G4ThreeVector dir(0, 1, 0); // dir = dir*(*trot); - /* + std::cerr << "Module name: " << doubletName << "\n" << "Module rotation: " << *(trot) << "\n" - // << "Plane direction: " << dir << "\n" + << "Doublet length: " << doubletThickness << "\n" << "Mother Logical Volume is: " << mlv->GetLogicalVolume()->GetName() << "\n" << "Mothers rotation is: " << *(mlv->GetRotation()) << "\n"; - */ + // this is a fibre solidDoublet = new G4Tubs(doubletName, 0.0, tr, doubletThickness / 2.0,
Updated by Heidt, Christopher over 10 years ago
I can't seem to recreate this error. I pulled down a new version of the MAUS trunk on Wed 24th, installed it using /thrid_party/install_build_test_geant4.9.5.p01.bash, and sourced it using env.sh followed by env_geant4.9.5.p01.sh. Tests did turn up errors that look to be style errors, but no geometry errors. I took a look at the tmp//test_geometry_Stage2.dat log file that was created, and didn't see any errors.
Advice?
Updated by Rogers, Chris over 10 years ago
Can you turn verbose_level to 0 and then look at the output, check that it says geant 4.9.5.p01 when it loads geant4? i.e. that the installation went okay...
Updated by Heidt, Christopher over 10 years ago
- File unitTest.txt unitTest.txt added
- File appTest.txt appTest.txt added
The Geant version is correct, a few other errors showing up. It looks like all the test were not running due to errors, I ran both the unit test and application test separate. I've logged the outputs so you can take a look at them. It may be that I can not recreate your problem because the tests are quitting too early.
Updated by Rogers, Chris over 10 years ago
Okay, I'll have a dig... not sure why your nosetests should fail with those funny errors though.
Updated by Rogers, Chris over 10 years ago
Humm. So on your test job, we have
Check that we can run simulate_mice, convert to root, convert back to ... Globals manager Placing BeamLine.dat of type Box position: (0,0,-10283) rotationVector: (0,0,1) angle: 0 volume: 209.641 m^3 material: Galactic Placing TrackerSolenoid0.dat of type Cylinder position: (0,0,-4783) rotationVector: (0,0,1) angle: 0 volume: 4.2312 m^3 material: Galactic Placing AbsorberFocusCoil.dat68 of type Cylinder position: (0,0,-2750) rotationVector: (0,0,1) angle: 0 volume: 1.53151 m^3 material: Galactic Placing RFCouplingCoilUp.dat of type Cylinder position: (0,0,-1375) rotationVector: (0,0,1) angle: 0 volume: 2.56453 m^3 material: Galactic Placing AbsorberFocusCoil.dat87 of type Cylinder position: (0,0,0) rotationVector: (0,0,1) angle: 0 volume: 1.53151 m^3 material: Galactic Placing RFCouplingCoilDown.dat of type Cylinder position: (0,0,1375) rotationVector: (0,0,1) angle: 0 volume: 2.56453 m^3 material: Galactic Placing AbsorberFocusCoil.dat of type Cylinder position: (0,0,2750) rotationVector: (0,0,1) angle: 0 volume: 1.53151 m^3 material: Galactic Placing SpecVirt.dat of type Cylinder position: (0,0,4783) rotationVector: (0,0,1) angle: 0 volume: 2.82743e-08 m^3 material: Galactic Placing TrackerSolenoid1.dat of type Cylinder position: (0,0,4783) rotationVector: (0,0,1) angle: 0 volume: 4.2312 m^3 material: Galactic Placing TOF2.dat of type Box position: (0,0,6524.5) rotationVector: (0,0,1) angle: 0 volume: 0.5625 m^3 material: AIR Setting the phase ............
but on the test server we have
Check that we can run simulate_mice, convert to root, convert back to ... Placing BeamLine.dat of type Box position: (0,0,-10283) rotationVector: (0,0,1) angle: 0 volume: 209.641 m^3 material: Galactic Placing TrackerSolenoid0.dat of type Cylinder position: (0,0,-4783) rotationVector: (0,0,1) angle: 0 volume: 4.2312 m^3 material: Galactic Placing AbsorberFocusCoil.dat68 of type Cylinder position: (0,0,-2750) rotationVector: (0,0,1) angle: 0 volume: 1.53151 m^3 material: Galactic Placing RFCouplingCoilUp.dat of type Cylinder position: (0,0,-1375) rotationVector: (0,0,1) angle: 0 volume: 2.56453 m^3 material: Galactic Placing AbsorberFocusCoil.dat87 of type Cylinder position: (0,0,0) rotationVector: (0,0,1) angle: 0 volume: 1.53151 m^3 material: Galactic Placing RFCouplingCoilDown.dat of type Cylinder position: (0,0,1375) rotationVector: (0,0,1) angle: 0 volume: 2.56453 m^3 material: Galactic Placing AbsorberFocusCoil.dat of type Cylinder position: (0,0,2750) rotationVector: (0,0,1) angle: 0 volume: 1.53151 m^3 material: Galactic Placing SpecVirt.dat of type Cylinder position: (0,0,4783) rotationVector: (0,0,1) angle: 0 volume: 2.82743e-08 m^3 material: Galactic Placing TrackerSolenoid1.dat of type Cylinder position: (0,0,4783) rotationVector: (0,0,1) angle: 0 volume: 4.2312 m^3 material: Galactic Placing TOF2.dat of type Box position: (0,0,6524.5) rotationVector: (0,0,1) angle: 0 volume: 0.5625 m^3 material: AIR Setting the phase . -------- EEEE ------- G4Exception-START -------- EEEE ------- *** G4Exception : GeomSolids0002 issued by : G4Tubs::SetZHalfLength() Invalid Z half-length. Negative Z half-length (0), for solid: Stage6.dat/TrackerSolenoid0.dat/Tracker0.dat/TrackerStation5.dat/Tracker0Station5ViewU.datDoubletCores *** Fatal Exception *** core dump *** -------- EEEE -------- G4Exception-END --------- EEEE -------
Could you post the file tmp/test_geometry_Stage2.dat
? I'm looking at the test server error message like:
====================================================================== FAIL: For each "Configuration" file, check that we can load it - by calling ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/jenkins/workspace/MAUS_geant4.9.5.p01/tests/integration/test_simulation/test_geometry/test_geometry.py", line 85, in test_geometries self.__run_sim(my_file) File "/home/jenkins/workspace/MAUS_geant4.9.5.p01/tests/integration/test_simulation/test_geometry/test_geometry.py", line 65, in __run_sim str(proc.returncode)+". Output in "+outname) AssertionError: Test geometry failed in Stage2.dat with return code -6. Output in /home/jenkins/workspace/MAUS_geant4.9.5.p01/tmp//test_geometry_Stage2.dat ----------------------------------------------------------------------
Updated by Rogers, Chris over 10 years ago
Nb: the test server command is
bash third_party/install_build_test_geant4.9.5.p01.bash
I disabled the build for now while we investigate (I was going to run some checks like valgrind server side)
Updated by Rogers, Chris over 10 years ago
Just to be clear, branch name is
bzr+ssh://bazaar.launchpad.net/%2Bbranch/maus/merge/
Updated by Heidt, Christopher over 10 years ago
Found the error, and think I've corrected it. The problem seems to be we were laying down fibers incorrectly. Instead of laying the fibers down one next to another, we were spacing them out to fill the total available space. A difference of only microns, but on caused the last fiber to over shoot the end of the plane a hair and default to 0 length.
I'm running test now, hopefully this checks out. If it does check out I'll then push to the merge branch and the tracker_devel branch.
Updated by Rogers, Chris over 10 years ago
Happy that you've fixed it - even happier that you found a physics bug! This would certainly effect track reconstruction in this fibre, maybe in the whole tracker (Geant4 behaviour is unpredictable when volumes overlap - it can cause G4 to ignore physics volumes, which is bad).
Updated by Heidt, Christopher over 10 years ago
Passed the test at tests/integration/test_simulation/test_geometry/test_geometry.py, but a new error popped up when running tests/run_test.bash (see below). However, this seems unrelated to this issue, so I'm inclined to push my changes. I thought it would be better to wait and see if you agree with my assessment of this new issue before I went through with a push.
Check we can import libxml2 ... ok Check we can import libxslt ... ok ====================================================================== FAIL: test_run_test_cpp_unit (test_cpp_unit.CppUnitTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/opt/ppd/mice/heidt/geant_test/merge/build/test_cpp_unit.py", line 18, in test_run_test_cpp_unit self.assertEqual(cpp_test, 0, 'Failed cpp tests with '+str(cpp_test)) AssertionError: Failed cpp tests with 256 ---------------------------------------------------------------------- Ran 411 tests in 596.399s FAILED (failures=1)
Updated by Rogers, Chris over 10 years ago
This is a fail on one of the C++ unit tests. Could you include a full test log so I can see which test is failing?
The C++ unit tests are what come out from all of the green/black/red text like
[--------] some text [RUN ] also [ OK] here
Cheers
Updated by Heidt, Christopher over 10 years ago
- File ErrorLog.txt ErrorLog.txt added
Old error fixed, new errors up. This time I'm almost certain it is nothing that I have done.
====================================================================== ERROR: Check that beam maker generates uniform t distribution correctly ---------------------------------------------------------------------- Traceback (most recent call last): File "/opt/ppd/mice/heidt/geant_test/merge/tests/integration/test_simulation/test_beam_maker/test_beam_maker.py", line 270, in test_uniform_time BIN_SIM, 'pid')[-11] KeyError: -11 ====================================================================== FAIL: Check that we can generate a binomial distribution for event number ---------------------------------------------------------------------- Traceback (most recent call last): File "/opt/ppd/mice/heidt/geant_test/merge/tests/integration/test_simulation/test_beam_maker/test_beam_maker.py", line 157, in test_binomial self.assertGreater(ks_value, 1e-3) AssertionError: 0.0 not greater than 0.001 -------------------- >> begin captured stdout << --------------------- 0 0.0 0.0 1 121.576654591 1000.0 2 270.170343535 0.0 3 285.179807064 0.0 4 190.119871376 0.0 5 89.7788281499 0.0 6 31.92136112 0.0 7 8.86704475554 0.0 8 1.97045439012 0.0 9 0.355776487105 0.0 10 0.0527076277193 0.0 11 0.00644204338791 0.0 12 0.000650711453324 0.0 13 5.42259544437e-05 0.0 14 3.7077575688e-06 0.0 15 2.059865316e-07 0.0 16 9.15495696e-09 0.0 17 3.1788045e-10 0.0 18 8.3106e-12 0.0 19 1.539e-13 0.0 20 1.8e-15 0.0 binomial ks_value 0.0 --------------------- >> end captured stdout << ---------------------- ====================================================================== FAIL: Check that the weight of each sub-beam is close to the expected weight ---------------------------------------------------------------------- Traceback (most recent call last): File "/opt/ppd/mice/heidt/geant_test/merge/tests/integration/test_simulation/test_beam_maker/test_beam_maker.py", line 203, in test_gaussian self.assertLess(abs(bunch.mean([key])[key]-value), sigma+1.) AssertionError: 99.91820426515577 not less than 3.4192338252275007 ====================================================================== FAIL: Check that beam maker generates sawtooth t distribution correctly ---------------------------------------------------------------------- Traceback (most recent call last): File "/opt/ppd/mice/heidt/geant_test/merge/tests/integration/test_simulation/test_beam_maker/test_beam_maker.py", line 263, in test_sawtooth_time self.assertGreater(ks_value, 1e-3) AssertionError: 0.0 not greater than 0.001 -------------------- >> begin captured stdout << --------------------- sawtooth t ks_value 0.0 --------------------- >> end captured stdout << ---------------------- ====================================================================== FAIL: Check that the weight of each sub-beam is close to the expected weight ---------------------------------------------------------------------- Traceback (most recent call last): File "/opt/ppd/mice/heidt/geant_test/merge/tests/integration/test_simulation/test_beam_maker/test_beam_maker.py", line 176, in test_weighting sum_weights**0.5 ) AssertionError: 100.0 not less than 31.622776601683793 -------------------- >> begin captured stdout << --------------------- -13 1000.0 900.0 31.6227766017 --------------------- >> end captured stdout << ---------------------- ====================================================================== FAIL: Test that the GRID batch script works ---------------------------------------------------------------------- Traceback (most recent call last): File "/opt/ppd/mice/heidt/geant_test/merge/tests/integration/test_utilities/test_execute_against_data/test_execute_against_data.py", line 159, in test_main_success self.assertTrue(os.path.isfile(file_name), file_name) AssertionError: 03541_recon.root -------------------- >> begin captured stdout << --------------------- Cleaning test directory Found 03541.tar so not going to download removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/download.log removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/batch.log removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/sim.log removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/reco.log removing dir /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/downloads removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/OnMon.03541.root removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/OnScalers.03541.root removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/OnScalers.03541.txt removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/03541.md5 removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/03541.000 removing file /opt/ppd/mice/heidt/geant_test/merge/tmp/test_batch/03541_recon.root Unpacking for testing --------------------- >> end captured stdout << ---------------------- ---------------------------------------------------------------------- Ran 53 tests in 1606.385s FAILED (SKIP=24, errors=1, failures=5)
Updated by Rogers, Chris over 10 years ago
Can you make a test job? Instructions at Jenkins and you may need a login to the test server, let me know and I can set one up.
Updated by Heidt, Christopher over 10 years ago
- Workflow changed from New Issue to Awaiting Merge
Passed Jenkins, and is now passing tests on my machine as well. Looks ready to merge, updated code at lp:~cheid001/maus/devel.
Updated by Rogers, Chris over 10 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Merge in r845
Updated by Rogers, Chris over 10 years ago
- Target version changed from Future MAUS release to MAUS-v0.4.1