+ int processors;
+ string outputDir;
+ map< vector<string>, set<int> > rootForGrouping; //maps a grouping combo to the roots for that combo
+ bool includeRoot;
+
+ EstOutput driver(Tree*, vector< vector<string> >, int, int, CountTable*);
+ EstOutput createProcesses(Tree*, vector< vector<string> >, CountTable*);
+ EstOutput driver(Tree*, vector< vector<string> >, int, int, bool, CountTable*);
+ EstOutput createProcesses(Tree*, vector< vector<string> >, bool, CountTable*);
+ int getRoot(Tree*, int, vector<string>);