Project

General

Profile

Actions

Feature #52

open

Feature #78: Output system improvements

Output data should support integer types and more

Added by Ole Hansen almost 7 years ago. Updated over 6 years ago.

Status:
In Progress
Priority:
Normal
Assignee:
Target version:
Start date:
Due date:
% Done:

80%

Estimated time:
64.00 h
Responsible:

Description

Currently, THaOutput writes out every variable as Double_t. At the minimum, Int_t should also be a supported output type. Having at least a basic integer type will improve accuracy and reduce the output file size.

Additionally, data that are contiguous in memory should be streamed directly, without copying them to a dummy location. The ROOT tree branch address can simply be set to the start of the memory region.

Also, if arrays are parallel, i.e. multiple variables from objects in a TClonesArray, there should only be one array size counter, not one for each variable. Redundant array size counters should be detected automatically. Of course, this optimization will break scripts that explicitly used those counters. I am not sure if people actually used those counters much.

Actions #1

Updated by Ole Hansen almost 7 years ago

  • Description updated (diff)
  • Parent task set to #78
Actions #2

Updated by Ole Hansen almost 7 years ago

  • % Done changed from 20 to 80
  • Estimated time set to 64.00 h

I implemented most of this in February 2016 on branch "output". In the meantime, I have forgotten the details. The code should be reviewed and tested for all the possible branch types. If I remember correctly, the array size counter optimization can still be improved, but this is low priority.

Actions #3

Updated by Ole Hansen over 6 years ago

  • Target version changed from 1.6 to 1.7
Actions

Also available in: Atom PDF