Print

Print


Hello!

I am trying to solve a problem in my ntuple-making 
code, and I thought maybe someone could help.

The main code is in:

~penguin/vubrecoil/vxb30/VxbRecoil/VxbXlnu.cc

(VxbRecoil is a package I made, based on 
VubRecoilUser and VcbRecoil.)

Here is the problem: I run 30 events with the command:

bin/$BFARCH/VxbRecoilApp VxbXlnu.tcl SP-1235-BSemiExcl-R18b-2 MC 1235 2

which produces the following output files:

workdir/log/SP-1235-BSemiExcl-R18b-2.log
workdir/log/SP-1235-BSemiExcl-R18b-2.root

Then I look at my ntuple in ROOT.
Here is the confusing part.  For example:

root [0] TFile f("data/SP-1235-BSemiExcl-R18b-2.root");
root [1] ntp1->Scan("eUps:eBlab:decayMode");
************************************************
*    Row   *      eUps *     eBlab * decayMode *
************************************************
*        0 * 12.101385 * 6.0293622 *     11101 *
*        1 * 12.101385 *       -10 *         0 *
*        2 * 12.101385 *       -10 *         0 *
*        3 * 12.101385 * 6.3097918 *     12201 *
*        4 * 12.101385 *       -10 *         0 *
*        5 * 12.101448 * 5.9822311 *     15123 *
*        6 * 12.101448 * 6.0727898 *     15236 *
*        7 * 12.101371 * 6.3998302 *     11236 *
*        8 * 12.101428 * 6.1657033 *     14203 *
*        9 * 12.101428 * 6.3021577 *     14323 *
*       10 * 12.101420 * 5.7747154 *     14141 *
*       11 * 12.101420 *       -10 *         0 *
*       12 * 12.101420 * 5.8976044 *     11109 *
*       13 * 12.101369 *       -10 *         0 *
*       14 * 12.101369 * 6.1250192 *     14322 *

The first column has a value of eUps in every row.  
However, for some reason, the values of eBlab have 
been filled with their default values (-10.0) in 
some of the rows.

There are exactly 30 rows (ie, one per event), 
and each has exactly one B meson (I checked).

According to HepTuple/Tuple.h:

"On a particular "event", if no call is made to "column" 
for a particular column, that column's
default value is used when filling the ntuple."

This tells me that for some reason, in some events 
there is no call made to "column".  But as far 
as I can see, there is nothing in VxbXlnu.cc that would 
cause that to happen.  The dumpBreco function should 
be called every time the dumpEventInfo function is 
called.

I checked the Breco pointers, and they were all nonzero.

Does anyone know what is causing this?

Thanks,

sheila