Exemple #1
0
def random_scan():
    number_of_points_checked = 0
    number_of_points = 100
    accepted_points = []

    higgs_creator = Particle.ParticleCreator(Higgs.Higgs, "configs/higgs.json")
    scalar_creator = Particle.ParticleCreator(Scalar.Scalar, "configs/scalar.json")
    fermion_creator = Particle.ParticleCreator(Fermion.Fermion, "configs/fermion.json")
    neutrino_creator = Particle.ParticleCreator(NeutrinoCouplings.Neutrino, "configs/neutrino_couplings.json")

    time_start = time.time()
    time_last_report = 0
    time_report_interval = 5

    while len(accepted_points) < number_of_points:

        time_running = time.time() - time_start
        if time_running > time_last_report + time_report_interval:
            time_last_report = time_running
            print("[{:0.1f}]: Checked: {}({:0.2f}/s), Accepted: {}({:0.2f}/s)".format(
                time_running,
                number_of_points_checked,
                number_of_points_checked/time_running,
                len(accepted_points),
                len(accepted_points)/time_running)
            )

        model = ModelSPheno.ModelSPheno(
            higgs_creator.create(),
            fermion_creator.create(),
            scalar_creator.create(),
            neutrino_creator.create(),
            calculate_branching_ratios=False,
            calculate_one_loop_masses=True
        )

        number_of_points_checked += 1

        try:
            model.calculate_dependent_variables()
        except:
            continue

        micromegas = MicroMegas(model.spheno_output_file_path)
        micromegas.calculate()

        if random.random() < calculate_likelihood(model):
            accepted_points.append(model)
            with open("saved_models/{}.json".format(datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S.%f")), "w") as f:
                f.write(
                    json.dumps(model, default=lambda object: object.__dict__, sort_keys=True, indent=4)
                )
Exemple #2
0
    def pprint(self):
        print(self.higgs)
        self.higgs_dependent.pprint()

        print(self.scalar)
        self.scalar_dependent.pprint()

        print(self.fermion)
        self.fermion_dependent.pprint()

        print(self.neutrino)
        self.neutrino_dependent.pprint()


if __name__ == "__main__":
    higgs_creator = Particle.ParticleCreator(Higgs.Higgs, "configs/higgs.json")
    higgsDummy = higgs_creator.create()

    scalar_creator = Particle.ParticleCreator(Scalar.Scalar, "configs/scalar.json")
    scalarDummy = scalar_creator.create()

    fermion_creator = Particle.ParticleCreator(Fermion.Fermion, "configs/fermion.json")
    fermionDummy = fermion_creator.create()

    neutrino_creator = Particle.ParticleCreator(NeutrinoCouplings.Neutrino, "configs/neutrino_couplings.json")
    neutrinoDummy = neutrino_creator.create()

    model = ModelT12A(higgsDummy, fermionDummy, scalarDummy, neutrinoDummy)

    model.calculate_dependent_variables()
Exemple #3
0
import Particle


class Scalar(Particle.Particle):
    parameters = ["mass_singlet", "mass_doublet", "lambda_S", "lambda_D", "lambda_P", "lambda_PP", "A"]


if __name__ == "__main__":
    scalar_creator = Particle.ParticleCreator(Scalar, "configs/scalar.json")
    for i in range(1000):
        scalar = scalar_creator.create()
        print(scalar.to_json())
Exemple #4
0
import Particle


class Neutrino(Particle.Particle):
    parameters = ["g11", "g12", "g13", "g21", "g22", "g23"]


if __name__ == "__main__":
    neutrino_creator = Particle.ParticleCreator(
        Neutrino, "configs/neutrino_couplings.json")
    for i in range(1000):
        neutrino = neutrino_creator.create()
        print(neutrino.to_json())
Exemple #5
0
import Particle


class Fermion(Particle.Particle):
    parameters = ["mass_singlet", "mass_doublet", "y1", "y2"]


if __name__ == "__main__":
    fermion_creator = Particle.ParticleCreator(Fermion, "configs/fermion.json")
    for i in range(1000):
        fermion = fermion_creator.create()
        print(fermion.to_json())
Exemple #6
0
import Particle


class Higgs(Particle.Particle):
    parameters = ["vev", "lambda_higgs"]


if __name__ == "__main__":
    higgs_creator = Particle.ParticleCreator(Higgs, "configs/higgs.json")
    for i in range(100000):
        higgs = higgs_creator.create()
        print(higgs.to_json())
Exemple #7
0
import Particle


class Neutrino(Particle.Particle):
    parameters = [
        "sin_theta12_squared", "sin_theta13_squared", "sin_theta23_squared",
        "delta_m12_squared_e5", "delta_m23_squared_e4",
        "cos_casas_ibarra_angle"
    ]


if __name__ == "__main__":
    neutrino_creator = Particle.ParticleCreator(
        Neutrino, "configs/neutrino_masses.json")
    for i in range(1000):
        neutrino = neutrino_creator.create()
        print(neutrino.to_json())