Conversation
Given how easy it is nowadays to have LLMs do full refactorings, I am not sure this makes sense anymore.
Third patameter of createFieldMap is the convention and the 4th is the uniformity. This was fixed everywhere, but here.
…iceO2Group#15609) * Transparent fix proposal draft 1 * Please consider the following formatting changes * Fix whitespace * Address only the bug * Adjustments: fix bugs, tuning * Improve name of ProtectedFlags * Please consider the following formatting changes --------- Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
…p#15622) Removed conditional source file inclusion for TrackerACTS.
…low (AliceO2Group#15618) * TPC TimeSeries: propagate min-momentum, min-cluster, max-tgl to workflow Add configurable environment variables for o2-tpc-time-series-workflow: TPCTIMESERIES_MIN_MOMENTUM (default: 0.2) TPCTIMESERIES_MIN_CLUSTER (default: 80) TPCTIMESERIES_MAX_TGL (default: 1.4) Defaults match TPCTimeSeriesSpec.cxx hardcoded values. Previously these cuts were not configurable from the workflow script. * TPC TimeSeries: propagate track selection and multiplicity cuts to workflow Add configurable environment variables for o2-tpc-time-series-workflow: TPCTIMESERIES_MIN_MOMENTUM (default: 0.2) TPCTIMESERIES_MIN_CLUSTER (default: 80) TPCTIMESERIES_MAX_TGL (default: 1.4) TPCTIMESERIES_MULT_MAX (default: 50000) Defaults match TPCTimeSeriesSpec.cxx hardcoded values. Previously these cuts were not configurable from the workflow script. --------- Co-authored-by: miranov25 <marian.ivanov@cern.cg>
…ndOfSteam with DoublePipeline
…segmentation (AliceO2Group#15639) * approach TF3 ASIC size by using 8-chip modules + update chip segmentation parameters * fix parameter + update number of sensors in macro
The field normally should not be deleted since this would invalidate the field pointers cached elsewhere (e.g. by the double version of the Propagator if it was requested). Instead, the existing field should be scaled by the newly provided current values. The exception is the marginal case when the scaling is not possible, e.g. when switching from 5kGauss map to 2kGauss (which should be avoided for other reasons). In this case the field will be recreated and the warning will be printed about possible invalidation of cached pointers.
…p#15644) staticMapCreatorCPM.C creates the correction map from the unbinned residuals via the crossing point method SmoothingExtrapolate.C Performs gaussian smoothing and extrapolation to small unmeasured radii voxResQA.C Makes default QA plots TPCFastTransformInitCPM.C converts the correction maps to the final splines
Introduces multi-threaded creation of the material budget lookup table, reducing it from hours to minutes. Creating the LUT walks every cell of every layer through TGeo and the cells are independent, so they are spread over TBB tasks with one TGeoNavigator per thread. The innermost 20 layers at 60 trials/cell drop from 28 min to 72 s on 28 cores. Effective only with ROOT >= v6-36-10-alice3, which removes a per-query thread-id lookup and the false sharing between per-thread scratch buffers of TGeo shapes. On older ROOT the parallel path is correct, just slower -- it saturates near 12x. All layers map onto a single flat cell index so the load stays balanced despite very different cell counts per layer; a binary search maps a flat index back to (layer, iz, iphi). The worker navigators are given back at the end. meanMaterialBudget() takes an optional navigator: a caller passing its own runs lock-free, a caller passing none shares gGeoManager's and still takes the mutex. Deciding from the argument keeps it local, so process-global state cannot break it. Thread count comes from the new populateFromTGeo() argument, falling back to NTHREADS_MATBUD; the default is the previous serial path. Results are independent of the thread count -- compareMatBudLUT.C checks a parallel LUT against a serial one cell by cell, and they match exactly over all 129523 cells. Supervised-by: Sandro Wenzel <sandro.wenzel@cern.ch>
Defines the GPUd()/GPUshared()/GPU*ref() family for __METAL__ and __METAL_HOST__, and teaches GPUCommonDef.h about the Metal host and device compilation passes. The Metal backend targets MSL 4.1 and later only. That is what lets GPUdDefault() expand to nothing: up to MSL 4.0 a member function's implicit this is thread, which is wrong for objects living in device memory, and pinning defaulted constructors to device made the same type unusable in thread or threadgroup. MSL 4.1 makes an unannotated this generic, which is the C++ semantics this codebase already assumes. The *ref() macros stay explicit regardless: they are correct from the OpenCL port, explicit is never slower than generic, and constant is not covered by generic pointers at all. Inert unless __METAL__ or __METAL_HOST__ is defined.
…iceO2Group#15749) Split VDriftHelper::extractCCDBInputs into the CCDB-fetching part and a framework-independent updateVDrift() and add BasicCCDBManager-based overloads to VDriftHelper/PressureTemperatureHelper so O2Physics can call these directly instead of reimplementing the T/P-scaling logic (see AliceO2Group/O2Physics#17656). Calling these every event is cheap: laser/TGL/pressure/temperature are only re-accounted when the underlying CCDB object actually changed and logging is throttled to avoid stdout spam in trains.
MSL has no standard library, so the handful of traits the GPU code relies on are defined for __METAL__, as is already done for the other device compilers.
…p#15801) MSL provides its own array type, so std::array aliases to it rather than using the device fallback. GPUCommonMath routes rsqrt and the atomics to their MSL spellings (atomic_*_explicit).
…on support - TPCDetParam.UseGeant4Edep: use Geant4's own energy deposit for ionisation instead of Bethe-Bloch/NA49, with a configurable SpecialCutsGeV threshold - Adds the Kr-83m decay generator (GeneratorKrDecay) as a compiled Generator subclass in Detectors/TPC/simulation, with a thin krGenerator.C macro for use as an o2-sim external generator - Adds plotCluster.C for viewing the resulting calibration spectrum
This fixes zero track weights for the box-gun generator presets in o2-sim. - FairBoxGenerator adds tracks without a weight, so FairRoot's default of 0 was used. - Geant4 scoring multiplies by the track weight, so all scores were zero. - The box-gun presets and toftest now use o2::eventgen::BoxGenerator, which gives weight 1. - BoxGenerator now looks up the mass for each call; the static cache gave every generator the mass of the first one used. - The kinematics distributions are unchanged; for a fixed seed the particle list is shifted by one particle. - BoxGunParam.debug no longer has an effect.
…eO2Group#15802) * TPC: place shared constants in the Metal constant address space MSL requires namespace-scope constexpr to live in the constant address space. Generic pointers do not help here: constant is explicitly not among the address spaces MSL 4.1 makes generic, so the annotation is required whatever the language version. Guarded on __METAL__, so no other build changes. * Please consider the following formatting changes --------- Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
* Harden bulk TTree reads against corrupted baskets * fmt::format for exception
* Improve digit efficiency in stepping * Switch on stepping * Implement Mario and Giorgio comments * Please consider the following formatting changes --------- Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
This replaces the phi division of the space-frame mother BBMO by 18 explicit placements of the sector volume BBCE, so that the sector contents survive the conversion to Geant4. - Geant4 divides a polyhedra in phi by its number of sides and ignores the requested width and offset, and its cell frame sits at the start of a sector where TGeo's sits at the centre. - Both conversion routes, ROOT's GDML writer and VGM, are affected, so the 18 FTOS service boxes placed in BBCE were absent from the Geant4 geometry. - The TGeo geometry is unchanged: same node count, same BBCE shape and content, same global placements, no new overlaps. - With this, the ray-by-ray mass thickness of the two Geant4 geometries agrees with TGeo to 9e-8 relative, against 5e-5 before. https://its.cern.ch/jira/browse/O2-7153
Metal has no launch bounds, so the thread and warp count helpers pass the value through rather than deriving it from a kernel attribute. Metal also lacks variadic arguments for C functions, so one need to implement that using templates.
…eO2Group#15788) - Remove TMath calls with std function calls - Fix wrong comments for `thetaToEta` and `etaToTheta` in the .cxx - `buildCluster` uses the local index of cells in eta and phi for calcualting M02, M20 and dispersion. The member `mSharedCluster` would need to be set to true, to apply a correction for the local index when switching from one SM to antoher for cluster spanning two SM. This commit fixes this issue by setting `mSharedCluster` in `buildCluster`. - Add `mCellGeomBuffer` as new member which stores the geometry information of all cells of the current cluster. This way this information is only obtained ONCE instead of THREE times. - Removed unused unary operator& which can be dangerous.
…x stepping by removing last (unwanted) step
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.