def test_event_recording(tmp_path): script = ( Path(__file__).parent.parent.parent.parent / "Examples" / "Scripts" / "Python" / "event_recording.py" ) assert script.exists() env = os.environ.copy() env["NEVENTS"] = "1" subprocess.check_call([str(script)], cwd=tmp_path, env=env) from acts.examples.hepmc3 import HepMC3AsciiReader out_path = tmp_path / "hepmc3" # out_path.mkdir() assert len([f for f in out_path.iterdir() if f.name.endswith("events.hepmc3")]) > 0 assert all([f.stat().st_size > 100 for f in out_path.iterdir()]) s = Sequencer(numThreads=1) s.addReader( HepMC3AsciiReader( level=acts.logging.INFO, inputDir=str(out_path), inputStem="events", outputEvents="hepmc-events", ) ) alg = AssertCollectionExistsAlg( "hepmc-events", name="check_alg", level=acts.logging.INFO ) s.addAlgorithm(alg) s.run() assert alg.events_seen == 1
def test_hepmc3_histogram(hepmc_data, tmp_path): from acts.examples.hepmc3 import ( HepMC3AsciiReader, HepMCProcessExtractor, ) s = Sequencer(numThreads=1) s.addReader( HepMC3AsciiReader( level=acts.logging.INFO, inputDir=str(hepmc_data.parent), inputStem="events", outputEvents="hepmc-events", )) s.addAlgorithm( HepMCProcessExtractor( level=acts.logging.INFO, inputEvents="hepmc-events", extractionProcess="Inelastic", )) # This segfaults, see https://github.com/acts-project/acts/issues/914 # s.addWriter( # RootNuclearInteractionParametersWriter( # level=acts.logging.INFO, inputSimulationProcesses="event-fraction" # ) # ) alg = AssertCollectionExistsAlg("hepmc-events", name="check_alg", level=acts.logging.INFO) s.addAlgorithm(alg) s.run()