[d2n-analysis-talk] Analyzer output: histograms written to ROOT files

Diana Parno dseymour at andrew.cmu.edu
Fri Jan 29 17:26:26 EST 2010


I'm still trying to get the hang of the analyzer, and I've got a problem 
that I don't understand.

I thought that, for a given replay script (say, replay_det_BB.C), the 
output that was written to the resulting root file was defined in the 
.odef file (replay_det_BB.odef, in that example). I've presently got my 
onlana directory on the d2n machine ( /home/dseymour/onlana ) set up with 
softlinks to the replay scripts in Dave's analysis directory, but I've 
broken the softlinks to the .cdef and .odef files so that I can play 
around with them. My copy of replay_det_BB.odef has virtually all the 
histogram outputs commented out, with a few other histograms (related to 
the BPMs) left in. I know it's the one being used because Dave's doesn't 
have an epics tree, and my root files do.

Yet, when I analyze a run, my root file is filled with histograms for the 
VDC efficiencies. See for example 
/home/dseymour/onlana/ROOTfiles/e06014_det_BB_1072_1.root , which contains 
43 copies each of Lu1nhit, Lu2nhit, Lv1nhit, Lv2nhit, Ru1nhit, Ru2nhit, 
Rv1nhit, Rv2nhit, Lu1eff, Lu2eff, Lv1eff, Lv2eff, Ru1eff, Ru2eff, Rv1eff, 
Rv2eff, Lenroc12, and Lenroc16. The huge number of copies of these 
histograms appear to fill most of the first six ROOTfiles I got from doing 
a full replay of Run 1072; only the last one has any of the histograms I'm 
actually interested in.

Grep doesn't think any of those histogram titles show up anywhere in my 
onlana directory, nor anywhere in Dave's replay directory (with the 
exception of libBigBite.so). These histograms are defined in 
home/flay/d2n_analysis/d2n/bigbitelib/BBDecData.cxx, and there's a 
WriteHist() command called by the End() function -- is this what's 
inserting these histograms? Is there any reason to have a group of default 
histograms written this way at the end of every single run? It seems to me 
as though having all the histogram writes operate through the .odef files 
gives individuals much better control. I'm reluctant to make my own 
changes in the library that everyone's using. Are we close to having a 
clean copy that we can all spin off our own copies from?

In a more straightforward ROOT question, I'm also curious as to what the 
meaning is behind having multiple copies of a single histogram (e.g. 
Lenroc16;1 and Lenroc16;2 which both show up on a .ls command). Do these 
represent the way ROOT handles a memory overflow when writing a huge 
histogram? Do they represent the same histogram written multiple times for 
some reason? Or is it something else entirely?

Thanks for any explanations you can provide! This really has me scratching 
my head.

Diana


More information about the d2n-analysis-talk mailing list