Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of the RxSM model #179

Open
wants to merge 19 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
50c1f88
Trilinear sign fix for C2HDM, WIP
Oct 28, 2024
904c0e1
Sign fix for rotation matrices for all currently implemented models
cborschensky Oct 28, 2024
447a15b
Renamed variable CalcCouplingsdone to CalcCouplingsDone for consisten…
cborschensky Oct 28, 2024
a912bc5
Fixed some comments in AdjustMixingMatrix() of the C2HDM
Oct 29, 2024
5004581
Fixed variable names for mass/gauge state indices in AdjustRotationMa…
Oct 29, 2024
322549c
Added empty AdjustRotationMatrix() to standalone/GenericModel.cpp
Oct 29, 2024
4d24c93
Modified CheckRotationMatrix() to allow for det=+1 or -1; initialised…
Oct 29, 2024
cc1db38
Calculate mass indices only once, WIP
cborschensky Oct 31, 2024
a81ffaf
Mass index determination for N2HDM in AdjustRotationMatrix()
Oct 31, 2024
720373f
Do the index calculation just once for all implemented models
Nov 5, 2024
1ef271e
Added a check in case a non-Goldstone appears in a row of the mixing …
cborschensky Nov 6, 2024
3a7f73c
Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.9 (#176)
dependabot[bot] Nov 14, 2024
7e1583a
Bump codecov/codecov-action from 4 to 5 (#177)
dependabot[bot] Nov 18, 2024
b8e54b5
Merge branch 'phbasler:master' into trilinear_sign_fix
cborschensky Nov 26, 2024
c8aed59
Implementation of RxSM model, distinguish broken and unbroken singlet…
cborschensky Nov 26, 2024
870eb84
Removed the commented out quartic coupling parts for now
Nov 27, 2024
8e69431
Combine cmake and c++ linter in one job (#185)
phbasler Dec 9, 2024
9ce1972
Merge branch 'phbasler:master' into rxsm_implementation
cborschensky Dec 10, 2024
d10e35a
Moved all almost_the_same functions to utility.cpp/.h
Dec 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions .github/workflows/cmake-format-linter.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
- name: Generate Coverage
run: cmake --build --preset $GeneratedCMakeProfile -j${{ steps.cpu-cores.outputs.count }} -t coverage
- name: Upload coverage
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.BSMPT_CODECOV_UPLOAD_TOKEN }}
flags: unittests # optional
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
name: documentation
path: documentation
- name: Deploy
uses: JamesIves/[email protected].4
uses: JamesIves/[email protected].9
with:
branch: gh-pages # The branch the action should deploy to.
folder: documentation # The folder the action should deploy.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
name: cpp-linter
name: Run all linters

on:
on:
pull_request:
branches: [master]

branches: [ master, develop ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
cpp-linter:
linter:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.head_ref }}
token: ${{ secrets.LINTER_PAT }}

- name: Install clang-format
if: inputs.apply_clang_format
Expand All @@ -28,6 +30,12 @@ jobs:
run:
echo "branchName=$GITHUB_BASE_REF" >> $GITHUB_OUTPUT

- name: Format CMake files
id: cmake-format
uses: PuneetMatharu/[email protected]
with:
args: --config-files .cmake-format.py --in-place

- name: Define base git diff args
id: git-diff-args
run: |
Expand Down
20 changes: 1 addition & 19 deletions include/BSMPT/minimum_tracer/minimum_tracer.h
Original file line number Diff line number Diff line change
Expand Up @@ -580,24 +580,6 @@ Create1DimGrid(const std::vector<double> &min_start,
const std::vector<double> &min_end,
const int npoints = 100);

/**
* Returns true if two values are the same given some relative precision
*/
bool almost_the_same(const double &a,
const double &b,
const double &rel_precision = 0.01,
const double &num_zero = 1e-10);

/**
* Returns true if two vectors are the element-wise the same given some relative
* precision
*/
bool almost_the_same(const std::vector<double> &a,
const std::vector<double> &b,
const bool &allow_for_sign_flip = false,
const double &rel_precision = 0.01,
const double &num_zero = 1e-10);

/**
* @brief Phase object
*
Expand Down Expand Up @@ -950,4 +932,4 @@ struct Vacuum
void PrintPhasesDiagram(int size = 100);
};

} // namespace BSMPT
} // namespace BSMPT
5 changes: 5 additions & 0 deletions include/BSMPT/models/ClassPotentialC2HDM.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,10 @@ class Class_Potential_C2HDM : public Class_Potential_Origin
double CTempC1 = 0, CTempC2 = 0, CTempCS = 0;
double R_Hh_1 = 0, R_Hh_2 = 0, R_Hh_3 = 0, R_Hl_1 = 0, R_Hl_2 = 0, R_Hl_3 = 0,
R_Hsm_1 = 0, R_Hsm_2 = 0, R_Hsm_3 = 0;

int pos_G0, pos_G1, pos_G2, pos_H1, pos_H2, pos_h1, pos_h2, pos_h3;
int pos_h_SM, pos_h_l, pos_h_H;

void ReadAndSet(const std::string &linestr,
std::vector<double> &par) override;
std::vector<std::string> addLegendCT() const override;
Expand All @@ -121,6 +125,7 @@ class Class_Potential_C2HDM : public Class_Potential_Origin
void set_CT_Pot_Par(const std::vector<double> &par) override;
void write() const override;

void AdjustRotationMatrix() override;
void TripleHiggsCouplings() override;
std::vector<double> calc_CT() const override;

Expand Down
4 changes: 4 additions & 0 deletions include/BSMPT/models/ClassPotentialCPintheDark.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,9 @@ class Class_Potential_CPintheDark : public Class_Potential_Origin
// vev
double v1;

int pos_Gp, pos_Gm, pos_Hp, pos_Hm, pos_HSM;
int pos_G0, pos_h1, pos_h2, pos_h3;

void ReadAndSet(const std::string &linestr,
std::vector<double> &par) override;
std::vector<std::string> addLegendCT() const override;
Expand All @@ -106,6 +109,7 @@ class Class_Potential_CPintheDark : public Class_Potential_Origin
void set_CT_Pot_Par(const std::vector<double> &par) override;
void write() const override;

void AdjustRotationMatrix() override;
void TripleHiggsCouplings() override;
std::vector<double> calc_CT() const override;

Expand Down
5 changes: 5 additions & 0 deletions include/BSMPT/models/ClassPotentialCxSM.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@ class Class_CxSM : public Class_Potential_Origin

double vh, vs, va;

int pos_Gp, pos_Gm, pos_G0;
int pos_h1, pos_h2, pos_h3;
int pos_h_SM, pos_h_l, pos_h_H;

void ReadAndSet(const std::string &linestr,
std::vector<double> &par) override;
std::vector<std::string> addLegendCT() const override;
Expand All @@ -109,6 +113,7 @@ class Class_CxSM : public Class_Potential_Origin
void set_CT_Pot_Par(const std::vector<double> &par) override;
void write() const override;

void AdjustRotationMatrix() override;
void TripleHiggsCouplings() override;
std::vector<double> calc_CT() const override;

Expand Down
5 changes: 5 additions & 0 deletions include/BSMPT/models/ClassPotentialN2HDM.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ class Class_Potential_N2HDM : public Class_Potential_Origin
double NDus = 0, NDL6 = 0, NDL7 = 0, NDL8 = 0, NDvs = 0, NDTS = 0;
double DTCharged = 0;

int pos_G0, pos_G1, pos_G2, pos_H1, pos_H2;
int pos_h1, pos_h2, pos_h3, pos_A;
int pos_h_SM, pos_h_l, pos_h_H;

void ReadAndSet(const std::string &linestr,
std::vector<double> &par) override;
std::vector<std::string> addLegendCT() const override;
Expand All @@ -125,6 +129,7 @@ class Class_Potential_N2HDM : public Class_Potential_Origin
void set_CT_Pot_Par(const std::vector<double> &par) override;
void write() const override;

void AdjustRotationMatrix() override;
void TripleHiggsCouplings() override;
std::vector<double> calc_CT() const override;

Expand Down
17 changes: 15 additions & 2 deletions include/BSMPT/models/ClassPotentialOrigin.h
Original file line number Diff line number Diff line change
Expand Up @@ -182,10 +182,10 @@ class Class_Potential_Origin
*/
bool SetCurvatureDone = false;
/**
* @brief CalcCouplingsdone Used to check if CalculatePhysicalCouplings has
* @brief CalcCouplingsDone Used to check if CalculatePhysicalCouplings has
* already been called
*/
bool CalcCouplingsdone = false;
bool CalcCouplingsDone = false;
/**
* @brief CalculatedTripleCopulings Used to check if TripleHiggsCouplings has
* already been called
Expand Down Expand Up @@ -287,6 +287,11 @@ class Class_Potential_Origin
* tree-level Vacuum
*/
std::vector<std::vector<double>> HiggsRotationMatrix;
/**
* Storage of the model-specific Higgs rotation matrix for the Higgs mass
* matrix at the tree-level Vacuum
*/
std::vector<std::vector<double>> HiggsRotationMatrixEnsuredConvention;
/**
* @brief Couplings_Higgs_Quartic Stores the quartic Higgs couplings in the
* mass base
Expand Down Expand Up @@ -969,6 +974,14 @@ class Class_Potential_Origin
*/
Eigen::MatrixXcd LeptonMassMatrix(const std::vector<double> &v) const;

/**
* Ensures the correct rotation matrix convention
*/
virtual void AdjustRotationMatrix() = 0;
/**
* Checks whether rotation matrix is properly set after implying conventions
*/
bool CheckRotationMatrix();
/**
* Calculates the triple Higgs couplings at NLO in the mass basis.
*
Expand Down
4 changes: 4 additions & 0 deletions include/BSMPT/models/ClassPotentialR2HDM.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@ class Class_Potential_R2HDM : public Class_Potential_Origin
int Type = 0;
double CTempC1 = 0, CTempC2 = 0, CTempCS = 0;

int pos_G1, pos_G2, pos_H1, pos_H2, pos_G0, pos_A, pos_H, pos_h;
int pos_h_SM, pos_h_H;

void ReadAndSet(const std::string &linestr,
std::vector<double> &par) override;
std::vector<std::string> addLegendCT() const override;
Expand All @@ -112,6 +115,7 @@ class Class_Potential_R2HDM : public Class_Potential_Origin
void set_CT_Pot_Par(const std::vector<double> &par) override;
void write() const override;

void AdjustRotationMatrix() override;
void TripleHiggsCouplings() override;
std::vector<double> calc_CT() const override;

Expand Down
80 changes: 80 additions & 0 deletions include/BSMPT/models/ClassPotentialRxSM.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
// Copyright (C) 2018 Philipp Basler and Margarete Mühlleitner
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
// Müller
//
// SPDX-License-Identifier: GPL-3.0-or-later

/**
* @file
* Model file for the SM + real singlet with the tree-level potential
*/

#pragma once

#include <string> // for string
#include <vector> // for vector

#include <BSMPT/models/ClassPotentialOrigin.h>
namespace BSMPT
{
namespace Models
{

/**
* @brief The Class_RxSM class
* Lagrangian from https://arxiv.org/pdf/1512.05355 Eq. (11)
*/
class Class_RxSM : public Class_Potential_Origin
{
public:
Class_RxSM(const ISMConstants &smConstants);
virtual ~Class_RxSM();

// Choice of parameters of Lagrangian from https://arxiv.org/pdf/1512.05355 Eq. (11)
double lambdaS, lambdaHS, vS;

// Not an input parameter; lambda is fixed via the requirement of having
// one of the Higgs bosons as the SM one with 125.09 GeV
double lambda;

// Not an input parameter; set to the SM value
double vH;

// Not input parameters; set through the tadpole equations
double msq, mSsq;

double alpha;

bool UnbrokenSingletPhase;

double dmsq, dlambda, dmSsq, dlambdaS, dlambdaHS, dT1, dT2, dT3, dT4, dT5;

int pos_G1, pos_G2, pos_G0, pos_h, pos_H;
int pos_h_SM, pos_h_H;

void ReadAndSet(const std::string &linestr,
std::vector<double> &par) override;
std::vector<std::string> addLegendCT() const override;
std::vector<std::string> addLegendTemp() const override;
std::vector<std::string> addLegendTripleCouplings() const override;
std::vector<std::string> addLegendVEV() const override;

void set_gen(const std::vector<double> &par) override;
void set_CT_Pot_Par(const std::vector<double> &par) override;
void write() const override;

void AdjustRotationMatrix() override;
void TripleHiggsCouplings() override;
std::vector<double> calc_CT() const override;

void SetCurvatureArrays() override;
bool CalculateDebyeSimplified() override;
bool CalculateDebyeGaugeSimplified() override;
double VTreeSimplified(const std::vector<double> &v) const override;
double VCounterSimplified(const std::vector<double> &v) const override;
void Debugging(const std::vector<double> &input,
std::vector<double> &output) const override;
};

} // namespace Models
} // namespace BSMPT
1 change: 1 addition & 0 deletions include/BSMPT/models/ClassPotentialSM.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ class Class_SM : public Class_Potential_Origin
void set_CT_Pot_Par(const std::vector<double> &par) override;
void write() const override;

void AdjustRotationMatrix() override;
void TripleHiggsCouplings() override;
std::vector<double> calc_CT() const override;

Expand Down
1 change: 1 addition & 0 deletions include/BSMPT/models/ClassTemplate.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ class Class_Template : public Class_Potential_Origin
void set_CT_Pot_Par(const std::vector<double> &par) override;
void write() const override;

void AdjustRotationMatrix() override;
void TripleHiggsCouplings() override;
std::vector<double> calc_CT() const override;

Expand Down
2 changes: 2 additions & 0 deletions include/BSMPT/models/IncludeAllModels.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ enum class ModelIDs
CXSM,
CPINTHEDARK,
SM,
RXSM,

// Here you start adding your models
TEMPLATE,
Expand All @@ -56,6 +57,7 @@ const std::unordered_map<std::string, ModelIDs> ModelNames{
{"cxsm", ModelIDs::CXSM},
{"sm", ModelIDs::SM},
{"cpinthedark", ModelIDs::CPINTHEDARK},
{"rxsm", ModelIDs::RXSM},
{"template", ModelIDs::TEMPLATE},
};

Expand Down
Loading
Loading