22#define ORT_CHECK( ARG ) \
24 if(!static_cast<bool>(ARG)) { \
25 ::Error("OverlapRemovalInit", \
26 "Failed to execute: \"%s\"", \
28 return StatusCode::FAILURE; \
40 const std::string& theInputLabel,
41 const std::string& theOutputLabel)
57 if(flags.doElectrons && flags.doEleEleOR && tbox.
eleEleORT.
empty()) {
59 flags.masterName +
".EleEleORT");
63 if(flags.doElectrons && flags.doMuons && tbox.
eleMuORT.
empty()) {
65 flags.masterName +
".EleMuORT");
70 flags.masterName +
".EleJetORT");
78 flags.masterName +
".MuJetORT");
86 flags.masterName +
".TauEleORT");
92 flags.masterName +
".TauMuORT");
98 flags.masterName +
".TauJetORT");
103 if(flags.doPhotons && flags.doElectrons && tbox.
phoEleORT.
empty()) {
105 flags.masterName +
".PhoEleORT");
108 if(flags.doPhotons && flags.doMuons && tbox.
phoMuORT.
empty()) {
110 flags.masterName +
".PhoMuORT");
115 flags.masterName +
".PhoJetORT");
121 flags.masterName +
".EleFatJetORT");
128 flags.masterName +
".JetFatJetORT");
134 ORT_CHECK( hptr->setProperty(
"LinkOverlapObjects", flags.linkOverlapObjects) );
142 return StatusCode::SUCCESS;
Defines helper functions for initializing the OR tools in C++.
StatusCode recommendedTools(const ORFlags &flags, ToolBox &toolBox)
Pre-configured standard recommended OR tools.
A struct of global config options used to simplify the config helper interface.
std::string inputLabel
Input object decoration.
std::string outputLabel
Output decoration.
ORFlags(const std::string &masterToolName="OverlapRemovalTool", const std::string &theInputLabel="selected", const std::string &theOutputLabel="overlaps")
Use constructor for convenience to initialize a few options.
std::string masterName
Master tool name.