Re: opening lr files from blast ANALDIR

From: Eugene J. Geis (Eugene.Geis@asu.edu)
Date: Mon May 22 2006 - 18:58:42 EDT


Chris,
After looking into TEventList, I think it's worthless to try it that way. It
seems that in order to get the event numbers that I need, I still need to
have my own ntuples in a TChain as well as the "lr" TNtuple of the
necessary run number loaded. The TEventList doesn't store anything
but the list of "jentries" in my personal data TTree's. This means that
I still have to have my data open while I'm processing lr-# files... so
why not manually grab each event one by one and read the necessary
nev entry while a specific lr-# run number is being used? TEventList
seems to be a bit of an epicyclic utility for this task...

I feel like I'm back where I started from 3 days ago and I'm just going
through the 8 ways to accomplish this task. My initial 7 don't work so
number 8 must be the charm... I'll let you know if the tmt_offsets
format works.

-e

Quoting Christopher Crawford <chris2@lns.mit.edu>:

> Eugene,
> That's correct. You can use all of the usual options like
> specifying the path/ntuple name (see 'root init.C --help'). Since
> only the filenames are stored in the chain, 4000 should be fine. I'm
>
> not sure how to use TEventList directly with TChain, but you can do
> it manually in your event loop without problem. I recommend using a
> separate event list for each run, just in case you use different run
> lists.
> --Chris
>
> TA-53/MPF-1/D111 P-23 MS H803
> LANL, Los Alamos, NM 87545
> 505-665-9804(o) 665-4121(f) 662-0639(h)
>
>
> On May 22, 2006, at 13:29:36, Eugene J. Geis wrote:
>
> > Great macro, great example (tmt_offsets.C). When you call
> > it, I assume you're simply doing:
> >
> > <> root -l tmt_offsets.C 7851-7855 #### ####-#### ....
> >
> > I'll look into TEventList support. Hopefully it will be
> > more useful than my 7 input files of run numbers and event
> > numbers. Maybe it can easily accomodate a runlist of 4000 runs
> > (not 400 like I accidentally said twice...) But yeah, 4000
> > runs. That's why I was hesitant to chain the lr files... 4000
> > seemed immense.
> >
> > -e
> >
> >
> >
> > Quoting Christopher Crawford <chris2@lns.mit.edu>:
> >
> >> Hi Eugene,
> >> You can create a TChain of 400 event files with 'init.C' and
> then
> >> loop through them with the standard TSelector methods. See, for
> >> example 'blast/exp/analysis/macros/tmt_offsets.C'. It is fast
> >> because it correctly handles chains and only actually opens one
> file
> >> at a time. I just started with the root standard example, and it
> >> does support SetBranchStatus (although I just manually read the
> >> branches I am interested in).
> >> If your 'Int_t list' is an event list, I recommend using the
> >> TEventList support in ROOT. They can also be save in TFile's.
> >> --Chris
> >>
> >> TA-53/MPF-1/D111 P-23 MS H803
> >> LANL, Los Alamos, NM 87545
> >> 505-665-9804(o) 665-4121(f) 662-0639(h)
> >>
> >>
> >> On May 22, 2006, at 11:26:19, Eugene J. Geis wrote:
> >>
> >>> the files aren't broken. I can load them individually from the
> >>> command line in ROOT using the exact same commands that kill
> >>> ROOT from the inside of my program (This is what I mean when I
> >>> contend that I have a ridiculous amount of bad luck when I try and
> >>> do simple things). The problem with lr.C is
> >>> that I'll have to call it 400 times in this program. I don't
> >>> think it is wise to chain 400 lr files due to their size. If I am
> >>> mistaken in this assumption, please let me know as this task
> >>> would become very easy to accomplish. I was also thinking about
> >>> filling a 2-D array of 2.6 million integers but I haven't tried
> >>> this either because I'm afraid of more memory problems. I don't
> >>> know much about the limitations of the innards of computing. If
> >>> an array this large, e.g. Int_t list[2][1300000], is ok, then I
> >>> could cut the possibility that it is a problem with having two
> >>> input files open (the ifstream eventlist file and the lr-#
> ntuple).
> >>>
> >>> Also,since I'm building an ntuple of 12 entries and using the
> memory
> >>> addresses of the branches in the lr-# file. I am calling
> >>> SetBranchStatus, and SetBranchAddress functions and I don't know
> if
> >>> these are accessible through any other method outside of calling
> an
> >>> instance of TNtuple.
> >>>
> >>> -e
> >>>
> >>>
> >>>
> >>> Quoting Christopher Crawford <chris2@lns.mit.edu>:
> >>>
> >>>> Hi Eugene,
> >>>> Have you tried 'lr.C'? Perhaps those files are broken, but
> >> still
> >>>> it shouldn't break ROOT.
> >>>> --Chris
> >>>>
> >>>> TA-53/MPF-1/D111 P-23 MS H803
> >>>> LANL, Los Alamos, NM 87545
> >>>> 505-665-9804(o) 665-4121(f) 662-0639(h)
> >>>>
> >>>>
> >>>> On May 22, 2006, at 01:51:35, Eugene J. Geis wrote:
> >>>>
> >>>>> Hello,
> >>>>> Another insignificant email of the ridiculous bad luck
> >>>>> I have with every simple thing I try:
> >>>>>
> >>>>> I'm opening an event list that spans about 400+ run
> >>>>> numbers. I need to open the 7 data files that contain
> >>>>> my event list sequentially, and open single lr-# files
> >>>>> one at a time to retrieve and fill a 12 member branch
> >>>>> in a TTree. When I open particular run numbers, e.g.
> >>>>> 8412, 8413, 8414, 8416, 8482... my program simply breaks.
> >>>>> I declare the TFile, and when I file->Get("lr"); the program
> >>>>> breaks and root quits. Works for all files in my runlist from
> >>>>> ~7800 through 8211, then breaks for the run numbers mentioned
> >>>>> earlier.
> >>>>>
> >>>>> This is how I call the lr files.
> >>>>>
> >>>>> TFile* file = new TFile("/net/Data/9/Analysis/data/lr-#.root");
> >>>>> TNtuple* block = (TNtuple*)file->Get("lr");
> >>>>>
> >>>>> I open these files one at a time while I keep an ifstream
> >>>>> instance of a file open. Maybe memory errors? In which case
> >>>>> I still need to do this differently.
> >>>>>
> >>>>> Does anyone use some alternate ways of calling lr events from
> >>>>> an Ntuple file?
> >>>>>
> >>>>> -e
> >>>>>
> >>>>> ------------------------------------------------------------------
>
> >>>>> --
> >>
> >>>>> --
> >>>>
> >>>>> ----
> >>>>> Eugene Geis
> >>>>> PhD Student, Physics Department, ASU
> >>>>> Research Affiliate, MIT-Bates Laboratory of Nuclear Science
> >>>>> eugene.geis@asu.edu
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>> --------------------------------------------------------------------
>
> >>> --
> >>
> >>> ----
> >>> Eugene Geis
> >>> PhD Student, Physics Department, ASU
> >>> Research Affiliate, MIT-Bates Laboratory of Nuclear Science
> >>> eugene.geis@asu.edu
> >>> --------------------------------------------------------------------
>
> >>> --
> >>
> >>> ----
> >>> http://quickreaction.blogspot.com
> >>
> >>
> >
> >
> >
> > ----------------------------------------------------------------------
>
> > ----
> > Eugene Geis
> > PhD Student, Physics Department, ASU
> > Research Affiliate, MIT-Bates Laboratory of Nuclear Science
> > eugene.geis@asu.edu
> > ----------------------------------------------------------------------
>
> > ----
> > http://quickreaction.blogspot.com
>
>

--------------------------------------------------------------------------
Eugene Geis
PhD Student, Physics Department, ASU
Research Affiliate, MIT-Bates Laboratory of Nuclear Science
eugene.geis@asu.edu
--------------------------------------------------------------------------
http://quickreaction.blogspot.com



This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:33 EST