Back to home page

sPhenix code displayed by LXR

 
 

    


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     //signal_function = std::make_shared<RooGaussian>("ks_signal","signal",*mass,signal_parameters[0],signal_parameters[2]);
0025     signal_function = std::make_shared<RooAddPdf>("ks_signal","double gaussian signal",RooArgList(*signal_gaus1,*signal_gaus2),RooArgList(*n_gaus1,*n_gaus2));
0026 /*
0027     background_parameters.emplace_back("ks_lin_coef","lin_coef",0.,0.,1.);
0028     background_parameters.emplace_back("ks_quad_coef","quad_coef",0.,0.,1.);
0029     background_parameters.emplace_back("ks_cubic_coef","cubic_coef",0.,0.,1.);
0030     background_parameters.emplace_back("ks_quartic_coef","quartic_coef",0.,0.,1.);
0031     background_parameters.emplace_back("ks_quintic_coef","quintic_coef",0.,0.,1.);
0032 
0033     background_function = std::make_shared<RooChebychev>("ks_bkg","background",*mass,RooArgList(background_parameters.begin(),background_parameters.end()));
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