L3Svt progress report Jan 29 1998. ++++++++++++++++++++++++++++++++++ Ed Frank ++++++++ Brief list of L3Svt modules and their purposes. =============================================== L3XFormApp.cc This is an AppUserBuild for a standalone job. L3XFormApp.tcl Standalone job config file. L3XForm.hh L3XForm is the main module for the algorithm. L3SvtHitManager.hh The hitmanager organizes the data to facilitate computations, e.g., organizes into layers, etc. L3SvtHit.hh Various abstractions on hits to decouple L3Svt L3SvtPairTrk.hh from underlying cluster/ghit definitions. Much L3SvtPhiHit.hh of this will be reworked. L3SvtSpacePoint.hh L3SvtStripHit.hh L3SvtZ0Accumulator.hh An accumulator is an abstraction: it eats Z0 multi- L3SvtZ0Mode.hh plicities. Derivatives cut things that can be used as cuts by the filter. The main engine in the alg. is decoupled from the choice of computations/cut. L3SvtZ0Mode implements the mode based cuts used to date. L3SvtZ0Filter.hh Picks apart the Accumulator and applies a cut. SvtDchMatcher.hh Abstractions for SVT/DCH matching in increasing detail. SimpleSvtDchMatcher.hh Simple == follow a circular orbit. SCellSvtDchMatcher.hh SCell == matching at the cell level. CoincSvtDchMatcher.hh Coinc == 1/4 to 4/4 coincidence in axial layers for circ. SVT orbit brought into DCH. CorrectL1ATime.F Access to Stefan's T0. Soon to be dropped. getATrackSL.F trgDC/Fortran glue. Must go away. getBTrackMap.F getDCCardGeom.F getSCellHitMap.F getTrackMap.F getTrigFlag.F kumac/ Kumac for event display and old analysis. Configuration control in tcl ============================ All configuration is via AbsParms. The listing below for L3XForm is not detailed, but is only meant to convey the flavor of what one can do. Much of what is shown will be removed soon. I use the notation [ A | B | C ] to indicate possible values for a parameter value when the choice must be amongst an enumeration, except for booleans which are trivially understood. Note: magic combinations of params are needed right now. module talk L3SvtZ0Filter L3SvtZ0Accumulator set [refined ! coarse ] # Use refined/coarse Z0 verbose set true exit module talk L3XForm useCoincMatch set true ! Turn coincidence match off/on. coincNMatchBins set 60 ! Phi granularity for matching. coincNcoinc set [1|2|3|4] ! 1/4, 2/4, 3/4 or 4/4 coinc. reqired. coincMaxLayer set 10 ! Max layer in coinc., e.g, 2/4 match !this set to 4 means A1/A4 2 fold match dchMatchLayer set 10 ! Config for non-coinc. matcher. Set nDchMatchBins set 60 ! layer and granularity. Not active nDchFineMatchBins set 120 ! when useCoincMatch is true. requireTrgDCFid set true ! Ignore. Will go away. requireDchFid set false ! Gunk from studying single mu dchFidPtCut set 0.104 ! efficiency. Will go away. dchFidCosMinCut set -0.84 dchFidCosMaxCut set 0.93 phiSepCut set 0.349 ! Phi cut for phi pair selection (rad.) useT0Cut set true ! Absolute time cut applied? timeDiffCut set 1.500 ! Relative (hit1-hit2 in pair) t cut. zPairPhiSepCut set 1.222 ! Phi for zpairs comes from phi of ! _module_ holding the clusters. zPairZ0Cut set 2.00 ! cm. Window for Z0 intercept for ! accepting a Z0 pair. zPairMinLayerCut set 2 ! Minimum layer (inclusive) to include. svtNoiseQCut set 0.900 ! pulse height cut for cutting noise doDchCalib set false ! Single Mu effic. study. Will go away. printL3SvtHits set false ! control over dumps. makeNtuples set false ! turn histos off/on. histSvtDigis set false ! If these 2 are active in a big run, histSvtGHits set false ! you'll exhaust hbook and crash. exit KNOBS ===== The real selection knobs in the list above are: 1) Minimum SVT layer to use. 2) Window for Z0 pairs input to the multiplicity computation. 3) Value of the multiplicity cut itself. 4) Phi cuts (affects Pt cutoff) for phi pair selection. 5) Timing cuts. 6) Choice of technique and configuration for svt/dch matching. I would like to study cluster properties, especially cluster width, as a tool for fighting occupancy. I would also like to refine the understanding and application of Pt cuts, especially for handling x10 scenarios. Diagnostics =========== The diagnostics are a collection of Ntuples, largely aimed at providing an event display and test probes for developing the algorithm. Experience may show that shapes of some of these distributions are good monitors, but I suspect that I will need to monitor a stream filtered by smarter software, e.g., bhabhas or some of the offline reco. ID Title Contents ---------------------------------------------------------------- 9 (N) zPairs Z info for coarse Z pairs 13 (N) fineZ Z info for refined Z pairs 1 (N) eventLists Counters from various event lists. 11 (N) svtDigi Digi dumps 12 (N) svtGHit GHit dumps 20 (N) trgSegDigi Trigger segment dumps (needed for ev. display) 4 (N) svt Info from phi pairs. 5 (N) svtUV Info from phi pairs. 6 (N) svtPxPy U,V and Px,Py from xformed phi pairs. 7 (N) dch Lay Hits MC truth for DCH used for event display Performance =========== Not studied. Configuration database ====================== Not studied yet. An off the cuff accounting would include: 1. Algorithm specific information, as shown above. 2. SVT/DCH geometry information. 3. SVT electronics information. Item 3 is anticipated for the formation of L3Svt clusters from digis stored in tagged containers. Plans ===== There are several areas requiring work. 1. Furthering background/signal discrimination at 10x nominal, especially for lost particles. The effects of radiative Bhabhas and synchrotron radiation must be considered. 2. Moving to DetectorModel based geometry for consistency with other Svt software and to obtain correct info both online and offline. Moving to DetectorModel should also address alignment issues. 3. Sever the connection to trgDC completely. This has two parts, (a) access to trgDC data that should be in the event (b) replace geometry obtained from trgDC with geometry obtained from DetectorModel. 4. Use a more realistic model for T0 computation. 5. Formulation of input hits (L3SvtHits) from raw data. It is expected that this means forming our own clusters from data in tagged containers since the offline clustering code will likely have too much overhead. This task includes understanding TOT/PH conversions, miswirings, etc. 6. Understand stability issues: sensitivity of acceptance to rates and sensitivity to beam position. Items 2-4 must happen very soon. Item's 1 and 5 will likely proceed in parallel, although it must be recognized that 5 affects 1. Sensitivity to beam position seems the most urgent part of item 6.