From 58297741b59669929a1c344d981b30a9e60e0255 Mon Sep 17 00:00:00 2001 From: lderamo <louis.d'eramo@cern.ch> Date: Thu, 5 Apr 2018 17:39:50 +0200 Subject: [PATCH] Adding PFlow objects Former-commit-id: 0bd89c8c78d504aca0ad604da20544c06eb228fc --- .../python/HIGG5Common.py | 14 ++++++++ .../python/HIGG5D1ContentList.py | 22 ++++++++----- .../python/HIGG5D1ExtraContent.py | 2 +- .../DerivationFrameworkHiggs/share/HIGG5D1.py | 33 ++++++++++++------- 4 files changed, 50 insertions(+), 21 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5Common.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5Common.py index e75fc4757d0..02460374d61 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5Common.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5Common.py @@ -18,13 +18,19 @@ def getHIGG5Common() : ".Angularity.Aplanarity.DetectorEta.ECF1.ECF2.ECF3.FoxWolfram0.FoxWolfram2.GhostMuonSegmentCount.GhostTrackCount.KtDR.Parent.PlanarFlow.Qw.Split12.Split23.Tau1_wta.Tau2_wta.Tau3_wta.ZCut12"), "BTagging_AntiKtVR30Rmax4Rmin02Track.MV2c10_discriminant", "BTagging_AntiKt4EMTopo.MV2cl100_discriminant", + "BTagging_AntiKt4EMPFlow.MV2cl100_discriminant", "CaloCalTopoClusters.CENTER_MAG.calE.calEta.calM.calPhi.calPt.e_sampl.etaCalo.eta_sampl.phiCalo.phi_sampl.rawE.rawEta.rawM.rawPhi", "TauChargedParticleFlowObjects.bdtPi0Score.e.eta.m.phi.pt.rapidity" ] +#Truth 3 +# def getHIGG5CommonTruthContainers() : +# return ["TruthElectrons", "TruthMuons", "TruthTaus", "TruthPhotons", "TruthNeutrinos", "TruthTop", "TruthBSM", "TruthBoson"] + def getHIGG5CommonTruth() : return [ "AntiKt4EMTopoJets.ConeTruthLabelID", + "AntiKt4EMPFlowJets.ConeTruthLabelID", "TruthEvents.PDFID1.PDFID2.PDGID1.PDGID2.Q.X1.X2.XF1.XF2.weights.crossSection.crossSectionError.truthParticleLinks", "TruthVertices.barcode.x.y.z.t.id.incomingParticleLinks.outgoingParticleLinks", # "TruthParticles.px.py.pz.e.m.decayVtxLink.prodVtxLink.barcode.pdgId.status.TopHadronOriginFlag.classifierParticleOrigin.classifierParticleType.classifierParticleOutCome.dressedPhoton.polarizationTheta.polarizationPhi", @@ -132,6 +138,14 @@ def getJetTrackParticleThinning(tool_prefix, thinning_helper, **kwargs) : def getAntiKt4EMTopoTrackParticleThinning(tool_prefix, thinning_helper, **kwargs) : kwargs.setdefault( 'name',tool_prefix + 'AntiKt4EMTopoJetTPThinningTool') kwargs.setdefault( 'JetKey','AntiKt4EMTopoJets') + kwargs.setdefault( 'SelectionString','(AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15*GeV)') + return getJetTrackParticleThinning(tool_prefix, thinning_helper, **kwargs) + +#PFlow +def getAntiKt4EMPFlowTrackParticleThinning(tool_prefix, thinning_helper, **kwargs) : + kwargs.setdefault( 'name',tool_prefix + 'AntiKt4EMPFlowJetTPThinningTool') + kwargs.setdefault( 'JetKey','AntiKt4EMPFlowJets') + kwargs.setdefault( 'SelectionString','(AntiKt4EMPFlowJets.pt > 15*GeV)') return getJetTrackParticleThinning(tool_prefix, thinning_helper, **kwargs) def getAntiKt10LCTopoTrackParticleThinning(tool_prefix, thinning_helper, **kwargs) : diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5D1ContentList.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5D1ContentList.py index ce88cf9abe5..91afcadd347 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5D1ContentList.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5D1ContentList.py @@ -22,6 +22,8 @@ HIGG5D1Content = [ ### Jet "xAOD::JetContainer_v1#AntiKt4EMTopoJets", "xAOD::JetAuxContainer_v1#AntiKt4EMTopoJetsAux.", +"xAOD::JetContainer_v1#AntiKt4EMPFlowJets", +"xAOD::JetAuxContainer_v1#AntiKt4EMPFlowJetsAux.", # "xAOD::JetContainer_v1#AntiKt4TruthJets", # "xAOD::JetAuxContainer_v1#AntiKt4TruthJetsAux.", # "xAOD::JetContainer_v1#AntiKt4TruthWZJets", @@ -36,7 +38,7 @@ HIGG5D1Content = [ "xAOD::JetAuxContainer_v1#AntiKt3PV0TrackJetsAux.", "xAOD::EventShape_v1#*", "xAOD::EventShapeAuxInfo_v1#*", -### Calo cluster +### Calo cluster #"xAOD::CaloClusterContainer_v1#CaloCalTopoCluster", #"xAOD::CaloClusterAuxContainer_v1#CaloCalTopoClusterAux.", "xAOD::CaloClusterContainer_v1#LArClusterEMFrwd", @@ -67,24 +69,26 @@ HIGG5D1Content = [ "xAOD::MissingETAuxContainer_v1#MET_TruthAux.", #"xAOD::MissingETContainer_v1#MET_Track", #"xAOD::MissingETAuxContainer_v1#MET_TrackAux.", -"xAOD::MissingETContainer_v1#MET_TrackFix", -"xAOD::MissingETAuxContainer_v1#MET_TrackFixAux.", -"xAOD::MissingETComponentMap_v1#METMap_EMJets", +"xAOD::MissingETContainer_v1#MET_TrackFix", +"xAOD::MissingETAuxContainer_v1#MET_TrackFixAux.", +"xAOD::MissingETComponentMap_v1#METMap_EMJets", "xAOD::MissingETAuxComponentMap_v1#METMap_EMJetsAux.", "xAOD::MissingETComponentMap_v1#METMap_EleLHMedEMJets", "xAOD::MissingETAuxComponentMap_v1#METMap_EleLHMedEMJetsAux.", "xAOD::MissingETComponentMap_v1#METMap_RefFinalFix", "xAOD::MissingETAuxComponentMap_v1#METMap_RefFinalFixAux.", -"xAOD::MissingETComponentMap_v1#METMap_Truth", -"xAOD::MissingETAuxComponentMap_v1#METMap_TruthAux.", -"xAOD::MissingETComponentMap_v1#METMap_TrackFix", -"xAOD::MissingETAuxComponentMap_v1#METMap_TrackFixAux.", +"xAOD::MissingETComponentMap_v1#METMap_Truth", +"xAOD::MissingETAuxComponentMap_v1#METMap_TruthAux.", +"xAOD::MissingETComponentMap_v1#METMap_TrackFix", +"xAOD::MissingETAuxComponentMap_v1#METMap_TrackFixAux.", ### Vertex "xAOD::VertexContainer_v1#*", "xAOD::VertexAuxContainer_v1#*", ### B-tag "xAOD::BTaggingContainer_v1#BTagging_AntiKt4EMTopo", "xAOD::BTaggingAuxContainer_v1#BTagging_AntiKt4EMTopoAux.", +"xAOD::BTaggingContainer_v1#BTagging_AntiKt4EMPFlow", +"xAOD::BTaggingAuxContainer_v1#BTagging_AntiKt4EMPFlowAux." "xAOD::BTaggingContainer_v1#BTagging_AntiKt4Truth", "xAOD::BTaggingAuxContainer_v1#BTagging_AntiKt4TruthAux.", "xAOD::BTaggingContainer_v1#BTagging_AntiKt4TruthWZ", @@ -93,7 +97,7 @@ HIGG5D1Content = [ "xAOD::BTaggingAuxContainer_v1#BTagging_AntiKt10TruthAux.", "xAOD::BTaggingContainer_v1#BTagging_AntiKt10TruthWZ", "xAOD::BTaggingAuxContainer_v1#BTagging_AntiKt10TruthWZAux.", -### Trigger +### Trigger "xAOD::TrigDecision_v1#xTrigDecision", "xAOD::TrigDecisionAuxInfo_v1#xTrigDecisionAux.", "xAOD::TriggerMenuContainer_v1#TriggerMenu", diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5D1ExtraContent.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5D1ExtraContent.py index 73bfe12ccd6..3333f909ae5 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5D1ExtraContent.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/python/HIGG5D1ExtraContent.py @@ -11,4 +11,4 @@ ExtraContent+=[ ExtraContentTruth=HIGG5Common.getHIGG5CommonTruth() ExtraContainers=[] -ExtraContainersTruth=[] +ExtraContainersTruth=[] #HIGG5Common.getHIGG5CommonTruthContainers() Truth3 diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D1.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D1.py index e8b54b05118..16617c00cd7 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D1.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkHiggs/share/HIGG5D1.py @@ -1,6 +1,6 @@ #******************************************************************** # HIGG5D1.py (for 0-lepton) -# reductionConf flag HIGG5D1 in Reco_tf.py +# reductionConf flag HIGG5D1 in Reco_tf.py #******************************************************************** from DerivationFrameworkCore.DerivationFrameworkMaster import * from DerivationFrameworkJetEtMiss.JetCommon import * @@ -12,7 +12,7 @@ from DerivationFrameworkEGamma.EGammaCommon import * from DerivationFrameworkMuons.MuonsCommon import * from DerivationFrameworkInDet.InDetCommon import * -if DerivationFrameworkIsMonteCarlo: +if DerivationFrameworkIsMonteCarlo: from DerivationFrameworkTau.TauTruthCommon import scheduleTauTruthTools scheduleTauTruthTools() @@ -25,7 +25,7 @@ if DerivationFrameworkIsMonteCarlo : #==================================================================== -# SET UP STREAM +# SET UP STREAM #==================================================================== streamName = derivationFlags.WriteDAOD_HIGG5D1Stream.StreamName fileName = buildFileName( derivationFlags.WriteDAOD_HIGG5D1Stream ) @@ -37,11 +37,11 @@ HIGG5D1Stream.AcceptAlgs(["HIGG5D1Kernel"]) #==================================================================== thinningTools=[] -# Establish the thinning helper (which will set up the services behind the scenes) -from DerivationFrameworkCore.ThinningHelper import ThinningHelper -HIGG5D1ThinningHelper = ThinningHelper("HIGG5D1ThinningHelper") +# Establish the thinning helper (which will set up the services behind the scenes) +from DerivationFrameworkCore.ThinningHelper import ThinningHelper +HIGG5D1ThinningHelper = ThinningHelper("HIGG5D1ThinningHelper") #trigger navigation content -HIGG5D1ThinningHelper.TriggerChains = 'HLT_xe.*|HLT_j.*|HLT_g.*' +HIGG5D1ThinningHelper.TriggerChains = 'HLT_xe.*|HLT_j.*|HLT_g.*' HIGG5D1ThinningHelper.AppendToStream(HIGG5D1Stream) import DerivationFrameworkHiggs.HIGG5Common as HIGG5Common @@ -60,11 +60,15 @@ thinningTools.append( HIGG5Common.getAntiKt10TrackCaloClusterTrimmedPtFrac5Small # MC truth thinning (not for data) if DerivationFrameworkIsMonteCarlo : thinningTools.append(HIGG5Common.getTruthThinningTool('HIGG5D1', HIGG5D1ThinningHelper)) + #add Truth3 information + #from DerivationFrameworkMCTruth.MCTruthCommon import * + #addStandardTruthContents() #==================================================================== -# jet selection +# jet selection #==================================================================== jetSel = '(( count( (AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15.*GeV) && (abs(AntiKt4EMTopoJets.DFCommonJets_Calib_eta) < 2.6) ) ) > 0)' +jetSel += '|| (( count( (AntiKt4EMPFlowJets.pt > 15.*GeV) && (abs(AntiKt4EMPFlowJets.eta) < 2.6) ) ) > 0)' jetSel += '|| (( count( (AntiKt4EMTopoJets.pt > 100.0*GeV) && (abs(AntiKt4EMTopoJets.eta) < 2.6) ) ) > 0)' jetSel += '|| (( count( (AntiKt10LCTopoJets.pt > 100.0*GeV) && (abs(AntiKt10LCTopoJets.eta) < 2.6) ) ) > 0)' jetSel += '|| (( count( (AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets.pt > 100.0*GeV) && (abs(AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets.eta) < 2.6) ) ) > 0)' @@ -161,7 +165,7 @@ if (beamEnergy > 6.0e+06 and rec.projectName.get_Value() in ['data17_13TeV','dat #==================================================================== -# SKIMMING TOOL +# SKIMMING TOOL #==================================================================== from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool HIGG5D1JetSkimmingTool = DerivationFramework__xAODStringSkimmingTool( name = "HIGG5D1JetSkimmingTool", @@ -220,7 +224,7 @@ if not "HIGG5D1Jets" in OutputJets: addTCCTrimmedJets(higg5d1Seq, "HIGG5D1Jets") #==================================================================== -# Create variable-R trackjets and dress AntiKt10LCTopo with ghost VR-trkjet +# Create variable-R trackjets and dress AntiKt10LCTopo with ghost VR-trkjet #==================================================================== # Create variable-R trackjets and dress AntiKt10LCTopo with ghost VR-trkjet @@ -236,6 +240,10 @@ from BTagging.BTaggingFlags import BTaggingFlags # alias for VR BTaggingFlags.CalibrationChannelAliases += ["AntiKtVR30Rmax4Rmin02Track->AntiKtVR30Rmax4Rmin02Track,AntiKt4EMTopo"] +from DerivationFrameworkFlavourTag.FlavourTagCommon import FlavorTagInit +FlavorTagInit(JetCollections = ['AntiKt4EMPFlowJets'], Sequencer = higg5d1Seq) +# FlavorTagInit(JetCollections = ['AntiKt4PV0TrackJets'], Sequencer = higg5d1Seq) + # Jet calibration should come after fat jets # applyJetCalibration_xAODColl(jetalg="AntiKt4EMTopo", sequence=higg5d1Seq) # # applyJetCalibration_CustomColl(jetalg="AntiKt10LCTopoTrimmedPtFrac5SmallR20", sequence=higg5d1Seq) @@ -246,7 +254,7 @@ BTaggingFlags.CalibrationChannelAliases += ["AntiKtVR30Rmax4Rmin02Track->AntiKtV #==================================================================== # Add non-prompt lepton tagging #==================================================================== -# import the JetTagNonPromptLepton config and add to the private sequence +# import the JetTagNonPromptLepton config and add to the private sequence import JetTagNonPromptLepton.JetTagNonPromptLeptonConfig as JetTagConfig higg5d1Seq += JetTagConfig.GetDecoratePromptLeptonAlgs() @@ -290,11 +298,14 @@ HIGG5D1SlimmingHelper.SmartCollections = [ "Electrons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo", + "MET_Reference_AntiKt4EMPFlow", "AntiKt4EMTopoJets", + "AntiKt4EMPFlowJets", "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets", "AntiKt4TruthJets", # "AntiKtVR30Rmax4Rmin02Track", "BTagging_AntiKt4EMTopo", + "BTagging_AntiKt4EMPFlow", "BTagging_AntiKt2Track", # "BTagging_AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets", # "BTagging_AntiKtVR30Rmax4Rmin02Track", -- GitLab