From 905d5408ed467527c86faa56ec2d251842bc75dc Mon Sep 17 00:00:00 2001 From: Jan Kieseler Date: Thu, 22 Aug 2024 16:33:16 +0200 Subject: [PATCH] fixed df indexing --- bind/G4Calo.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bind/G4Calo.py b/bind/G4Calo.py index de6738c..45af3a1 100644 --- a/bind/G4Calo.py +++ b/bind/G4Calo.py @@ -322,6 +322,8 @@ def _run_mini_batch( from G4Calo import __G4System G4System = __G4System() seed = int(batch_seed + counter) + #truncate to 32 bit, lower 32 bit are used in G4 + seed = seed & 0xFFFFFFFF G4System.init(cw, seed) #counter gives random seed offset df = G4System.run_batch(nEvents, particleSpec, minEnergy_GeV, maxEnergy_GeV,"") @@ -357,8 +359,6 @@ def run_batch( nevents = [nEventsPerCore if i < nCores - 1 else nEventsLastCore for i in range(nCores)] batch_seed = int(time.time()*1000) - #truncate to 32 bit, lower 32 bit are used in G4 - batch_seed = batch_seed & 0xFFFFFFFF print(f"Batch seed: {batch_seed}") #use a multiprocessing pool to run the mini batches in parallel @@ -366,6 +366,7 @@ def run_batch( dfs = pool.starmap(_run_mini_batch_silent, [(gd, nevents[i], particleSpec, minEnergy_GeV, maxEnergy_GeV, batch_seed, i) for i in range(nCores)]) alldf = pd.concat(dfs) + alldf.reset_index(drop=True, inplace=True) #convert alldf['total_dep_energy'] to numpy array and check if all non-zero entries are unique non_zero = alldf['total_dep_energy'][alldf['total_dep_energy'] != 0.] n_unique = np.unique(non_zero.to_numpy()).shape[0]