ATLAS Offline Software
mergeProphecy4f.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 #include "Prophecy4fMerger.h"
5 #include <iostream>
7 
8 using namespace asg::msgUserCode;
9 
10 
11 int main(int argc, char*argv[]){
12 
13  if(argc<5){
14  ANA_MSG_INFO(" Prophecy4fMerger: merge Powheg and Prophecy LHE files! ");
15  ANA_MSG_INFO(" Usage: ./Prophecy4fMerger [Options]");
16  ANA_MSG_INFO(" Nedeed options:");
17  ANA_MSG_INFO(" --inPowheg [Powheg lhe file]");
18  ANA_MSG_INFO(" --inProphecy4e [Prophecy4f lhe file with 4e decays]");
19  ANA_MSG_INFO(" --inProphecy4mu [Prophecy4f lhe file with 4mu decays]");
20  ANA_MSG_INFO(" --inProphecy2e2mu [Prophecy4f lhe file with 2e2mu decays]");
21  ANA_MSG_INFO(" --outLHE [Outupt lhe file]");
22  ANA_MSG_INFO(" --randomSeed [the seed]");
23  ANA_MSG_INFO(" Additional options:");
24  ANA_MSG_INFO(" --debug [Enable debug mode]");
25  return 0;
26  }
27  std::string powheg, prophecy4e, prophecy4mu, prophecy2e2mu, out;
28  unsigned long long seed = 0;
29  bool debug=false;
30  for(int a=1; a<argc; a++){
31  if(!strcmp(argv[a],"--inPowheg")){
32  powheg = argv[a+1];
33  }
34  else if(!strcmp(argv[a],"--inProphecy4e")){
35  prophecy4e = argv[a+1];
36  }
37  else if(!strcmp(argv[a],"--inProphecy4mu")){
38  prophecy4mu = argv[a+1];
39  }
40  else if(!strcmp(argv[a],"--inProphecy2e2mu")){
41  prophecy2e2mu = argv[a+1];
42  }
43  else if(!strcmp(argv[a],"--outLHE")){
44  out = argv[a+1];
45  }
46  else if(!strcmp(argv[a],"--randomSeed")){
47  seed = std::stoull(argv[a+1]);
48  }
49  else if(!strcmp(argv[a],"--debug")){
50  debug = true;
51  }
52  }
53 
54  Prophecy4fMerger merger;
55  merger.setIO(powheg, prophecy4e, prophecy4mu, prophecy2e2mu, out, debug);
56  merger.setRandomSeed(seed);
57  merger.merge();
58 
59  return 0;
60 
61 }
Prophecy4fMerger::setRandomSeed
void setRandomSeed(unsigned long long seed)
Definition: Prophecy4fMerger.cxx:26
main
int main(int argc, char *argv[])
Definition: mergeProphecy4f.cxx:11
Prophecy4fMerger::merge
void merge()
Definition: Prophecy4fMerger.cxx:192
Prophecy4fMerger::setIO
void setIO(const std::string &powheg, const std::string &prophecy4e, const std::string &prophecy4mu, const std::string &prophecy2e2mu, const std::string &outlhe, bool debug)
Definition: Prophecy4fMerger.cxx:175
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
Prophecy4fMerger
Definition: Prophecy4fMerger.h:31
LArCellNtuple.argv
argv
Definition: LArCellNtuple.py:152
ANA_MSG_INFO
#define ANA_MSG_INFO(xmsg)
Macro printing info messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:290
MessageCheck.h
macros for messaging and checking status codes
DQHistogramMergeRegExp.argc
argc
Definition: DQHistogramMergeRegExp.py:20
Prophecy4fMerger.h
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
a
TList * a
Definition: liststreamerinfos.cxx:10