diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/DerivationFrameworkProdFlags.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/DerivationFrameworkProdFlags.py index 647162cb244a5cb5a0bb73f649790fcf701fe9db..65fa642c93ab6f51e9659c73f5e6002759e813b3 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/DerivationFrameworkProdFlags.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/DerivationFrameworkProdFlags.py @@ -992,6 +992,20 @@ class WriteDAOD_STDM14Stream (JobProperty): jobproperties.DerivationFrameworkProdFlags.add_JobProperty(WriteDAOD_STDM14Stream) listAODtoDPD.append(WriteDAOD_STDM14Stream.StreamName) +class WriteDAOD_STDM15Stream (JobProperty): + """AFP analysis yy->WW->lnujj""" + statusOn = True + allowedTypes = ['bool'] + StoredValue = False + StreamName = 'StreamDAOD_STDM15' + FileName = '' + isVirtual = False + DPDMakerScript = "DerivationFrameworkSM/STDM15.py" + nChFilter = -2 + pass +jobproperties.DerivationFrameworkProdFlags.add_JobProperty(WriteDAOD_STDM15Stream) +listAODtoDPD.append(WriteDAOD_STDM15Stream.StreamName) + ################################# # Defined by the Tau group ################################# diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMCommonTruthTools.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMCommonTruthTools.py index 12bb00841f8a173913963734ae20d59034a8d557..0d12a02dc78964457d7d343d4ef74ab616c0f35c 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMCommonTruthTools.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMCommonTruthTools.py @@ -46,7 +46,7 @@ STDMElectronTool = DerivationFramework__TruthCollectionMaker(name ToolSvc += STDMElectronTool STDMAugmentationTools.append(STDMElectronTool) -truthphotexpression = "(abs(TruthParticles.pdgId) == 22) && (TruthParticles.status ==1) && (TruthParticles.barcode < 200000)" +truthphotexpression = "(abs(TruthParticles.pdgId) == 22) && ( ( (TruthParticles.status ==1) && (TruthParticles.barcode < 200000)) || (TruthParticles.barcode < 10010))" STDMPhotonTool = DerivationFramework__TruthCollectionMaker(name = "STDMPhotonTool", NewCollectionName = "STDMTruthPhotons", ParticleSelectionString = truthphotexpression, @@ -121,10 +121,11 @@ ToolSvc += STDMMuonDressingTool2 STDMAugmentationTools.append(STDMMuonDressingTool2) -#============================================================================== -# CREATE THE COMMON AUGMENTATION KERNEL ALGORITHM +#============================================================================== +# CREATE THE COMMON AUGMENTATION KERNEL ALGORITHM #============================================================================== from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__CommonAugmentation DerivationFrameworkJob += CfgMgr.DerivationFramework__CommonAugmentation("STDMAugmentationKernel", AugmentationTools = STDMAugmentationTools) STDMphotonthinningexpr = "(STDMTruthPhotons.classifierParticleOrigin != 42) && !(STDMTruthPhotons.classifierParticleOrigin >= 23 && STDMTruthPhotons.classifierParticleOrigin <= 35)" + diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMExtraContent.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMExtraContent.py index d0d06caffb22c145c9c62ce711ea6889fbab6dc0..d115bb7f9159533991782c82b95c4c7842b20575 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMExtraContent.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMExtraContent.py @@ -11,7 +11,7 @@ ExtraContentTaus=["TauJets.BDTEleScore.BDTJetScore.eta.jetLink.m.phi.pt.charge.i ExtraContentBtag=["BTagging_AntiKt4EMTopo.MV2cl100_discriminant"] -ExtraContentVtx=["PrimaryVertices.x.y.z.covariance.trackWeights.vertexType.sumPt2"] +ExtraContentVtx=["PrimaryVertices.x.y.z.covariance.trackWeights.vertexType.sumPt2.numberDoF.chiSquared"] ExtraContentTrk=["InDetTrackParticles.definingParametersCovMatrixVec.theta.z0.d0.qOverP"] @@ -25,6 +25,9 @@ ExtraContentJets_STDM11=ExtraContentJets_EMTopo+ExtraContentJets_PFlow ExtraContentAll=ExtraContentElectrons+ExtraContentPhotons+ExtraContentMuons+ExtraContentTaus+ExtraContentBtag+ExtraContentVtx+ExtraContentTrk+ExtraContentJets +ExtraContentBtag_STDM15=["BTagging_AntiKt4EMPFlowTopo.MV2cl100_discriminant"] +ExtraContentAll_STDM15=ExtraContentElectrons+ExtraContentMuons+ExtraContentVtx+ExtraContentTrk+ExtraContentJets_PFlow+ExtraContentBtag_STDM15 + # These are only added if running on MC ExtraElectronsTruth=[".".join(["Electrons", "truthOrigin", @@ -49,6 +52,8 @@ ExtraTausTruth=[] ExtraContentAllTruth=ExtraElectronsTruth+ExtraPhotonsTruth+ExtraMuonsTruth+ExtraTausTruth +ExtraContentAllTruth_STDM15=ExtraElectronsTruth+ExtraMuonsTruth+ExtraTausTruth + # Extra containers ExtraContainersElectron=["ForwardElectrons","ForwardElectronClusters"] @@ -66,7 +71,17 @@ ExtraContainersTruth=["TruthEvents", "TruthParticles", "TruthVertices", "AntiKt4 "STDMTruthElectrons", "STDMTruthPhotons", "STDMTruthNeutrinos", - "STDMTruthTaus"] + "STDMTruthTaus" + ] + +ExtraContainersTruth_STDM15=["TruthEvents", "TruthParticles", "TruthVertices", "AntiKt4TruthJets","AntiKt4TruthWZJets", + "TruthMuons", + "TruthElectrons", + "TruthPhotons", + "TruthNeutrinos", + "STDMTruthMuons", + "STDMTruthElectrons", + ] ExtraDictionary={ "STDMTruthMuons":"xAOD::TruthParticleContainer" , @@ -89,7 +104,6 @@ ExtraContainersTruthPhotons=["egammaTruthParticles"] ExtraContainersAll=ExtraContainersElectron+ExtraContainersJets+ExtraContainersOthers - #Extra variables ExtraVariablesEventShape=[ "TopoClusterIsoCentralEventShape.DensitySigma.Density.DensityArea", diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/share/STDM15.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/share/STDM15.py index 49030be22e80a806b7be8e8f260928da0f8d3a29..ca3f4af6ec80497dc58504185a3ff9fba264023d 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/share/STDM15.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/share/STDM15.py @@ -24,6 +24,50 @@ if DerivationFrameworkHasTruth: from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__TriggerSkimmingTool +#==================================================================== +# SET UP LARGE JET CREATION +#==================================================================== + +def addJetOutputs(slimhelper,contentlist,smartlist=[],vetolist=[]): + ''' + copy from DerivationFrameworkJetEtMiss.JetCommon, which only adds the jet to + all variables if the jet content is not already listed in the ExtraVariables + ''' + outputlist = [] + from AthenaCommon import Logging + dfjetlog = Logging.logging.getLogger('JetCommon') + + from DerivationFrameworkJetEtMiss.JetCommon import OutputJets + for content in contentlist: + if content in OutputJets.keys(): + for item in OutputJets[content]: + if item in vetolist: continue + outputlist.append(item) + else: + outputlist.append(content) + + for item in outputlist: + if not slimhelper.AppendToDictionary.has_key(item): + slimhelper.AppendToDictionary[item]='xAOD::JetContainer' + slimhelper.AppendToDictionary[item+"Aux"]='xAOD::JetAuxContainer' + if item in smartlist: + dfjetlog.info( "Add smart jet collection "+item ) + slimhelper.SmartCollections.append(item) + else : + head=item + '.' + add_item=True + for var in slimhelper.ExtraVariables : + if len(var) > len(head) : + if var[0:len(head)] == head : + dfjetlog.info( "Add specialised content for jet collection "+item ) + add_item=False + break + if add_item : + dfjetlog.info( "Add full jet collection "+item ) + slimhelper.AllVariables.append(item) + + + #==================================================================== # SET UP STREAM #==================================================================== @@ -58,18 +102,13 @@ STDM15ThinningHelper.AppendToStream( STDM15Stream ) #===================== # removed for full tracking info... -PHYS_thinning_expression = "abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 5*mm" +PHYS_thinning_expression = "abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 0.5*mm" from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__TrackParticleThinning STDM15TPThinningTool = DerivationFramework__TrackParticleThinning(name = "STDM15TPThinningTool", ThinningService = STDM15ThinningHelper.ThinningSvc(), - SelectionString = PHYS_thinning_expression, #"InDetTrackParticles.pt > 0.1*GeV && InDetTrackParticles.eta > -2.5 && InDetTrackParticles.eta < 2.5 " #&& abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) <= 5.0", # && (abs(DFCommonInDetTrackZ0AtPV-EventInfo.STDM15_PVz))<3.0", + SelectionString = PHYS_thinning_expression, InDetTrackParticlesKey = "InDetTrackParticles") -#ToolSvc += STDM15TPThinningTool -#thinningTools.append(STDM15TPThinningTool) - -#print "anastopoulos" -#print EventInfo.STDM15_PVz # Truth leptons and their ancestors and descendants + final-state hadrons truth_cond_boson = "((abs(TruthParticles.pdgId) == 22) || (abs(TruthParticles.pdgId) == 23) || (abs(TruthParticles.pdgId) == 24) || (abs(TruthParticles.pdgId) == 25) || (abs(TruthParticles.pdgId) == 35) || (abs(TruthParticles.pdgId) == 36))" @@ -78,6 +117,7 @@ truth_cond_lepton = "((abs(TruthParticles.pdgId) >= 11) && (abs(TruthParticles.p truth_cond_hadrons = "( (TruthParticles.status ==1) && (TruthParticles.barcode<200000) && (abs(TruthParticles.pdgId) == 2212))" + from DerivationFrameworkMCTruth.DerivationFrameworkMCTruthConf import DerivationFramework__GenericTruthThinning if globalflags.DataSource()=='geant4': @@ -114,125 +154,46 @@ if globalflags.DataSource()=='geant4': ToolSvc += STDM15TruthLepTool ToolSvc += STDM15TruthBosTool -# ToolSvc += STDM15PhotonThinning ToolSvc += STDM15TruthHadTool thinningTools.append(STDM15TruthLepTool) thinningTools.append(STDM15TruthBosTool) -# thinningTools.append(STDM15PhotonThinning) thinningTools.append(STDM15TruthHadTool) #==================================================================== # SKIMMING TOOL #==================================================================== -filterVal = derivationFlags.WriteDAOD_STDM15Stream.nChFilter -#print "kristin " + str(filterVal) - muonsRequirements = '(Muons.pt >= 22*GeV) && (abs(Muons.eta) < 2.6) && (Muons.DFCommonMuonsPreselection) && (Muons.DFCommonGoodMuon)' electronsRequirements = '(Electrons.pt > 22*GeV) && (abs(Electrons.eta) < 2.6) && (Electrons.DFCommonElectronsLHMedium)' -chargedParticleRequirements = '(TruthParticles.pt > 500) && (TruthParticles.barcode < 200000) && (TruthParticles.status == 1) && (TruthParticles.charge != 0) && (TruthParticles.theta > 0.163803) && (TruthParticles.theta < 2.97779) && (TruthParticles.HSBool)' #the theta cuts correspond to |eta|<2.5. Often, theta = 0 or pi, so using eta directly causes and Floating Point Exception +chargedParticleRequirements = 'true' muonOnlySelection = 'count('+muonsRequirements+') >=1' electronOnlySelection = 'count('+electronsRequirements+') >= 1' electronMuonSelection = '(count('+electronsRequirements+') + count('+muonsRequirements+')) < 3' -jetRequirements = '((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) >= 2) || (count (AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMTopoJets.DFCommonJets_Calib_eta) < 2.6) >= 2)) && ((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) <5) || (count (AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMTopoJets.DFCommonJets_Calib_eta) < 2.6) <5)) ' - -trackRequirements = 'count( (abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 5*mm)) <100 ' +jetRequirements = '((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) >= 2) && (count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) <5) || count( (AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets.pt > 150.0*GeV) && (abs(AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets.eta) < 2.6) ) > 0 ) ' -#jetRequirements = '(((((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) >= 2) || (count (AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMTopoJets.DFCommonJets_Calib_eta) < 2.6) >= 2)) && ((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) <5) || (count (AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMTopoJets.DFCommonJets_Calib_eta) < 2.6) <5)) ) ||( count(AntiKt10LCTopoJets.pt > 150*GeV && abs(AntiKt10LCTopoJets.eta) < 2.8)>0) ) ' +trackRequirements = 'count( (abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 0.5*mm)) <140 ' - -if filterVal > -1 and globalflags.DataSource()=='geant4': - chargedParticleSelection = 'count('+chargedParticleRequirements+') < '+str(filterVal) - offlineexpression = '(('+muonOnlySelection+' || '+electronOnlySelection+' || '+electronMuonSelection+') && ('+chargedParticleSelection+') && ('+jetRequirements+') && ('+trackRequirements+'))' -else: - offlineexpression = '(('+muonOnlySelection+' || '+electronOnlySelection+' || '+electronMuonSelection+') && ('+jetRequirements+') && ('+trackRequirements+'))' +offlineexpression = '(('+muonOnlySelection+' || '+electronOnlySelection+' || '+electronMuonSelection+') && ('+jetRequirements+') && ('+trackRequirements+'))' MuonTriggerRequirement=['HLT_mu20_iloose_L1MU15', 'HLT_mu24_imedium', 'HLT_mu26_ivarmedium', 'HLT_mu24_iloose'] from RecExConfig.InputFilePeeker import inputFileSummary triggerRequirement=STDMTriggers.single_e_triggers + STDMTriggers.single_mu_triggers -#MuonTriggerRequirement -#from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__TriggerSkimmingTool STDM15SkimmingTool_Trig = DerivationFramework__TriggerSkimmingTool( name = "STDM15SkimmingTool_Trig", TriggerListOR = triggerRequirement ) ToolSvc += STDM15SkimmingTool_Trig -#from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool STDM15SkimmingTool_offsel = DerivationFramework__xAODStringSkimmingTool( name = "STDM15SkimmingTool_offsel", expression = offlineexpression ) ToolSvc += STDM15SkimmingTool_offsel -#from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationAND -#STDM15SkimmingTool=DerivationFramework__FilterCombinationAND(name="STDM15SkimmingTool", FilterList=[STDM15SkimmingTool_Trig,STDM15SkimmingTool_offsel] ) -#ToolSvc+=STDM15SkimmingTool - -#STDM15SkimmingTool_ntrk = DerivationFramework__xAODStringSkimmingTool( name = "STDM15SkimmingTool_ntrk", expression = "EventInfoAuxDyn.STDM15_nTracks<20" ) -#ToolSvc += STDM15SkimmingTool_ntrk - -#==================================================================== -# count tracks around vertex window -#==================================================================== -#nTrkVertexWindowTool = CfgMgr.DerivationFramework__TrackVtxWindowCounting( name = "STDM15TrackVtxWindowCounting", -# OutputLevel = DEBUG, -# DecorationPrefix = "STDM15_", -# TrackContainerName = "InDetTrackParticles", -# WindowSize = 1.0) -#ToolSvc += nTrkVertexWindowTool - - -#STDM15SkimmingTool_ntrk = DerivationFramework__xAODStringSkimmingTool( name = "STDM15SkimmingTool_ntrk", expression = "EventInfo.STDM15_nTracks<100" ) -#ToolSvc += STDM15SkimmingTool_ntrk - - - from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationAND -#STDM15SkimmingTool=DerivationFramework__FilterCombinationAND(name="STDM15SkimmingTool", FilterList=[STDM15SkimmingTool_Trig,STDM15SkimmingTool_offsel,STDM15SkimmingTool_ntrk] ) STDM15SkimmingTool=DerivationFramework__FilterCombinationAND(name="STDM15SkimmingTool", FilterList=[STDM15SkimmingTool_Trig,STDM15SkimmingTool_offsel] ) ToolSvc+=STDM15SkimmingTool ToolSvc += STDM15TPThinningTool thinningTools.append(STDM15TPThinningTool) - -#ToolSvc += CfgMgr.GoodRunsListSelectionTool("STDM15GRLTool",GoodRunsListVec=['DerivationFrameworkSM/data/Lowmu.grl.xml']) -#ToolSvc += CfgMgr.GoodRunsListSelectionTool("STDM15GRLTool",GoodRunsListVec=['DerivationFrameworkSM/data/Highmu.grl.xml']) - -#==================================================================== -# AUGMENTATION TOOLS -#==================================================================== -#augmentationTools = [] -#augmentationTools.append( nTrkVertexWindowTool ) - - -#==================================================================== -# count tracks around vertex window -#==================================================================== - - - -#==================================================================== -# Track-to-Lepton vertex fitting -#==================================================================== -#ExtraVariablesLeptonVertexFit = '' -#if af.fileinfos["eventdata_items"].__contains__(('xAOD::TrackParticleContainer', "LowPtRoITrackParticles")) : -# import MagFieldServices.SetupField -# vtxTool = CfgMgr.TrkToLeptonPVTool("STDM15TrkToLeptonPVTool",OutputLevel=INFO) -# ToolSvc += vtxTool - - # the augmentation tool -# fittingTool = CfgMgr.DerivationFramework__LeptonVertexFitting( name = "STDM15LeptonVertexFitting", - #OutputLevel = DEBUG, -# ElectronContainerName = "Electrons", -# MuonContainerName = "Muons", -# TrackContainerName = "LowPtRoITrackParticles", -# DecorationPrefix = "STDM15_", -# VtxFittingTool = vtxTool) -# ToolSvc += fittingTool -# augmentationTools.append( fittingTool ) -# -# ExtraVariablesLeptonVertexFit += "LowPtRoITrackParticles.STDM15_LepTrkVtx_z.STDM15_LepTrkVtx_chi2.STDM15_LepTrkVtx_ndf" - - #===================================================== # CREATE AND SCHEDULE THE DERIVATION KERNEL ALGORITHM #===================================================== @@ -242,52 +203,47 @@ from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramew # CREATE THE PRIVATE SEQUENCE STDM15Sequence = CfgMgr.AthSequencer("STDM15Sequence") -# ADD KERNEL -STDM15Sequence += CfgMgr.DerivationFramework__DerivationKernel("STDM15Kernel", - RunSkimmingFirst = False, - # AugmentationTools = augmentationTools, - SkimmingTools = [STDM15SkimmingTool], - ThinningTools = thinningTools) - -# AugmentationTools = augmentationTools) - - # JET REBUILDING -OutputJets["STDM15"] = ["AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets","AntiKt10TruthTrimmedPtFrac5SmallR20Jets"] +OutputJets["STDM15"] = ["AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets"] +largeRJetCollections = ["AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets"] + -reducedJetList = ["AntiKt4TruthJets","AntiKt10TruthTrimmedPtFrac5SmallR20Jets","AntiKt2PV0TrackJets","AntiKt4PV0TrackJets"] +reducedJetList = ["AntiKt4TruthJets","AntiKt2PV0TrackJets","AntiKt4PV0TrackJets"] if DerivationFrameworkHasTruth: OutputJets["STDM15"].append("AntiKt10TruthTrimmedPtFrac5SmallR20Jets") + reducedJetList.append("AntiKt10TruthTrimmedPtFrac5SmallR20Jets") + largeRJetCollections.append("AntiKt10TruthTrimmedPtFrac5SmallR20Jets") + OutputJets["STDM15"].append("AntiKt10TruthSoftDropBeta100Zcut10Jets") replaceAODReducedJets(reducedJetList, STDM15Sequence, "STDM15Jets") -add_largeR_truth_jets = DerivationFrameworkHasTruth #and not hasattr(STDM15Sequence,'jetalgAntiKt10TruthTrimmedPtFrac5SmallR20') +add_largeR_truth_jets = DerivationFrameworkHasTruth addDefaultTrimmedJets(STDM15Sequence,"STDM15Jets",dotruth=add_largeR_truth_jets) +addVRJets(STDM15Sequence, largeRColls=largeRJetCollections, do_ghost=True) + +if DerivationFrameworkHasTruth: + for coll in largeRJetCollections: + alg = coll.replace('Jets', '') + addJetTruthLabel(jetalg=alg, sequence=STDM15Sequence, algname="JetTruthLabelingAlg", labelname="R10TruthLabel_R21Consolidated") + + +# ADD KERNEL +STDM15Sequence += CfgMgr.DerivationFramework__DerivationKernel("STDM15Kernel", + RunSkimmingFirst = False, + SkimmingTools = [STDM15SkimmingTool], + ThinningTools = thinningTools) + + # ADD SEQUENCE TO JOB DerivationFrameworkJob += STDM15Sequence -#==================================================================== -# SET UP STREAM -#==================================================================== -#streamName = derivationFlags.WriteDAOD_STDM15Stream.StreamName -#fileName = buildFileName( derivationFlags.WriteDAOD_STDM15Stream ) -#STDM15Stream = MSMgr.NewPoolRootStream( streamName, fileName ) -#STDM15Stream.AcceptAlgs(["STDM15Kernel"]) - -# 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="STDM15ThinningSvc", outStreams=[evtStream] ) - #==================================================================== # Jet reconstruction/retagging #==================================================================== @@ -315,37 +271,29 @@ STDM15SlimmingHelper.SmartCollections = ["Electrons", "Muons", "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets", "AntiKt10TruthTrimmedPtFrac5SmallR20Jets", -# "MET_Reference_AntiKt4EMTopo", # -# "AntiKt4EMTopoJets", # "MET_Reference_AntiKt4EMPFlow", - #"AntiKt10LCTopoJets", + "AntiKt4EMTopoJets", + "BTagging_AntiKt4EMTopo_201810", + "AntiKt4EMTopoJets_BTagging201810", "AntiKt4EMPFlowJets", -# "BTagging_AntiKt4EMPFlow_201810", "BTagging_AntiKt4EMPFlow_201903", -# "AntiKt4EMPFlowJets_BTagging201810", "AntiKt4EMPFlowJets_BTagging201903", "InDetTrackParticles", -# "LowPtRoITrackParticles", -# "LowPtRoIVertexContainer", "PrimaryVertices"] STDM15SlimmingHelper.IncludeEGammaTriggerContent = True STDM15SlimmingHelper.IncludeMuonTriggerContent = True - -#STDM15SlimmingHelper.ExtraVariables = ExtraContentAll -STDM15SlimmingHelper.ExtraVariables = ExtraContentSTDM15 -STDM15SlimmingHelper.ExtraVariables += ["AntiKt4EMTopoJets.JetEMScaleMomentum_pt.JetEMScaleMomentum_eta.JetEMScaleMomentum_phi.JetEMScaleMomentum_m"] +STDM15SlimmingHelper.ExtraVariables = ExtraContentAll_STDM15 STDM15SlimmingHelper.ExtraVariables += ["AntiKt4EMPFlowJets.OriginVertex"] -#STDM15SlimmingHelper.ExtraVariables += [ExtraVariablesLeptonVertexFit] # btagging variables from DerivationFrameworkFlavourTag.BTaggingContent import * -#STDM15SlimmingHelper.ExtraVariables += BTaggingStandardContent("AntiKt4EMTopoJets") +STDM15SlimmingHelper.ExtraVariables += BTaggingStandardContent("AntiKt4EMTopoJets") STDM15SlimmingHelper.ExtraVariables += BTaggingStandardContent("AntiKt4EMPFlowJets") -#ExtraDictionary["BTagging_AntiKt4EMTopo"] = "xAOD::BTaggingContainer" -#ExtraDictionary["BTagging_AntiKt4EMTopoAux"] = "xAOD::BTaggingAuxContainer" +ExtraDictionary["BTagging_AntiKt4EMTopo"] = "xAOD::BTaggingContainer" +ExtraDictionary["BTagging_AntiKt4EMTopoAux"] = "xAOD::BTaggingAuxContainer" ExtraDictionary["BTagging_AntiKt4EMPFlow"] = "xAOD::BTaggingContainer" ExtraDictionary["BTagging_AntiKt4EMPFlowAux"] = "xAOD::BTaggingAuxContainer" @@ -354,7 +302,6 @@ STDM15SlimmingHelper.AllVariables += ExtraContainersAll STDM15SlimmingHelper.AllVariables += ["Electrons"] if globalflags.DataSource()=='geant4': - STDM15SlimmingHelper.ExtraVariables += ExtraContentAllTruth_STDM15 STDM15SlimmingHelper.AllVariables += ExtraContainersTruth_STDM15 STDM15SlimmingHelper.AppendToDictionary.update(ExtraDictionary)