Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Technical changes to support further mkFit development.
There are no significant physics changes. Several changes only affect mkFit in standalone mode. Main goals: - Make it easier to express vectorized code. - Be able to do simple propagations, parameters only, no errors. - Explore more precise hit preselection in each layer (see MkFinder.selectHitIndicesV2()). - Make it easier to export low-level algorithm / tracking state for further analysis directly in ROOT format. - Allow further development of Phase2 mkFit tracking, together with the new propagate-to-plane functionality (in another PR). Add half_length member to ModuleInfo, fill it in MkFitGeometryESProducer.cc Extend HitInfo with half-strip-length, add qbar (the other of r/z variables), Store fast-access arrays as std::vector<HitInfo>. Move propToR/Z() can/maxReachRadius() from Track to TrackBase. Implement LayerOfHits::reset() to make sure containers are empty before re-filling. Call this from both methods (beginHitRegistration() and suckInHits()). Miscellaneous changes to better support dump-hit-window case. * RecoTracker/MkFitCore/interface/Track.h Add function mcHitIDofFirstHit() to simplify dump-hit-window code. * RecoTracker/MkFitCore/src/MkBuilder.cc Add missing MkFinder setup in dump-hit-window case. * RecoTracker/MkFitCore/standalone/Makefile.config Clarify usage of Ofast (by Steve). * RecoTracker/MkFitCMS/standalone/Makefile Use GNU make &: syntax (grouped targets) for dictionary targets. * RecoTracker/MkFitCore/src/MiniPropagators.h/cc: Implementations of propagators of track parameters only (no errors/covariances), with various levels of approximation and also supporting vectorization. Use VDT for fast transcendentals in MiniPropagators. Add scalar and element-wise arithemtic operators and transcendentals to Matriplex. This makes writing vectorized loops using Matriplex variables much clearer. Prepare infrastructure for deep-dump comparisons in selectHitIndicesV2 (and elsewhere). * MkFitCore/interface/Config.h Fix typo. * MkFitCore/interface/MkBuilder.h * MkFitCore/interface/Track.h * MkFitCore/interface/TrackStructures.h * MkFitCore/src/TrackStructures.cc * MkFitCore/src/MkBuilder.cc * MkFitCore/standalone/Event.cc * MkFitCore/standalone/Event.h Pass seed-index in the current seed-vector along. In Event, provide a means of determining sim-track from hits of each seed track. * MkFitCore/src/MkBuilder.cc Add handling of WSR_Failed. * MkFitCore/src/Matrix.h Add short-int Matriplex typedefs * MkFitCore/src/MiniPropagators.cc * MkFitCore/src/MiniPropagators.h Fail-flag consistency, rename State dphi to dalpha. * MkFitCore/src/MkBase.h Add radius() function. * MkFitCore/src/MkFinder.cc * MkFitCore/src/MkFinder.h Modularization of new/old hit-selection. Reimplemented bin-search for edge positions and determined global scaling of bin-search windows to reproduce current behavior. * MkFitCore/standalone/Makefile * MkFitCore/standalone/Makefile.config Add rules for building RntDumper stuff. * MkFitCore/standalone/RntDumper/ New sub-directory: Implementation of classes and structures for dumping ROOT TTrees or RNTuples. * MkFitCMS/standalone/Makefile Add linking agains libMicRntDump.so * MkFitCMS/standalone/MkStandaloneSeqs.cc Make it easier to find out why standalone tracks are not matched to sim tracks. * MkFitCMS/standalone/Shell.cc * MkFitCMS/standalone/buildtestMPlex.cc Setup Event current-seed-vector pointers as needed during event processing. * MkFitCMS/standalone/mkFit.cc Finalize all RntDumpers on exit. Standalone consolidation plus cleanup of parameters, remove unused ones. * MkFitCMS/standalone/buildtestMPlex.cc When validation is on make sure seeds are restored after BH, STD, CE runs. * MkFitCMS/standalone/mkFit.cc Rename run-all to run default -- make it run std, and ce. * MkFitCore/src/MkBuilder.cc Missing MkFinder setup in backwardFitBH(). * MkFitCore/standalone/Geoms/CylCowWLids.cc Array of eta extents too short. * MkFitCore/standalone/Makefile.config Consolidate CMSSW and other occurences of Ofast, msse2, std=c++17/1z. Cleanup unused -D defines / settings. * MkFitCore/standalone/ConfigStandalone.h Remove unused simulation multiple scattering parameters.
- Loading branch information