Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Root histograms in multi-files

  1. Oct 16, 2015 #1

    ChrisVer

    User Avatar
    Gold Member

    Suppose I have a collection of 40 directories, each containing 1, 2 ,3 ,4 or 5 .root files with histograms and trees.
    What is an optimal way to merge those .root files so I would end up with 40 directories and 40 root files with the histos added together?
    One way I thought of was to start typing for the 40 different directories an "hadd" command in the terminal.

    "hadd sum1.root dir1/*.root"
    "hadd sum2.root dir2/*.root"
    ...
    "hadd sum40.root dir40/*.root"


    However I find this kind of tiring and stupid. Do you have any better solution?
    My problem with a macro is that I am not sure if it understands the *.root notation (so I cannot think of iterating).
    Finally I am not sure if a TChain can, apart from Trees in different root files, merge TH1s (histograms) too.

    THanks :)
     
  2. jcsd
  3. Oct 16, 2015 #2

    andrewkirk

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    You could write a shell script that uses iteration to generate a text file containing a single line of the form:

    hadd sum1.root dir1/*.root & ; hadd sum1.root dir2/*.root & ; hadd sum3.root dir1/*.root & ; ..... ; hadd sum1.root dir40/*.root​

    then just copy the line to the command prompt and execute it
     
  4. Oct 17, 2015 #3

    ChrisVer

    User Avatar
    Gold Member

    Thanks for the reply...
    It helped me to try to do it manually... after the 3rd try, I figured out what "for loop" I had to use in the shell script...That's what I had to do:
    Code (Bash):

    i=0
    for folder in directory_path_of_folders/*; do
        hadd -f target_directory/sumfile$((i++)).root $folder/*.root
    done
     
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Root histograms in multi-files
  1. Histograms in IDL (Replies: 0)

Loading...