def _make_slimming_tools(self, stream, jet_algorithms): self.slimming_helper = SlimmingHelper(self.stream_name + "SlimmingHelper") smart_collections = ["Electrons", "Muons", "Photons", "TauJets", "PrimaryVertices", "InDetTrackParticles"] smart_collections += ["{0}Jets".format(a) for a in jet_algorithms] smart_collections += ["MET_Reference_{0}".format(a) for a in jet_algorithms] if "AntiKt4EMTopo" in jet_algorithms: smart_collections += [ "AntiKt4EMTopoJets_BTagging201810", "BTagging_AntiKt4EMTopo_201810"] if "AntiKt4EMPFlow" in jet_algorithms: smart_collections += [ "AntiKt4EMPFlowJets_BTagging201810", "BTagging_AntiKt4EMPFlow_201810", "AntiKt4EMPFlowJets_BTagging201903", "BTagging_AntiKt4EMPFlow_201903"] self.slimming_helper.SmartCollections = smart_collections self.slimming_helper.ExtraVariables = [ "{0}Jets.Timing".format(a) for a in jet_algorithms] self.slimming_helper.AllVariables = [ "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET", "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht", "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl_PS", "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl_PUC", "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl", "LVL1EnergySumRoI", "LVL1JetRoIs", "LVL1JetEtRoI"] \ + ["MET_Core_{0}".format(a) for a in jet_algorithms] \ + ["METAssoc_{0}".format(a) for a in jet_algorithms] \ + self.all_vars
def Config(self, stream, configKey): ### smart sliming from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper SlHelper = SlimmingHelper(configKey+"SlimmingHelper") SlHelper.SmartCollections = self.smSlContainer[configKey] useSmartSlimmingIfSupported(self.checkContainers.get(configKey, []),self.allVarContainer[configKey], self.Items[configKey], SlHelper.NamesAndTypes) SlHelper.AllVariables = self.allVarContainer[configKey] # SlHelper.StaticContent = self.Items[configKey] # SlHelper.ExtraVariables = self.extraVariables.get(configKey, []) SlHelper.IncludeMuonTriggerContent = self.UseTriggerContent.get(configKey, True) SlHelper.AppendContentToStream(stream) ### other items for item in self.Items[configKey]: stream.AddItem(item)
skimmingTools.append(EXOT1SkimmingTool) from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR EXOT1ORSkimmingTool = DerivationFramework__FilterCombinationOR( name="EXOT1ORSkimmingTool", FilterList=skimmingTools) ToolSvc += EXOT1ORSkimmingTool printfunc(EXOT1SkimmingTool) #======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += exot1Seq exot1Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT1Kernel_skim", SkimmingTools=[EXOT1ORSkimmingTool]) exot1Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT1Kernel", ThinningTools=thinningTools) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== # Currently using same list as EXOT1 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkExotics.EXOT1ContentList import * EXOT1SlimmingHelper = SlimmingHelper("EXOT1SlimmingHelper") EXOT1SlimmingHelper.StaticContent = EXOT1Content EXOT1SlimmingHelper.SmartCollections = EXOT1SmartContent EXOT1SlimmingHelper.AllVariables = EXOT1AllVariablesContent EXOT1SlimmingHelper.AppendContentToStream(EXOT1Stream)
#======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += exot7Seq exot7Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT7Kernel_skim", AugmentationTools=[EXOT7DeltaRTool], SkimmingTools=[EXOT7StringSkimmingTool]) exot7Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT7Kernel", ThinningTools=thinningTools) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkExotics.EXOT7ContentList import * EXOT7SlimmingHelper = SlimmingHelper("EXOT7SlimmingHelper") EXOT7SlimmingHelper.StaticContent = EXOT7Content EXOT7SlimmingHelper.SmartCollections = EXOT7SmartCollections EXOT7SlimmingHelper.ExtraVariables = EXOT7ExtraVariables EXOT7SlimmingHelper.AllVariables = EXOT7AllVariables #EXOT7SlimmingHelper.IncludeJetTauEtMissTriggerContent = True EXOT7SlimmingHelper.IncludeJetTriggerContent = True EXOT7SlimmingHelper.IncludeBJetTriggerContent = True EXOT7SlimmingHelper.AppendContentToStream(EXOT7Stream)
#======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel( name="JETM7Kernel", SkimmingTools=[JETM7SkimmingTool], ThinningTools=thinningTools) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper JETM7SlimmingHelper = SlimmingHelper("JETM7SlimmingHelper") JETM7SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "Muons", "TauJets", "InDetTrackParticles", "PrimaryVertices" ] JETM7SlimmingHelper.AllVariables = [ "BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "CaloCalTopoClusters", "MuonTruthParticles", "egammaTruthParticles", "TruthParticles", "TruthEvents", "TruthVertices", "MuonSegments" ] JETM7SlimmingHelper.ExtraVariables = [ "Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus" ] # Trigger content JETM7SlimmingHelper.IncludeMuonTriggerContent = True
#======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel( "HIGG3D3Kernel", AugmentationTools=[HIGG3D3ElJDeltaRTool, HIGG3D3MuJDeltaRTool], SkimmingTools=skimmingTools, ThinningTools=thinningTools) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper HIGG3D3SlimmingHelper = SlimmingHelper("HIGG3D3SlimmingHelper") from DerivationFrameworkHiggs.HIGG3D3ExtraContent import * #HIGG3D3SlimmingHelper.UserContent = HIGG3D3Content HIGG3D3SlimmingHelper.SmartCollections = [ "Electrons", "Muons", "AntiKt4EMTopoJets", "InDetTrackParticles", "BTagging_AntiKt4EMTopo", "PrimaryVertices", "MET_Reference_AntiKt4EMTopo" ] HIGG3D3SlimmingHelper.ExtraVariables = HIGG3D3ExtraVariables HIGG3D3SlimmingHelper.AllVariables = HIGG3D3ExtraContainers if globalflags.DataSource() == 'geant4': HIGG3D3SlimmingHelper.AllVariables += HIGG3D3ExtraTruthContainers HIGG3D3SlimmingHelper.ExtraVariables += HIGG3D3ExtraTruthVariables # Add Trigger content
SUSY5Stream.AcceptAlgs(["SUSY5Kernel"]) # SPECIAL LINES FOR THINNING # Thinning service name must match the one passed to the thinning tools from AthenaServices.Configurables import ThinningSvc, createThinningSvc augStream = MSMgr.GetStream(streamName) evtStream = augStream.GetEventStream() svcMgr += createThinningSvc(svcName="SUSY5ThinningSvc", outStreams=[evtStream]) #==================================================================== # CONTENT LIST #==================================================================== # This might be the kind of set-up one would have for a muon based analysis from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper SUSY5SlimmingHelper = SlimmingHelper("SUSY5SlimmingHelper") SUSY5SlimmingHelper.SmartCollections = [ "PhotonCollection", "ElectronCollection", "Muons", "TauRecContainer", "AntiKt4LCTopoJets", "MET_RefFinal", "BTagging_AntiKt4LCTopo", "InDetTrackParticles", "PrimaryVertices" ] SUSY5SlimmingHelper.AllVariables = [ "AntiKt4TruthJets", "BTagging_AntiKt4Truth", "MuonTruthParticle", "TruthParticle", "TruthEvent", "TruthVertex", "MET_Truth", "BTagging_AntiKt4LCTopo" ] SUSY5SlimmingHelper.ExtraVariables = [ "BTagging_AntiKt4LCTopo.MV1_discriminant", "PhotonCollection.author.Loose.Tight", "ElectronCollection.author.Loose.Medium.Tight.truthOrigin.truthType.charge.ptcone20.etcone30", "Muons.ptcone30.ptcone20.etcone30.charge.quality.InnerDetectorPt.MuonSpectrometerPt.CaloLRLikelihood.CaloMuonIDTag",
#==================================================================== # SET UP STREAM #==================================================================== # The base name (DAOD_FTAG1 here) must match the string in streamName = derivationFlags.WriteDAOD_FTAG1Stream.StreamName fileName = buildFileName( derivationFlags.WriteDAOD_FTAG1Stream ) FTAG1Stream = MSMgr.NewPoolRootStream( streamName, fileName ) # Only events that pass the filters listed below are written out. # Name must match that of the kernel above # AcceptAlgs = logical OR of filters # RequireAlgs = logical AND of filters FTAG1Stream.AcceptAlgs(["FTAG1Kernel"]) from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper FTAG1SlimmingHelper = SlimmingHelper("FTAG1SlimmingHelper") #Need to add explicitely then new container names and types to the Slimming dictionary FTAG1SlimmingHelper.AppendToDictionary = { "BTagging_AntiKt4EMTopoNT":"xAOD::BTaggingContainer", "BTagging_AntiKt4EMTopoNTAux":"xAOD::BTaggingAuxContainer", "BTagging_AntiKt4EMTopoNTJFVtx":"xAOD::BTagVertexContainer", "BTagging_AntiKt4EMTopoNTJFVtxAux":"xAOD::BTagVertexAuxContainer" } # nb: BTagging_AntiKt4EMTopo smart collection includes both AntiKt4EMTopoJets and BTagging_AntiKt4EMTopo # container variables. Thus BTagging_AntiKt4EMTopo is needed in SmartCollections as well as AllVariables FTAG1SlimmingHelper.SmartCollections = ["Electrons","Muons", "MET_Reference_AntiKt4EMTopo", "AntiKt4EMTopoJets",
from DerivationFrameworkCore.LHE3WeightMetadata import * DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel("MUON5Kernel", ThinningTools = thinningTools, AugmentationTools = augmentationTools, SkimmingTools = [MUON5SkimmingTool]) # Add private sequence to DerivationFrameworkJob DerivationFrameworkJob += MUON5Seq #==================================================================== # SLIMMING TOOL #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper MUON5SlimmingHelper = SlimmingHelper("MUON5SlimmingHelper") # Smart slimming containers MUON5SlimmingHelper.SmartCollections = ["Electrons", "Photons", "Muons", "TauJets", "TauMVATESJets", "MET_Reference_AntiKt4EMTopo", "AntiKt4EMTopoJets", "AntiKt4EMTopoJets_BTagging201810", "BTagging_AntiKt4EMTopo_201810", "PrimaryVertices"] # Append new b-tagging container to dictionary for saving
#from JetRec.JetRecFlags import jetFlags #includePreTools=False #if jetFlags.useTruth: # includePreTools=True # DerivationFrameworkJob += addTrimmedJets("AntiKt", 1.0, "Truth", rclus=0.2, ptfrac=0.05, includePreTools=True) #if includePreTools==False: # DerivationFrameworkJob += addTrimmedJets("AntiKt", 1.0, "LCTopo", rclus=0.2, ptfrac=0.05, includePreTools=True) #else: # DerivationFrameworkJob += addTrimmedJets("AntiKt", 1.0, "LCTopo", rclus=0.2, ptfrac=0.05) #==================================================================== # CONTENT LIST #==================================================================== # This might be the kind of set-up one would have for a muon based analysis from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper SUSY4SlimmingHelper = SlimmingHelper("SUSY4SlimmingHelper") SUSY4SlimmingHelper.SmartCollections = ["Electrons", "Photons", "Muons", "TauJets", "AntiKt4EMTopoJets", "MET_Reference_AntiKt4EMTopo", "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices", "AntiKt4EMPFlowJets"] SUSY4SlimmingHelper.AllVariables = ["TruthParticles", "TruthEvents", "TruthVertices", "MET_Truth", "InDetTrackParticles", "METAssoc_AntiKt4EMPFlow", "MET_Core_AntiKt4EMPFlow", "MET_Reference_AntiKt4EMPFlow"] SUSY4SlimmingHelper.ExtraVariables = ["BTagging_AntiKt4EMTopo.MV1_discriminant.MV1c_discriminant", "Electrons.Loose.Medium.Tight", "Muons.ptcone30.ptcone20.charge.quality.InnerDetectorPt.MuonSpectrometerPt.CaloLRLikelihood.CaloMuonIDTag", "Photons.author.Loose.Tight", "AntiKt4EMTopoJets.JvtJvfcorr.JvtRpt.Jvt.TruthLabelID.BchCorrCell.NumTrkPt1000.NumTrkPt500.SumPtTrkPt500.SumPtTrkPt1000.TrackWidthPt1000.TrackWidthPt500.DFCommonJets_Calib_pt.DFCommonJets_Calib_eta.DFCommonJets_Calib_phi", "AntiKt4EMPFlowJets.JvtJvfcorr.JvtRpt.Jvt.TruthLabelID.BchCorrCell.NumTrkPt1000.NumTrkPt500.SumPtTrkPt500.SumPtTrkPt1000.TrackWidthPt1000.TrackWidthPt500", "GSFTrackParticles.z0.d0.vz.definingParametersCovMatrix", "CombinedMuonTrackParticles.d0.z0.vz.definingParametersCovMatrix.truthOrigin.truthType", "ExtrapolatedMuonTrackParticles.d0.z0.vz.definingParametersCovMatrix.truthOrigin.truthType", "TauJets.TruthCharge.TruthProng.IsTruthMatched.TruthPtVis.truthOrigin.truthType.truthParticleLink.truthJetLink", "MuonTruthParticles.barcode.decayVtxLink.e.m.pdgId.prodVtxLink.px.py.pz.recoMuonLink.status.truthOrigin.truthType", "AntiKt4TruthJets.eta.m.phi.pt.TruthLabelID", "InDetTrackParticles.truthOrigin.truthType.truthMatchProbability.TrkIso*"]
#==================================================================== # SET UP STREAM #==================================================================== # The base name (DAOD_FTAG4 here) must match the string in streamName = derivationFlags.WriteDAOD_FTAG4Stream.StreamName fileName = buildFileName( derivationFlags.WriteDAOD_FTAG4Stream ) FTAG4Stream = MSMgr.NewPoolRootStream( streamName, fileName ) # Only events that pass the filters listed below are written out. # Name must match that of the kernel above # AcceptAlgs = logical OR of filters # RequireAlgs = logical AND of filters FTAG4Stream.AcceptAlgs(["FTAG4Kernel"]) from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper FTAG4SlimmingHelper = SlimmingHelper("FTAG4SlimmingHelper") # nb: BTagging_AntiKt4EMTopo smart collection includes both AntiKt4EMTopoJets and BTagging_AntiKt4EMTopo # container variables. Thus BTagging_AntiKt4EMTopo is needed in SmartCollections as well as AllVariables FTAG4SlimmingHelper.SmartCollections = ["Electrons","Muons", "MET_Reference_AntiKt4EMTopo", "AntiKt4EMTopoJets", "BTagging_AntiKt4EMTopo"] FTAG4SlimmingHelper.AllVariables = ["AntiKt3PV0TrackJets", "AntiKt2PV0TrackJets", "AntiKt4TruthJets", "BTagging_AntiKt4EMTopo", "BTagging_AntiKt2Track", "BTagging_AntiKt3Track", "BTagging_AntiKt4EMTopoJFVtx",
thinningTools.append(JETM4TruthThinningTool) #======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel( name = "JETM4Kernel", SkimmingTools = [JETM4SkimmingTool], ThinningTools = thinningTools) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper JETM4SlimmingHelper = SlimmingHelper("JETM4SlimmingHelper") JETM4SlimmingHelper.SmartCollections = ["Electrons", "Photons", "Muons", "TauJets", "InDetTrackParticles", "PrimaryVertices"] JETM4SlimmingHelper.AllVariables = ["BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "CaloCalTopoClusters", "MuonTruthParticles", "egammaTruthParticles", "TruthParticles", "TruthEvents", "TruthVertices", "MuonSegments" ] #JETM4SlimmingHelper.ExtraVariables = [] # Trigger content JETM4SlimmingHelper.IncludeEGammaTriggerContent = True # Add the jet containers to the stream addJetOutputs(JETM4SlimmingHelper,["SmallR"]) # Add the MET containers to the stream
thinningTools.append(JETM2TruthThinningTool) #======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel("JETM2Kernel", SkimmingTools = [JETM2SkimmingTool], ThinningTools = thinningTools) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper JETM2SlimmingHelper = SlimmingHelper("JETM2SlimmingHelper") JETM2SlimmingHelper.SmartCollections = ["Electrons", "Photons", "Muons", "TauJets", "InDetTrackParticles", "PrimaryVertices"] JETM2SlimmingHelper.AllVariables = ["BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "CaloCalTopoClusters", "MuonTruthParticles", "egammaTruthParticles", "TruthParticles", "TruthEvents", "TruthVertices", "MuonSegments" ] JETM2SlimmingHelper.ExtraVariables = ["Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus"] # Trigger content JETM2SlimmingHelper.IncludeMuonTriggerContent = True JETM2SlimmingHelper.IncludeEGammaTriggerContent = True # Add the jet containers to the stream addJetOutputs(JETM2SlimmingHelper,["SmallR"])
#==================================================================== streamName = derivationFlags.WriteDAOD_JETM9Stream.StreamName fileName = buildFileName( derivationFlags.WriteDAOD_JETM9Stream ) JETM9Stream = MSMgr.NewPoolRootStream( streamName, fileName ) JETM9Stream.AcceptAlgs(["JETM9Kernel"]) # for thinning from AthenaServices.Configurables import ThinningSvc, createThinningSvc augStream = MSMgr.GetStream( streamName ) evtStream = augStream.GetEventStream() svcMgr += createThinningSvc( svcName="JETM9ThinningSvc", outStreams=[evtStream] ) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper JETM9SlimmingHelper = SlimmingHelper("JETM9SlimmingHelper") JETM9SlimmingHelper.SmartCollections = ["AntiKt4EMTopoJets","AntiKt4LCTopoJets","PrimaryVertices"] JETM9SlimmingHelper.AllVariables = ["TruthEvents", "TruthVertices", "MuonSegments" ] #JETM9SlimmingHelper.ExtraVariables = [] # Trigger content JETM9SlimmingHelper.IncludeJetTriggerContent = True # Add the jet containers to the stream addJetOutputs(JETM9SlimmingHelper,["JETM9"]) JETM9SlimmingHelper.AppendContentToStream(JETM9Stream) JETM9Stream.RemoveItem("xAOD::TrigNavigation#*") JETM9Stream.RemoveItem("xAOD::TrigNavigationAuxInfo#*")
#==================================================================== streamName = derivationFlags.WriteDAOD_JETM1Stream.StreamName fileName = buildFileName( derivationFlags.WriteDAOD_JETM1Stream ) JETM1Stream = MSMgr.NewPoolRootStream( streamName, fileName ) JETM1Stream.AcceptAlgs(["JETM1Kernel"]) # for thinning from AthenaServices.Configurables import ThinningSvc, createThinningSvc augStream = MSMgr.GetStream( streamName ) evtStream = augStream.GetEventStream() svcMgr += createThinningSvc( svcName="JETM1ThinningSvc", outStreams=[evtStream] ) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper JETM1SlimmingHelper = SlimmingHelper("JETM1SlimmingHelper") JETM1SlimmingHelper.SmartCollections = ["Electrons", "Photons", "Muons", "PrimaryVertices"] JETM1SlimmingHelper.AllVariables = ["BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "MuonTruthParticles", "egammaTruthParticles", "TruthParticles", "TruthEvents", "TruthVertices", "MuonSegments" ] #JETM1SlimmingHelper.ExtraVariables = [] # Trigger content JETM1SlimmingHelper.IncludeJetTriggerContent = True # Add the jet containers to the stream addJetOutputs(JETM1SlimmingHelper,["SmallR","LargeR","JETM1"],[], # smart list ["AntiKt3PV0TrackJets", "AntiKt4PV0TrackJets",
fileName = buildFileName(derivationFlags.WriteDAOD_HIGG6D1Stream) HIGG6D1Stream = MSMgr.NewPoolRootStream(streamName, fileName) HIGG6D1Stream.AcceptAlgs(["HIGG6D1Kernel"]) # Special lines for thinning # Thinning service name must match the one passed to the thinning tools from AthenaServices.Configurables import ThinningSvc, createThinningSvc augStream = MSMgr.GetStream(streamName) evtStream = augStream.GetEventStream() svcMgr += createThinningSvc(svcName="HIGG6D1ThinningSvc", outStreams=[evtStream]) #==================================================================== # Add the containers to the output stream - slimming done here (smart slimming) #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper HIGG6D1SlimmingHelper = SlimmingHelper("HIGG6D1SlimmingHelper") ## Smart Slimming HIGG6D1SlimmingHelper.SmartCollections = [ "Electrons", "Muons", "TauJets", "MET_Reference_AntiKt4LCTopo", "MET_Reference_AntiKt4EMTopo", "AntiKt4LCTopoJets", "AntiKt4EMTopoJets", "BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices" ] ## Add extra variables HIGG6D1SlimmingHelper.ExtraVariables += [ "AntiKt4EMTopoJets.DFCommonJets_Calib_pt.DFCommonJets_Calib_eta" ] HIGG6D1SlimmingHelper.ExtraVariables += [ "TauJets.BDTEleScore.pantau_CellBasedInput_isPanTauCandidate.pantau_CellBasedInput_DecayMode.ptPanTauCellBased.etaPanTauCellBased.phiPanTauCellBased.mPanTauCellBased.pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n.pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn.pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn",
applyJetCalibration_xAODColl("AntiKt4EMTopo", exot8Seq) #applyJetCalibration_xAODColl("AntiKt4LCTopo", exot8Seq) applyJetCalibration_CustomColl("AntiKt10LCTopoTrimmedPtFrac5SmallR20", exot8Seq) exot8Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT8Kernel_skim", SkimmingTools=[EXOT8SkimmingTool]) exot8Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT8Kernel", ThinningTools=thinningTools) # # Add the containers to the output stream - slimming done here # from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper EXOT8SlimmingHelper = SlimmingHelper("EXOT8SlimmingHelper") # from DerivationFrameworkExotics.EXOT8ContentList import EXOT8AllVariablesContent, EXOT8SmartContent, EXOT8Content # EXOT8SlimmingHelper.SmartCollections = EXOT8SmartContent # EXOT8SlimmingHelper.AllVariables = EXOT8AllVariablesContent # EXOT8SlimmingHelper.UserContent = EXOT8Content EXOT8SlimmingHelper.SmartCollections = [ "AntiKt4EMTopoJets", "AntiKt4LCTopoJets", "BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "BTagging_AntiKt2Track", "BTagging_AntiKt3Track", "BTagging_AntiKt4Track", "InDetTrackParticles",
"SUSY8GenFilt", SimBarcodeOffset=DerivationFrameworkSimBarcodeOffset) AugmentationTools.append(ToolSvc.SUSY8GenFilt) #============================================================================== # Augment after skim #============================================================================== SeqSUSY8 += CfgMgr.DerivationFramework__DerivationKernel( "SUSY8KernelAug", AugmentationTools=AugmentationTools, ThinningTools=thinningTools, ) #==================================================================== # CONTENT LIST #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkSUSY.SUSY8ContentList import * SUSY8SlimmingHelper = SlimmingHelper("SUSY8SlimmingHelper") SUSY8SlimmingHelper.SmartCollections = SUSY8SmartContent SUSY8SlimmingHelper.ExtraVariables = SUSY8ExtraVariables SUSY8SlimmingHelper.AllVariables = SUSY8AllVariablesContent SUSY8SlimmingHelper.IncludeMuonTriggerContent = True SUSY8SlimmingHelper.IncludeJetTriggerContent = True SUSY8SlimmingHelper.IncludeEtMissTriggerContent = True SUSY8SlimmingHelper.AppendContentToStream(SUSY8Stream)
outputGroup="EXOT12") if globalflags.DataSource() == 'geant4': replaceBuggyAntiKt4TruthWZJets(exot12Seq) #exot12Seq += CfgMgr.DerivationFramework__DerivationKernel("EXOT12Kernel_jet", # SkimmingTools = [EXOT12SkimmingTool_jet]) exot12Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT12Kernel", ThinningTools=thinningTools) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkExotics.EXOT12ContentList import * EXOT12SlimmingHelper = SlimmingHelper("EXOT12SlimmingHelper") EXOT12SlimmingHelper.SmartCollections = EXOT12SmartContent EXOT12SlimmingHelper.ExtraVariables = EXOT12ExtraVariablesContent EXOT12SlimmingHelper.AllVariables = EXOT12AllVariablesContent EXOT12SlimmingHelper.StaticContent = EXOT12Content if globalflags.DataSource() == 'geant4': EXOT12SlimmingHelper.ExtraVariables += EXOT12ExtraVariablesContentTruth EXOT12SlimmingHelper.AllVariables += EXOT12AllVariablesContentTruth EXOT12SlimmingHelper.StaticContent += EXOT12ContentTruth EXOT12SlimmingHelper.IncludeEGammaTriggerContent = True EXOT12SlimmingHelper.IncludeMuonTriggerContent = True EXOT12SlimmingHelper.AppendContentToStream(EXOT12Stream)
DerivationFrameworkJob += FTAG4Seq #==================================================================== # SET UP STREAM #==================================================================== # The base name (DAOD_FTAG4 here) must match the string in streamName = derivationFlags.WriteDAOD_FTAG4Stream.StreamName fileName = buildFileName(derivationFlags.WriteDAOD_FTAG4Stream) FTAG4Stream = MSMgr.NewPoolRootStream(streamName, fileName) # Only events that pass the filters listed below are written out. # Name must match that of the kernel above # AcceptAlgs = logical OR of filters # RequireAlgs = logical AND of filters FTAG4Stream.AcceptAlgs(["FTAG4SkimKernel"]) FTAG4SlimmingHelper = SlimmingHelper("FTAG4SlimmingHelper") # nb: BTagging_AntiKt4EMTopo smart collection includes both AntiKt4EMTopoJets and BTagging_AntiKt4EMTopo # container variables. Thus BTagging_AntiKt4EMTopo is needed in SmartCollections as well as AllVariables FTAG4SlimmingHelper.SmartCollections = [ "Electrons", "Muons", "InDetTrackParticles", "AntiKt4EMTopoJets", "AntiKt4EMPFlowJets", "MET_Reference_AntiKt4EMPFlow", "MET_Reference_AntiKt4EMTopo" ] FTAG4SlimmingHelper.AllVariables = [ "BTagging_AntiKtVR30Rmax4Rmin02Track_201810", "BTagging_AntiKtVR30Rmax4Rmin02Track_201810JFVtx", "BTagging_AntiKtVR30Rmax4Rmin02Track_201903", "BTagging_AntiKtVR30Rmax4Rmin02Track_201903JFVtx", "BTagging_AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2Sub",
#==================================================================== # Put our sequence into the top sequence DerivationFrameworkJob += SeqPHYSLITE # Add thinning tools kernel from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel SeqPHYSLITE += CfgMgr.DerivationFramework__DerivationKernel( "PHYSLITEKernel", AugmentationTools = AugmentationTools, ThinningTools = thinningTools, ) #==================================================================== # CONTENT LIST #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper PHYSLITESlimmingHelper = SlimmingHelper("PHYSLITESlimmingHelper") PHYSLITESlimmingHelper.IncludeTriggerNavigation = False PHYSLITESlimmingHelper.IncludeJetTriggerContent = False PHYSLITESlimmingHelper.IncludeMuonTriggerContent = False PHYSLITESlimmingHelper.IncludeEGammaTriggerContent = False PHYSLITESlimmingHelper.IncludeJetTauEtMissTriggerContent = False PHYSLITESlimmingHelper.IncludeTauTriggerContent = False #True PHYSLITESlimmingHelper.IncludeEtMissTriggerContent = False PHYSLITESlimmingHelper.IncludeBJetTriggerContent = False PHYSLITESlimmingHelper.IncludeBPhysTriggerContent = False PHYSLITESlimmingHelper.IncludeMinBiasTriggerContent = False # Most of the new containers are centrally added to SlimmingHelper via DerivationFrameworkCore ContainersOnTheFly.py PHYSLITESlimmingHelper.AppendToDictionary = { 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
# Keep only calo cells associated with the egammaClusters collection from DerivationFrameworkCalo.CaloCellDFGetter import thinCaloCellsForDF thinCaloCellsForDF(inputClusterKeys=["egammaClusters"], streamName=EGAM9Stream.Name, outputCellKey="DFEGAMCellContainer") #======================================================================== #==================================================================== # SET UP SLIMMING #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper # Keep only electrons and photons EGAM9SlimmingHelper = SlimmingHelper("EGAM9SlimmingHelper") EGAM9SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "InDetTrackParticles", "PrimaryVertices" ] # Add egamma trigger objects EGAM9SlimmingHelper.IncludeEGammaTriggerContent = True # Extra variables EGAM9SlimmingHelper.ExtraVariables = ExtraContentAll EGAM9SlimmingHelper.AllVariables = ExtraContainersElectrons EGAM9SlimmingHelper.AllVariables += ExtraContainersPhotons EGAM9SlimmingHelper.AllVariables += ExtraContainersTrigger if globalflags.DataSource() == 'geant4': EGAM9SlimmingHelper.ExtraVariables += ExtraContentAllTruth
#==================================================================== if DerivationFrameworkIsMonteCarlo: from DerivationFrameworkMCTruth.MCTruthCommon import addStandardTruthContents,addTopQuarkAndDownstreamParticles,addHFAndDownstreamParticles,addTruthCollectionNavigationDecorations addStandardTruthContents() addTopQuarkAndDownstreamParticles() addHFAndDownstreamParticles(addB=True, addC=False, generations=0) addTruthCollectionNavigationDecorations(TruthCollections=["TruthTopQuarkWithDecayParticles","TruthBosonsWithDecayParticles"],prefix='Top') import DerivationFrameworkCore.WeightMetadata import DerivationFrameworkCore.LHE3WeightMetadata #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper JETM6SlimmingHelper = SlimmingHelper("JETM6SlimmingHelper") JETM6SlimmingHelper.SmartCollections = ["Electrons", "Photons", "Muons", "TauJets", "InDetTrackParticles", "PrimaryVertices", "MET_Reference_AntiKt4EMTopo", "MET_Reference_AntiKt4EMPFlow", "AntiKt2TruthJets", "AntiKt2LCTopoJets", "AntiKt4EMTopoJets","AntiKt4EMPFlowJets","AntiKt4TruthJets", "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets", "AntiKt10UFOCHSTrimmedPtFrac5SmallR20Jets", "AntiKt10UFOCSSKTrimmedPtFrac5SmallR20Jets", "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
#==================================================================== # SET UP STREAM #==================================================================== # The base name (DAOD_FTAG5 here) must match the string in streamName = derivationFlags.WriteDAOD_FTAG5Stream.StreamName fileName = buildFileName( derivationFlags.WriteDAOD_FTAG5Stream ) FTAG5Stream = MSMgr.NewPoolRootStream( streamName, fileName ) # Only events that pass the filters listed below are written out. # Name must match that of the kernel above # AcceptAlgs = logical OR of filters # RequireAlgs = logical AND of filters FTAG5Stream.AcceptAlgs(["FTAG5Kernel"]) from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper FTAG5SlimmingHelper = SlimmingHelper("FTAG5SlimmingHelper") # NB: the BTagging_AntiKt4EMTopo smart collection includes both AntiKt4EMTopoJets and BTagging_AntiKt4EMTopo # container variables. Thus BTagging_AntiKt4EMTopo is needed in SmartCollections as well as AllVariables FTAG5SlimmingHelper.AppendToDictionary = { "AntiKtVR50Rmax4Rmin0TrackJets" : "xAOD::JetContainer" , "AntiKtVR50Rmax4Rmin0TrackJetsAux" : "xAOD::JetAuxContainer" , "BTagging_AntiKtVR50Rmax4Rmin0Track" : "xAOD::BTaggingContainer" , "BTagging_AntiKtVR50Rmax4Rmin0TrackAux" : "xAOD::BTaggingAuxContainer", "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets" : "xAOD::JetContainer" , "AntiKt10LCTopoTrimmedPtFrac5SmallR20JetsAux" : "xAOD::JetAuxContainer" , "AntiKt10TrackJets" : "xAOD::JetContainer" , "AntiKt10TrackJetsAux" : "xAOD::JetAuxContainer" , } # Write ExKt contents to output stream
# Add sequence (with all kernels needed) to DerivationFrameworkJob #==================================================================== DerivationFrameworkJob += FTAG3Seq #==================================================================== # SET UP STREAM #==================================================================== # The base name (DAOD_FTAG3 here) must match the string in streamName = derivationFlags.WriteDAOD_FTAG3Stream.StreamName fileName = buildFileName(derivationFlags.WriteDAOD_FTAG3Stream) FTAG3Stream = MSMgr.NewPoolRootStream(streamName, fileName) FTAG3Stream.AcceptAlgs(["FTAG3SkimKernel"]) FTAG3SlimmingHelper = SlimmingHelper("FTAG3SlimmingHelper") # nb: BTagging_AntiKt4EMTopo smart collection includes both AntiKt4EMTopoJets and BTagging_AntiKt4EMTopo # container variables. Thus BTagging_AntiKt4EMTopo is needed in SmartCollections as well as AllVariables FTAG3SlimmingHelper.SmartCollections = [ "Electrons", "Muons", "InDetTrackParticles", "PrimaryVertices", "AntiKt4EMTopoJets", "AntiKt4EMPFlowJets", "MET_Reference_AntiKt4EMTopo", ] FTAG3SlimmingHelper.AllVariables = [ "AntiKt10TruthWZJets", "BTagging_AntiKt2Track",
def setup(TOPQname, stream): DFisMC = (globalflags.DataSource() == 'geant4') TOPQSlimmingHelper = SlimmingHelper(TOPQname + "SlimmingHelper") #===================================================== # ADD BTagging_AntiKt4EMPFlow COLLECTION TO DICTIONARY #===================================================== TOPQSlimmingHelper.AppendToDictionary = { "BTagging_AntiKt4EMPFlow": "xAOD::BTaggingContainer", "BTagging_AntiKt4EMPFlowAux": "xAOD::BTaggingAuxContainer" } #================================ # SMART SLIMMING #================================ TOPQSlimmingHelper.SmartCollections = [] TOPQSlimmingHelper.SmartCollections += TOPQSmartSlimmingCollections print "TOPQSlimmingHelper.SmartCollections: ", TOPQSlimmingHelper.SmartCollections #================================================================= # EXTRA VARIABLES FROM DerivationFrameworkTop.TOPQCommonExtraContent #================================================================= TOPQSlimmingHelper.ExtraVariables = [] TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesAntiKt4EMTopoJets TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesAntiKt4EMPFlowJets TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesBTagging_AntiKt4EMPFlow TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesBTagging_AntiKt4EMTopo TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesPhotons TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesElectrons TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesMuons TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesTaus if DFisMC: TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesPhotonsTruth TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesElectronsTruth TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesMuonsTruth TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesTausTruth print "TOPQSlimmingHelper.ExtraVariables: ", TOPQSlimmingHelper.ExtraVariables #================================ # EXTRA COLLECTIONS - user added #================================ TOPQSlimmingHelper.AllVariables = [] TOPQSlimmingHelper.AllVariables += TOPQExtraContainersStandard TOPQSlimmingHelper.AllVariables += TOPQExtraContainersTrigger if DFisMC: TOPQSlimmingHelper.AllVariables += TOPQExtraContainersTruth print "TOPQSlimmingHelper.AllVariables: ", TOPQSlimmingHelper.AllVariables #================================ # CREATED ON-THE-FLY COLLECTIONS #================================ TOPQSlimmingHelper.StaticContent = [] TOPQSlimmingHelper.StaticContent += TOPQStaticContent if DFisMC: TOPQSlimmingHelper.StaticContent += TOPQStaticContentTruth print "TOPQSlimmingHelper.StaticContent: ", TOPQSlimmingHelper.StaticContent #================================ # TRIGGER CONTENT #================================ TOPQSlimmingHelper.IncludeMuonTriggerContent = True TOPQSlimmingHelper.IncludeEGammaTriggerContent = True TOPQSlimmingHelper.IncludeJetTriggerContent = True TOPQSlimmingHelper.IncludeTauTriggerContent = True TOPQSlimmingHelper.IncludeEtMissTriggerContent = True #TOPQSlimmingHelper.IncludeJetTauEtMissTriggerContent = True #TOPQSlimmingHelper.IncludeBJetTriggerContent = True #TOPQSlimmingHelper.IncludeBPhysTriggerContent = True #TOPQSlimmingHelper.IncludeMinBiasTriggerContent = True #==================================== # ADD AntiKT4EMPFlowJets MET OUTPUT #==================================== # needs to be after where AllVaraibles[] and StaticContent[] are created # adds METAssoc_XXXX, MET_Core_XXXX, and MET_Reference_XXXX # uses DerivationFrameworkJetEtMiss.METCommon.py addMETOutputs(TOPQSlimmingHelper, ["AntiKt4EMPFlow"]) #================================ # THIS NEEDS TO BE THE LAST LINE #================================ TOPQSlimmingHelper.AppendContentToStream(stream)
#======================================= # SCHEDULE CUSTOM MET RECONSTRUCTION #======================================= if DerivationFrameworkIsMonteCarlo: addMETTruthMap('AntiKt4EMTopo', "JETMX") addMETTruthMap('AntiKt4LCTopo', "JETMX") addMETTruthMap('AntiKt4EMPFlow', "JETMX") scheduleMETAssocAlg(jetm7Seq, "JETMX") #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper JETM7SlimmingHelper = SlimmingHelper("JETM7SlimmingHelper") JETM7SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "Muons", "TauJets", "InDetTrackParticles", "PrimaryVertices", "MET_Reference_AntiKt4EMTopo", "MET_Reference_AntiKt4LCTopo", "MET_Reference_AntiKt4EMPFlow", "AntiKt4EMTopoJets", "AntiKt4LCTopoJets", "AntiKt4EMPFlowJets", "AntiKt4EMPFlowJets_BTagging201810", "AntiKt4EMPFlowJets_BTagging201903", "AntiKt4EMTopoJets_BTagging201810", "BTagging_AntiKt4EMPFlow_201810", "BTagging_AntiKt4EMPFlow_201903", "BTagging_AntiKt4EMTopo_201810" ] JETM7SlimmingHelper.AllVariables = [ # "CaloCalTopoClusters", "MuonTruthParticles", "egammaTruthParticles", "TruthParticles", "TruthEvents", "TruthVertices",
#======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += exot16Seq exot16Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT16Kernel_skim", SkimmingTools=[EXOT16StringSkimmingTool]) exot16Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT16Kernel", ThinningTools=thinningTools) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== # Currently using same list as EXOT16 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkExotics.EXOT16ContentList import * EXOT16SlimmingHelper = SlimmingHelper("EXOT16SlimmingHelper") EXOT16SlimmingHelper.AppendToDictionary = EXOT16Content EXOT16SlimmingHelper.SmartCollections = EXOT16SmartCollections EXOT16SlimmingHelper.AllVariables = EXOT16AllVariables EXOT16SlimmingHelper.ExtraVariables = EXOT16ExtraVariables addMETOutputs(EXOT16SlimmingHelper, ["MET_Track"], ["AntiKt4EMTopo"]) EXOT16SlimmingHelper.IncludeEGammaTriggerContent = True EXOT16SlimmingHelper.IncludeMuonTriggerContent = True EXOT16SlimmingHelper.AppendContentToStream(EXOT16Stream)
#============================================================================== # Augment after skim #============================================================================== SeqSUSY2 += CfgMgr.DerivationFramework__DerivationKernel( "SUSY2KernelAug", AugmentationTools=AugmentationTools, ThinningTools=thinningTools, ) #==================================================================== # CONTENT LIST #==================================================================== # This might be the kind of set-up one would have for a muon based analysis from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper SUSY2SlimmingHelper = SlimmingHelper("SUSY2SlimmingHelper") SUSY2SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo", "AntiKt4EMTopoJets", "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices" ] SUSY2SlimmingHelper.AllVariables = [ "TruthParticles", "TruthEvents", "TruthVertices", "MET_Truth" ] SUSY2SlimmingHelper.ExtraVariables = [ "BTagging_AntiKt4EMTopo.MV1_discriminant.MV1c_discriminant", "Muons.ptcone30.ptcone20.charge.quality.InnerDetectorPt.MuonSpectrometerPt.CaloLRLikelihood.CaloMuonIDTag", "AntiKt4EMTopoJets.NumTrkPt1000.TrackWidthPt1000.NumTrkPt500", "GSFTrackParticles.z0.d0.vz.definingParametersCovMatrix.truthOrigin.truthType", "InDetTrackParticles.truthOrigin.truthType", "CombinedMuonTrackParticles.d0.z0.vz.definingParametersCovMatrix.truthOrigin.truthType",
"TAUP1Kernel", SkimmingTools=[TAUP1SkimmingTool], ThinningTools=[ TAUP1MetTPThinningTool, TAUP1JetTPThinningTool, TAUP1CaloClusterThinning, TAUP1ElectronTPThinningTool, TAUP1MuonTPThinningTool, TAUP1TauTPThinningTool ], AugmentationTools=augmentationTools) # ========================================================================================================================== # Add the containers to the output stream (slimming done here) # ========================================================================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkTau.TAUPExtraContent import * TAUP1SlimmingHelper = SlimmingHelper("TAUP1SlimmingHelper") TAUP1SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo", "MET_Reference_AntiKt4LCTopo", "AntiKt4EMTopoJets", "AntiKt4LCTopoJets", "BTagging_AntiKt4EMTopo", "BTagging_AntiKt4LCTopo", "InDetTrackParticles", "PrimaryVertices" ] if DerivationFrameworkIsMonteCarlo: TAUP1SlimmingHelper.StaticContent = [ "xAOD::TruthParticleContainer#TruthElectrons", "xAOD::TruthParticleAuxContainer#TruthElectronsAux.", "xAOD::TruthParticleContainer#TruthMuons", "xAOD::TruthParticleAuxContainer#TruthMuonsAux.", "xAOD::TruthParticleContainer#TruthTaus", "xAOD::TruthParticleAuxContainer#TruthTausAux.",
"EXOT6Kernel_skim", SkimmingTools=[EXOT6SkimmingTool]) exot6Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT6Kernel", ThinningTools=[ EXOT6TPThinningTool, EXOT6MuonTPThinningTool, EXOT6ElectronTPThinningTool, EXOT6PhotonTPThinningTool, EXOT6PhotonCCThinningTool ]) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkExotics.EXOT6ContentList import EXOT6SmartContent, EXOT6AllVariablesContent, EXOT6ExtraVariables, EXOT6UnslimmedContent EXOT6SlimmingHelper = SlimmingHelper("EXOT6SlimmingHelper") # Containers to be smart slimmed, see https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis # /DerivationFramework/DerivationFrameworkExamples/trunk/share/SlimmingExample.py#L38 EXOT6SlimmingHelper.SmartCollections = EXOT6SmartContent # Keep all variables for containers which we don't want to smart slim and were # not created in the derivation EXOT6SlimmingHelper.AllVariables = EXOT6AllVariablesContent # Adding extra missing variables from the smart slimming EXOT6SlimmingHelper.ExtraVariables = EXOT6ExtraVariables EXOT6SlimmingHelper.StaticContent = EXOT6UnslimmedContent EXOT6SlimmingHelper.AppendContentToStream(EXOT6Stream)
from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += exot15Seq if SkipTriggerRequirement: exot15Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT15Kernel", SkimmingTools=[EXOT15SkimmingTool]) else: exot15Seq += CfgMgr.DerivationFramework__DerivationKernel( "EXOT15Kernel", SkimmingTools=[EXOT15ORSkimmingTool]) #exot15Seq += CfgMgr.DerivationFramework__DerivationKernel("EXOT15Kernel", ThinningTools = [EXOT15TPThinningTool]) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkExotics.EXOT15ContentList import * EXOT15SlimmingHelper = SlimmingHelper("EXOT15SlimmingHelper") EXOT15SlimmingHelper.SmartCollections = EXOT15SmartContent EXOT15SlimmingHelper.AllVariables = EXOT15AllVariablesContent #EXOT15SlimmingHelper.IncludeJetTauEtMissTriggerContent = True EXOT15SlimmingHelper.IncludeJetTriggerContent = True EXOT15SlimmingHelper.IncludeBJetTriggerContent = True EXOT15SlimmingHelper.IncludeTauTriggerContent = True #EXOT15SlimmingHelper.IncludeMuonTriggerContent = True EXOT15SlimmingHelper.ExtraVariables += [ 'HLT_xAOD__JetContainer_a4tcemsubjesFS.m.EMFrac', 'Electrons.LHMedium', 'PrimaryVertices.x.y' ] EXOT15SlimmingHelper.AppendContentToStream(EXOT15Stream)
#STDM5Stream = MSMgr.NewPoolRootStream( streamName, fileName ) #STDM5Stream.AcceptAlgs(["STDM5Kernel"]) # Special lines for thinning # Thinning service name must match the one passed to the thinning tools #from AthenaServices.Configurables import ThinningSvc, createThinningSvc #augStream = MSMgr.GetStream( streamName ) #evtStream = augStream.GetEventStream() #svcMgr += createThinningSvc( svcName="STDM5ThinningSvc", outStreams=[evtStream] ) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkSM.STDMExtraContent import * STDM5SlimmingHelper = SlimmingHelper("STDM5SlimmingHelper") STDM5SlimmingHelper.SmartCollections = ["Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo", "AntiKt4LCTopoJets", "AntiKt4EMTopoJets", "BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices" ] STDM5SlimmingHelper.IncludeEGammaTriggerContent = True STDM5SlimmingHelper.IncludeMuonTriggerContent = True
#======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel( name="JETM4Kernel", SkimmingTools=[JETM4SkimmingTool], ThinningTools=thinningTools) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper JETM4SlimmingHelper = SlimmingHelper("JETM4SlimmingHelper") JETM4SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "Muons", "TauJets", "InDetTrackParticles", "PrimaryVertices" ] JETM4SlimmingHelper.AllVariables = [ "BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "CaloCalTopoClusters", "MuonTruthParticles", "egammaTruthParticles", "TruthParticles", "TruthEvents", "TruthVertices", "MuonSegments" ] #JETM4SlimmingHelper.ExtraVariables = [] # Trigger content JETM4SlimmingHelper.IncludeEGammaTriggerContent = True # Add the jet containers to the stream
thinningTools = DerivationFrameworkHiggs.HIGG4DxThinning.setup(DAOD_StreamID, HIGG4D3ThinningHelper.ThinningSvc(), ToolSvc) # skimming tools import DerivationFrameworkHiggs.HIGG4DxSkimming skimmingTools = DerivationFrameworkHiggs.HIGG4DxSkimming.setup(DAOD_StreamID, ToolSvc) #augmentation tools from DerivationFrameworkHiggs.HIGG4DxAugmentation import * augmentationTools = DerivationFrameworkHiggs.HIGG4DxAugmentation.setup(DAOD_StreamID, ToolSvc) #slimming tools import DerivationFrameworkHiggs.HIGG4DxSlimming #slimming helper from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper HIGG4D3SlimmingHelper = SlimmingHelper(DAOD_StreamID+"SlimmingHelper") # jets and calibration import DerivationFrameworkHiggs.HIGG4DxJets #======================================= # CREATE THE DERIVATION KERNEL ALGORITHM #======================================= from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel # Create the private sequence HIGG4D3Sequence = CfgMgr.AthSequencer(DAOD_StreamID+"Sequence") # augmentation HIGG4D3Sequence += CfgMgr.DerivationFramework__CommonAugmentation("HIGG4DxCommonAugmentationKernel", AugmentationTools = augmentationTools)
DerivationFrameworkJob += exot0Seq exot0Seq += CfgMgr.DerivationFramework__DerivationKernel("EXOT0Kernel_skim", SkimmingTools = [EXOT0SkimmingTool]) exot0Seq += CfgMgr.DerivationFramework__DerivationKernel("EXOT0Kernel", ThinningTools = thinningTools) #==================================================================== # SET UP STREAM #==================================================================== streamName = derivationFlags.WriteDAOD_EXOT0Stream.StreamName fileName = buildFileName( derivationFlags.WriteDAOD_EXOT0Stream ) EXOT0Stream = MSMgr.NewPoolRootStream( streamName, fileName ) EXOT0Stream.AcceptAlgs(["EXOT0Kernel"]) # Thinning from AthenaServices.Configurables import ThinningSvc, createThinningSvc augStream = MSMgr.GetStream( streamName ) evtStream = augStream.GetEventStream() svcMgr += createThinningSvc( svcName="EXOT0ThinningSvc", outStreams=[evtStream] ) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkExotics.EXOT0ContentList import * EXOT0SlimmingHelper = SlimmingHelper("EXOT0SlimmingHelper") EXOT0SlimmingHelper.StaticContent = EXOT0Content EXOT0SlimmingHelper.AllVariables = EXOT0AllVariables EXOT0SlimmingHelper.SmartCollections = EXOT0SmartCollections EXOT0SlimmingHelper.IncludeEGammaTriggerContent = True EXOT0SlimmingHelper.IncludeMuonTriggerContent = True EXOT0SlimmingHelper.AppendContentToStream(EXOT0Stream)