Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-05-23 08:10:32

0001 #ifndef LAMBDAMODEL_H
0002 #define LAMBDAMODEL_H
0003 
0004 #include "ParticleModel.h"
0005 
0006 struct LambdaModel : ParticleModel
0007 {
0008   LambdaModel()
0009   {
0010     name = "Lambda0";
0011 
0012     setup_default_mass_nsignal_nbackground("Lambda0","#Lambda^{0}",1.1,1.14);
0013 /*
0014     signal_parameters.emplace_back("lambda_mean","mean",1.113,1.11,1.12);
0015     signal_parameters.emplace_back("lambda_width","width",0.01,0.0001,0.2);
0016 
0017     signal_function = std::make_shared<RooGaussian>("lambda_signal","signal",*mass,signal_parameters[0],signal_parameters[1]);
0018 
0019     background_parameters.emplace_back("lambda_lin_coef","lin_coef",0.,0.,1.);
0020     background_parameters.emplace_back("lambda_quad_coef","quad_coef",0.,0.,1.);
0021     background_parameters.emplace_back("lambda_cubic_coef","cubic_coef",0.,0.,1.);
0022     background_parameters.emplace_back("lambda_quartic_coef","quartic_coef",0.,0.,1.);
0023     background_parameters.emplace_back("lambda_quintic_coef","quintic_coef",0.,0.,1.);
0024 
0025     background_function = std::make_shared<RooChebychev>("lambda_bkg","background",*mass,RooArgList(background_parameters.begin(),background_parameters.end()));
0026 */
0027     add_signal_parameter("lambda_x0","x0",1.113,1.11,1.12);
0028     add_signal_parameter("lambda_sigmaL","sigma_L",0.01,0.0001,0.2);
0029     add_signal_parameter("lambda_sigmaR","sigma_R",0.01,0.0001,0.2);
0030     add_signal_parameter("lambda_alphaL","alpha_L",0.01,0.0001,100.);
0031     add_signal_parameter("lambda_nL","n_L",1.,0.0001,5.);
0032     add_signal_parameter("lambda_alphaR","alpha_R",0.01,0.0001,100.);
0033     add_signal_parameter("lambda_nR","n_R",1.,0.0001,5.);
0034 
0035     signal_function = std::make_shared<RooCrystalBall>("lambda_signal","signal",*mass,signal_parameters[0],signal_parameters[1],signal_parameters[2],signal_parameters[3],signal_parameters[4],signal_parameters[5],signal_parameters[6]);
0036 
0037     //fThresholdBackground = std::make_shared<TF1>("fThresholdBackground","TMath::Sqrt(x)*TMath::Exp([0]*x)",1.1,1.14);
0038 
0039     add_background_parameter("lambda_k","k",-1.,-10.,10.);
0040 
0041     //background_function = std::shared_ptr<RooAbsPdf>(RooFit::bindPdf(fThresholdBackground.get(),*mass));
0042     background_function = std::make_shared<RooExponential>("lambda_background","background",*mass,background_parameters[0]);
0043 
0044     fit_function = std::make_shared<RooAddPdf>("lambda_model","combined signal and background",RooArgList(*signal_function,*background_function),RooArgList(*n_signal,*n_background));
0045   }
0046 
0047   std::shared_ptr<TF1> fThresholdBackground;
0048 };
0049 
0050 #endif