Skip to content

Commit ada5ef5

Browse files
committed
Remove Mu2 struct
1 parent 2f79ef5 commit ada5ef5

File tree

4 files changed

+18
-57
lines changed

4 files changed

+18
-57
lines changed

pineappl/src/subgrid.rs

-11
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,6 @@ pub enum SubgridEnum {
2323
ImportSubgridV1,
2424
}
2525

26-
/// Structure denoting renormalization and factorization scale values.
27-
#[derive(Debug, Deserialize, Clone, PartialEq, PartialOrd, Serialize)]
28-
pub struct Mu2 {
29-
/// The (squared) renormalization scale value.
30-
pub ren: f64,
31-
/// The (squared) factorization scale value.
32-
pub fac: f64,
33-
/// The (squared) fragmentation scale value.
34-
pub frg: f64,
35-
}
36-
3726
/// Size-related statistics for a subgrid.
3827
#[derive(Debug, Eq, PartialEq)]
3928
pub struct Stats {

pineappl/src/v0.rs

+9-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use super::import_subgrid::ImportSubgridV1;
66
use super::interpolation::{Interp, InterpMeth, Map, ReweightMeth};
77
use super::packed_array::PackedArray;
88
use super::pids::PidBasis;
9-
use super::subgrid::Mu2;
9+
use float_cmp::assert_approx_eq;
1010
use pineappl_v0::grid::Grid as GridV0;
1111
use std::io::BufRead;
1212
use std::iter;
@@ -117,17 +117,18 @@ pub fn read_uncompressed_v0(mut reader: impl BufRead) -> Result<Grid, GridError>
117117

118118
for (new_subgrid, old_subgrid) in result.subgrids_mut().iter_mut().zip(grid.subgrids().iter()) {
119119
if !old_subgrid.is_empty() {
120-
let mu2_grid: Vec<_> = old_subgrid
120+
let scale_node_values: Vec<_> = old_subgrid
121121
.mu2_grid()
122122
.iter()
123-
.map(|mu2v0| Mu2 {
124-
ren: mu2v0.ren,
125-
fac: mu2v0.fac,
126-
frg: -1.0,
123+
.map(|mu2v0| {
124+
// TODO: implement importing flexible-scale grids
125+
assert_approx_eq!(f64, mu2v0.ren, mu2v0.fac, ulps = 4);
126+
127+
mu2v0.fac
127128
})
128129
.collect();
129130

130-
let mut dim = vec![mu2_grid.len()];
131+
let mut dim = vec![scale_node_values.len()];
131132
if convolutions[0].is_some() {
132133
dim.push(old_subgrid.x1_grid().len());
133134
}
@@ -150,7 +151,7 @@ pub fn read_uncompressed_v0(mut reader: impl BufRead) -> Result<Grid, GridError>
150151
}
151152
}
152153

153-
let mut node_values = vec![mu2_grid.iter().map(|&Mu2 { ren, .. }| ren).collect()];
154+
let mut node_values = vec![scale_node_values];
154155
if convolutions[0].is_some() {
155156
node_values.push(old_subgrid.x1_grid().into_owned());
156157
}

pineappl_cli/src/import/applgrid.rs

+6-23
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use pineappl::import_subgrid::ImportSubgridV1;
88
use pineappl::interpolation::{Interp, InterpMeth, Map, ReweightMeth};
99
use pineappl::packed_array::PackedArray;
1010
use pineappl::pids::PidBasis;
11-
use pineappl::subgrid::Mu2;
1211
use pineappl_applgrid::ffi::{self, grid};
1312
use std::f64::consts::TAU;
1413
use std::pin::Pin;
@@ -182,16 +181,7 @@ pub fn convert_applgrid(grid: Pin<&mut grid>, alpha: u8) -> Result<Grid> {
182181
let igrid = unsafe { &*igrid };
183182
let reweight = ffi::igrid_m_reweight(igrid);
184183

185-
let mu2_values: Vec<_> = (0..igrid.Ntau())
186-
.map(|i| {
187-
let q2 = igrid.getQ2(i);
188-
Mu2 {
189-
ren: q2,
190-
fac: q2,
191-
frg: -1.0,
192-
}
193-
})
194-
.collect();
184+
let scale_values: Vec<_> = (0..igrid.Ntau()).map(|i| igrid.getQ2(i)).collect();
195185
let x1_values: Vec<_> = (0..igrid.Ny1())
196186
.map(|i| igrid.getx1(i).clamp(0.0, 1.0))
197187
.collect();
@@ -223,12 +213,12 @@ pub fn convert_applgrid(grid: Pin<&mut grid>, alpha: u8) -> Result<Grid> {
223213
let matrix = unsafe { &*matrix };
224214

225215
let mut array = PackedArray::new(if dis {
226-
vec![mu2_values.len(), x1_values.len()]
216+
vec![scale_values.len(), x1_values.len()]
227217
} else {
228-
vec![mu2_values.len(), x1_values.len(), x2_values.len()]
218+
vec![scale_values.len(), x1_values.len(), x2_values.len()]
229219
});
230220

231-
for itau in 0..mu2_values.len() {
221+
for itau in 0..scale_values.len() {
232222
for ix1 in 0..x1_values.len() {
233223
for ix2 in 0..x2_values.len() {
234224
let value = ffi::sparse_matrix_get(
@@ -255,16 +245,9 @@ pub fn convert_applgrid(grid: Pin<&mut grid>, alpha: u8) -> Result<Grid> {
255245
ImportSubgridV1::new(
256246
array,
257247
if dis {
258-
vec![
259-
mu2_values.iter().map(|&Mu2 { ren, .. }| ren).collect(),
260-
x1_values.clone(),
261-
]
248+
vec![scale_values.clone(), x1_values.clone()]
262249
} else {
263-
vec![
264-
mu2_values.iter().map(|&Mu2 { ren, .. }| ren).collect(),
265-
x1_values.clone(),
266-
x2_values.clone(),
267-
]
250+
vec![scale_values.clone(), x1_values.clone(), x2_values.clone()]
268251
},
269252
)
270253
.into();

pineappl_cli/src/import/fastnlo.rs

+3-15
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ use pineappl::import_subgrid::ImportSubgridV1;
1010
use pineappl::interpolation::{Interp, InterpMeth, Map, ReweightMeth};
1111
use pineappl::packed_array::PackedArray;
1212
use pineappl::pids::PidBasis;
13-
use pineappl::subgrid::Mu2;
1413
use pineappl_fastnlo::ffi::{
1514
self, fastNLOCoeffAddBase, fastNLOCoeffAddFix, fastNLOCoeffAddFlex, fastNLOLHAPDF,
1615
fastNLOPDFLinearCombinations, EScaleFunctionalForm,
@@ -212,17 +211,10 @@ fn convert_coeff_add_fix(
212211
}
213212

214213
let q_values = ffi::GetScaleNodes(table, obs, j);
215-
let mu2_values: Vec<_> = q_values
216-
.iter()
217-
.map(|q| Mu2 {
218-
ren: q * q,
219-
fac: q * q,
220-
frg: -1.0,
221-
})
222-
.collect();
214+
let scale_values: Vec<_> = q_values.into_iter().map(|q| q * q).collect();
223215

224216
let mut array =
225-
PackedArray::new(vec![mu2_values.len(), x1_values.len(), x2_values.len()]);
217+
PackedArray::new(vec![scale_values.len(), x1_values.len(), x2_values.len()]);
226218

227219
// TODO: figure out what the general case is supposed to be
228220
assert_eq!(j, 0);
@@ -278,11 +270,7 @@ fn convert_coeff_add_fix(
278270
[[0, obs.try_into().unwrap(), subproc.try_into().unwrap()]] =
279271
ImportSubgridV1::new(
280272
array,
281-
vec![
282-
mu2_values.iter().map(|&Mu2 { ren, .. }| ren).collect(),
283-
x1_values.clone(),
284-
x2_values.clone(),
285-
],
273+
vec![scale_values.clone(), x1_values.clone(), x2_values.clone()],
286274
)
287275
.into();
288276
}

0 commit comments

Comments
 (0)