Best way to structure a tree

Hi,
I’m relatively new to root - using 3.10/01 WIN32GDK on XP

basically my data is a series of different runs (around 200 different setups), each identified by a string, and then many events in each run, each event is described by seven pieces of data.

I have structured my tree as eight branches - one for the run name and seven others for each event field, eg.

tree->Branch(“Run”,&Run,“Run/C”);

for the runs and e.g.

tree->Branch(“dow”,&dow,“dow/I”);

for one of the data fields.

I want to do the same analysis on each run, sometimes seperately for testing, sometimes for each run in turn in one batch job, and sometimes to look at some properties of all runs in one analysis.

I use something like

sprintf(query1, “dow > 5 && Run== “%s””, run);
tree->Draw(“swp>> tdg”,query1,"");

to fill histos for my analysis.

The problem is when i use the query above to look at the data for a particular run it takes a very long time as (I think) it scans all the runs. Can I make it read only one run ? Do i need to split the “Run” branch ?
If so how do i select a particular run name (subbranch) ? SetBranch ?

Would i have to put my runs in seperate root files ? I’d much rather not do this if possible.

I hope this makes sense, please let me know if not,

many thanks in advance,

elc