From: Djamel Ouerdane (ouerdane@nbi.dk)
Date: Mon Mar 03 2003 - 13:43:37 EST
Hi all, As I warned more or less clearly earlier, I have updated brat quite a lot in order to improve some TOF pid efficiency. The version is now 2.7.8, the tag is BRAT-2-7-8. The bdst package has also been updated to contain some missing information, the version is now 1.0.3, the tag is BDST-1-0-3 (configure will abort if the version of brat is older). Now that this is done, my task on improving the soft is OVER for the next two months (I spent two weeks doing data analyses, checks, bug fixes and so on) so unless I introduced stupid bugs, in which case, I'll be glad to fixe them, I now want to focus on the end of my PhD stuff (thesis). Peter and I are gonna rebuild quickly the DSTs (some calibrations need to be redone but with the tools mentioned below, it's gonna be fast) with a priority on the FFS data (the y ~ 2 stuff is still shaky). If you use this version of brat and bdst and notice some weird stuff despite the indications I give, tell me asap. I haven't noticed any weird behaviour (I recompiled from scratch, applied some checks up to DSTs but who knows). Ciao Djam --------------------------------------------- Changes to brat : ----------------- * data/calib : BrTofCalibration enabled ADC gap for TOF1, TOF2 and TOFW * data/params : BrDetectorParamsTof added a lot of methods dealing with the geometry of a 3D line crossing a slat. This is mostly relevant for H1 and H2 which have a more subtle configuration than I naively thought. * data/track : BrDetectorTrack added non persistent member fTmpPos (vector3D) to ease corrections. I use it a lot for T2 since it affects the track-tof matching for the first slats. * data/track : BrSpectrometerTracks added a member in BrFsTrack (partial path) and modified the pointed slat information. The pointed slat member can now contain 2 slat candidates GetPointedSlat() or GetBestPointedSlat() returns the best GetSecondPointedSlat() returns the 2nd (internally, there was no need to add a new member) * scripts/calib/tof : added OfflineTofCal.C I had this macro lying around for quite some time but I thought I'd share it with others. Usually, a tof calibration job takes some time especially if one starts from local tracking up to calibration histograms. This macro is for the impatient like me : I usually have a set of shell scripts generating LSF scripts for each sequence of a run. Using the farm this way is really cool (if you don't drown it with 1000s of jobs). At the end, I merge all histogram files and I use this macro for "offline" calibration. Load it in bratroot. Then methods are : adcGap(<...>) adcGain0(<...>) timeOffset(<...>) deltaDelay(<...>) depending on your histogram file of course, you should pick up the right method. You end up with an ascii file loadable for commitment (standard procedure). In some cases, you also have a display of the results but this is not finished for all cal. The slewing is not included since the procedure is not histogram based. (Trick : I wrote a histo merging program, based of the bm stuff and root macro tutorial, called mergeHistFile. You can pick it up from brahms_app/do_app/track. It also handles ntuples but _not_ complicated trees like e.g. DSTs) * modules/calib/tof : adc gain : changed histogramming and simplified the peak finder adc gap : added Event & Finish methods. Works fine provided that you go through a LOT of data (20 runs at least) tdc delay : since all slats are made of the same material and since I saw that H1 and H2 showed the same effective speed of light average, I allow the delay calibration to use a constant speed of light. If you set the min and max cscint before module initialization to the same value, this value will be used as is for calibrating the delay between the bottom and top tubes The value I use for H1 and H2 is 11.5 cm/ns. Since T5 and T2 agreed, I assumed that this value was right. time offset & slewing & delay : I am more strict with the hit selection. I remove multiple hits found by the matching module and I set a default max energy loss of 2 de_MIP (mostly relevant for the time offset and delay) * modules/pid : BrTofPidModule added some more stuff in the ntuple, corrected some forgotten check of the time 0 type (mrs counter) * modules/rdo : BrTofRdoModule added ntuple for track-tof matchings, added SetUseAdcGap(<bool>) (H1 and H2 calibrations are in the DB, use it safely TOFW is not yet) * modules/track/tpc : added detectorTrack->SetTmpPos when copied from TpcTrack * modules/track/combine : BrModuleMatchTrack : fixed a missing if (HistOn()) BrFfsTrackingModule: added a TSpline3 member for T2 position correction. You can use it by configuring it like that : ffsModule->UseT2XCorrection(); It will pick up some data from an ascii file in <install>/share/brat/params called dxT2T3.dat I also changed the TOF pointing. It is now more reliable. BrBfsTrackingModule : same thing for the TOF stuff BrFsTrakingModule : keep track of new TOF stuff BrDcEnhancement : apparently, nobody tried this module without histos booked...fixed it. BrMrsTrackingModule : save the intersection with the TOF panels in the local coordinate frame (was global before, which was a bit annoying...). Note that the mrs track has a pointed panel member if in doubt. * modules/util : added 2 new modules (did not remove the old yet, I'll give some time for people to try the new modules), namely BrFfsTof1MatchingModule BrFsTof2MatchingModule. They are based on the new track-TOF pointing (read comments at top of implementation file). Added ntuples too. BrMrsTofMatchingModule : updated according to mrs tracking module tof pointing. * modules/vertex : BrBbVertexModule In some cases, left tube # 1 returned a NaN tof. A bit weird... so I ignore tubes returning such odd thing in the time average loop. ----------- Changes to bdst --------------- Basically, I add more information. Now the TOF hit position is added, the track intersection with the TOF slats is added (and not the difference dx and dy like before). I also save the top and bottom energy of a tof hit and the multiple tof-track matchings. Drawback : this version of bdst (1.0.3) is no more compatible with the user's macros and classes (BdstFsAna, BdstMrsAna, Claus's DST reader and other user's code unknown to me). If you use DST 1.0.3, you'd better modify the DST reader you use and subsequent cut variables, etc. To make it not so painful, open a DST, and use T1->MakeClass("whatever") you'll get the latest branches and leaves in order. ------------------------------------------------------------------------ -- Djamel Ouerdane ------------------------------------------o | Niels Bohr Institute | Home: | | Blegdamsvej 17, DK-2100 Ø | Jagtvej 141 2D, | | Fax: +45 35 32 50 16 | DK-2200 Copenhagen N | | Tel: +45 35 32 52 69 | +45 35 86 19 74 | | http://www.nbi.dk/~ouerdane | | ouerdane@nbi.dk | o---------------------------------------------------------o
This archive was generated by hypermail 2.1.5 : Mon Mar 03 2003 - 13:44:16 EST