Print

Print


Hi everyone,

I am getting some strange results from my ntuples.

I am working in:

~penguin/vubrecoil/vub30/workdir

I have two generic chains of ntuples:

chains/B0B0bar1235.C
chains/BpBm1237.C

But when I plot the reconstructed 
Breco charge ("brecocharge") for each chain, 
I get lots of +/-1 in the B0B0bar sample, 
and lots of 0 in the BpBm sample.  See:

~penguin/vubrecoil/vub30/workdir/SP1235.gif
~peneguin/vubrecoil/vub30/workdir/SP1237.gif

So I was kind of worried, because I would have thought 
BSemiExcl would do better than that.  

I wanted to find an MC truth variable so I could 
check the true charge of the B mesons, but I ran into 
trouble there, too.

First I thought I'd try "IdBtrue".  This comes from the code:

fIdBtrue = (int)pTruthRecoil->getRecoCandidate()->pdtEntry()->lundId();

in VubXlnu.cc.  I had assumed this would be the usual PDT 
numbers: ie, +/-511 for B0 and B0bar, and +/-521 for Bp and Bm.  
But when I looked at IdBtrue in my ntuples, all the entries were 1.

Then I tried "ch1B".  I thought it might be the charge of a B meson.  
In the code it is:

fch1B = (int)(pTruthRecoil->getmatchesReco()).first;

I tried to trace it back in the code but it got very confusing.  
It looks like it's actually the value of a counter.  
Anyway, the plots showed lots of values greater than 1, so 
I guess this is not the B meson charge.

So I guess I have 3 questions:

(1) Why does the BSemiExcl skim assign the wrong charge to 
so many of the B mesons?  Is this normal?

(2) What is IdBtrue?

(3) How can I confirm that the true B meson charges are 
what they are supposed to be?  Is there any variable that 
will give me the true B charge?

Thanks,

sheila