hadd doesn't recompress for different algorithm at same level
- [x] Checked for duplicates
Describe the bug
When changing the compression settings using hadd, using the same compression level used by the input file won't trigger a recompression of the branches in the output file, even with a different algorithm.
ie. Passing -f301 with a 101 compressed input file results in a "301" compressed file but with 101 compressed branches.
Expected behavior
I would expect the output file's branches to be recompressed with the provided compression algorithm.
ie. Passing -f301 with a 101 compressed input file results in a genuine 301 compressed file with 301 compressed branches.
To Reproduce
- Get the compression settings of any .root file, for example the 101 compressed dimuon dataset.
- Run
haddand change the compression to a different algorithm of the same level, for example 101 -> 201 or 403 -> 303:hadd -f201 fake_dimuon_201.root orig_dimuon_101.root - You can validate the weird behaviour by performing an intermediate conversion:
hadd -f202 real_202_out.root orig_dimuon_101.root->hadd -f201 real_dimuon_201.root real_dimuon_202.root
Setup
- ROOT Version 6.27/01
- Linux CentOS 8 + Linux Debian 11
- Built from source
Additional context
You should also be able work around this issue the -O option
Just confirming that the -O works