met#
MET corrections.
Calibrators#
- class met_phi(*args, **kwargs)[source]#
Bases:
_met_phi_base- cache_instances = True#
- call_func(events, **kwargs)#
Performs the MET phi (type II) correction using correctionlib. Events whose uncorrected MET pt is below the beam energy (extracted from
config_inst.campaign.ecm * 0.5) are skipped. Requires an external file in the config undermet_phi_corr:cfg.x.external_files = DotDict.wrap({ "met_phi_corr": "/afs/cern.ch/work/m/mrieger/public/mirrors/jsonpog-integration-406118ec/POG/JME/2022_Summer22EE/met_xyCorrections_2022_2022EE.json.gz", # noqa })
get_met_file can be adapted in a subclass in case it is stored differently in the external files.
The calibrator should be configured with an
METPhiConfigas an auxiliary entry in the config namedmet_phi_correction. get_met_config can be adapted in a subclass in case it is stored differently in the config. Exemplary config entry:from columnflow.calibration.cms.met import METPhiConfig cfg.x.met_phi_correction = METPhiConfig( correction_set="met_xy_corrections", met_name="PuppiMET", met_type="PuppiMET", keep_uncorrected=False, # mappings of method variation to column (pt/phi) postfixes pt_phi_variations={ "stat_xdn": "metphi_statx_down", "stat_xup": "metphi_statx_up", "stat_ydn": "metphi_staty_down", "stat_yup": "metphi_staty_up", }, variations={ "pu_dn": "minbias_xs_down", "pu_up": "minbias_xs_up", }, )
- Return type:
- exposed = True#
- static update_cls_dict(cls_name, cls_dict, get_attr)#