00001 #ifndef ASSOCIATIONUTILS_OVERLAPREMOVALINIT_H
00002 #define ASSOCIATIONUTILS_OVERLAPREMOVALINIT_H
00003
00008
00009
00010 #include <string>
00011
00012
00013 #include "AsgTools/StatusCode.h"
00014
00015
00016 #include "AssociationUtils/ToolBox.h"
00017 #include "AssociationUtils/ORToolBox.h"
00018
00019 namespace ORUtils
00020 {
00021
00025 struct ORFlags
00026 {
00028 ORFlags(const std::string& masterToolName = "OverlapRemovalTool",
00029 const std::string& theInputLabel = "selected",
00030 const std::string& theOutputLabel = "overlaps");
00031
00033 std::string masterName;
00035 std::string inputLabel;
00037 std::string outputLabel;
00038
00040 std::string bJetLabel = "";
00042 bool boostedLeptons = false;
00045 bool outputPassValue = false;
00047 bool linkOverlapObjects = false;
00049 bool doEleEleOR = false;
00050
00053 bool doElectrons = true;
00054 bool doMuons = true;
00055 bool doJets = true;
00056 bool doTaus = true;
00057 bool doPhotons = true;
00058 bool doFatJets = false;
00060 };
00061
00062
00092 StatusCode recommendedTools(const ORFlags& flags, ToolBox& toolBox);
00093
00094 #ifdef ROOTCORE
00095
00116 StatusCode recommendedTools(ORToolBox& toolBox,
00117 const std::string& name,
00118 const std::string& inputLabel = "selected",
00119 const std::string& outputLabel = "overlaps",
00120 const std::string& bJetLabel = "",
00121 bool boostedLeptons = false,
00122 bool outputPassValue = false,
00123 bool doTaus=true, bool doPhotons=true)
00124 __attribute__((deprecated));
00125
00126
00139 StatusCode harmonizedTools(ORToolBox& toolBox,
00140 const std::string& name,
00141 const std::string& inputLabel = "selected",
00142 const std::string& outputLabel = "overlaps",
00143 bool outputPassValue = false,
00144 bool doTaus=true, bool doPhotons=true)
00145 __attribute__((deprecated));
00146
00147 #endif // ROOTCORE
00148
00149 }
00150
00151 #endif