extracting systematics from profile
Nabil Ghodbane <ghodbane <at> mail.cern.ch>
2013-05-02 16:02:21 GMT
dear experts,
I am trying to submit again this question to which i would be grateful
if someone could confirm the bottom approach.
thanks in advance.
I discussed this with several people, but I would need a confirmation
that what i am doing is consistent enough.
Basically, I am trying to extract some single source systematic
uncertainty associated to one measurement. In order to extract the
different systematics, I am proceeding as follow:
1) start with the histogram templates for signal (nominal and
systematics) and data driven background and produce the Roofit workspace
using the Histfactory machinery.
2) fix all nuisance parameters to zero, fit and extract the 68%
confidence interval.
-> This is the nominal signal strength factor, that i label: mu_nom_c,
mu_nom_u, mu_nom_d (central, upper, lower)
3) leave all nuisance parameters free within [-2,2], perform the fit and
extract again the associated 68% confidence interval.
-> I label these: mu_sys_c, mu_sys_u, mu_sys_d (central, upper, lower)
-> I have the set of associated values for the nuisance parameters.
4) loop over all nuisance parameters, for each of them, fix its value to
the value found in step 3) and perform the fit w.r.t. all other ones
left free and extract the associated 68% CL interval. I call this:
-> I label these: mu_alphaI_c, mu_alphaI_u, mu_alphaI_d (central, upper,
lower)
5) fix all nuisance parameters to their value found in step 3) and
perform the fit -> this allows me to extract the stat only uncertainty:
mu_stat_c, mu_stat_u, mu_stat_d
then i compute the systematics (total and single sources ) as follow:
a) total systematics:
--------------------------
tot_sys_u = ( |(mu_sys_c - mu_sys_u)^2 - (mu_stat_c - mu_stat_u)^2 |)^(1/2)
tot_sys_d = ( |(mu_sys_c - mu_sys_d)^2 - (mu_stat_c - mu_stat_d)^2 |)^(1/2)
b) Luminosity:
------------------
lumi_sys_u = ( |(mu_lumi_c - mu_lumi_u)^2 - (mu_stat_c - mu_stat_u)^2
|)^(1/2)
lumi_sys_d = ( |(mu_lumi_c - mu_lumi_d)^2 - (mu_stat_c - mu_stat_d)^2
|)^(1/2)
c) Nuisance parameter associated systematics:
---------------------------------------------------------------
alpha_sys_u = ( | (mu_sys_c - mu_sys_u)^2 - (mu_alpha_c - mu_alpha_u)^2
|)^(1/2);
alpha_sys_d = ( | (mu_sys_c - mu_sys_d)^2 - (mu_alpha_c - mu_alpha_d)^2
|)^(1/2);
To do this on the technical aspect, I am using Minuit2 like:
mc->GetPdf()->fitTo(*data,Save(kTRUE),InitialHesse(true),
Hesse(true),Minos(kTRUE), RooFit::Minimizer("Minuit2","minos"),
Strategy(1), PrintLevel(3), Save(true) );
and to extract the confidence interval, i use:
ProfileLikelihoodCalculator* PL = new
ProfileLikelihoodCalculator(*data,*mc);
PL->SetConfidenceLevel(0.68);
LikelihoodInterval* interval = PL->GetInterval();
double intervalValue = POI->getVal();
double intervalError = POI->getError();
double intervalLow = interval->LowerLimit(*POI);
double intervalUp = interval->UpperLimit(*POI);
thanks in advance.
--
--
Nabil Ghodbane
Skype: nabilghodbane