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