Built-in Modules#
Common Modules#
bjet_sf.py#
BJetShapeSF#
- class analyzer.modules.common.bjet_sf.BJetShapeSF
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
input_colColumnRequired
weight_namestr'b_tag_disc_shape'should_runMetadataExprFactory
bquarks.py#
BQuarkMaker#
- class analyzer.modules.common.bquarks.BQuarkMaker
Select b-tagged jets from a jet collection based on DeepJet working points.
This analyzer identifies b-jets in an event by applying a threshold on the DeepJet b-tagging score as specified by central working point values.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
output_colColumnRequired
working_pointstrRequired
categories.py#
SimpleCategory#
- class analyzer.modules.common.categories.SimpleCategory
Create a simple numerical category from an input column.
This analyzer maps a numeric column to a category and registers it in the pipeline with associated axis information for plotting or binning. This axis will be added to all subsequent histograms.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
cat_namestrRequired
binsintRequired
startfloatRequired
stopfloatRequired
column_tools.py#
Concatenate#
- class analyzer.modules.common.column_tools.Concatenate
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colslistRequired
output_colColumnRequired
Count#
- class analyzer.modules.common.column_tools.Count
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
output_colColumnRequired
PromoteIndex#
- class analyzer.modules.common.column_tools.PromoteIndex
Promote a fixed index of a nested collection to a top-level column.
This analyzer selects a single element at a given index from each entry of a nested (jagged) input collection and stores it as a top-level column. It is commonly used to extract leading or sub-leading objects (e.g. leading jet, first lepton) from per-event collections.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
output_colColumnRequired
indexint0
electrons.py#
ElectronMaker#
- class analyzer.modules.common.electrons.ElectronMaker
Select electrons based on kinematics, cut-based ID, and isolation.
This analyzer filters electrons in an event according to minimum transverse momentum, maximum pseudorapidity, cut-based ID working point, and maximum mini-isolation.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
output_colColumnRequired
working_pointCutBasedWPsRequired
min_ptfloat10max_abs_etafloat2.4max_mini_isofloat0.1
event_level_corrections.py#
GoldenLumi#
- class analyzer.modules.common.event_level_corrections.GoldenLumi
Apply a golden JSON luminosity selection for data events.
This analyzer filters events to only include those that are within certified good luminosity sections for the given data-taking era.
Configuration Variables# Name
Type
Default
selection_namestr'golden_lumi'should_runMetadataExprFactory
L1PrefiringSF#
- class analyzer.modules.common.event_level_corrections.L1PrefiringSF
Apply L1 prefiring scale factors to Monte Carlo events.
This analyzer retrieves the L1 prefiring weight and adds it to a named weight column, optionally applying systematic variations.
Configuration Variables# Name
Type
Default
weight_namestr'l1_prefiring'should_runMetadataExprFactory
NoiseFilter#
- class analyzer.modules.common.event_level_corrections.NoiseFilter
Apply standard noise filters to data events.
This analyzer combines multiple event-level noise flags and produces a single selection column indicating events that pass all required noise filters.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneselection_namestr'noise_filters'
PileupSF#
- class analyzer.modules.common.event_level_corrections.PileupSF
Apply pileup scale factors to Monte Carlo events.
This analyzer evaluates the pileup weight based on the number of true interactions in the event and applies systematic variations if requested.
Configuration Variables# Name
Type
Default
weight_namestr'pileup_sf'should_runMetadataExprFactory
PosNegGenWeight#
- class analyzer.modules.common.event_level_corrections.PosNegGenWeight
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExprFactory
weight_namestr'pos_neg_weight'
gen_matching.py#
VectorMatching#
- class analyzer.modules.common.gen_matching.VectorMatching
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNonevectors_one_colColumnRequired
vectors_two_colColumnRequired
output_colColumnRequired
max_dptfloat | NoneNone
histogram_builder.py#
HistogramBuilder#
- class analyzer.modules.common.histogram_builder.HistogramBuilder
Abstract base class for pure result modules. Subclasses must implement the outputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneproduct_namestrRequired
columnslistRequired
axeslistRequired
storagestr'weight'mask_colColumn | NoneNone
SimpleHistogram#
- class analyzer.modules.common.histogram_builder.SimpleHistogram
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNonehist_namestrRequired
input_colslistRequired
axeslistRequired
replace_nonefloat | NoneNonemask_colslist[Column] | NoneNone
hlt_selection.py#
ComplexHLT#
- class analyzer.modules.common.hlt_selection.ComplexHLT
Analyzer module applying complex HLT-based selections with dataset-dependent trigger logic.
This module evaluates High-Level Trigger (HLT) decisions using a configurable set of trigger and veto definitions. The configuration is selected dynamically based on the dataset name using regular-expression pattern matching.
- For a matched configuration:
All configured trigger paths are OR-combined to form the pass condition.
All configured veto paths are OR-combined to form the veto condition.
The final selection is defined as:
pass_trigger AND (NOT veto_trigger)
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNonetrigger_configlistRequired
selection_namestr'PassHLT'
SaveHLT#
- class analyzer.modules.common.hlt_selection.SaveHLT
Save HLT triggers to the output columns.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNonetriggerslistRequired
save_namestr'SavedHLT'
SimpleHLT#
- class analyzer.modules.common.hlt_selection.SimpleHLT
Select events based on HLT triggers.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNonetriggerslistRequired
selection_namestr'PassHLT'
jets.py#
FilterNear#
- class analyzer.modules.common.jets.FilterNear
Filter objects based on proximity to another collection.
This analyzer removes entries from a target collection that are within a specified angular distance ($Delta R$) of objects in a second collection. Objects in the target collection are kept only if no nearby object is found within the given distance threshold. Proximity is determined using the
nearestmethod on the target collection.Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNonetarget_colColumnRequired
near_colColumnRequired
output_colColumnRequired
max_drfloatRequired
HT#
- class analyzer.modules.common.jets.HT
Compute the scalar sum of jet transverse momenta (H_T).
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
output_colColumnFactory
JetComboHistograms#
- class analyzer.modules.common.jets.JetComboHistograms
Build composite objects from specified combinations of jets (by index) and produces histograms of their invariant mass and transverse momentum. Each combination is treated independently, and histograms are filled only for events where all required jets are present.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneprefixstrRequired
input_colColumnRequired
jet_comboslistRequired
mass_axisRegularAxisFactory
JetEtaPhiVeto#
- class analyzer.modules.common.jets.JetEtaPhiVeto
Event-level veto based on jet ($eta$, $phi$) regions.
This analyzer defines an event-level selection that vetoes events containing jets within a specified rectangular region in (η, φ) space. The veto can optionally be restricted to a specific run range.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
phi_rangetupleRequired
eta_rangetupleRequired
run_rangetuple[float, float] | NoneNoneselection_namestr'jet_eta_phi_veto'
JetFilter#
- class analyzer.modules.common.jets.JetFilter
This analyzer filters an input jet collection according to transverse momentum and pseudorapidity requirements, with optional jet ID and pileup ID selections. The resulting filtered jet collection is written to a new output column.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
output_colColumnRequired
min_ptfloat30.0max_abs_etafloat2.4include_pu_idboolFalseinclude_jet_idboolFalse
JetResolutionCorrections#
- class analyzer.modules.common.jets.JetResolutionCorrections
This analyzer adjusts jet transverse momentum (pT) and mass to account for detector resolution effects in simulated (MC) events. Smearing is applied based on the per-jet resolution, matching to generated jets, and optional systematic variations.
Configuration Variables# Name
Type
Default
input_colColumnRequired
genjet_colColumnRequired
output_colColumnRequired
jet_typestr'AK4'use_regroupedboolTrueshould_runMetadataExprFactory
JetScaleCorrections#
- class analyzer.modules.common.jets.JetScaleCorrections
This analyzer adjusts jet transverse momentum (pT) and mass according to jet energy corrections (JEC) derived from calibration campaigns. Both nominal (“central”) and systematic variations (up/down JES) are supported. Corrections are applied per jet based on its kinematics and dataset metadata.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
output_colColumnRequired
jet_typestr'AK4'use_regroupedboolTrue
PileupJetIdSF#
- class analyzer.modules.common.jets.PileupJetIdSF
Compute pileup jet ID scale factors for Monte Carlo events.
This analyzer calculates per-event weights corresponding to the pileup jet ID efficiency correction. Only jets with pT < 50 GeV and matched to a generator-level jet are considered.
Configuration Variables# Name
Type
Default
input_colColumnRequired
working_pointstrRequired
weight_namestr'puid_sf'should_runMetadataExprFactory
TopVecHistograms#
- class analyzer.modules.common.jets.TopVecHistograms
Produce kinematic histograms for the leading objects in a collection.
This analyzer creates histograms of $p_T$,$eta$, and $phi$ for the first N objects in a vector-like collection (e.g. jets), where N is configurable. Histograms are produced only for events where the corresponding object exists.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneprefixstrRequired
input_colColumnRequired
max_idxintRequired
VetoMap#
- class analyzer.modules.common.jets.VetoMap
Event-level veto selection based on detector veto maps. Events are excluded if any jet passing a loose selection lies withing a vetoed $eta$-$phi$ region.
Configuration Variables# Name
Type
Default
input_colColumnRequired
selection_namestr'jet_veto_map'should_runMetadataExprFactory
veto_typestr'jetvetomap'
VetoMapFilter#
- class analyzer.modules.common.jets.VetoMapFilter
Apply a detector veto map to an input jet collection in order to remove jets falling into problematic detector regions. The veto map is evaluated as a function of jet ($eta$, $phi$) coordinates.
Configuration Variables# Name
Type
Default
input_colColumnRequired
output_colColumnRequired
should_runMetadataExprFactory
veto_typestr'jetvetomap'
load_columns.py#
LoadColumns#
- class analyzer.modules.common.load_columns.LoadColumns
Abstract base class for event source modules. Subclasses must implement the outputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNone
muons.py#
MuonMaker#
- class analyzer.modules.common.muons.MuonMaker
Select muons based on kinematics, ID, and isolation criteria.
This analyzer filters muons in an event according to minimum transverse momentum, maximum pseudorapidity, a chosen ID working point, and optional isolation requirements.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
output_colColumnRequired
id_working_pointIdWpsRequired
min_ptfloat10max_abs_etafloat2.4max_mini_isofloat0.1iso_working_pointanalyzer.modules.common.muons.IsoWps | NoneNone
save_arrays.py#
SaveCols#
- class analyzer.modules.common.save_arrays.SaveCols
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNonesave_namestrRequired
to_savedictRequired
remap_hlt_prefixboolTrue
selection.py#
NObjFilter#
- class analyzer.modules.common.selection.NObjFilter
Select events based on the number of objects in a collection.
- This analyzer filters events according to the number of objects
in a given column, requiring the count to be within specified limits.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneselection_namestrRequired
input_colColumnRequired
min_countint | NoneNonemax_countint | NoneNone
SelectOnColumns#
- class analyzer.modules.common.selection.SelectOnColumns
Apply a selection based on one or more boolean selection columns and optionally save the cutflow.
This analyzer performs an AND of the specified selection columns (or all default selections if none are provided) and filters the events accordingly. Optionally, it stores a cutflow summary for monitoring.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNonesel_namestrRequired
selection_nameslist[str] | NoneNonesave_cutflowboolTrue
skimming.py#
SaveEvents#
- class analyzer.modules.common.skimming.SaveEvents
Analyzer module that serializes and persists event-level data to ROOT files.
SaveEvents writes the full event record from the current analysis columns to a ROOT file using uproot. Files are written locally first and then copied to a target destination defined by a configurable output path template.
Each unique input (as defined by getKeyNoParams) is written at most once per process execution.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneprefixstrRequired
output_formatstr'{dataset_name}__{sample_name}__{file_id}__{chunk.event_start}_{chunk.event_stop}.root'
Singlestop Modules#
bnn_trig.py#
MSDCleanerCategory#
- class analyzer.modules.singlestop.bnn_trig.MSDCleanerCategory
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNone
MSDCleanerSelection#
- class analyzer.modules.singlestop.bnn_trig.MSDCleanerSelection
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneselection_namestr'PassMSDCleaner'
TriggerBNN#
- class analyzer.modules.singlestop.bnn_trig.TriggerBNN
Compute trigger efficiency weights using a BNN ensemble.
This analyzer evaluates a Bayesian Neural Network on HT and leading fat jet pt to produce a trigger weight for MC samples.
Configuration Variables# Name
Type
Default
base_pathstrRequired
net_patternstrRequired
weight_namestr'trigger_eff'should_runMetadataExprFactory
TriggerBNNCorrection#
- class analyzer.modules.singlestop.bnn_trig.TriggerBNNCorrection
Compute trigger efficiency weights using correctionlib for BNN.
Configuration Variables# Name
Type
Default
base_pathstrRequired
correction_patternstrRequired
correction_namestr'trigger_eff'weight_namestr'trigger_eff'should_runMetadataExprFactory
nn_reco.py#
NNMassPlots#
- class analyzer.modules.singlestop.nn_reco.NNMassPlots
Create histograms for reconstructed mass variables.
Generates 1D and 2D histograms for the reconstructed top squark and chargino masses, as well as their ratio.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNonem3_inputColumnRequired
m4_inputColumnRequired
prefixstrRequired
NNMassReco#
- class analyzer.modules.singlestop.nn_reco.NNMassReco
Reconstruct top quark and neutralino masses using a Neural Network.
This module uses a trained PyTorch model to resolve jet combinatorics and reconstruct the mass of the top quark ($m_{tilde{t}}$) and neutralino ($m_{chi}$).
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
m3_outputColumnRequired
m4_outputColumnRequired
model_pathstrRequired
scaler_pathstrRequired
selections.py#
VecDRSelection#
- class analyzer.modules.singlestop.selections.VecDRSelection
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneinput_colColumnRequired
selection_namestrRequired
min_drfloat | NoneNonemax_drfloat | NoneNoneidx_1int0idx_2int1
VecPt#
- class analyzer.modules.singlestop.selections.VecPt
Abstract base class for all analyzer modules. Subclasses must implement the inputs and run methods.
Configuration Variables# Name
Type
Default
should_runMetadataExpr | NoneNoneselection_namestrRequired
input_colColumnRequired
idxint0min_ptfloat | NoneNonemax_ptfloat | NoneNone