Re: [BLAST_ANAWARE] dst question

From: Chi Zhang (zhangchi@MIT.EDU)
Date: Wed Sep 01 2004 - 17:41:37 EDT


in lr ntuple, use "nhl" or "nhr" which stands for" Number of Hits L/R"
in DST, loop over the 18 hits:
             int nhit = 0;
             for (int itrk=0; itrk<ntrk; ++itrk) {
                for (int i=0; i<18; ++i) {
                    int tdc = dst.fEvent->GetWCTDC(itrk, i);
                    if (tdc>0) ++nhit;
                }
             }

             if (nhit>15) // do something

On Wed, 1 Sep 2004, vitaliy ziskin wrote:

> Chi or any one else,
> I'm trying to veto on a number of wire hits for each track. But it
> seems that individual track holds no such information. Any suggestions
> on the work around?
>
>
> Cheers, Vitaliy
>
> Chi Zhang wrote:
>
> >Hi, I may know what is the problem. make sure you open dst with the proper
> >"mode":
> > dst.Open(*gRecon, gOpt->DstFile(irun), "READ", "MACRO");
> >the "MACRO" is important.
> >
> >Chris and I decided in the design phase that a few "modes" are
> >implemented. "MICRO", "MESSO" and "MACRO". In "MICRO" mode, epics and
> >scaler trees status are set to 0 so the reading of the dst is faster.
> >while in "MACRO" mode, all branches are active.
> >
> >I just update the dst_filter.C macro and I can read non-trivial
> >epics/scaler information out from dst-8136.root. It is a <100 line macro.
> >if it is not much trouble, you can compare your code to it. make sure you
> >update it, a couple lines are patched for compatibility.
> >
> >Chi
> >
> >On Tue, 31 Aug 2004, vitaliy ziskin wrote:
> >
> >
> >
> >>Chi,
> >>that's exactly what I do.
> >>I do :
> >>
> >>dst.Open(...)
> >>.....................
> >>dst.GetEntry(iev)
> >>
> >>Both dst.fEvent->fNEpics and dst.fEvent.fNScaler give me non-zero
> >>value, but the values of epics and scaler variables are zero.
> >>
> >> Vitaliy
> >>
> >>
> >>Chi Zhang wrote:
> >>
> >>
> >>
> >>>Hi, next time, maybe paste the relevant code blocks which makes it easier
> >>>than to guess what might be wrong.
> >>>
> >>>if you do:
> >>> TBLDst dst;
> >>> dst.Open(...);
> >>> dst.GetEntry(i); // here dst is a TBLDst Object
> >>>then dst.fEpics and dst.fScaler should be filled.
> >>>
> >>>if you do:
> >>> TBLDst dst;
> >>> dst.Open(...);
> >>> dst.dst->GetEntry(i); // dst.dst being a ROOT Tree
> >>>then dst.fEpics and dst.fScaler would be empty.
> >>>
> >>>TBLDst::GetEntry(int) is a wrapper arround TTree::GetEntry(int) which
> >>>after calling TTree::GetEntry(int i) upon dst::dst, executes:
> >>>
> >>> if (fEvent->fNEpics>-1 && fEvent->fNEpics<nepics) {
> >>> nbits += epics ->GetEntry(fEvent->fNEpics);
> >>> while(fFill->fFillNumber<fEpics->fFillNumber) {
> >>> GetNextFill();
> >>> }
> >>> }
> >>> else
> >>> fEpics->Clear(true);
> >>>
> >>> if (fEvent->fNScaler>-1 && fEvent->fNScaler<nscaler)
> >>> nbits += scaler->GetEntry(fEvent->fNScaler);
> >>> else
> >>> fScaler->Clear(true);
> >>>
> >>>Try use TBLDst::GetEntry(int).
> >>>
> >>>Also after TBLDst::GetEntry(), if dst.fEpics and dst.fScaler are still
> >>>empty, try:
> >>> cout<<dst.fEvent->fNEpics<<" "<<dst.fEvent.fNScaler<<endl;
> >>>if they are -1 then this physics event is not linked to any epics/scaler
> >>>events. then dst.fEpics and dst.fScaler should be empty too.
> >>>
> >>>if these numbers are none 0 yet you still have empty fEpics and fScaler,
> >>>then there s a problem I need to fix.
> >>>
> >>>Physics events not linked to scaler events might be problematic in terms
> >>>of integrated charge. those not linked to epics events might be less of a
> >>>problem.
> >>>
> >>>Chi
> >>>
> >>>On Tue, 31 Aug 2004, vitaliy ziskin wrote:
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>>When I try to get information about dst.fEpics and dst.fScaler variables
> >>>>I get all zeros (for example dst.fEpics->fFillNumber). dst.fEvent seems
> >>>>to work ok. Why is that? Does this mean that the scaler and epics info
> >>>>is not loaded into the dst? I'm using runs 8138 and 8136.
> >>>>
> >>>> I would appreciate your help,
> >>>>Vitaliy
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
>



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