// Silly macro that uses the macro // EventFilter.C to filter out // events in the root files digi,recon and mc, // using a given cut in variables from MErit or // SVAC tuple. The macro writes the events surviving // the cuts into output root files digi, recon and mc // Input of the macro: // 0 - Software release to be used // 1 - Merit or Svac tuple // 2 - cuts to be applied // 3 - INPUT digi file name // 4 - INPUT recon file name // 5 - INPUT mc file name // 6 - OUTPUT digi file name // 7 - OUTPUT recon file name // 8 - OUTPUT mc file name #include "LoadLibraries.C" #include "EventFilter.C" void FilterRootFiles(char* softrelease, char* merit, char* cuts, char* inputdigi, char* inputrecon, char* inputmc, char* outputdigi, char* outputrecon, char* outputmc) { // cout << "Loading libraries " << endl; LoadLibraries(softrelease); TCut select(cuts); /* cout << endl << merit << endl << inputdigi << endl // << select << endl << outputdigi << endl; */ // Filter digi TString Input(inputdigi); TString Output(outputdigi); if(Input.Contains(".root") && Output.Contains(".root")){ cout << "Processing DIGI ..." << endl; EventFilter(merit, inputdigi, select, outputdigi);} // Filter recon Input = inputrecon; Output = outputrecon; if(Input.Contains(".root") && Output.Contains(".root")){ cout << "Processing RECON ..." << endl; EventFilter(merit, inputrecon, select, outputrecon);} // Filter mc Input = inputmc; Output = outputmc; if(Input.Contains(".root") && Output.Contains(".root")){ cout << "Processing MC ..." << endl; EventFilter(merit, inputmc, select, outputmc);} }