Re: [BLAST_ANAWARE] dst question and general libBlast...

From: Chi Zhang (zhangchi@MIT.EDU)
Date: Thu Sep 30 2004 - 11:27:58 EDT


well, if you want to use simple DetRecon interface, here is what you need
to do:

        gRecon->Fill(*dst.fEvent, ff, quick); // setup recon from dst
the last two arguments are booleans you can read the function definition
in TBLRecon to see what they control.

after this call, you should be able to see all the outer detector hits
through TBLDetRecon interface, you can see all wire chamber hits throught
TBLWc1HitContainer interface. NOTE TBLRAW is NEVER filled through DST cos
its interface is designed specifically to work with coda file format and
writing a interface to DST will be a sizable amount of work and only
result in the same end product that DetRecon and HitContainer are filled
anyway.

I think you know how to get the WC hits directly from DST by now, if you
do not like the outer detector interface to DST, the above line of code
should give you the ussual DetRecon interface.

the units are all "ussaul" :) cm, GeV, GeV/c, ns. all adc and tdc's listed
in lr/flr ntuples are pedestal/offset subtracted but NOT slope converted,
i.e. in unit of raw channels. then in ttwl and atwl, slope conversions are
applied, so these entris have units of ns and "pC or whatever". Then in
Twl, it is absolute time of flight corrected.

in principle, Twl, Twr are sufficient for time of flight cuts/studies but
then a lot of dirty resolution issues sneak into them.

Chi

On Thu, 30 Sep 2004, Eugene J. Geis wrote:

> When I declare a TBLDst dst object and have loaded libBlast.so, I'm plugged into
> the entire TBLEvent class through dst.fEvent->blahblah() But simple information
> like adcs and tdcs of linked scintillators and nc's are a bit cryptic. Tdc, Adc
> are all pretty obvious but different from the functions in TBLDetRecon that fill
> our lr,flr ntuples with the ttl, atl, etc... info. Those are the simple
> GetSCtdc() and adc... but I don't find the obvious link in the dst to use this
> TBLDetRecon function... fEvent, fMC, fEpics and fScaler are all declared in
> TBLDst.h but an instance of fDet or fRaw info would give me this. I'm assuming
> that in order to get to this I have to open the raw Coda file and call
> gRecon->fRaw->GetSCtdc() but it seems there must be an easier less cpu-intensive
> method. In TBLEvent fEvent, I have links to a plethora of scintillator
> information but the info seems a bit overzealous. As listed in lr,flr, would
> the adc in the ntuples be the average, average with pedestal subtracted, sum,
> sum with pedestal subtracted, geometric average with pedestal subtracted, or
> geometric average converted or what... GetSCEnergy, GetSCGEnergy,
> GetSCAdc(0)/2+GetSCAdc(1)/2, ... and is there an easy way to find the units of
> each instance, like Pathlength (cm?), Energy(GeV?), ToF(ns?), Mass(GeV/c^2?)...
> I know these methods have to use the simple adc and tdc raw channels to
> calculate this mess of info, so intuition tells me it must be available in the
> dst. Please beat me if I'm wrong.
>
> Int_t GetSCPad(int n) const { return GetTof(n)->GetPad(); }
> Float_t GetSCPathLength(int n) const { return GetTof(n)->GetPathLength(); }
> Float_t GetSCX(int n) const { return GetTof(n)->GetX(); }
> Float_t GetSCPosition(int n) const { return GetTof(n)->GetPosition(); }
> Float_t GetSCToF(int n) const { return GetTof(n)->GetTimeOfFlight(); }
> Float_t GetSCEnergy(int n) const { return GetTof(n)->GetEnergy(); }
> Float_t GetSCGEnergy(int n) const { return GetTof(n)->GetGEnergy(); }
> Float_t GetMass(int n) const { return GetTof(n)->GetMass(); }
> Short_t GetSCTdc(int n, int tb) const { return GetTof(n)->GetTdc(tb); }
> Short_t GetSCAdc(int n, int tb)
>



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