14def PhysCommonAugmentationsCfg(flags,**kwargs):
15 """Configure the common augmentation"""
16 acc = ComponentAccumulator()
17
18
19 if flags.Input.isMC:
20 from DerivationFrameworkMCTruth.MCTruthCommonConfig import (
21 AddStandardTruthContentsCfg,
22 AddHFAndDownstreamParticlesCfg,
23 AddMiniTruthCollectionLinksCfg,
24 AddPVCollectionCfg,
25 TruthClassificationAugmentationsCfg)
26 acc.merge(TruthClassificationAugmentationsCfg(flags))
27 from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import DFCommonTruthCharmToolCfg
28 PhysCommonTruthCharmTool = acc.getPrimaryAndMerge(DFCommonTruthCharmToolCfg(
29 flags,
30 name = "PhysCommonTruthCharmTool"))
31 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
32 acc.addEventAlgo(CommonAugmentation("PhysCommonTruthCharmKernel",AugmentationTools=[PhysCommonTruthCharmTool]))
33 acc.merge(AddHFAndDownstreamParticlesCfg(flags))
34 acc.merge(AddStandardTruthContentsCfg
35 (flags,
36 navInputCollections = ["TruthElectrons",
37 "TruthMuons",
38 "TruthPhotons",
39 "TruthTaus",
40 "TruthNeutrinos",
41 "TruthBSM",
42 "TruthBottom",
43 "TruthTop",
44 "TruthBoson",
45 "TruthCharm",
46 "TruthHFWithDecayParticles"]))
47
48 acc.merge(AddMiniTruthCollectionLinksCfg(flags))
49 acc.merge(AddPVCollectionCfg(flags))
50
51
52 from DerivationFrameworkInDet.InDetCommonConfig import InDetCommonCfg
53 from DerivationFrameworkMuons.MuonsCommonConfig import MuonsCommonCfg
54 from DerivationFrameworkEGamma.EGammaCommonConfig import EGammaCommonCfg
55
56
57 acc.merge(InDetCommonCfg(flags,
58 DoVertexFinding = flags.Tracking.doVertexFinding,
59 AddPseudoTracks = flags.Tracking.doPseudoTracking,
60 DecoLRTTTVA = False,
61 DoR3LargeD0 = flags.Tracking.doLargeD0,
62 StoreSeparateLargeD0Container = flags.Tracking.storeSeparateLargeD0Container,
63 MergeLRT = False))
64 acc.merge(MuonsCommonCfg(flags))
65 acc.merge(EGammaCommonCfg(flags))
66
67 from DerivationFrameworkJetEtMiss.JetCommonConfig import JetCommonCfg
68 from DerivationFrameworkTau.TauCommonConfig import (AddMuonRemovalTauAODReRecoAlgCfg, AddTauIDDecorationCfg, AddTauTESCompatibilityDecorationCfg)
69 from DerivationFrameworkTau.DiTauCommonConfig import (AddDiTauLowPtCfg, AddDiTauChargeDecoratorCfg, AddDiTauIDDecorationCfg)
70 from DerivationFrameworkJetEtMiss.METCommonConfig import METCommonCfg
71 from DerivationFrameworkJetEtMiss.METCommonConfig import HadRecoilMETCfg
72 acc.merge(JetCommonCfg(flags))
73
74
75 from eflowRec.PFCfg import PFGlobalFlowElementLinkingCfg
76 acc.merge(PFGlobalFlowElementLinkingCfg(flags))
77 acc.merge(AddDiTauLowPtCfg(flags))
78 acc.merge(AddMuonRemovalTauAODReRecoAlgCfg(flags))
79
80 acc.merge(AddTauIDDecorationCfg(flags, TauContainerName="TauJets"))
81 acc.merge(AddTauIDDecorationCfg(flags, TauContainerName="TauJets_MuonRM"))
82
83 acc.merge(AddTauTESCompatibilityDecorationCfg(flags, TauContainerName="TauJets"))
84 acc.merge(AddTauTESCompatibilityDecorationCfg(flags, TauContainerName="TauJets_MuonRM"))
85
86 acc.merge(AddDiTauIDDecorationCfg(flags, DiTauContainerName="DiTauJets"))
87
88 if flags.Tau.TauEleRM_isAvailable:
89 acc.merge(AddTauIDDecorationCfg(flags, TauContainerName="TauJets_EleRM"))
90 acc.merge(AddTauTESCompatibilityDecorationCfg(flags, TauContainerName="TauJets_EleRM"))
91
92 acc.merge(AddDiTauChargeDecoratorCfg(flags, DiTauContainerName="DiTauJets"))
93 acc.merge(AddDiTauChargeDecoratorCfg(flags, DiTauContainerName="DiTauJetsLowPt"))
94 if flags.Reco.EnableBTagging:
95 from BTagging.FlavorTaggingConfig import FlavorTaggingCfg
96 acc.merge(FlavorTaggingCfg(flags, "AntiKt4EMPFlowJets"))
97 acc.merge(FlavorTaggingCfg(flags, "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"))
98 if flags.BTagging.RunNewVrtSecInclusive:
99 from NewVrtSecInclusiveTool.NewVrtSecInclusiveAlgConfig import (
100 NewVrtSecInclusiveAlgTightCfg
101 )
102 acc.merge(NewVrtSecInclusiveAlgTightCfg(flags))
103 if flags.GeoModel.Run >= LHCPeriod.Run4:
104 acc.merge(FlavorTaggingCfg(flags, "AntiKt4EMTopoJets"))
105
106 acc.merge(METCommonCfg(flags))
107 acc.merge(HadRecoilMETCfg(flags))
108
109 from AssociationUtils.AssociationUtilsConfig import FEAssociationCfg
110 acc.merge(FEAssociationCfg(flags,
111 SmallRJetChargedFELinksDecorKey="",
112 SmallRJetNeutralFELinksDecorKey="",
113 LargeRJetChargedFELinksDecorKey="",
114 LargeRJetNeutralFELinksDecorKey=""))
115
116
117 if flags.Reco.EnableTrigger or flags.Trigger.triggerConfig == 'INFILE':
118 from JetTagDerivationUtils.TrigBTagCopierConfig import TrigBTagCopierAlgCfg
119 acc.merge(TrigBTagCopierAlgCfg(flags))
120
121 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import TriggerMatchingCommonRun2Cfg
122 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import TriggerMatchingCommonRun2ToRun3Cfg
123 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import TriggerMatchingCommonRun3Cfg
124
125 triggerListsHelper = kwargs['TriggerListsHelper']
126 if flags.Trigger.EDMVersion == 2:
127
128
129
130
131
132 acc.merge(TriggerMatchingCommonRun2Cfg(
133 flags,
134 name = "PhysCommonTrigMatchNoTau",
135 OutputContainerPrefix = "TrigMatch_",
136 ChainNames = triggerListsHelper.Run2TriggerNamesNoTau))
137 acc.merge(TriggerMatchingCommonRun2Cfg(
138 flags,
139 name = "PhysCommonTrigMatchTau",
140 OutputContainerPrefix = "TrigMatch_",
141 ChainNames = triggerListsHelper.Run2TriggerNamesTau,
142 DRThreshold = 0.2))
143
144
145
146 acc.merge(TriggerMatchingCommonRun2ToRun3Cfg(
147 flags,
148 TriggerList = triggerListsHelper.Run2TriggerNamesNoTau +
149 triggerListsHelper.Run2TriggerNamesTau))
150 if flags.Trigger.EDMVersion == 3:
151
152 acc.merge(TriggerMatchingCommonRun3Cfg(
153 flags, TriggerList = triggerListsHelper.Run3TriggerNames))
154
155 return acc
156