Exemplo n.º 1
0
                get_center_of_mass_x: {"image_shape": image_shape}, get_center_of_mass_y: {"image_shape": image_shape},
                get_std_energy: {"energy_scaler": 1}, get_energy_resolution: {"real_ET": tracker_real_ET/1000, "energy_scaler": 1}}
colnames = ["Enery", "MaxEnergy", "Cells", "X CoM", "Y CoM", "StdEnergy", "Resolution", "dN/dE", "(dN/dE) / (dN/dE)"]

htos_calo_images_real = crop_images(calo_images, **padding)
htos_calo_images_fake = crop_images(generated_images, **padding)
for func_idx, (func, params) in enumerate(use_functions.items()):
    if func.__name__ in ["get_number_of_activated_cells", "get_max_energy"]:
        build_histogram(true=htos_calo_images_real, fake=htos_calo_images_fake, function=func,
                        name=colnames[func_idx], epoch="", folder=None, ax=axes[func_idx], **params)
    else:
        build_histogram(true=calo_images, fake=generated_images, function=func,
                        name=colnames[func_idx], epoch="", folder=None, ax=axes[func_idx], **params)

build_histogram_HTOS(true=htos_calo_images_real, fake=htos_calo_images_fake,
                     energy_scaler=1, threshold=3.6, real_ET=tracker_real_ET,
                     ax1=axes[7], ax2=axes[8])
figs.append(fig2)

for idx in range(10):
    print(idx+1, "/", 10)
    use_functions = {
                    get_energies: {"energy_scaler": 1}, get_max_energy: {"energy_scaler": 1, "maxclip": 6.120},
                    get_number_of_activated_cells: {"threshold": 5/1000},
                    get_center_of_mass_x: {"image_shape": image_shape}, get_center_of_mass_y: {"image_shape": image_shape},
                    get_std_energy: {"energy_scaler": scaler["Calo"]}, get_energy_resolution: {"real_ET": tracker_real_ET[idx]/1000, "energy_scaler": 1}
    }

    figs.append(Generator.build_simulated_events(condition=tracker_events[idx],
                                    tracker_image=[tracker_images[idx]],
                                    calo_image=np.array([calo_images[idx]]),
Exemplo n.º 2
0
                         folder=None,
                         ax=axes[func_idx],
                         **params)
     else:
         build_histogram(true=calo_images,
                         fake=generated_images,
                         function=func,
                         name=colnames[func_idx],
                         epoch="",
                         folder=None,
                         ax=axes[func_idx],
                         **params)
 build_histogram_HTOS(true=calo_images,
                      fake=generated_images,
                      energy_scaler=1,
                      threshold=3.6,
                      real_ET=tracker_et,
                      ax1=axes[7],
                      ax2=axes[8])
 axes[-1].scatter(tracker_et,
                  get_energies(calo_images),
                  label="true",
                  alpha=0.1)
 axes[-1].scatter(tracker_et,
                  get_energies(generated_images),
                  label="fake",
                  alpha=0.1)
 axes[-1].legend()
 axes[-1].set_xlim(0, np.max(tracker_et))
 axes[-1].set_ylim(0, np.max(tracker_et))
 axes[-1].set_xlabel("Tracker")
Exemplo n.º 3
0
                         alpha=0.05)
        axes[model_idx,
             -1].scatter(tracker_real_ET / 1000,
                         get_energies(generated_images_from_tracker,
                                      energy_scaler=calo_scaler / 1000),
                         label="Tracker",
                         alpha=0.05)
        axes[model_idx, -1].set_xlabel("Tracker [GeV]")
        axes[model_idx, -1].set_ylabel("Reconstructed [GeV]")
        axes[model_idx, -1].legend()

        build_histogram_HTOS(true=mc_data_images_m,
                             fake=generated_images_from_cgan,
                             fake2=generated_images_from_tracker,
                             energy_scaler=calo_scaler,
                             threshold=3600,
                             real_ET=tracker_real_ET,
                             labels=["Geant4", "CGAN", "Tracker"],
                             ax1=axes[model_idx, -3],
                             ax2=axes[model_idx, -2])

        # Resolution Geant vs Generated
        resolution_geant_nn = (get_energies(mc_data_images_m) -
                               get_energies(generated_images_from_cgan))
        is_small_discrepancy = np.abs(resolution_geant_nn) < 5
        resolution_geant_nn_moderate = resolution_geant_nn[
            is_small_discrepancy]
        axes[model_idx, -4].hist(resolution_geant_nn_moderate,
                                 bins=40,
                                 histtype="step")
        axes[model_idx, -4].set_title(
Exemplo n.º 4
0
                            **params)
        else:
            build_histogram(true=mc_data_images_m,
                            fake=generated_images,
                            function=func,
                            name=colnames[func_idx],
                            epoch="",
                            folder=None,
                            ax=axes[func_idx],
                            labels=["Geant4", "Im2Im"],
                            **params)

    build_histogram_HTOS(true=mc_data_images_m,
                         fake=generated_images,
                         energy_scaler=calo_scaler,
                         threshold=3600,
                         real_ET=tracker_real_ET,
                         labels=["Geant4", "Im2Im"],
                         ax1=axes[-3],
                         ax2=axes[-2])

    axes[-1].scatter(tracker_real_ET,
                     get_energies(mc_data_images_m),
                     label="Geant4",
                     alpha=0.05)
    axes[-1].scatter(tracker_real_ET,
                     get_energies(generated_images),
                     label="Im2Im",
                     alpha=0.05)
    axes[-1].legend()

    figs.append(fig2)
Exemplo n.º 5
0
    get_max_energy: {
        "energy_scaler": calo_scaler
    },
    get_std_energy: {
        "energy_scaler": calo_scaler
    },
    get_energy_resolution: {
        "real_ET": tracker_real_ET,
        "energy_scaler": calo_scaler
    }
}

build_histogram_HTOS(true=calo_images,
                     fake=None,
                     energy_scaler=calo_scaler,
                     threshold=3600,
                     real_ET=tracker_real_ET,
                     ax1=axes[7],
                     ax2=axes[8])

for func_idx, (func, params) in enumerate(use_functions.items()):
    build_histogram(true=calo_images,
                    fake=None,
                    function=func,
                    name=colnames[func_idx],
                    epoch="",
                    folder=None,
                    ax=axes[func_idx],
                    use_legend=True,
                    **params)