Print

Print


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