From 3057d63f3913a527d98aaba086fa8af11aac790a Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 20 Nov 2025 09:51:42 +0100 Subject: [PATCH 01/18] Add raw conversion of miniDST workflow --- StandardConfig/production/ILDMiniDST.py | 738 ++++++++++++++++++++++++ 1 file changed, 738 insertions(+) create mode 100644 StandardConfig/production/ILDMiniDST.py diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py new file mode 100644 index 0000000..056cec1 --- /dev/null +++ b/StandardConfig/production/ILDMiniDST.py @@ -0,0 +1,738 @@ +from Gaudi.Configuration import * + +from Configurables import LcioEvent, EventDataSvc, MarlinProcessorWrapper, GeoSvc +from k4MarlinWrapper.parseConstants import * +algList = [] +svcList = [] +evtsvc = EventDataSvc() + +svcList.append(evtsvc) + +CONSTANTS = { + "OutputFile": "mini-DST.slcio", + "ProductionDir": ".", + "RundEdxCorrections": "true", + "lcgeo_DIR": "$k4geo_DIR", + "LCFIPlusConfig_DIR": "./LCFIPlusConfig", + "LCFIPlusVertexPrefix": "ildl5_4q250_ZZ", + "LCFIPlusD0ProbFile": "%(LCFIPlusConfig_DIR)s/vtxprob/d0probv2_%(LCFIPlusVertexPrefix)s.root", + "LCFIPlusZ0ProbFile": "%(LCFIPlusConfig_DIR)s/vtxprob/z0probv2_%(LCFIPlusVertexPrefix)s.root", + "LCFIPlusWeightsPrefix": "4q250_v04_p00_ildl5", + "LCFIPlusWeightsDir": "%(LCFIPlusConfig_DIR)s/lcfiweights/4q250_ZZ_v4_p00_ildl5", + "IsolatedLeptonTagging_DIR": "./IsolatedLeptonTagging", + "ElectronIsolationWeightsDir": "%(IsolatedLeptonTagging_DIR)s/weights/e1e1h_gg_qqqq_250", + "MuonIsolationWeightsDir": "%(IsolatedLeptonTagging_DIR)s/weights/e2e2h_gg_qqqq_250", +} + +parseConstants(CONSTANTS) + +read = LcioEvent() +read.OutputLevel = ERROR +read.Files = ["INPUTNAME"] +algList.append(read) + +geoSvc = GeoSvc("GeoSvc") +geoSvc.OutputLevel = FATAL +geoSvc.EnableGeant4Geo = False +geoSvc.detectors = ["%(lcgeo_DIR)s/ILD/compact/ILD_l5_v02/ILD_l5_v02.xml" % CONSTANTS] +svcList.append(geoSvc) + +Statusmonitor = MarlinProcessorWrapper("Statusmonitor") +Statusmonitor.ProcessorType = "Statusmonitor" +Statusmonitor.Parameters = { + "HowOften": ["1000"], +} + +FastJetOverlay = MarlinProcessorWrapper("FastJetOverlay") +FastJetOverlay.ProcessorType = "FastJetProcessor" +FastJetOverlay.Parameters = { + "algorithm": ["ee_genkt_algorithm", "3.0", "1.0"], + "clusteringMode": ["ExclusiveNJets", "2"], + "jetOut": ["PFOsminusoverlayJets"], + "recParticleIn": ["PandoraPFOs"], + "recombinationScheme": ["E_scheme"], +} + +ExpandJet = MarlinProcessorWrapper("ExpandJet") +ExpandJet.ProcessorType = "ExpandJetProcessor" +ExpandJet.Parameters = { + "InputCollection": ["PFOsminusoverlayJets"], + "OutputCollection": ["PFOsminusoverlay"], +} + +Thrust = MarlinProcessorWrapper("Thrust") +Thrust.ProcessorType = "ThrustReconstruction" +Thrust.Parameters = { + "inputCollectionName": ["PandoraPFOs"], + "typeOfThrustFinder": ["2"], +} + +Sphere = MarlinProcessorWrapper("Sphere") +Sphere.ProcessorType = "Sphere" +Sphere.Parameters = { + "CollectionName": ["PandoraPFOs"], + "r_value": ["2.0"], +} + +Fox = MarlinProcessorWrapper("Fox") +Fox.ProcessorType = "Fox" +Fox.Parameters = { + "NameOfReconstructedParticlesCollection": ["PandoraPFOs"], +} + +IsolatedMuonTagging = MarlinProcessorWrapper("IsolatedMuonTagging") +IsolatedMuonTagging.OutputLevel = FATAL +IsolatedMuonTagging.ProcessorType = "IsolatedLeptonTaggingProcessor" +IsolatedMuonTagging.Parameters = { + "CosConeLarge": ["0.95"], + "CosConeSmall": ["0.98"], + "CutOnTheISOElectronMVA": ["2"], + "CutOnTheISOMuonMVA": ["0.7"], + "DirOfISOElectronWeights": ["%(ElectronIsolationWeightsDir)s" % CONSTANTS], + "DirOfISOMuonWeights": ["%(MuonIsolationWeightsDir)s" % CONSTANTS], + "InputPandoraPFOsCollection": ["PandoraPFOs"], + "InputPrimaryVertexCollection": ["PrimaryVertex"], + "IsSelectingOneIsoLep": ["false"], + "MaxD0SigForElectron": ["50"], + "MaxD0SigForMuon": ["20"], + "MaxEOverPForElectron": ["1.3"], + "MaxEOverPForMuon": ["0.3"], + "MaxZ0SigForElectron": ["50"], + "MaxZ0SigForMuon": ["20"], + "MinEOverPForElectron": ["0.5"], + "MinEecalOverTotEForElectron": ["0.9"], + "MinEyokeForMuon": ["1.2"], + "MinPForElectron": ["5"], + "MinPForMuon": ["5"], + "OutputIsoLeptonsCollection": ["IsolatedMuons"], + "OutputPFOsWithoutIsoLepCollection": ["PFOsminusmu"], + "UseIP": ["true"], + "UseYokeForMuonID": ["true"], +} + +IsolatedElectronTagging = MarlinProcessorWrapper("IsolatedElectronTagging") +IsolatedElectronTagging.OutputLevel = FATAL +IsolatedElectronTagging.ProcessorType = "IsolatedLeptonTaggingProcessor" +IsolatedElectronTagging.Parameters = { + "CosConeLarge": ["0.95"], + "CosConeSmall": ["0.98"], + "CutOnTheISOElectronMVA": ["0.5"], + "CutOnTheISOMuonMVA": ["2"], + "DirOfISOElectronWeights": ["%(ElectronIsolationWeightsDir)s" % CONSTANTS], + "DirOfISOMuonWeights": ["%(MuonIsolationWeightsDir)s" % CONSTANTS], + "InputPandoraPFOsCollection": ["PFOsminusmu"], + "InputPrimaryVertexCollection": ["PrimaryVertex"], + "IsSelectingOneIsoLep": ["false"], + "MaxD0SigForElectron": ["10"], + "MaxD0SigForMuon": ["10"], + "MaxEOverPForElectron": ["1.3"], + "MaxEOverPForMuon": ["0.3"], + "MaxZ0SigForElectron": ["10"], + "MaxZ0SigForMuon": ["10"], + "MinEOverPForElectron": ["0.5"], + "MinEecalOverTotEForElectron": ["0.9"], + "MinEyokeForMuon": ["1.2"], + "MinPForElectron": ["5"], + "MinPForMuon": ["5"], + "OutputIsoLeptonsCollection": ["IsolatedElectrons"], + "OutputPFOsWithoutIsoLepCollection": ["PFOsminuse"], + "UseIP": ["true"], + "UseYokeForMuonID": ["true"], +} + +IsolatedTauTagging = MarlinProcessorWrapper("IsolatedTauTagging") +IsolatedTauTagging.ProcessorType = "TaJetClustering" +IsolatedTauTagging.Parameters = { + "AcceptFlexibleLowEnergyTrack": ["1"], + "ConeMaxCosAngle": ["1"], + "ConeMaxEnergyFrac": ["0.1"], + "ConeMinCosAngle": ["0.9"], + "MinimumJetEnergy": ["3"], + "MinimumTrackEnergy": ["2"], + "MinimumTrackEnergyAssoc": ["2"], + "NoSelection": ["0"], + "OutputTauCollection": ["IsolatedTaus"], + "PFOCollection": ["PFOsminuse"], + "RemainPFOCollection": ["PFOsminustau"], + "TauCosAngle": ["0.98"], + "TauMass": ["2"], +} + +IsolatedPhotonTagging = MarlinProcessorWrapper("IsolatedPhotonTagging") +IsolatedPhotonTagging.ProcessorType = "IsolatedPhotonTaggingProcessor" +IsolatedPhotonTagging.Parameters = { + "CosConeLarge": ["0.95"], + "CosConeSmall": ["0.98"], + "CutOnTheISOPhotonMVA": ["0.5"], + "DirOfIsoPhotonWeights": ["isolated_photon_weights"], + "InputPandoraPFOsCollection": ["PFOsminustau"], + "IsSelectingOneIsoPhoton": ["false"], + "MinEForPhoton": ["5."], + "OutputIsoPhotonsCollection": ["IsolatedPhotons"], + "OutputPFOsWithoutIsoPhotonCollection": ["PFOsminusphoton"], +} + +JC2FT = MarlinProcessorWrapper("JC2FT") +JC2FT.ProcessorType = "LcfiplusProcessor" +JC2FT.Parameters = { + "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], + "FlavorTag.BookName": ["bdt"], + "FlavorTag.CategoryDefinition1": ["nvtx==0"], + "FlavorTag.CategoryDefinition2": ["nvtx==1&&nvtxall==1"], + "FlavorTag.CategoryDefinition3": ["nvtx==1&&nvtxall==2"], + "FlavorTag.CategoryDefinition4": ["nvtx>=2"], + "FlavorTag.CategoryPreselection1": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection2": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection3": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection4": ["trk1d0sig!=0"], + "FlavorTag.CategorySpectators1": ["aux", "nvtx"], + "FlavorTag.CategorySpectators2": ["aux", "nvtx"], + "FlavorTag.CategorySpectators3": ["aux", "nvtx"], + "FlavorTag.CategorySpectators4": ["aux", "nvtx"], + "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], + "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], + "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], + "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.JetCollectionName": ["Refined2Jets"], + "FlavorTag.PIDAlgo": ["lcfiplus"], + "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], + "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], + "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], + "JetClustering.JetAlgorithm": ["DurhamVertex"], + "JetClustering.MuonIDExternal": ["0"], + "JetClustering.MuonIDMaximum3DImpactParameter": ["5."], + "JetClustering.MuonIDMinimumD0Significance": ["5."], + "JetClustering.MuonIDMinimumProbability": ["0.5"], + "JetClustering.MuonIDMinimumZ0Significance": ["5."], + "JetClustering.NJetsRequested": ["2"], + "JetClustering.OutputJetCollectionName": ["Vertex2Jets"], + "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetClustering.UseBeamJets": ["0"], + "JetClustering.UseMuonID": ["1"], + "JetClustering.VertexSelectionK0MassWidth": ["0.02"], + "JetClustering.VertexSelectionMaximumDistance": ["30."], + "JetClustering.VertexSelectionMinimumDistance": ["0.3"], + "JetClustering.YCut": ["0."], + "JetVertexRefiner.InputJetCollectionName": ["Vertex2Jets"], + "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], + "JetVertexRefiner.MaxAngleSingle": ["0.5"], + "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], + "JetVertexRefiner.MaxPosSingle": ["30."], + "JetVertexRefiner.MaxSeparationPerPosSingle": ["0.1"], + "JetVertexRefiner.MinEnergySingle": ["1."], + "JetVertexRefiner.MinPosSingle": ["0.3"], + "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined2Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex2Jets"], + "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], + "JetVertexRefiner.mind0sigSingle": ["5."], + "JetVertexRefiner.minz0sigSingle": ["5."], + "MCPCollection": [], + "MCPFORelation": [], + "MakeNtuple.AuxiliaryInfo": ["-1"], + "PFOCollection": ["PFOsminusphoton"], + "PrimaryVertexCollectionName": ["PrimaryVertex"], + "PrintEventNumber": ["0"], + "ReadSubdetectorEnergies": ["1"], + "TrackHitOrdering": ["1"], + "UpdateVertexRPDaughters": ["0"], + "UseMCP": ["0"], +} + +EF2 = MarlinProcessorWrapper("EF2") +EF2.ProcessorType = "ErrorFlow" +EF2.Parameters = { + "InputMCTruthLinkCollection": ["RecoMCTruthLink"], + "InputPFOCollection": ["Refined2Jets"], + "OutputPFOCollection": ["Refined2JetsEF"], +} + +JC3FT = MarlinProcessorWrapper("JC3FT") +JC3FT.ProcessorType = "LcfiplusProcessor" +JC3FT.Parameters = { + "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], + "FlavorTag.BookName": ["bdt"], + "FlavorTag.CategoryDefinition1": ["nvtx==0"], + "FlavorTag.CategoryDefinition2": ["nvtx==1&&nvtxall==1"], + "FlavorTag.CategoryDefinition3": ["nvtx==1&&nvtxall==2"], + "FlavorTag.CategoryDefinition4": ["nvtx>=2"], + "FlavorTag.CategoryPreselection1": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection2": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection3": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection4": ["trk1d0sig!=0"], + "FlavorTag.CategorySpectators1": ["aux", "nvtx"], + "FlavorTag.CategorySpectators2": ["aux", "nvtx"], + "FlavorTag.CategorySpectators3": ["aux", "nvtx"], + "FlavorTag.CategorySpectators4": ["aux", "nvtx"], + "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], + "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], + "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], + "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.JetCollectionName": ["Refined3Jets"], + "FlavorTag.PIDAlgo": ["lcfiplus"], + "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], + "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], + "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], + "JetClustering.JetAlgorithm": ["DurhamVertex"], + "JetClustering.MuonIDExternal": ["0"], + "JetClustering.MuonIDMaximum3DImpactParameter": ["5."], + "JetClustering.MuonIDMinimumD0Significance": ["5."], + "JetClustering.MuonIDMinimumProbability": ["0.5"], + "JetClustering.MuonIDMinimumZ0Significance": ["5."], + "JetClustering.NJetsRequested": ["3"], + "JetClustering.OutputJetCollectionName": ["Vertex3Jets"], + "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetClustering.UseBeamJets": ["0"], + "JetClustering.UseMuonID": ["1"], + "JetClustering.VertexSelectionK0MassWidth": ["0.02"], + "JetClustering.VertexSelectionMaximumDistance": ["30."], + "JetClustering.VertexSelectionMinimumDistance": ["0.3"], + "JetClustering.YAddedForJetLeptonLepton": ["100"], + "JetClustering.YAddedForJetLeptonVertex": ["100"], + "JetClustering.YAddedForJetVertexVertex": ["100"], + "JetClustering.YCut": ["0."], + "JetVertexRefiner.InputJetCollectionName": ["Vertex3Jets"], + "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], + "JetVertexRefiner.MaxAngleSingle": ["0.5"], + "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], + "JetVertexRefiner.MaxPosSingle": ["30."], + "JetVertexRefiner.MaxSeparationPerPosSingle": ["0.1"], + "JetVertexRefiner.MinEnergySingle": ["1."], + "JetVertexRefiner.MinPosSingle": ["0.3"], + "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined3Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex3Jets"], + "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], + "JetVertexRefiner.mind0sigSingle": ["5."], + "JetVertexRefiner.minz0sigSingle": ["5."], + "MCPCollection": [], + "MCPFORelation": [], + "MakeNtuple.AuxiliaryInfo": ["-1"], + "PFOCollection": ["PFOsminusphoton"], + "PrimaryVertexCollectionName": ["PrimaryVertex"], + "PrintEventNumber": ["0"], + "ReadSubdetectorEnergies": ["1"], + "TrackHitOrdering": ["1"], + "UpdateVertexRPDaughters": ["0"], + "UseMCP": ["0"], +} + +EF3 = MarlinProcessorWrapper("EF3") +EF3.ProcessorType = "ErrorFlow" +EF3.Parameters = { + "InputMCTruthLinkCollection": ["RecoMCTruthLink"], + "InputPFOCollection": ["Refined3Jets"], + "OutputPFOCollection": ["Refined3JetsEF"], +} + +JC4FT = MarlinProcessorWrapper("JC4FT") +JC4FT.ProcessorType = "LcfiplusProcessor" +JC4FT.Parameters = { + "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], + "FlavorTag.BookName": ["bdt"], + "FlavorTag.CategoryDefinition1": ["nvtx==0"], + "FlavorTag.CategoryDefinition2": ["nvtx==1&&nvtxall==1"], + "FlavorTag.CategoryDefinition3": ["nvtx==1&&nvtxall==2"], + "FlavorTag.CategoryDefinition4": ["nvtx>=2"], + "FlavorTag.CategoryPreselection1": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection2": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection3": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection4": ["trk1d0sig!=0"], + "FlavorTag.CategorySpectators1": ["aux", "nvtx"], + "FlavorTag.CategorySpectators2": ["aux", "nvtx"], + "FlavorTag.CategorySpectators3": ["aux", "nvtx"], + "FlavorTag.CategorySpectators4": ["aux", "nvtx"], + "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], + "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], + "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], + "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.JetCollectionName": ["Refined4Jets"], + "FlavorTag.PIDAlgo": ["lcfiplus"], + "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], + "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], + "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], + "JetClustering.JetAlgorithm": ["DurhamVertex"], + "JetClustering.MuonIDExternal": ["0"], + "JetClustering.MuonIDMaximum3DImpactParameter": ["5."], + "JetClustering.MuonIDMinimumD0Significance": ["5."], + "JetClustering.MuonIDMinimumProbability": ["0.5"], + "JetClustering.MuonIDMinimumZ0Significance": ["5."], + "JetClustering.NJetsRequested": ["4"], + "JetClustering.OutputJetCollectionName": ["Vertex4Jets"], + "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetClustering.UseBeamJets": ["0"], + "JetClustering.UseMuonID": ["1"], + "JetClustering.VertexSelectionK0MassWidth": ["0.02"], + "JetClustering.VertexSelectionMaximumDistance": ["30."], + "JetClustering.VertexSelectionMinimumDistance": ["0.3"], + "JetClustering.YAddedForJetLeptonLepton": ["100"], + "JetClustering.YAddedForJetLeptonVertex": ["100"], + "JetClustering.YAddedForJetVertexVertex": ["100"], + "JetClustering.YCut": ["0."], + "JetVertexRefiner.InputJetCollectionName": ["Vertex4Jets"], + "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], + "JetVertexRefiner.MaxAngleSingle": ["0.5"], + "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], + "JetVertexRefiner.MaxPosSingle": ["30."], + "JetVertexRefiner.MaxSeparationPerPosSingle": ["0.1"], + "JetVertexRefiner.MinEnergySingle": ["1."], + "JetVertexRefiner.MinPosSingle": ["0.3"], + "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined4Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex4Jets"], + "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], + "JetVertexRefiner.mind0sigSingle": ["5."], + "JetVertexRefiner.minz0sigSingle": ["5."], + "MCPCollection": [], + "MCPFORelation": [], + "MakeNtuple.AuxiliaryInfo": ["-1"], + "PFOCollection": ["PFOsminusphoton"], + "PrimaryVertexCollectionName": ["PrimaryVertex"], + "PrintEventNumber": ["0"], + "ReadSubdetectorEnergies": ["1"], + "TrackHitOrdering": ["1"], + "UpdateVertexRPDaughters": ["0"], + "UseMCP": ["0"], +} + +EF4 = MarlinProcessorWrapper("EF4") +EF4.ProcessorType = "ErrorFlow" +EF4.Parameters = { + "InputMCTruthLinkCollection": ["RecoMCTruthLink"], + "InputPFOCollection": ["Refined4Jets"], + "OutputPFOCollection": ["Refined4JetsEF"], +} + +JC5FT = MarlinProcessorWrapper("JC5FT") +JC5FT.ProcessorType = "LcfiplusProcessor" +JC5FT.Parameters = { + "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], + "FlavorTag.BookName": ["bdt"], + "FlavorTag.CategoryDefinition1": ["nvtx==0"], + "FlavorTag.CategoryDefinition2": ["nvtx==1&&nvtxall==1"], + "FlavorTag.CategoryDefinition3": ["nvtx==1&&nvtxall==2"], + "FlavorTag.CategoryDefinition4": ["nvtx>=2"], + "FlavorTag.CategoryPreselection1": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection2": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection3": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection4": ["trk1d0sig!=0"], + "FlavorTag.CategorySpectators1": ["aux", "nvtx"], + "FlavorTag.CategorySpectators2": ["aux", "nvtx"], + "FlavorTag.CategorySpectators3": ["aux", "nvtx"], + "FlavorTag.CategorySpectators4": ["aux", "nvtx"], + "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], + "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], + "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], + "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.JetCollectionName": ["Refined5Jets"], + "FlavorTag.PIDAlgo": ["lcfiplus"], + "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], + "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], + "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], + "JetClustering.JetAlgorithm": ["DurhamVertex"], + "JetClustering.MuonIDExternal": ["0"], + "JetClustering.MuonIDMaximum3DImpactParameter": ["5."], + "JetClustering.MuonIDMinimumD0Significance": ["5."], + "JetClustering.MuonIDMinimumProbability": ["0.5"], + "JetClustering.MuonIDMinimumZ0Significance": ["5."], + "JetClustering.NJetsRequested": ["5"], + "JetClustering.OutputJetCollectionName": ["Vertex5Jets"], + "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetClustering.UseBeamJets": ["0"], + "JetClustering.UseMuonID": ["1"], + "JetClustering.VertexSelectionK0MassWidth": ["0.02"], + "JetClustering.VertexSelectionMaximumDistance": ["30."], + "JetClustering.VertexSelectionMinimumDistance": ["0.3"], + "JetClustering.YAddedForJetLeptonLepton": ["100"], + "JetClustering.YAddedForJetLeptonVertex": ["100"], + "JetClustering.YAddedForJetVertexVertex": ["100"], + "JetClustering.YCut": ["0."], + "JetVertexRefiner.InputJetCollectionName": ["Vertex5Jets"], + "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], + "JetVertexRefiner.MaxAngleSingle": ["0.5"], + "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], + "JetVertexRefiner.MaxPosSingle": ["30."], + "JetVertexRefiner.MaxSeparationPerPosSingle": ["0.1"], + "JetVertexRefiner.MinEnergySingle": ["1."], + "JetVertexRefiner.MinPosSingle": ["0.3"], + "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined5Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex5Jets"], + "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], + "JetVertexRefiner.mind0sigSingle": ["5."], + "JetVertexRefiner.minz0sigSingle": ["5."], + "MCPCollection": [], + "MCPFORelation": [], + "MakeNtuple.AuxiliaryInfo": ["-1"], + "PFOCollection": ["PFOsminusphoton"], + "PrimaryVertexCollectionName": ["PrimaryVertex"], + "PrintEventNumber": ["0"], + "ReadSubdetectorEnergies": ["1"], + "TrackHitOrdering": ["1"], + "UpdateVertexRPDaughters": ["0"], + "UseMCP": ["0"], +} + +EF5 = MarlinProcessorWrapper("EF5") +EF5.ProcessorType = "ErrorFlow" +EF5.Parameters = { + "InputMCTruthLinkCollection": ["RecoMCTruthLink"], + "InputPFOCollection": ["Refined5Jets"], + "OutputPFOCollection": ["Refined5JetsEF"], +} + +JC6FT = MarlinProcessorWrapper("JC6FT") +JC6FT.ProcessorType = "LcfiplusProcessor" +JC6FT.Parameters = { + "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], + "FlavorTag.BookName": ["bdt"], + "FlavorTag.CategoryDefinition1": ["nvtx==0"], + "FlavorTag.CategoryDefinition2": ["nvtx==1&&nvtxall==1"], + "FlavorTag.CategoryDefinition3": ["nvtx==1&&nvtxall==2"], + "FlavorTag.CategoryDefinition4": ["nvtx>=2"], + "FlavorTag.CategoryPreselection1": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection2": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection3": ["trk1d0sig!=0"], + "FlavorTag.CategoryPreselection4": ["trk1d0sig!=0"], + "FlavorTag.CategorySpectators1": ["aux", "nvtx"], + "FlavorTag.CategorySpectators2": ["aux", "nvtx"], + "FlavorTag.CategorySpectators3": ["aux", "nvtx"], + "FlavorTag.CategorySpectators4": ["aux", "nvtx"], + "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], + "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], + "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], + "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.JetCollectionName": ["Refined6Jets"], + "FlavorTag.PIDAlgo": ["lcfiplus"], + "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], + "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], + "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], + "JetClustering.JetAlgorithm": ["DurhamVertex"], + "JetClustering.MuonIDExternal": ["0"], + "JetClustering.MuonIDMaximum3DImpactParameter": ["5."], + "JetClustering.MuonIDMinimumD0Significance": ["5."], + "JetClustering.MuonIDMinimumProbability": ["0.5"], + "JetClustering.MuonIDMinimumZ0Significance": ["5."], + "JetClustering.NJetsRequested": ["6"], + "JetClustering.OutputJetCollectionName": ["Vertex6Jets"], + "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetClustering.UseBeamJets": ["0"], + "JetClustering.UseMuonID": ["1"], + "JetClustering.VertexSelectionK0MassWidth": ["0.02"], + "JetClustering.VertexSelectionMaximumDistance": ["30."], + "JetClustering.VertexSelectionMinimumDistance": ["0.3"], + "JetClustering.YAddedForJetLeptonLepton": ["100"], + "JetClustering.YAddedForJetLeptonVertex": ["100"], + "JetClustering.YAddedForJetVertexVertex": ["100"], + "JetClustering.YCut": ["0."], + "JetVertexRefiner.InputJetCollectionName": ["Vertex6Jets"], + "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], + "JetVertexRefiner.MaxAngleSingle": ["0.5"], + "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], + "JetVertexRefiner.MaxPosSingle": ["30."], + "JetVertexRefiner.MaxSeparationPerPosSingle": ["0.1"], + "JetVertexRefiner.MinEnergySingle": ["1."], + "JetVertexRefiner.MinPosSingle": ["0.3"], + "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined6Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex6Jets"], + "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], + "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], + "JetVertexRefiner.mind0sigSingle": ["5."], + "JetVertexRefiner.minz0sigSingle": ["5."], + "MCPCollection": [], + "MCPFORelation": [], + "MakeNtuple.AuxiliaryInfo": ["-1"], + "PFOCollection": ["PFOsminusphoton"], + "PrimaryVertexCollectionName": ["PrimaryVertex"], + "PrintEventNumber": ["0"], + "ReadSubdetectorEnergies": ["1"], + "TrackHitOrdering": ["1"], + "UpdateVertexRPDaughters": ["0"], + "UseMCP": ["0"], +} + +EF6 = MarlinProcessorWrapper("EF6") +EF6.ProcessorType = "ErrorFlow" +EF6.Parameters = { + "InputMCTruthLinkCollection": ["RecoMCTruthLink"], + "InputPFOCollection": ["Refined6Jets"], + "OutputPFOCollection": ["Refined6JetsEF"], +} + +ComputeCorrectAngulardEdX = MarlinProcessorWrapper("ComputeCorrectAngulardEdX") +ComputeCorrectAngulardEdX.ProcessorType = "AngularCorrection_dEdxProcessor" +ComputeCorrectAngulardEdX.Parameters = { + "AngularCorrectionParameters": ["0.970205", "0.0007506", "4.41781e-8", "5.8222e-8"], + "LDCTrackCollection": ["MarlinTrkTracks"], +} + +LikelihoodPID = MarlinProcessorWrapper("LikelihoodPID") +LikelihoodPID.ProcessorType = "LikelihoodPIDProcessor" +LikelihoodPID.Parameters = { + "CostMatrix": ["1.0e-50", "1.0", "1.5", "1.0", "1.5", "1.0", "1.0e-50", "3.0", "1.0", "1.0", "1.0", "1.0", "1.0e-50", "1.0", "3.0", "1.0", "1.0", "4.0", "1.0e-50", "2.0", "1.0", "1.0", "5.0", "1.0", "1.0e-50"], + "Debug": ["0"], + "EnergyBoundaries": ["0", "1.0e+07"], + "FilePDFName": ["%(ProductionDir)s/HighLevelReco/PIDFiles/LikelihoodPID_Standard_l5_v01.root" % CONSTANTS], + "FileWeightFormupiSeparationName": ["%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_02GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_03GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_04GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_05GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_06GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_07GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_08GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_09GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_10GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_11GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_12GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_13GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_14GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_15GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_16GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_17GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_18GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_19GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_20GeVP_clusterinfo.weights.xml" % CONSTANTS], + "PIDMethodsToRun_version": ["v2"], + "RecoParticleCollection": ["PandoraPFOs"], + "UseBayesian": ["2"], + "UseLowMomentumMuPiSeparation": ["true"], + "dEdxErrorFactor": ["7.55"], + "dEdxNormalization": ["1.350e-7"], + "dEdxParameter_electron": ["-0.00232937", "-3.88424e+13", "-37881.1", "-1.56837", "0"], + "dEdxParameter_kaon": ["0.0792784", "3798.12", "4.06952e+07", "0.450671", "0.00050169"], + "dEdxParameter_muon": ["0.0717375", "-16596.5", "-4.84028e+07", "0.356728", "0.000371431"], + "dEdxParameter_pion": ["0.0733683", "51678.4", "8.19644e+07", "0.453505", "0.000404984"], + "dEdxParameter_proton": ["0.0770318", "1053.24", "4.95076e+06", "0.281489", "0.000168616"], +} + +LeptonID = MarlinProcessorWrapper("LeptonID") +LeptonID.OutputLevel = INFO +LeptonID.ProcessorType = "LeptonIDProcessor" +LeptonID.Parameters = { + "BuildTree": ["false"], + "EvalMVA": ["true"], + "weightfile": ["HighLevelReco/PIDFiles/CPID/LeptonID_multi_jet_dEdx_800t_3d_cm50r50_BDTG.weights.xml"], +} + +ComprehensivePID_singleP = MarlinProcessorWrapper("ComprehensivePID_singleP") +ComprehensivePID_singleP.ProcessorType = "ComprehensivePIDProcessor" +ComprehensivePID_singleP.Parameters = { + "CPID_singleP_16bins_cons.S": ["!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", "SplitMode=Random:NormMode=NumEvents:!V", "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900"], + "PFOCollection": ["PandoraPFOs"], + "RecoMCTruthLink": ["RecoMCTruthLink"], + "TOF100.S": ["TOFEstimators100ps"], + "TTreeFileName": [], + "backgroundPDGs": [], + "cutD0": ["0"], + "cutLamMax": ["0"], + "cutLamMin": ["0"], + "cutNTracksMax": ["-1"], + "cutNTracksMin": ["1"], + "cutZ0": ["0"], + "dEdx_RCD.F": ["-1.28883368e-02", "2.72959919e+01", "1.10560871e+01", "-1.74534200e+00", "-9.84887586e-07", "6.49143971e-02", "1.55775592e+03", "9.31848047e+08", "2.32201725e-01", "2.50492066e-04", "6.54955215e-02", "8.26239081e+04", "1.92933904e+07", "2.52743206e-01", "2.26657525e-04", "7.52235689e-02", "1.59710415e+04", "1.79625604e+06", "3.15315795e-01", "2.30414997e-04", "7.92251260e-02", "6.38129720e+04", "3.82995071e+04", "2.80793601e-01", "7.14371743e-04", "1"], + "fileFormat": [".png"], + "inputAlgoSpecs": ["dEdx_RCD:dEdx_RCD", "TOF:TOF100", "Pandora", "LeptonID"], + "modeExtract": ["true"], + "modeInfer": ["true"], + "modeTrain": ["false"], + "momLog": ["true"], + "momMax": ["100"], + "momMin": ["1"], + "momNBins": ["12"], + "plotFolder": ["CPID_Plots/singleP/"], + "reffile": ["HighLevelReco/PIDFiles/CPID/Ref_singleP_16bins_conservative.txt"], + "signalPDGs": ["11", "13", "211", "321", "2212"], + "trainModelSpecs": ["TMVA_BDT_MC:CPID_singleP_16bins_cons"], + "trainingObservables": [], +} + +ComprehensivePID_2fZhad = MarlinProcessorWrapper("ComprehensivePID_2fZhad") +ComprehensivePID_2fZhad.OutputLevel = DEBUG +ComprehensivePID_2fZhad.ProcessorType = "ComprehensivePIDProcessor" +ComprehensivePID_2fZhad.Parameters = { + "CPID_2fZhad_18bins_cons.S": ["!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", "SplitMode=Random:NormMode=NumEvents:!V", "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900"], + "PFOCollection": ["PandoraPFOs"], + "RecoMCTruthLink": ["RecoMCTruthLink"], + "TOF100.S": ["TOFEstimators100ps"], + "TTreeFileName": [], + "backgroundPDGs": [], + "cutD0": ["0"], + "cutLamMax": ["0"], + "cutLamMin": ["0"], + "cutNTracksMax": ["-1"], + "cutNTracksMin": ["1"], + "cutZ0": ["0"], + "dEdx_RCD.F": ["-1.28883368e-02", "2.72959919e+01", "1.10560871e+01", "-1.74534200e+00", "-9.84887586e-07", "6.49143971e-02", "1.55775592e+03", "9.31848047e+08", "2.32201725e-01", "2.50492066e-04", "6.54955215e-02", "8.26239081e+04", "1.92933904e+07", "2.52743206e-01", "2.26657525e-04", "7.52235689e-02", "1.59710415e+04", "1.79625604e+06", "3.15315795e-01", "2.30414997e-04", "7.92251260e-02", "6.38129720e+04", "3.82995071e+04", "2.80793601e-01", "7.14371743e-04", "1"], + "fileFormat": [".png"], + "inputAlgoSpecs": ["dEdx_RCD:dEdx_RCD", "TOF:TOF100", "Pandora", "LeptonID"], + "modeExtract": ["true"], + "modeInfer": ["true"], + "modeTrain": ["false"], + "plotFolder": ["CPID_Plots/2fZhad/"], + "reffile": ["HighLevelReco/PIDFiles/CPID/Ref_2fZhad_18bins_conservative.txt"], + "signalPDGs": ["11", "13", "211", "321", "2212"], + "trainModelSpecs": ["TMVA_BDT_MC:CPID_2fZhad_18bins_cons"], + "trainingObservables": [], +} + +WWCategorisation = MarlinProcessorWrapper("WWCategorisation") +WWCategorisation.ProcessorType = "WWCategorisationProcessor" +WWCategorisation.Parameters = { + "ConfusionMatrixFileName": [], + "IsolatedElectrons": ["IsolatedElectrons"], + "IsolatedMuons": ["IsolatedMuons"], + "IsolatedPhotons": ["IsolatedPhotons"], + "IsolatedTaus": ["IsolatedTaus"], + "PFOsminusphoton": ["PFOsminusphoton"], + "TTreeFileName": [], +} + +ParticleIDFilter = MarlinProcessorWrapper("ParticleIDFilter") +ParticleIDFilter.OutputLevel = INFO +ParticleIDFilter.ProcessorType = "ReconstructedParticleParticleIDFilterProcessor" +ParticleIDFilter.Parameters = { + "FilterPIDAlgos": ["BasicVariablePID", "LikelihoodPID", "LowMomMuID", "ShowerShapesPID", "dEdxPID"], + "RecoParticleCollection": ["PandoraPFOs"], +} + +LCIOOutputProcessor = MarlinProcessorWrapper("LCIOOutputProcessor") +LCIOOutputProcessor.ProcessorType = "LCIOOutputProcessor" +LCIOOutputProcessor.Parameters = { + "CompressionLevel": ["6"], + "DropCollectionNames": ["ClusterMCTruthLink", "MCTruthClusterLink", "MCTruthMarlinTrkTracksLink", "MarlinTrkTracksMCTruthLink", "DistilledPFOs", "GammaGammaCandidateEtaPrimes", "GammaGammaCandidateEtas", "GammaGammaCandidatePi0s", "GammaGammaParticles", "V0RecoParticles", "V0Vertices", "ProngRecoParticles", "ProngVertices", "KinkRecoParticles", "KinkVertices", "SplitRecoParticles", "SplitVertices", "BuildUpVertex_RP", "BuildUpVertex", "BuildUpVertex_V0_RP", "BuildUpVertex_V0", "PFOsminusmu", "PFOsminuse", "PFOsminustau", "PFOsminusphoton", "Vertex2Jets", "Vertex3Jets", "Vertex4Jets", "Vertex5Jets", "Vertex6Jets", "Refined2Jets_rel", "Refined3Jets_rel", "Refined4Jets_rel", "Refined5Jets_rel", "Refined6Jets_rel", "Refined2Jets_vtx", "Refined3Jets_vtx", "Refined4Jets_vtx", "Refined5Jets_vtx", "Refined6Jets_vtx", "Refined2Jets_vtx_RP", "Refined3Jets_vtx_RP", "Refined4Jets_vtx_RP", "Refined5Jets_vtx_RP", "Refined6Jets_vtx_RP", "RefinedVertex2Jets", "RefinedVertex3Jets", "RefinedVertex4Jets", "RefinedVertex5Jets", "RefinedVertex6Jets", "RefinedVertex2Jets_RP", "RefinedVertex3Jets_RP", "RefinedVertex4Jets_RP", "RefinedVertex5Jets_RP", "RefinedVertex6Jets_RP", "Refined2JetsEF", "Refined3JetsEF", "Refined4JetsEF", "Refined5JetsEF", "Refined6JetsEF", "BCALMCTruthLink", "MCTruthBcalLink", "MCTruthTrackLink", "TrackMCTruthLink"], + "DropCollectionTypes": ["Track", "Cluster"], + "LCIOOutputFile": ["%(OutputFile)s" % CONSTANTS], + "LCIOWriteMode": ["WRITE_NEW"], +} + +algList.append(Statusmonitor) +algList.append(Thrust) +algList.append(Sphere) +algList.append(Fox) +algList.append(IsolatedMuonTagging) +algList.append(IsolatedElectronTagging) +algList.append(IsolatedTauTagging) +algList.append(IsolatedPhotonTagging) +algList.append(JC2FT) +algList.append(EF2) +algList.append(JC3FT) +algList.append(EF3) +algList.append(JC4FT) +algList.append(EF4) +algList.append(JC5FT) +algList.append(EF5) +algList.append(JC6FT) +algList.append(EF6) +# algList.append(ComputeCorrectAngulardEdX) # ${RundEdxCorrections} +# algList.append(LikelihoodPID) # ${RundEdxCorrections} +# algList.append(LeptonID) # ${RundEdxCorrections} +# algList.append(ComprehensivePID_singleP) # ${RundEdxCorrections} +# algList.append(ComprehensivePID_2fZhad) # ${RundEdxCorrections} +algList.append(WWCategorisation) +algList.append(ParticleIDFilter) +algList.append(LCIOOutputProcessor) + +from Configurables import ApplicationMgr +ApplicationMgr( TopAlg = algList, + EvtSel = 'NONE', + EvtMax = 10, + ExtSvc = svcList, + OutputLevel=ERROR + ) From c4b1c163c3e7fd29f799b6b56104ca0a7c27192c Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 20 Nov 2025 09:52:24 +0100 Subject: [PATCH 02/18] [format] Format converted file --- StandardConfig/production/ILDMiniDST.py | 786 ++++++++++++++++++++++-- 1 file changed, 745 insertions(+), 41 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 056cec1..c11a3c0 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -2,6 +2,7 @@ from Configurables import LcioEvent, EventDataSvc, MarlinProcessorWrapper, GeoSvc from k4MarlinWrapper.parseConstants import * + algList = [] svcList = [] evtsvc = EventDataSvc() @@ -189,10 +190,104 @@ "FlavorTag.CategorySpectators2": ["aux", "nvtx"], "FlavorTag.CategorySpectators3": ["aux", "nvtx"], "FlavorTag.CategorySpectators4": ["aux", "nvtx"], - "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], - "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], - "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], - "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.CategoryVariables1": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr25sigma", + "jprobz25sigma", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "nmuon", + "nelectron", + "trkmass", + ], + "FlavorTag.CategoryVariables2": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "trkmass", + "nelectron", + "nmuon", + ], + "FlavorTag.CategoryVariables3": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "1vtxprob", + "vtxlen12all_jete", + "vtxmassall", + ], + "FlavorTag.CategoryVariables4": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "vtxlen2_jete", + "vtxsig2_jete", + "vtxdirang2_jete", + "vtxmom2_jete", + "vtxmass2", + "vtxmult2", + "vtxlen12_jete", + "vtxsig12_jete", + "vtxdirang12_jete", + "vtxmom_jete", + "vtxmass", + "vtxmult", + "1vtxprob", + ], "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], "FlavorTag.JetCollectionName": ["Refined2Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], @@ -267,10 +362,104 @@ "FlavorTag.CategorySpectators2": ["aux", "nvtx"], "FlavorTag.CategorySpectators3": ["aux", "nvtx"], "FlavorTag.CategorySpectators4": ["aux", "nvtx"], - "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], - "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], - "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], - "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.CategoryVariables1": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr25sigma", + "jprobz25sigma", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "nmuon", + "nelectron", + "trkmass", + ], + "FlavorTag.CategoryVariables2": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "trkmass", + "nelectron", + "nmuon", + ], + "FlavorTag.CategoryVariables3": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "1vtxprob", + "vtxlen12all_jete", + "vtxmassall", + ], + "FlavorTag.CategoryVariables4": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "vtxlen2_jete", + "vtxsig2_jete", + "vtxdirang2_jete", + "vtxmom2_jete", + "vtxmass2", + "vtxmult2", + "vtxlen12_jete", + "vtxsig12_jete", + "vtxdirang12_jete", + "vtxmom_jete", + "vtxmass", + "vtxmult", + "1vtxprob", + ], "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], "FlavorTag.JetCollectionName": ["Refined3Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], @@ -348,10 +537,104 @@ "FlavorTag.CategorySpectators2": ["aux", "nvtx"], "FlavorTag.CategorySpectators3": ["aux", "nvtx"], "FlavorTag.CategorySpectators4": ["aux", "nvtx"], - "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], - "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], - "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], - "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.CategoryVariables1": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr25sigma", + "jprobz25sigma", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "nmuon", + "nelectron", + "trkmass", + ], + "FlavorTag.CategoryVariables2": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "trkmass", + "nelectron", + "nmuon", + ], + "FlavorTag.CategoryVariables3": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "1vtxprob", + "vtxlen12all_jete", + "vtxmassall", + ], + "FlavorTag.CategoryVariables4": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "vtxlen2_jete", + "vtxsig2_jete", + "vtxdirang2_jete", + "vtxmom2_jete", + "vtxmass2", + "vtxmult2", + "vtxlen12_jete", + "vtxsig12_jete", + "vtxdirang12_jete", + "vtxmom_jete", + "vtxmass", + "vtxmult", + "1vtxprob", + ], "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], "FlavorTag.JetCollectionName": ["Refined4Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], @@ -429,10 +712,104 @@ "FlavorTag.CategorySpectators2": ["aux", "nvtx"], "FlavorTag.CategorySpectators3": ["aux", "nvtx"], "FlavorTag.CategorySpectators4": ["aux", "nvtx"], - "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], - "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], - "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], - "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.CategoryVariables1": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr25sigma", + "jprobz25sigma", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "nmuon", + "nelectron", + "trkmass", + ], + "FlavorTag.CategoryVariables2": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "trkmass", + "nelectron", + "nmuon", + ], + "FlavorTag.CategoryVariables3": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "1vtxprob", + "vtxlen12all_jete", + "vtxmassall", + ], + "FlavorTag.CategoryVariables4": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "vtxlen2_jete", + "vtxsig2_jete", + "vtxdirang2_jete", + "vtxmom2_jete", + "vtxmass2", + "vtxmult2", + "vtxlen12_jete", + "vtxsig12_jete", + "vtxdirang12_jete", + "vtxmom_jete", + "vtxmass", + "vtxmult", + "1vtxprob", + ], "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], "FlavorTag.JetCollectionName": ["Refined5Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], @@ -510,10 +887,104 @@ "FlavorTag.CategorySpectators2": ["aux", "nvtx"], "FlavorTag.CategorySpectators3": ["aux", "nvtx"], "FlavorTag.CategorySpectators4": ["aux", "nvtx"], - "FlavorTag.CategoryVariables1": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr25sigma", "jprobz25sigma", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "nmuon", "nelectron", "trkmass"], - "FlavorTag.CategoryVariables2": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "d0bprob2", "d0cprob2", "d0qprob2", "z0bprob2", "z0cprob2", "z0qprob2", "trkmass", "nelectron", "nmuon"], - "FlavorTag.CategoryVariables3": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "1vtxprob", "vtxlen12all_jete", "vtxmassall"], - "FlavorTag.CategoryVariables4": ["trk1d0sig", "trk2d0sig", "trk1z0sig", "trk2z0sig", "trk1pt_jete", "trk2pt_jete", "jprobr2", "jprobz2", "vtxlen1_jete", "vtxsig1_jete", "vtxdirang1_jete", "vtxmom1_jete", "vtxmass1", "vtxmult1", "vtxmasspc", "vtxprob", "vtxlen2_jete", "vtxsig2_jete", "vtxdirang2_jete", "vtxmom2_jete", "vtxmass2", "vtxmult2", "vtxlen12_jete", "vtxsig12_jete", "vtxdirang12_jete", "vtxmom_jete", "vtxmass", "vtxmult", "1vtxprob"], + "FlavorTag.CategoryVariables1": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr25sigma", + "jprobz25sigma", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "nmuon", + "nelectron", + "trkmass", + ], + "FlavorTag.CategoryVariables2": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "d0bprob2", + "d0cprob2", + "d0qprob2", + "z0bprob2", + "z0cprob2", + "z0qprob2", + "trkmass", + "nelectron", + "nmuon", + ], + "FlavorTag.CategoryVariables3": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "1vtxprob", + "vtxlen12all_jete", + "vtxmassall", + ], + "FlavorTag.CategoryVariables4": [ + "trk1d0sig", + "trk2d0sig", + "trk1z0sig", + "trk2z0sig", + "trk1pt_jete", + "trk2pt_jete", + "jprobr2", + "jprobz2", + "vtxlen1_jete", + "vtxsig1_jete", + "vtxdirang1_jete", + "vtxmom1_jete", + "vtxmass1", + "vtxmult1", + "vtxmasspc", + "vtxprob", + "vtxlen2_jete", + "vtxsig2_jete", + "vtxdirang2_jete", + "vtxmom2_jete", + "vtxmass2", + "vtxmult2", + "vtxlen12_jete", + "vtxsig12_jete", + "vtxdirang12_jete", + "vtxmom_jete", + "vtxmass", + "vtxmult", + "1vtxprob", + ], "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], "FlavorTag.JetCollectionName": ["Refined6Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], @@ -584,22 +1055,120 @@ LikelihoodPID = MarlinProcessorWrapper("LikelihoodPID") LikelihoodPID.ProcessorType = "LikelihoodPIDProcessor" LikelihoodPID.Parameters = { - "CostMatrix": ["1.0e-50", "1.0", "1.5", "1.0", "1.5", "1.0", "1.0e-50", "3.0", "1.0", "1.0", "1.0", "1.0", "1.0e-50", "1.0", "3.0", "1.0", "1.0", "4.0", "1.0e-50", "2.0", "1.0", "1.0", "5.0", "1.0", "1.0e-50"], + "CostMatrix": [ + "1.0e-50", + "1.0", + "1.5", + "1.0", + "1.5", + "1.0", + "1.0e-50", + "3.0", + "1.0", + "1.0", + "1.0", + "1.0", + "1.0e-50", + "1.0", + "3.0", + "1.0", + "1.0", + "4.0", + "1.0e-50", + "2.0", + "1.0", + "1.0", + "5.0", + "1.0", + "1.0e-50", + ], "Debug": ["0"], "EnergyBoundaries": ["0", "1.0e+07"], - "FilePDFName": ["%(ProductionDir)s/HighLevelReco/PIDFiles/LikelihoodPID_Standard_l5_v01.root" % CONSTANTS], - "FileWeightFormupiSeparationName": ["%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_02GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_03GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_04GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_05GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_06GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_07GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_08GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_09GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_10GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_11GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_12GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_13GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_14GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_15GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_16GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_17GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_18GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_19GeVP_clusterinfo.weights.xml" % CONSTANTS, "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_20GeVP_clusterinfo.weights.xml" % CONSTANTS], + "FilePDFName": [ + "%(ProductionDir)s/HighLevelReco/PIDFiles/LikelihoodPID_Standard_l5_v01.root" + % CONSTANTS + ], + "FileWeightFormupiSeparationName": [ + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_02GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_03GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_04GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_05GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_06GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_07GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_08GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_09GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_10GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_11GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_12GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_13GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_14GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_15GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_16GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_17GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_18GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_19GeVP_clusterinfo.weights.xml" + % CONSTANTS, + "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_20GeVP_clusterinfo.weights.xml" + % CONSTANTS, + ], "PIDMethodsToRun_version": ["v2"], "RecoParticleCollection": ["PandoraPFOs"], "UseBayesian": ["2"], "UseLowMomentumMuPiSeparation": ["true"], "dEdxErrorFactor": ["7.55"], "dEdxNormalization": ["1.350e-7"], - "dEdxParameter_electron": ["-0.00232937", "-3.88424e+13", "-37881.1", "-1.56837", "0"], - "dEdxParameter_kaon": ["0.0792784", "3798.12", "4.06952e+07", "0.450671", "0.00050169"], - "dEdxParameter_muon": ["0.0717375", "-16596.5", "-4.84028e+07", "0.356728", "0.000371431"], - "dEdxParameter_pion": ["0.0733683", "51678.4", "8.19644e+07", "0.453505", "0.000404984"], - "dEdxParameter_proton": ["0.0770318", "1053.24", "4.95076e+06", "0.281489", "0.000168616"], + "dEdxParameter_electron": [ + "-0.00232937", + "-3.88424e+13", + "-37881.1", + "-1.56837", + "0", + ], + "dEdxParameter_kaon": [ + "0.0792784", + "3798.12", + "4.06952e+07", + "0.450671", + "0.00050169", + ], + "dEdxParameter_muon": [ + "0.0717375", + "-16596.5", + "-4.84028e+07", + "0.356728", + "0.000371431", + ], + "dEdxParameter_pion": [ + "0.0733683", + "51678.4", + "8.19644e+07", + "0.453505", + "0.000404984", + ], + "dEdxParameter_proton": [ + "0.0770318", + "1053.24", + "4.95076e+06", + "0.281489", + "0.000168616", + ], } LeptonID = MarlinProcessorWrapper("LeptonID") @@ -608,13 +1177,20 @@ LeptonID.Parameters = { "BuildTree": ["false"], "EvalMVA": ["true"], - "weightfile": ["HighLevelReco/PIDFiles/CPID/LeptonID_multi_jet_dEdx_800t_3d_cm50r50_BDTG.weights.xml"], + "weightfile": [ + "HighLevelReco/PIDFiles/CPID/LeptonID_multi_jet_dEdx_800t_3d_cm50r50_BDTG.weights.xml" + ], } ComprehensivePID_singleP = MarlinProcessorWrapper("ComprehensivePID_singleP") ComprehensivePID_singleP.ProcessorType = "ComprehensivePIDProcessor" ComprehensivePID_singleP.Parameters = { - "CPID_singleP_16bins_cons.S": ["!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", "SplitMode=Random:NormMode=NumEvents:!V", "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900"], + "CPID_singleP_16bins_cons.S": [ + "!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", + "SplitMode=Random:NormMode=NumEvents:!V", + "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", + "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900", + ], "PFOCollection": ["PandoraPFOs"], "RecoMCTruthLink": ["RecoMCTruthLink"], "TOF100.S": ["TOFEstimators100ps"], @@ -626,7 +1202,34 @@ "cutNTracksMax": ["-1"], "cutNTracksMin": ["1"], "cutZ0": ["0"], - "dEdx_RCD.F": ["-1.28883368e-02", "2.72959919e+01", "1.10560871e+01", "-1.74534200e+00", "-9.84887586e-07", "6.49143971e-02", "1.55775592e+03", "9.31848047e+08", "2.32201725e-01", "2.50492066e-04", "6.54955215e-02", "8.26239081e+04", "1.92933904e+07", "2.52743206e-01", "2.26657525e-04", "7.52235689e-02", "1.59710415e+04", "1.79625604e+06", "3.15315795e-01", "2.30414997e-04", "7.92251260e-02", "6.38129720e+04", "3.82995071e+04", "2.80793601e-01", "7.14371743e-04", "1"], + "dEdx_RCD.F": [ + "-1.28883368e-02", + "2.72959919e+01", + "1.10560871e+01", + "-1.74534200e+00", + "-9.84887586e-07", + "6.49143971e-02", + "1.55775592e+03", + "9.31848047e+08", + "2.32201725e-01", + "2.50492066e-04", + "6.54955215e-02", + "8.26239081e+04", + "1.92933904e+07", + "2.52743206e-01", + "2.26657525e-04", + "7.52235689e-02", + "1.59710415e+04", + "1.79625604e+06", + "3.15315795e-01", + "2.30414997e-04", + "7.92251260e-02", + "6.38129720e+04", + "3.82995071e+04", + "2.80793601e-01", + "7.14371743e-04", + "1", + ], "fileFormat": [".png"], "inputAlgoSpecs": ["dEdx_RCD:dEdx_RCD", "TOF:TOF100", "Pandora", "LeptonID"], "modeExtract": ["true"], @@ -647,7 +1250,12 @@ ComprehensivePID_2fZhad.OutputLevel = DEBUG ComprehensivePID_2fZhad.ProcessorType = "ComprehensivePIDProcessor" ComprehensivePID_2fZhad.Parameters = { - "CPID_2fZhad_18bins_cons.S": ["!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", "SplitMode=Random:NormMode=NumEvents:!V", "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900"], + "CPID_2fZhad_18bins_cons.S": [ + "!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", + "SplitMode=Random:NormMode=NumEvents:!V", + "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", + "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900", + ], "PFOCollection": ["PandoraPFOs"], "RecoMCTruthLink": ["RecoMCTruthLink"], "TOF100.S": ["TOFEstimators100ps"], @@ -659,7 +1267,34 @@ "cutNTracksMax": ["-1"], "cutNTracksMin": ["1"], "cutZ0": ["0"], - "dEdx_RCD.F": ["-1.28883368e-02", "2.72959919e+01", "1.10560871e+01", "-1.74534200e+00", "-9.84887586e-07", "6.49143971e-02", "1.55775592e+03", "9.31848047e+08", "2.32201725e-01", "2.50492066e-04", "6.54955215e-02", "8.26239081e+04", "1.92933904e+07", "2.52743206e-01", "2.26657525e-04", "7.52235689e-02", "1.59710415e+04", "1.79625604e+06", "3.15315795e-01", "2.30414997e-04", "7.92251260e-02", "6.38129720e+04", "3.82995071e+04", "2.80793601e-01", "7.14371743e-04", "1"], + "dEdx_RCD.F": [ + "-1.28883368e-02", + "2.72959919e+01", + "1.10560871e+01", + "-1.74534200e+00", + "-9.84887586e-07", + "6.49143971e-02", + "1.55775592e+03", + "9.31848047e+08", + "2.32201725e-01", + "2.50492066e-04", + "6.54955215e-02", + "8.26239081e+04", + "1.92933904e+07", + "2.52743206e-01", + "2.26657525e-04", + "7.52235689e-02", + "1.59710415e+04", + "1.79625604e+06", + "3.15315795e-01", + "2.30414997e-04", + "7.92251260e-02", + "6.38129720e+04", + "3.82995071e+04", + "2.80793601e-01", + "7.14371743e-04", + "1", + ], "fileFormat": [".png"], "inputAlgoSpecs": ["dEdx_RCD:dEdx_RCD", "TOF:TOF100", "Pandora", "LeptonID"], "modeExtract": ["true"], @@ -688,7 +1323,13 @@ ParticleIDFilter.OutputLevel = INFO ParticleIDFilter.ProcessorType = "ReconstructedParticleParticleIDFilterProcessor" ParticleIDFilter.Parameters = { - "FilterPIDAlgos": ["BasicVariablePID", "LikelihoodPID", "LowMomMuID", "ShowerShapesPID", "dEdxPID"], + "FilterPIDAlgos": [ + "BasicVariablePID", + "LikelihoodPID", + "LowMomMuID", + "ShowerShapesPID", + "dEdxPID", + ], "RecoParticleCollection": ["PandoraPFOs"], } @@ -696,7 +1337,72 @@ LCIOOutputProcessor.ProcessorType = "LCIOOutputProcessor" LCIOOutputProcessor.Parameters = { "CompressionLevel": ["6"], - "DropCollectionNames": ["ClusterMCTruthLink", "MCTruthClusterLink", "MCTruthMarlinTrkTracksLink", "MarlinTrkTracksMCTruthLink", "DistilledPFOs", "GammaGammaCandidateEtaPrimes", "GammaGammaCandidateEtas", "GammaGammaCandidatePi0s", "GammaGammaParticles", "V0RecoParticles", "V0Vertices", "ProngRecoParticles", "ProngVertices", "KinkRecoParticles", "KinkVertices", "SplitRecoParticles", "SplitVertices", "BuildUpVertex_RP", "BuildUpVertex", "BuildUpVertex_V0_RP", "BuildUpVertex_V0", "PFOsminusmu", "PFOsminuse", "PFOsminustau", "PFOsminusphoton", "Vertex2Jets", "Vertex3Jets", "Vertex4Jets", "Vertex5Jets", "Vertex6Jets", "Refined2Jets_rel", "Refined3Jets_rel", "Refined4Jets_rel", "Refined5Jets_rel", "Refined6Jets_rel", "Refined2Jets_vtx", "Refined3Jets_vtx", "Refined4Jets_vtx", "Refined5Jets_vtx", "Refined6Jets_vtx", "Refined2Jets_vtx_RP", "Refined3Jets_vtx_RP", "Refined4Jets_vtx_RP", "Refined5Jets_vtx_RP", "Refined6Jets_vtx_RP", "RefinedVertex2Jets", "RefinedVertex3Jets", "RefinedVertex4Jets", "RefinedVertex5Jets", "RefinedVertex6Jets", "RefinedVertex2Jets_RP", "RefinedVertex3Jets_RP", "RefinedVertex4Jets_RP", "RefinedVertex5Jets_RP", "RefinedVertex6Jets_RP", "Refined2JetsEF", "Refined3JetsEF", "Refined4JetsEF", "Refined5JetsEF", "Refined6JetsEF", "BCALMCTruthLink", "MCTruthBcalLink", "MCTruthTrackLink", "TrackMCTruthLink"], + "DropCollectionNames": [ + "ClusterMCTruthLink", + "MCTruthClusterLink", + "MCTruthMarlinTrkTracksLink", + "MarlinTrkTracksMCTruthLink", + "DistilledPFOs", + "GammaGammaCandidateEtaPrimes", + "GammaGammaCandidateEtas", + "GammaGammaCandidatePi0s", + "GammaGammaParticles", + "V0RecoParticles", + "V0Vertices", + "ProngRecoParticles", + "ProngVertices", + "KinkRecoParticles", + "KinkVertices", + "SplitRecoParticles", + "SplitVertices", + "BuildUpVertex_RP", + "BuildUpVertex", + "BuildUpVertex_V0_RP", + "BuildUpVertex_V0", + "PFOsminusmu", + "PFOsminuse", + "PFOsminustau", + "PFOsminusphoton", + "Vertex2Jets", + "Vertex3Jets", + "Vertex4Jets", + "Vertex5Jets", + "Vertex6Jets", + "Refined2Jets_rel", + "Refined3Jets_rel", + "Refined4Jets_rel", + "Refined5Jets_rel", + "Refined6Jets_rel", + "Refined2Jets_vtx", + "Refined3Jets_vtx", + "Refined4Jets_vtx", + "Refined5Jets_vtx", + "Refined6Jets_vtx", + "Refined2Jets_vtx_RP", + "Refined3Jets_vtx_RP", + "Refined4Jets_vtx_RP", + "Refined5Jets_vtx_RP", + "Refined6Jets_vtx_RP", + "RefinedVertex2Jets", + "RefinedVertex3Jets", + "RefinedVertex4Jets", + "RefinedVertex5Jets", + "RefinedVertex6Jets", + "RefinedVertex2Jets_RP", + "RefinedVertex3Jets_RP", + "RefinedVertex4Jets_RP", + "RefinedVertex5Jets_RP", + "RefinedVertex6Jets_RP", + "Refined2JetsEF", + "Refined3JetsEF", + "Refined4JetsEF", + "Refined5JetsEF", + "Refined6JetsEF", + "BCALMCTruthLink", + "MCTruthBcalLink", + "MCTruthTrackLink", + "TrackMCTruthLink", + ], "DropCollectionTypes": ["Track", "Cluster"], "LCIOOutputFile": ["%(OutputFile)s" % CONSTANTS], "LCIOWriteMode": ["WRITE_NEW"], @@ -730,9 +1436,7 @@ algList.append(LCIOOutputProcessor) from Configurables import ApplicationMgr -ApplicationMgr( TopAlg = algList, - EvtSel = 'NONE', - EvtMax = 10, - ExtSvc = svcList, - OutputLevel=ERROR - ) + +ApplicationMgr( + TopAlg=algList, EvtSel="NONE", EvtMax=10, ExtSvc=svcList, OutputLevel=ERROR +) From 8cf5e39d27ea10230feeb1f779d1cf87bdd5a987 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 20 Nov 2025 09:53:44 +0100 Subject: [PATCH 03/18] Restore correct conditional behavior --- StandardConfig/production/ILDMiniDST.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index c11a3c0..aed0466 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -1426,11 +1426,13 @@ algList.append(EF5) algList.append(JC6FT) algList.append(EF6) -# algList.append(ComputeCorrectAngulardEdX) # ${RundEdxCorrections} -# algList.append(LikelihoodPID) # ${RundEdxCorrections} -# algList.append(LeptonID) # ${RundEdxCorrections} -# algList.append(ComprehensivePID_singleP) # ${RundEdxCorrections} -# algList.append(ComprehensivePID_2fZhad) # ${RundEdxCorrections} +if CONSTANTS.get("RundEdxCorrections", "false") == "true": + algList.append(ComputeCorrectAngulardEdX) + algList.append(LikelihoodPID) + algList.append(LeptonID) + algList.append(ComprehensivePID_singleP) + algList.append(ComprehensivePID_2fZhad) + algList.append(WWCategorisation) algList.append(ParticleIDFilter) algList.append(LCIOOutputProcessor) From 57180c238754e676bba74a676b39b9fca3c458c6 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 20 Nov 2025 10:27:00 +0100 Subject: [PATCH 04/18] Start using existing utilities Add "standard" CLI arguments and remove constants that can be handled by those. Use the utilities for handling I/O. --- StandardConfig/production/ILDMiniDST.py | 232 ++++++++++++++---------- 1 file changed, 137 insertions(+), 95 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index aed0466..6061062 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -1,19 +1,69 @@ -from Gaudi.Configuration import * +from Gaudi.Configuration import ERROR, FATAL, INFO, DEBUG + +from Configurables import EventDataSvc, MarlinProcessorWrapper, GeoSvc +from k4FWCore import ApplicationMgr, IOSvc +from k4FWCore.parseArgs import parser +from k4MarlinWrapper.parseConstants import parseConstants +from k4MarlinWrapper.io_helpers import IOHandlerHelper + + +parser.add_argument( + "--inputFiles", + action="extend", + nargs="+", + metavar=["file1", "file2"], + help="One or multiple input files", +) +parser.add_argument("--compactFile", help="Compact detector file to use", type=str) +parser.add_argument( + "--lcioOutput", + help="Choose whether to still create LCIO output (off by default)", + choices=["off", "on", "only"], + default="on", + type=str, +) +parser.add_argument( + "--outputFileBase", + help="Base name of all the produced output files", + default="mini-DST", +) +parser.add_argument( + "--rundEdxCorrections", + help="Choose whether to run dEdx corrections (on by default)", + action="store_true", + default=True, +) +parser.add_argument( + "--nodEdxCorrections", + help="Turn off dEdx corrections", + dest="rundEdxCorrections", + action="store_false", +) + +# Parse arguments to get the rundEdxCorrections value +minidst_args = parser.parse_known_args()[0] -from Configurables import LcioEvent, EventDataSvc, MarlinProcessorWrapper, GeoSvc -from k4MarlinWrapper.parseConstants import * algList = [] svcList = [] -evtsvc = EventDataSvc() + +evtsvc = EventDataSvc() svcList.append(evtsvc) +iosvc = IOSvc() + +geoSvc = GeoSvc("GeoSvc") +geoSvc.OutputLevel = ERROR +geoSvc.EnableGeant4Geo = False +geoSvc.detectors = [minidst_args.compactFile] +svcList.append(geoSvc) + +io_handler = IOHandlerHelper(algList, iosvc) +io_handler.add_reader(minidst_args.inputFiles) + CONSTANTS = { - "OutputFile": "mini-DST.slcio", "ProductionDir": ".", - "RundEdxCorrections": "true", - "lcgeo_DIR": "$k4geo_DIR", "LCFIPlusConfig_DIR": "./LCFIPlusConfig", "LCFIPlusVertexPrefix": "ildl5_4q250_ZZ", "LCFIPlusD0ProbFile": "%(LCFIPlusConfig_DIR)s/vtxprob/d0probv2_%(LCFIPlusVertexPrefix)s.root", @@ -27,17 +77,6 @@ parseConstants(CONSTANTS) -read = LcioEvent() -read.OutputLevel = ERROR -read.Files = ["INPUTNAME"] -algList.append(read) - -geoSvc = GeoSvc("GeoSvc") -geoSvc.OutputLevel = FATAL -geoSvc.EnableGeant4Geo = False -geoSvc.detectors = ["%(lcgeo_DIR)s/ILD/compact/ILD_l5_v02/ILD_l5_v02.xml" % CONSTANTS] -svcList.append(geoSvc) - Statusmonitor = MarlinProcessorWrapper("Statusmonitor") Statusmonitor.ProcessorType = "Statusmonitor" Statusmonitor.Parameters = { @@ -1333,80 +1372,6 @@ "RecoParticleCollection": ["PandoraPFOs"], } -LCIOOutputProcessor = MarlinProcessorWrapper("LCIOOutputProcessor") -LCIOOutputProcessor.ProcessorType = "LCIOOutputProcessor" -LCIOOutputProcessor.Parameters = { - "CompressionLevel": ["6"], - "DropCollectionNames": [ - "ClusterMCTruthLink", - "MCTruthClusterLink", - "MCTruthMarlinTrkTracksLink", - "MarlinTrkTracksMCTruthLink", - "DistilledPFOs", - "GammaGammaCandidateEtaPrimes", - "GammaGammaCandidateEtas", - "GammaGammaCandidatePi0s", - "GammaGammaParticles", - "V0RecoParticles", - "V0Vertices", - "ProngRecoParticles", - "ProngVertices", - "KinkRecoParticles", - "KinkVertices", - "SplitRecoParticles", - "SplitVertices", - "BuildUpVertex_RP", - "BuildUpVertex", - "BuildUpVertex_V0_RP", - "BuildUpVertex_V0", - "PFOsminusmu", - "PFOsminuse", - "PFOsminustau", - "PFOsminusphoton", - "Vertex2Jets", - "Vertex3Jets", - "Vertex4Jets", - "Vertex5Jets", - "Vertex6Jets", - "Refined2Jets_rel", - "Refined3Jets_rel", - "Refined4Jets_rel", - "Refined5Jets_rel", - "Refined6Jets_rel", - "Refined2Jets_vtx", - "Refined3Jets_vtx", - "Refined4Jets_vtx", - "Refined5Jets_vtx", - "Refined6Jets_vtx", - "Refined2Jets_vtx_RP", - "Refined3Jets_vtx_RP", - "Refined4Jets_vtx_RP", - "Refined5Jets_vtx_RP", - "Refined6Jets_vtx_RP", - "RefinedVertex2Jets", - "RefinedVertex3Jets", - "RefinedVertex4Jets", - "RefinedVertex5Jets", - "RefinedVertex6Jets", - "RefinedVertex2Jets_RP", - "RefinedVertex3Jets_RP", - "RefinedVertex4Jets_RP", - "RefinedVertex5Jets_RP", - "RefinedVertex6Jets_RP", - "Refined2JetsEF", - "Refined3JetsEF", - "Refined4JetsEF", - "Refined5JetsEF", - "Refined6JetsEF", - "BCALMCTruthLink", - "MCTruthBcalLink", - "MCTruthTrackLink", - "TrackMCTruthLink", - ], - "DropCollectionTypes": ["Track", "Cluster"], - "LCIOOutputFile": ["%(OutputFile)s" % CONSTANTS], - "LCIOWriteMode": ["WRITE_NEW"], -} algList.append(Statusmonitor) algList.append(Thrust) @@ -1426,7 +1391,8 @@ algList.append(EF5) algList.append(JC6FT) algList.append(EF6) -if CONSTANTS.get("RundEdxCorrections", "false") == "true": + +if minidst_args.rundEdxCorrections: algList.append(ComputeCorrectAngulardEdX) algList.append(LikelihoodPID) algList.append(LeptonID) @@ -1435,9 +1401,85 @@ algList.append(WWCategorisation) algList.append(ParticleIDFilter) -algList.append(LCIOOutputProcessor) -from Configurables import ApplicationMgr +if minidst_args.lcioOutput in ("on", "only"): + LCIOOutputProcessor = MarlinProcessorWrapper("LCIOOutputProcessor") + LCIOOutputProcessor.ProcessorType = "LCIOOutputProcessor" + LCIOOutputProcessor.Parameters = { + "CompressionLevel": ["6"], + "DropCollectionNames": [ + "ClusterMCTruthLink", + "MCTruthClusterLink", + "MCTruthMarlinTrkTracksLink", + "MarlinTrkTracksMCTruthLink", + "DistilledPFOs", + "GammaGammaCandidateEtaPrimes", + "GammaGammaCandidateEtas", + "GammaGammaCandidatePi0s", + "GammaGammaParticles", + "V0RecoParticles", + "V0Vertices", + "ProngRecoParticles", + "ProngVertices", + "KinkRecoParticles", + "KinkVertices", + "SplitRecoParticles", + "SplitVertices", + "BuildUpVertex_RP", + "BuildUpVertex", + "BuildUpVertex_V0_RP", + "BuildUpVertex_V0", + "PFOsminusmu", + "PFOsminuse", + "PFOsminustau", + "PFOsminusphoton", + "Vertex2Jets", + "Vertex3Jets", + "Vertex4Jets", + "Vertex5Jets", + "Vertex6Jets", + "Refined2Jets_rel", + "Refined3Jets_rel", + "Refined4Jets_rel", + "Refined5Jets_rel", + "Refined6Jets_rel", + "Refined2Jets_vtx", + "Refined3Jets_vtx", + "Refined4Jets_vtx", + "Refined5Jets_vtx", + "Refined6Jets_vtx", + "Refined2Jets_vtx_RP", + "Refined3Jets_vtx_RP", + "Refined4Jets_vtx_RP", + "Refined5Jets_vtx_RP", + "Refined6Jets_vtx_RP", + "RefinedVertex2Jets", + "RefinedVertex3Jets", + "RefinedVertex4Jets", + "RefinedVertex5Jets", + "RefinedVertex6Jets", + "RefinedVertex2Jets_RP", + "RefinedVertex3Jets_RP", + "RefinedVertex4Jets_RP", + "RefinedVertex5Jets_RP", + "RefinedVertex6Jets_RP", + "Refined2JetsEF", + "Refined3JetsEF", + "Refined4JetsEF", + "Refined5JetsEF", + "Refined6JetsEF", + "BCALMCTruthLink", + "MCTruthBcalLink", + "MCTruthTrackLink", + "TrackMCTruthLink", + ], + "DropCollectionTypes": ["Track", "Cluster"], + "LCIOOutputFile": [f"{minidst_args.outputFileBase}.slcio"], + "LCIOWriteMode": ["WRITE_NEW"], + } + + algList.append(LCIOOutputProcessor) + ApplicationMgr( TopAlg=algList, EvtSel="NONE", EvtMax=10, ExtSvc=svcList, OutputLevel=ERROR From 6fa87bddf7e8aef5031be4536c8c3b7454dab0d1 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 20 Nov 2025 10:40:36 +0100 Subject: [PATCH 05/18] Add Gaudi based miniDST workflow to standard chain and CI --- .github/workflows/key4hep.yml | 10 +++++++++- StandardConfig/production/run_standard_workflow.sh | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/key4hep.yml b/.github/workflows/key4hep.yml index 40b22d9..7b93d0b 100644 --- a/.github/workflows/key4hep.yml +++ b/.github/workflows/key4hep.yml @@ -106,7 +106,15 @@ jobs: k4run ILDReconstruction.py \ --inputFiles=bbudsc_3evt_SIM.slcio \ --outputFileBase=bbudsc_3evt_GaudiRec_LCIO_input \ - --detectorModel=${{ matrix.detector_model }} + --detectorModel=${{ matrix.detector_model }} \ + --lcioOutput=on + echo "::endgroup::" + echo "::group::Run mini-DSTing (LCIO input)" + k4run ILDMiniDST.py \ + --inputFiles=bbudsc_3evt_GaudiRec_LCIO_input_DST.slcio \ + --compactFile $k4geo_DIR/ILD/compact/${{ matrix.detector_model }}/${{ matrix.detector_model }}.xml + echo "::endgroup::" + # Reconstruction with the ILD@FCCee models using EDM4hep inputs and outputs gaudi-ILDatFCCee-reco: diff --git a/StandardConfig/production/run_standard_workflow.sh b/StandardConfig/production/run_standard_workflow.sh index 63f30eb..f0516fe 100644 --- a/StandardConfig/production/run_standard_workflow.sh +++ b/StandardConfig/production/run_standard_workflow.sh @@ -84,9 +84,15 @@ MINIDST_CMD="Marlin MarlinStdRecoMiniDST.xml \ --constant.OutputFile=bbudsc_3evt_miniDST.slcio \ --constant.lcgeo_DIR=$k4geo_DIR" +GAUDI_MINIDST="k4run ILDMiniDST.py \ + --inputFiles=bbudsc_3evt_DST.slcio \ + --outputFileBase=bbudsc_3evt_GaudiMiniDST \ + --compactFile $k4geo_DIR/ILD/compact/ILD_l5_v02/ILD_l5_v02.xml" + clear_outputs run_cmd ddsim.out ${DDSIM_CMD} run_cmd marlin.out ${MARLIN_CMD} run_cmd k4run_rec.out ${GAUDI_RECO} run_cmd lctuple.out ${LCTUPLE_CMD} run_cmd minidst.out ${MINIDST_CMD} +run_cmd k4run_minidst.out ${GAUDI_MINIDST} From 42ba803d6a2405bfe3e7e2cbe058a0e648639ed9 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 20 Nov 2025 17:37:20 +0100 Subject: [PATCH 06/18] Add basic version of EDM4hep output --- StandardConfig/production/ILDMiniDST.py | 146 +++++++++++++----------- 1 file changed, 80 insertions(+), 66 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 6061062..f24777d 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -1402,77 +1402,89 @@ algList.append(WWCategorisation) algList.append(ParticleIDFilter) +DROP_COLLECTIONS = [ + "ClusterMCTruthLink", + "MCTruthClusterLink", + "MCTruthMarlinTrkTracksLink", + "MarlinTrkTracksMCTruthLink", + "DistilledPFOs", + "GammaGammaCandidateEtaPrimes", + "GammaGammaCandidateEtas", + "GammaGammaCandidatePi0s", + "GammaGammaParticles", + "V0RecoParticles", + "V0Vertices", + "ProngRecoParticles", + "ProngVertices", + "KinkRecoParticles", + "KinkVertices", + "SplitRecoParticles", + "SplitVertices", + "BuildUpVertex_RP", + "BuildUpVertex", + "BuildUpVertex_V0_RP", + "BuildUpVertex_V0", + "PFOsminusmu", + "PFOsminuse", + "PFOsminustau", + "PFOsminusphoton", + "Vertex2Jets", + "Vertex3Jets", + "Vertex4Jets", + "Vertex5Jets", + "Vertex6Jets", + "Refined2Jets_rel", + "Refined3Jets_rel", + "Refined4Jets_rel", + "Refined5Jets_rel", + "Refined6Jets_rel", + "Refined2Jets_vtx", + "Refined3Jets_vtx", + "Refined4Jets_vtx", + "Refined5Jets_vtx", + "Refined6Jets_vtx", + "Refined2Jets_vtx_RP", + "Refined3Jets_vtx_RP", + "Refined4Jets_vtx_RP", + "Refined5Jets_vtx_RP", + "Refined6Jets_vtx_RP", + "RefinedVertex2Jets", + "RefinedVertex3Jets", + "RefinedVertex4Jets", + "RefinedVertex5Jets", + "RefinedVertex6Jets", + "RefinedVertex2Jets_RP", + "RefinedVertex3Jets_RP", + "RefinedVertex4Jets_RP", + "RefinedVertex5Jets_RP", + "RefinedVertex6Jets_RP", + "Refined2JetsEF", + "Refined3JetsEF", + "Refined4JetsEF", + "Refined5JetsEF", + "Refined6JetsEF", + "BCALMCTruthLink", + "MCTruthBcalLink", + "MCTruthTrackLink", + "TrackMCTruthLink", +] + +if minidst_args.lcioOutput != "only": + output_commands = [f"drop {c}" for c in DROP_COLLECTIONS] + [ + "drop type edm4hep::ClusterCollection", + "drop type edm4hep::TrackCollection", + ] + io_handler.add_edm4hep_writer( + f"{minidst_args.outputFileBase}-miniDST.edm4hep.root", output_commands + ) + + if minidst_args.lcioOutput in ("on", "only"): LCIOOutputProcessor = MarlinProcessorWrapper("LCIOOutputProcessor") LCIOOutputProcessor.ProcessorType = "LCIOOutputProcessor" LCIOOutputProcessor.Parameters = { "CompressionLevel": ["6"], - "DropCollectionNames": [ - "ClusterMCTruthLink", - "MCTruthClusterLink", - "MCTruthMarlinTrkTracksLink", - "MarlinTrkTracksMCTruthLink", - "DistilledPFOs", - "GammaGammaCandidateEtaPrimes", - "GammaGammaCandidateEtas", - "GammaGammaCandidatePi0s", - "GammaGammaParticles", - "V0RecoParticles", - "V0Vertices", - "ProngRecoParticles", - "ProngVertices", - "KinkRecoParticles", - "KinkVertices", - "SplitRecoParticles", - "SplitVertices", - "BuildUpVertex_RP", - "BuildUpVertex", - "BuildUpVertex_V0_RP", - "BuildUpVertex_V0", - "PFOsminusmu", - "PFOsminuse", - "PFOsminustau", - "PFOsminusphoton", - "Vertex2Jets", - "Vertex3Jets", - "Vertex4Jets", - "Vertex5Jets", - "Vertex6Jets", - "Refined2Jets_rel", - "Refined3Jets_rel", - "Refined4Jets_rel", - "Refined5Jets_rel", - "Refined6Jets_rel", - "Refined2Jets_vtx", - "Refined3Jets_vtx", - "Refined4Jets_vtx", - "Refined5Jets_vtx", - "Refined6Jets_vtx", - "Refined2Jets_vtx_RP", - "Refined3Jets_vtx_RP", - "Refined4Jets_vtx_RP", - "Refined5Jets_vtx_RP", - "Refined6Jets_vtx_RP", - "RefinedVertex2Jets", - "RefinedVertex3Jets", - "RefinedVertex4Jets", - "RefinedVertex5Jets", - "RefinedVertex6Jets", - "RefinedVertex2Jets_RP", - "RefinedVertex3Jets_RP", - "RefinedVertex4Jets_RP", - "RefinedVertex5Jets_RP", - "RefinedVertex6Jets_RP", - "Refined2JetsEF", - "Refined3JetsEF", - "Refined4JetsEF", - "Refined5JetsEF", - "Refined6JetsEF", - "BCALMCTruthLink", - "MCTruthBcalLink", - "MCTruthTrackLink", - "TrackMCTruthLink", - ], + "DropCollectionNames": DROP_COLLECTIONS, "DropCollectionTypes": ["Track", "Cluster"], "LCIOOutputFile": [f"{minidst_args.outputFileBase}.slcio"], "LCIOWriteMode": ["WRITE_NEW"], @@ -1481,6 +1493,8 @@ algList.append(LCIOOutputProcessor) +io_handler.finalize_converters() + ApplicationMgr( TopAlg=algList, EvtSel="NONE", EvtMax=10, ExtSvc=svcList, OutputLevel=ERROR ) From 94fad3815f0a969b9340470614470b3ad328c0ef Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Fri, 21 Nov 2025 11:29:02 +0100 Subject: [PATCH 07/18] Cleanup usage of CONSTANTS Use dictionary access everywhere instead of string replacement. Use a list comprehension to generate long lists of repeated values on the fly. --- StandardConfig/production/ILDMiniDST.py | 91 ++++++++----------------- 1 file changed, 27 insertions(+), 64 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index f24777d..1e83387 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -128,8 +128,8 @@ "CosConeSmall": ["0.98"], "CutOnTheISOElectronMVA": ["2"], "CutOnTheISOMuonMVA": ["0.7"], - "DirOfISOElectronWeights": ["%(ElectronIsolationWeightsDir)s" % CONSTANTS], - "DirOfISOMuonWeights": ["%(MuonIsolationWeightsDir)s" % CONSTANTS], + "DirOfISOElectronWeights": [CONSTANTS["ElectronIsolationWeightsDir"]], + "DirOfISOMuonWeights": [CONSTANTS["MuonIsolationWeightsDir"]], "InputPandoraPFOsCollection": ["PandoraPFOs"], "InputPrimaryVertexCollection": ["PrimaryVertex"], "IsSelectingOneIsoLep": ["false"], @@ -158,8 +158,8 @@ "CosConeSmall": ["0.98"], "CutOnTheISOElectronMVA": ["0.5"], "CutOnTheISOMuonMVA": ["2"], - "DirOfISOElectronWeights": ["%(ElectronIsolationWeightsDir)s" % CONSTANTS], - "DirOfISOMuonWeights": ["%(MuonIsolationWeightsDir)s" % CONSTANTS], + "DirOfISOElectronWeights": [CONSTANTS["ElectronIsolationWeightsDir"]], + "DirOfISOMuonWeights": [CONSTANTS["MuonIsolationWeightsDir"]], "InputPandoraPFOsCollection": ["PFOsminusmu"], "InputPrimaryVertexCollection": ["PrimaryVertex"], "IsSelectingOneIsoLep": ["false"], @@ -327,12 +327,12 @@ "vtxmult", "1vtxprob", ], - "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], "FlavorTag.JetCollectionName": ["Refined2Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], - "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], - "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], - "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], + "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], + "FlavorTag.Z0ProbFileName": [CONSTANTS["LCFIPlusZ0ProbFile"]], "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], "JetClustering.JetAlgorithm": ["DurhamVertex"], "JetClustering.MuonIDExternal": ["0"], @@ -499,12 +499,12 @@ "vtxmult", "1vtxprob", ], - "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], "FlavorTag.JetCollectionName": ["Refined3Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], - "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], - "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], - "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], + "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], + "FlavorTag.Z0ProbFileName": [CONSTANTS["LCFIPlusZ0ProbFile"]], "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], "JetClustering.JetAlgorithm": ["DurhamVertex"], "JetClustering.MuonIDExternal": ["0"], @@ -674,12 +674,12 @@ "vtxmult", "1vtxprob", ], - "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], "FlavorTag.JetCollectionName": ["Refined4Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], - "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], - "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], - "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], + "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], + "FlavorTag.Z0ProbFileName": [CONSTANTS["LCFIPlusZ0ProbFile"]], "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], "JetClustering.JetAlgorithm": ["DurhamVertex"], "JetClustering.MuonIDExternal": ["0"], @@ -849,12 +849,12 @@ "vtxmult", "1vtxprob", ], - "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], "FlavorTag.JetCollectionName": ["Refined5Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], - "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], - "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], - "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], + "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], + "FlavorTag.Z0ProbFileName": [CONSTANTS["LCFIPlusZ0ProbFile"]], "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], "JetClustering.JetAlgorithm": ["DurhamVertex"], "JetClustering.MuonIDExternal": ["0"], @@ -1024,12 +1024,12 @@ "vtxmult", "1vtxprob", ], - "FlavorTag.D0ProbFileName": ["%(LCFIPlusD0ProbFile)s" % CONSTANTS], + "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], "FlavorTag.JetCollectionName": ["Refined6Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], - "FlavorTag.WeightsDirectory": ["%(LCFIPlusWeightsDir)s" % CONSTANTS], - "FlavorTag.WeightsPrefix": ["%(LCFIPlusWeightsPrefix)s" % CONSTANTS], - "FlavorTag.Z0ProbFileName": ["%(LCFIPlusZ0ProbFile)s" % CONSTANTS], + "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], + "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], + "FlavorTag.Z0ProbFileName": [CONSTANTS["LCFIPlusZ0ProbFile"]], "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], "JetClustering.JetAlgorithm": ["DurhamVertex"], "JetClustering.MuonIDExternal": ["0"], @@ -1124,48 +1124,11 @@ "Debug": ["0"], "EnergyBoundaries": ["0", "1.0e+07"], "FilePDFName": [ - "%(ProductionDir)s/HighLevelReco/PIDFiles/LikelihoodPID_Standard_l5_v01.root" - % CONSTANTS + f"{CONSTANTS['ProductionDir']}/HighLevelReco/PIDFiles/LikelihoodPID_Standard_l5_v01.root" ], "FileWeightFormupiSeparationName": [ - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_02GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_03GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_04GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_05GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_06GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_07GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_08GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_09GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_10GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_11GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_12GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_13GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_14GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_15GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_16GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_17GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_18GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_19GeVP_clusterinfo.weights.xml" - % CONSTANTS, - "%(ProductionDir)s/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_20GeVP_clusterinfo.weights.xml" - % CONSTANTS, + f"{CONSTANTS['ProductionDir']}/HighLevelReco/PIDFiles/LowMomMuPiSeparation/TMVAClassification_BDTG_l5_{i:02d}GeVP_clusterinfo.weights.xml" + for i in range(2, 21) ], "PIDMethodsToRun_version": ["v2"], "RecoParticleCollection": ["PandoraPFOs"], From aed26570e836ea89c6a4ce5cd5ede6986860275b Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Fri, 21 Nov 2025 11:41:07 +0100 Subject: [PATCH 08/18] Lift common configuration for jet clustering and flavor tagging --- StandardConfig/production/ILDMiniDST.py | 739 +++--------------------- 1 file changed, 74 insertions(+), 665 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 1e83387..752eb43 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -212,9 +212,10 @@ "OutputPFOsWithoutIsoPhotonCollection": ["PFOsminusphoton"], } -JC2FT = MarlinProcessorWrapper("JC2FT") -JC2FT.ProcessorType = "LcfiplusProcessor" -JC2FT.Parameters = { +# Common parameters for all jet clustering and flavor tagging algorithms that +# are run below. The non common ones will be updated accordingly at the specific +# instances +JCFT_COMMON_PARAMETERS = { "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], "FlavorTag.BookName": ["bdt"], "FlavorTag.CategoryDefinition1": ["nvtx==0"], @@ -328,7 +329,6 @@ "1vtxprob", ], "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], - "FlavorTag.JetCollectionName": ["Refined2Jets"], "FlavorTag.PIDAlgo": ["lcfiplus"], "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], @@ -340,8 +340,6 @@ "JetClustering.MuonIDMinimumD0Significance": ["5."], "JetClustering.MuonIDMinimumProbability": ["0.5"], "JetClustering.MuonIDMinimumZ0Significance": ["5."], - "JetClustering.NJetsRequested": ["2"], - "JetClustering.OutputJetCollectionName": ["Vertex2Jets"], "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], "JetClustering.UseBeamJets": ["0"], "JetClustering.UseMuonID": ["1"], @@ -349,7 +347,6 @@ "JetClustering.VertexSelectionMaximumDistance": ["30."], "JetClustering.VertexSelectionMinimumDistance": ["0.3"], "JetClustering.YCut": ["0."], - "JetVertexRefiner.InputJetCollectionName": ["Vertex2Jets"], "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], "JetVertexRefiner.MaxAngleSingle": ["0.5"], "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], @@ -358,8 +355,6 @@ "JetVertexRefiner.MinEnergySingle": ["1."], "JetVertexRefiner.MinPosSingle": ["0.3"], "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined2Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex2Jets"], "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], "JetVertexRefiner.mind0sigSingle": ["5."], @@ -376,6 +371,20 @@ "UseMCP": ["0"], } +JC2FT = MarlinProcessorWrapper("JC2FT") +JC2FT.ProcessorType = "LcfiplusProcessor" +JC2FT.Parameters = JCFT_COMMON_PARAMETERS.copy() +JC2FT.Parameters.update( + { + "FlavorTag.JetCollectionName": ["Refined2Jets"], + "JetClustering.NJetsRequested": ["2"], + "JetClustering.OutputJetCollectionName": ["Vertex2Jets"], + "JetVertexRefiner.InputJetCollectionName": ["Vertex2Jets"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined2Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex2Jets"], + } +) + EF2 = MarlinProcessorWrapper("EF2") EF2.ProcessorType = "ErrorFlow" EF2.Parameters = { @@ -386,170 +395,20 @@ JC3FT = MarlinProcessorWrapper("JC3FT") JC3FT.ProcessorType = "LcfiplusProcessor" -JC3FT.Parameters = { - "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], - "FlavorTag.BookName": ["bdt"], - "FlavorTag.CategoryDefinition1": ["nvtx==0"], - "FlavorTag.CategoryDefinition2": ["nvtx==1&&nvtxall==1"], - "FlavorTag.CategoryDefinition3": ["nvtx==1&&nvtxall==2"], - "FlavorTag.CategoryDefinition4": ["nvtx>=2"], - "FlavorTag.CategoryPreselection1": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection2": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection3": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection4": ["trk1d0sig!=0"], - "FlavorTag.CategorySpectators1": ["aux", "nvtx"], - "FlavorTag.CategorySpectators2": ["aux", "nvtx"], - "FlavorTag.CategorySpectators3": ["aux", "nvtx"], - "FlavorTag.CategorySpectators4": ["aux", "nvtx"], - "FlavorTag.CategoryVariables1": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr25sigma", - "jprobz25sigma", - "d0bprob2", - "d0cprob2", - "d0qprob2", - "z0bprob2", - "z0cprob2", - "z0qprob2", - "nmuon", - "nelectron", - "trkmass", - ], - "FlavorTag.CategoryVariables2": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "d0bprob2", - "d0cprob2", - "d0qprob2", - "z0bprob2", - "z0cprob2", - "z0qprob2", - "trkmass", - "nelectron", - "nmuon", - ], - "FlavorTag.CategoryVariables3": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "1vtxprob", - "vtxlen12all_jete", - "vtxmassall", - ], - "FlavorTag.CategoryVariables4": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "vtxlen2_jete", - "vtxsig2_jete", - "vtxdirang2_jete", - "vtxmom2_jete", - "vtxmass2", - "vtxmult2", - "vtxlen12_jete", - "vtxsig12_jete", - "vtxdirang12_jete", - "vtxmom_jete", - "vtxmass", - "vtxmult", - "1vtxprob", - ], - "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], - "FlavorTag.JetCollectionName": ["Refined3Jets"], - "FlavorTag.PIDAlgo": ["lcfiplus"], - "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], - "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], - "FlavorTag.Z0ProbFileName": [CONSTANTS["LCFIPlusZ0ProbFile"]], - "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], - "JetClustering.JetAlgorithm": ["DurhamVertex"], - "JetClustering.MuonIDExternal": ["0"], - "JetClustering.MuonIDMaximum3DImpactParameter": ["5."], - "JetClustering.MuonIDMinimumD0Significance": ["5."], - "JetClustering.MuonIDMinimumProbability": ["0.5"], - "JetClustering.MuonIDMinimumZ0Significance": ["5."], - "JetClustering.NJetsRequested": ["3"], - "JetClustering.OutputJetCollectionName": ["Vertex3Jets"], - "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], - "JetClustering.UseBeamJets": ["0"], - "JetClustering.UseMuonID": ["1"], - "JetClustering.VertexSelectionK0MassWidth": ["0.02"], - "JetClustering.VertexSelectionMaximumDistance": ["30."], - "JetClustering.VertexSelectionMinimumDistance": ["0.3"], - "JetClustering.YAddedForJetLeptonLepton": ["100"], - "JetClustering.YAddedForJetLeptonVertex": ["100"], - "JetClustering.YAddedForJetVertexVertex": ["100"], - "JetClustering.YCut": ["0."], - "JetVertexRefiner.InputJetCollectionName": ["Vertex3Jets"], - "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], - "JetVertexRefiner.MaxAngleSingle": ["0.5"], - "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], - "JetVertexRefiner.MaxPosSingle": ["30."], - "JetVertexRefiner.MaxSeparationPerPosSingle": ["0.1"], - "JetVertexRefiner.MinEnergySingle": ["1."], - "JetVertexRefiner.MinPosSingle": ["0.3"], - "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined3Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex3Jets"], - "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], - "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], - "JetVertexRefiner.mind0sigSingle": ["5."], - "JetVertexRefiner.minz0sigSingle": ["5."], - "MCPCollection": [], - "MCPFORelation": [], - "MakeNtuple.AuxiliaryInfo": ["-1"], - "PFOCollection": ["PFOsminusphoton"], - "PrimaryVertexCollectionName": ["PrimaryVertex"], - "PrintEventNumber": ["0"], - "ReadSubdetectorEnergies": ["1"], - "TrackHitOrdering": ["1"], - "UpdateVertexRPDaughters": ["0"], - "UseMCP": ["0"], -} +JC3FT.Parameters = JCFT_COMMON_PARAMETERS.copy() +JC3FT.Parameters.update( + { + "FlavorTag.JetCollectionName": ["Refined3Jets"], + "JetClustering.NJetsRequested": ["3"], + "JetClustering.OutputJetCollectionName": ["Vertex3Jets"], + "JetClustering.YAddedForJetLeptonLepton": ["100"], + "JetClustering.YAddedForJetLeptonVertex": ["100"], + "JetClustering.YAddedForJetVertexVertex": ["100"], + "JetVertexRefiner.InputJetCollectionName": ["Vertex3Jets"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined3Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex3Jets"], + } +) EF3 = MarlinProcessorWrapper("EF3") EF3.ProcessorType = "ErrorFlow" @@ -561,170 +420,20 @@ JC4FT = MarlinProcessorWrapper("JC4FT") JC4FT.ProcessorType = "LcfiplusProcessor" -JC4FT.Parameters = { - "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], - "FlavorTag.BookName": ["bdt"], - "FlavorTag.CategoryDefinition1": ["nvtx==0"], - "FlavorTag.CategoryDefinition2": ["nvtx==1&&nvtxall==1"], - "FlavorTag.CategoryDefinition3": ["nvtx==1&&nvtxall==2"], - "FlavorTag.CategoryDefinition4": ["nvtx>=2"], - "FlavorTag.CategoryPreselection1": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection2": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection3": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection4": ["trk1d0sig!=0"], - "FlavorTag.CategorySpectators1": ["aux", "nvtx"], - "FlavorTag.CategorySpectators2": ["aux", "nvtx"], - "FlavorTag.CategorySpectators3": ["aux", "nvtx"], - "FlavorTag.CategorySpectators4": ["aux", "nvtx"], - "FlavorTag.CategoryVariables1": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr25sigma", - "jprobz25sigma", - "d0bprob2", - "d0cprob2", - "d0qprob2", - "z0bprob2", - "z0cprob2", - "z0qprob2", - "nmuon", - "nelectron", - "trkmass", - ], - "FlavorTag.CategoryVariables2": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "d0bprob2", - "d0cprob2", - "d0qprob2", - "z0bprob2", - "z0cprob2", - "z0qprob2", - "trkmass", - "nelectron", - "nmuon", - ], - "FlavorTag.CategoryVariables3": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "1vtxprob", - "vtxlen12all_jete", - "vtxmassall", - ], - "FlavorTag.CategoryVariables4": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "vtxlen2_jete", - "vtxsig2_jete", - "vtxdirang2_jete", - "vtxmom2_jete", - "vtxmass2", - "vtxmult2", - "vtxlen12_jete", - "vtxsig12_jete", - "vtxdirang12_jete", - "vtxmom_jete", - "vtxmass", - "vtxmult", - "1vtxprob", - ], - "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], - "FlavorTag.JetCollectionName": ["Refined4Jets"], - "FlavorTag.PIDAlgo": ["lcfiplus"], - "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], - "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], - "FlavorTag.Z0ProbFileName": [CONSTANTS["LCFIPlusZ0ProbFile"]], - "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], - "JetClustering.JetAlgorithm": ["DurhamVertex"], - "JetClustering.MuonIDExternal": ["0"], - "JetClustering.MuonIDMaximum3DImpactParameter": ["5."], - "JetClustering.MuonIDMinimumD0Significance": ["5."], - "JetClustering.MuonIDMinimumProbability": ["0.5"], - "JetClustering.MuonIDMinimumZ0Significance": ["5."], - "JetClustering.NJetsRequested": ["4"], - "JetClustering.OutputJetCollectionName": ["Vertex4Jets"], - "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], - "JetClustering.UseBeamJets": ["0"], - "JetClustering.UseMuonID": ["1"], - "JetClustering.VertexSelectionK0MassWidth": ["0.02"], - "JetClustering.VertexSelectionMaximumDistance": ["30."], - "JetClustering.VertexSelectionMinimumDistance": ["0.3"], - "JetClustering.YAddedForJetLeptonLepton": ["100"], - "JetClustering.YAddedForJetLeptonVertex": ["100"], - "JetClustering.YAddedForJetVertexVertex": ["100"], - "JetClustering.YCut": ["0."], - "JetVertexRefiner.InputJetCollectionName": ["Vertex4Jets"], - "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], - "JetVertexRefiner.MaxAngleSingle": ["0.5"], - "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], - "JetVertexRefiner.MaxPosSingle": ["30."], - "JetVertexRefiner.MaxSeparationPerPosSingle": ["0.1"], - "JetVertexRefiner.MinEnergySingle": ["1."], - "JetVertexRefiner.MinPosSingle": ["0.3"], - "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined4Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex4Jets"], - "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], - "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], - "JetVertexRefiner.mind0sigSingle": ["5."], - "JetVertexRefiner.minz0sigSingle": ["5."], - "MCPCollection": [], - "MCPFORelation": [], - "MakeNtuple.AuxiliaryInfo": ["-1"], - "PFOCollection": ["PFOsminusphoton"], - "PrimaryVertexCollectionName": ["PrimaryVertex"], - "PrintEventNumber": ["0"], - "ReadSubdetectorEnergies": ["1"], - "TrackHitOrdering": ["1"], - "UpdateVertexRPDaughters": ["0"], - "UseMCP": ["0"], -} +JC4FT.Parameters = JCFT_COMMON_PARAMETERS.copy() +JC4FT.Parameters.update( + { + "FlavorTag.JetCollectionName": ["Refined4Jets"], + "JetClustering.NJetsRequested": ["4"], + "JetClustering.OutputJetCollectionName": ["Vertex4Jets"], + "JetClustering.YAddedForJetLeptonLepton": ["100"], + "JetClustering.YAddedForJetLeptonVertex": ["100"], + "JetClustering.YAddedForJetVertexVertex": ["100"], + "JetVertexRefiner.InputJetCollectionName": ["Vertex4Jets"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined4Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex4Jets"], + } +) EF4 = MarlinProcessorWrapper("EF4") EF4.ProcessorType = "ErrorFlow" @@ -736,170 +445,20 @@ JC5FT = MarlinProcessorWrapper("JC5FT") JC5FT.ProcessorType = "LcfiplusProcessor" -JC5FT.Parameters = { - "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], - "FlavorTag.BookName": ["bdt"], - "FlavorTag.CategoryDefinition1": ["nvtx==0"], - "FlavorTag.CategoryDefinition2": ["nvtx==1&&nvtxall==1"], - "FlavorTag.CategoryDefinition3": ["nvtx==1&&nvtxall==2"], - "FlavorTag.CategoryDefinition4": ["nvtx>=2"], - "FlavorTag.CategoryPreselection1": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection2": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection3": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection4": ["trk1d0sig!=0"], - "FlavorTag.CategorySpectators1": ["aux", "nvtx"], - "FlavorTag.CategorySpectators2": ["aux", "nvtx"], - "FlavorTag.CategorySpectators3": ["aux", "nvtx"], - "FlavorTag.CategorySpectators4": ["aux", "nvtx"], - "FlavorTag.CategoryVariables1": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr25sigma", - "jprobz25sigma", - "d0bprob2", - "d0cprob2", - "d0qprob2", - "z0bprob2", - "z0cprob2", - "z0qprob2", - "nmuon", - "nelectron", - "trkmass", - ], - "FlavorTag.CategoryVariables2": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "d0bprob2", - "d0cprob2", - "d0qprob2", - "z0bprob2", - "z0cprob2", - "z0qprob2", - "trkmass", - "nelectron", - "nmuon", - ], - "FlavorTag.CategoryVariables3": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "1vtxprob", - "vtxlen12all_jete", - "vtxmassall", - ], - "FlavorTag.CategoryVariables4": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "vtxlen2_jete", - "vtxsig2_jete", - "vtxdirang2_jete", - "vtxmom2_jete", - "vtxmass2", - "vtxmult2", - "vtxlen12_jete", - "vtxsig12_jete", - "vtxdirang12_jete", - "vtxmom_jete", - "vtxmass", - "vtxmult", - "1vtxprob", - ], - "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], - "FlavorTag.JetCollectionName": ["Refined5Jets"], - "FlavorTag.PIDAlgo": ["lcfiplus"], - "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], - "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], - "FlavorTag.Z0ProbFileName": [CONSTANTS["LCFIPlusZ0ProbFile"]], - "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], - "JetClustering.JetAlgorithm": ["DurhamVertex"], - "JetClustering.MuonIDExternal": ["0"], - "JetClustering.MuonIDMaximum3DImpactParameter": ["5."], - "JetClustering.MuonIDMinimumD0Significance": ["5."], - "JetClustering.MuonIDMinimumProbability": ["0.5"], - "JetClustering.MuonIDMinimumZ0Significance": ["5."], - "JetClustering.NJetsRequested": ["5"], - "JetClustering.OutputJetCollectionName": ["Vertex5Jets"], - "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], - "JetClustering.UseBeamJets": ["0"], - "JetClustering.UseMuonID": ["1"], - "JetClustering.VertexSelectionK0MassWidth": ["0.02"], - "JetClustering.VertexSelectionMaximumDistance": ["30."], - "JetClustering.VertexSelectionMinimumDistance": ["0.3"], - "JetClustering.YAddedForJetLeptonLepton": ["100"], - "JetClustering.YAddedForJetLeptonVertex": ["100"], - "JetClustering.YAddedForJetVertexVertex": ["100"], - "JetClustering.YCut": ["0."], - "JetVertexRefiner.InputJetCollectionName": ["Vertex5Jets"], - "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], - "JetVertexRefiner.MaxAngleSingle": ["0.5"], - "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], - "JetVertexRefiner.MaxPosSingle": ["30."], - "JetVertexRefiner.MaxSeparationPerPosSingle": ["0.1"], - "JetVertexRefiner.MinEnergySingle": ["1."], - "JetVertexRefiner.MinPosSingle": ["0.3"], - "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined5Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex5Jets"], - "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], - "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], - "JetVertexRefiner.mind0sigSingle": ["5."], - "JetVertexRefiner.minz0sigSingle": ["5."], - "MCPCollection": [], - "MCPFORelation": [], - "MakeNtuple.AuxiliaryInfo": ["-1"], - "PFOCollection": ["PFOsminusphoton"], - "PrimaryVertexCollectionName": ["PrimaryVertex"], - "PrintEventNumber": ["0"], - "ReadSubdetectorEnergies": ["1"], - "TrackHitOrdering": ["1"], - "UpdateVertexRPDaughters": ["0"], - "UseMCP": ["0"], -} +JC5FT.Parameters = JCFT_COMMON_PARAMETERS.copy() +JC5FT.Parameters.update( + { + "FlavorTag.JetCollectionName": ["Refined5Jets"], + "JetClustering.NJetsRequested": ["5"], + "JetClustering.OutputJetCollectionName": ["Vertex5Jets"], + "JetClustering.YAddedForJetLeptonLepton": ["100"], + "JetClustering.YAddedForJetLeptonVertex": ["100"], + "JetClustering.YAddedForJetVertexVertex": ["100"], + "JetVertexRefiner.InputJetCollectionName": ["Vertex5Jets"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined5Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex5Jets"], + } +) EF5 = MarlinProcessorWrapper("EF5") EF5.ProcessorType = "ErrorFlow" @@ -911,170 +470,20 @@ JC6FT = MarlinProcessorWrapper("JC6FT") JC6FT.ProcessorType = "LcfiplusProcessor" -JC6FT.Parameters = { - "Algorithms": ["JetClustering", "JetVertexRefiner", "FlavorTag", "ReadMVA"], - "FlavorTag.BookName": ["bdt"], - "FlavorTag.CategoryDefinition1": ["nvtx==0"], - "FlavorTag.CategoryDefinition2": ["nvtx==1&&nvtxall==1"], - "FlavorTag.CategoryDefinition3": ["nvtx==1&&nvtxall==2"], - "FlavorTag.CategoryDefinition4": ["nvtx>=2"], - "FlavorTag.CategoryPreselection1": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection2": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection3": ["trk1d0sig!=0"], - "FlavorTag.CategoryPreselection4": ["trk1d0sig!=0"], - "FlavorTag.CategorySpectators1": ["aux", "nvtx"], - "FlavorTag.CategorySpectators2": ["aux", "nvtx"], - "FlavorTag.CategorySpectators3": ["aux", "nvtx"], - "FlavorTag.CategorySpectators4": ["aux", "nvtx"], - "FlavorTag.CategoryVariables1": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr25sigma", - "jprobz25sigma", - "d0bprob2", - "d0cprob2", - "d0qprob2", - "z0bprob2", - "z0cprob2", - "z0qprob2", - "nmuon", - "nelectron", - "trkmass", - ], - "FlavorTag.CategoryVariables2": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "d0bprob2", - "d0cprob2", - "d0qprob2", - "z0bprob2", - "z0cprob2", - "z0qprob2", - "trkmass", - "nelectron", - "nmuon", - ], - "FlavorTag.CategoryVariables3": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "1vtxprob", - "vtxlen12all_jete", - "vtxmassall", - ], - "FlavorTag.CategoryVariables4": [ - "trk1d0sig", - "trk2d0sig", - "trk1z0sig", - "trk2z0sig", - "trk1pt_jete", - "trk2pt_jete", - "jprobr2", - "jprobz2", - "vtxlen1_jete", - "vtxsig1_jete", - "vtxdirang1_jete", - "vtxmom1_jete", - "vtxmass1", - "vtxmult1", - "vtxmasspc", - "vtxprob", - "vtxlen2_jete", - "vtxsig2_jete", - "vtxdirang2_jete", - "vtxmom2_jete", - "vtxmass2", - "vtxmult2", - "vtxlen12_jete", - "vtxsig12_jete", - "vtxdirang12_jete", - "vtxmom_jete", - "vtxmass", - "vtxmult", - "1vtxprob", - ], - "FlavorTag.D0ProbFileName": [CONSTANTS["LCFIPlusD0ProbFile"]], - "FlavorTag.JetCollectionName": ["Refined6Jets"], - "FlavorTag.PIDAlgo": ["lcfiplus"], - "FlavorTag.WeightsDirectory": [CONSTANTS["LCFIPlusWeightsDir"]], - "FlavorTag.WeightsPrefix": [CONSTANTS["LCFIPlusWeightsPrefix"]], - "FlavorTag.Z0ProbFileName": [CONSTANTS["LCFIPlusZ0ProbFile"]], - "JetClustering.InputVertexCollectionName": ["BuildUpVertex"], - "JetClustering.JetAlgorithm": ["DurhamVertex"], - "JetClustering.MuonIDExternal": ["0"], - "JetClustering.MuonIDMaximum3DImpactParameter": ["5."], - "JetClustering.MuonIDMinimumD0Significance": ["5."], - "JetClustering.MuonIDMinimumProbability": ["0.5"], - "JetClustering.MuonIDMinimumZ0Significance": ["5."], - "JetClustering.NJetsRequested": ["6"], - "JetClustering.OutputJetCollectionName": ["Vertex6Jets"], - "JetClustering.PrimaryVertexCollectionName": ["PrimaryVertex"], - "JetClustering.UseBeamJets": ["0"], - "JetClustering.UseMuonID": ["1"], - "JetClustering.VertexSelectionK0MassWidth": ["0.02"], - "JetClustering.VertexSelectionMaximumDistance": ["30."], - "JetClustering.VertexSelectionMinimumDistance": ["0.3"], - "JetClustering.YAddedForJetLeptonLepton": ["100"], - "JetClustering.YAddedForJetLeptonVertex": ["100"], - "JetClustering.YAddedForJetVertexVertex": ["100"], - "JetClustering.YCut": ["0."], - "JetVertexRefiner.InputJetCollectionName": ["Vertex6Jets"], - "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], - "JetVertexRefiner.MaxAngleSingle": ["0.5"], - "JetVertexRefiner.MaxCharmFlightLengthPerJetEnergy": ["0.1"], - "JetVertexRefiner.MaxPosSingle": ["30."], - "JetVertexRefiner.MaxSeparationPerPosSingle": ["0.1"], - "JetVertexRefiner.MinEnergySingle": ["1."], - "JetVertexRefiner.MinPosSingle": ["0.3"], - "JetVertexRefiner.OneVertexProbThreshold": ["0.001"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined6Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex6Jets"], - "JetVertexRefiner.PrimaryVertexCollectionName": ["PrimaryVertex"], - "JetVertexRefiner.V0VertexCollectionName": ["BuildUpVertex_V0"], - "JetVertexRefiner.mind0sigSingle": ["5."], - "JetVertexRefiner.minz0sigSingle": ["5."], - "MCPCollection": [], - "MCPFORelation": [], - "MakeNtuple.AuxiliaryInfo": ["-1"], - "PFOCollection": ["PFOsminusphoton"], - "PrimaryVertexCollectionName": ["PrimaryVertex"], - "PrintEventNumber": ["0"], - "ReadSubdetectorEnergies": ["1"], - "TrackHitOrdering": ["1"], - "UpdateVertexRPDaughters": ["0"], - "UseMCP": ["0"], -} +JC6FT.Parameters = JCFT_COMMON_PARAMETERS.copy() +JC6FT.Parameters.update( + { + "FlavorTag.JetCollectionName": ["Refined6Jets"], + "JetClustering.NJetsRequested": ["6"], + "JetClustering.OutputJetCollectionName": ["Vertex6Jets"], + "JetClustering.YAddedForJetLeptonLepton": ["100"], + "JetClustering.YAddedForJetLeptonVertex": ["100"], + "JetClustering.YAddedForJetVertexVertex": ["100"], + "JetVertexRefiner.InputJetCollectionName": ["Vertex6Jets"], + "JetVertexRefiner.OutputJetCollectionName": ["Refined6Jets"], + "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex6Jets"], + } +) EF6 = MarlinProcessorWrapper("EF6") EF6.ProcessorType = "ErrorFlow" From d67f50abcc3b472d1af8ae275efb508002f5ab82 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Fri, 21 Nov 2025 11:42:29 +0100 Subject: [PATCH 09/18] Move more configuration to common block JC2FT is the only one that doesn't define this, but the values of 100 are the default values of the JetClustering configuration. --- StandardConfig/production/ILDMiniDST.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 752eb43..5b2bd9c 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -346,6 +346,9 @@ "JetClustering.VertexSelectionK0MassWidth": ["0.02"], "JetClustering.VertexSelectionMaximumDistance": ["30."], "JetClustering.VertexSelectionMinimumDistance": ["0.3"], + "JetClustering.YAddedForJetLeptonLepton": ["100"], + "JetClustering.YAddedForJetLeptonVertex": ["100"], + "JetClustering.YAddedForJetVertexVertex": ["100"], "JetClustering.YCut": ["0."], "JetVertexRefiner.InputVertexCollectionName": ["BuildUpVertex"], "JetVertexRefiner.MaxAngleSingle": ["0.5"], @@ -401,9 +404,6 @@ "FlavorTag.JetCollectionName": ["Refined3Jets"], "JetClustering.NJetsRequested": ["3"], "JetClustering.OutputJetCollectionName": ["Vertex3Jets"], - "JetClustering.YAddedForJetLeptonLepton": ["100"], - "JetClustering.YAddedForJetLeptonVertex": ["100"], - "JetClustering.YAddedForJetVertexVertex": ["100"], "JetVertexRefiner.InputJetCollectionName": ["Vertex3Jets"], "JetVertexRefiner.OutputJetCollectionName": ["Refined3Jets"], "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex3Jets"], @@ -426,9 +426,6 @@ "FlavorTag.JetCollectionName": ["Refined4Jets"], "JetClustering.NJetsRequested": ["4"], "JetClustering.OutputJetCollectionName": ["Vertex4Jets"], - "JetClustering.YAddedForJetLeptonLepton": ["100"], - "JetClustering.YAddedForJetLeptonVertex": ["100"], - "JetClustering.YAddedForJetVertexVertex": ["100"], "JetVertexRefiner.InputJetCollectionName": ["Vertex4Jets"], "JetVertexRefiner.OutputJetCollectionName": ["Refined4Jets"], "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex4Jets"], @@ -451,9 +448,6 @@ "FlavorTag.JetCollectionName": ["Refined5Jets"], "JetClustering.NJetsRequested": ["5"], "JetClustering.OutputJetCollectionName": ["Vertex5Jets"], - "JetClustering.YAddedForJetLeptonLepton": ["100"], - "JetClustering.YAddedForJetLeptonVertex": ["100"], - "JetClustering.YAddedForJetVertexVertex": ["100"], "JetVertexRefiner.InputJetCollectionName": ["Vertex5Jets"], "JetVertexRefiner.OutputJetCollectionName": ["Refined5Jets"], "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex5Jets"], @@ -476,9 +470,6 @@ "FlavorTag.JetCollectionName": ["Refined6Jets"], "JetClustering.NJetsRequested": ["6"], "JetClustering.OutputJetCollectionName": ["Vertex6Jets"], - "JetClustering.YAddedForJetLeptonLepton": ["100"], - "JetClustering.YAddedForJetLeptonVertex": ["100"], - "JetClustering.YAddedForJetVertexVertex": ["100"], "JetVertexRefiner.InputJetCollectionName": ["Vertex6Jets"], "JetVertexRefiner.OutputJetCollectionName": ["Refined6Jets"], "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex6Jets"], From 621d8b239b79bfca2f61cb88160cd880fc54b40e Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Fri, 21 Nov 2025 11:50:19 +0100 Subject: [PATCH 10/18] Lift common isolated lepton tagging configuration --- StandardConfig/production/ILDMiniDST.py | 73 ++++++++++++------------- 1 file changed, 34 insertions(+), 39 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 5b2bd9c..dde5333 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -120,65 +120,60 @@ "NameOfReconstructedParticlesCollection": ["PandoraPFOs"], } -IsolatedMuonTagging = MarlinProcessorWrapper("IsolatedMuonTagging") -IsolatedMuonTagging.OutputLevel = FATAL -IsolatedMuonTagging.ProcessorType = "IsolatedLeptonTaggingProcessor" -IsolatedMuonTagging.Parameters = { +# Common parameters for isolated lepton tagging processors +ISOLATED_LEPTON_COMMON_PARAMETERS = { "CosConeLarge": ["0.95"], "CosConeSmall": ["0.98"], - "CutOnTheISOElectronMVA": ["2"], - "CutOnTheISOMuonMVA": ["0.7"], "DirOfISOElectronWeights": [CONSTANTS["ElectronIsolationWeightsDir"]], "DirOfISOMuonWeights": [CONSTANTS["MuonIsolationWeightsDir"]], - "InputPandoraPFOsCollection": ["PandoraPFOs"], "InputPrimaryVertexCollection": ["PrimaryVertex"], "IsSelectingOneIsoLep": ["false"], - "MaxD0SigForElectron": ["50"], - "MaxD0SigForMuon": ["20"], "MaxEOverPForElectron": ["1.3"], "MaxEOverPForMuon": ["0.3"], - "MaxZ0SigForElectron": ["50"], - "MaxZ0SigForMuon": ["20"], "MinEOverPForElectron": ["0.5"], "MinEecalOverTotEForElectron": ["0.9"], "MinEyokeForMuon": ["1.2"], "MinPForElectron": ["5"], "MinPForMuon": ["5"], - "OutputIsoLeptonsCollection": ["IsolatedMuons"], - "OutputPFOsWithoutIsoLepCollection": ["PFOsminusmu"], "UseIP": ["true"], "UseYokeForMuonID": ["true"], } +IsolatedMuonTagging = MarlinProcessorWrapper("IsolatedMuonTagging") +IsolatedMuonTagging.OutputLevel = FATAL +IsolatedMuonTagging.ProcessorType = "IsolatedLeptonTaggingProcessor" +IsolatedMuonTagging.Parameters = ISOLATED_LEPTON_COMMON_PARAMETERS.copy() +IsolatedMuonTagging.Parameters.update( + { + "CutOnTheISOElectronMVA": ["2"], + "CutOnTheISOMuonMVA": ["0.7"], + "InputPandoraPFOsCollection": ["PandoraPFOs"], + "MaxD0SigForElectron": ["50"], + "MaxD0SigForMuon": ["20"], + "MaxZ0SigForElectron": ["50"], + "MaxZ0SigForMuon": ["20"], + "OutputIsoLeptonsCollection": ["IsolatedMuons"], + "OutputPFOsWithoutIsoLepCollection": ["PFOsminusmu"], + } +) + IsolatedElectronTagging = MarlinProcessorWrapper("IsolatedElectronTagging") IsolatedElectronTagging.OutputLevel = FATAL IsolatedElectronTagging.ProcessorType = "IsolatedLeptonTaggingProcessor" -IsolatedElectronTagging.Parameters = { - "CosConeLarge": ["0.95"], - "CosConeSmall": ["0.98"], - "CutOnTheISOElectronMVA": ["0.5"], - "CutOnTheISOMuonMVA": ["2"], - "DirOfISOElectronWeights": [CONSTANTS["ElectronIsolationWeightsDir"]], - "DirOfISOMuonWeights": [CONSTANTS["MuonIsolationWeightsDir"]], - "InputPandoraPFOsCollection": ["PFOsminusmu"], - "InputPrimaryVertexCollection": ["PrimaryVertex"], - "IsSelectingOneIsoLep": ["false"], - "MaxD0SigForElectron": ["10"], - "MaxD0SigForMuon": ["10"], - "MaxEOverPForElectron": ["1.3"], - "MaxEOverPForMuon": ["0.3"], - "MaxZ0SigForElectron": ["10"], - "MaxZ0SigForMuon": ["10"], - "MinEOverPForElectron": ["0.5"], - "MinEecalOverTotEForElectron": ["0.9"], - "MinEyokeForMuon": ["1.2"], - "MinPForElectron": ["5"], - "MinPForMuon": ["5"], - "OutputIsoLeptonsCollection": ["IsolatedElectrons"], - "OutputPFOsWithoutIsoLepCollection": ["PFOsminuse"], - "UseIP": ["true"], - "UseYokeForMuonID": ["true"], -} +IsolatedElectronTagging.Parameters = ISOLATED_LEPTON_COMMON_PARAMETERS.copy() +IsolatedElectronTagging.Parameters.update( + { + "CutOnTheISOElectronMVA": ["0.5"], + "CutOnTheISOMuonMVA": ["2"], + "InputPandoraPFOsCollection": ["PFOsminusmu"], + "MaxD0SigForElectron": ["10"], + "MaxD0SigForMuon": ["10"], + "MaxZ0SigForElectron": ["10"], + "MaxZ0SigForMuon": ["10"], + "OutputIsoLeptonsCollection": ["IsolatedElectrons"], + "OutputPFOsWithoutIsoLepCollection": ["PFOsminuse"], + } +) IsolatedTauTagging = MarlinProcessorWrapper("IsolatedTauTagging") IsolatedTauTagging.ProcessorType = "TaJetClustering" From 71632ca0a7cd2c03e17e1f430eaab3be74b79572 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Fri, 21 Nov 2025 11:51:16 +0100 Subject: [PATCH 11/18] Lift common configuration for CPID processors --- StandardConfig/production/ILDMiniDST.py | 110 ++++++++---------------- 1 file changed, 37 insertions(+), 73 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index dde5333..1ccc0d0 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -579,15 +579,8 @@ ], } -ComprehensivePID_singleP = MarlinProcessorWrapper("ComprehensivePID_singleP") -ComprehensivePID_singleP.ProcessorType = "ComprehensivePIDProcessor" -ComprehensivePID_singleP.Parameters = { - "CPID_singleP_16bins_cons.S": [ - "!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", - "SplitMode=Random:NormMode=NumEvents:!V", - "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", - "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900", - ], +# Common parameters for ComprehensivePID processors +COMPREHENSIVE_PID_COMMON_PARAMETERS = { "PFOCollection": ["PandoraPFOs"], "RecoMCTruthLink": ["RecoMCTruthLink"], "TOF100.S": ["TOFEstimators100ps"], @@ -632,77 +625,48 @@ "modeExtract": ["true"], "modeInfer": ["true"], "modeTrain": ["false"], - "momLog": ["true"], - "momMax": ["100"], - "momMin": ["1"], - "momNBins": ["12"], - "plotFolder": ["CPID_Plots/singleP/"], - "reffile": ["HighLevelReco/PIDFiles/CPID/Ref_singleP_16bins_conservative.txt"], "signalPDGs": ["11", "13", "211", "321", "2212"], - "trainModelSpecs": ["TMVA_BDT_MC:CPID_singleP_16bins_cons"], "trainingObservables": [], } +ComprehensivePID_singleP = MarlinProcessorWrapper("ComprehensivePID_singleP") +ComprehensivePID_singleP.ProcessorType = "ComprehensivePIDProcessor" +ComprehensivePID_singleP.Parameters = COMPREHENSIVE_PID_COMMON_PARAMETERS.copy() +ComprehensivePID_singleP.Parameters.update( + { + "CPID_singleP_16bins_cons.S": [ + "!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", + "SplitMode=Random:NormMode=NumEvents:!V", + "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", + "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900", + ], + "momLog": ["true"], + "momMax": ["100"], + "momMin": ["1"], + "momNBins": ["12"], + "plotFolder": ["CPID_Plots/singleP/"], + "reffile": ["HighLevelReco/PIDFiles/CPID/Ref_singleP_16bins_conservative.txt"], + "trainModelSpecs": ["TMVA_BDT_MC:CPID_singleP_16bins_cons"], + } +) + ComprehensivePID_2fZhad = MarlinProcessorWrapper("ComprehensivePID_2fZhad") ComprehensivePID_2fZhad.OutputLevel = DEBUG ComprehensivePID_2fZhad.ProcessorType = "ComprehensivePIDProcessor" -ComprehensivePID_2fZhad.Parameters = { - "CPID_2fZhad_18bins_cons.S": [ - "!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", - "SplitMode=Random:NormMode=NumEvents:!V", - "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", - "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900", - ], - "PFOCollection": ["PandoraPFOs"], - "RecoMCTruthLink": ["RecoMCTruthLink"], - "TOF100.S": ["TOFEstimators100ps"], - "TTreeFileName": [], - "backgroundPDGs": [], - "cutD0": ["0"], - "cutLamMax": ["0"], - "cutLamMin": ["0"], - "cutNTracksMax": ["-1"], - "cutNTracksMin": ["1"], - "cutZ0": ["0"], - "dEdx_RCD.F": [ - "-1.28883368e-02", - "2.72959919e+01", - "1.10560871e+01", - "-1.74534200e+00", - "-9.84887586e-07", - "6.49143971e-02", - "1.55775592e+03", - "9.31848047e+08", - "2.32201725e-01", - "2.50492066e-04", - "6.54955215e-02", - "8.26239081e+04", - "1.92933904e+07", - "2.52743206e-01", - "2.26657525e-04", - "7.52235689e-02", - "1.59710415e+04", - "1.79625604e+06", - "3.15315795e-01", - "2.30414997e-04", - "7.92251260e-02", - "6.38129720e+04", - "3.82995071e+04", - "2.80793601e-01", - "7.14371743e-04", - "1", - ], - "fileFormat": [".png"], - "inputAlgoSpecs": ["dEdx_RCD:dEdx_RCD", "TOF:TOF100", "Pandora", "LeptonID"], - "modeExtract": ["true"], - "modeInfer": ["true"], - "modeTrain": ["false"], - "plotFolder": ["CPID_Plots/2fZhad/"], - "reffile": ["HighLevelReco/PIDFiles/CPID/Ref_2fZhad_18bins_conservative.txt"], - "signalPDGs": ["11", "13", "211", "321", "2212"], - "trainModelSpecs": ["TMVA_BDT_MC:CPID_2fZhad_18bins_cons"], - "trainingObservables": [], -} +ComprehensivePID_2fZhad.Parameters = COMPREHENSIVE_PID_COMMON_PARAMETERS.copy() +ComprehensivePID_2fZhad.Parameters.update( + { + "CPID_2fZhad_18bins_cons.S": [ + "!V:!Silent:Color:DrawProgressBar:Transformations=I;D;P;G,D:AnalysisType=multiclass", + "SplitMode=Random:NormMode=NumEvents:!V", + "!V:!H:NTrees=1000:BoostType=Grad:Shrinkage=0.10:UseBaggedBoost:BaggedSampleFraction=0.50:nCuts=30:MaxDepth=5", + "dEdx_RCD_piDis>-900&&dEdx_RCD_kaDis>-900", + ], + "plotFolder": ["CPID_Plots/2fZhad/"], + "reffile": ["HighLevelReco/PIDFiles/CPID/Ref_2fZhad_18bins_conservative.txt"], + "trainModelSpecs": ["TMVA_BDT_MC:CPID_2fZhad_18bins_cons"], + } +) WWCategorisation = MarlinProcessorWrapper("WWCategorisation") WWCategorisation.ProcessorType = "WWCategorisationProcessor" From 00e0def4eddfdb3d6cbfc275313e43bbf68cd9d5 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Fri, 21 Nov 2025 15:28:48 +0100 Subject: [PATCH 12/18] Create jet clustering and flavor tagging dynamically --- StandardConfig/production/ILDMiniDST.py | 160 +++++------------------- 1 file changed, 33 insertions(+), 127 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 1ccc0d0..5a395bc 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -82,6 +82,7 @@ Statusmonitor.Parameters = { "HowOften": ["1000"], } +algList.append(Statusmonitor) FastJetOverlay = MarlinProcessorWrapper("FastJetOverlay") FastJetOverlay.ProcessorType = "FastJetProcessor" @@ -92,6 +93,7 @@ "recParticleIn": ["PandoraPFOs"], "recombinationScheme": ["E_scheme"], } +# algList.append(FastJetOverlay) ExpandJet = MarlinProcessorWrapper("ExpandJet") ExpandJet.ProcessorType = "ExpandJetProcessor" @@ -99,6 +101,7 @@ "InputCollection": ["PFOsminusoverlayJets"], "OutputCollection": ["PFOsminusoverlay"], } +# algList.append(ExpandJet) Thrust = MarlinProcessorWrapper("Thrust") Thrust.ProcessorType = "ThrustReconstruction" @@ -106,6 +109,7 @@ "inputCollectionName": ["PandoraPFOs"], "typeOfThrustFinder": ["2"], } +algList.append(Thrust) Sphere = MarlinProcessorWrapper("Sphere") Sphere.ProcessorType = "Sphere" @@ -113,12 +117,14 @@ "CollectionName": ["PandoraPFOs"], "r_value": ["2.0"], } +algList.append(Sphere) Fox = MarlinProcessorWrapper("Fox") Fox.ProcessorType = "Fox" Fox.Parameters = { "NameOfReconstructedParticlesCollection": ["PandoraPFOs"], } +algList.append(Fox) # Common parameters for isolated lepton tagging processors ISOLATED_LEPTON_COMMON_PARAMETERS = { @@ -156,6 +162,7 @@ "OutputPFOsWithoutIsoLepCollection": ["PFOsminusmu"], } ) +algList.append(IsolatedMuonTagging) IsolatedElectronTagging = MarlinProcessorWrapper("IsolatedElectronTagging") IsolatedElectronTagging.OutputLevel = FATAL @@ -174,6 +181,7 @@ "OutputPFOsWithoutIsoLepCollection": ["PFOsminuse"], } ) +algList.append(IsolatedElectronTagging) IsolatedTauTagging = MarlinProcessorWrapper("IsolatedTauTagging") IsolatedTauTagging.ProcessorType = "TaJetClustering" @@ -192,6 +200,7 @@ "TauCosAngle": ["0.98"], "TauMass": ["2"], } +algList.append(IsolatedTauTagging) IsolatedPhotonTagging = MarlinProcessorWrapper("IsolatedPhotonTagging") IsolatedPhotonTagging.ProcessorType = "IsolatedPhotonTaggingProcessor" @@ -206,6 +215,7 @@ "OutputIsoPhotonsCollection": ["IsolatedPhotons"], "OutputPFOsWithoutIsoPhotonCollection": ["PFOsminusphoton"], } +algList.append(IsolatedPhotonTagging) # Common parameters for all jet clustering and flavor tagging algorithms that # are run below. The non common ones will be updated accordingly at the specific @@ -369,115 +379,30 @@ "UseMCP": ["0"], } -JC2FT = MarlinProcessorWrapper("JC2FT") -JC2FT.ProcessorType = "LcfiplusProcessor" -JC2FT.Parameters = JCFT_COMMON_PARAMETERS.copy() -JC2FT.Parameters.update( - { - "FlavorTag.JetCollectionName": ["Refined2Jets"], - "JetClustering.NJetsRequested": ["2"], - "JetClustering.OutputJetCollectionName": ["Vertex2Jets"], - "JetVertexRefiner.InputJetCollectionName": ["Vertex2Jets"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined2Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex2Jets"], - } -) - -EF2 = MarlinProcessorWrapper("EF2") -EF2.ProcessorType = "ErrorFlow" -EF2.Parameters = { - "InputMCTruthLinkCollection": ["RecoMCTruthLink"], - "InputPFOCollection": ["Refined2Jets"], - "OutputPFOCollection": ["Refined2JetsEF"], -} - -JC3FT = MarlinProcessorWrapper("JC3FT") -JC3FT.ProcessorType = "LcfiplusProcessor" -JC3FT.Parameters = JCFT_COMMON_PARAMETERS.copy() -JC3FT.Parameters.update( - { - "FlavorTag.JetCollectionName": ["Refined3Jets"], - "JetClustering.NJetsRequested": ["3"], - "JetClustering.OutputJetCollectionName": ["Vertex3Jets"], - "JetVertexRefiner.InputJetCollectionName": ["Vertex3Jets"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined3Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex3Jets"], - } -) - -EF3 = MarlinProcessorWrapper("EF3") -EF3.ProcessorType = "ErrorFlow" -EF3.Parameters = { - "InputMCTruthLinkCollection": ["RecoMCTruthLink"], - "InputPFOCollection": ["Refined3Jets"], - "OutputPFOCollection": ["Refined3JetsEF"], -} - -JC4FT = MarlinProcessorWrapper("JC4FT") -JC4FT.ProcessorType = "LcfiplusProcessor" -JC4FT.Parameters = JCFT_COMMON_PARAMETERS.copy() -JC4FT.Parameters.update( - { - "FlavorTag.JetCollectionName": ["Refined4Jets"], - "JetClustering.NJetsRequested": ["4"], - "JetClustering.OutputJetCollectionName": ["Vertex4Jets"], - "JetVertexRefiner.InputJetCollectionName": ["Vertex4Jets"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined4Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex4Jets"], - } -) - -EF4 = MarlinProcessorWrapper("EF4") -EF4.ProcessorType = "ErrorFlow" -EF4.Parameters = { - "InputMCTruthLinkCollection": ["RecoMCTruthLink"], - "InputPFOCollection": ["Refined4Jets"], - "OutputPFOCollection": ["Refined4JetsEF"], -} - -JC5FT = MarlinProcessorWrapper("JC5FT") -JC5FT.ProcessorType = "LcfiplusProcessor" -JC5FT.Parameters = JCFT_COMMON_PARAMETERS.copy() -JC5FT.Parameters.update( - { - "FlavorTag.JetCollectionName": ["Refined5Jets"], - "JetClustering.NJetsRequested": ["5"], - "JetClustering.OutputJetCollectionName": ["Vertex5Jets"], - "JetVertexRefiner.InputJetCollectionName": ["Vertex5Jets"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined5Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex5Jets"], - } -) - -EF5 = MarlinProcessorWrapper("EF5") -EF5.ProcessorType = "ErrorFlow" -EF5.Parameters = { - "InputMCTruthLinkCollection": ["RecoMCTruthLink"], - "InputPFOCollection": ["Refined5Jets"], - "OutputPFOCollection": ["Refined5JetsEF"], -} - -JC6FT = MarlinProcessorWrapper("JC6FT") -JC6FT.ProcessorType = "LcfiplusProcessor" -JC6FT.Parameters = JCFT_COMMON_PARAMETERS.copy() -JC6FT.Parameters.update( - { - "FlavorTag.JetCollectionName": ["Refined6Jets"], - "JetClustering.NJetsRequested": ["6"], - "JetClustering.OutputJetCollectionName": ["Vertex6Jets"], - "JetVertexRefiner.InputJetCollectionName": ["Vertex6Jets"], - "JetVertexRefiner.OutputJetCollectionName": ["Refined6Jets"], - "JetVertexRefiner.OutputVertexCollectionName": ["RefinedVertex6Jets"], +for i in range(2, 7): + jcft = MarlinProcessorWrapper(f"JC{i}FT") + jcft.ProcessorType = "LcfiplusProcessor" + jcft.Parameters = JCFT_COMMON_PARAMETERS.copy() + jcft.Parameters.update( + { + "FlavorTag.JetCollectionName": [f"Refined{i}Jets"], + "JetClustering.NJetsRequested": [f"{i}"], + "JetClustering.OutputJetCollectionName": [f"Vertex{i}Jets"], + "JetVertexRefiner.InputJetCollectionName": [f"Vertex{i}Jets"], + "JetVertexRefiner.OutputJetCollectionName": [f"Refined{i}Jets"], + "JetVertexRefiner.OutputVertexCollectionName": [f"RefinedVertex{i}Jets"], + } + ) + algList.append(jcft) + + err_flow = MarlinProcessorWrapper(f"EF{i}") + err_flow.ProcessorType = "ErrorFlow" + err_flow.Parameters = { + "InputMCTruthLinkCollection": ["RecoMCTruthLink"], + "InputPFOCollection": [f"Refined{i}Jets"], + "OutputPFOCollection": [f"Refined{i}JetsEF"], } -) - -EF6 = MarlinProcessorWrapper("EF6") -EF6.ProcessorType = "ErrorFlow" -EF6.Parameters = { - "InputMCTruthLinkCollection": ["RecoMCTruthLink"], - "InputPFOCollection": ["Refined6Jets"], - "OutputPFOCollection": ["Refined6JetsEF"], -} + algList.append(err_flow) ComputeCorrectAngulardEdX = MarlinProcessorWrapper("ComputeCorrectAngulardEdX") ComputeCorrectAngulardEdX.ProcessorType = "AngularCorrection_dEdxProcessor" @@ -695,25 +620,6 @@ } -algList.append(Statusmonitor) -algList.append(Thrust) -algList.append(Sphere) -algList.append(Fox) -algList.append(IsolatedMuonTagging) -algList.append(IsolatedElectronTagging) -algList.append(IsolatedTauTagging) -algList.append(IsolatedPhotonTagging) -algList.append(JC2FT) -algList.append(EF2) -algList.append(JC3FT) -algList.append(EF3) -algList.append(JC4FT) -algList.append(EF4) -algList.append(JC5FT) -algList.append(EF5) -algList.append(JC6FT) -algList.append(EF6) - if minidst_args.rundEdxCorrections: algList.append(ComputeCorrectAngulardEdX) algList.append(LikelihoodPID) From aeadea5552f4377fc00bb8eced779510fad16d41 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Fri, 21 Nov 2025 17:04:30 +0100 Subject: [PATCH 13/18] Cleanup EDM4hep outputs to match LCIO outputs --- StandardConfig/production/ILDMiniDST.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 5a395bc..9e82903 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -699,8 +699,21 @@ if minidst_args.lcioOutput != "only": output_commands = [f"drop {c}" for c in DROP_COLLECTIONS] + [ + # Drop all Clusters and Tracks "drop type edm4hep::ClusterCollection", "drop type edm4hep::TrackCollection", + # Drop some additional collections that are created in LCIO -> EDM4hep + # conversion + "drop BuildUpVertex_*", + "drop GammaGammaCandidate*_startVertices", + "drop KinkRecoParticles_startVertices", + "drop KinkVertices_associatedParticles", + "drop MarlinTrkTracks*_dQdx", + "drop SplitRecoParticles_startVertices", + "drop SplitVertices_associatedParticles", + "drop V0RecoParticles_startVertices", + "drop V0Vertices_associatedParticles", + "drop Vertex?Jets_*", ] io_handler.add_edm4hep_writer( f"{minidst_args.outputFileBase}-miniDST.edm4hep.root", output_commands From 95a5188e4e7fbda6b3022d5dd7b681c28d3c8669 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Tue, 23 Dec 2025 11:44:25 +0100 Subject: [PATCH 14/18] Add collection patching for EDM4hep output --- StandardConfig/production/ILDMiniDST.py | 13 ++++++ .../production/collections_minidst.txt | 43 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 StandardConfig/production/collections_minidst.txt diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 9e82903..82f8d2c 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -6,6 +6,9 @@ from k4MarlinWrapper.parseConstants import parseConstants from k4MarlinWrapper.io_helpers import IOHandlerHelper +from py_utils import parse_collection_patch_file + +MINIDST_COLLECTION_CONTENTS_FILE = "collections_minidst.txt" parser.add_argument( "--inputFiles", @@ -698,6 +701,16 @@ ] if minidst_args.lcioOutput != "only": + coll_patcher = MarlinProcessorWrapper( + "CollPatcher", ProcessorType="PatchCollections" + ) + coll_patcher.Parameters = { + "PatchCollections": parse_collection_patch_file( + MINIDST_COLLECTION_CONTENTS_FILE + ) + } + algList.append(coll_patcher) + output_commands = [f"drop {c}" for c in DROP_COLLECTIONS] + [ # Drop all Clusters and Tracks "drop type edm4hep::ClusterCollection", diff --git a/StandardConfig/production/collections_minidst.txt b/StandardConfig/production/collections_minidst.txt new file mode 100644 index 0000000..73acd17 --- /dev/null +++ b/StandardConfig/production/collections_minidst.txt @@ -0,0 +1,43 @@ + Refined6Jets ReconstructedParticle + Refined5Jets ReconstructedParticle + BCalRecoParticle ReconstructedParticle + IsolatedElectrons ReconstructedParticle* + IsolatedMuons ReconstructedParticle* + IsolatedPhotons ReconstructedParticle* + PandoraPFOs ReconstructedParticle + Refined2Jets ReconstructedParticle + IsolatedTaus ReconstructedParticle + PrimaryVertex_RP ReconstructedParticle + Refined4Jets ReconstructedParticle + PrimaryVertex Vertex + MCTruthRecoLink LCRelation[MCParticle,ReconstructedParticle] + MCParticlesSkimmed MCParticle + RecoMCTruthLink LCRelation[ReconstructedParticle,MCParticle] + Refined3Jets ReconstructedParticle +lcfiplus Refined6Jets|BTag,CTag,Category,OTag +yth Refined6Jets|y01,y12,y23,y34,y45,y56,y67,y78,y89,y910 +RefinedVertex Refined6Jets|SingleVertexProbability +lcfiplus Refined4Jets|BTag,CTag,Category,OTag +yth Refined4Jets|y01,y12,y23,y34,y45,y56,y67,y78,y89,y910 +RefinedVertex Refined4Jets|SingleVertexProbability +lcfiplus Refined5Jets|BTag,CTag,Category,OTag +yth Refined5Jets|y01,y12,y23,y34,y45,y56,y67,y78,y89,y910 +RefinedVertex Refined5Jets|SingleVertexProbability +lcfiplus Refined3Jets|BTag,CTag,Category,OTag +yth Refined3Jets|y01,y12,y23,y34,y45,y56,y67,y78,y89,y910 +RefinedVertex Refined3Jets|SingleVertexProbability +lcfiplus Refined2Jets|BTag,CTag,Category,OTag +yth Refined2Jets|y01,y12,y23,y34,y45,y56,y67,y78,y89,y910 +RefinedVertex Refined2Jets|SingleVertexProbability +BasicVariablePIDv2 PandoraPFOs|electronLikelihood,muonLikelihood,pionLikelihood,kaonLikelihood,protonLikelihood,hadronLikelihood,MVAOutput_mupiSeparation,electronProbability,muonProbability,pionProbability,kaonProbability,protonProbability,hadronProbability,electron_dEdxdistance,muon_dEdxdistance,pion_dEdxdistance,kaon_dEdxdistance,proton_dEdxdistance +CPID_2fZhad_18bins_cons PandoraPFOs|11-ness,13-ness,211-ness,321-ness,2212-ness +CPID_singleP_16bins_cons PandoraPFOs|11-ness,13-ness,211-ness,321-ness,2212-ness +LeptonID PandoraPFOs|mva_e,mva_mu,mva_had +LikelihoodPIDv2 PandoraPFOs|electronLikelihood,muonLikelihood,pionLikelihood,kaonLikelihood,protonLikelihood,hadronLikelihood,MVAOutput_mupiSeparation,electronProbability,muonProbability,pionProbability,kaonProbability,protonProbability,hadronProbability,electron_dEdxdistance,muon_dEdxdistance,pion_dEdxdistance,kaon_dEdxdistance,proton_dEdxdistance +LowMomMuIDv2 PandoraPFOs|electronLikelihood,muonLikelihood,pionLikelihood,kaonLikelihood,protonLikelihood,hadronLikelihood,MVAOutput_mupiSeparation,electronProbability,muonProbability,pionProbability,kaonProbability,protonProbability,hadronProbability,electron_dEdxdistance,muon_dEdxdistance,pion_dEdxdistance,kaon_dEdxdistance,proton_dEdxdistance +ShowerShapesPIDv2 PandoraPFOs|electronLikelihood,muonLikelihood,pionLikelihood,kaonLikelihood,protonLikelihood,hadronLikelihood,MVAOutput_mupiSeparation,electronProbability,muonProbability,pionProbability,kaonProbability,protonProbability,hadronProbability,electron_dEdxdistance,muon_dEdxdistance,pion_dEdxdistance,kaon_dEdxdistance,proton_dEdxdistance +TOFEstimators0ps PandoraPFOs|TOFFirstHit,TOFClosestHits,TOFClosestHitsError,TOFFlightLength,TOFLastTrkHit,TOFLastTrkHitFlightLength +TOFEstimators100ps PandoraPFOs|TOFFirstHit,TOFClosestHits,TOFClosestHitsError,TOFFlightLength,TOFLastTrkHit,TOFLastTrkHitFlightLength +TOFEstimators10ps PandoraPFOs|TOFFirstHit,TOFClosestHits,TOFClosestHitsError,TOFFlightLength,TOFLastTrkHit,TOFLastTrkHitFlightLength +TOFEstimators50ps PandoraPFOs|TOFFirstHit,TOFClosestHits,TOFClosestHitsError,TOFFlightLength,TOFLastTrkHit,TOFLastTrkHitFlightLength +dEdxPIDv2 PandoraPFOs|electronLikelihood,muonLikelihood,pionLikelihood,kaonLikelihood,protonLikelihood,hadronLikelihood,MVAOutput_mupiSeparation,electronProbability,muonProbability,pionProbability,kaonProbability,protonProbability,hadronProbability,electron_dEdxdistance,muon_dEdxdistance,pion_dEdxdistance,kaon_dEdxdistance,proton_dEdxdistance From 6a935923d15b07f2372c13b1cc180b18e49c3513 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Tue, 23 Dec 2025 11:44:38 +0100 Subject: [PATCH 15/18] Make CPID processor quieter --- StandardConfig/production/ILDMiniDST.py | 1 - 1 file changed, 1 deletion(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 82f8d2c..244d281 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -579,7 +579,6 @@ ) ComprehensivePID_2fZhad = MarlinProcessorWrapper("ComprehensivePID_2fZhad") -ComprehensivePID_2fZhad.OutputLevel = DEBUG ComprehensivePID_2fZhad.ProcessorType = "ComprehensivePIDProcessor" ComprehensivePID_2fZhad.Parameters = COMPREHENSIVE_PID_COMMON_PARAMETERS.copy() ComprehensivePID_2fZhad.Parameters.update( From 8350727530fe232e5a0f3168affffd17abaade6c Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Tue, 23 Dec 2025 12:17:36 +0100 Subject: [PATCH 16/18] Homogenize output names for LCIO and EDM4hep --- StandardConfig/production/ILDMiniDST.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 244d281..01df8a1 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -739,7 +739,7 @@ "CompressionLevel": ["6"], "DropCollectionNames": DROP_COLLECTIONS, "DropCollectionTypes": ["Track", "Cluster"], - "LCIOOutputFile": [f"{minidst_args.outputFileBase}.slcio"], + "LCIOOutputFile": [f"{minidst_args.outputFileBase}-miniDST.slcio"], "LCIOWriteMode": ["WRITE_NEW"], } From 286cc2c8175b6a500fdec484451c242fc687ebaa Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Tue, 23 Dec 2025 12:28:32 +0100 Subject: [PATCH 17/18] Properly disable the output of CPID files --- StandardConfig/production/ILDMiniDST.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 01df8a1..44cb0aa 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -512,7 +512,7 @@ "PFOCollection": ["PandoraPFOs"], "RecoMCTruthLink": ["RecoMCTruthLink"], "TOF100.S": ["TOFEstimators100ps"], - "TTreeFileName": [], + "TTreeFileName": [""], "backgroundPDGs": [], "cutD0": ["0"], "cutLamMax": ["0"], @@ -598,13 +598,13 @@ WWCategorisation = MarlinProcessorWrapper("WWCategorisation") WWCategorisation.ProcessorType = "WWCategorisationProcessor" WWCategorisation.Parameters = { - "ConfusionMatrixFileName": [], + "ConfusionMatrixFileName": [""], "IsolatedElectrons": ["IsolatedElectrons"], "IsolatedMuons": ["IsolatedMuons"], "IsolatedPhotons": ["IsolatedPhotons"], "IsolatedTaus": ["IsolatedTaus"], "PFOsminusphoton": ["PFOsminusphoton"], - "TTreeFileName": [], + "TTreeFileName": [""], } ParticleIDFilter = MarlinProcessorWrapper("ParticleIDFilter") From 1c6c7584674d62c082a28c39c83bd0bd870e54e1 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Tue, 23 Dec 2025 13:41:14 +0100 Subject: [PATCH 18/18] Make sure to drop collection that is created during conversion --- StandardConfig/production/ILDMiniDST.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/StandardConfig/production/ILDMiniDST.py b/StandardConfig/production/ILDMiniDST.py index 44cb0aa..86d32d9 100644 --- a/StandardConfig/production/ILDMiniDST.py +++ b/StandardConfig/production/ILDMiniDST.py @@ -726,6 +726,8 @@ "drop V0RecoParticles_startVertices", "drop V0Vertices_associatedParticles", "drop Vertex?Jets_*", + "drop ProngRecoParticles_startVertices", + "drop ProngVertices_associatedParticles", ] io_handler.add_edm4hep_writer( f"{minidst_args.outputFileBase}-miniDST.edm4hep.root", output_commands