Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating TRestRun metadata members #193

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft

Conversation

jgalan
Copy link
Member

@jgalan jgalan commented May 3, 2022

jgalan Ok: 46

A MAJOR update adding a NEW metadata member (fRunDuration) inside TRestRun and REMOVING an unused data member (fRunClassName),

I reviewed also the documentation of the data members

@rest-for-physics/core_dev

Additional remarks:

The reason behind adding a dedicated metadata member fRunDuration is because I expect this data member will store the effective time of a given number of runs. The idea is to implement a TRestDataSet and exporting the data to a standard TTree or RDataFrame together with a TRestRun object (and other combined metadata objects). Therefore, the new TRestRun object should accumulate the total effective time (because there might be gaps).

This is related to issue #13

@jgalan jgalan changed the title Jgalan run members Updating TRestRun metadata members May 3, 2022
@jgalan
Copy link
Member Author

jgalan commented May 5, 2022

Hi, in order to build a validation pipeline, we could have a repository where we upload small files that can be opened with future versions of the code.

If I do not update the class version, then we get the following output

Warning in <TStreamerInfo::CompareContent>: The following data member of
the in-memory layout version 5 of class 'TRestRun' is missing from 
the on-file layout version 5:
   TString fRunDescription; //
Warning in <TStreamerInfo::CompareContent>: The following data member of
the in-memory layout version 5 of class 'TRestRun' is missing from 
the on-file layout version 5:
   TString fExperimentName; //

I was thinking about capturing that output and check wether it contains the Warning keyword. Then the pipeline should fail.

However, I am experiencing problems when capturing the output. If I do:

restRoot -q Run00001_NLDBD_Test.root >> output.log

It simply does not work, it just captures a partial output, I guess because of redirections of std output.

Any ideas? @nkx @lobis @juanangp @rest-for-physics/core_dev

@jgalan
Copy link
Member Author

jgalan commented May 31, 2022

Any ideas/shortcut on how to capture the output I mentioned above?

@juanangp
Copy link
Member

juanangp commented May 31, 2022

Any ideas/shortcut on how to capture the output I mentioned above?

I think the issue is that you are not redirecting the error stream, to do it you can use 2>&1. So, you can try:

restRoot -q Run00001_NLDBD_Test.root 2>&1 | tee output.log

Alternatively:

restRoot -q Run00001_NLDBD_Test.root >> output.log 2>&1

Personally I prefer to use tee because it also prints the output.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants