File indexing completed on 2026-05-23 08:10:31
0001 #ifndef KSHORTMODEL_H
0002 #define KSHORTMODEL_H
0003
0004 #include "ParticleModel.h"
0005
0006 struct KshortModel : ParticleModel
0007 {
0008 KshortModel()
0009 {
0010 name = "K_S0";
0011
0012 setup_default_mass_nsignal_nbackground("K_S0","K_{S}^{0}",0.45,0.55);
0013
0014 add_signal_parameter("ks_mean","mean",0.49,0.48,0.5);
0015 add_signal_parameter("ks_mean2","mean2",0.49,0.48,0.5);
0016 add_signal_parameter("ks_width","width",0.005,0.0001,0.2);
0017 add_signal_parameter("ks_width2","width2",0.005,0.0001,0.2);
0018
0019 signal_gaus1 = std::make_shared<RooGaussian>("ks_gaus1","signal_gaus1",*mass,signal_parameters[0],signal_parameters[2]);
0020 signal_gaus2 = std::make_shared<RooGaussian>("ks_gaus2","signal_gaus2",*mass,signal_parameters[0],signal_parameters[3]);
0021 n_gaus1 = std::make_shared<RooRealVar>("ngaus1","gaus 1",100.,0.,1e9);
0022 n_gaus2 = std::make_shared<RooRealVar>("ngaus2","gaus 2",100.,0.,1e9);
0023
0024
0025 signal_function = std::make_shared<RooAddPdf>("ks_signal","double gaussian signal",RooArgList(*signal_gaus1,*signal_gaus2),RooArgList(*n_gaus1,*n_gaus2));
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 add_background_parameter("ks_k","k",-1.,-10.,10.);
0037
0038 background_function = std::make_shared<RooExponential>("ks_bkg","background",*mass,background_parameters[0]);
0039
0040 fit_function = std::make_shared<RooAddPdf>("ks_model","combined signal and background",RooArgList(*signal_function,*background_function),RooArgList(*n_signal,*n_background));
0041 }
0042
0043 std::shared_ptr<RooGaussian> signal_gaus1;
0044 std::shared_ptr<RooGaussian> signal_gaus2;
0045 std::shared_ptr<RooRealVar> n_gaus1;
0046 std::shared_ptr<RooRealVar> n_gaus2;
0047 };
0048
0049 #endif