diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTau/share/TAUP3.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTau/share/TAUP3.py index 660c399accb3b6468adb94cfb280ddfd00d5ca90..ae66e81322b5d8ef592ae5a82a701359d8500c86 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTau/share/TAUP3.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTau/share/TAUP3.py @@ -7,109 +7,89 @@ from DerivationFrameworkInDet.InDetCommon import * from DerivationFrameworkJetEtMiss.JetCommon import * from DerivationFrameworkJetEtMiss.ExtendedJetCommon import * from DerivationFrameworkJetEtMiss.METCommon import * -from DerivationFrameworkEGamma.EGammaCommon import * from DerivationFrameworkMuons.MuonsCommon import * -if DerivationFrameworkIsMonteCarlo: - from DerivationFrameworkMCTruth.MCTruthCommon import * - from DerivationFrameworkTau.TauTruthCommon import * -from DerivationFrameworkTau.TauCommon import * # ========================================================================================================================== # Set up stream # ========================================================================================================================== -streamName = derivationFlags.WriteDAOD_TAUP3Stream.StreamName -fileName = buildFileName( derivationFlags.WriteDAOD_TAUP3Stream ) -TAUP3Stream = MSMgr.NewPoolRootStream( streamName, fileName ) +streamName = derivationFlags.WriteDAOD_TAUP3Stream.StreamName +fileName = buildFileName( derivationFlags.WriteDAOD_TAUP3Stream ) +TAUP3Stream = MSMgr.NewPoolRootStream( streamName, fileName ) TAUP3Stream.AcceptAlgs(["TAUP3Kernel"]) -augStream = MSMgr.GetStream( streamName ) -evtStream = augStream.GetEventStream() +augStream = MSMgr.GetStream( streamName ) +evtStream = augStream.GetEventStream() + +SeqTAUP3 = CfgMgr.AthSequencer("SeqTAUP3") # ========================================================================================================================== -# Thinning tool +# MC truth # ========================================================================================================================== -# MET/Jet tracks -thinning_expression = "(InDetTrackParticles.pt > 0.5*GeV) && (InDetTrackParticles.numberOfPixelHits > 0) && (InDetTrackParticles.numberOfSCTHits > 5) && (abs(DFCommonInDetTrackZ0AtPV) < 1.5)" - -from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__JetTrackParticleThinning -TAUP3JetTPThinningTool = DerivationFramework__JetTrackParticleThinning( - name = "TAUP3JetTPThinningTool", - StreamName = streamName, - JetKey = "AntiKt4LCTopoJets", - InDetTrackParticlesKey = "InDetTrackParticles", - TrackSelectionString = thinning_expression) -ToolSvc += TAUP3JetTPThinningTool +if DerivationFrameworkIsMonteCarlo: + from DerivationFrameworkMCTruth.MCTruthCommon import addStandardTruthContents + addStandardTruthContents(SeqTAUP3,prefix='TAUP3_') +# ========================================================================================================================== +# Thinning tool +# ========================================================================================================================== from DerivationFrameworkCalo.DerivationFrameworkCaloConf import DerivationFramework__CaloClusterThinning -TAUP3CaloClusterThinning = DerivationFramework__CaloClusterThinning( - name = "TAUP3ClusterThinning", - StreamName = streamName, - SGKey = "TauJets", - TopoClCollectionSGKey = "CaloCalTopoClusters") -ToolSvc += TAUP3CaloClusterThinning +TAUP3CaloClusterThinning = DerivationFramework__CaloClusterThinning(name = "TAUP3ClusterThinning", + StreamName = streamName, + SGKey = "TauJets", + TopoClCollectionSGKey = "CaloCalTopoClusters") +ToolSvc += TAUP3CaloClusterThinning # Tracks associated with electrons from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__EgammaTrackParticleThinning -TAUP3ElectronTPThinningTool = DerivationFramework__EgammaTrackParticleThinning( - name = "TAUP3ElectronTPThinningTool", - StreamName = streamName, - SGKey = "Electrons", - InDetTrackParticlesKey = "InDetTrackParticles") -ToolSvc += TAUP3ElectronTPThinningTool +TAUP3ElectronTPThinningTool = DerivationFramework__EgammaTrackParticleThinning(name = "TAUP3ElectronTPThinningTool", + StreamName = streamName, + SGKey = "Electrons", + InDetTrackParticlesKey = "InDetTrackParticles") +ToolSvc += TAUP3ElectronTPThinningTool # Tracks associated with muons from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__MuonTrackParticleThinning -TAUP3MuonTPThinningTool = DerivationFramework__MuonTrackParticleThinning( - name = "TAUP3MuonTPThinningTool", - StreamName = streamName, - MuonKey = "Muons", - InDetTrackParticlesKey = "InDetTrackParticles") -ToolSvc += TAUP3MuonTPThinningTool +TAUP3MuonTPThinningTool = DerivationFramework__MuonTrackParticleThinning(name = "TAUP3MuonTPThinningTool", + StreamName = streamName, + MuonKey = "Muons", + InDetTrackParticlesKey = "InDetTrackParticles") +ToolSvc += TAUP3MuonTPThinningTool # Tracks associated with taus from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__TauTrackParticleThinning -TAUP3TauTPThinningTool = DerivationFramework__TauTrackParticleThinning( - name = "TAUP3TauTPThinningTool", - StreamName = streamName, - TauKey = "TauJets", - InDetTrackParticlesKey = "InDetTrackParticles", - ConeSize = 0.6) -ToolSvc += TAUP3TauTPThinningTool +TAUP3TauTPThinningTool = DerivationFramework__TauTrackParticleThinning(name = "TAUP3TauTPThinningTool", + StreamName = streamName, + TauKey = "TauJets", + InDetTrackParticlesKey = "InDetTrackParticles", + ConeSize = 0.6) +ToolSvc += TAUP3TauTPThinningTool # ========================================================================================================================== # Skimming tool # ========================================================================================================================== -muRequirement = "( count( (Muons.pt > 22.0*GeV) && Muons.DFCommonGoodMuon ) >= 1 )" -tauRequirement = "( count( (TauJets.pt > 18.0*GeV) && (abs(TauJets.charge)==1.0) && ((TauJets.nTracks == 1) || (TauJets.nTracks == 3)) ) >= 1 )" +muRequirement = "( count( (Muons.pt > 22.0*GeV) && Muons.DFCommonGoodMuon ) >= 1 )" +tauRequirement = "( count( (TauJets.pt > 15.0*GeV) && (abs(TauJets.charge)==1.0) && ((TauJets.nTracks == 1) || (TauJets.nTracks == 3)) ) >= 1 )" -expression = muRequirement + " && " + tauRequirement +expression = muRequirement + " && " + tauRequirement from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool -TAUP3SkimmingTool = DerivationFramework__xAODStringSkimmingTool( - name = "TAUP3SkimmingTool", - expression = expression) +TAUP3SkimmingTool = DerivationFramework__xAODStringSkimmingTool(name = "TAUP3SkimmingTool", + expression = expression) -ToolSvc += TAUP3SkimmingTool +ToolSvc += TAUP3SkimmingTool # ========================================================================================================================== # Kernel algorithm # ========================================================================================================================== -augmentationTools = [] -# JRC: This is now done in TauCommon.py -# if DerivationFrameworkIsMonteCarlo: -# augmentationTools += [DFCommonTauTruthMatchingWrapper] - from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel -DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel( - "TAUP3Kernel", - SkimmingTools = [TAUP3SkimmingTool], - ThinningTools = [TAUP3MetTPThinningTool, - TAUP3JetTPThinningTool, - TAUP3CaloClusterThinning, - TAUP3ElectronTPThinningTool, - TAUP3MuonTPThinningTool, - TAUP3TauTPThinningTool], - AugmentationTools = augmentationTools) +SeqTAUP3 += CfgMgr.DerivationFramework__DerivationKernel("TAUP3Kernel", + SkimmingTools = [TAUP3SkimmingTool], + ThinningTools = [TAUP3CaloClusterThinning, + TAUP3ElectronTPThinningTool, + TAUP3MuonTPThinningTool, + TAUP3TauTPThinningTool]) + +DerivationFrameworkJob += SeqTAUP3 # ========================================================================================================================== # Add the containers to the output stream (slimming done here) @@ -117,31 +97,19 @@ DerivationFrameworkJob += CfgMgr.DerivationFramework__D from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper from DerivationFrameworkTau.TAUPExtraContent import * -TAUP3SlimmingHelper = SlimmingHelper("TAUP3SlimmingHelper") -TAUP3SlimmingHelper.SmartCollections = ["Electrons", - "Photons", - "Muons", - "TauJets", - "MET_Reference_AntiKt4EMTopo", - "MET_Reference_AntiKt4LCTopo", - "AntiKt4EMTopoJets", - "AntiKt4LCTopoJets", - "BTagging_AntiKt4EMTopo", - "BTagging_AntiKt4LCTopo", - "InDetTrackParticles", - "PrimaryVertices"] - -if DerivationFrameworkIsMonteCarlo: - TAUP3SlimmingHelper.StaticContent = ["xAOD::TruthParticleContainer#TruthElectrons", - "xAOD::TruthParticleAuxContainer#TruthElectronsAux.", - "xAOD::TruthParticleContainer#TruthMuons", - "xAOD::TruthParticleAuxContainer#TruthMuonsAux.", - "xAOD::TruthParticleContainer#TruthTaus", - "xAOD::TruthParticleAuxContainer#TruthTausAux.", - "xAOD::TruthParticleContainer#TruthPhotons", - "xAOD::TruthParticleAuxContainer#TruthPhotonsAux.", - "xAOD::TruthParticleContainer#TruthNeutrinos", - "xAOD::TruthParticleAuxContainer#TruthNeutrinosAux."] +TAUP3SlimmingHelper = SlimmingHelper("TAUP3SlimmingHelper") +TAUP3SlimmingHelper.SmartCollections = ["Electrons", + "Photons", + "Muons", + "TauJets", + "MET_Reference_AntiKt4EMTopo", + "MET_Reference_AntiKt4LCTopo", + "AntiKt4EMTopoJets", + "AntiKt4LCTopoJets", + #"BTagging_AntiKt4EMTopo", + #"BTagging_AntiKt4LCTopo", + "InDetTrackParticles", + "PrimaryVertices"] TAUP3SlimmingHelper.IncludeMuonTriggerContent = True TAUP3SlimmingHelper.IncludeEGammaTriggerContent = True @@ -149,18 +117,19 @@ TAUP3SlimmingHelper.IncludeEtMissTriggerContent = True TAUP3SlimmingHelper.IncludeJetTriggerContent = True TAUP3SlimmingHelper.IncludeBJetTriggerContent = True -TAUP3SlimmingHelper.ExtraVariables = ExtraContentTAUP3 -TAUP3SlimmingHelper.AllVariables = ExtraContainersTAUP3 +TAUP3SlimmingHelper.ExtraVariables = ExtraContentTAUP3 +TAUP3SlimmingHelper.AllVariables = ExtraContainersTAUP3 -if globalflags.DataSource() == "geant4": - TAUP3SlimmingHelper.ExtraVariables += ExtraContentTruthTAUP3 - TAUP3SlimmingHelper.AllVariables += ExtraContainersTruthTAUP3 +if DerivationFrameworkIsMonteCarlo: + TAUP3SlimmingHelper.ExtraVariables += ExtraContentTruthTAUP3 + TAUP3SlimmingHelper.AllVariables += ExtraContainersTruthTAUP3 + TAUP3SlimmingHelper.AllVariables += ["TruthElectrons", + "TruthMuons", + "TruthTaus", + "TruthPhotons", + "TruthNeutrinos"] TAUP3SlimmingHelper.AppendContentToStream(TAUP3Stream) TAUP3Stream.AddItem("xAOD::EventShape#*") TAUP3Stream.AddItem("xAOD::EventShapeAuxInfo#*") - -# Add MET_RefFinalFix -# JRC TEMPORARILY COMMENTED -# addMETOutputs(TAUP3Stream)