Fork me on GitHub

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • converters/root2lhco.cpp

    rc62695e r2971ebb  
    5656{
    5757public:
    58   LHCOWriter(ExRootTreeReader *treeReader, FILE *outputFile);
     58  LHCOWriter(ExRootTreeReader *treeReader, FILE *outputFile, string JetBranchName);
    5959  ~LHCOWriter();
    6060
     
    107107//------------------------------------------------------------------------------
    108108
    109 LHCOWriter::LHCOWriter(ExRootTreeReader *treeReader, FILE *outputFile) :
     109LHCOWriter::LHCOWriter(ExRootTreeReader *treeReader, FILE *outputFile, string JetBranchName) :
    110110  fTriggerWord(0), fEventNumber(1), fTreeReader(0), fOutputFile(0),
    111111  fBranchEvent(0), fBranchTrack(0), fBranchTower(0), fBranchPhoton(0),
     
    128128  fBranchMuon = fTreeReader->UseBranch("Muon");
    129129  // reconstructed jets
    130   fBranchJet = fTreeReader->UseBranch("Jet");
     130  fBranchJet = fTreeReader->UseBranch(JetBranchName.c_str());
    131131  // missing transverse energy
    132132  fBranchMissingET = fTreeReader->UseBranch("MissingET");
     
    349349
    350350    counter = 1;
    351    
     351
    352352   /*
    353353    fItTrack->Reset();
     
    436436//---------------------------------------------------------------------------
    437437
     438pair<string,string> stringToOption(string s) {
     439
     440        string delimiter = "=";
     441
     442        vector<string> vs;
     443        pair<string,string> res;
     444
     445        size_t pos = 0;
     446        string token;
     447        while ((pos = s.find(delimiter)) != std::string::npos) {
     448            token = s.substr(0, pos);
     449            //cout << token << std::endl;
     450                        vs.push_back(token);
     451            s.erase(0, pos + delimiter.length());
     452        }
     453
     454        //std::cout << s << std::endl;
     455        vs.push_back(s);
     456
     457        if (vs.size()==2){
     458                res.first=vs[0];
     459                res.second=vs[1];
     460        }
     461
     462        return res;
     463
     464}
     465
     466
    438467int main(int argc, char *argv[])
    439468{
     
    445474  ExRootTreeReader *treeReader = 0;
    446475  Long64_t entry, allEntries;
    447 
    448   if(argc < 2 || argc > 3)
    449   {
    450     cerr << " Usage: " << appName << " input_file" << " [output_file]" << endl;
     476  string  JetBranchName="Jet";
     477
     478  if(argc < 2 || argc > 4)
     479  {
     480    cerr << " Usage: " << appName << " input_file" << " [output_file]  [--jet-branch=Jet]" << endl;
    451481    cerr << " input_file - input file in ROOT format," << endl;
    452482    cerr << " output_file - output file in LHCO format," << endl;
    453483    cerr << " with no output_file, or when output_file is -, write to standard output." << endl;
     484    cerr << " in order to specify the jet-branch name the output_file cannot be omitted." << endl;
    454485    return 1;
    455486  }
     487
     488  for(int iarg=3; iarg< argc    ; iarg++){
     489
     490                string argument=argv[iarg];
     491                pair<string,string> option;
     492                option=stringToOption(argument);
     493
     494                if ( option.first == "--jet-branch" ) {
     495      JetBranchName = option.second;
     496      cout << " Using the jet branch named " << JetBranchName << endl;
     497    }
     498        }
     499  cout << " Using the default jet branch named " << JetBranchName << endl;
     500
    456501
    457502  signal(SIGINT, SignalHandler);
     
    494539    {
    495540      // Create LHC Olympics converter:
    496       writer = new LHCOWriter(treeReader, outputFile);
     541      writer = new LHCOWriter(treeReader, outputFile, JetBranchName);
    497542
    498543      ExRootProgressBar progressBar(allEntries - 1);
     
    531576  }
    532577}
    533 
    534 
Note: See TracChangeset for help on using the changeset viewer.