32 **kwargs):
33 """
34 Provides the pre-configured overlap removal recommendations.
35 All overlap tools will be (private) added to the master tool
36 which is then returned by this function.
37
38 Arguments:
39 masterName - set the name of the master tool.
40 inputLabel - set the InputLabel property for all tools.
41 outputLabel - set the OutputLabel property for all tools.
42 bJetLabel - set user bjet decoration name. Leave blank to
43 disable btag-aware overlap removal.
44 maxElePtForBJetAwareOR - set the maximum electron pT for which b-tag
45 aware overlap removal is done. Set to negative
46 value to use for all electrons.
47 boostedLeptons - enable sliding dR cones for boosted lepton
48 analyses.
49 outputPassValue - set the OutputPassValue property for all tools
50 which determines whether passing objects are
51 marked with true or false.
52 linkOverlapObjects - enable ElementLinks to overlap objects.
53 doEleEleOR - enable electron-electron overlap removal.
54 doXXXX - these flags enable/disable object types to
55 configure tools for: doElectrons, doMuons,
56 doJets, doTaus, doPhotons, doFatJets.
57 kwargs - additional properties to be applied to all tools.
58 For example: OutputLevel.
59 """
60
61
62 common_args = {
63 'InputLabel' : inputLabel,
64 'OutputLabel' : outputLabel,
65 'OutputPassValue' : outputPassValue
66 }
67
68 common_args.update(kwargs)
69
70
71 orTool = OverlapRemovalTool(masterName, **common_args)
72
73
74 common_args['LinkOverlapObjects'] = linkOverlapObjects
75
76
77 if doElectrons and doEleEleOR:
78 orTool.EleEleORT = EleEleOverlapTool('EleEleORT', **common_args)
79
80
81 if doElectrons and doMuons:
82 orTool.EleMuORT = EleMuSharedTrkOverlapTool('EleMuORT', **common_args)
83
84 if doElectrons and doJets:
85 orTool.EleJetORT = EleJetOverlapTool('EleJetORT',
86 BJetLabel=bJetLabel,
87 MaxElePtForBJetAwareOR=maxElePtForBJetAwareOR,
88 UseSlidingDR=boostedLeptons,
89 **common_args)
90
91 if doMuons and doJets:
92 orTool.MuJetORT = MuJetOverlapTool('MuJetORT',
93 BJetLabel=bJetLabel,
94 UseSlidingDR=boostedLeptons,
95 **common_args)
96
97
98 if doTaus and doElectrons:
99 orTool.TauEleORT = DeltaROverlapTool('TauEleORT', DR=0.2, **common_args)
100
101 if doTaus and doMuons:
102 orTool.TauMuORT = DeltaROverlapTool('TauMuORT', DR=0.2, **common_args)
103
104 if doTaus and doJets:
105 orTool.TauJetORT = DeltaROverlapTool('TauJetORT', DR=0.2, **common_args)
106
107
108 if doPhotons and doElectrons:
109 orTool.PhoEleORT = DeltaROverlapTool('PhoEleORT', **common_args)
110
111 if doPhotons and doMuons:
112 orTool.PhoMuORT = DeltaROverlapTool('PhoMuORT', **common_args)
113
114 if doPhotons and doJets:
115 orTool.PhoJetORT = DeltaROverlapTool('PhoJetORT', **common_args)
116
117
118 if doElectrons and doFatJets:
119 orTool.EleFatJetORT = DeltaROverlapTool('EleFatJetORT', DR=1.0, **common_args)
120
121 if doJets and doFatJets:
122 orTool.JetFatJetORT = DeltaROverlapTool('JetFatJetORT', DR=1.0, **common_args)
123
124 return orTool