hpstr
The Heavy Photon Search Toolkit for Reconstruction (hpstr) provides an interface to physics data from the HPS experiment saved in the LCIO format and converts it into an ROOT based format.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SimpEquations.h
Go to the documentation of this file.
1#include <iostream>
2#include <TEfficiency.h>
3#include <TMath.h>
4#include <TH1F.h>
5#include "json.hpp"
6
7using json = nlohmann::json;
8
14
15 public:
16
17
18 SimpEquations(int year);
19
20 SimpEquations(int year, const std::string paramsConfigFile);
21
22 void loadParametersConfig(const std::string paramsConfigFile);
23
24 double rate_2pi(double m_Ap, double m_pi, double m_V, double alpha_dark);
25
26 double rate_Vrho_pi(double m_Ap, double m_pi, double m_V,
27 double alpha_dark, double f_pi);
28 double rate_Vphi_pi(double m_Ap, double m_pi, double m_V,
29 double alpha_dark, double f_pi);
30 double rate_Vcharged_pi(double m_Ap, double m_pi, double m_V,
31 double alpha_dark, double f_pi);
32 double br_2pi(double m_Ap, double m_pi, double m_V,
33 double alpha_dark, double f_pi);
34 double br_Vrho_pi(double m_Ap, double m_pi, double m_V, double alpha_dark,
35 double f_pi);
36
37 double br_Vphi_pi(double m_Ap, double m_pi, double m_V, double alpha_dark,
38 double f_pi);
39 double br_Vcharged_pi(double m_Ap, double m_pi, double m_V,
40 double alpha_dark, double f_pi);
41
42 double br_2V(double m_Ap,double m_pi,double m_V,double alpha_dark,double f_pi,double rho,double phi);
43
44 double Tv(bool rho,bool phi);
45
46 double Beta(double x,double y);
47
48 double rate_2V(double m_Ap,double m_V,double alpha_dark);
49
50 double f(double r);
51
52 double rate_2l(double m_Ap,double m_pi,double m_V,double eps,double alpha_dark,double f_pi,double m_l,bool rho);
53
54 double getCtau(double m_Ap,double m_pi,double m_V,double eps,double alpha_dark,double f_pi,double m_l,bool rho);
55
56 double gamma(double m_V,double E_V);
57
58 double radiativeFraction(double m_Ap);
59
60 double radiativeAcceptance(double m_Ap);
61
62 double massResolution(double m_V);
63
64 double controlRegionBackgroundRate(double m_Ap);
65
66 double expectedSignalCalculation(double m_V, double eps, bool rho,
67 double E_V, TEfficiency* effCalc_h, double target_pos, double zcut);
68
69 double expectedSignalCalculation(double m_Ap, double m_pi, double m_V, double eps, double alpha_dark,
70 double f_pi, double m_l, bool rho,double E_V, TEfficiency* effCalc_h, double target_pos,
71 double zcut);
72
73 double expectedSignalCalculation(double m_V, double eps, bool rho, double E_V,
74 TEfficiency* effCalc_h, double dNdm, double radFrac, double radAcc, double target_pos, double zcut);
75
76 double getAprimeMassFromVectorMass(double m_V){return m_V * mass_ratio_Ap_to_Vd_;};
77
78 private:
79
80 int year_ = 2016;
83 double mass_ratio_Ap_to_Vd_ = 3.0/1.8;
84 double ratio_mPi_to_fPi_ = 4.*M_PI;
85 double m_l_ = 0.511;
86 double alpha_dark_ = 0.1;
87
88};
nlohmann::json json
nlohmann::json json
All SIMP Equations for calculating expected signal.
double Tv(bool rho, bool phi)
double f(double r)
double rate_Vrho_pi(double m_Ap, double m_pi, double m_V, double alpha_dark, double f_pi)
double expectedSignalCalculation(double m_V, double eps, bool rho, double E_V, TEfficiency *effCalc_h, double target_pos, double zcut)
double getCtau(double m_Ap, double m_pi, double m_V, double eps, double alpha_dark, double f_pi, double m_l, bool rho)
double rate_Vphi_pi(double m_Ap, double m_pi, double m_V, double alpha_dark, double f_pi)
double rate_2V(double m_Ap, double m_V, double alpha_dark)
double controlRegionBackgroundRate(double m_Ap)
double rate_Vcharged_pi(double m_Ap, double m_pi, double m_V, double alpha_dark, double f_pi)
double getAprimeMassFromVectorMass(double m_V)
double radiativeFraction(double m_Ap)
void loadParametersConfig(const std::string paramsConfigFile)
double Beta(double x, double y)
double br_Vrho_pi(double m_Ap, double m_pi, double m_V, double alpha_dark, double f_pi)
int year_
year (used to specify polynomial choices)
double rate_2pi(double m_Ap, double m_pi, double m_V, double alpha_dark)
double radiativeAcceptance(double m_Ap)
double br_Vphi_pi(double m_Ap, double m_pi, double m_V, double alpha_dark, double f_pi)
double m_l_
default lepton mass (ele/pos only)
double gamma(double m_V, double E_V)
double br_Vcharged_pi(double m_Ap, double m_pi, double m_V, double alpha_dark, double f_pi)
double br_2V(double m_Ap, double m_pi, double m_V, double alpha_dark, double f_pi, double rho, double phi)
double mass_ratio_Ap_to_Pid_
default Ap to dark pion mass ratio
double alpha_dark_
default A' to dark meson coupling
double rate_2l(double m_Ap, double m_pi, double m_V, double eps, double alpha_dark, double f_pi, double m_l, bool rho)
double br_2pi(double m_Ap, double m_pi, double m_V, double alpha_dark, double f_pi)
double ratio_mPi_to_fPi_
defualt dark pion mass to decay constant ratio
json params_config_
read in simp params
double mass_ratio_Ap_to_Vd_
default Ap to dark vector mass ratio
double massResolution(double m_V)