BRAT updates, bug fixes and changes ----------------------------------- +---------+ | data dir| +---------+ * asciidata/DetectorParameters.txt misplaced line for TFP6 (l 189) --> fixed * data/calib/BrTofCalibration.{cxx,h} added method GetAccessMode(const Char_t* parName) const in order in cal modules which access mode the parameters have been set * data/pid/BrC1Pid.{cxx,h} BrPid.{cxx,h} BrRichPid.{cxx,h} removed named constructor for these objects, BrPid now derives from TObject directly. The motivation is that only the BrDataTable should carry the name and title, to avoid filling too much disk space * data/pid/BrTofPid.{cxx,h} adde this new class that the Tof pid module creates and stores into a BrDataTable. This class derives from BrPid and contains: beta, momentum, mass2, dE for the physics, track id, tof slat, panel id (useful for TOFW) for the programming * Updated M data/pid/Include.h LinkDef.h Makefile.am * Added operator = in data/vertex/BrBbVertex.{cxx,h} * data/track directory M data/track/BrSpectrometerTracks.h (1) M data/track/Include.h (2) M data/track/LinkDef.h (2) M data/track/Makefile.am (2) ? data/track/BrTofTrackMatch.h (2) ? data/track/BrTofTrackMatch.cxx (2) (1) Br{FFS,MRS}Track class: added members BrVector3D fTrackVertex, Double_t fPathLength and corresponding Setter and Getter methods. BrBfsTrack only has fPathLenth. If the FFS and BFS are aligned, the length is from H2 proj. to H1 proj. Other wise from H2 proj. to primary vertex. The vertex in BrMRSTrack is not the Tx,Ty,Tz but the closest point to the beam line. class version numbers 2 -> 3 MRS Track 1 -> 2 FFS and Bfs Track (2) New class holding the result of the tof - track matching. This class derives directly from TObject and has no private members than the TObject ones. Indeed, I only store 4 integers lower than 256, namely: track Id hit slat no (of closest tof det) hit slat no (of second tof det: H2 for FFS, H1 for BFS) panel id for TOFW (0 to 5), (only 0 for H1 or H2) I use the fUniqueID member of TObject and store these intergers by bit shifting. All is hidden, you just have to know the methods: SetMatching(track id, slat1, panel id, slat 2) GetTrackId() GetHitId() GetHit2Id() GetPanelId() +-----------------+ | tof calibration | +-----------------+ M modules/calib/tof/BrTofAdcGainCalModule.cxx M modules/calib/tof/BrTofAdcGainCalModule.h M modules/calib/tof/BrTofCalModule.cxx M modules/calib/tof/BrTofCalModule.h M modules/calib/tof/BrTofDeltaDelayCalModule.cxx M modules/calib/tof/BrTofDeltaDelayCalModule.h M modules/calib/tof/BrTofPedCalModule.cxx M modules/calib/tof/BrTofPedCalModule.h M modules/calib/tof/BrTofSlewingCalModule.cxx M modules/calib/tof/BrTofSlewingCalModule.h M modules/calib/tof/BrTofTdcGainCalModule.cxx M modules/calib/tof/BrTofTdcGainCalModule.h M modules/calib/tof/Include.h M modules/calib/tof/LinkDef.h M modules/calib/tof/Makefile.am * Removed from Makefile.am, Linkdef.h and Include.h the modules BrTofTdcOffsetCalModule & BrTofCscintCalModule They are becoming useless (but I don't remove them right now) * Introduced new methods in BrTofCalModule and derived classes: SetSaveAscii(Bool_t) (1) SetLoadAscii(Bool_t) (2) SetCommitAscii(Bool_t) (3) (1) to save the calculated calibration into an ascii file (2) to load a calibration done with the same module for another analysis needing it (3) to commit the ascii calibration to the SQL db Added more stuff but not relevant for the user, only for programmers who would like to get inspired (cf. BB stuff), in particular, the way I deal with the parameter access mode in the Init method of each cal module. +-----------------+ | Pid modules | +-----------------+ M modules/pid/BrC1PidModule.cxx M modules/pid/BrRichPidModule.cxx M modules/pid/BrTofPidModule.cxx M modules/pid/BrTofPidModule.h * Changed the Cherenkov modules according to the data class changes * Updated the tof pid module so that it should work in principle also for MRS. For the BFS, I still couple of things to fixe. note that I introduced a bunch of setters: SetUseTpm1Vtx(Bool_t b = kFALSE) (1) SetTpm1VChi2(Double_t x = 10) (2) SetUseNewBb(Bool_t b = kFALSE) (3) SetMaxDY (Double_t d = 1) (4) SetNoPanels (Int_t n = 6) (5) SetNtuple(Bool_t n = kFALSE) (6) SetTrkOffsets(Double_t x = 0, Double_t y = 0) (7) SetTrkCuts(Double_t x = 10000, Double_t y = 10000) (8) SetVOffset(Double_t o = 0) (9) SetDVtx(Double_t d = 5) (10) (1) if you want to use the TPM1 track vertex (BB vtx is always used) (2) set the max chi2 of this vertex (3) switch on/off the usage of the new bb vertex (BrBbVertex) (4) cut on the delta Y yTrack - yHit (it removes some background...) (5) temp method to set the number of tofw panels (should be part of the detector parameters...) (6) for debbuging, etc (7) the X and Y offsets of the projected tracks on the primary vertex plane for FS tracks (8) cut on track vertices around primary vertex (9) if TPM1 vtx used, set the offset (should not be an offset at this stage...) (10) set the max difference between these 2 vertices * modules/rdo/BrBbCalHitsModule.cxx Updated Init method according to the nwe BrParameterElement::Use method * modules/rdo/BrTofRdoModule.{cxx,h} mostly cosmetic things, added the choice between old BB rdo and new BrBbVertex like above. +------------------+ | Global tracking | +------------------+ * in all modules, added path length calculation, and track vertex for MRS and FFS. T The FFS tracking module is forced to find a primary vertex (BB for now), returns otherwise. have the choice between the old BB rdo or the new BB vertex (same as above). * added -I$(top_srcdir)/data/vertex in modules/track/combine/Makefile.am * In The MRS tracking module, added a method SetMagnetField() and SetUsetMagnetDb(Bool_t). The latter is false by default. If you want to use the RUN DB to set the field in D5, put KTRUE and remove in you mag file, the line containing the field value. +--------------------+ | Tof Track matching | +--------------------+ Added new modules for the tof - track matching: BrFfsTofMatchingModule BrBfsTofMatchingModule BrMrsTofMatchingModule names should be "FFS", "BFS", "MRS" setter methods allow the user to set the lower ADC limit for tof hit selection, some offset in X between Xtrack and Xhit, some matching cut in X. The modules store BrTofTrackMatch object into tables named: FFS Matching BFS Matching MRS Matching For FFS and BFS, when the arms are aligned, the module tries to match with H2 (swim through D3,D4) and H1 (BFS front track projected to H1 plane) respectively. The modules should be used once you have global tracks and a pedestal calibration for the Tofs (made with BrTofPedCalModule). * test/SetGeometryFiles.cxx Added the last TOFW panel in the detector array so that their geometry is properly calculated. * updated Brat version in configure.in to 2.1.4