Str2VarMap getJpsiPars(TString type, TCut cut, TFile * file) { string datafilename = "/afs/cern.ch/work/p/pluca/weighted/Lmumu/candLb.root"; string candfilename = "/afs/cern.ch/work/p/pluca/weighted/Lmumu/candLb_MC.root"; TFile * MCFile = TFile::Open(candfilename.c_str()); TTree * BdJpsiKSTree = (TTree *)MCFile->Get("candBdJpsiKS"); file->cd(); RooRealVar * vMuMu = new RooRealVar("Lb_MassConsLambda","Lb_MassConsLambda",5620.,5350.,6000.); Analysis * anaLbMuMu_MC = new Analysis("Lb2Lmumu_"+type+"_MC","Lb","candLb2Lmumu",candfilename,vMuMu,&CutsDef::cutMuMu); RooRealVar * vJpsi = new RooRealVar("Lb_MassConsJpsiLambda","Lb_MassConsJpsiLambda",5620.,5250.,6000.); Analysis * anaLbJpsi_default = new Analysis("Jpsi_default","Lb","candLb2JpsiL",datafilename,vJpsi,&CutsDef::cutJpsi); string model = "DCB_Sn"; string optionsjpsi = "-ANDpulls-log-stdAxis-quiet-XM(#Lambda#mu#mu) (MeV/c^{2})-noCost-nochi2"; string optionsmumu = "-stdAxis-quiet-XM(#Lambda#mu#mu) (MeV/c^{2})-noCost-nochi2"; anaLbMuMu_MC->SetSignal((model+"-s[9]-s2[30]").c_str()); anaLbMuMu_MC->Initialize(""); anaLbMuMu_MC->Fit(5400.,5750.,200,true,"-stdAxis-XM(#Lambda#mu#mu) (MeV/c^{2})-noCost-nochi2",CutsDef::mumuTrueID+cut); Str2VarMap MCpars = anaLbMuMu_MC->GetSigParams(); Analysis * KS = new Analysis("KS_bkg","Lb",BdJpsiKSTree,vJpsi,"DCB_OST","","-namepar"); KS->Fit(5300.,6000.,150,true,"-noPlot-quiet"); Str2VarMap pars = KS->GetSigParams(); RooRealVar * m_shift = new RooRealVar("m_shift","shift",0.,-5.,5.); setConstant(&pars); ModifyPars(&pars,"m",m_shift,"-shift"); string jpsimodel = model+"-Xn"+Form("[%f]",MCpars["n"]->getVal()); jpsimodel += (string)"-s[7,1,12]";//+Form("[%f]",MCpars["s"]->getVal()); jpsimodel += (string)"-s2[15,8,30]";//+Form("[%f,]",MCpars["s2"]->getVal()); jpsimodel += (string)"-a"+Form("[%f]",MCpars["a"]->getVal()); jpsimodel += (string)"-a2"+Form("[%f]",MCpars["a2"]->getVal()); jpsimodel += (string)"-f"+Form("[%f]",MCpars["f"]->getVal()); anaLbJpsi_default->SetSignal(jpsimodel.c_str()); RooRealVar * nKSjpsi = new RooRealVar("nKSjpsi","nKSjpsi",2.e3,0,1.e4); anaLbJpsi_default->addBkgComponent("JpsiKS","DCB_OST",nKSjpsi,"",pars); //anaLbJpsi_default->addBkgComponent("BuKst",BuKstmumuTree,350.); anaLbJpsi_default->Initialize(); anaLbJpsi_default->Fit(5300.,6000.,200,true,optionsjpsi,cut); Str2VarMap jpsiSigpars = anaLbJpsi_default->GetSigParams(); setConstant(&jpsiSigpars); RooRealVar * factor = new RooRealVar("factor","factor",1.,0.5,3.); ModifyPars(&jpsiSigpars,"s",factor); ModifyPars(&jpsiSigpars,"s2",factor); return jpsiSigpars; }