Making an event list for two separate TChains

Howdy all,

I have two fairly larges groups of data files (around 100GB) that I’ve put into TChains. The first group of files represents some older data, while the second represents a more recent, reprocessed group which I wish to compare. Unfortunately, and as you might expect, skimming these files can take quite a long time. I have a specific subset of events within the first sample that I wish to look at in both data sets, which I can define by their Run/ID numbers (the only variables that remain the same in both data sets).

Essentially my question is, how can I look at a subset of events from one TChain in both of these TChains? I know that I can make an event list from any given TChain, but will I be able to use it for both TChains (even if the events aren’t in the same order)?

The only other idea I have at the moment is to use MakeClass to create a script to search for specific Run/ID numbers in the 2nd set, but that would mean hard coding something like 10 million pairs of numbers into a script, so I’d really like to avoid that.

Any idea would be welcome, thanks!


I recommend that to check the two TChain in parallel, you make them friend with each other and build an index (Using TChain::BuildIndex) on the Run/ID numbers. You then can use a TEntryList created for just one of the 2 chains (which ever is the main chain) to scan just the subset of data.