30 ATH_CHECK(
config.setProperty(
"WorkingPoint",
"VeryLooseLHElectron_LLP"));
68 return StatusCode::SUCCESS;
84 if (IDWorkingPoint ==
"DFCommonElectronsLHTightNoPix"){
87 else if (IDWorkingPoint ==
"DFCommonElectronsLHMediumNoPix"){
90 else if (IDWorkingPoint ==
"DFCommonElectronsLHLooseNoPix"){
93 else if (IDWorkingPoint ==
"DFCommonElectronsLHVeryLooseNoPix"){
97 ATH_MSG_ERROR(
"IDWorkingPoint provided is not a valid Working Point!");
111 std::set<const xAOD::Electron *> &ElectronsToRemove)
const
120 if (!
electronPassesID(LRTElectron,
"DFCommonElectronsLHVeryLooseNoPix")) ElectronsToRemove.insert(LRTElectron);
125 ATH_MSG_DEBUG(
"Electrons with overlapping clusters will be kept");
132 const ElementLink promptClusterLink = promptElectron->caloClusterLink(0);
139 ElectronsToRemove.insert(promptElectron);
147 const ElementLink LRTClusterLink = LRTElectron->caloClusterLink(0);
156 if (!lrt_cluster and !prompt_cluster)
162 const double prompt_elEta0 = prompt_cluster->
eta0();
163 const double prompt_elPhi0 = prompt_cluster->
phi0();
165 const double lrt_elEta0 = lrt_cluster->
eta0();
166 const double lrt_elPhi0 = lrt_cluster->
phi0();
167 ATH_MSG_DEBUG(
"Prompt eta, phi: "<<prompt_elEta0<<
", "<<prompt_elPhi0);
168 ATH_MSG_DEBUG(
"LRT eta, phi: "<<lrt_elEta0<<
", "<<lrt_elPhi0);
170 if (prompt_elEta0 == lrt_elEta0 && prompt_elPhi0 == lrt_elPhi0)
173 ATH_MSG_DEBUG(
"Found a Calo cluster shared by LRT electron and prompt electron !");
177 ElectronsToRemove.insert(LRTElectron);
183 ElectronsToRemove.insert(LRTElectron);
185 else if (
electronPassesID(promptElectron,
"DFCommonElectronsLHMediumNoPix") ) {
187 ElectronsToRemove.insert(promptElectron);
189 else ElectronsToRemove.insert(LRTElectron);
191 else if (
electronPassesID(promptElectron,
"DFCommonElectronsLHLooseNoPix") ) {
193 ElectronsToRemove.insert(promptElectron);
195 else ElectronsToRemove.insert(LRTElectron);
197 else if (
electronPassesID(promptElectron,
"DFCommonElectronsLHVeryLooseNoPix") ) {
199 ElectronsToRemove.insert(promptElectron);
201 else ElectronsToRemove.insert(LRTElectron);
205 ElectronsToRemove.insert(promptElectron);
207 else ElectronsToRemove.insert(LRTElectron);