ATLAS Offline Software
Functions | Variables
python.LLP1 Namespace Reference

Functions

def LLP1KernelCfg (flags, name='LLP1Kernel', **kwargs)
 
def LLP1Cfg (flags)
 

Variables

string MergedElectronContainer = "StdWithLRTElectrons"
 
string MergedMuonContainer = "StdWithLRTMuons"
 
string MergedMuonContainer_wZPH = "StdWithLRTMuons_wZPH"
 
string MergedTrackCollection = "InDetWithLRTTrackParticles"
 
string MergedTrackletCollection = "InDetDisappearingWithLRTTrackParticles"
 
string MergedGSFTrackCollection = "InDetWithLRTGSFTrackParticles"
 
list LLP1VrtSecInclusiveSuffixes = []
 
list LLP1NewVSISuffixes = []
 

Function Documentation

◆ LLP1Cfg()

def python.LLP1.LLP1Cfg (   flags)

Definition at line 874 of file LLP1.py.

874 def LLP1Cfg(flags):
875  acc = ComponentAccumulator()
876  # Get the lists of triggers needed for trigger matching.
877  # This is needed at this scope (for the slimming) and further down in the config chain
878  # for actually configuring the matching, so we create it here and pass it down
879  # TODO: this should ideally be called higher up to avoid it being run multiple times in a train
880  from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
881  LLP1TriggerListsHelper = TriggerListsHelper(flags)
882 
883  # Common augmentations
884  acc.merge(LLP1KernelCfg(flags, name="LLP1Kernel", StreamName = 'StreamDAOD_LLP1', TriggerListsHelper = LLP1TriggerListsHelper))
885 
886 
889  from IsolationSelection.IsolationSelectionConfig import IsoCloseByAlgsCfg
890  # We can't pass non-LRT containers to the LLP algorithm.
891  # Otherwise, if this is run in conjunction with PHYS, the decorations
892  # produced by the PHYS algorithm will be overwritten. To get those
893  # decorations produced when LLP1 is run alone, we schedule a separate
894  # algorithm for those but make it the same as the one in PHYS so that
895  # they'll be merged when both formats are used together.
896  acc.merge(IsoCloseByAlgsCfg(flags, isPhysLite = False, stream_name = 'StreamDAOD_LLP1'))
897  contNames = [ "LRTElectrons", "MuonsLRT" ]
898  acc.merge(IsoCloseByAlgsCfg(flags, suff = "_LLP1", isPhysLite = False, containerNames = contNames, useSelTools = True, stream_name = 'StreamDAOD_LLP1', hasLRT = True))
899  contNames = [ MergedMuonContainer, MergedElectronContainer, "Photons" ]
900  acc.merge(IsoCloseByAlgsCfg(flags, suff = "_LLP1_LRTMerged", isPhysLite = False, containerNames = contNames, useSelTools = True, stream_name = 'StreamDAOD_LLP1', isoDecSuffix = "CloseByCorr_LRT", caloDecSuffix = '_LRT', hasLRT = True))
901  contNames = [ "ZeroPixelHitMuons" ]
902  acc.merge(IsoCloseByAlgsCfg(flags, suff = "_LLP1_ZeroPixelHitsMuons", isPhysLite = False, containerNames = contNames, stream_name = 'StreamDAOD_LLP1', isoDecSuffix = "CloseByCorr_ZPH"))
903 
904  # ============================
905  # Define contents of the format
906  # =============================
907  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
908  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
909  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
910 
911  LLP1SlimmingHelper = SlimmingHelper("LLP1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
912 
913  LLP1SlimmingHelper.SmartCollections = ["EventInfo",
914  "Electrons",
915  "LRTElectrons",
916  "Photons",
917  "Muons",
918  "MuonsLRT",
919  "PrimaryVertices",
920  "InDetTrackParticles",
921  "InDetLargeD0TrackParticles",
922  "AntiKt4EMTopoJets",
923  "AntiKt4EMPFlowJets",
924  "AntiKt4EMPFlowJets_FTAG",
925  "BTagging_AntiKt4EMTopo",
926  "BTagging_AntiKt4EMPFlow",
927  "BTagging_AntiKtVR30Rmax4Rmin02Track",
928  "MET_Baseline_AntiKt4EMTopo",
929  "MET_Baseline_AntiKt4EMPFlow",
930  "TauJets",
931  "TauJets_MuonRM",
932  "DiTauJets",
933  "DiTauJetsLowPt",
934  "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
935  "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
936  "AntiKtVR30Rmax4Rmin02PV0TrackJets",
937  ]
938 
939  LLP1SlimmingHelper.AllVariables = ["InDetDisappearingTrackParticles",
940  "MSDisplacedVertex",
941  "MuonSpectrometerTrackParticles",
942  "UnAssocMuonSegments",
943  "MuonSegments",
944  "MuonSegments_LRT",
945  "MSonlyTracklets",
946  "CombinedMuonTrackParticles",
947  "ExtrapolatedMuonTrackParticles",
948  "CombinedMuonsLRTTrackParticles",
949  "ExtraPolatedMuonsLRTTrackParticles",
950  "MSOnlyExtraPolatedMuonsLRTTrackParticles",
951  "CombinedStauTrackParticles",
952  "AntiKt4EMTopoJets",
953  "egammaClusters",
954  "ElectronRingSets",
955  "ElectronCaloRings",
956  "JetRingSets",
957  "JetCaloRings",
958  "SlowMuons",
959  #"LCOriginTopoClusters",
960  "EMOriginTopoClusters",
961  "Staus",
962  "METAssoc_AntiKt4EMTopo",
963  "MET_Core_AntiKt4EMTopo",
964  "METAssoc_AntiKt4EMPFlow",
965  "MET_Core_AntiKt4EMPFlow",
966  "InDetLowPtRoITrackParticles",
967  "PixelClusters",
968  "PixelMSOSs",
969  "DisappearingPixelMSOSs",
970  "LowPtRoIPixelMSOSs",
971  "SCT_Clusters",
972  "SCT_MSOSs",
973  "DisappearingSCT_MSOSs",
974  "LowPtRoISCT_MSOSs",
975  "LVL1MuonRoIs",
976  ]
977 
978 
979  excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
980  StaticContent = []
981  StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
982  StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
983  StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
984  StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
985  StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
986  StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
987  StaticContent += ["xAOD::JetContainer#AntiKt10EMTopoRCJets","xAOD::JetAuxContainer#AntiKt10EMTopoRCJetsAux.-PseudoJet"]
988 
989  for wp in LLP1VrtSecInclusiveSuffixes:
990  StaticContent += ["xAOD::VertexContainer#VrtSecInclusive_SecondaryVertices" + wp]
991  StaticContent += ["xAOD::VertexAuxContainer#VrtSecInclusive_SecondaryVertices" + wp + "Aux."]
992 
993  for wp in LLP1NewVSISuffixes:
994  StaticContent += ["xAOD::VertexContainer#NewVrtSecInclusive_SecondaryVertices" + wp]
995  StaticContent += ["xAOD::VertexAuxContainer#NewVrtSecInclusive_SecondaryVertices" + wp + "Aux." + excludedVertexAuxData]
996 
997  StaticContent += ["xAOD::VertexContainer#MuSAVertices"]
998  StaticContent += ["xAOD::VertexAuxContainer#MuSAVerticesAux."]
999  StaticContent += ["xAOD::TrackParticleContainer#MuSAExtrapolatedTrackParticles"]
1000  StaticContent += ["xAOD::TrackParticleAuxContainer#MuSAExtrapolatedTrackParticlesAux."]
1001 
1002  if flags.Derivation.LLP.doMuSAValidation:
1003  StaticContent += ["xAOD::VertexContainer#JPsiMuSAVertices"]
1004  StaticContent += ["xAOD::VertexAuxContainer#JPsiMuSAVerticesAux."]
1005  StaticContent += ["xAOD::VertexContainer#JPsiVertices"]
1006  StaticContent += ["xAOD::VertexAuxContainer#JPsiVerticesAux."]
1007  StaticContent += ["xAOD::TrackParticleContainer#JPsiVerticesTracks"]
1008  StaticContent += ["xAOD::TrackParticleAuxContainer#JPsiVerticesTracksAux."]
1009  StaticContent += ["xAOD::TrackParticleContainer#JPsiMuSAExtrapolatedTrackParticles"]
1010  StaticContent += ["xAOD::TrackParticleAuxContainer#JPsiMuSAExtrapolatedTrackParticlesAux."]
1011  StaticContent += ["xAOD::VertexContainer#ValidationMuSAVertices"]
1012  StaticContent += ["xAOD::VertexAuxContainer#ValidationMuSAVerticesAux."]
1013  StaticContent += ["xAOD::TrackParticleContainer#ValidationMuSAExtrapolatedTrackParticles"]
1014  StaticContent += ["xAOD::TrackParticleAuxContainer#ValidationMuSAExtrapolatedTrackParticlesAux."]
1015 
1016  LLP1SlimmingHelper.ExtraVariables += ["AntiKt10TruthTrimmedPtFrac5SmallR20Jets.Tau1_wta.Tau2_wta.Tau3_wta.D2.GhostBHadronsFinalCount",
1017  "Electrons.LHValue.DFCommonElectronsLHVeryLooseNoPixResult.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z.f3",
1018  "LRTElectrons.LHValue.DFCommonElectronsLHVeryLooseNoPixResult.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z.f3",
1019  "Photons.DFCommonPhotonsIsEMMedium.DFCommonPhotonsIsEMMediumIsEMValue.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z.f3",
1020  "Muons.meanDeltaADCCountsMDT",
1021  "egammaClusters.phi_sampl.eta0.phi0",
1022  "LRTegammaClusters.phi_sampl.eta0.phi0",
1023  "AntiKt4EMTopoJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostBHadronsFinal.GhostCHadronsFinal.GhostTrack.GhostTrackCount.GhostTrackLRT.GhostTrackLRTCount.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z",
1024  "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID.DFCommonJets_fJvt.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostBHadronsFinal.GhostCHadronsFinal.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z",
1025  "AntiKtVR30Rmax4Rmin02TrackJets_BTagging201903.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostTausFinal.GhostTausFinalCount",
1026  "AntiKtVR30Rmax4Rmin02TrackJets_BTagging201810.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt.GhostTausFinal.GhostTausFinalCount",
1027  "TruthPrimaryVertices.t.x.y.z.sumPt2",
1028  "PrimaryVertices.t.x.y.z.sumPt2.covariance",
1029  "InDetTrackParticles.d0.z0.vz.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.truthParticleLink.truthMatchProbability.radiusOfFirstHit.hitPattern.patternRecoInfo",
1030  "InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers",
1031  "InDetTrackParticles.numberOfIBLOverflowsdEdx.numberOfUsedHitsdEdx.pixeldEdx",
1032  "InDetTrackParticles.expectInnermostPixelLayerHit.expectNextToInnermostPixelLayerHit.numberOfNextToInnermostPixelLayerHits.numberOfContribPixelLayers.numberOfGangedFlaggedFakes.numberOfPixelOutliers.numberOfPixelSplitHits.numberOfPixelSpoiltHits",
1033  "InDetTrackParticles.numberOfSCTOutliers.numberOfSCTSpoiltHits",
1034  "InDetTrackParticles.numberOfTRTHoles.numberOfTRTDeadStraws.numberOfTRTSharedHits.numberOfTRTHighThresholdHits.numberOfTRTHighThresholdHitsTotal.numberOfTRTHighThresholdOutliers.TRTdEdx.TRTdEdxUsedHits.hitPattern",
1035  "InDetTrackParticles.truthMatchProbability.truthOrigin.truthType",
1036  "InDetTrackParticles.TrkIsoPtPdEdx_ptcone20.TrkIsoPtPdEdx_ptcone30.TrkIsoPtPdEdx_ptcone40.TrkIsoPtTightPdEdx_ptcone20.TrkIsoPtTightPdEdx_ptcone30.TrkIsoPtTightPdEdx_ptcone40",
1037  "InDetTrackParticles.LLP1_ptcone20.LLP1_ptcone30.LLP1_ptcone40.LLP1_ptvarcone20.LLP1_ptvarcone30.LLP1_ptvarcone40.definingParametersCovMatrixDiag.definingParametersCovMatrixOffDiag",
1038  "InDetTrackParticles.LLP1_topoetcone20.LLP1_topoetcone30.LLP1_topoetcone40.LLP1_topoetcone20NonCoreCone.LLP1_topoetcone30NonCoreCone.LLP1_topoetcone40NonCoreCone",
1039  "InDetTrackParticles.LLP1_CaloCelldEta.LLP1_CaloCelldPhi.LLP1_CaloCelldR.LLP1_CaloCelldX.LLP1_CaloCelldY.LLP1_CaloCelldZ.LLP1_CaloCellE.LLP1_CaloCellEta.LLP1_CaloCellGain.LLP1_CaloCellID.LLP1_CaloCellPhi.LLP1_CaloCellProvenance.LLP1_CaloCellQuality.LLP1_CaloCellR.LLP1_CaloCellSampling.LLP1_CaloCellTime.LLP1_CaloCellX.LLP1_CaloCellY.LLP1_CaloCellZ.LLP1_CaloCellEneDiff.LLP1_CaloCellTimeDiff",
1040  "InDetTrackParticles.Reco_msosLink",
1041 
1042  "InDetLargeD0TrackParticles.d0.z0.vz.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.truthParticleLink.truthMatchProbability.radiusOfFirstHit.hitPattern.patternRecoInfo",
1043  "GSFTrackParticles.d0.z0.vz.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.truthParticleLink.truthMatchProbability.radiusOfFirstHit.numberOfPixelHoles.numberOfSCTHoles.numberDoF.chiSquared.hitPattern.truthOrigin.truthType",
1044  "LRTGSFTrackParticles.d0.z0.vz.TTVA_AMVFVertices.TTVA_AMVFWeights.eProbabilityHT.truthParticleLink.truthMatchProbability.radiusOfFirstHit.numberOfPixelHoles.numberOfSCTHoles.numberDoF.chiSquared.hitPattern.truthOrigin.truthType",
1045  "EventInfo.hardScatterVertexLink.timeStampNSOffset",
1046  "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ",
1047  "EventInfo.hardScatterVertexLink.timeStampNSOffset",
1048  "EventInfo.DFCommonJets_eventClean_SuperLooseBadLLP.DFCommonJets_eventClean_SuperLooseBadLLP_EMTopo.DFCommonJets_eventClean_LooseBadLLP_EMTopo",
1049  "TauJets.dRmax.etOverPtLeadTrk.maxEcell_time.maxEcell_energy.maxEcell_gain.maxEcell_onlId.maxEcell_x.maxEcell_y.maxEcell_z",
1050  "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
1051  "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey"]
1052 
1053  # Isolation close by correction content for the LRT included corrections
1054  LLP1SlimmingHelper.ExtraVariables += ["Muons.topoetcone20_CloseByCorr_LRT.neflowisol20_CloseByCorr_LRT.ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt500_CloseByCorr_LRT.ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt1000_CloseByCorr_LRT",
1055  "MuonsLRT.topoetcone20_CloseByCorr_LRT.neflowisol20_CloseByCorr_LRT.ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt500_CloseByCorr_LRT.ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt1000_CloseByCorr_LRT",
1056  "Electrons.topoetcone20_CloseByCorr_LRT.ptcone20_Nonprompt_All_MaxWeightTTVALooseCone_pt1000_CloseByCorr_LRT.ptvarcone30_Nonprompt_All_MaxWeightTTVALooseCone_pt1000_CloseByCorr_LRT",
1057  "LRTElectrons.topoetcone20_CloseByCorr_LRT.ptcone20_Nonprompt_All_MaxWeightTTVALooseCone_pt1000_CloseByCorr_LRT.ptvarcone30_Nonprompt_All_MaxWeightTTVALooseCone_pt1000_CloseByCorr_LRT",
1058  "Photons.topoetcone20_CloseByCorr_LRT.topoetcone40_CloseByCorr_LRT.ptcone20_CloseByCorr_LRT"
1059  ]
1060 
1061  VSITrackAuxVars = [
1062  "is_selected", "is_associated", "is_svtrk_final", "pt_wrtSV", "eta_wrtSV",
1063  "phi_wrtSV", "d0_wrtSV", "z0_wrtSV", "errP_wrtSV", "errd0_wrtSV",
1064  "errz0_wrtSV", "chi2_toSV"
1065  ]
1066 
1067  for suffix in LLP1VrtSecInclusiveSuffixes + LLP1NewVSISuffixes:
1068  LLP1SlimmingHelper.ExtraVariables += [ "InDetTrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
1069  LLP1SlimmingHelper.ExtraVariables += [ "InDetLargeD0TrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
1070  LLP1SlimmingHelper.ExtraVariables += [ "GSFTrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
1071  LLP1SlimmingHelper.ExtraVariables += [ "LRTGSFTrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
1072 
1073  LLP1SlimmingHelper.ExtraVariables.append('CaloCalTopoClusters.e_samplCaloCalTopoClusters.e_sampl.calM.calE.calEta.calPhi.CENTER_MAG.SECOND_TIME.time.CENTER_LAMBDA.rawE.rawM.rawPhi.rawEta.clusterSize.eta0.phi0.altE.altEta.altPhi.altM.AVG_LAR_Q.AVG_TILE_Q.BADLARQ_FRAC.EM_PROBABILITY.ENG_BAD_CELLS.ENG_POS.ISOLATION.N_BAD_CELLS.SECOND_LAMBDA.SECOND_R')
1074  LLP1SlimmingHelper.AppendToDictionary["EMOriginTopoClusters"]='xAOD::CaloClusterContainer'
1075  LLP1SlimmingHelper.AppendToDictionary["EMOriginTopoClustersAux"]='xAOD::ShallowAuxContainer'
1076  LLP1SlimmingHelper.ExtraVariables.append('EMOriginTopoClusters.e_sampl.calM.calE.calEta.calPhi.CENTER_MAG.SECOND_TIME.time.CENTER_LAMBDA.rawE.rawM.rawPhi.rawEta.clusterSize.eta0.phi0.altE.altEta.altPhi.altM.AVG_LAR_Q.AVG_TILE_Q.BADLARQ_FRAC.EM_PROBABILITY.ENG_BAD_CELLS.ENG_POS.ISOLATION.N_BAD_CELLS.SECOND_LAMBDA.SECOND_R')
1077 
1078 
1079  # Truth containers
1080  if flags.Input.isMC:
1081 
1082  from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
1083  addTruth3ContentToSlimmerTool(LLP1SlimmingHelper)
1084  LLP1SlimmingHelper.AllVariables += ['TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm','TruthPileupParticles','InTimeAntiKt4TruthJets','OutOfTimeAntiKt4TruthJets', 'AntiKt4TruthJets']
1085  LLP1SlimmingHelper.ExtraVariables += ["Electrons.TruthLink",
1086  "LRTElectrons.TruthLink",
1087  "Muons.TruthLink",
1088  "MuonsLRT.TruthLink",
1089  "Photons.TruthLink"]
1090 
1091  if flags.Derivation.LLP.saveFullTruth:
1092  LLP1SlimmingHelper.ExtraVariables += ['TruthParticles', 'TruthVertices']
1093  StaticContent += ["xAOD::JetContainer#AntiKt10TruthRCJets","xAOD::JetAuxContainer#AntiKt10TruthRCJetsAux.-PseudoJet"]
1094 
1095  # ZeroPixelHitMuons container
1096  StaticContent += ["xAOD::MuonContainer#ZeroPixelHitMuons", "xAOD::MuonAuxContainer#ZeroPixelHitMuonsAux."]
1097 
1098  from DerivationFrameworkEGamma.PhotonsCPDetailedContent import (
1099  PhotonsCPDetailedContent,
1100  )
1101  LLP1SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
1102 
1103 
1104  from DerivationFrameworkJetEtMiss.JetCommonConfig import addOriginCorrectedClustersToSlimmingTool
1105  addOriginCorrectedClustersToSlimmingTool(LLP1SlimmingHelper,writeLC=True,writeEM=True)
1106  LLP1SlimmingHelper.StaticContent = StaticContent
1107 
1108  # Trigger content
1109  LLP1SlimmingHelper.IncludeTriggerNavigation = False
1110  LLP1SlimmingHelper.IncludeJetTriggerContent = False
1111  LLP1SlimmingHelper.IncludeMuonTriggerContent = False
1112  LLP1SlimmingHelper.IncludeEGammaTriggerContent = False
1113  LLP1SlimmingHelper.IncludeTauTriggerContent = False
1114  LLP1SlimmingHelper.IncludeEtMissTriggerContent = False
1115  LLP1SlimmingHelper.IncludeBJetTriggerContent = False
1116  LLP1SlimmingHelper.IncludeBPhysTriggerContent = False
1117  LLP1SlimmingHelper.IncludeMinBiasTriggerContent = False
1118 
1119  # Trigger matching
1120  # Run 2
1121  if flags.Trigger.EDMVersion == 2:
1122  from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
1123  from DerivationFrameworkLLP.LLPToolsConfig import LLP1TriggerMatchingToolRun2Cfg
1124  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = LLP1SlimmingHelper,
1125  OutputContainerPrefix = "TrigMatch_",
1126  TriggerList = LLP1TriggerListsHelper.Run2TriggerNamesTau)
1127  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = LLP1SlimmingHelper,
1128  OutputContainerPrefix = "TrigMatch_",
1129  TriggerList = LLP1TriggerListsHelper.Run2TriggerNamesNoTau)
1130  # Schedule additional pre-matching against LLP offline muons and electrons
1131  acc.merge(LLP1TriggerMatchingToolRun2Cfg(flags,
1132  name = "LRTTriggerMatchingTool_LLP1",
1133  OutputContainerPrefix = "LRTTrigMatch_LLP1_",
1134  TriggerList = LLP1TriggerListsHelper.Run2TriggerNamesNoTau,
1135  InputElectrons=MergedElectronContainer,
1136  InputMuons=MergedMuonContainer_wZPH
1137  ))
1138  # And add the additional LLP trigger matching branches to the slimming helper
1139  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = LLP1SlimmingHelper,
1140  OutputContainerPrefix = "LRTTrigMatch_LLP1_",
1141  TriggerList = LLP1TriggerListsHelper.Run2TriggerNamesNoTau,
1142  InputElectrons=MergedElectronContainer,
1143  InputMuons=MergedMuonContainer_wZPH
1144  )
1145  # Run 3, or Run 2 with navigation conversion
1146  if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
1147  from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
1149 
1150  # Output stream
1151  LLP1ItemList = LLP1SlimmingHelper.GetItemList()
1152  acc.merge(OutputStreamCfg(flags, "DAOD_LLP1", ItemList=LLP1ItemList, AcceptAlgs=["LLP1Kernel"]))
1153  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_LLP1", AcceptAlgs=["LLP1Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
1154 
1155  return acc

◆ LLP1KernelCfg()

def python.LLP1.LLP1KernelCfg (   flags,
  name = 'LLP1Kernel',
**  kwargs 
)
Configure the derivation framework driving algorithm (kernel) for LLP1

Definition at line 24 of file LLP1.py.

24 def LLP1KernelCfg(flags, name='LLP1Kernel', **kwargs):
25 
26  """Configure the derivation framework driving algorithm (kernel) for LLP1"""
27  acc = ComponentAccumulator()
28 
29  # Augmentations
30 
31 
32  # LRT track merge
33  from DerivationFrameworkInDet.InDetToolsConfig import InDetLRTMergeCfg
34  acc.merge(InDetLRTMergeCfg(flags))
35  acc.merge(InDetLRTMergeCfg(flags, name="GSFTrackMergerAlg", InputTrackParticleLocations = ["GSFTrackParticles", "LRTGSFTrackParticles"], OutputTrackParticleLocation = MergedGSFTrackCollection, OutputTrackParticleLocationCopy = MergedGSFTrackCollection))
36  acc.merge(InDetLRTMergeCfg(flags, name="InDetDisappearingLRTMerge",InputTrackParticleLocations = ["InDetDisappearingTrackParticles", "InDetLargeD0TrackParticles"],OutputTrackParticleLocation = MergedTrackletCollection))
37 
38  # LRT muons merge
39  from DerivationFrameworkLLP.LLPToolsConfig import LRTMuonMergerAlg
40  acc.merge(LRTMuonMergerAlg( flags,
41  PromptMuonLocation = "Muons",
42  LRTMuonLocation = "MuonsLRT",
43  OutputMuonLocation = MergedMuonContainer,
44  CreateViewCollection = True,
45  UseRun3WP = flags.GeoModel.Run == LHCPeriod.Run3))
46 
47  # LRT electrons merge
48  from DerivationFrameworkLLP.LLPToolsConfig import LRTElectronMergerAlg
49  acc.merge(LRTElectronMergerAlg( flags,
50  PromptElectronLocation = "Electrons",
51  LRTElectronLocation = "LRTElectrons",
52  OutputCollectionName = MergedElectronContainer,
53  isDAOD = False,
54  CreateViewCollection = True))
55 
56  # Max Cell sum decoration tool
57  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import (
58  MaxCellDecoratorCfg, MaxCellDecoratorKernelCfg)
59 
60  # Default configuration
61  acc.merge(MaxCellDecoratorKernelCfg(flags))
62 
63  # Specific for LRTElectrons
64  LLP1LRTMaxCellDecoratorTool = acc.popToolsAndMerge(MaxCellDecoratorCfg(
65  flags,
66  name = "LLP1LRTMaxCellDecoratorTool",
67  SGKey_electrons = "LRTElectrons",
68  SGKey_egammaClusters = ("" if flags.GeoModel.Run == LHCPeriod.Run3
69  else "egammaClusters"),
70  SGKey_photons = ''))
71  acc.addPublicTool(LLP1LRTMaxCellDecoratorTool)
72 
73  # Vertex constraint tools
74  from TrkConfig.TrkVertexFitterUtilsConfig import AtlasFullLinearizedTrackFactoryCfg
75  AtlasFullLinearizedTrackFactoryTool = acc.popToolsAndMerge(AtlasFullLinearizedTrackFactoryCfg(flags,
76  name = "LLP1AtlasFullLinearizedTrackFactory"))
77  acc.addPublicTool(AtlasFullLinearizedTrackFactoryTool)
78 
79  from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
80  ExtrapolatorTool = acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags,
81  name = "LLP1ExtrapolatorTool"))
82  acc.addPublicTool(ExtrapolatorTool)
83 
84 
85  from DerivationFrameworkLLP.LLPToolsConfig import TrackParametersKVUCfg
86  LLP1TrackParametersKVUTool = acc.getPrimaryAndMerge(TrackParametersKVUCfg(flags,
87  name = "LLP1TrackParametersKVU",
88  TrackParticleContainerName = "InDetDisappearingTrackParticles",
89  VertexContainerName = "PrimaryVertices",
90  LinearizedTrackFactory = AtlasFullLinearizedTrackFactoryTool,
91  TrackExtrapolator = ExtrapolatorTool))
92  acc.addPublicTool(LLP1TrackParametersKVUTool)
93 
94  # Track isolation tools
95  import ROOT
96  isoPar = ROOT.xAOD.Iso.IsolationType
97  deco_ptcones = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20]
98  deco_ptcones_suffix = ["ptcone40", "ptcone30", "ptcone20"]
99  deco_prefix = 'LLP1_'
100 
101  from InDetConfig.InDetTrackSelectionToolConfig import InDetTrackSelectionTool_Loose_Cfg
102  TrackSelectionToolStd = acc.popToolsAndMerge(InDetTrackSelectionTool_Loose_Cfg(flags,
103  name = "TrackSelectionToolStd",
104  maxZ0SinTheta = 3.0,
105  minPt = 1000.))
106 
107  TrackSelectionToolPdEdx = acc.popToolsAndMerge(InDetTrackSelectionTool_Loose_Cfg(flags,
108  name = "TrackSelectionToolPdEdx",
109  maxD0 = 0.5,
110  maxZ0SinTheta = 3.0,
111  minPt = 1000.))
112 
113  TrackSelectionToolPdEdxTight = acc.popToolsAndMerge(InDetTrackSelectionTool_Loose_Cfg(flags,
114  name = "TrackSelectionToolPdEdxTight",
115  maxD0 = 0.5,
116  maxZ0SinTheta = 0.5,
117  minPt = 1000.))
118 
119  from IsolationAlgs.IsoToolsConfig import TrackIsolationToolCfg, CaloIsolationToolCfg
120  TrackIsoToolStd = acc.popToolsAndMerge(TrackIsolationToolCfg(flags,
121  name = "TrackIsoToolStd",
122  TrackSelectionTool = TrackSelectionToolStd))
123  acc.addPublicTool(TrackIsoToolStd)
124 
125  TrackIsoToolPdEdx = acc.popToolsAndMerge(TrackIsolationToolCfg(flags,
126  name = "TrackIsoToolPdEdx",
127  TrackSelectionTool = TrackSelectionToolPdEdx))
128  acc.addPublicTool(TrackIsoToolPdEdx)
129 
130  TrackIsoToolPdEdxTight = acc.popToolsAndMerge(TrackIsolationToolCfg(flags,
131  name = "TrackIsoToolPdEdxTight",
132  TrackSelectionTool = TrackSelectionToolPdEdxTight))
133  acc.addPublicTool(TrackIsoToolPdEdxTight)
134 
135  from CaloIdentifier import SUBCALO
136  CaloIsoTool = acc.popToolsAndMerge(CaloIsolationToolCfg(flags,
137  name = "CaloIsoTool",
138  EMCaloNums = [SUBCALO.LAREM],
139  HadCaloNums = [SUBCALO.LARHEC, SUBCALO.TILE],
140  UseEMScale = True,
141  UseCaloExtensionCaching = False,
142  saveOnlyRequestedCorrections = True))
143  acc.addPublicTool(CaloIsoTool)
144 
145  from DerivationFrameworkInDet.InDetToolsConfig import IsolationTrackDecoratorCfg
146  LLP1IsolationTrackDecoratorTool = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags,
147  name = "LLP1IsolationTrackDecorator",
148  TrackIsolationTool = TrackIsoToolStd,
149  CaloIsolationTool = CaloIsoTool,
150  TargetContainer = "InDetTrackParticles",
151  SelectionString = "InDetTrackParticles.pt>10*GeV",
152  iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20, isoPar.ptvarcone40, isoPar.ptvarcone30, isoPar.ptvarcone20, isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20],
153  isoSuffix = ["ptcone40", "ptcone30", "ptcone20", "ptvarcone40", "ptvarcone30", "ptvarcone20", "topoetcone40", "topoetcone30", "topoetcone20"],
154  Prefix = deco_prefix))
155  acc.addPublicTool(LLP1IsolationTrackDecoratorTool)
156 
157  LLP1IsolationTrackDecoratorDTTool = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags,
158  name = "LLP1IsolationTrackDecoratorDT",
159  TrackIsolationTool = TrackIsoToolStd,
160  CaloIsolationTool = CaloIsoTool,
161  TargetContainer = "InDetDisappearingTrackParticles",
162  SelectionString = "InDetDisappearingTrackParticles.pt>10*GeV",
163  iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20, isoPar.ptvarcone40, isoPar.ptvarcone30, isoPar.ptvarcone20, isoPar.topoetcone40, isoPar.topoetcone30, isoPar.topoetcone20],
164  isoSuffix = ["ptcone40", "ptcone30", "ptcone20", "ptvarcone40", "ptvarcone30", "ptvarcone20", "topoetcone40", "topoetcone30", "topoetcone20"],
165  Prefix = deco_prefix))
166  acc.addPublicTool(LLP1IsolationTrackDecoratorDTTool)
167 
168  LLP1IsolationTrackDecoratorPdEdxTool = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags,
169  name = "LLP1IsolationTrackDecoratorPdEdx",
170  TrackIsolationTool = TrackIsoToolPdEdx,
171  CaloIsolationTool = CaloIsoTool,
172  TargetContainer = "InDetTrackParticles",
173  iso = deco_ptcones,
174  Prefix = 'TrkIsoPtPdEdx_',
175  isoSuffix = deco_ptcones_suffix))
176  acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxTool)
177 
178  LLP1IsolationTrackDecoratorPdEdxDTTool = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags,
179  name = "LLP1IsolationTrackDecoratorPdEdxDT",
180  TrackIsolationTool = TrackIsoToolPdEdx,
181  CaloIsolationTool = CaloIsoTool,
182  TargetContainer = "InDetDisappearingTrackParticles",
183  iso = deco_ptcones,
184  Prefix = 'TrkIsoPtPdEdx_',
185  isoSuffix = deco_ptcones_suffix))
186  acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxDTTool)
187 
188  LLP1IsolationTrackDecoratorPdEdxTightTool = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags,
189  name = "LLP1IsolationTrackDecoratorPdEdxTight",
190  TrackIsolationTool = TrackIsoToolPdEdxTight,
191  CaloIsolationTool = CaloIsoTool,
192  TargetContainer = "InDetTrackParticles",
193  iso = deco_ptcones,
194  Prefix = 'TrkIsoPtTightPdEdx_',
195  isoSuffix = deco_ptcones_suffix))
196  acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxTightTool)
197 
198  LLP1IsolationTrackDecoratorPdEdxTightDTTool = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags,
199  name = "LLP1IsolationTrackDecoratorPdEdxTightDT",
200  TrackIsolationTool = TrackIsoToolPdEdxTight,
201  CaloIsolationTool = CaloIsoTool,
202  TargetContainer = "InDetDisappearingTrackParticles",
203  iso = deco_ptcones,
204  Prefix = 'TrkIsoPtTightPdEdx_',
205  isoSuffix = deco_ptcones_suffix))
206  acc.addPublicTool(LLP1IsolationTrackDecoratorPdEdxTightDTTool)
207 
208  from DerivationFrameworkLLP.LLPToolsConfig import TrackParticleCaloCellDecoratorCfg
209  LLP1TrackParticleCaloCellDecoratorTool = acc.getPrimaryAndMerge(TrackParticleCaloCellDecoratorCfg(flags,
210  name = "LLP1TrackParticleCaloCellDecorator",
211  DecorationPrefix = "LLP1",
212  ContainerName = "InDetTrackParticles"))
213  acc.addPublicTool(LLP1TrackParticleCaloCellDecoratorTool)
214 
215  augmentationTools = [ LLP1LRTMaxCellDecoratorTool,
216  LLP1TrackParametersKVUTool,
217  LLP1IsolationTrackDecoratorTool,
218  LLP1IsolationTrackDecoratorDTTool,
219  LLP1IsolationTrackDecoratorPdEdxTool,
220  LLP1IsolationTrackDecoratorPdEdxDTTool,
221  LLP1IsolationTrackDecoratorPdEdxTightTool,
222  LLP1IsolationTrackDecoratorPdEdxTightDTTool,
223  LLP1TrackParticleCaloCellDecoratorTool ]
224 
225  # Specific for Taus
226  LLP1TauMaxCellDecoratorTool = acc.popToolsAndMerge(MaxCellDecoratorCfg(
227  flags,
228  name = "LLP1TauMaxCellDecoratorTool",
229  SGKey_taus = 'TauJets',
230  SGKey_electrons = '',
231  SGKey_photons = ''))
232  acc.addPublicTool(LLP1TauMaxCellDecoratorTool)
233 
234  augmentationTools += [ LLP1TauMaxCellDecoratorTool ]
235 
236  # Specific for Jets: AntiKt4EMTopoJets
237  LLP1AntiKt4EMTopoJetMaxCellDecoratorTool = acc.popToolsAndMerge(MaxCellDecoratorCfg(
238  flags,
239  name = "LLP1AntiKt4EMTopoJetMaxCellDecoratorTool",
240  SGKey_jets = 'AntiKt4EMTopoJets',
241  SGKey_taus = '',
242  SGKey_electrons = '',
243  SGKey_photons = ''))
244  acc.addPublicTool(LLP1AntiKt4EMTopoJetMaxCellDecoratorTool)
245 
246  augmentationTools += [ LLP1AntiKt4EMTopoJetMaxCellDecoratorTool ]
247 
248  # Specific for Jets: AntiKt4EMPFlowJets
249  LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool = acc.popToolsAndMerge(MaxCellDecoratorCfg(
250  flags,
251  name = "LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool",
252  SGKey_jets = 'AntiKt4EMPFlowJets',
253  SGKey_taus = '',
254  SGKey_electrons = '',
255  SGKey_photons = ''))
256  acc.addPublicTool(LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool)
257 
258  augmentationTools += [ LLP1AntiKt4EMPFlowJetMaxCellDecoratorTool ]
259 
260  # Reclustered jets definitions
261  from JetRecConfig.JetRecConfig import registerAsInputConstit, JetRecCfg
262  from JetRecConfig.StandardSmallRJets import AntiKt4Truth, AntiKt4EMTopo
263  from JetRecConfig.JetDefinition import JetDefinition
264  from JetRecConfig.StandardJetConstits import stdConstitDic as cst
265 
266  registerAsInputConstit(AntiKt4EMTopo)
267  registerAsInputConstit(AntiKt4Truth)
268  cst.AntiKt4EMTopoJets.label = "EMTopoRC"
269  cst.AntiKt4TruthJets.label = "TruthRC"
270 
271  AntiKt10RCEMTopo = JetDefinition( "AntiKt",1.0,cst.AntiKt4EMTopoJets,
272  ghostdefs = ["Track", "TrackLRT", "LCTopoOrigin"],
273  modifiers = ("Sort", "Filter:200000",),
274  standardRecoMode = True,
275  lock = True,
276  )
277  if flags.Input.isMC:
278  AntiKt10RCTruth = JetDefinition("AntiKt",1.0,cst.AntiKt4TruthJets,
279  ghostdefs = [],
280  modifiers = ("Sort", "Filter:200000",),
281  standardRecoMode = True,
282  lock = True
283  )
284 
285  from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
286  acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs['TriggerListsHelper']))
287  acc.merge(JetRecCfg(flags,AntiKt10RCEMTopo))
288  if flags.Input.isMC: acc.merge(JetRecCfg(flags,AntiKt10RCTruth))
289 
290  # MET with LRT in association map
291  from DerivationFrameworkJetEtMiss.METCommonConfig import METLRTCfg
292  acc.merge(METLRTCfg(flags, "AntiKt4EMTopo"))
293  acc.merge(METLRTCfg(flags, "AntiKt4EMPFlow"))
294 
295  # LRT Egamma
296  from DerivationFrameworkEGamma.EGammaLRTConfig import EGammaLRTCfg
297  acc.merge(EGammaLRTCfg(flags))
298 
299  from DerivationFrameworkLLP.LLPToolsConfig import LRTElectronLHSelectorsCfg
300  acc.merge(LRTElectronLHSelectorsCfg(flags))
301 
302  #Photon ID Selector
303  from DerivationFrameworkLLP.LLPToolsConfig import PhotonIsEMSelectorsCfg
304  acc.merge(PhotonIsEMSelectorsCfg(flags))
305 
306  # LRT Muons
307  from DerivationFrameworkMuons.MuonsCommonConfig import MuonsCommonCfg
308  acc.merge(MuonsCommonCfg(flags,
309  suff="LRT"))
310 
311  # Recover Zero Pixel Hit Muons
312  from DerivationFrameworkLLP.LLPToolsConfig import RecoverZeroPixelHitMuonsCfg
313  acc.merge(RecoverZeroPixelHitMuonsCfg(flags))
314 
315  # flavor tagging
316  from BTagging.FlavorTaggingConfig import FlavorTaggingCfg
317  acc.merge(FlavorTaggingCfg(flags, 'AntiKt4EMTopoJets'))
318 
319  # VrtSecInclusive
320  from VrtSecInclusive.VrtSecInclusiveConfig import VrtSecInclusiveCfg
321 
322  # MuSAVtxFitter
323  from MuSAVtxFitter.MuSAVtxFitterConfig import MuSAVtxFitterConfig, MuSAVtxJPsiValidationAlgCfg, MuSAVtxFitterValidationConfig
324 
325  acc.merge(VrtSecInclusiveCfg(flags,
326  name = "VrtSecInclusive",
327  AugmentingVersionString = "",
328  FillIntermediateVertices = False,
329  TrackLocation = MergedTrackCollection))
330  LLP1VrtSecInclusiveSuffixes.append("")
331 
332  # short-lifetime VSI
333  shortLifetimeSuffix = "_shortLifetime"
334  acc.merge(VrtSecInclusiveCfg(flags,
335  name = "VrtSecInclusive_InDet"+shortLifetimeSuffix,
336  AugmentingVersionString = shortLifetimeSuffix,
337  FillIntermediateVertices = False,
338  TrackLocation = MergedTrackCollection,
339  twoTrkVtxFormingD0Cut = 1.0))
340  LLP1VrtSecInclusiveSuffixes.append(shortLifetimeSuffix)
341 
342  # disappearing track + LRT VSI
343  dissapearingSuffix = "_disappearing"
344  acc.merge(VrtSecInclusiveCfg(flags,
345  name = "VrtSecInclusive_"+dissapearingSuffix,
346  AugmentingVersionString = dissapearingSuffix,
347  FillIntermediateVertices = False,
348  TrackLocation = MergedTrackletCollection,
349  doReassembleVertices = True,
350  doMergeByShuffling = False,
351  doMergeFinalVerticesDistance= False,
352  doAssociateNonSelectedTracks= False,
353  DoPVcompatibility = True,
354  RemoveFake2TrkVrt = False,
355  PassThroughTrackSelection = True,
356  TruncateListOfWorkingVertices = False,
357  twoTrkVtxFormingD0Cut = 0.0,
358  SelVrtChi2Cut = 1000000.0,
359  twoTrVrtMaxPerigeeDist = 50.0,
360  twoTrVrtMinRadius = 50.0,
361  doDisappearingTrackVertexing= True
362  ))
363  LLP1VrtSecInclusiveSuffixes.append(dissapearingSuffix)
364 
365 
366 
367  if flags.Input.isMC and flags.Derivation.LLP.doTrackSystematics:
368  from InDetTrackSystematicsTools.InDetTrackSystematicsToolsConfig import TrackSystematicsAlgCfg
369  TrackSystSuffix = "_TRK_EFF_LARGED0_GLOBAL__1down"
370  acc.merge(TrackSystematicsAlgCfg(
371  flags,
372  name=f"InDetTrackSystematicsAlg{TrackSystSuffix}",
373  InputTrackContainer = MergedTrackCollection,
374  OutputTrackContainer = f"{MergedTrackCollection}{TrackSystSuffix}"))
375  acc.merge(VrtSecInclusiveCfg(flags,
376  name = f"VrtSecInclusive{TrackSystSuffix}",
377  AugmentingVersionString = TrackSystSuffix,
378  FillIntermediateVertices = False,
379  TrackLocation = f"{MergedTrackCollection}{TrackSystSuffix}"))
380  LLP1VrtSecInclusiveSuffixes.append(TrackSystSuffix)
381 
382  TrackSystSuffixShortLifetime = "_TRK_EFF_LARGED0_GLOBAL__1down_shortLifetime"
383  acc.merge(TrackSystematicsAlgCfg(
384  flags,
385  name=f"InDetTrackSystematicsAlg{TrackSystSuffixShortLifetime}",
386  InputTrackContainer = MergedTrackCollection,
387  OutputTrackContainer = f"{MergedTrackCollection}{TrackSystSuffixShortLifetime}"))
388  acc.merge(VrtSecInclusiveCfg(flags,
389  name = f"VrtSecInclusive{TrackSystSuffixShortLifetime}",
390  AugmentingVersionString = TrackSystSuffixShortLifetime,
391  FillIntermediateVertices = False,
392  TrackLocation = f"{MergedTrackCollection}{TrackSystSuffixShortLifetime}",
393  twoTrkVtxFormingD0Cut = 1.0))
394  LLP1VrtSecInclusiveSuffixes.append(TrackSystSuffixShortLifetime)
395 
396  # LRT muons merge
397  from DerivationFrameworkLLP.LLPToolsConfig import ZeroPixelHitMuonMergerAlgCfg
398  acc.merge(ZeroPixelHitMuonMergerAlgCfg(flags,
399  InputMuonContainers = [MergedMuonContainer, "ZeroPixelHitMuons"],
400  OutputMuonLocation = MergedMuonContainer_wZPH))
401 
402 
403  # leptons-only VSI
404  LeptonsSuffix = "_Leptons"
405  acc.merge(VrtSecInclusiveCfg(flags,
406  name = "VrtSecInclusive_InDet"+LeptonsSuffix,
407  AugmentingVersionString = LeptonsSuffix,
408  FillIntermediateVertices = False,
409  TrackLocation = MergedTrackCollection,
410  twoTrkVtxFormingD0Cut = 1.0,
411  doSelectTracksFromMuons = True,
412  doRemoveCaloTaggedMuons = True,
413  doSelectTracksFromElectrons = True,
414  MuonLocation = MergedMuonContainer,
415  ElectronLocation = MergedElectronContainer))
416  LLP1VrtSecInclusiveSuffixes.append(LeptonsSuffix)
417 
418  # track VSI
419  LepTrackSuffix = "_LepTrack"
420  acc.merge(VrtSecInclusiveCfg(flags,
421  name = "VrtSecInclusive_InDet"+LepTrackSuffix,
422  AugmentingVersionString = LepTrackSuffix,
423  FillIntermediateVertices = False,
424  TrackLocation = MergedTrackCollection,
425  MuonLocation = MergedMuonContainer,
426  ElectronLocation = MergedElectronContainer,
427  twoTrkVtxFormingD0Cut = 1.0,
428  doSelectIDAndGSFTracks = True,
429  doRemoveCaloTaggedMuons = True,
430  doRemoveNonLeptonVertices = True,
431  doAssociateNonSelectedTracks= False))
432  LLP1VrtSecInclusiveSuffixes.append(LepTrackSuffix)
433 
434  # Small-d0 Muons VSI
435  BoostedMuonsSuffix = "_BoostedMuons"
436  acc.merge(VrtSecInclusiveCfg(flags,
437  name = "VrtSecInclusive_InDet"+BoostedMuonsSuffix,
438  AugmentingVersionString = BoostedMuonsSuffix,
439  FillIntermediateVertices = False,
440  TrackLocation = MergedTrackCollection,
441  twoTrkVtxFormingD0Cut = 0.0,
442  doSelectTracksFromMuons = True,
443  doRemoveCaloTaggedMuons = True,
444  doSelectTracksFromElectrons = False,
445  MuonLocation = MergedMuonContainer_wZPH,
446  do_PVvetoCut = False,
447  DoTwoTrSoftBtag = True,
448  TwoTrVrtMinDistFromPVCut = 0.5,
449  associatePtCut = 500.))
450  LLP1VrtSecInclusiveSuffixes.append(BoostedMuonsSuffix)
451 
452 
453  # Small-d0 Electrons VSI
454  BoostedElectronsSuffix = "_BoostedElectrons"
455  acc.merge(VrtSecInclusiveCfg(flags,
456  name = "VrtSecInclusive_InDet"+BoostedElectronsSuffix,
457  AugmentingVersionString = BoostedElectronsSuffix,
458  FillIntermediateVertices = False,
459  TrackLocation = MergedTrackCollection,
460  twoTrkVtxFormingD0Cut = 0.0,
461  doSelectTracksFromMuons = False,
462  doSelectTracksFromElectrons = True,
463  ElectronLocation = MergedElectronContainer,
464  do_PVvetoCut = False,
465  DoTwoTrSoftBtag = True,
466  TwoTrVrtMinDistFromPVCut = 0.5,
467  associatePtCut = 500.))
468  LLP1VrtSecInclusiveSuffixes.append(BoostedElectronsSuffix)
469 
470 
471  # MuSA Vertices
472  acc.merge(MuSAVtxFitterConfig(flags,
473  MuonContainerName=MergedMuonContainer))
474 
475  if flags.Derivation.LLP.doMuSAValidation:
476  #Create JPsi tagged muon container
477  acc.merge(MuSAVtxJPsiValidationAlgCfg(flags,
478  MuonContainer=MergedMuonContainer,
479  JPsiMuonContainer="JPsiMuons"))
480 
481  # JPsi validation MuSA Vertices
482  acc.merge(MuSAVtxFitterValidationConfig(flags,
483  name="MuSAVtxFitterValidationJPsi",
484  MuonContainerName="JPsiMuons"))
485  # all MSTPs validation MuSA Vertices
486  acc.merge(MuSAVtxFitterValidationConfig(flags,
487  MuonContainerName=MergedMuonContainer,
488  MuSAVtxContainerName="ValidationMuSAVertices",
489  MuSAExtrapolatedTracksName="ValidationMuSAExtrapolatedTrackParticles",
490  MSTPContainerName="MuonSpectrometerTrackParticles"))
491 
492 
493  # NewVSI: LepTrack variation
494  from NewVrtSecInclusiveTool.NewVrtSecInclusiveAlgConfig import NewVrtSecInclusiveAlgLLPCfg
495  from NewVrtSecInclusiveTool.NewVrtSecInclusiveConfig import DVFinderToolCfg
496  IDAndGSFSuffix = "_IDAndGSF_LepTrack"
497 
498  NVSILepTrack_Tool = acc.popToolsAndMerge(DVFinderToolCfg(flags,FillHist=False,AugmentingVersionString=IDAndGSFSuffix,MaxZVrt=1000.,AntiPileupSigRCut=2.))
499  acc.merge(NewVrtSecInclusiveAlgLLPCfg(flags,
500  algname = "NVSI"+IDAndGSFSuffix,
501  AugmentingVersionString = IDAndGSFSuffix,
502  ElectronContainer = MergedElectronContainer,
503  MuonContainer = MergedMuonContainer,
504  TrackParticleContainer = MergedTrackCollection,
505  GSFTrackParticleContainer = MergedGSFTrackCollection,
506  BVertexContainerName = "NewVrtSecInclusive_SecondaryVertices"+IDAndGSFSuffix,
507  AddIDTracks = True,
508  AddGSFTracks = True,
509  RemoveNonLepVertices = True,
510  BVertexTool = NVSILepTrack_Tool))
511  LLP1NewVSISuffixes.append(IDAndGSFSuffix)
512 
513  # bad jet cleaning
514  jet_clean_prefix="DFCommonJets_"
515  jet_clean_container="AntiKt4EMTopoJets"
516  jet_clean_level="SuperLooseBadLLP"
517  from JetSelectorTools.JetSelectorToolsConfig import EventCleaningToolCfg, JetCleaningToolCfg
518  LLP1JetCleanSuperLLPTool = acc.popToolsAndMerge(JetCleaningToolCfg(flags,
519  "LLP1JetCleanSuperLLP",
520  jet_clean_container,
521  jet_clean_level,
522  False))
523  acc.addPublicTool(LLP1JetCleanSuperLLPTool)
524 
525  LLP1EventCleanSuperLLPTool = acc.popToolsAndMerge(EventCleaningToolCfg(flags,
526  "LLP1EventCleanSuperLLP",
527  jet_clean_level))
528  LLP1EventCleanSuperLLPTool.JetCleanPrefix = jet_clean_prefix
529  LLP1EventCleanSuperLLPTool.OrDecorator = "passOR_EMTopo"
530  LLP1EventCleanSuperLLPTool.JetContainer = jet_clean_container
531  LLP1EventCleanSuperLLPTool.JetCleaningTool = LLP1JetCleanSuperLLPTool
532  acc.addPublicTool(LLP1EventCleanSuperLLPTool)
533 
534  LLP1EventCleanAlg = CompFactory.EventCleaningTestAlg(
535  "LLP1JetCleanDecoratorSuperLLP",
536  EventCleaningTool = LLP1EventCleanSuperLLPTool,
537  JetCollectionName = jet_clean_container,
538  EventCleanPrefix = jet_clean_prefix,
539  CleaningLevel = jet_clean_level,
540  doEvent = True)
541 
542  # Sequence for decorator locking.
543  # See comments in JetCommonConfig.AddEventCleanFlagsCfg.
544  acc.addSequence(CompFactory.AthSequencer('EventCleanSeq', Sequential=True))
545  acc.addEventAlgo(LLP1EventCleanAlg, 'EventCleanSeq')
546 
547 
548 
549  from DerivationFrameworkLLP.LLPToolsConfig import AugmentationToolLeadingJetsCfg
550  augmentationToolLeadingJets = acc.getPrimaryAndMerge(AugmentationToolLeadingJetsCfg(flags))
551  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(name, AugmentationTools = [augmentationToolLeadingJets]))
552 
553  # Thinning tools...
554  from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg, EgammaTrackParticleThinningCfg, MuonTrackParticleThinningCfg, TauTrackParticleThinningCfg, DiTauTrackParticleThinningCfg
555  from DerivationFrameworkTools.DerivationFrameworkToolsConfig import GenericObjectThinningCfg
556  from DerivationFrameworkTau.TauCommonConfig import TauThinningCfg
557 
558  # Inner detector tracks need to have greater than 10 GeV of pT
559  LLP1TrackParticleThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
560  flags,
561  name = "LLP1TrackParticleThinningTool",
562  StreamName = kwargs['StreamName'],
563  SelectionString = "InDetTrackParticles.pt>10*GeV",
564  InDetTrackParticlesKey = "InDetTrackParticles"))
565  # Keep all GSF LRT Tracks
566  LLP1LRTGSFTrackParticleThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
567  flags,
568  name = "LLP1LRTGSFTrackParticleThinningTool",
569  StreamName = kwargs['StreamName'],
570  SelectionString = "LRTGSFTrackParticles.pt>0*GeV",
571  InDetTrackParticlesKey = "LRTGSFTrackParticles"))
572  # Pixel tracklets need to have greater than 5 GeV of pT
573  LLP1DTTrackParticleThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
574  flags,
575  name = "LLP1DTTrackParticleThinningTool",
576  StreamName = kwargs['StreamName'],
577  SelectionString = "InDetDisappearingTrackParticles.pt>5*GeV",
578  InDetTrackParticlesKey = "InDetDisappearingTrackParticles"))
579 
580  # Include inner detector tracks associated with electrons
581  LLP1ElectronTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
582  flags,
583  name = "LLP1ElectronTPThinningTool",
584  StreamName = kwargs['StreamName'],
585  SGKey = "Electrons",
586  InDetTrackParticlesKey = "InDetTrackParticles"))
587  # Include inner detector tracks associated with LRT electrons
588  LLP1LRTElectronTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
589  flags,
590  name = "LLP1LRTElectronTPThinningTool",
591  StreamName = kwargs['StreamName'],
592  SGKey = "LRTElectrons",
593  InDetTrackParticlesKey = "InDetLargeD0TrackParticles",
594  GSFTrackParticlesKey = "LRTGSFTrackParticles"))
595  # Include inner detector tracks associated with muons
596  LLP1MuonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(
597  flags,
598  name = "LLP1MuonTPThinningTool",
599  StreamName = kwargs['StreamName'],
600  MuonKey = "Muons",
601  InDetTrackParticlesKey = "InDetTrackParticles"))
602  # Include LRT inner detector tracks associated with LRT muons
603  LLP1LRTMuonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(
604  flags,
605  name = "LLP1LRTMuonTPThinningTool",
606  StreamName = kwargs['StreamName'],
607  MuonKey = "MuonsLRT",
608  InDetTrackParticlesKey = "InDetLargeD0TrackParticles"))
609  # GSF tracks associated to photons
610  LLP1PhotonTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
611  flags,
612  name = "LLP1PhotonTPThinningTool",
613  StreamName = kwargs['StreamName'],
614  SGKey = "Photons",
615  InDetTrackParticlesKey = "",
616  GSFConversionVerticesKey = "GSFConversionVertices",
617  GSFTrackParticlesKey = "GSFTrackParticles",
618  BestMatchOnly = True,
619  BestVtxMatchOnly = True))
620  # Tau-related containers: taus, tau tracks and associated ID tracks, neutral PFOs, secondary vertices
621  tau_thinning_expression = f"TauJets.pt >= {flags.Tau.MinPtDAOD}"
622  LLP1TauJetsThinningTool = acc.getPrimaryAndMerge(TauThinningCfg(
623  flags,
624  name = "LLP1TauJetThinningTool",
625  StreamName = kwargs['StreamName'],
626  Taus = "TauJets",
627  TauTracks = "TauTracks",
628  TrackParticles = "InDetTrackParticles",
629  TauNeutralPFOs = "TauNeutralParticleFlowObjects",
630  TauSecondaryVertices = "TauSecondaryVertices",
631  SelectionString = tau_thinning_expression))
632 
633  # Only keep tau tracks (and associated ID tracks) classified as charged tracks
634  LLP1TauTPThinningTool = acc.getPrimaryAndMerge(TauTrackParticleThinningCfg(
635  flags,
636  name = "LLP1TauTPThinningTool",
637  StreamName = kwargs['StreamName'],
638  TauKey = "TauJets",
639  InDetTrackParticlesKey = "InDetTrackParticles",
640  DoTauTracksThinning = True,
641  TauTracksKey = "TauTracks"))
642 
643  tau_murm_thinning_expression = tau_thinning_expression.replace('TauJets', 'TauJets_MuonRM')
644  LLP1TauJetMuonRMParticleThinningTool = acc.getPrimaryAndMerge(TauThinningCfg(
645  flags,
646  name = "LLP1TauJets_MuonRMThinningTool",
647  StreamName = kwargs['StreamName'],
648  Taus = "TauJets_MuonRM",
649  TauTracks = "TauTracks_MuonRM",
650  TrackParticles = "InDetTrackParticles",
651  TauNeutralPFOs = "TauNeutralParticleFlowObjects_MuonRM",
652  TauSecondaryVertices = "TauSecondaryVertices_MuonRM",
653  SelectionString = tau_murm_thinning_expression))
654 
655  # ID tracks associated with high-pt di-tau
656  LLP1DiTauTPThinningTool = acc.getPrimaryAndMerge(DiTauTrackParticleThinningCfg(
657  flags,
658  name = "LLP1DiTauTPThinningTool",
659  StreamName = kwargs['StreamName'],
660  DiTauKey = "DiTauJets",
661  InDetTrackParticlesKey = "InDetTrackParticles"))
662 
663 
664  LLP1DiTauLowPtThinningTool = acc.getPrimaryAndMerge(GenericObjectThinningCfg(
665  flags,
666  name = "LLP1DiTauLowPtThinningTool",
667  StreamName = kwargs['StreamName'],
668  ContainerName = "DiTauJetsLowPt",
669  SelectionString = "DiTauJetsLowPt.nSubjets > 1"))
670 
671  # ID tracks associated with low-pt ditau
672  LLP1DiTauLowPtTPThinningTool = acc.getPrimaryAndMerge(DiTauTrackParticleThinningCfg(
673  flags,
674  name = "LLP1DiTauLowPtTPThinningTool",
675  StreamName = kwargs['StreamName'],
676  DiTauKey = "DiTauJetsLowPt",
677  InDetTrackParticlesKey = "InDetTrackParticles",
678  SelectionString = "DiTauJetsLowPt.nSubjets > 1"))
679 
680 
681  # ID Tracks associated with secondary vertices
682  from DerivationFrameworkLLP.LLPToolsConfig import VSITrackParticleThinningCfg
683  LLP1VSITPThinningTool = acc.getPrimaryAndMerge(VSITrackParticleThinningCfg(flags,
684  name = "LLP1VSITPThinningTool",
685  StreamName = kwargs['StreamName'],
686  InDetTrackParticlesKey = "InDetTrackParticles",
687  AugVerStrings = LLP1VrtSecInclusiveSuffixes + LLP1NewVSISuffixes))
688  LLP1LRTVSITPThinningTool = acc.getPrimaryAndMerge(VSITrackParticleThinningCfg(flags,
689  name = "LLP1LRTVSITPThinningTool",
690  StreamName = kwargs['StreamName'],
691  InDetTrackParticlesKey = "InDetLargeD0TrackParticles",
692  AugVerStrings = LLP1VrtSecInclusiveSuffixes + LLP1NewVSISuffixes))
693  LLP1GSFVSITPThinningTool = acc.getPrimaryAndMerge(VSITrackParticleThinningCfg(flags,
694  name = "LLP1GSFVSITPThinningTool",
695  StreamName = kwargs['StreamName'],
696  InDetTrackParticlesKey = "GSFTrackParticles",
697  AugVerStrings = [IDAndGSFSuffix]))
698 
699  # ID Tracks associated with jets
700  from DerivationFrameworkLLP.LLPToolsConfig import JetTrackParticleThinningCfg, JetLargeD0TrackParticleThinningCfg
701  LLP1JetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(flags,
702  name = "LLP1JetTPThinningTool",
703  StreamName = kwargs['StreamName'],
704  JetKey = "AntiKt4EMTopoJets",
705  SelectionString = "(AntiKt4EMTopoJets.pt > 20.*GeV) && (abs(AntiKt4EMTopoJets.eta) < 2.5)",
706  InDetTrackParticlesKey = "InDetTrackParticles"))
707 
708  LLP1FatJetTPThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg( flags,
709  name = "LLP1FatJetTPThinningTool",
710  StreamName = kwargs['StreamName'],
711  JetKey = "AntiKt10EMTopoRCJets",
712  SelectionString = "(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
713  InDetTrackParticlesKey = "InDetTrackParticles",
714  ))
715 
716  # LRT Tracks associated with jets
717  if flags.Tracking.doLargeD0:
718  LLP1LRTJetTPThinningTool = acc.getPrimaryAndMerge(JetLargeD0TrackParticleThinningCfg(flags,
719  name = "LLP1LRTJetTPThinningTool",
720  StreamName = kwargs['StreamName'],
721  JetKey = "AntiKt4EMTopoJets",
722  SelectionString = "(AntiKt4EMTopoJets.pt > 20.*GeV) && (abs(AntiKt4EMTopoJets.eta) < 2.5)",
723  InDetTrackParticlesKey = "InDetLargeD0TrackParticles"))
724 
725  LLP1LRTFatJetTPThinningTool = acc.getPrimaryAndMerge(JetLargeD0TrackParticleThinningCfg(flags,
726  name = "LLP1LRTFatJetTPThinningTool",
727  StreamName = kwargs['StreamName'],
728  JetKey = "AntiKt10EMTopoRCJets",
729  SelectionString = "(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
730  InDetTrackParticlesKey = "InDetLargeD0TrackParticles",
731  ))
732 
733  # high dE/dx and low pT tracks
734  from DerivationFrameworkLLP.LLPToolsConfig import PixeldEdxTrackParticleThinningCfg
735  LLP1PixeldEdxTrackParticleThinningTool = acc.getPrimaryAndMerge(PixeldEdxTrackParticleThinningCfg(
736  flags,
737  name = "LLP1PixeldEdxTrackParticleThinningTool",
738  StreamName = kwargs['StreamName'],
739  InDetTrackParticlesKey = "InDetTrackParticles"))
740 
741 
742  #Thinning CaloCalTopoClusters associated to AntiKt4EMTopoJets
743  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import JetCaloClusterThinningCfg
744 
745  LLP1CCThinningTool = acc.getPrimaryAndMerge(JetCaloClusterThinningCfg(
746  flags,
747  name = "LLP1CCTool",
748  StreamName = kwargs['StreamName'],
749  SGKey = "AntiKt4EMTopoJets",
750  TopoClCollectionSGKey = "CaloCalTopoClusters",
751  AdditionalClustersKey = ["EMOriginTopoClusters","LCOriginTopoClusters"]
752  ))
753 
754 
755 
756 
757 
758  # Finally the kernel itself
759  thinningTools = [LLP1TrackParticleThinningTool,
760  LLP1DTTrackParticleThinningTool,
761  LLP1ElectronTPThinningTool,
762  LLP1LRTElectronTPThinningTool,
763  LLP1MuonTPThinningTool,
764  LLP1PhotonTPThinningTool,
765  LLP1LRTMuonTPThinningTool,
766  LLP1TauJetsThinningTool,
767  LLP1TauTPThinningTool,
768  LLP1TauJetMuonRMParticleThinningTool,
769  LLP1DiTauTPThinningTool,
770  LLP1DiTauLowPtThinningTool,
771  LLP1DiTauLowPtTPThinningTool,
772  LLP1VSITPThinningTool,
773  LLP1LRTVSITPThinningTool,
774  LLP1GSFVSITPThinningTool,
775  LLP1JetTPThinningTool,
776  LLP1FatJetTPThinningTool,
777  LLP1PixeldEdxTrackParticleThinningTool,
778  LLP1CCThinningTool,
779  LLP1LRTGSFTrackParticleThinningTool
780  ]
781 
782  if flags.Tracking.doLargeD0:
783  thinningTools.append(LLP1LRTJetTPThinningTool)
784  thinningTools.append(LLP1LRTFatJetTPThinningTool)
785 
786  # Additionnal augmentations
787 
788  # Compute RC substructure variables from energy clusters
789  from DerivationFrameworkLLP.LLPToolsConfig import RCJetSubstructureAugCfg
790  LLP1RCJetSubstructureClustTrimAugTool = acc.getPrimaryAndMerge(RCJetSubstructureAugCfg(flags,
791  name = "LLP1RCJetSubstructureClustTrimAugTool",
792  StreamName = kwargs['StreamName'],
793  JetContainerKey = "AntiKt10EMTopoRCJets",
794  SelectionString = "(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
795  GhostConstitNames = ["GhostLCTopoOrigin"],
796  Suffix = "clusterTrim",
797  Grooming = "Trimming",
798  RClusTrim = 0.2,
799  PtFracTrim = 0.05
800  ))
801  RCSubstructureClusterTrimAug = CompFactory.DerivationFramework.CommonAugmentation("RCSubstructureClusterTrimAug", AugmentationTools = [LLP1RCJetSubstructureClustTrimAugTool])
802  acc.addEventAlgo(RCSubstructureClusterTrimAug)
803 
804  LLP1RCJetSubstructureClustSDAugTool = acc.getPrimaryAndMerge(RCJetSubstructureAugCfg(flags,
805  name = "LLP1RCJetSubstructureClustSDAugTool",
806  StreamName = kwargs['StreamName'],
807  JetContainerKey = "AntiKt10EMTopoRCJets",
808  SelectionString = "(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
809  GhostConstitNames = ["GhostLCTopoOrigin"],
810  Suffix = "clusterSoftDrop",
811  Grooming = "SoftDrop",
812  BetaSoft = 1.0,
813  ZcutSoft = 0.1
814  ))
815  RCSubstructureClusterSDAug = CompFactory.DerivationFramework.CommonAugmentation("RCSubstructureClusterSDAug", AugmentationTools = [LLP1RCJetSubstructureClustSDAugTool])
816  acc.addEventAlgo(RCSubstructureClusterSDAug)
817 
818  # Compute RC substructure variables from tracks
819  from DerivationFrameworkLLP.LLPToolsConfig import RCJetSubstructureAugCfg
820  LLP1RCJetSubstructureTrackTrimAugTool = acc.getPrimaryAndMerge(RCJetSubstructureAugCfg( flags,
821  name = "LLP1RCJetSubstructureTrackTrimAugTool",
822  StreamName = kwargs['StreamName'],
823  JetContainerKey = "AntiKt10EMTopoRCJets",
824  SelectionString = "(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
825  GhostConstitNames = ["GhostTrack", "GhostTrackLRT"],
826  Suffix = "trackTrim",
827  Grooming = "Trimming",
828  RClusTrim = 0.2,
829  PtFracTrim = 0.05
830  ))
831  RCSubstructureTrackTrimAug = CompFactory.DerivationFramework.CommonAugmentation("RCSubstructureTrackTrimAug", AugmentationTools = [LLP1RCJetSubstructureTrackTrimAugTool])
832  acc.addEventAlgo(RCSubstructureTrackTrimAug)
833 
834  from DerivationFrameworkLLP.LLPToolsConfig import RCJetSubstructureAugCfg
835  LLP1RCJetSubstructureTrackSDAugTool = acc.getPrimaryAndMerge(RCJetSubstructureAugCfg( flags,
836  name = "LLP1RCJetSubstructureTrackSDAugTool",
837  StreamName = kwargs['StreamName'],
838  JetContainerKey = "AntiKt10EMTopoRCJets",
839  SelectionString = "(AntiKt10EMTopoRCJets.pt > 200.*GeV) && (abs(AntiKt10EMTopoRCJets.eta) < 2.5)",
840  GhostConstitNames = ["GhostTrack", "GhostTrackLRT"],
841  Suffix = "trackSoftDrop",
842  Grooming = "SoftDrop",
843  BetaSoft = 1.0,
844  ZcutSoft = 0.1
845  ))
846  RCSubstructureTrackSDAug = CompFactory.DerivationFramework.CommonAugmentation("RCSubstructureTrackSDAug", AugmentationTools = [LLP1RCJetSubstructureTrackSDAugTool])
847  acc.addEventAlgo(RCSubstructureTrackSDAug)
848 
849 
850 
851  # Skimming
852  skimmingTools = []
853 
854  from DerivationFrameworkLLP.LLPToolsConfig import LLP1TriggerSkimmingToolCfg
855  LLP1TriggerSkimmingTool = acc.getPrimaryAndMerge(LLP1TriggerSkimmingToolCfg(flags,
856  name = "LLP1TriggerSkimmingTool",
857  TriggerListsHelper = kwargs['TriggerListsHelper']))
858 
859  skimmingTools.append(LLP1TriggerSkimmingTool)
860 
861  DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
862  acc.addEventAlgo(DerivationKernel(name,
863  SkimmingTools = skimmingTools,
864  ThinningTools = thinningTools,
865  AugmentationTools = augmentationTools))
866 
867  return acc
868 
869 
870 
871 
872 
873 

Variable Documentation

◆ LLP1NewVSISuffixes

list python.LLP1.LLP1NewVSISuffixes = []

Definition at line 21 of file LLP1.py.

◆ LLP1VrtSecInclusiveSuffixes

list python.LLP1.LLP1VrtSecInclusiveSuffixes = []

Definition at line 20 of file LLP1.py.

◆ MergedElectronContainer

string python.LLP1.MergedElectronContainer = "StdWithLRTElectrons"

Definition at line 14 of file LLP1.py.

◆ MergedGSFTrackCollection

string python.LLP1.MergedGSFTrackCollection = "InDetWithLRTGSFTrackParticles"

Definition at line 19 of file LLP1.py.

◆ MergedMuonContainer

string python.LLP1.MergedMuonContainer = "StdWithLRTMuons"

Definition at line 15 of file LLP1.py.

◆ MergedMuonContainer_wZPH

string python.LLP1.MergedMuonContainer_wZPH = "StdWithLRTMuons_wZPH"

Definition at line 16 of file LLP1.py.

◆ MergedTrackCollection

string python.LLP1.MergedTrackCollection = "InDetWithLRTTrackParticles"

Definition at line 17 of file LLP1.py.

◆ MergedTrackletCollection

string python.LLP1.MergedTrackletCollection = "InDetDisappearingWithLRTTrackParticles"

Definition at line 18 of file LLP1.py.

python.LLPToolsConfig.RCJetSubstructureAugCfg
def RCJetSubstructureAugCfg(flags, name, **kwargs)
Definition: LLPToolsConfig.py:39
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=None, MetadataItemList=None, disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, keepProvenanceTagsRegEx=None, AcceptAlgs=None, HelperTools=None)
Definition: OutputStreamConfig.py:13
python.LLPToolsConfig.LLP1TriggerSkimmingToolCfg
def LLP1TriggerSkimmingToolCfg(flags, name, TriggerListsHelper, **kwargs)
Definition: LLPToolsConfig.py:91
TrigNavSlimmingMTConfig.AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
def AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(slimmingHelper)
Definition: TrigNavSlimmingMTConfig.py:99
python.LLPToolsConfig.LRTMuonMergerAlg
def LRTMuonMergerAlg(flags, name="LLP1_MuonLRTMergingAlg", **kwargs)
Definition: LLPToolsConfig.py:181
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.LLPToolsConfig.VSITrackParticleThinningCfg
def VSITrackParticleThinningCfg(flags, name, **kwargs)
Definition: LLPToolsConfig.py:12
python.EGammaLRTConfig.EGammaLRTCfg
def EGammaLRTCfg(ConfigFlags)
Definition: EGammaLRTConfig.py:15
python.JetSelectorToolsConfig.EventCleaningToolCfg
def EventCleaningToolCfg(ConfigFlags, name, cleaningLevel)
Definition: JetSelectorToolsConfig.py:14
python.JetCommonConfig.addOriginCorrectedClustersToSlimmingTool
def addOriginCorrectedClustersToSlimmingTool(slimhelper, writeLC=False, writeEM=False)
Helper to add origin corrected clusters to output.
Definition: JetCommonConfig.py:251
MuSAVtxFitterConfig.MuSAVtxFitterValidationConfig
def MuSAVtxFitterValidationConfig(flags, name="MuSAVtxFitterValidation", **kwargs)
Definition: MuSAVtxFitterConfig.py:107
DerivationFrameworkCaloConfig.JetCaloClusterThinningCfg
def JetCaloClusterThinningCfg(flags, **kwargs)
Definition: DerivationFrameworkCaloConfig.py:133
python.LLPToolsConfig.TrackParametersKVUCfg
def TrackParametersKVUCfg(flags, name, **kwargs)
Definition: LLPToolsConfig.py:56
python.FlavorTaggingConfig.FlavorTaggingCfg
def FlavorTaggingCfg(cfgFlags, JetCollection, pv_col='PrimaryVertices', trackAugmenterPrefix=None, fast=False, JetTrackAssociator='TracksForBTagging', trackCollection='InDetTrackParticles')
Definition: FlavorTaggingConfig.py:72
python.LLPToolsConfig.ZeroPixelHitMuonMergerAlgCfg
def ZeroPixelHitMuonMergerAlgCfg(flags, name='LLP1_MuonZPHMergingAlg', **kwargs)
Definition: LLPToolsConfig.py:187
VrtSecInclusiveConfig.VrtSecInclusiveCfg
def VrtSecInclusiveCfg(flags, name="VrtSecInclusive", **kwargs)
Definition: VrtSecInclusiveConfig.py:9
python.JetSelectorToolsConfig.JetCleaningToolCfg
def JetCleaningToolCfg(ConfigFlags, name, jetdef, cleaningLevel, useDecorations)
Definition: JetSelectorToolsConfig.py:6
python.InDetToolsConfig.TrackParticleThinningCfg
def TrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:516
python.LLPToolsConfig.TrackParticleCaloCellDecoratorCfg
def TrackParticleCaloCellDecoratorCfg(flags, name, **kwargs)
Definition: LLPToolsConfig.py:74
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_Loose_Cfg
def InDetTrackSelectionTool_Loose_Cfg(flags, name="InDetTrackSelectionTool_Loose", **kwargs)
Configs based on CutLevel Loose #####.
Definition: InDetTrackSelectionToolConfig.py:36
python.InDetToolsConfig.DiTauTrackParticleThinningCfg
def DiTauTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:621
python.TriggerMatchingCommonConfig.AddRun2TriggerMatchingToSlimmingHelper
def AddRun2TriggerMatchingToSlimmingHelper(**kwargs)
Definition: TriggerMatchingCommonConfig.py:49
DerivationFrameworkCaloConfig.MaxCellDecoratorCfg
def MaxCellDecoratorCfg(flags, **kwargs)
Definition: DerivationFrameworkCaloConfig.py:17
NewVrtSecInclusiveAlgConfig.NewVrtSecInclusiveAlgLLPCfg
def NewVrtSecInclusiveAlgLLPCfg(flags, algname="NVSI", AugmentingVersionString="", **kwargs)
Definition: NewVrtSecInclusiveAlgConfig.py:20
python.LLPToolsConfig.LRTElectronLHSelectorsCfg
def LRTElectronLHSelectorsCfg(flags)
Definition: LLPToolsConfig.py:235
python.LLPToolsConfig.LRTElectronMergerAlg
def LRTElectronMergerAlg(flags, name="LLP1_ElectronLRTMergingAlg", **kwargs)
Definition: LLPToolsConfig.py:200
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
python.JetRecConfig.registerAsInputConstit
def registerAsInputConstit(jetdef)
Definition: JetRecConfig.py:862
python.LLPToolsConfig.RecoverZeroPixelHitMuonsCfg
def RecoverZeroPixelHitMuonsCfg(flags)
Definition: LLPToolsConfig.py:382
python.LLPToolsConfig.JetLargeD0TrackParticleThinningCfg
def JetLargeD0TrackParticleThinningCfg(flags, name, **kwargs)
Definition: LLPToolsConfig.py:30
python.TrkVertexFitterUtilsConfig.AtlasFullLinearizedTrackFactoryCfg
def AtlasFullLinearizedTrackFactoryCfg(flags, name='AtlasFullLinearizedTrkFactory', **kwargs)
Definition: TrkVertexFitterUtilsConfig.py:20
InDetTrackSystematicsToolsConfig.TrackSystematicsAlgCfg
def TrackSystematicsAlgCfg(flags, name="InDetTrackSystematicsAlg", **kwargs)
Definition: InDetTrackSystematicsToolsConfig.py:114
python.JetRecConfig.JetRecCfg
def JetRecCfg(flags, jetdef, returnConfiguredDef=False)
Top level functions returning ComponentAccumulator out of JetDefinition.
Definition: JetRecConfig.py:36
python.MuonsCommonConfig.MuonsCommonCfg
def MuonsCommonCfg(flags, suff="")
Definition: MuonsCommonConfig.py:13
python.LLP1.LLP1KernelCfg
def LLP1KernelCfg(flags, name='LLP1Kernel', **kwargs)
Definition: LLP1.py:24
NewVrtSecInclusiveConfig.DVFinderToolCfg
def DVFinderToolCfg(flags, name="DVFinderTool", **myargs)
Definition: NewVrtSecInclusiveConfig.py:226
MuSAVtxFitterConfig
Definition: MuSAVtxFitterConfig.py:1
DerivationFrameworkCaloConfig.MaxCellDecoratorKernelCfg
def MaxCellDecoratorKernelCfg(flags, name="MaxCellDecoratorKernel", **kwargs)
Definition: DerivationFrameworkCaloConfig.py:92
python.DerivationFrameworkToolsConfig.GenericObjectThinningCfg
def GenericObjectThinningCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:20
python.InDetToolsConfig.JetTrackParticleThinningCfg
def JetTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:632
python.InDetToolsConfig.MuonTrackParticleThinningCfg
def MuonTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:600
python.InDetToolsConfig.TauTrackParticleThinningCfg
def TauTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:611
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.LLP1.LLP1Cfg
def LLP1Cfg(flags)
Definition: LLP1.py:874
IsoToolsConfig.CaloIsolationToolCfg
def CaloIsolationToolCfg(flags, **kwargs)
Definition: IsoToolsConfig.py:25
python.TrackIsolationDecoratorConfig.TrackIsolationToolCfg
def TrackIsolationToolCfg(ConfigFlags, name="TrackIsolationTool", **kwargs)
Definition: TrackIsolationDecoratorConfig.py:12
MuSAVtxFitterConfig.MuSAVtxJPsiValidationAlgCfg
def MuSAVtxJPsiValidationAlgCfg(flags, name="MuSAVtxJPsiValidationAlg", **kwargs)
Definition: MuSAVtxFitterConfig.py:50
python.MCTruthCommonConfig.addTruth3ContentToSlimmerTool
def addTruth3ContentToSlimmerTool(slimmer)
Definition: MCTruthCommonConfig.py:469
python.InDetToolsConfig.InDetLRTMergeCfg
def InDetLRTMergeCfg(flags, name="InDetLRTMerge", **kwargs)
Definition: InDetToolsConfig.py:14
python.InDetToolsConfig.EgammaTrackParticleThinningCfg
def EgammaTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:651
python.LLPToolsConfig.PhotonIsEMSelectorsCfg
def PhotonIsEMSelectorsCfg(flags)
Definition: LLPToolsConfig.py:207
IsolationSelectionConfig.IsoCloseByAlgsCfg
def IsoCloseByAlgsCfg(flags, suff="", isPhysLite=False, containerNames=["Muons", "Electrons", "Photons"], stream_name="", ttva_wp="Nonprompt_All_MaxWeight", useSelTools=False, isoDecSuffix="CloseByCorr", caloDecSuffix="", hasLRT=False)
Definition: IsolationSelectionConfig.py:146
python.TauCommonConfig.TauThinningCfg
def TauThinningCfg(flags, name, **kwargs)
Definition: TauCommonConfig.py:304
python.LLPToolsConfig.AugmentationToolLeadingJetsCfg
def AugmentationToolLeadingJetsCfg(flags)
Definition: LLPToolsConfig.py:48
python.PhysCommonConfig.PhysCommonAugmentationsCfg
def PhysCommonAugmentationsCfg(flags, **kwargs)
Definition: PhysCommonConfig.py:13
python.LLPToolsConfig.PixeldEdxTrackParticleThinningCfg
def PixeldEdxTrackParticleThinningCfg(flags, name, **kwargs)
Definition: LLPToolsConfig.py:83
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
SlimmingHelper
Definition: SlimmingHelper.py:1
python.HION12.DerivationKernel
DerivationKernel
Definition: HION12.py:66
python.InDetToolsConfig.IsolationTrackDecoratorCfg
def IsolationTrackDecoratorCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:505
python.METCommonConfig.METLRTCfg
def METLRTCfg(ConfigFlags, jetType)
Definition: METCommonConfig.py:52
python.LLPToolsConfig.LLP1TriggerMatchingToolRun2Cfg
def LLP1TriggerMatchingToolRun2Cfg(flags, name, **kwargs)
Definition: LLPToolsConfig.py:145