912 electrons=None, muons=None, jets=None,
914 photons=None, taus=None, met=None, metTerm=None,
915 btagDecoration=None, preselection=None,
916 selectionCutsDict=None, noFilter=None,
917 debugMode=None, cutFlowHistograms=None):
918 """Create multiple event selection config blocks
921 electrons -- the electron container and selection
922 muons -- the muon container and selection
923 jets -- the jet container and selection
924 largeRjets -- the large-R jet container and selection
925 photons -- the photon container and selection
926 taus -- the tau-jet container and selection
927 met -- the MET container
928 metTerm -- the MET term to use (e.g. 'Final', 'NonInt')
929 btagDecoration -- the b-tagging decoration to use when defining b-jets
930 preselection -- optional event-wise selection flag to start from
931 selectionCutsDict -- a dictionary with key the name of the selection and value a string listing one selection cut per line
932 noFilter -- whether to disable the event filter
933 debugMode -- enables saving all intermediate decorations
934 cutFlowHistograms -- whether to toggle event cutflow histograms per region and per systematic
938 if len(
list(selectionCutsDict.keys())) == 1:
939 name, selectionCuts =
list(selectionCutsDict.items())[0]
940 makeEventSelectionConfig(seq, name, electrons, muons, jets, largeRjets, photons, taus, met, metTerm, btagDecoration, preselection, selectionCuts, noFilter=noFilter, debugMode=debugMode, cutFlowHistograms=cutFlowHistograms)
945 for name, selectionCuts
in selectionCutsDict.items():
946 makeEventSelectionConfig(seq, name, electrons, muons, jets, largeRjets, photons, taus, met, metTerm, btagDecoration, preselection, selectionCuts, noFilter=
True, debugMode=debugMode, cutFlowHistograms=cutFlowHistograms)
950 config = EventSelectionMergerConfig()
951 config.setOptionValue (
'selections', [f
'pass_{name}_%SYS%' for name
in selectionCutsDict.keys()
if not name.startswith(
"SUB")])
952 config.setOptionValue (
'noFilter', noFilter)