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)
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)
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
#==================================================================== 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",
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",
#============================================================================== # 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",
DerivationFrameworkJob += higg5d2Seq # # Thinning # from AthenaServices.Configurables import ThinningSvc, createThinningSvc # augStream = MSMgr.GetStream( streamName ) # evtStream = augStream.GetEventStream() # svcMgr += createThinningSvc( svcName="HIGG5D2ThinningSvc", outStreams=[evtStream] ) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper #from DerivationFrameworkHiggs.HIGG5D2ContentList import HIGG5D2Content from DerivationFrameworkHiggs.HIGG5D2ExtraContent import * HIGG5D2SlimmingHelper = SlimmingHelper("HIGG5D2SlimmingHelper") HIGG5D2SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo", "MET_Reference_AntiKt4LCTopo", "AntiKt4EMTopoJets", "AntiKt4LCTopoJets", "BTagging_AntiKt4EMTopo", "BTagging_AntiKt4LCTopo", "InDetTrackParticles", "PrimaryVertices" ] HIGG5D2SlimmingHelper.ExtraVariables = ExtraContent HIGG5D2SlimmingHelper.AllVariables = ExtraContainers if globalflags.DataSource() == 'geant4': HIGG5D2SlimmingHelper.ExtraVariables += ExtraContentTruth HIGG5D2SlimmingHelper.AllVariables += ExtraContainersTruth # Add the jet containers to the stream
ThinningTools=thinningTools, ) #======================================= # add jet building, cf. example in JETM1 #======================================= # AntiKt10*PtFrac5Rclus20 addDefaultTrimmedJets(SeqSUSY5, "SUSY5") #==================================================================== # 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 = [ "Electrons", "Photons", "Muons", "TauJets", "AntiKt4EMTopoJets", "MET_Reference_AntiKt4EMTopo", "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices" ] SUSY5SlimmingHelper.AllVariables = [ "TruthParticles", "TruthEvents", "TruthVertices", "MET_Truth" ] SUSY5SlimmingHelper.ExtraVariables = [ "BTagging_AntiKt4EMTopo.MV1_discriminant.MV1c_discriminant", "Muons.ptcone30.ptcone20.charge.quality.InnerDetectorPt.MuonSpectrometerPt.CaloLRLikelihood.CaloMuonIDTag", "Photons.author.Loose.Tight", "AntiKt4EMTopoJets.NumTrkPt1000.TrackWidthPt1000.NumTrkPt500.DFCommonJets_Calib_pt.DFCommonJets_Calib_eta.DFCommonJets_Calib_phi", "GSFTrackParticles.z0.d0.vz.definingParametersCovMatrix", "CombinedMuonTrackParticles.d0.z0.vz.definingParametersCovMatrix.truthOrigin.truthType",
#======================================= # 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",
"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.",
#======================================= # 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
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)
#==================================================================== # 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
# 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
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",
"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)
# 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",
# RequireAlgs = logical AND of filters EGAM8Stream.AcceptAlgs(["EGAM8Kernel"]) #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="EGAM8ThinningSvc", outStreams=[evtStream] ) #==================================================================== # CONTENT LIST #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper EGAM8SlimmingHelper = SlimmingHelper("EGAM8SlimmingHelper") from DerivationFrameworkEGamma.EGAM8ExtraContent import * EGAM8SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo", "AntiKt4EMTopoJets", "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices" ] # Add egamma trigger objects
#======================================= # 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)
# AcceptAlgs = logical OR of filters # RequireAlgs = logical AND of filters EGAM2Stream.AcceptAlgs(["EGAM2Kernel"]) #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="EGAM2ThinningSvc", outStreams=[evtStream] ) #==================================================================== # CONTENT LIST #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper EGAM2SlimmingHelper = SlimmingHelper("EGAM2SlimmingHelper") from DerivationFrameworkEGamma.EGAM2ExtraContent import * EGAM2SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo", "AntiKt4EMTopoJets", "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices" ] # muons, tau, MET, b-tagging could be switched off if not needed and use too much space # Add egamma trigger objects EGAM2SlimmingHelper.IncludeEGammaTriggerContent = True # Extra variables EGAM2SlimmingHelper.ExtraVariables = ExtraContentAll EGAM2SlimmingHelper.AllVariables = ExtraContainersElectrons
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)
#==================================================================== # SET UP STREAM #==================================================================== #streamName = derivationFlags.WriteDAOD_STDM7Stream.StreamName #fileName = buildFileName( derivationFlags.WriteDAOD_STDM7Stream ) #STDM7Stream = MSMgr.NewPoolRootStream( streamName, fileName ) #STDM7Stream.AcceptAlgs(["STDM7Kernel"]) #==================================================================== # Add the containers to the output stream - slimming done here #==================================================================== from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkSM.STDMExtraContent import * STDM7SlimmingHelper = SlimmingHelper("STDM7SlimmingHelper") STDM7SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo", "AntiKt4EMTopoJets", "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices" ] STDM7SlimmingHelper.IncludeEGammaTriggerContent = True STDM7SlimmingHelper.IncludeMuonTriggerContent = True STDM7SlimmingHelper.ExtraVariables = ExtraContentAll STDM7SlimmingHelper.ExtraVariables += [ "AntiKt4EMTopoJets.JetEMScaleMomentum_pt.JetEMScaleMomentum_eta.JetEMScaleMomentum_phi.JetEMScaleMomentum_m" ] STDM7SlimmingHelper.AllVariables = ExtraContainersAll
"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)
#==================================================================== # 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',
#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
) #============================================================================== # Jet building #============================================================================== # AntiKt10*PtFrac5Rclus20 addDefaultTrimmedJets(SeqSUSY1, "SUSY1") #==================================================================== # CONTENT LIST #==================================================================== # About SmartCollections and AllVariables: # If you want to use CP tools on a container, you MUST include that container as a SmartCollection. # You are then free to include it as AllVariables in addition, to pick up variables not needed by the CP tools but needed by your analysis. from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper SUSY1SlimmingHelper = SlimmingHelper("SUSY1SlimmingHelper") SUSY1SlimmingHelper.SmartCollections = [ "Electrons", "Photons", "MET_Reference_AntiKt4EMTopo", "Muons", "TauJets", "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices", "BTagging_AntiKt4Track" ] SUSY1SlimmingHelper.AllVariables = [ "TruthParticles", "TruthEvents", "TruthVertices", "MET_Truth", "AntiKt4PV0TrackJets", "MET_Track" ] SUSY1SlimmingHelper.ExtraVariables = [ "BTagging_AntiKt4EMTopo.MV1_discriminant.MV1c_discriminant", "Muons.etcone30.ptcone30.ptcone20.charge.quality.InnerDetectorPt.MuonSpectrometerPt.CaloLRLikelihood.CaloMuonIDTag", "Photons.author.Loose.Tight", "AntiKt4EMTopoJets.NumTrkPt1000.TrackWidthPt1000.NumTrkPt500.DFCommonJets_Calib_pt.DFCommonJets_Calib_eta.DFCommonJets_Calib_phi", # TODO: .DFCommonJets_Jvt", "GSFTrackParticles.z0.d0.vz.definingParametersCovMatrix",
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)
#======================================= # 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