Ciao Antonio,
I believe there are no intermidiate steps, and the two reweighting are swapped in
the present code. This may have been the case for quite a few years, as I modeled
the RecoilMCutils lines you quote on the old CM1 code (I may of course have
introduced this bug myself...).
Given that the production is made, I think it's best to correct this bug at VVF level.
Thanks for spotting this!
Cheers,
Roberto
Antonio Petrella wrote:
> Hi all,
> I think I have found an inconstiency in the way we get and use the
> weight for B decays in VVF.
>
> In recoilDsys ctor we initialize the B->D BF in a vector using this
> order (as by the comment)
>
> 0 = B-> X_c lnu
> 1 = B-> D l nu
> 2 = B-> D* l nu
> 3 = Not used
> 4 = D1 l nu
> 5 = D2* l nu
>
> we do this for the existing measurements and for generation values.
> Then we compute the weights as ratio of measurement/generation value.
>
> The way we use these weights in VVF is via recoilDsys::weight(int bmode)
> function, where bmode is actually the variable Gvxbtyp in our MC ntuples.
>
> I've had a look in BRecoilTools/RecoilMCUtil.cc and from there it seems
> to me that when Gvxbtyp=4 we have actually a B->D2* l nu decay (not a
> D1 l nu decay, that is the weight picked up by recoilDsys::weight(int
> bmode) function) and when Gvxbtyp=5 we have a B->D1 l nu decay.
>
> Are there intermediate steps that I'm missing somewhere or are the two
> weights for D1 and D*2 switched?
>
> Thank you,
> Antonio
|