Hello all,
We’re trying to perform a linearity test and pull calculations for our analysis, and it seems that RooMCStudy would give us the tools we need to do this, but there are a few questions we have regarding setting this up. In general, our model is set up as this (using the code at the end):
model = nbkg * PDF_bkg + nsig * (fcorr*PDF_sig(corr) + (1-fcorr)*PDF_sig(nocorr) )
The PDFs here are generated from MC@NLO both with and without spin correlation. Our goal is to perform a linearity test where these MC studies are done with a range of fcorr values from, for example, 0 to 2 at .25 intervals, with pull calculations done for each.
Is this something that RooMCStudy is capable of? If so, what would be the appropriate method for doing so?
My assumption is that I’d need to generate a toy data set from the model itself, with fcorr overrided to be the values I desire for the linearity test. I’m not certain how to accomplish this, however. Can you offer any guideance?
Thanks,
Aiken
RooRealVar x(“x”,“x”,-1,1);
RooRealVar fcorr(“fcorr”, “f_{corr}”, 0.001, 0., 2.);
RooRealVar nbkg(“nbkg”,“number of background events”,bgEstimate,bgEstimate,bgEstimate);
RooRealVar nsig(“nsig”,“number of signal events”,8000,0,150000);
RooDataHist fullCorrTemp(“fullCorrTemp”,“fullCorrTemp”,x,Corr_TemplateHist);
RooHistPdf fullCorrPdf(“fullCorrPdf”,“fullCorrPdf”,x,fullCorrTemp,0);
RooDataHist noCorrTemp(“noCorrTemp”,“noCorrTemp”,x,NoCorr_TemplateHist);
RooHistPdf noCorrPdf(“noCorrPdf”,“noCorrPdf”,x,noCorrTemp,0);
RooDataHist bgTemp(“bgTemp”, “bgTemp”, x, BG_TemplateHist);
RooHistPdf bgPdf(“bgPdf”, “bgPdf”, x, bgTemp, 0);
RooDataHist hData(“hData”,“hData”,x,Data_Hist);
RooAddPdf sigPdf(“sigPdf”, “sigPdf”, RooArgList(fullCorrPdf, noCorrPdf), fcorr);
RooAddPdf model(“model”,“model”,RooArgList(bgPdf,sigPdf),RooArgList(nbkg,nsig));