17 """Main config method for e-gamma decorations"""
19 acc = ComponentAccumulator()
21 includeFwdElectrons =
"ForwardElectrons" in flags.Input.Collections
26 from DerivationFrameworkEGamma.EGammaToolsConfig
import PhotonsDirectionToolCfg
28 DFCommonPhotonsDirection = acc.addPublicTool(acc.popToolsAndMerge(
29 PhotonsDirectionToolCfg(
31 name=
"DFCommonPhotonsDirection",
32 EtaSGEntry=
"DFCommonPhotons_eta",
33 PhiSGEntry=
"DFCommonPhotons_phi",
34 EtSGEntry=
"DFCommonPhotons_et",
44 isMC = flags.Input.isMC
47 isFullSim = flags.Sim.ISF.Simulator.isFullSim()
48 isRun2orRun3 = flags.GeoModel.Run
in (LHCPeriod.Run2, LHCPeriod.Run3)
50 print(
"EGammaCommon: isMC = ", isMC)
52 print(
"EGammaCommon: isFullSim = ", isFullSim)
55 from EGammaVariableCorrection.EGammaVariableCorrectionConfig
import (
56 ElectronVariableCorrectionToolCfg,
57 PhotonVariableCorrectionToolCfg,
58 ElectronPhotonVariableNFCorrectionToolCfg,
61 ElectronVariableCorrectionTool = acc.popToolsAndMerge(
62 ElectronVariableCorrectionToolCfg(flags)
64 acc.addPublicTool(ElectronVariableCorrectionTool)
66 PhotonVariableCorrectionTool = acc.popToolsAndMerge(
67 PhotonVariableCorrectionToolCfg(flags)
69 acc.addPublicTool(PhotonVariableCorrectionTool)
72 PhotonVariableNFCorrectionTool = acc.popToolsAndMerge(
73 ElectronPhotonVariableNFCorrectionToolCfg(flags, forceFold=0)
75 acc.addPublicTool(PhotonVariableNFCorrectionTool)
82 from ROOT
import LikeEnum
84 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import (
85 AsgElectronLikelihoodToolCfg,
87 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
89 lhMenu = electronLHmenu.offlineMC21
90 if flags.GeoModel.Run
is LHCPeriod.Run2:
91 lhMenu = electronLHmenu.offlineMC20
94 ElectronLHSelectorVeryLoose = acc.popToolsAndMerge(
95 AsgElectronLikelihoodToolCfg(
97 name=
"ElectronLHSelectorVeryLoose",
98 quality=LikeEnum.VeryLoose,
102 ElectronLHSelectorVeryLoose.primaryVertexContainer =
"PrimaryVertices"
103 acc.addPublicTool(ElectronLHSelectorVeryLoose)
106 ElectronLHSelectorLoose = acc.popToolsAndMerge(
107 AsgElectronLikelihoodToolCfg(
109 name=
"ElectronLHSelectorLoose",
110 quality=LikeEnum.Loose,
114 ElectronLHSelectorLoose.primaryVertexContainer =
"PrimaryVertices"
115 acc.addPublicTool(ElectronLHSelectorLoose)
118 ElectronLHSelectorLooseBL = acc.popToolsAndMerge(
119 AsgElectronLikelihoodToolCfg(
121 name=
"ElectronLHSelectorLooseBL",
122 quality=LikeEnum.LooseBL,
126 ElectronLHSelectorLooseBL.primaryVertexContainer =
"PrimaryVertices"
127 acc.addPublicTool(ElectronLHSelectorLooseBL)
130 ElectronLHSelectorMedium = acc.popToolsAndMerge(
131 AsgElectronLikelihoodToolCfg(
133 name=
"ElectronLHSelectorMedium",
134 quality=LikeEnum.Medium,
138 ElectronLHSelectorMedium.primaryVertexContainer =
"PrimaryVertices"
139 acc.addPublicTool(ElectronLHSelectorMedium)
142 ElectronLHSelectorTight = acc.popToolsAndMerge(
143 AsgElectronLikelihoodToolCfg(
145 name=
"ElectronLHSelectorTight",
146 quality=LikeEnum.Tight,
150 ElectronLHSelectorTight.primaryVertexContainer =
"PrimaryVertices"
151 acc.addPublicTool(ElectronLHSelectorTight)
156 from ElectronPhotonSelectorTools.AsgElectronSelectorToolConfig
import (
157 AsgElectronSelectorToolCfg,
161 ElectronDNNSelectorLoose = acc.popToolsAndMerge(
162 AsgElectronSelectorToolCfg(
164 name=
"ElectronDNNSelectorLoose",
165 WorkingPoint=
"LooseDNNElectron",
168 acc.addPublicTool(ElectronDNNSelectorLoose)
171 ElectronDNNSelectorMedium = acc.popToolsAndMerge(
172 AsgElectronSelectorToolCfg(
174 name=
"ElectronDNNSelectorMedium",
175 WorkingPoint=
"MediumDNNElectron",
178 acc.addPublicTool(ElectronDNNSelectorMedium)
181 ElectronDNNSelectorTight = acc.popToolsAndMerge(
182 AsgElectronSelectorToolCfg(
184 name=
"ElectronDNNSelectorTight",
185 WorkingPoint=
"TightDNNElectron",
188 acc.addPublicTool(ElectronDNNSelectorTight)
194 ElectronDNNSelectorVeryLooseNoCF97 = acc.popToolsAndMerge(
195 AsgElectronSelectorToolCfg(
197 name=
"ElectronDNNSelectorVeryLooseNoCF97",
198 WorkingPoint=
"VeryLooseNoCF97DNNElectron",
201 acc.addPublicTool(ElectronDNNSelectorVeryLooseNoCF97)
204 ElectronDNNSelectorLooseNoCF = acc.popToolsAndMerge(
205 AsgElectronSelectorToolCfg(
207 name=
"ElectronDNNSelectorLooseNoCF",
208 WorkingPoint=
"LooseNoCFDNNElectron",
211 acc.addPublicTool(ElectronDNNSelectorLooseNoCF)
214 ElectronDNNSelectorMediumNoCF = acc.popToolsAndMerge(
215 AsgElectronSelectorToolCfg(
217 name=
"ElectronDNNSelectorMediumNoCF",
218 WorkingPoint=
"MediumNoCFDNNElectron",
221 acc.addPublicTool(ElectronDNNSelectorMediumNoCF)
224 ElectronDNNSelectorTightNoCF = acc.popToolsAndMerge(
225 AsgElectronSelectorToolCfg(
227 name=
"ElectronDNNSelectorTightNoCF",
228 WorkingPoint=
"TightNoCFDNNElectron",
231 acc.addPublicTool(ElectronDNNSelectorTightNoCF)
236 if flags.Derivation.Egamma.addECIDS:
237 from ElectronPhotonSelectorTools.AsgElectronChargeIDSelectorToolConfig
import (
238 AsgElectronChargeIDSelectorToolCfg,
241 ElectronChargeIDSelector = acc.popToolsAndMerge(
242 AsgElectronChargeIDSelectorToolCfg(
243 flags, name=
"ElectronChargeIDSelectorLoose"
246 ElectronChargeIDSelector.primaryVertexContainer =
"PrimaryVertices"
247 ElectronChargeIDSelector.TrainingFile = (
248 "ElectronPhotonSelectorTools/ChargeID/ECIDS_20180731rel21Summer2018.root"
250 acc.addPublicTool(ElectronChargeIDSelector)
255 if includeFwdElectrons:
256 from ElectronPhotonSelectorTools.AsgForwardElectronLikelihoodToolConfig
import (
257 AsgForwardElectronLikelihoodToolCfg,
260 ForwardElectronLHSelectorLoose = acc.popToolsAndMerge(
261 AsgForwardElectronLikelihoodToolCfg(
263 name=
"ForwardElectronLHSelectorLoose",
264 WorkingPoint=
"LooseLHForwardElectron",
267 acc.addPublicTool(ForwardElectronLHSelectorLoose)
269 ForwardElectronLHSelectorMedium = acc.popToolsAndMerge(
270 AsgForwardElectronLikelihoodToolCfg(
272 name=
"ForwardElectronLHSelectorMedium",
273 WorkingPoint=
"MediumLHForwardElectron",
276 acc.addPublicTool(ForwardElectronLHSelectorMedium)
278 ForwardElectronLHSelectorTight = acc.popToolsAndMerge(
279 AsgForwardElectronLikelihoodToolCfg(
281 name=
"ForwardElectronLHSelectorTight",
282 WorkingPoint=
"TightLHForwardElectron",
285 acc.addPublicTool(ForwardElectronLHSelectorTight)
290 from ROOT
import egammaPID
292 from ElectronPhotonSelectorTools.AsgPhotonIsEMSelectorsConfig
import (
293 AsgPhotonIsEMSelectorCfg,
295 from ElectronPhotonSelectorTools.PhotonIsEMSelectorMapping
import photonPIDmenu
296 pidMenu = photonPIDmenu.offlineMC21
297 if flags.GeoModel.Run
is LHCPeriod.Run2:
298 pidMenu = photonPIDmenu.offlineMC20
301 PhotonIsEMSelectorLoose = acc.popToolsAndMerge(
302 AsgPhotonIsEMSelectorCfg(
304 name=
"PhotonIsEMSelectorLoose",
305 quality=egammaPID.PhotonIDLoose,
309 acc.addPublicTool(PhotonIsEMSelectorLoose)
312 PhotonIsEMSelectorMedium = acc.popToolsAndMerge(
313 AsgPhotonIsEMSelectorCfg(
315 name=
"PhotonIsEMSelectorMedium",
316 quality=egammaPID.PhotonIDMedium,
320 acc.addPublicTool(PhotonIsEMSelectorMedium)
323 PhotonIsEMSelectorTight = acc.popToolsAndMerge(
324 AsgPhotonIsEMSelectorCfg(
326 name=
"PhotonIsEMSelectorTight",
327 quality=egammaPID.PhotonIDTight,
331 acc.addPublicTool(PhotonIsEMSelectorTight)
336 photonIDBDTWP =
"TightBDTPhoton_Run3"
337 if flags.GeoModel.Run
is LHCPeriod.Run2:
338 photonIDBDTWP =
"TightBDTPhoton_Run2"
339 from ElectronPhotonSelectorTools.AsgPhotonBDTSelectorConfig
import (
340 PhotonBDTCalculatorCfg,
341 AsgPhotonBDTSelectorCfg,
343 PhotonBDTCalculator = acc.popToolsAndMerge(
344 PhotonBDTCalculatorCfg(
346 name=
"PhotonBDTCalculator",
350 PhotonBDTSelectorTight = acc.popToolsAndMerge(
351 AsgPhotonBDTSelectorCfg(
353 name=
"PhotonBDTSelectorTight",
354 workingPoint=photonIDBDTWP,
358 PhotonBDTCalculatorNF = acc.popToolsAndMerge(
359 PhotonBDTCalculatorCfg(
361 name=
"PhotonBDTCalculatorNF",
365 PhotonBDTSelectorTightNF = acc.popToolsAndMerge(
366 AsgPhotonBDTSelectorCfg(
368 name=
"PhotonBDTSelectorTightNF",
369 workingPoint=photonIDBDTWP+
"_NFs",
377 from egammaCaloTools.egammaCaloToolsConfig
import CaloFillRectangularClusterCfg
379 EGAMCOM_caloFillRect55 = acc.popToolsAndMerge(
380 CaloFillRectangularClusterCfg(
382 name=
"EGAMCOMCaloFillRectangularCluster55",
383 cells_name=
"AllCalo",
389 acc.addPublicTool(EGAMCOM_caloFillRect55)
391 EGAMCOM_caloFillRect35 = acc.popToolsAndMerge(
392 CaloFillRectangularClusterCfg(
394 name=
"EGAMCOMCaloFillRectangularCluster35",
395 cells_name=
"AllCalo",
401 acc.addPublicTool(EGAMCOM_caloFillRect35)
403 EGAMCOM_caloFillRect37 = acc.popToolsAndMerge(
404 CaloFillRectangularClusterCfg(
406 name=
"EGAMCOMCaloFillRectangularCluster37",
407 cells_name=
"AllCalo",
413 acc.addPublicTool(EGAMCOM_caloFillRect37)
415 EGAMCOM_caloFillRect711 = acc.popToolsAndMerge(
416 CaloFillRectangularClusterCfg(
418 name=
"EGAMCOMCaloFillRectangularCluster711",
419 cells_name=
"AllCalo",
425 acc.addPublicTool(EGAMCOM_caloFillRect711)
430 from DerivationFrameworkEGamma.EGammaToolsConfig
import EGSelectionToolWrapperCfg
431 from DerivationFrameworkEGamma.EGammaToolsConfig
import (
432 EGElectronLikelihoodToolWrapperCfg,
433 EGPhotonBDTToolWrapperCfg,
439 ElectronPassLHVeryLoose = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
441 name=
"ElectronPassLHVeryLoose",
442 EGammaElectronLikelihoodTool=ElectronLHSelectorVeryLoose,
443 EGammaFudgeMCTool=
None,
445 StoreGateEntryName=
"DFCommonElectronsLHVeryLoose",
446 ContainerName=
"Electrons",
452 ElectronPassLHLoose = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
454 name=
"ElectronPassLHLoose",
455 EGammaElectronLikelihoodTool=ElectronLHSelectorLoose,
456 EGammaFudgeMCTool=
None,
458 StoreGateEntryName=
"DFCommonElectronsLHLoose",
459 ContainerName=
"Electrons",
465 ElectronPassLHLooseBL = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
467 name=
"ElectronPassLHLooseBL",
468 EGammaElectronLikelihoodTool=ElectronLHSelectorLooseBL,
469 EGammaFudgeMCTool=
None,
471 StoreGateEntryName=
"DFCommonElectronsLHLooseBL",
472 ContainerName=
"Electrons",
478 ElectronPassLHMedium = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
480 name=
"ElectronPassLHMedium",
481 EGammaElectronLikelihoodTool=ElectronLHSelectorMedium,
482 EGammaFudgeMCTool=
None,
484 StoreGateEntryName=
"DFCommonElectronsLHMedium",
485 ContainerName=
"Electrons",
491 ElectronPassLHTight = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
493 name=
"ElectronPassLHTight",
494 EGammaElectronLikelihoodTool=ElectronLHSelectorTight,
495 EGammaFudgeMCTool=
None,
497 StoreGateEntryName=
"DFCommonElectronsLHTight",
498 ContainerName=
"Electrons",
504 ElectronPassDNNLoose = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
506 name=
"ElectronPassDNNLoose",
507 EGammaElectronLikelihoodTool=ElectronDNNSelectorLoose,
508 EGammaFudgeMCTool=(ElectronVariableCorrectionTool
if isMC
else None),
510 StoreGateEntryName=
"DFCommonElectronsDNNLoose",
511 ContainerName=
"Electrons",
513 StoreGateEntryMultipleNames=[
514 "DFCommonElectronsDNN_pel",
515 "DFCommonElectronsDNN_pcf",
516 "DFCommonElectronsDNN_ppc",
517 "DFCommonElectronsDNN_phf",
518 "DFCommonElectronsDNN_ple",
519 "DFCommonElectronsDNN_plh",
521 StoreMultipleOutputs=
True,
526 ElectronPassDNNMedium = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
528 name=
"ElectronPassDNNMedium",
529 EGammaElectronLikelihoodTool=ElectronDNNSelectorMedium,
530 EGammaFudgeMCTool=(ElectronVariableCorrectionTool
if isMC
else None),
532 StoreGateEntryName=
"DFCommonElectronsDNNMedium",
533 ContainerName=
"Electrons",
539 ElectronPassDNNTight = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
541 name=
"ElectronPassDNNTight",
542 EGammaElectronLikelihoodTool=ElectronDNNSelectorTight,
543 EGammaFudgeMCTool=(ElectronVariableCorrectionTool
if isMC
else None),
545 StoreGateEntryName=
"DFCommonElectronsDNNTight",
546 ContainerName=
"Electrons",
552 ElectronPassDNNVeryLooseNoCF97 = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
554 name=
"ElectronPassDNNVeryLooseNoCF97",
555 EGammaElectronLikelihoodTool=ElectronDNNSelectorVeryLooseNoCF97,
556 EGammaFudgeMCTool=(ElectronVariableCorrectionTool
if isMC
else None),
558 StoreGateEntryName=
"DFCommonElectronsDNNVeryLooseNoCF97",
559 ContainerName=
"Electrons",
564 ElectronPassDNNLooseNoCF = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
566 name=
"ElectronPassDNNLooseNoCF",
567 EGammaElectronLikelihoodTool=ElectronDNNSelectorLooseNoCF,
568 EGammaFudgeMCTool=(ElectronVariableCorrectionTool
if isMC
else None),
570 StoreGateEntryName=
"DFCommonElectronsDNNLooseNoCF",
571 ContainerName=
"Electrons",
577 ElectronPassDNNMediumNoCF = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
579 name=
"ElectronPassDNNMediumNoCF",
580 EGammaElectronLikelihoodTool=ElectronDNNSelectorMediumNoCF,
581 EGammaFudgeMCTool=(ElectronVariableCorrectionTool
if isMC
else None),
583 StoreGateEntryName=
"DFCommonElectronsDNNMediumNoCF",
584 ContainerName=
"Electrons",
590 ElectronPassDNNTightNoCF = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
592 name=
"ElectronPassDNNTightNoCF",
593 EGammaElectronLikelihoodTool=ElectronDNNSelectorTightNoCF,
594 EGammaFudgeMCTool=(ElectronVariableCorrectionTool
if isMC
else None),
596 StoreGateEntryName=
"DFCommonElectronsDNNTightNoCF",
597 ContainerName=
"Electrons",
603 if flags.Derivation.Egamma.addECIDS:
604 ElectronPassECIDS = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
606 name=
"ElectronPassECIDS",
607 EGammaElectronLikelihoodTool=ElectronChargeIDSelector,
608 EGammaFudgeMCTool=
None,
610 StoreGateEntryName=
"DFCommonElectronsECIDS",
611 ContainerName=
"Electrons",
616 if includeFwdElectrons:
618 ForwardElectronPassLHLoose = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
620 name=
"ForwardElectronPassLHLoose",
621 EGammaElectronLikelihoodTool=ForwardElectronLHSelectorLoose,
622 EGammaFudgeMCTool=
None,
624 StoreGateEntryName=
"DFCommonForwardElectronsLHLoose",
625 ContainerName=
"ForwardElectrons",
630 ForwardElectronPassLHMedium = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
632 name=
"ForwardElectronPassLHMedium",
633 EGammaElectronLikelihoodTool=ForwardElectronLHSelectorMedium,
634 EGammaFudgeMCTool=
None,
636 StoreGateEntryName=
"DFCommonForwardElectronsLHMedium",
637 ContainerName=
"ForwardElectrons",
642 ForwardElectronPassLHTight = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
644 name=
"ForwardElectronPassLHTight",
645 EGammaElectronLikelihoodTool=ForwardElectronLHSelectorTight,
646 EGammaFudgeMCTool=
None,
648 StoreGateEntryName=
"DFCommonForwardElectronsLHTight",
649 ContainerName=
"ForwardElectrons",
656 PhotonPassIsEMLoose = acc.addPublicTool(acc.popToolsAndMerge(
657 EGSelectionToolWrapperCfg(
659 name=
"PhotonPassIsEMLoose",
660 EGammaSelectionTool=PhotonIsEMSelectorLoose,
661 EGammaFudgeMCTool=(PhotonVariableCorrectionTool
if isFullSim
else None),
663 StoreGateEntryName=
"DFCommonPhotonsIsEMLoose",
664 ContainerName=
"Photons",
671 PhotonPassIsEMMedium = acc.addPublicTool(acc.popToolsAndMerge(
672 EGSelectionToolWrapperCfg(
674 name=
"PhotonPassIsEMMedium",
675 EGammaSelectionTool=PhotonIsEMSelectorMedium,
676 EGammaFudgeMCTool=(PhotonVariableCorrectionTool
if isFullSim
else None),
678 StoreGateEntryName=
"DFCommonPhotonsIsEMMedium",
679 ContainerName=
"Photons",
686 PhotonPassIsEMTight = acc.addPublicTool(acc.popToolsAndMerge(
687 EGSelectionToolWrapperCfg(
689 name=
"PhotonPassIsEMTight",
690 EGammaSelectionTool=PhotonIsEMSelectorTight,
691 EGammaFudgeMCTool=(PhotonVariableCorrectionTool
if isFullSim
else None),
693 StoreGateEntryName=
"DFCommonPhotonsIsEMTight",
694 ContainerName=
"Photons",
701 PhotonPassBDTTight = acc.addPublicTool(acc.popToolsAndMerge(
702 EGPhotonBDTToolWrapperCfg(
704 name=
"PhotonPassBDTTight",
705 PhotonBDTSelectionTool=PhotonBDTSelectorTight,
706 PhotonObservableTool=PhotonBDTCalculator,
707 EGammaFudgeMCTool=(PhotonVariableCorrectionTool
if isFullSim
else None),
709 StoreGateEntryName=
"DFCommonPhotonsBDT",
710 WorkingPointName=
"Tight",
711 ContainerName=
"Photons",
718 PhotonPassIsEMTightNF = acc.addPublicTool(acc.popToolsAndMerge(
719 EGSelectionToolWrapperCfg(
721 name=
"PhotonPassIsEMTightNF",
722 EGammaSelectionTool=PhotonIsEMSelectorTight,
723 EGammaFudgeMCTool=(PhotonVariableNFCorrectionTool
if (isMC
and isRun2orRun3)
else None),
725 StoreGateEntryName=
"DFCommonPhotonsIsEMTightNF",
726 ContainerName=
"Photons",
733 PhotonPassBDTTightNF = acc.addPublicTool(acc.popToolsAndMerge(
734 EGPhotonBDTToolWrapperCfg(
736 name=
"PhotonPassBDTTightNF",
737 PhotonBDTSelectionTool=PhotonBDTSelectorTightNF,
738 PhotonObservableTool=PhotonBDTCalculatorNF,
739 EGammaFudgeMCTool=(PhotonVariableNFCorrectionTool
if (isMC
and isRun2orRun3)
else None),
741 StoreGateEntryName=
"DFCommonPhotonsNFBDT",
742 WorkingPointName=
"Tight",
743 ContainerName=
"Photons",
750 from DerivationFrameworkEGamma.EGammaToolsConfig
import EGPhotonCleaningWrapperCfg
752 PhotonPassCleaning = acc.addPublicTool(acc.popToolsAndMerge(
753 EGPhotonCleaningWrapperCfg(
755 name=
"PhotonPassCleaning",
756 EGammaFudgeMCTool=(PhotonVariableCorrectionTool
if isFullSim
else None),
757 StoreGateEntryName=
"DFCommonPhotonsCleaning",
758 ContainerName=
"Photons",
764 from DerivationFrameworkEGamma.EGammaToolsConfig
import EGElectronAmbiguityToolCfg
766 ElectronAmbiguity = acc.addPublicTool(acc.popToolsAndMerge(
767 EGElectronAmbiguityToolCfg(
769 name=
"ElectronAdditionnalAmbiguity",
770 isMC=flags.Input.isMC,
775 EGAugmentationTools = [
776 DFCommonPhotonsDirection,
777 ElectronPassLHVeryLoose,
779 ElectronPassLHLooseBL,
780 ElectronPassLHMedium,
782 ElectronPassDNNLoose,
783 ElectronPassDNNMedium,
784 ElectronPassDNNTight,
785 ElectronPassDNNVeryLooseNoCF97,
786 ElectronPassDNNLooseNoCF,
787 ElectronPassDNNMediumNoCF,
788 ElectronPassDNNTightNoCF,
790 PhotonPassIsEMMedium,
792 PhotonPassIsEMTightNF,
794 PhotonPassBDTTightNF,
799 if flags.Derivation.Egamma.addECIDS:
800 EGAugmentationTools.extend([ElectronPassECIDS])
802 if includeFwdElectrons:
803 EGAugmentationTools.extend(
805 ForwardElectronPassLHLoose,
806 ForwardElectronPassLHMedium,
807 ForwardElectronPassLHTight,
811 if flags.Derivation.Egamma.addMissingCellInfo:
812 from DerivationFrameworkCalo.DerivationFrameworkCaloConfig
import (
813 EgammaCoreCellRecoveryCfg,
816 CoreCellRecoveryTool = acc.popToolsAndMerge(
817 EgammaCoreCellRecoveryCfg(flags)
819 acc.addPublicTool(CoreCellRecoveryTool)
820 EGAugmentationTools.append(CoreCellRecoveryTool)
822 if flags.Derivation.Egamma.addMissingCellInfo:
827 from DerivationFrameworkEGamma.EGammaToolsConfig
import EGammaEnergyCalibrationWrapperCfg
828 TransformerEnergyCalibration = acc.addPublicTool(acc.popToolsAndMerge(
829 EGammaEnergyCalibrationWrapperCfg(
831 name=
"TransformerEnergyCalibration",
834 EGAugmentationTools.append(TransformerEnergyCalibration)
840 from DerivationFrameworkEGamma.EGammaToolsConfig
import (
841 BkgElectronClassificationCfg,
844 BkgElectronClassificationTool = acc.addPublicTool(acc.popToolsAndMerge(
845 BkgElectronClassificationCfg(
847 name=
"BkgElectronClassificationTool"
850 EGAugmentationTools.append(BkgElectronClassificationTool)
853 from DerivationFrameworkMCTruth.TruthDerivationToolsConfig
import (
854 TruthIsolationToolCfg,
857 TruthEgetIsolationTool = acc.getPrimaryAndMerge(
858 TruthIsolationToolCfg(
860 name=
"TruthEgetIsolationTool",
861 isoParticlesKey=
"egammaTruthParticles",
862 allParticlesKey=
"TruthParticles",
863 particleIDsToCalculate=[-11, 11, 22],
864 IsolationConeSizes=[0.2, 0.3, 0.4],
865 excludeIDsFromCone=[-16, -14, -13, -12, 12, 13, 14, 16],
866 IsolationVarNamePrefix=
"etcone",
867 ChargedParticlesOnly=
False,
870 EGAugmentationTools.append(TruthEgetIsolationTool)
873 TruthEgptIsolationTool = acc.getPrimaryAndMerge(
874 TruthIsolationToolCfg(
876 name=
"TruthEgptIsolationTool",
877 isoParticlesKey=
"egammaTruthParticles",
878 allParticlesKey=
"TruthParticles",
879 particleIDsToCalculate=[-11, 11, 22],
880 IsolationConeSizes=[0.2, 0.3, 0.4],
881 IsolationVarNamePrefix=
"ptcone",
882 ChargedParticlesOnly=
True,
885 EGAugmentationTools.append(TruthEgptIsolationTool)
888 from EventShapeTools.EventDensityConfig
import configEventDensityTool
889 from JetRecConfig.JetRecConfig
import (
894 from JetRecConfig.StandardJetConstits
import stdConstitDic
as cst
897 constit_algs = getInputAlgs(cst.Truth, flags=flags)
898 constit_algs, ca = reOrderAlgs([a
for a
in constit_algs
if a
is not None])
900 for a
in constit_algs:
902 constitPJAlg = getConstitPJGAlg(cst.Truth, suffix=
None)
903 acc.addEventAlgo(constitPJAlg)
905 tc = configEventDensityTool(
906 "EDTruthCentralTool",
911 OutputContainer=
"TruthIsoCentralEventShape",
914 acc.addPublicTool(tc)
917 tf = configEventDensityTool(
918 "EDTruthForwardTool",
923 OutputContainer=
"TruthIsoForwardEventShape",
926 acc.addPublicTool(tf)
929 CompFactory.EventDensityAthAlg(
"EDTruthCentralAlg", EventDensityTool=tc)
932 CompFactory.EventDensityAthAlg(
"EDTruthForwardAlg", EventDensityTool=tf)
940 CompFactory.DerivationFramework.CommonAugmentation(
941 "EGammaCommonKernel", AugmentationTools=EGAugmentationTools
948 from IsolationAlgs.DerivationTrackIsoConfig
import DerivationTrackIsoCfg
950 acc.merge(DerivationTrackIsoCfg(flags, object_types=(
"Electrons",
"Muons")))
953 "JetETMissChargedParticleFlowObjects" in flags.Input.Collections
954 and "JetETMissNeutralParticleFlowObjects" in flags.Input.Collections
957 from IsolationAlgs.IsolationSteeringDerivConfig
import IsolationSteeringDerivCfg
959 acc.merge(IsolationSteeringDerivCfg(flags))