787 electrons=None, muons=None, jets=None,
789 photons=None, taus=None, met=None, metTerm=None,
790 btagDecoration=None, preselection=None,
791 selectionCutsDict=None, noFilter=None,
792 debugMode=None, cutFlowHistograms=None):
793 """Create multiple event selection config blocks
796 electrons -- the electron container and selection
797 muons -- the muon container and selection
798 jets -- the jet container and selection
799 largeRjets -- the large-R jet container and selection
800 photons -- the photon container and selection
801 taus -- the tau-jet container and selection
802 met -- the MET container
803 metTerm -- the MET term to use (e.g. 'Final', 'NonInt')
804 btagDecoration -- the b-tagging decoration to use when defining b-jets
805 preselection -- optional event-wise selection flag to start from
806 selectionCutsDict -- a dictionary with key the name of the selection and value a string listing one selection cut per line
807 noFilter -- whether to disable the event filter
808 debugMode -- enables saving all intermediate decorations
809 cutFlowHistograms -- whether to toggle event cutflow histograms per region and per systematic
813 if len(
list(selectionCutsDict.keys())) == 1:
814 name, selectionCuts =
list(selectionCutsDict.items())[0]
815 makeEventSelectionConfig(seq, name, electrons, muons, jets, largeRjets, photons, taus, met, metTerm, btagDecoration, preselection, selectionCuts, noFilter=noFilter, debugMode=debugMode, cutFlowHistograms=cutFlowHistograms)
820 for name, selectionCuts
in selectionCutsDict.items():
821 makeEventSelectionConfig(seq, name, electrons, muons, jets, largeRjets, photons, taus, met, metTerm, btagDecoration, preselection, selectionCuts, noFilter=
True, debugMode=debugMode, cutFlowHistograms=cutFlowHistograms)
825 config = EventSelectionMergerConfig()
826 config.setOptionValue (
'selections', [f
'pass_{name}_%SYS%' for name
in selectionCutsDict.keys()
if not name.startswith(
"SUB")])
827 config.setOptionValue (
'noFilter', noFilter)